基于关键字权重及结构扩展的XML检索

2011-02-20 00:55路芳瑞
陕西科技大学学报 2011年6期
关键词:词项关键字表达式

路芳瑞

(山西财经大学实验教学中心, 山西 太原 030006)

0 引 言

由于具有结构化、可扩展性、跨平台等特点,XML(eXtensible Markup Language)[1]逐渐成为信息存储与交换的主要格式,XML文档数量随之迅速增长.XML文档在科学数据库、数字图书馆以及互联网等领域应用日益广泛,对这些海量的XML文档数据进行高效准确的检索就成为信息检索领域一个很有意义的研究方向[2-7].信息检索中查询表达式的准确与否,对检索结果的准确性有很大影响.XML文档是一种半结构化的文档,其除了具有文本文档的内容特征外,还具有结构特征,因而对XML文档进行检索时表达查询意图的查询表达式中应当不仅包含查询关键字,还应当包含表达查询意图的结构表达式.目前虽然可以采用XPath描述查询结构表达式,但这需要用户专门学习相关语法,并且需要用户对文档的结构信息有一定的了解,这对绝大多数用户来说都是困难的,因而通过反馈帮助用户形成查询表达式是提高XML文档检索准确性的一种好的方法.

1 XML检索的类型与特点

INEX(Initiative for the Evaluation of XML Retrieval)[8]根据不同XML检索的特点,将其分为两种类型:纯内容(CO)检索、内容与结构(CAS)检索.其中CO(Context Only)检索,是仅通过关键字进行检索,类似于传统的文本检索;CAS(Context And Structure)检索是指查询表达式中同时包含关键字内容表达式和结构表达式的检索.在XML文档的这两种检索中,CO检索只需要用户提出自己的查询关键字,用户接口比较友好,但未能充分利用XML文档的结构信息,导致结果中可能出现很多不相关的结果,因而检索的准确性不高.在CAS检索中,查询表达式可以同时包含查询内容表达式和结构表达式,在准确提出查询表达式的前提下,检索准确性较CO检索有了很大提高.然而CAS检索对大多用户而言,准确输入结构查询表达式比较困难,这是因为结构表达式的提出需要用户熟悉XPath、XQuery、XSearch等相关语法,有时还需要用户对目标文档的结构比较熟悉.针对CAS检索中存在的这种用户接口不太友好的缺陷,本文提出了一种基于关键字权重及结构扩展的XML检索方法.对于CAS查询可以理解为查询词表达式,主要表示内容上检索者的内容查询意图,查询中的结构表达式是对内容的限定,即检索结果的结构信息要符合查询结构表达式.根据这种理解,本文的检索方法通过计算关键字的权重进行检索得到中间检索结果,然后再对中间检索结果进行结构扩展进一步检索,进而得到最终的查询结果.

2 关键字权重的计算及查询结构扩展

2.1 关键字权重的计算

用户查询的相关元素或相关文档中词项的权重计算是检索的核心问题.传统的文本信息检索中查询词的权重计算主要考虑词项在文档中出现的频率因素及文档的大小因素,最常用的就是TF*IDF方法[9].XML文档是结构化的文档,并且结构信息对检索的结果也有很大的影响,因此,本文将结构信息对查询词权重的影响作为本文着重研究的一个问题.本文主要从查询词在文档中的层次位置、词项在文档中的语义约束、文档的大小这三点考虑对于查询词权重的影响,在此基础上对TF*IDF进行修改,得出适合XML文档的查询词权重计算公式.

图1 一个XML文档树例子

2.1.1 关键字在文档中的层次位置对权重的影响

嵌套在XML文档中普遍存在,因此同样的查询词可能出现在不同的标签层次中,传统的文本检索中对出现在不同层次的查询词看做具有相同的权重,这显然是不合适的.经过对随机抽取的一些样本文档进行人工调查统计,我们发现层次越高的关键词,通常词项的权重也越大一些.在如图1所示的XML树形文档中,第二层、第四层都含有title节点,但是他们对文档主题的重要程度显然是不同的,层次高的节点对文档的主题的重要程度更高一些.

2.1.2 文档节点元素语义对关键字权重的影响

XML文档中有不同的节点元素,不同的节点元素中可能包含相同的关键词,本文认为对文档主题贡献大的节点元素,其所包含的词项对文档主题的贡献也比较大.在图1的XML文档中title节点中出现的词项显然比paragraph中出现的词项更能反映文档的主题.据此,本文对文档中的节点元素设置语义权重,以反映检索中元素的重要程度,并根据词项所属节点元素的语义权重来判断词项的重要程度.

2.1.3 文档的大小对关键字权重的影响

本文把文档大小对查询词权重影响的因素称为长度因子,它是由某个词项所在文档的总长度决定的.一个文档内的词项越多,其长度因子就越小,而且这个词项所在文档的权重也会随之被降低.例如一个大小为5 k的文档中出现了某个检索词一次,同时另一个长度为15 k的文档也出现了某个检索词一次,可以看出,在前一文档中查询词更能反映文档的主题.

2.1.4 关键字的权重计算公式

在传统的文本检索中,关键字权重的计算主要考虑词频(Term Frequency)权值和反向文档频率(Inverse Document Frequency)权值.关键词tj在文档di中出现的频率记为tfij,其中在文档中出现的频率过高的词要排除.关键词tj的反向文档频率权值记为idfj,其计算方法为:idfj=ln(N/nj)+1,其中N为文档集中文档的数量,nj为出现关键词tj的文档的数量.

由于tf*idf是针对文本检索提出的权重计算方法,根据前面分析的XML文档中影响关键字权重的因素,本文对tf*idf公式进行了调整,本文计算关键字权重的公式为:

(1)

2.2 结构查询扩展的生成

在XML文档检索中,检索表达式中的内容表达式和结构表达式是紧密相关的.具体而言,与内容表达式中的查询词紧密相关的就是词项所属的元素信息.据此,本文提出的结构查询扩展的方法是:对于在相关文档中出现的查询扩展词keywordi,分别在相关文档中找到语义权重最大的元素tagi,则tagi-keywordi作为结构查询扩展,对于内容表达式中有多个关键字,则用多个tag-keyword组成的关系表达式作为结构查询扩展.本文中的查询扩展表达式采用INEX的查询语言NEXI表示,结构查询扩展表达式的示例如下:

//Doc[about(.//tag1,keyword1) and about(.//tag2,keyword2) and ...]

结合前面所述,本文提出的检索方法可描述如下:

(1) 根据公式1计算文档中词项的权重;

(2) 根据检索词得到扩展查询词集合;

(3) 根据检索词及扩展查询词集合生成tag-keyword集合;

(4) 根据用户的反馈,生成查询表达式;

(5) 返回检索结果.

3 实验及结果

实验平台是Intel E4400 2GHz CPU,1.00G内存,Windows XP Sp3操作系统,实现语言为Java.本文的测试数据集为INEX2006的WikipediaXML文集,实验中对检索词的排序采用了TopX检索排序引擎.

表1 实验初始查询词及扩展查询

图2 扩展前后的准确率比较

测验中,考虑到用户在查看结果时,通常不会将所有的检索结果都打开浏览,而是希望在检索结果的第一个页面(通常为10个结果)就能找到自己所需的信息,因而实验主要的评测指标为P@10,即对于检索返回的前10个结果的准确率.本实验随机的选择了7组关键字进行比较,它们的初始查询词、扩展后的查询表达式如表1所示,扩展前后的检索结果准确率的对比如图2所示.

4 结束语

本文提出的基于关键字权重及结构扩展的XML检索方法能够帮助用户提出更能反映其检索意图的查询表达式,并且实验证明该方法在对XML数据进行检索时,在用户选取合适的反馈后,检索的准确性也比较好.寻求更高效、更准确、更友好的检索方法是今后努力的方向.

参考文献

[1] Extensible Markup Language (XML). http://www.w3.org/XML/.2011-04-23.

[2] 李剑波,李小华.基于XML的反馈式信息检索系统研究[J].情报检索,2005,24(10):72-74.

[3] 刘喜平,万常选,刘德喜. 有效的XML模糊内容与结构检索计分[J].计算机研究与发展,2010,47(6):1 070-1 078.

[4] 万常选,鲁 远.基于权重查询词的XML结构查询扩展[J].软件学报,2008,19(10):2 611-2 619.

[5] 李元韬,曹志宇,李敬文.基于权重编辑距离的XML查询[J].兰州交通大学学报,2010,29(3):108-111.

[6] 李露平,王秋月,王 珊.XML元素级检索的反馈算法[J].计算机工程与应用,2010,46(11):131-134.

[7] 黄 静,陆嘉恒,孟小峰.高效的XML关键字查询改写和结果生成技术[J].计算机研究与发展,2010,47(5):841-848.

[8] Saadia M,Andrew T,Mounia L,etal. Overview of INEX 2006[R].2006:1-11.

[9] 王 园,龚尚福.基于二次TF* IDF 的互信息文本特征选择算法研究[J].计算机应用与软件,2011,28(4):129-131.

猜你喜欢
词项关键字表达式
履职尽责求实效 真抓实干勇作为——十个关键字,盘点江苏统战的2021
一个混合核Hilbert型积分不等式及其算子范数表达式
表达式转换及求值探析
成功避开“关键字”
浅析C语言运算符及表达式的教学误区
自然种类词项二难、卡茨解决与二维框架
议C语言中循环语句
英语词项搭配范围及可预见度
依据语篇中多层次信息的句法分析方法
语段中词项共现现象的认知研究