发明名称 基于语义相关的XML关键字top-k查询方法
摘要 本发明公开了一种基于语义相关的XML关键字top-k查询方法,以树结构对需XML文档进行预处理,将XML文档中能够满足下面条件的信息片段看作虚拟文档;根据相关度计算模型,计算出每个虚拟文档和被该虚拟文档所包含的词项之间的相关度,并对每个词项建立包含该词项虚拟文档的倒排表,倒排表的顺序按照相关度的大小由高到底排序;在虚拟文档d和关键字查询Q之间的相关度的基础上实现top-k查询。本发明能够在不计算出所有查询结果的情况下,根据用户的需要提前返回给用户最相关若干查询结果,避免冗余操作,提高了检索的效率和质量。
申请公布号 CN102063474A 申请公布日期 2011.05.18
申请号 CN201010598619.9 申请日期 2010.12.16
申请人 西北工业大学 发明人 娄颖;陈群;李战怀;张利军;李霞;崔海文
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 西北工业大学专利中心 61204 代理人 顾潮琪
主权项 1.一种基于语义相关的XML关键字top-k查询方法,其特征在于包括下述步骤:步骤一、以树结构对需XML文档进行预处理,将XML文档中能够满足下面条件的信息片段看作虚拟文档:1)XML文档中的子树;2)该子树不能是只包含文本节点的子树;3)该子树不能是只包含文本节点和文本节点父节点的子树;对与每个虚拟文档,根据在文档中的顺序编号;步骤二、根据相关度计算模型,计算出每个虚拟文档和被该虚拟文档所包含的词项之间的相关度,并对每个词项建立包含该词项虚拟文档的倒排表,倒排表的顺序按照相关度的大小由高到底排序;虚拟文档和词项的相关度<maths num="0001"><![CDATA[<math><mrow><mi>r</mi><mrow><mo>(</mo><mi>t</mi><mo>,</mo><mi>d</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mi>ln</mi><mrow><mo>(</mo><mn>1</mn><mo>+</mo><mi>wtf</mi><mrow><mo>(</mo><mi>t</mi><mo>,</mo><mi>d</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>*</mo><mi>ln</mi><mrow><mo>(</mo><mi>widf</mi><mrow><mo>(</mo><mi>t</mi><mo>,</mo><mi>D</mi><mo>)</mo></mrow><mo>)</mo></mrow></mrow><mrow><mi>n</mi><mrow><mo>(</mo><mi>d</mi><mo>)</mo></mrow></mrow></mfrac></mrow></math>]]></maths>其中,词项在虚拟文档d中的词频<img file="FSA00000393245800012.GIF" wi="735" he="122" />m代表d所包含一个具体的t,dis(d,m)代表m与d的之间的层次距离,即m与d的根节点之间的距离,α为层次衰减因子,设置为0.8;词项t在虚拟文档集合中的逆向文件频率<img file="FSA00000393245800013.GIF" wi="583" he="142" />f(D)代表了所有的虚拟文档个数,f(D,t)代表包含了t的虚拟文档个数;对查询结果的词频正规化<img file="FSA00000393245800014.GIF" wi="793" he="134" />l(d)代表虚拟文档d的长度,avgl(D)代表所有虚拟文档的平均长度,s为0.2的常量;f(d)代表d中包含虚拟文档的个数,λ为0.7;步骤三、在虚拟文档d和关键字查询Q之间的相关度<img file="FSA00000393245800015.GIF" wi="721" he="126" />的基础上实现top-k查询,1/ln(F(Q,d)+1)为输入关键字之间的接近程度,通过d中包含Q中所有关键字的最小路径个数来表示,具体方法为:1)首先顺序访问每个关键字对应的虚拟文档倒排队列,确定阈值,阈值为当前指向倒排队列的已知相关度和未知相关度得最优值之和;2)判断根据当前访问的虚拟文档是否包含所有关键字,在包含所有关键字的情况下,将该虚拟文档加入候选结果队列。比较候选结果队列中的虚拟文档相关度值与阈值的大小,当候选结果相关度大于阈值,输出该候选结果;当输出k个结果时,结束算法;当未能输出k个结果时,重复1)和2),继续向下顺序访问虚拟文档倒排队列,根据指向的已知相关度改变阈值,进而按照2)描述计算新的查询结果。
地址 710072 陕西省西安市友谊西路127号