回顾构建倒排索引的主要步骤
- 收集待建索引的文档
- 对这些文档中的文本进行词条化
- 对第二步产生的词条进行语言学处理,得到词项
- 根据词项对所有文档建立索引
所谓词条化(tokenization):将原始的字符流转换成一个个词条(token)的过程
文档分析及编码转换
生成字符序列
语言识别,编码方式识别,文件格式等处理,生成字符序列
文档单位的选择
合理的选择“索引粒度”:
- 如果索引粒度太小,那么由于词项散步在多个细粒度文档中,我们就很可能错过那些重要的段落,也就是说此时正确率高而召回率低
- 如果索引粒度太大,我们就很可能找到很多不相关的匹配结果,即正确率低而召回率高
词项集合的确定
词条化
定义好文档单位后,词条化是将给定的字符序列拆分成一系列子序列的过程,其中每个子序列称为一个词条(token)
实际检索中分词:
- 查询和文档切分采用一致的分词系统
- 保证分词速度
- 一般原则,没把握的情况下细粒度优先,保证召回率
- 多粒度并存
去除停用词
某些情况下,一些常见词在文档和用户需求进行匹配时价值并不大,需要彻底从词汇表中去除。这些词称为停用词(stop word)
常用生成停用词表的方法:
将词项按照文档集频率(collection frequency,每个词项在文档集中出现的频率)从高到低排列,然后手工选择那些语义内容与文档主题关系不大的高频词作为停用词。停用词表中的每个词将在索引过程中被忽略
在信息检索系统不断发展的历程中,有从大停用词表(200~300个词)到小停用词表(7~12个词)最后到不用停用词的趋势。Web搜索引擎通常都不用停用词表
词项归一化
参考链接
作者:zinss26914 发表于2013-6-8 22:00:14
原文链接