目录
本文主要内容
索引构建过程 ( 特别是预处理) 如何对索引文档进行处理来得到词典
理解文档 词条化 (document) 的概念 (Tokenization)
理解词条 词项生成,理解词项 (term) (token) 的概念
倒排记录表
更快的合并算法 : (skip list) 的概念 跳表法 短语查询的处理及带位置信息的倒排索引
文档
文档分析
文档格式处理
文档语言识别
文档编码识别
多格式语言并存
待索引文档集可能同时包含多种语言的文档
在同一索引中词汇表中包含来自多个语言的词项 有时文档或者其部件中包含多种语言
法语邮件中带一个德语的
如何确定索引的单位?
文件为单位? 邮件为单位? 如果邮件带有 一组文件? ( 5 个附件,怎么办? 比如采用 / pdf 格式附件 html 格式写的某个 格式 PPT 文档 )
举例:法语邮件中带有中英法日俄的pdf文件如何处理?
1、数据源端做翻译,翻译成一种语言。
2、保留抓取下来的语言,各自处理。
百度现在是单语言检索。输入中文,出来英文的信息。
为什么百度没有,因为默认用户不懂英语,其实不算难。
词项与词条
通常做法+非英语处理
输入 “Friends, Romans and Countrymen” :
输出词条 Friends Romans (Token) Countrymen
词条就是一个字符串实例 词条在经过进一步处理之后将放入倒排索引中的 词典中
词条化中的问题 词条如何界定 ?
词条化:如何判断是一个词条?
一系列问题
1、去掉标点符号意思将大相径庭。
2、词条化中数字的处理 数字不能简单去掉,特别是年月日中的数字。
密钥乱码必须保留、电话号码要保留。
3、法语和德语 复合连词问题
4、中文和日文 词之间没有间隔 通过构词法初步切割
日文格式很多 片假名 平假名 汉字 罗马字母,相较中文不规律。
中文不同的分词会产生截然不同的意思。
有组合型歧义和交集型歧义。
当前研究的结论或猜测:
并非分词精度高一定检索精度高
多粒度并存(既有字、也有词)
搜索引擎中的分词方法;大辞典+统计
5、阿拉伯文或希伯来文通常是从右到左书写,嵌入的数字又是从右往左,但它的词与词之间是分开的。
解决方案
去停用词
缩小索引表、提高查找速度。
To be or not to be.全是停用词,去掉这个短语就没了。
去停用词会出现很大的问题。
去停用词方法:一、搜现成的停用词表;二、若df超过阈值,则去掉
词条归一化成词项
将文档和查询中的词归一化成同一形式: U.S.A. 和 USA
归一化的结果就是词项,而词项就是我们最终要 索引的对象 可以采用隐式规则的方法来表示多个词条可以归 一成同一词项,比如 § § 剔除句点 § U.S.A., USA 剔除连接符 § anti-discriminatory, antidiscriminatory
归一化中的语言问题
重音符 : 如法语中 résumé vs. resume.
日耳曼语系中的元音变化 如德语中的 Tuebingen vs. Tübingen
最重要的准则 用户在输入查询时遇到这些词如何输入?
即使在有重音符号的语言中,用户也往往不输入 这些符号 § 常常归一化成不带重音符号的形式 § Tuebingen, Tübingen, Tubingen è Tubingen
英语
大小写问题
可以将所有字母转换为小写形式
China vs china Windous vs windous所以一些特例要提取出来
可搜CAT试一试
归一化词项
非对称扩展,输入windous 猜windous\Windous\window
对用户查询的意图进行猜测。如果有用户的搜索历史,百度、谷歌会更好地帮助你找到你想要的词,潜台词是你登录后所有的搜索信息都在后台有记录。
同义词词典及soundex方法
同义词和同音同形词处理
词形归并:将单词的曲折变体形式还原为原形
Found find?found?发现、建立
英语词干还原中最常用的算法porter算法
Porter规则:英语词干还原中最常用的算法
跨语言问题:把关键词翻译成不同语言,再到各个语言的词典中找
跳表指针
适用于链表不再频繁增加的情况
可以跳过那些不可能的检索结果
指针设得太密集或太稀疏都没有太好的结果
经验设置,每L个文件设根号L个指针
短语查询
例AB同时出现,而且A在B前面
双词索引
每两个连续的词组组成词对(作为短语)来索引
缺点是1、AB不一定是固定短语,用户可能不这样用,这样会使词典急剧增大,其中大部分是无用的短语。2、更长的短语对双语查询是无法满足的,很难避免伪正例的出现
扩展双词:前后是名词,中间是若干的介词和冠词加到索引表中
带位置信息索引
文档内部也标注位置。一个词一个位置。多长的短语都可以查找。还可以找限定的条件,如要求A和B之间的位置差距不超过3。
问题:增加很多空间,但这是标配。
增加的空间与文档长度有关。
英文文本加入位置索引大小是无位置索引的2-4倍。需要进行切片与压缩。
混合索引
高频短语使用双语索引,事先把AB存下来
空间加3成,时间到原来的四分之一。