信息检索复习(2)——词项词典及倒排记录表

构建倒排索引步骤

  1. 收集待建索引的文档(Document)
  2. 对这些文档中的文本进行词条化(Tokenizer)
  3. 对第2步产生的词条(Token)进行语言学预处理(去除停用词、词项归一化、词干还原和词形归并),得到词项(Term)
  4. 根据词项对所有文档建立索引

词条化

  • 概念:
    • 词条化将给定的字符序列分成一系列子序列的过程
    • 词条:每一个子序列是一个词条,是在文档中出现的字符序列的一个实例
    • 一个词条类:相同词条构成的集合
    • 一个词项:在信息检索系统词典中包含的某个可能经过归一化处理的词条类
      例:“to sleep perchance to dream”
      得到5个词条,4个词条类(重复的to),3个词项(去除停用词to)
  • 词条化任务:确定哪些才是正确的词条
    只要根据空格将字符串进行拆分去除标点符号?
    英文“ ' ”:既可表达关系也可代表缩写
    例:O'Neill -> neill/ oneill/ o'neill/ o' + neill/ o + neill?
    简单做法:在既非字符也非数字的字符处进行拆分(o + neill),使用相同的词条化工具来实现
  • 不同语言下的词条化处理并不相同
    有效的语言种类识别:利用短字符子序列作为特征来进行分类
    • 编程语言:“C++”,“C#”
    • 飞行器名称:“B-25”
    • 固定流行语
    • 新的字符序列类型:邮件地址、IP地址、URL、包裹追踪号

停用词

  • 概念
    • 停用词(stop):一些在文档和用户需求进行匹配时价值并不大,需要彻底从词汇表中去除的常见词。
    • 文档集频率(collection frequency):每个词项在文档集中出现的频率
  • 常见生成停用词表的方法:将词项按照文档集频率从高到低排序,然后手工选择把那些语义内容与文档主题关系不大的高频词作为停用词。
  • 好处:大大减小系统所需要存储的倒排记录表
  • 问题:不对停用词建立索引很多时候对系统并没什么影响,但一些特殊情况如query全为停用词组成(to be or not to be)会有很大影响。
  • Web搜索引擎通常不使用停用词表。
    • 压缩技术
    • 如何利用语言的统计特性来更好处理常见词的问题
    • 词项权重计算,将高频常见词对文档排序的影响降至极低
    • 按照影响度大小排序,当权重变小,会及早停止对倒排记录表的继续扫描

词项归一化

  • 概念:将看起来不完全一致的多个词条归纳成一个等价类。
  • 目的:将文档和查询转换成一个个词条后,希望并不完全一致的词条之间能够进行匹配。
  • 方法
    1. 隐式建立等价类(去除字符如‘-’的规则)
    2. 维持多个非归一化词条之间的关联关系
    • 同义词词表:扩展查询
    • 在索引构建时就对词进行扩展
  • 问题
    1. 重音和变音符号问题
    2. 大小写转换问题
    3. 英语的其他问题(英式英语美式英语,时间日期格式)
    4. 其他语言问题

词干还原和词形归并

  • 相同:目的都是为了减少词的屈折变化形式,并且有时会将派生词转化为基本形式。
  • 不同
    词干还原:一个很粗略的去除单词两端词缀的启发式过程,并且希望大部分时间它都能达到这个正确目的,这个过程也常常包括去除派生词缀。(提高召回率降低正确率)
    词形归并:利用词汇表和词形分析去除屈折词缀,从而返回词的原形或词典中词的过程,返回的结果成为词元。
  • 词干还原算法:Porter算法(规则)
    规则: 示例
    SSES -> SS caresses -> caress
    IES ->I ponies -> poni
    SS -> SS caress -> care
    SS -> cat -> cat
  • 词形归并例子: am,is,are => be

基于跳表的倒排记录表快速合并算法

  • 时间复杂度O(m+n)的基本合并算法的优化
  • 指针个数和比较次数之间的折中问题:跳表指针越多意味着跳跃的步长越短,那么在合并过程中跳跃的可能性也更大,但同时这也意味着需要更多的指针比较次数和更多的存储空间。跳表指针越少意味着更少的指针比较次数,但同时也意味着更长的跳跃步长,也就是说意味着更少的跳跃机会。
  • 简单的启发式策略:对于长度为P的倒排记录表,每√P处放一个跳表指针,即均匀放置,均匀放置方法忽略了查询词项的分布情况
  • 如果索引相对固定的话,均匀方式方法是一种很简便的方法。但是如果倒排记录表由于经常更新而发生变化,那么跳表指针的建立就比较困难。恶意的删除策略可能会使跳表完全失效。
  • 查询使用标准的倒排记录表与使用倒排记录表+跳表的方式所需比较次数问题(每次到达指针处需要比较下一跳的值决定能不能跳,太大则不进行跳比较下一节点值)

位置信息索引

  • 对于每一个词项存储方式:文档ID: <位置1,位置2,...>
  • 例(保存词频)
    to, 993427:
    <1,6:<7,18,33,72,86,231>;
    2,5:<1,17,74,222,255>;...>
    单词to的文档频率为993427,在文档一出现了6次,位置分别是7,18,33,72,86,231。
  • 短语查询:采用文档频率优先策略,不止简单判断两个词项是否出现在同一文档这两个,而且还需要检查他们出现的位置关系与查询当中是否保持一致。=》计算词之间的偏移距离
  • k词邻近搜索:/k 从左边或右边相距在k个词之内(employment /3 place)
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,457评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,837评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,696评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,183评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,057评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,105评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,520评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,211评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,482评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,574评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,353评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,897评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,489评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,683评论 2 335

推荐阅读更多精彩内容