您好,欢迎来到刀刀网。
搜索
您的当前位置:首页一种支持高效检索的双重索引策略

一种支持高效检索的双重索引策略

来源:刀刀网
维普资讯 http://www.cqvip.com 第24卷第11期 计算机应用研究 Vo1.24 No.11 2007年11月 Application Research of Computers NOV.2007 一种支持高效检索的双重索引策略 唐恒娟 ,张云锋 (1.河南理工大学电气工程与自动化学院,河南焦作454003;2.西安理工大学计算机科学与工程学院,西安 710048) 摘 要:从信息检索角度出发,提出一种高效的索引,在结构索引中集成了倒排文档,可同时查询XML结构部 分和关键词。双重索引策略很好地解决了基于路径表达式查询效率低的问题。 关键词:可扩展标记语言;路径表达式;双重索引;倒排文档 中图分类号:TP311 文献标志码:A 文章编号:1001.3695(2007)11.0063.02 Dual index strategy which supports high efficient searching TANG Heng-juan ,ZHANG Yun—feng (1.College of Electircal Engineering&Automation,Henan Polytechnic University,JiaOZII ̄Henan 454003,China;2.Colelge of Computer Engineering&Science,Xi’an TechnologyofUnievrsity,Xi’an 710048,Chian) ‘ Abstract:This paper examined an XML collection from the viewpoint of information retrieval(IR),and suggested an efifcient index which combining the inverted file with a structure index,it could implement retrieval both on context and structure.The problem of low query efifciency based on path expression was well solved with dual index strategy. Key words:XML(extensible markup language);path expression;dual index;invetred ifle 在当今的万维网中,XML语言形式无处不在。XML是 点相对应的节点类型和惟一标志符的集合;ord是实现为每个 Web上进行信息表示与交换的一个层次数据格式” 。随着大 节点分配惟一标志符的映射函数;root是文档的根节点;lbael 量XML数据的出现,如何有效地索引、存储和查询这些XML =labelE UlbaelT Ulabel 。其中:函数lbaelE中是每个元素节点 数据就成为目前值得研究的一个重要课题。因为XML是一种 的元素标记名;函数label 中是每个文本节点的内容;函数la— 半结构化的数据形式,传统的数据库存储方法和基于文本数据 bel 中是每个属性节点的属性名和属性值。 的信息检索方法都无法有效地对它进行操作。文献[2]提出, 当前处理半结构化数据的索引技术主要有值索引、字符串索 2 索引结构 引、路径索引、节点索引。其中路径索引和节点索引对查询条 2.1 XML摘要树构造 件的结构部分是高效的,而值索引和字符串索引则是倾向于信 构造文档索引结构时首先要确定索引XML文档中需要的 息检索的方法,很容易实现对XML文本的检索,但是对于基于 词条;然后扫描整个解析后的文档,识别并抽取每一个元素和 路径表达式的查询效率很低。本文提出的索引技术可对包含 元素中的词条,并针对抽取出的每个词条和元素标志,取共有 路径和关键词的查询表达式实现高效检索,并给出了高效的更 词(stopWords),并抽取词根(stemmer)[3,41。在扫描过程中, 新算法。 要按照共有词条表检查每个词条。如果一个词条不在共有词 1 相关技术 条表中,则通过抽取词根算法加在共有词条表中。最后就是统 计文档中所有文本内容和标记出现情况。此过程会消除所有 一个XML文档可以看做是一个有序的、边标记的树。在 重复的路径和词条,并得到惟一的XML摘要树。如图1所示, XML树模型中一般有四种节点类型,即文档节点、元素节点、 XML摘要树保留了原始的XML文档结构,并比原始XML文 属性节点和文本节点。文档节点一般指向文档树的根节点,在 档占用的存储空问要小。例如:图2(a)是一个XML文档;(b) 一个文档树中有且只有一个。元素节点指向其他的属性节点 是相应的XML摘要树。在摘要树中相同路径只出现一次,所 或文本节点。 有的文本内容和标记都用词根代替。 定义1一个XML文档树可以用一个有向图来表示:G= ( , , ,EG,∑G,root,oid,label,ord)。其中: , , 分 别表示元素节点集、文本节点集和属性节点集;E。是树中边的 集合,边表示元素节点之间的关系;∑G和oid分别是每个节 图1 XML摘要树构造过程 收稿日期:2006—07—20;修返日期:2006—10—11 基金项目:国家“863”计划资助项目(2001AA113182);陕西省科技攻关计划基金资助项 目(2002K06一G5) 作者简介:唐恒娟(1965一),女,河南济源人,讲师,主要研究方向为计算机应用与网络安全研究(hengjuan@126.corn);张云锋(1981一),男,河 南安阳人,助教,硕士,主要研究方向为网络安全、网格计算、无线传感器网络. 维普资讯 http://www.cqvip.com ・64・ (document id=24) (report> (author)M Black(authot) (title)XML(/title) (/report) <report, 计算机应用研究 索引的内容是一件十分迫切的工作。 第24卷 以前在倒排索引上,增量更新的工作大多是基于在静态文 档中增加一个新的文档 。通常是当一个文档内容发生变化 时,先将文档删除,再插入新的文档。当文档内容频繁地增加、 (author)J.Smith(author) (title)Data Model(hiife) (/report) (/document) (a1 XML文档实例 删除和更新时,这些过程会消耗大量的存储空间和时间。本文 M Black XML 提出,XML文档的插入和删除即转换为XML摘要树的插入和 J.Smith data model 删除,会使索引结构减小或增加。在XML文档库中增加一个 文档时,该文档相应的摘要树就会插入到索引结构中;同样,减 少一个文档也会删除它所对应的摘要树。XML文档的更新是 (b1摘要树 图2 XML文档与摘要树 2.2双重索引结构模型 在XML摘要树中简化了XML文档的重复路径,并减少了 通过一系列的插入、删除操作完成的。算法1给出了在索引结 构中插入一个新的摘要树的过程。其结构部分存储在结构索 存储空间。但是由于同时混合着XML的结构和内容信息,对 它进行查询的效率太低。当前XML文档索引技术主要分为倒 排索引和路径索引。路径索引对路径表达式的查询是高效的, 但是它对于文档中的属性值或关键词的搜索几乎没有效率。 倒排索引文档内容的检索很高效,但它用在路径表达式时需要 连接很多大型倒排文件,其I/O代价和连接的系统开销均 很大。 本文提出利用摘要树的特点,结合上述两种索引技术实现 对路径和文本内容更好的检索。由上述可知,摘要树中消除了 重复路径,可以利用摘要树构造结构索引。结构索引是路径索 引的一个分支,其主要思想就是用最少的节点和边表示文档树 中所有的路径信息,把摘要树中所有的等价节点用一个节点表 示。在此定义一个函数F(n)用于记录节点n在摘要树中的等 价节点。如果从F(o)中的某节点到F(b)的某节点有一条边, 则在索引节点a与索引节点b之间加一条边。结构索引中的 每个节点a均有一个惟一标志符id(o)。 在XML文档系统库中,倒排表是在标记名和关键词上构 造的,它可以有效支持XML文档中关键词的搜索。对文档树 中的每个文本词条,在倒排表中可以用四元组形式表示:(do— cid,start,level,indexid)。倒排索引是一系列倒排表的集合。 docid表示文档的惟一标志符;stm't表示词条在文档出现的位 置;level表示在文档树中节点的深度;indexid表示惟一索引id 号。因此基于上述分析,根据路径和内容关系分离,可以得到 结构索引和倒排索引的XML摘要树双重索引结构模型,如图 3所示。 倒排表 图3双重索引结构模型 在图3中,倒排表中存储的是内容数据,结构索引中记录 的则是文档的所有单路径信息。其中得到的结构索引中每 个节点的惟一标志符id(o)和倒排表中的a.indexid域是等 价的。 2.3双重索引更新算法 当前Web上文档经常发生变化。在1998年crawler基本 上要用一个月才能完成一次网络的搜索 j,而现在使用Google 可以检索到三天前在Web上发布的信息。对于每天发展变化 的网络来说,为使用户及时得到网络上的更新信息,快速更新 引中,节点的内容存储在倒排文档中。 算法1 Insert(T,P,I) 输入:T指向要插入索引结构S的摘要树的根节点。索引包括I和 P;I是倒排表中文本内容列表;P是结构索引的根。 输出:包含新的摘要树的索引结构。 if S= {创建一个新的根节点P;}  .函数F(N)返回结构索引中指向N的等价节点; 调用递归函数AddSummaryTree(T,P); AddSummaryTree(t,P) //t和P分别是指向树T和P中节点的指针 if P中不含孩子节点 then{ 增加P的一个孩子节点c; Set F(C)=F(t); UpdateInvertedFile(I,t,C); } fort中的每个孩子X d0 AddsummaryTree(x,C); UpdateInvertedFile(I,t,C)调用一个过程存储倒排文件I 中节点t的文本内容,并在倒排表中更新所有必要的词条。此 外,该过程在结构索引的节点C和倒排表中每个新插入的文本 词条之间建立了联系,这样将词条与词条在文档中的路径联系 起来了。UpdateInvertedFile过程用于更新倒排表,并在结构索 引中增加相应的链接。该过程描述如下: UpdateInvertedFile(I,t.C) 输入:content(t)是摘要树中节点t的文本内容;I是存储content (t)的倒排表;c是content(t)中所有词条与结构索引的连接。 输出:更新的倒排表。 ofr content(t)的每个词条X d0{ If X不在I的词汇表中 then 在I中加入x; 根据倒排表中的词条X更新I; 在结构索引上标记词条X出现的位置C; } 文档的删除实际是根据文档ID值删除倒排表中相应的词 条,然后在结构索引中删除那些与倒排表域docid中没有任何 联系的节点。由前文可知,倒排表中四元组中域docid存储的 就是文档的标志符。该算法实现起来比较简单,在此不再 赘述。 2.4查询算法研究 查询索引的过程分为两个步骤:根据查询条件搜索文档的 路径部分;根据查询条件搜索文档的文本内容。(下转第73页) 维普资讯 http://www.cqvip.com 第11期 李玲娟,等:基于XML的案例表示和案例库构造方法 ・73・ (reaturevlaue)ANY(/featurevlaue) 为目标,对基于XML语言的案例表示和案例库构造方法作了 (/reuiredfeature) 研究,提出了对规则进行基于XML的案例化的具体方法,分析 一(optionalfeature) (o_featurename)dhost(/o_featurename) 了基于XML的案例表示方法较之传统数据库形式的优势,并 (featurevlaue)5(/featurevalue) 通过将之应用于Snort规则的案例化,证明了所提出的方法的 (o_featurename)dport(/o_featurename) (featurevalue)20(/featurevlaue) 有效性。 (o_featurename)time(/o_featurename) 参考文献: (featurevlaue)60(/featurevlaue) [1]WATSON I.CBR is a methodology not a technology[J].The (/optionalfeature) 一(solution) Knowledge Based Systems Journal,1999,12(5—6):303—308. 一(snortcase) [2]LEAKE D B.Case—based reasoning:expeirences,lessons and future (caseid)2(/caseid) dierctions[M].2nd ed.Cambridge:AAAI Press/M1T Pres,2000: +(requiredfeature) 420. +(optionalfeature) +(snortcase) [3]陈文伟,黄金才.数据仓库与数据挖掘[M].北京:人民邮电出版 田<snortcase) 社,2004:204—210. (/SnortCaseVactor) [4]刘芳,姚莉,王长缨,等.基于语义Web的案例表示和CBR系统结 Snort规则转换成的案例由不同的特征组成,是非结构化 构研究[J].计算机应用,2004,24(1):17—19. 的。采用XML语言表示不仅简单、灵活、易于理解,而且能很 [5]HAYES C,CUNNINGHAM P.Shaping a CBR view with XML[c]// 好地反映复杂的层次型结构知识;它以文本形式存储,能 Pmc of the 3rd International Conference on Case—based Reasoning, 于应用程序存在。 ICCBR’99.Seeon Monastery:[S.n.],1999:468—481. [6]周凯波,金斌,冯珊.一种分布式CBR工具研究与设计[J].华中 3结束语 科技大学学报:自然科学版,2005,33(9):33—35. [7]李玲娟.基于数据挖掘的Snotr增强模型的研究[J].南京邮电学 案例表示是CBR方法中的关键性技术,CBR方法的成功 院学报,2004,24(4):1—5. 与否很大程度上取决于其案例库,只有合理表示的案例才能使 [8]李玲娟,王汝传.基于规则的IDS中CBR的研究[J].计算机科 得CBR方法正确推理。本文以拓展CBR方法的研究和应用 学,2006,33(5):117—120. (上接第64页) 的搜索引擎系统。其中采用本文给出的索引策略,用Java编 查询过程将查询条件分为几个连接条件。每个条件包含 程实现,不到2 rain就完成了索引的构建,并占用了3.8 MB的 路径和文本部分。路径由结构索引给出查询结果。如果有匹 存储空间。对查询表达式的检索结果符合条件,对它进行了 配,就会得到所有符合条件的倒排表,令为集A;同样文本内容 50次的查询,平均检索时间为0.13 S。由此可见,本文所提出 的查询可得到集B。最后的查询结果就是A和B的交集。算 的一种支持高效检索的双重索引策略具有较高的理论和实用 法2给出了查询的过程。 价值。 算法2双重索引查询算法 输入:由连接的查询条件 , ,…,X 组成的query(Q)。 参考文献: 输出:查询结果集S。 [1]World Wide Web Consortium Xquery1.0 andXpath2.0 datamodel Query—Function(Q){ [EB/OL].(2004—07—23) http://www3.org/TR/xpath datamo一 Set S= : del/. 把Q分为几个连接的查询条件X;; [2]WANG Xiao—ling,WEN Ji—mng,LIU Wen—yin.Enhancive index for For each term Xi(1≤i≤n)of Q d0{ structured document retrieval[C]//Proc of tlle 12tll Intemational 在倒排表中找出与条件Xi匹配的集Ti; Workshop on Research Issues on Data Engineering.2002. 在文档词条中找出与条件X 路径匹配的集Ai; [3] MIKHEEV A.Document centered approach to text normalization Extract(倒排列表指向Xi文本的集合)from Ti集合; [C]//Proc of the Annula ACM Cofnerence Oil Research nad Develop— Set文档列表为集B ; ment in Information Retrieva1.2000:136—143. } } n [4]PORTER M.Porter stemming algoirhtm[EB/OL].(2003).http:// 结果集S为S=f3Alf3Bl .WWW.tarbtrus,0 ~maritn. [5]LIM L,WANG Min,PADMANABHAN S.Dynamic maintennace of 3结束语 web index using lnadmarks[R].Budapest,Hungary:ACM,2003. [6]BROWN E W,CALLAN J P,CROFF W B.Fast incremental inde— 本文提出的算法,采用NASA公开的XML档案文件 数 xing for ufll—text ifnormation retireval[C]//Pmc of hte 20th Intl Cofn 据集进行实验。结果表明,实验数据集由857个XML文件组 on Very Large Data Bases.1994:192—202. 成,约l1 MB。在配置Pentium4 2.4 GHz迅驰CPU,256 MB内 [7]XMLastronomyarchive atNASA[EB/OL].(2002).http://xm1.gs— 存,装有Windows 2000 Server操作系统的Pc上运行一个小型 fc.nasa.gov/arehive. 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- gamedaodao.com 版权所有 湘ICP备2022005869号-6

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务