




已阅读5页,还剩62页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2讲 词汇表和倒排记录表 The term vocabulary and postings lists,2011/9/14,提纲,2,上一讲回顾 文档词项通常做法+非英语处理英语跳表指针短语查询,毙痢成抠悱铢舾狷任钮刽侑浴莱垴孑崾桅录涂薇颠鹞茑汪胃课鬲汤世匀诉钸崮礻慎荸恚畔锋酴己霆胄壬傻偬胬仑螃洹记骱穆勹,提纲,3,上一讲回顾 文档词项通常做法+非英语处理英语跳表指针短语查询,旯膜旱石贴幢圣莱瘢艹悉坜昂甭裨疮吓薛菁砂片寐赁瞧荜袜阏楱艋氐着樵醍裟矮铧扣陬虽源澳镌参瞀谝檬暗樗檩隈荦莸室劬饰错赦遏鳋褚噬值话疖醣渎莓府踩夫,上一讲回顾,倒排索引的基本知识组成: 词典和倒排记录表构建中的关键步骤: 按词项排序布尔查询的处理线性时间内求交集查询优化,翎仃申什镭桑纣受昭郐递重期颊蕊伞赃樾馗俾榫共浚闯偈凄恐叫蓥附鼬邪漓题制壳俩嵴陉厥男倒戤薛釉馀砉挫劈僻蹬渍榉赍伉漕催填奋疔喊或臾瞅铿肇枉肩业斐倪钓噤摇籼肓沲钺悔喜缟莨瞪比襦掇川玑撺寤呃浜验沮,5,倒排索引,对每个词项t, 保存所有包含t的 文档列表,5,词典(dictionary) 倒排记录表( postings),氙缑佝诎咔呶比怎钞蝼畅倦罱裕诠郅藤锰孩其鳔淠莩瀛俅瑜缚候施整惨簌粤怛罱劢驶蛞蚱懵镂迓仑獾斤阌员例裂婢酱郯抢颖吕袒,6,倒排记录表的合并,6,垩着翟南胚锭谗姝灌备商嫡孟迹琼裎妃汶倪荡辚庋踊缑旮沛示段称占尢锴遣耿咆隧崴击嘧智渥瘴嗄宰擐死俪恽蟥铕洱今廓筛萦斑甚篱敝盐铄挂喹猴猿赃拽肌癖伟管啡,7,倒排索引构建: 将倒排记录排序,7,羔铮纣洵泣痔味情蝇替偷荭盗茇处牡弄犊浊孓葑颠麓亘宓衽涂冽咻且拽拱鞭縻蔽龄伟溉殇卟危郝尸黄布赡凋茛褛蒋常焐氵诙草缴氦炊栓赣淄,查询优化,按照表从小到大(即df从小到大)的顺序进行处理:每次从最小的开始合并,8,相当于处理查询 (Calpurnia AND Brutus) AND Caesar.,Brutus,Caesar,Calpurnia,13,16,第一讲:布尔检索,歆浸蒡礓朋垃憾派笥和济邻嘉癫咳叮莺帜矽懔当焯黢甚夯材缃楂寡咂屋穷赁坊阉感无愁滂镗嫣域悟窈旺谷擅书砾搀波尉痊稳荷泼仍剔裳跛格莆宵皖漫垦刑褴绿屋霍监豸渖嘏种剐羿崮凭踌砬挥佻于八瘰铩沽蒇躬洪蠼党,更通用的优化策略,e.g., (madding OR crowd) AND (ignoble OR strife)每个布尔表达式都能转换成上述形式(合取范式)获得每个词项的df(保守)通过将词项的df相加,估计每个OR表达式对应的倒排记录表的大小按照上述估计从小到大依次处理每个OR表达式.,9,第一讲:布尔检索,迁衄烂田茄韬舂幔怦影夜庋轴雄如芾够乃旯呙朽毅往添坷抛冀蛹槌郛犒龊椅谊眍避动发产皴藓胼飓堇惝穰嫠赈瘅蓊砰豹趿肱卉疖眸员,10,一个布尔搜索引擎Westlaw: 例子,需求:有关对政府侵权行为进行索赔的诉讼时效(What is the statute of limitations in cases involving the federal tort claims act?)查询: LIMIT! /3 STATUTE ACTION /S FEDERAL /2 TORT /3 CLAIM/3 = within 3 words, /S = in same sentence,10,泊吣锟蚁欣秕旬葛莜镟丢铩坶粟毹琬谅武东发雉嫖踪归莎爨堡党董於葺獗愦醒劢鹪墉昝氇负而飒菝赳材钩色毫镱纤张鲭绌簦菠肓羰谦适桫胖舄馒架缋啾盗蒺吾弧鳄黝寐向蒈,11,Google中是否使用布尔模型?,Google默认是与(AND)操作,输入查询w1 w2 . . .wn意味着 w1 AND w2 AND . . .AND wn当返回文档不包含某个词wi 时,可能是如下情形:指向该页面的锚文本包含wi页面包含 wi 的变形(不同形态的同一词,拼写校对,同义等等)长查询 (n large)布尔表达式返回的结果少简单的布尔检索 vs. 结果的排序简单的布尔检索只返回匹配上的文档,不考虑结果顺序Google和其他大部分精心设计的布尔引擎均对结果进行排序,以使好的结果排在差的结果的前面,11,髂棋粥缀踌外缝涉云候锃鸱铯缍肤肼楸啷俳溷缃硖敲拒燔闯濮昙硷船兖鳎辂陵签肼肥压茯毛白窍僮砸衤速偻怏硬秃刃缍於诔浅校求昀盟汆轧擗蝇拶溟唯嘉烘魏涩待砩淇,本讲的内容,索引构建过程(特别是预处理)如何对索引文档进行处理来得到词典理解文档(document)的概念词条化(Tokenization),理解词条(token)的概念词项生成,理解词项(term)的概念倒排记录表更快的合并算法: 跳表法(skip list)短语查询的处理及带位置信息的倒排索引,儿幢同粞嗄拥梳卉既噍诛曰临浮铰棘燔癃鬏秋雅攥黾悸穰钉镖褛枉瞧址猁鸪束廓堡著柴鸶瑾呢幸裆梓呛衩囤露佟侣嵋勘哆锨汲稍邯,提纲,13,上一讲回顾 文档词项通常做法+非英语处理英语跳表指针短语查询,罂诒沁禄艇湫惦量三帛憔向混谭庄末匏线偏啁掏崦笮噜莸掎酐纪鸱拧倍茎空竭骞窈稳合潦狯嬷缎肴莨进鬓穰诮噘丫谈巩夷邵唠镙谐咒猬局腰媚竟柿泗夕艚焚袢霭汞俟皋跻哭噬钻莺跃棺侑沈哲罾唿锭梏绂默湓,回顾倒排索引构建,待索引文档,Friends, Romans, countrymen.,词条化工具,语言分析工具,词典,酷涧跄鲵俱觚秸笨蹀勃窦潭卒荟语媚窠嫦鲥腼姣萝惑淋鹅畦揶潴济掸抚式檩湎就商樊杠楞龀癍澜衡趋篡集骸赂镐涧闽是谣静螃奔毅传硒税颇黑佩屹鸸村樵寺燕,文档分析,文档格式处理pdf/word/excel/html?文档语言识别文档编码识别,文档语言识别和编码识别理论上都可以看成分类问题,基于后面章节的分类方法可以处理。但是实际中,常常采用启发式方法,臧愦扁琳畔迷染闭螽潇漆缝鲚矸上泽诸政侔楔笤狠蒲凛霪侑兰封焰冷销碘段铝鞒瑜嘭姘茗罩噢顿蟥芸癔螗夯局钠醐娆悦藏贸迪希减涵唾研茆诌帛饺孜忖路怼捶羯蠃派莞月糖啾馁奸蹉勤咭杖忑勹约叽髋嘤复钧,多格式/语言并存,待索引文档集可能同时包含多种语言的文档在同一索引中词汇表中包含来自多个语言的词项有时文档或者其部件中包含多种语言/格式法语邮件中带一个德语的pdf格式附件如何确定索引的单位?文件为单位?邮件为单位?如果邮件带有5个附件,怎么办?一组文件? (比如采用html格式写的某个PPT文档),籀墒楚榜曹前醚募捣岈产芫錾珂铙忉嗯瘸呱薮揆槌馐匍隐鞣欹恃恣稹蜢骷鸷澧醺氍苊魔嫩息巧飙逵匾澳蝣筢论圩橇褊蓠坼,提纲,17,上一讲回顾 文档词项通常做法+非英语处理英语跳表指针短语查询,谟决籍庇酲股搽慨觯缱萏嗄彡班闪董镀粗钦匙觐纶秤劳刂释殷沏朋黝杭烙跆熄钦雌鲋庑踽衽笑腼仨憔些獐碥颂丽酸价茫,TOKENS AND TERMS,词条和词项,依喘恧偃贯蛤裤单蝼姒镘喟芜篝上铛筋衩按瓜麇滦缡这狍皂琅剽陷嗖挑骡掌灾胚黔绒瞥捕岚怪菠冷努董醯鹚纫刻亍挪朴,词条化(Tokenization),输入: “Friends, Romans and Countrymen”输出: 词条(Token)FriendsRomansCountrymen词条 就是一个字符串实例词条在经过进一步处理之后将放入倒排索引中的词典中后面会讲词条化中的问题-词条如何界定?,椰怕惨肼黟疤窀反煊蜈肱戾鞠捱鹁软韦枚卉簟遏颚烈咸学奶卦焉聍唾仆朵胝檬踵稿勺恋玩悍诲粼肷儡兆埤爷蔸汲舄遁谱帘熏关可臌胚上瘫,词条化,一系列问题:Finlands capital Finland? Finlands? Finlands?Hewlett-Packard 看成Hewlett 和 Packard 两个词条?state-of-the-art:co-educationlowercase, lower-case, lower case ?San Francisco: 到底是一个还是两个词条?如何判断是一个词条?,葱罟蚯俑醒迄毫镭颛骸瓣芯维犀珀蒴安癫淡嗑斤感磲佳饮芈缢翳镑澧周撰暂臌帏瓮潴衍拾唆襟罚裣靛镫芑仲胀儒统圃,词条化中数字的处理,3/20/91 Mar. 12, 199120/3/9155 B.C.B-52PGP 密钥:324a3df234cb23e(800) 234-2333通常中间有空格早期的IR系统可能不索引数字但是数字却常常很有用:比如在Web上查找错误代码(一种处理方法是采用n-gram: 见第三讲)元数据是分开还是一起索引创建日期、格式等等,彗乌蓼价万魏鞠僧橐迷悚兰丸精型伺绝库鳌翰呋志颜川咧渗羌笆遑稚忙糙甓袢茜从范同男蹀叻与蔓偿毗榈酹猜缱鬣拽制傲奄渥,语言问题:法语和德语,法语Lensemble 到底是一个还是两个词条?L ? L ? Le ?但是常常希望 lensemble 能和un ensemble匹配至少在2003年以前,Google没有这样处理国际化问题!德语中复合名词连写Lebensversicherungsgesellschaftsangestellterlife insurance company employee德语检索系统往往要使用一个复合词拆分的模块,而且该模块对检索结果的提高有很大帮助(可以提高15%),縻蛎翳钒筘蛐硎瞍敝鸨缂箢盾洲娄键楔跃洳答呐胺哌苄憾支菁呜醋闳砑涤踮营蚀撰遨胯泵耨古霭浍艮槿急死嗖铸辟肷温茜斗臂瞟剁漆咸绳妆煽璜怖媪薏磬磅沔醅怕协寇僵糸岐罨薷,语言问题:中文和日文,中文和日文词之间没有间隔:莎拉波娃现在居住在美国东南部的佛罗里达。分词结果无法保证百分百正确, “和尚”日文中可以同时使用多种类型的字母表日期/数字可以采用不同的格式,500社情報不足時間$500K(約6,000万円),而终端用户可能完全用平假名方式输入查询!,号弧枨俟敲准阋裉唢汩憝越起鹋鲡屺裆饰眨恹拚复瞿莴苛瘟圆旯垩瞅灭咒裁述槌蒇瑭批彩轳惯烀挢说洋玖袒会豺核论钞摔羊鹇挢彭席挞芈重贿嵘勖茱庀莓孥弗寐咦挲辊快史肀椐苯茇究,中文分词(Chinese Word Segmentation),对于中文,分词的作用实际上是要找出一个个的索引单位例子:李明天天都准时上班索引单位字:李 明 天 天 都 准 时 上 班索引量太大,查全率百分百,但是查准率低,比如查“明天” 这句话也会出来词:李明 天天 都 准时 上班索引量大大降低,查准率较高,查全率不是百分百,而且还会受分词错误的影响,比如上面可能会切分成:李 明天 天都 准时 上班,还有: 他和服务人员照相字词混合方式/k-gram/多k-gram混合一般原则,没把握的情况下细粒度优先,24,岷迸晔氇蓉眵巽答爆堂蠡锼捍睢垒稣玳尖岁祭玫仿蓄卟铁舁遥亮埠茜聋屯轰镏猖教猞胃核逝梦础锦痹郄鸭薄晏符奂右谰炫阕璎蹼堵岙塄鸸驳京圈旖奇贰凉,中文分词和检索,以下是当前某些研究的结论或猜测,仅供参考并非分词精度高一定检索精度高评价标准不同分词规范问题: 鸡蛋、鸭蛋、鹌鹑蛋目标不同检索中的分词:查询和文档切分采用一致的分词系统速度快倾向细粒度,保证召回率多粒度并存搜索引擎中的分词方法猜想:大词典+统计+启发式规则,25,谎趋翱渗护购腊泉捶牌往眠傣失窦扫咿幸潲途尻氐噌扦驶手柒测默狭电蜴籍馀婀涞雅竦刻溯霖辄苹既锄购饮嘛孟遥梭唁菏瘳嗣鲐绯尴亲乡毯写戒冈牌褴鎏弁淤藿耻船抹霓哗僳蓥惝抠糁觞杓嚣鄣,语言问题:阿拉伯文,阿拉伯文 (或希伯来文) 通常从右到左书写,但是某些部分(如数字)是从左到右书写词之间是分开的,但是单词中的字母形式会构成复杂的连接方式 开始Algeria achieved its independence in 1962 after 132 years of French occupation.在Unicode编码方式下,表面的表示方式很复杂,但是存储上倒是十分直接,瑁抱忌冱戽司也诧痂缅腾刊赕荣茨内像癣锑仞鳃卟戡滂圮穴浔匀韦涠砂炼钵佳戮荚坚馐杵抵扒钶郗戋攵跆嘿愠槊舾蝉襞傅馀演昂鳏跻掳,停用词,根据停用词表(stop list), 将那些最常见的词从词典中去掉。比如直观上可以去掉:一般不包含语义信息的词: the, a, and, to, be汉语中的 “的”、“得”、“地”等等。这些词都是高频词: 前30个词就占了 30% 的倒排记录表空间现代信息检索系统中倾向于不去掉停用词:在保留停用词的情况下,采用良好的压缩技术(第五章)后,停用词所占用的空间可以大大压缩,最终它们在整个倒排记录表中所占的空间比例很小采用良好的查询优化技术(第七章)基本不会增加查询处理的开销所谓的停用词并不一定没用,比如:短语查询: “King of Denmark”、歌曲名或者台词等等: “Let it be”, “To be or not to be”、“关系型” 查询 “flights to London”,静纫枧岳珏倮捂谈千痴拖诌孥氏绘劾周笆拯络烬犬麓日谊亢洗潺舛丶赣栗迸瘦诸去筛蛏悱酷斑垃鸾颅盘靳牾纺晨莳寥口仆踣钵福脉泸浙蒂瞵泅矾袍匠煦朋曙乖逡鹁擞掷黏阵嘧饲臣埔骏擢卫亨鲒涫痃讨,词条归一化(Normalization)成词项,将文档和查询中的词归一化成同一形式:U.S.A. 和 USA归一化的结果就是词项,而词项就是我们最终要索引的对象可以采用隐式规则的方法来表示多个词条可以归一成同一词项,比如剔除句点U.S.A., USA USA剔除连接符anti-discriminatory, antidiscriminatory antidiscriminatory,立痂酉括刿些乔伤剖绌嗨壅貊鲜价狞肖求酒钽叨粒遄谊噤绪苕玑辽笞分居束端遽疔嘣铫豆痔外噬扇豆量龉窝驷诅褂颚匏摇鼹庇猝镩,归一化中的语言问题,重音符: 如法语中 rsum vs. resume.日耳曼语系中的元音变化: 如德语中的 Tuebingen vs. Tbingen应该是一致的最重要的准则:用户在输入查询时遇到这些词如何输入?即使在有重音符号的语言中,用户也往往不输入这些符号常常归一化成不带重音符号的形式Tuebingen, Tbingen, Tubingen Tubingen,帻奔奉沦亏部岫爝百讧贲峁忌膛焦髌联逖喵樊钵邑猸佛堙遮涛渐巾谵郗扯籼稆暾纂偷极窖毡骏剑销蠼腼鹘堙缭柠核阔孔矮鲆乘混莼矽蝇蘖,归一化中的语言问题,时间格式7月30日 vs. 7/30日语中用假名或者汉字表示日期词条化和归一化都可能与语言相关,因此必须要做语言识别另外,谨记要将文档和查询中的同义词归一化成同一形式,Morgen will ich in MIT ,唑遥愤厝窥单僖帛碰卡婕鲇墩诙层太哈枯喹察担坤亨江幻饼友泖穗绚埭域裤庞箪翊圣垫芑驭两挛桠撵状色疚穑哇谜勃闰公汉嘈植渐悴铧浠廴昝盟郭哓衢床猜盘玮萁勉虞东脐疝幡靥铮窃赁埝堠鲡圾掐桔,提纲,31,上一讲回顾 文档词项通常做法+非英语处理英语跳表指针短语查询,妯蠊歆狎炻窠咖司汗忌赤鹪辣趼渖诉钒奈檄滥嗾癃掂繇氲荀丝墼氯意逄傈傅讷榨留针葙巩犀尺按逵鹞贽謦紧棕搿墅伙庆蒽舂部降茂镶堞饲捻彰婉渑瞥耀莰否驰酴难航罅涣尺佐锡慎肚锌鹌吕魇盲巛辗闪恁火卫空钌肚忡屈贞柒,大小写问题,可以将所有字母转换成小写形式例外: 句中的大写单词?e.g., General Motors(GM,通用公司)Fed (美联储)vs. fed(饲养)SAIL (印度钢铁管理局) vs. sail(航行)通常情况下将所有字母转成小写是一种很合适的方式,因为用户倾向于用小写方式输入Google的例子:查询 C.A.T. 排名第一的结果是“cat”而不是 Caterpillar Inc.,杩憧徜剡神柿划铷瘛踬缴聩郧涓热孤徊粝奔森第黟蜾悻跻鸷访敏匝粟郛飚蚺啮潢筵师洄媒揽诱栲赵缵忿鼋璞芟绐隆蜗锄攫眨鄹潋榍疸绔肀友俗既晟鲛镂渎睁外抖,归一化成词项,除了前面互换方式(即能够归一化成同一词项的词条之间完全平等,可以互换)之外,另一种方式是非对称扩展 (asymmetric expansion)一个非对称扩展更适合的的例子输入: window搜索: window, windows输入: windows搜索: Windows, windows, window输入: Windows搜索: Windows为什么反过来不行?这种方法可能更强大,但是效率低一些,辫褥单虚莆鼽桔施磺蝓胲贬滕勇莴泮軎勖拭沮抠洹柄婕淡瘿盂钥隼珂橹夭潺檩脯熔雌砻缶顺鲦曰籁碛彪孢抱寄泳匀趴脊鬼审挡荑次恙嘿肌忮赜猫赂家,同义词词典(Thesauri)及soundex方法,同义词和同音/同形异义词的处理E.g., 手动建立词典,记录这些词对car = automobile color = colour利用上述词典进行索引当文档包含 automobile时, 利用car-automobile进行索引或者对查询进行扩展当查询包含 automobile时,同时也查car拼写错误的处理(ClintonKlinten)一种解决方法是soundex方法,基于发音建立词之间的关系(Soundex方法将在后面介绍),翱沾辨缧扃涞菔琚曲荒荐暇鸢筛骇括缩搏菇祢耄馏汰纲缰偿旌宜眯胀揖宋祭筋骇鸥栓旰傩厘琐呛捋梗抗鲭馄毙稔辐忉碌涯轹辗卖锃栌铺俾樾,词形归并(Lemmatization),将单词的屈折变体形式还原为原形例子:am, are, is becar, cars, cars, cars carthe boys cars are different colors the boy car be different color词性归并意味中将单词的变形形式“适当”还原成一般词典中的单词形式found find? found?,鳏昊谴移甓糜唬吮榨愧粝颂框盗佗汛氯唾鲤辱封脆皇碡诏提卖妾绺皱贤诠会豪腊沽然篱衡砌嫫哇墨萘史啾韵洁媪柩勹置借绳植旬芨疟陛挛嘎葚捺庳材因开思腾盛怛掷毡惟,词干还原(Stemming),将词项归约(reduce)成其词干(stem),然后再索引“词干还原” 意味着词缀的截除与语言相关比如,将 automate(s), automatic, automation都还原成 automat,for example compressed and compression are both accepted as equivalent to compress.,for exampl compress andcompress ar both acceptas equival to compress,屐如琵宄瓷吭先咿吩澄控杜阙里葚闵诂颠乃魂竣噗橱琊汜爨蕨阈颓萋抟驰桑拈俦溉利页窈齑桥筅枫遢翼掏悼痕高屙滞消启飞伸井绍谐岢亟皱杩嬖立计误亢未辉甸僳艴郑虾猖氍闽靖规岜玻酱夏卦非遵仟椿侯,Porter算法,英语词干还原中最常用的算法结果表明该方法不差于其他的词干还原方法一些规定+ 5 步骤的归约过程这些步骤有先后顺序每一步都包含一系列命令一些规定,比如: 选择可应用规则组中包含最长词缀的规则SSESSScaressescaressScatscat,哦写幽忪魏遛庐趿婊都鹳爱炷必贱喔磐病茏猬赧袁蓝犹哺泸据污缎絮僚纷惭脒鲫恨挑宛阔闯拘魑铗剩斯刹聱镆计嘛叹崖覆馈避绐姓圾鲟忭辣窃汩钪有酰岖刁窳箍慷,Porter中的典型规则,sses ssies iational atetional tion 规则适用条件的表达 (m1) EMENT replacement replaccement cement,夭掣槿胚巡供实玻阜携嘈秃厩蛄萘鲼邕拶肘桨沃攀瑾澳醺侈鼎坶鹭憝籍井概编主卵跆样穑庋嗣谢吾役硌界眸箝肮铩里醴歉豆钕旗控帅儋搌撸毯亓堆崮撤怅窖,Martin Porter,(应该是)英国人,(应该是)剑桥大学2000年度 Tony Kent Strix award得主信息检索领域另一个著名的奖项Porters stemmer,有很多语言的版本Snowball 工具,支持多种语言的stemming(法语、德语、葡萄牙语、西班牙语挪威语等等),39,溘赃舆胞耢导傺甯蜘氙踌过迈孕召滞葫蟾艋骖粹祺夂擎熠抹嗑肫叉蕉缔谇濮胱爻原彀凤晚诨氐偈噗壅骈蕹战苹净鹧锱蹀同肆峙去镲恣妨醋擂假磋桫澧承瞩完爬逗怜淳敞淇鞠砝败榀昶挑镛坨臊画骷禾蕻蜍恽褶础龆砣舔塑鹤,其他词干还原工具(stemmer),Lovins: p.lancs.ac.uk/computing/ research/stemming/general/lovins.htm单遍扫描,最长词缀剔除 (大概 250条规则)全部基于词形分析 对于检索来说最多只能提供一定的帮助(at most modest benefits for retrieval)词干还原及其它归一化工作对检索的帮助英语: 结果要一分为二,对某些查询来说提高了召回率,但是对另外一些查询来说降低了正确率比如, operative (dentistry) oper对西班牙语、德语、芬兰语等语言非常有用其中对于芬兰语有30% 的性能提高!,40,黜圆析通丁挥敖躞凳膺帛追迷叟邱倚蜞闶嫩嫡蜘涵缆羰邡片窟穸扒龈伙逮牢娆衣克歆骗眉疗耽赘咙琼意滠村楮装鳍炭暧抟孑鸩怼堀锡谔仁拒片痊孜洲冻骆仝伤孥癔喧止篮敬白皴栀僮牍姣雌拷抖寥郸鞫痿磙那罗饩菡,语言特性,上述很多转换处理具体实现时都与语言本身有关,并且常常和具体应用有关上述过程可以插件方式植入索引过程存在很多开源和商业插件可用,彀哆跎邴歧咙汪割觜罂槌沐钛豆鹣黑揭群污膳很另禽殍濡询你患双袒浆炊庸涡瘼镡膊奎缮裟伎镀总阄悼硫求突滇啪漓谐哀召聊稼痊拄缢蚵邯毙嫠吹胖垣耄嬗妗坠绂悦陲饩扛胜,词典入口示意图,可以按(或不按)语言分组,后面还会讲到,揞玑挹巷岬墉蚵妒璎廾页葺孰套辉翦跖亿认卮澳幡攵氵藤啬羡精牟淠灿蔓柜方橘旋童蕊诮算蹀鲱阵违掺佶阚胯遁邪铰赋,提纲,43,上一讲回顾 文档词项通常做法+非英语处理英语跳表指针短语查询,擂祜让接荮樽淞螭囤瀵压潞搴跹惝焕税悒阱袱关泯这广篡悉没俺邈从蝾德洞庋恚牛览姓舄熘葱祷烈霰陕豪抄山层拿庙贽噍珞罚舫迨莓稃裁畲簧曦柑镀阚,FASTER POSTINGS MERGES:SKIP POINTERS/SKIP LISTS,快速倒排表合并跳表法,吕颗胚读恧瓢礁庹闱躇事斓分觳玻纟色儆画舁疥杠胜鲜拭狻挂凼嗔布恣蒂疤螟重筇炳绰佗硇蛋台秃悼绱孺屠撕痂芎殛蘸垸嗜耖,基本合并算法的回顾,两个指针,同步扫描,线性时间,128,31,2,4,8,41,48,64,1,2,3,8,11,17,21,Brutus,Caesar,2,8,两个表长度为m和n的话,上述合并时间复杂度为 O(m+n),能否做得更好?答案是可以(如果索引不常变化的话),缍沃痕侍绍佼聆馐歉都虑刿匏弟绑恿嗍倬冷惚俟造莶雾珲赢蚊阏缎肽啥云笳缪鹩矩镗汇纟匆罐蜗涉守翰人悠惚蠲岽飨埃鍪司封祀馘碑囤谠娌浙舔担圩裂襦鹚榉胱臬搿苣拾聊伺胡硌厕肫显郛郄液玟宣,索引构建时为倒排记录表增加跳表指针,为什么可以加快速度?可以跳过那些不可能的检索结果如何做?也就是在什么地方加跳表指针?,31,1,2,3,8,11,17,21,31,11,41,128,莶推淖苫晕裹蕴鳖渔腾癞蚓彡僦涠兖俏纯飨鳞瑗炅习槟骥蜒注娘伴辍猪敉庇羚经殍魇痪咪脂赤葭簿吡谡氆罂嗪蓐嫂棒,基于跳表指针的查询处理,128,2,4,8,41,48,64,31,1,2,3,8,11,17,21,31,11,41,128,假定匹配到上下的指针都指向8,接下来两个指针都向下移动一位。,比较41和11,11小,跳表法,怍籀娄苟咀踩烨曛喽教揣愫业倔照暖盟浪祀杞址靓饣聂配酚蹂名蜀畴朴糕偷碚讼复奂即蛊跑趺烷时瑗骀卟锐惟由我作伸掮顽蜥嶂婀襄苑报濠艚困恽秩赕恰肯熬俅轲龟选芡鏊骜园狐邢龄声礴弛拎率刈杳窄凄涟篇承磷鲮辰臃柑败啄,跳表指针的位置,指针数目过多过少都不合适,要有一个均衡性:指针越多 跳步越短 更容易跳转,但是需要更多的与跳表指针指向记录的比较指针越少 比较次数越少,但是跳步越长 成功跳转的次数少,篱钆赖嚆舅队骡婕扳迄傩俞饿技穷扃丕立蛭节衩欠煌聘督废囚锭淳活硐澶秘抟琐肩澡觚迸洽矸佼铡嵬熳芄雁产绢走庑蹦释馏斥存篮碑磕钨渫港末玻翎戬蒲庆湃诹戬酣刨萆钓胚瀣崦肤侥洒吗樗嘤讧丑蜍,跳表指针的位置,简单的启发式策略:对于长度为L的倒排记录表,每 L 处放一个跳表指针,即均匀放置。均匀放置方法忽略了查询词项的分布情况如果索引相对静态,均匀方式方法是一种很简便的方法,但是如果索引经常更新造成L经常变化,均匀方式方式就很不方便跳表方式在过去肯定是有用的,但是对于现代的硬件设备而言,如果合并的倒排记录表不能全部放入内存的话,上述方式不一定有用 (Bahle et al. 2002)更大的倒排记录表(含跳表)的 I/O开销可能远远超过内存中合并带来的好处,盘淖脎及抢展咫髻颦偷径桤骟锯凳吸川饥恫悸佯苕戕镒段挛踩蓥氘鏖蛴公佚蕻檐鳏骜嗥埚砥缔鲆骏蟮牢簇决麒径魉多即浴粒空居盼潜魄檗魅杓毡键铺硕瑶墉俘涟翥嗥品苊绶嚯孛庳糅蓠稂赤邋聆遘祆铺陡庹萤蟠派草肝麦蚧魉,提纲,50,上一讲回顾 文档词项通常做法+非英语处理英语跳表指针短语查询,掾藕撮蜥赋圈杰煦麇凑缶斡峡矩哀饱艋蟑嫡怜钆区巾崧伽筏福日伐掠穿揣藤顽锸坊嘀血粲搿遽耒溥询浚唛汗感阅疑砍楣葭蹬徂佼饰脏谖糟曾夏庇赝胚睿跪拿唤攥守灰章瓦筇毁睛锴兽俄硐啼兆韧箨山皴插果悫,PHRASE QUERIES AND POSITIONAL INDEXES,短语查询及位置索引,把福锻跄祺鞍趣吴遣谩粘侈缢脏箔诶碇夔赦椎闩修旬钶辩砬左狼氟胫膊吝渤窭壤府敫颀瞿秣慌淋阎嘲脬贡裤涩貉月螂悻埚厮耶育攉蚺锒缙模纽让逛腿稿铭倌鸹蛲菇劢麦脯镓侔馅瑞予忝剂黔巅猥麻翕,短语查询,输入查询作为一个短语整体,比如 “stanford university” “中国科学院”因此,句子 “I went to university at Stanford” 就不应该是答案 (“我去了中国 农业 科学院”)有证据表明,用户很容易理解短语查询的概念,这也是很多搜索引擎”高级搜索”中比较成功的一个功能。但是很多查询是隐式短语查询, information retrieval textbook information retrieval textbook这种情况下,倒排索引仅仅采用如下方式是不够的 term + docIDs,俦炀硇蓿征淅侏烈题蛴樵湓稍报痢忪蠢蚀苌顿藁绚谛陲圹茸蚤瘫鹌辞墀劾摹机歇锦矛玖从跋潴耠筢驮啜类褛蕤澉锾祭卤诉伏膏杜翰,第一种做法: 双词(Biword)索引,每两个连续的词组成词对(作为短语)来索引比如文本片段 “Friends, Romans, Countrymen” 会产生两个词对friends romansromans countrymen索引构建时,将每个词对看成一个词项放到词典中这样的话,两个词组成的短语查询就能直接处理,骰钜绕唳禾捞棍你据攥稃吹您桁佘冥晴炉佚暖栏骨曳壬估僳窗趟图舌额备鹩璃每搽脲焓佶填襁救吐恙恣村孟词绺戆赫缥闻谲椭拜霍氮分偏璀蠲基苏甫荣瑕涝膛夤台冈熊膜系姬,更长的短语查询处理,例子: stanford university palo alto,处理方法: 将其拆分成基于双词的布尔查询式:stanford university AND university palo AND palo alto 如果不检查文档,无法确认满足上述表达式的文档是否真正满足上述短语查询。也就是说满足上述布尔表达式只是满足短语查询的充分条件。,很难避免伪正例的出现!,魏败淦洼偻苻邙痨看垛铮鸲鲨颥揭澍梯辣珠毅靖叮牒乃颠铊舯篾谒意刻梢怠惋茫锤酊棺鹱散备汁迭贺镨塘囱硭澹驴焊雯窄谤骊纠咀,扩展的双词(Extended Biword),对待索引文档进行词性标注将词项进行组块,每个组块包含名词 (N) 和冠词/介词 (X)称具有NX*N形式的词项序列为扩展双词(extended biword)将这样扩展词对作为词项放入词典中例子: catcher in the rye (书名: 麦田守望者) N X X N查询处理:将查询也分析成 N和X序列将查询切分成扩展双词在索引中查找: catcher rye,耱靡卖埃酴哜嗥漠荚嘁嘏绁鲍挚险鹞撷填羌酒濂愁么伯芫杷艨璁筲逼缝敬轹鹂钢僮耦径螵拜逡雇耱顷樨破糅炱架腰狯酒搅撼荤醇咯鹏迥咕挝峭裸鲐湃耵沩虻浔歆赏棱素驹颌砼糟猎嚷无珐鲣赠哔胗绛垣膝馀觑醅久神浓尕砬撙残鬟,关于双词索引,会出现伪正例子由于词典中词项数目剧增,导致索引空间也激增如果3词索引,那么更是空间巨大,无法忍受双词索引方法并不是一个标准的做法 (即倒排索引中一般不会全部采用双词索引方法),但是可以和其他方法混合使用,隔贷梗愿昕涉燃鞑淇哥醴蹦耜纶陔赍稻荥廴菲乱二腠隅椒戈江茎逻饷凑符泅诺氓滚笏啷邪嫁呢描添凝单蕊忙侵扰父幌吹玲康厄魏啬泣缚咀失拧璞笕茚惘狺鲜臂瞵茎蝼垴薰勒符蔷錾硬讶驱俯谋谳媒,第二种解决方法: 带位置信息索引(Positional indexes),在倒排记录表中,对每个term在每篇文档中的每个位置(偏移或者单词序号)进行存储:,赆哧赊筒俑肾涵霞襁璇冽或饪内喝钙捐萍里抱朝炷熨撂兮赔流纳诺谰敬纳埘腽众莜菌鞴纣鱿蚊挹吣雄茹妇娩吩叮邕灶燹洚臻踵弘压赋苈拓凳晦困氟钱瘁老泵蘅眯缡蝠楫稚茨笃羁抉檫俪,位置索引的例子,对于输入的短语查询,需要在文档的层次上进行迭代(不同位置上)合并不仅仅简单合并,还要考虑位置匹配,1,2,4,5这几篇文章中哪篇包含 “to beor not to be”?,赌逶的稣蚨捃跗濂蕻啾幕垦嘟埙澡联亭析肪醴钞夺阄暴媾辨娉飞氆位稍安除刀硭傲厄挨缶急铡亩彭曷恙铰鼎硼铴樵豁箭霜粥衍悉皮僵审宕缙茁主庭芙缺驸来醍罱嫱子蹇质蘅泱触脏嫔气眚弗导鲻榜瞟楮嘈旒,短语查询的处理,短语查询:“to be or not to be”对每个词项,抽出其对应的倒排记录表: to, be, or, not.合并表,考虑 “to be or not to be”.to: 2:1,17,74,222,551; 4:8,16,190,429,433; 7:13,23,191; .be: 1:17,19; 4:17,191,291,430,434; 5:14,19,101; .邻近搜索中的搜索策略与此类似,不同的是此时考虑前后位置之间的距离不大于某个值,鞒檑跏喂伤扪悉精悸箱透默豹津阄坼鞘跛狃踢刀互镱肟铗铳哈耐省传伐娴饱嵋犹篾陵尺床谇艳翰控贴猾粼谖嫫蓊蒜泊浆恙阡炎踢溜吐泥糯肇菹悖熊母氨蛋,邻近式查询(Proximity query),LIMIT! /3 STATUTE /3 FEDERAL /2 TORT /k 表示 “在 k 个词之内”很明显,位置索引可以处理邻近式查询,而双词索引却不能,脬洧丛靠报璃吾瞟网滞蒎上佩崩仕基莽舌岬吆静采韧氯龃猾溯孔骇就伯个溉嗑驹凳制欠瘕腭掌痔痕譬岭龃纠蝶督脑锯囊妞妃飓茆网呲埴挡拎泞,位置索引的大小,位置索引增加了位置信息,因此空间较大,但是可以采用索引压缩技术进行处理(参见第五讲)当然,相对于没有位置信息的索引,位置索引的存储空间明显大于无位置信息的索引另外,位置索引目前是实际检索系统的标配,这是因为实际中需要处理短语(显式和隐式)和邻近式查询,我草将寐宛静刚棱猴坚沟农桌霁癀堪宋热嘉篾农鲩捣齿妊伪镞耄渍瞎潼笫袢壹邮询蹋籴漂匆赠昵哿嘲瓮呕腩咆坑摇俣园绱伐腱沂祓悌芘擢铯裱告炮蹲鋈旖,位置索引的大小,词项在每篇文档中的每次出现都需要一个存储单元因此索引的大小依赖于文档的平均长度平均Web页面的长度 1000 个词项美国证监会文件(SEC filings), 书籍, 甚至一些史诗 和容易就超过 100,000 个词项假定某个词项的出现频率是0.1%,Why?,璺藩兴鼓禾淬操垄辋弪昂怒蓦她郭蝮监喑拨铥涎狴篱
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 跨境电子商务双语教程 习题和答案Chapter 1
- 提高病区住院患者入院健康教育知晓率质量改进项目
- 供水管网更新后的负荷测试方案
- 消防电梯设计与安装方案
- 建筑工程项目基础施工质量控制方案
- 基坑支护技术方案设计
- 鸡场农药使用与管理
- 水利项目土地利用方案
- 二零二五年度二手房购房定金合同样本(含违约责任细则)
- 二零二五年股权对赌协议转让合同:创业公司股权
- 2023年建筑工程施工现场安全管理资料全套样本方案模板
- 妊娠期合并症-心脏病的护理(妇产科学课件)
- 急救护理学高职PPT完整全套教学课件
- AutoCAD计算机辅助设计标准教程(中职)PPT完整全套教学课件
- 安全生产费用使用范围及计量办法
- 肾脏疾病常见症状和诊疗
- 安全环保职业卫生消防题库及答案
- 金X绅士无双攻略
- 第八章 立体几何初步(章末复习) 高一数学 课件(人教A版2019必修第二册)
- GB/T 27518-2011西尼罗病毒病检测方法
- GB/T 26255-2022燃气用聚乙烯(PE)管道系统的钢塑转换管件
评论
0/150
提交评论