如何建立词项词典
文档解析
- 识别不同文档格式/识别文档语言/识别文档编码方式/一个文档或其附件中包含多种语言或格式
词条化
- 定义:将给定的自负系列拆分为一系列子序列的过程,其中每一个子序列称之为一个“词条”Token
- 词条化可能会遇到的问题:连字符/空格、连字符空格相互影响、英文句号的考虑、数字的考虑、多种分词结果、固有名词
- 策略
- 基于词典(规则)的方法(正向/逆向匹配、最大/最小匹配)
- 基于统计的方法
- n-gram方法(Bigram方法)
- 基于HMM的中文分词方法
- 条件随机场模型(CRF)
停用词
- 停用词表
- 停用词使用的趋势
- 优缺点:减少term数量/有时消除的停用词对检索是有意义的
- 消除方法:查表法/基于文档频率(消除最高频率的词)
词项归一化
- 定义:将文档和查询中的词条“归一化”成一致的形式
- 结果:形成多个近似词项的一个等价类
- 不同语言的区别
- 大小写转换
- 策略:建立同义词扩展表
- soundex算法
词干还原和词形归并
- 词干还原:很粗糙的取出单词两断词缀的启发式过程
- 词形归并:指利用词汇表和词形分析来去除曲折词缀,从而返回词的原形或词典中的词的过程
- 区别还在于:词干还原在一般情况下会将多个派生相关词合并在一起,词形归并通常只将同义词元的不同曲折形式进行合并
如何实现倒排记录表
- 跳表(Skip List):通常在每个√L处均匀放置跳表指针。(PS:跳表指针只对and类型的查询有用)
- 短语查询
- 二元次索引
- 扩展的二元次索引
- 位置信息索引
- 临近查询
- 经验法则:位置索引大概是非位置索引大小的2~4倍,位置索引的大小约是原始文档的30%~50%