词项词典与倒排记录表

构建倒排索引的几个主要步骤:

1 收集待建索引的文档
2 对这些文档中的文本进行词条化
3 对步骤2中的词条进行语言学预处理,得到此项
4 根据词项对所有文档建立索引

重要概念

词条和词条

词条化是将给定的字符序列拆分成一系列子序列的过程,其中每个子序列称为一个词条,例如:
输入:Friends, Romans, Countryman, lend me your ears
输出:friend/Romans/Countryman/lend/me/your/ears
词条化的主要任务就是确定哪些才是正确的词条。

去除听用词

停用词:某些情况下,一些常见词在文档和用户需求进行匹配时价值并不大,需要彻底从词汇表中去除,这些词称为停用词(stop word)。
常见的生成停用词表的方法:
1、将词项按照文档频率(每个词项在文档集合中的出现频率)从高到低排序
2、手工选择语义内容与文档主题关系不大的高频词作为停用词

词项归一化

词条归一化就是将看起来不完全一致的多个词条归纳成一个等价类,以便在他们之间进行匹配。例如:在文档和查询中,都把词条anti-discriminatory和antidiscriminatory映射成词项antidiscriminatory,这样对两个词中的人一个进行检索,都会返回包含其中任一词的文档。

词干还原和词形归并

词干还原和词形归并的目的是为了减少词的屈折变化形式,并且有时会将派生词转换为基本形式,例如:
am, are, is ==> be
car, cars, car's, cars' ==> car
词干还原通常指的是一个很粗略的去除单词两端词缀的启发式过程,并且希望大部分时间都能达到正确目的。例如:词条saw, 词干还原可能仅返回s。词干还原算法有Porter算法,Lovins算法等。
词形归并通常指的是利用词汇表和词形分析来去除屈折词缀,从而返回词的圆形或者词典中的词的过程。返回的结果叫做词元。例如:词条saw,词形归并返回see或者saw。

二元词索引

处理短语查询的一个办法就是将文档中的每个接续词对看成一个短语,例如:Friends,Romans,Countryman会产生如下的二元接续词对:

friends romans
romans countryman

按照该方法,查询standford university palo alto 将分成如下的布尔查询:
“standford university” AND “university palo” AND “palo alto”。 建立二元词索引的方法

1、对文本进行词条化
2、对词条进行词性标注
3、将每个词标注为 名词(N), 虚词(X)
4、将形式为NX*N非词项序列看成一个扩展的二元词

位置信息索引

二元词索引并非短语查询的标准方案,实际中用的更多的是位置信息索引,例如:

to, 993427
<1,6:(7, 18, 33, 72, 86, 231)
2,5:(1, 17, 74, 222, 255),
4,5:(8, 16, 190, 429, 433),
5,2:(363, 367),
7,3:(13, 23, 191)>
be, 178239
<1,2:(17, 25)
4,5:(17, 191, 291, 430, 434),
5,3:(14, 19, 101)>
:单词to的文档频率是993427, 在文档1中出现了6次,位置分别是:7, 18, 33, 72, 86, 231

为处理短语查询, 仍然需要访问各个词项的倒排记录表。这里不是简单地判断两个词项是否出现在同一个文档中,而且还要检查他们的出现位置关系与查询当中的位置关系是否一致。

短语查询请求中的应答处理:假定to和be的倒排记录表已知,某个查询为to be or not to be,需要访问如下词的倒排记录表:to、be、or和not。考虑to 和be的倒排记录表合并:

1、查找同时包含这两个词项的文档
2、检查文档中的位置看是否存在讴歌be的前面的一个词条位置商正好出现to
3、可能返回的一个匹配为:
to: <...; 4: <..., 429433>;...>
be: <...; 4: <..., 430434>;...>

缺点

1、会大大增加倒排记录表达额存储空间
2、提高倒排记录表合并操作的渐进复杂度

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343