第32卷 第l2期 L32 ・计算机工程 2006年6月 June 2006 №l2 Computer Engineering 软件技术与舅【据库・  ̄imq,1000 ̄3428(2006)12--0080--02 丈蕾标识码I A 中圈分类号,TP311.133.1 基于主题的分布式信息检索技术研究 张刚 ,周昭涛 ,王斌 (1.中国科学院计算技术研究所软件室,北京100080;2.中国科学院研究生院,北京100039) ■叠:介绍了一种基于主题的分布式信息检索方法,并对算法的有效性进行了深入的分析。该文通过文本聚类方法,把文档按照主题的 方式来划分,经过实验发现查询答案明显地汇聚在少数的文档集合中。由此表明,基于主题的分布式信息检索方法比传统分布式信息检索 方法在检索效果上有了显著的提高。 关t讨:分布式信息检索;文本聚类;K平均聚类 Research On Topic Based Distributed Information Retrieval Technology ZHANG Gang ,ZHOU Zhaotao ,WANG Bin’ (1.Software Division,Institute of Computing Technology,Chinese Academy of Sciences,Beijing 1 00080; 2.Graduate School of Chinese Academy of Sciences,Beijing 100039) [Abstract]This paper introduces a topic based distributed information retireval me ̄od,momughly analyses the reason for the good performance. hrough textT clustering method,divides the text by theme,and the experimental results show that inquired answers obviously converge among minority collections of documents,such indicates that the topic based distibuted irnformation:retievalr method achieves great improvement comparing to he ttraditional method. [Key words]Distributed information retrieval;Text clustering;K-means clustering Web信息的快速增长,给检索系统带来了巨大的挑战。 从某种意义上说,现在可以获得的信息太多了,以至于无法 对这些信息进行处理。以Google搜索引擎为例,每个查询都 会返回成千上万个检索结果,用户不可能对所有结果全部浏 览。Google搜索引擎索引的页面超过80亿个,根据统计, 一行检索;用户的查询请求被发送到相应的检索服务器上进行 并发查询;查询的结果再经过结果合并过程,把最终的检索 结果返回给用户,从而完成一次分布式检索的过程。 ,^★J仉‘rn t 1.一 -—1PL一 gP ̄L 2 _-- — I l .一-一-恤索服务器l r-1 ●粕索服务器2[--1 个查询用户通常只浏览前10个结果,而每次查询都要查询 80亿个页面,80亿和Topl0形成了强烈的对比,如果能够只 对80亿页面中的一部分进行搜索就能得到和搜索全部数据 相似甚至更好的搜索结果,那无疑对于搜索引擎的建设具有 l I ● 1]lI・ 结果合并 I l ● 重要意义。可以粗略地计算一下,如果能够只检索其中的10% 甚至更少的数据就能够得到相似或者更好的检索结果,那么 需要检索的数据量就只有8亿个页面,处理数据所需要的机 兰 ! 网络 网络 {l佥索服务器 [===】 圈1分布式倌■检|f盼体熏鳍杓 器也会减少到10%。或者是可提供服务的用户数变为l0倍。 如何能够只检索部分数据,就能够取得比较好的甚至超过检 索全部数据得到的检索结果,这就是分布式信息检索需要解 决的问题之一。 在分布式信息检索的构建中,首先要处理的就是文档集 合的划分问题,在以往的研究中文档集合的划分常常按照信 息的来源、信息的发布时间等信息,将一个大的文档集合划 分成几个文档集合。这种划分方法并不能使一个查询的答案 集中在某几个文档集合中,本文按照主题对文档集合进行划 分布式信息检索是信息检索研究的一个重要方向,主要 研究的问题包括:文档集合的表示。文档集合的选择,结果 合并等。本文介绍了一种基于主题的分布式信息检索技术, 比传统的分布式信息检索方法在检索的效果上有很大的提 高。可以通过检索部分文档集合,取得很好的检索效果,极 大地减少检索的计算开销。 分。从而使查询答案集中在少数文档集合中,提高分布式信 息检索的效果。 2主题的构建与文档集的划分 在按照主题对文档集合进行划分时,主题的建立和文档 集合的划分采用文本自动聚类的办法。从效率角度考虑,这 基金疆目:国家“973”计划基金资助项目“大规模文本内容计算” (2004CB318109) 1分布式信息检索的体系结构 分布式信息检索的体系结构如图1所示,一个具体的查 询过程可以描述如下:用户从客户端发出查询,经过分发服 务器对用户的查询进行集合选择,选择最适合的数据集合进 -作者倚介:张 ̄1J(197 7~),男,助理研究员,主研方向:信息检索, 自然语言处理;周昭涛,硕士;王斌,副研究员 收藉日期:2005—07—10 E-mail:gangzhang@ict.ac.cn 80--- 维普资讯 http://www.cqvip.com
里采用了K平均聚类法 】,K平均聚类的算法如下: (1)初始化选择K个聚类中心fWI,w2,…,Wk J,W =il, .,∈(1,2….,k),l∈(1,2,.. ),‘为要聚类的样本; (2)类别C 由向量W 表示,对于每一个样本i『I选择和 它最近的类另0 C +作为所属类另0,即Ii,一W ,一W l, je(1。2… 一 . 每一个单独的文档集合可以采用多种检索的方法,这里采用 了语言模型的检索算法 ‘来进行检索。基于语言模型的检索 方法是1998年Ponte和Croft提出的一种新颖信息检索的模 型,并且取得了很好的实验结果,基于语言模型的检索方法 (3lX,l每个类别C 按w 示向量; il/I CJ‘重新计算用来表 通过计算文档的语言模型与查询的语言模型的距离来表示文 档和查询的相似程度。这里采用了一阶语言模型,语言模型 之间的距离可以用Kullback—Leiblerj距离来计算: 一 p (w.1 KL(Q,D) Po( )log D、 , (4)计算误差函数E=Xv.il ̄C)Iit~wJ I ; (5)如果聚类的结果不再发生变化,或者误差函数E小于 阈值,则停止,否则转(1)执行。 每个被选中的独立的引擎都会给查询返回的文档赋予一 定的权重docscore,这是通过语言模型计算的文档和查询的 相似度来实现的。最终需要把各个引擎返回的结果进行合并, 在构建文档表示向量时,向量中第f个特征的权重计算 方法如下: (1+l0g2( 。 )W eight(w,,d)= ————一———— L. ∑(1+log ( )) 10g (%) 其中 表示词 在文档d中的词频,N表示总的文档数目, 表示 在整个文档集台中的文档频率。在计算一个文档 与类别相似度时,采用向量夹角余弦的方法来度量。 3分布式检索方法 3.1集合选择算法 在进行集合选择时采用CORI算法 ,CORI集合选择 算法和INQUERY系统的检索算法相似,不同的是,在 INQUERY中的文档相当于CORI中的文档集合。CORI采用 贝叶斯网络对文档集合进行选择,一个简单的贝叶斯网络如 图2所示。 数据 和网 壹询 圈2.|单曲集合遗|_I贝叶新啊 文档集合尺 可以由一些关键词r 表示,用户输入的 Query由一系列的概念c 俎成,关键词的权重用 f 的方 法计算,计算的方法如下: 7f 一 生—— ‘+5O+150xcwlavg—Cw ,:一 兰 C: +0 5,:, P(rk R;b+(I f);+(一)・・J1一b).T., lg,(c+1.o1 其中:af是文档集合尺 中含有关键词 的文档个数,CW是 文档集合R 中索引的关键词的数量,avg_cw是各个文档集 合中关键词的平均数,C是文档集合的数量,盯是含有关键 词 的文档集合的个数,b是最小置信因子,通常取值为0.4。 通过上面的方法,可以对文档集合进行选择,选取那些 最可能含柯答案的文档集合来进行搜索。 3.2单引擎搜素与鳍果合并算扶 文档集合选择完毕,需要对被选择的文档集合进行检索, 并按照合并后的权重重新排序,文档合并后的权重应该与文 档本身的权重以及该文档所属文档集的权重都有关系,这里 将返回文档的权重docscore与文档集合本身的权重dbscore 综合考虑,通过经验性加权公式(docscore+ A*dbscore docscore)/B来给出一个最终的文档权重,其中常 数A取0.4,常数B取1.4。 4实验分析 为了验证基于主题的方法对于分布式信息检索效果的提 高,以通常的按照出版时间、信息来源划分文档集合的分布 式信息检索作为比较的下限(下面称为参考下限),检索的测 试集使用TREC标准测试集(55万文档),采用上面讨论的 主题构建的方法把文档集合划分成100个主题。在实验中, 对于分布式信息检索方法的每个查询仅选择最相关的lO个 文档集合进行检索,测试了TREC6的Ad Hoc任务,测试工 具使用的是CMU开发的lemur检索实验系统【3】,实验结果 如 表1。 j|I1检If实 结果比较 基于主题的方法 参考下限 平均正确率 0.1161 0.083 o 相关的文档数(篇) l】7 2 773 可以看出基于主题的分布式信息检索方法相对于传统的 分布式信息检索方法在检索的效果上有了很大的提高,平均 准确率提高了近39%。 为了进一步分析基于主题的分布式信息检索能够提高检 索效果的原因,我们对每个查询的相关文档在各个文档集合 的分布情况进行了分析,对于每个查询对比了其相关文档在 基于主题的方法和参考下限的集合中的分布情况,图3以查 询301为例,图中纵坐标是集合中的答案数量,横坐标是文 档集合的编号(按照包含答案的多少排序编号,共有100个 文档集合),系列1为基于主题的方法答案在文档集合中的分 布,系列2是参考下限中答案的分布情况,可以看出在基于 主题的方法中,答案集中在少数的几个文档集合中,而参考 下限的方法中,答案的分布相对比较平均。 4∞ 3oo 一系列1 200 一●系列2 1o0 0 I lO 19 28 37 46 55(;4 82 91 100 圈3囊号为301曲蠢III不同捌分曲文糟集合曲分布 为了验证这个结论的普遍性,我们不仅测试了每个查询 (下转第84页) 一8卜一 维普资讯 http://www.cqvip.com
如图3,当优先级1下的任务1(1)被调度后,OSTCBPrio 类型的实时内核,因此有这样的等价关系:任务响应时间= 调度器寻找最高优先级任务所耗时间+任务切换时间。具 体的测试方法是设计一个测试任务,分另Ⅱ把该任务的就绪时 候的和被调度器调度时候的系统时钟tick值保存到定义好的 两个变量中,并利用操作系统的HOOK例程(在pc/OSII和 Tbl[1]就会指向下一个同优先级的任务1(2),而当任务调度器 再次调度该优先级下的任务时,仍能在0(1)找到该任务,这 样会调度图3中的编号为l(2)的任务。由于该调度器利用了 比较复杂的任务管理数据结构,并没有出现通常的调度算法 会遍历任务链表的操作,也就没有循环语句,所以整个算法 OSEK/VDX操作系统中都支持有“钩子”例程)读出这两个变 的时间复杂度仍然保持在0(1),能够保证良好的实时性。具 体的算法实现如下: void OSSched(void) —量后比较,经过5 000次任务调度测试后,统计如表1。 表1一度■试统计 最大任 务响应 pc/OSIl OSEK/VDX 1.3ms 调度延时 <O.1Ills 99 84l 3Il% 调度延时 <O.2ms 99.908l2l% 调度延时 <0.5ms 99 932 2l7% {INT8U y; cpu—sr=O: OSENTERCRITICAL(); —.—.系统 5 9ms 98.645 313% 98 952 861% 991O9 973% if(OSIntNesting==0&&OSLockNesting==O){ 3结束语 本文提出了一种满足OSEK/VDX操作系统规范的任务 管理机制,如表1所示,改进后的调度机制,在取得对同优 先级多任务调度支持的同时牺牲了部分任务响应效率,增加 了部分延时。在多次测试中,最差的任务响应时间有较大差 Y=OSUnMapTbl[OSRdyGrp]; OSPfjoHighRdy=(INT8U)((y<<3)+ OSUnMapTbl[OSRdyTbl[y]]); if(OSPrioHighRdy!=OSPrioCur)I/ 优先级不同 / OSTCBHighRdy=OSTCBPrioTbl[OSPrioHighRdy]; OSCtxSwCtr++: OSTASK——别。但基本能够满足汽车电子对实时性的需要。 参考文献 1 OSEK/VDX Specifications【Z].http:#www.OSEK—VDX.org. 2 OSEK/VDX Operation System Speciifcation 2.1【Z].http://www. OSEK VDX.org. SWO;) else{/ 优先级相同 / if(OSTCBPrioTbl[OSPrioHighRdy卜>OSTCBId!= OSPrioCur一>OSTCBId){ OSTCBHighRdy=OSTCBPrjoTbl【OSPfioHighRdy]; OSEQU【OSPfioHighRdy】++; OSCcxSwCcr++: 3 Labrosse J J.邵贝贝译.嵌入式实时操作系统UC/OS.II(第2 版)lM].北京:北京航空航天大学出版社,2003. 4 Love R.Linux Kernel Development[M].Sams Publishing,2004. 5 Abbott R,Garcia—Molina H.Scheduling Rea1.time Transactions[J1 ACM SIGMOD Record,I988,17(1):71|81. 6 Haritsa J R,Livny M,Carey M J.Earliest Deadline Scheduling for OS—TASK SW0;}】) J 2实验与仿真 由于本文所讨论的是和任务管理相关(任务就绪,任务 调度等)的一系列机制,因此实验仿真的主要目的是测试改 进后的任务响应时间,实验中分别对在同一优先级F多个任 务的情况做了压力测试。由于OSEK/VDX操作系统是可剥夺 Real—time Database Systems[C].Proceedings of the l 2 IEEE Real—time Systems Symposium.Los Alamitos.CA.1 99 l:232—234. (上接第81页) 如何合理的组织文档集合,如何选择出最合适的集合进行检 索是非常重要的。本文通过文本聚类方法,把文档按照主题 的方式来划分,经过实验发现查询答案明显地汇聚在少数的 文档集合中,为进一步的文档集合选择创造了先决条件。通 答案的分布情况,而且还考察了5O个查询的整体分布情况, 如图4所示,其中横轴和纵轴的定义和图3类似,只是这里 是5O个查询相关文档个数叠加后的结果,其中系列1为基于 主题的方法答案在文档集合中的分布,系列2是参考下限中 答案的分布情况。从上面的实验可以看出,通过对主题的划 分可以使一个查询的相关文档集中在少数的几个文档集合 中,这样就为文档集合的选择提供了前提条件,也就是说如 果采用好的文档集合选择算法,只要选中那些包含相关文档 过和人们经常采用的按照信息的出版时间、信息来源等划分 方式对比,该方法在检索的效果上也有了明显的提高。 参考文献 1 Callan J P.Lu Z.Croft W B.Searching Distributed Collections with Inference Networks[C].Proceedings ofthe ACM SIGIR,1995:21-28. 2 Jay M,Ponte W,Croft B.A Language Modeling App roach to 最多的文档集合来进行检索,就可以取得比较好的检索效果。 3000 Information Retrieval[C].Proceedings of the ACM SIGIR,1998: 275—281. 2000 lo0o ——-一系列1 —..一系列2 3 Ogilvie Callan J E Experiments Using the Lemur Toolkit[C]. 0 Proceedings oftheTREC’Ol,2001:103—108. 4 Xu Jinxi,Croft W B.Cluster-based Language Models for Distributed 圈4 50十主j.在不同的集合中的分布圈 Information[C].Proceedings of the 22 Annual International ACM SIGIR Conference on Research and Development in Information Retrieval,I999:254.261. 5结论 在网络信息不断丰富的今天,分布式信息检索为人们迅 速查找到所需要的信息提供了一个很好的解决方案。在分布 5 Callan J.Distributed Information Retrieva[M].Advances in Informational Retrie,Ja1.USA:Kluwer Academic Publishes2001. .式信息检索中,由于不是对全部的文档集合同时检索,因此 一84一
因篇幅问题不能全部显示,请点此查看更多更全内容