一种基于伪相关反馈模型的信息检索方法及系统与流程

文档序号:11323266阅读:421来源:国知局
本发明属于信息检索
技术领域
,特别涉及一种将核函数词相关度融合到伪相关反馈模型中的信息检索方法及系统。
背景技术
:在信息竞争趋势日盛的年代,借助搜索引擎浏览和获取所需信息是人们日常生活的重要组成部分。然而,网络资源异常丰富,信息总量迅速膨胀,使得用户难以高效和准确的获取并识别重要信息,信息处理技术迫切需要一种更为有效的理论和方法来处理日益增长的海量数据。信息检索作为经典的文本处理技术,能够适应这一要求并迅速成为当前信息处理研究领域中的研究热点。信息检索(informationretrieval)是指信息按一定的方式组织起来,并根据信息用户的需要找出有关的信息的过程和技术。信息检索过程可以简单地描述为:用户根据其信息需求,组织一个查询字符串提交给信息检索系统,信息检索系统在文档集中检索出与查询相关的文档子集返回给用户。具体来说是指给定一组特定的查询主题,通过某种信息检索模型,对目标中的所有文档与查询主题进行相关度计算,并将每个文档按得分从大到小的顺序返回,返回的结果中文档越靠前说明该文档与查询主题越相关。经过近半个世纪的研究发展,一些有效的信息检索模型陆续提出并逐渐应用到相关的系统中。其中,影响比较大的检索模型包括:布尔逻辑模型、向量空间模型、概率模型、语言模型以及新近提出来的基于监督学习的检索模型。在实际的信息检索应用中,用户的查询请求与系统反馈的查询结果之间存在一定的偏差,造成检索系统的性能下降。所以,信息检索往往是一个反复的过程,用户常常需要经过多次的查询调整才能获得满意的检索结果。查询扩展技术通过对用户的初始查询进行扩展和重构,较好的解决了用户查询用词与文档用词不匹配以及用户表达不完整的问题,因而被广泛应用于信息检索领域。简单地说来,查询扩展就是检索系统在进行检索之前,先根据扩展词表,自动把用户查询中的关键词的同义词或者近义词扩展进而形成新的查询,然后再进行检索。伪相关反馈的出现是为了使检索系统更加有效,使检索结果更好地满足用户的查询请求。其主要机制是,系统默认自己检索出的结果中含有大量与用户查询主题相关的文档,从中取出前n篇作为相关文档,对查询进行调整或扩展。通常,影响一个检索系统的性能有很多因素,其中最为关键的是信息检索策略,包括文档和查询条件的表示方法、评价文档和查询相关性的匹配策略、查询结果的排序方法和用户进行相关反馈的机制等。随着高速的互联网发展,海量的信息堆叠,信息的搜索精度成为所有用户关注的第一要点,现在想通过信息检索工具找到用户想要的东西变得越来越困难了,同时各种信息的过度泛滥,使得用户不得不花费更多的时间来甄别哪些信息对于用户来说是有价值的。现有信息检索方法普遍存在的问题是检索平均精度不高,即使目前最好的检索模型的平均精度也只有30%,信息检索精度的提高还有很长的路要走。而信息检索已经深入到人类生活的各个方面,大部分人每天用百度、谷歌等搜索工具查找需要的各种资料,解决各种现实问题。2010年中国网页搜索的请求量规模达到了600多亿次,而到了2016年,仅百度一个天的搜索请求量就达到了60亿次,在如此大量的检索需求下,信息检索的平均精度每一个百分点的提升将为获取所需要的信息节省大量的时间和精力,其产生的价值非凡。各大互联网公司也在不断追求更低成本更高效率的信息检索技术。技术实现要素:本发明所要解决的问题是,优化查询扩展最终以提高检索的平均精度。本发明提供了一种基于伪相关反馈模型的信息检索方法,将词相关度融合到伪相关反馈模型中实现信息检索,包括在伪相关文档集合中生成查询扩展词的时候,分别生成以候选扩展词的重要度为特征的查询扩展词和以候选扩展词与查询主题词的相关度为特征的查询扩展词,再将两者结合到原查询扩展词中,完成最终的信息检索;生成以候选扩展词与查询主题词的相关度为特征的查询扩展词时,采用核函数计算文档中出现在不同位置上的查询词和候选词之间的相关度。而且,将词相关度融合到伪相关反馈模型中实现信息检索,实现方式如下,当用户提交查询主题时,将查询主题进行预处理得到查询关键词q,d为所有目标文档,nd为目标文档集合d的文档总数,通过预设的检索权重模型计算查询关键词q与目标文档集合d中的每一个文档的得分,按得分结果从高到低排列得到第一次查询结果;设根据伪相关反馈的方式取出目标文档集合d中的前n篇文档作为伪相关文档集合d1,在进行查询扩展词选择的时候进行以下步骤,步骤1,将伪相关文档集合d1中每篇文档中所有的词作为扩展候选词,分别计算各扩展候选词tj本身在伪相关文档集合d1的文档di中的重要度得分得到各文档di的重要度向量如下,其中,i=1,2,3…,n,j=1,2,3…,n;计算扩展候选词在所有文档中的重要度得分向量如下,将中每个扩展候选词的重要度得分取出后按从大到小的顺序排序,将得分最大的前n1个值在对应的扩展候选词选取出来构成重要度查询扩展词集合q1,用多项式v1表示重要度查询扩展词集合q1中的每个词和该词对应的重要度得分;步骤2,将伪相关文档集合d1中每篇文档中所有的词作为扩展候选词,分别根据共现位置和次数采用核函数计算各扩展候选词tj与查询关键词q在文档di中的相关度得分得到各文档di的相关度向量如下,其中,i=1,2,3…,n,j=1,2,3…,n;计算扩展候选词在所有文档中的相关度得分向量如下,将中每个扩展候选词的相关度得分取出后按从大到小的顺序排序,将得分最大的前n1个值在对应的扩展候选词选取出来构成相关度查询扩展词集合q1',用多项式v1'来表示查询扩展词集合q1'中的每个词和该词对应的相关度得分;步骤3,将步骤1和步骤2中所得多项式v1和v1'归一化后再进行线性组合,得到新的查询词多项式v如下,v=(1-γ)×||v1||+γ×||v1'||其中,||x||表示对向量x进行归一化运算,γ为调节因子;步骤4,根据步骤3所得查询词多项式v按每个词项的系数从大到小排序,将系数最大的前n1个词项取出得到新的扩展词集合步骤5,设查询关键词q包括查询词qs,s=1,2,3…,m,将查询关键词q表示为多项式vq,每个查询词的系数值设为1.0;将步骤4中得到的扩展词集合用多项式v'表示,将查询多项式vq和查询扩展词多项式v'归一化后进行线性组合,到新的查询词多项式k如下,k=α×||vq||+β×||v'||其中,α和β为调节因子;步骤6,根据步骤5所得查询词多项式k得到新的查询关键词集合q',使用新查询关键词集合q'和q'中每个查询词在查询词多项式k中对应的权重,采用预设的检索权重模型进行第二次信息检索,得到的查询结果作为最终信息检索结果。而且,步骤1中,重要度得分采用tfidf、bm25或rm3方式求取。而且,步骤2中,计算各扩展候选词tj与查询关键词q在文档di中的相关度得分实现如下,设tr和qs在某个文档di中共现,表示为计算如下,其中,表示tr与qs在文档di中的相关度,表示文档di中的共现频率,表示文档di中的共现反文档频率;计算得出tr与查询关键词q在文档di中的相关度,而且,文档di中的共现频率计算如下,其中,m和l分别表示tr与qs在文档di中出现的次数,表示文档di中出现的第k1个tr,表示文档di中出现的第k2个qs,k1=1,2,3…,m,k2=1,2,3…,l;是指以核函数体现的与的位置邻近程度。而且,核函数为高斯函数或三角函数。而且,核函数为高斯函数时,计算如下,其中,pt和pq分别表示与在文档中的位置值,σ是调节参数。而且,文档di中的共现反文档频率计算如下,其中,表示当时,在文档di中的共现的总次数。而且,所述预设的检索权重模型为基于向量空间模型、概率模型或语言模型。本发明还提供一种基于伪相关反馈模型的信息检索系统,包括计算机或服务器,在计算机或服务器上执行如上所述的方法。依照本发明所提供的将核函数词相关度信息融到伪相关反馈模型中的信息检索方法,能够克服传统的伪相关反馈模型只考虑词频信息的不足。此外,通过核函数计算文档中出现在不同位置上的查询词和候选词之间的相关度,既能突出查询词和候选词的分布情况,选取与查询主题词相关程度更高的候选词,还能因为附加的相关度信息,从而定位更加精准的候选词、提高扩展查询及最终检索的平均精度。在多个国际信息检索评价标准数据集上的与国际上最好的多个模型的对比实验结果表明,依照本发明提供的将核函数的词相关度信息融入到伪相关反馈模型中的信息检索方法,在检索精确度上实现了显著的提升,达到国际领先水平。附图说明图1为本发明实施例完整的信息检索过程流程图。具体实施方法本发明要解决的核心问题是:提出一种使用核函数来体现用户查询词与文档候选词之间的分布情况和两者之间的相关度,并把这种相关度作为附加权重融合到伪相关反馈模型中,实现查询扩展以提高检索的精确度。以下结合附图和实施例,详细描述本发明的将核函数词相关度融合到伪相关反馈模型中的信息检索方法。本发明针对经典方法中不尽合理的词汇独立假设,提出将词与词之间的相互关联关系考虑进来。通过对文档集合中数据的一些统计信息(比如上下文信息等反映词汇搭配使用关系的信息)的有效利用,结合查询条件设计相关技术方案来获得能够反映查询条件主题并由查询条件所触发的词汇,也就是利用这些信息来更准确的捕获用户的信息需求。本发明方法中采用的核函数原本是把原坐标系里线性不可分的数据用kernel投影到另一个空间,尽量使得数据在新的空间里线性可分。而在本发明方法中将用它来评估一篇文档中两个词的相关程度。参见附图1,实施例的流程为,当用户根据相关查询主题进行检索时:信息检索系统会根据目标文档集合建立查询索引,当用户提交相关查询主题时,系统会将查询主题进行预处理为查询关键词q(q是一个集合,一般包含多个主题词q1、q2、q3等),d为所有目标文档,nd为目标文档集合d的文档总数。随后,检索系统会通过某种预设的检索权重模型(如tfidf、bm25、rm3等)方式计算查询关键词q与文档集合d中的每一个文档的得分,按得分结果从高到低排列得到第一次查询结果。根据伪相关反馈的原理,检索系统将取出文档集合d的第一次查询结果文档中的前n(在大量相关研究文献中,n一般为取值为10、20或30)篇文档作为伪相关文档集合d1,n小于等于nd,本领域技术人员可预设取值。在检索系统得到第一次查询所产生的伪相关文档集合d1,并进行查询扩展词选择的时候进行以下步骤,步骤1,分别计算伪相关文档集合d1中每篇文档中所有的词(即扩展候选词)本身的重要度得分,该重要度得分可以通过词的词频及逆文档词频(如tfidf、bm25、rm3等)计算获得,再将不同文档中相同的词重要度得分以词向量的方式进行累加后除以d1中的文档数n,即可得到所有的扩展候选词的重要度得分向量将向量中元素的得分按从大到小的顺序排列,取出前n1(n1一般为取值为10、20、30或50,本领域技术人员可预设取值)个得分在中所对应的词,得到重要度扩展候选词集合q1,可用一个多项式v1来表示集合q1中的每个词和该词对应的重要度得分。本发明中,将n篇伪相关文档集合d1中的每篇文档看作词袋模型,以词向量的方式表示,其中第i篇文档的相关度向量公式如下所示。在上述公式中,表示伪相关文档集合d1中的第i篇文档(i=1,2,3…,n)di的词向量表达,t1、t2、t3、…、tn为伪相关文档集合d1中所有文档中的所有词,n表示这些词的总数,即伪相关文档集合d1中所有词的个数;表示对应的t1、t2、t3、…、tn在文档di中的权重得分(也称重要度得分,权重用来表现扩展候选词的重要度)。某个词的重要度得分通过该词的词频及逆文档词频等信息(如tfidf、bm25、rm3等)计算获得,如在使用tfidf的方式计算文档di中词条tj的重要度时,其中,指某个词条tj在文档di中的重要度得分(j=1,2,3…,n),tf(tj,d)指词条tj在文档di中出现的频率(次数),nd为目标文档集合d的文档总数,df(tj)是伪相关集合d1中,包含了词条tj的文档个数。依照公式(2),n个文档中的每个文档di都可以表示成相应的词的重要度的向量形式并对每个文档向量进行累加求和后再除以伪相关文档总数n,得到所有词条在所有文档中的重要度得分向量如公式(3)所示:将中每个词的重要度得分取出后按从大到小的顺序排序,将得分最大的前n1个值在对应的词选取出来构成重要度查询扩展词集合q1。为了方便后面的计算,用多项式v1来表示集合q1中的每个词和该词对应的重要度得分,如公式(4)所示。在公式(4)中,qh1、qh2、qh3、…、表示q1中每个具体的扩展候选词(一共有n1个),wh1、wh2、wh3、…、表示对应的扩展候选词在中的得分。步骤2,通过依次计算伪相关文档集合d1中每篇文档中所有的词(即扩展候选词)与查询词之间的相关度得分,相关度得分根据每篇文档中查询词与扩展候选词的位置由核函数计算获得,再将不同文档中相同的词的得分累加,即可得到所有扩展候选词与查询词的相关度得分向量将向量中元素的得分按从大到小的顺序排列,取出前n1(n1一般为取值为10、20、30或50)个得分在中所对应的词,得到相关度扩展候选词集合q1',这里我们用一个多项式v1'来表示集合q1'中的每个词和该词的相关度得分。为了便于解释,给定扩展候选词tr和查询词qs,(其中,r=1,2,3…,n,n为伪相关文档集合d1中所有词的个数,s=1,2,3…,m,m为查询关键词q集合中的词个数),如果tr和qs在某个文档di中共现,在此表示为则它们存在一个共现权重(即相关度)。由于tr和qs可能在一篇文档中的多个位置出现,因此不能简单地以的共现次数表示tr与qs在文档di中的相关度,为了更合理的衡量它,本发明进一步提出如下公式:在公式(5)中,表示tr与qs在文档di中的相关度。在公式(5)中,表示文档di中的共现频率,其具体的计算公式如下:在公式(6)中,m和l分别表示tr与qs在文档di中出现的次数,表示文档di中出现的第k1个tr,表示文档di中出现的第k2个qs,k1=1,2,3…,m,k2=1,2,3…,l。其中,kernel()表示核函数,核函数是一类可以通过词的位置信息来衡量两个词之间的邻近关系,当两个词共现的位置更接近,其邻近关系更强,即相关程度更高。如高斯函数,三角函数等在很多场景都非常有效。实施例的是指以高斯核函数(具体实施时也可以采用其他核函数)来体现与的位置邻近程度,如公式(7):其中,pt和pq分别表示与在文档中的位置值(即该词在文档中的出现序号,为一个正整数),σ是一个调节参数,用于调节高斯函数的分布,σ的取值范围在10到100之前,在具体实施例中优选取50。在公式(5)中,表示文档di中的共现反文档频率,其具体计算方式如下:其中,表示当时,在文档di中的共现的总次数。公式(5)给出了tr与qs在文档di中的相关度由于qs是查询关键词集合q中的一个查询词,通过公式(5),可以得出tr与查询关键词q在文档di中的相关度,本发明用来表示,具体计算公式如下:依照公式(9),n篇伪相关文档集合d1中的第i篇文档di都可以表示成相应的扩展候选词与查询词的相关度向量形式即具体公式如下。接下来对每个文档相关度向量进行累加求和后再除以伪相关文档总数n,最终得到所有词条在所有文档中的相关度得分向量如公式(11)所示:将中每个词的相关度得分取出后按从大到小的顺序排序,将得分最大的前n1个值在对应的词选取出来构成相关度查询扩展词集合q1'。为了方便后面的计算,用多项式v1'来表示集合q1'中的每个词和该词对应的相关度得分,如公式(12)所示。在公式(12)中,qh1'、qh'2、qh3'、…、表示q1'中每个具体的扩展词(一共有n1个),wh′1、wh′2、wh′3、...、表示对应的扩展词在中的得分。步骤3,将步骤1和步骤2中得到的查询扩展词多项式v1和v1'归一化后再进行线性组合得到新的查询词多项式v,具体组合方式如公式(13)所示。v=(1-γ)×||v1||+γ×||v1'||公式(13)在公式(13)中,||x||表示对向量x进行归一化运算,归一化的目的是统一量纲,即将向量中每个元素的值规范到区间[0,1.0]中,方便后续的参数调节。归一化有多种方法可以实现,本实施例中采用的是除以最大值法,即每个元素归一化后的值为该元素原来的值除以向量中元素的最大值。例如有一个向量[1,2,3,4],有4个元素,元素的最大值是4,那么对这个向量进行除以最大值法归一化后的结果为即[0.25,0.5,0.75,1],可以看到原向量中的所有的值都规范到区间[0,1.0]中了。公式(13)中的调节因子γ的取值范围为0到1.0,它的功能是用来平衡扩展词的重要度得分和扩展词与查询词之前的相关度得分,在具体应用时,可以预先用测试数据在需要应用的目标文档集上测试得出γ的最优值。步骤4,根据步骤3中的多项式v按每个词项的系数(综合权重得分)从大到小排序,将系数最大的前n1个词项取出得到新的扩展词集合即为最终的查询扩展词集合。步骤5,将原查询关键词集合q表示为多项式vq,多项式vq中的每个项为q中的每个查询词qs,s=1,2,3…,m,每个项的系数值设置为1.0,则可表示为vq=1.0×q1+1.0×q2+1.0×q3+...+1.0×qm公式(14)接着,将步骤4中得到的扩展词集合也用多项式v'来表示,多项式v'中的每个项为中的每个具体的查询扩展词,每个项(词项)的系数为该词项在步骤4中多项式v中对应的值,其中,q'2、q'3、…、表示中每个具体的扩展词(一共有n1个),w'1、w'2、w'3、…、表示对应的扩展词在查询词多项式v中的得分。将查询多项式vq和查询扩展词多项式v'归一化后再次进行线性组合得到新的查询词多项式k,具体组合方式如公式(16)所示。k=α×||vq||+β×||v'||公式(16)在公式(16)中采用了与步骤3一致的归一化方法,公式中的调节因子α一般取固定值1.0,调节因子β的取值范围为0到1.0,它的功能是用来平衡原查询词与扩展查询词之前的权重,具体实施时可设置为经验值。步骤6,根据步骤5可以得到新的查询关键词集合q',q'中的每个查询词即为查询词多项式k中每个词项。使用新查询关键词集合q'和q'中每个查询词在查询词多项式k中对应的权重进行第二次信息检索(与第一次检索所采用同一个检索模型),即再次计算q'与目标文档集合d中每篇文档的得分,得到的查询结果即为最终信息检索结果。在进行第二次检索时,查询词为新产生的查询关键词集合q',在计算查询词与每个文档的得分时,每个查询词的权重为该词在查询词多项式k中的系数,而在进行第一次检索每个查询词的权重为1.0。具体实施时,本领域技术人员可采用软件技术实现以上流程的自动运行。相应地,如果提供一种基于伪相关反馈模型的信息检索系统,包括计算机或服务器,在计算机或服务器上执行以上流程将词相关度融合到伪相关反馈模型中实现信息检索,也应当在本发明的保护范围内。例如,信息检索的开发环境为java、python开发环境,开发支持库为lucene。信息检索框架可为基于向量空间模型、概率模型、语言模型等伪相关反馈信息检索框架。为了验证本发明方法的实际效果,在多个标准数据集上的做了对比实验,对比实验分两组,一组采用标准的rocchio伪相关反馈信息检索模型,另外一组采用结合了本发明方法的rocchio伪相关反馈信息检索模型简称为krc。本实验使用了六个标准的国际数据集,它们包括ap88-89、ap90、disk1&2、disk4&5、wt2g和wt10g,这些数据集的信息如下表(表1)所示:数据集名称文档总数大小查询主题编号查询主题数ap9078,3210.23gb51-10050ap88-89164,5970.50gb51-10050disk1&2741,8562.03gb51-200150disk4&5528,1551.85gb301-450150wt2g247,4912.14gb401-45050wt10g1,692,09610gb451-550100表1六个数据集的基本信息在对比实验中,采用了本发明方法中的核函数选用了高斯核函数(也可以采用其他的核函数),高斯核函数中σ值取50。为了使实验更加公平,查询扩展词个数n1分别选取了10、20、30和50四种情况,不同情况下的实验结果如下表(表2)所示:表2rocchio与krc模型在六个标准数据集上的平均精度(map)对比在表2中,第二列中的rocchio模型没有采用本发明方法,而krc模型是采用了本发明方法的rocchio模型,map为检索结果的平均精度,从表中可以观察得出,本发明方法在rocchio伪相关模型上的检索精度提升效果显著,表明本发明技术方案有效。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1