近年来,对自然语言描述的长查询进行研究在信息检索领域受到了广泛的关注。长查询是一种比较复杂的查询,传统的搜索引擎在处理长查询时,无法准确区分长查询中的关键概念和补充概念,检索结果往往无法聚集在查询主题上,返回的信息无法满足用户的实际需求。
关于长查询的问题自提出至今,已有很多相关的研究。已提出的多种长查询处理方法[1,2,3,4,5]主要可以归纳为以下三类:(1)查询词权重调整,即对长查询中的查询词进行重新加权;(2)缩减长查询中的无关信息;(3)扩展长查询中的关键词。
第一类为查询词重新加权,就是通过各种方法,为长查询中的各个词项赋予一定的权重值,然后将该方法确定的加权词项集成到初始长查询中去进行检索。值得注意的是,在以往的研究工作中,为了保留原查询中的实际查询意图,在使用新的查询序列进行检索的时候,会给原查询分配较大的权重值,给新的查询序列分配较低的权重值。至于具体的权重分配则根据不同查询词与原查询之间的语义关联而给出。
第二类为查询缩减,长查询中往往存在着对表达用户的查询需求起不到任何作用的词项,基于查询词缩减(query reduction)的长查询处理方法就是希望通过某种方法或技术来去除这些无用词项,从而将初始的长查询翻译成搜索引擎能够“理解”并且能够很好地使用的语言来提高检索性能。也就是说,不使用初始的长查询进行检索,而是将长查询简化成一个更简短的版本。
第三类是查询扩展。作为查询优化技术的一个重要研究分支,近几年已经取得了很大的进步,尤其在提高信息检索的查全率和查准率[6]方面较为成功。查询扩展技术的主要思想是:在原查询的基础上,通过使用计算机信息学,语言学等方法获得与原查询相关的词或者词组,并把它们添加到原查询中去,从而生成新的,更能详细准确反映用户需求的查询词序列,最后再用新的查询词重新检索文档,从而改善信息检索的性能。
以上三种方法存在如下问题:
鉴于长查询本身存在的冗余信息可能带来的查询结果转移的风险,以及自然语言中可能存在的歧义或者多义现象的特点,高效地处理长查询是信息检索领域一项非常具有挑战性的任务,查询加权或者是查询缩减往往不能准确地提取出检索词中的关键信息,无法准确把握用户的查询意图。
本申请提案在第一种方法的基础上,为了进一步挖掘用户的真实查询意图,基于查询词特征提取和词向量加权,提出了一种有监督的机器学习算法来探测长查询中的关键概念,需要解决的技术问题有:
(1)如何准确提取出长查询词中的关键词。
(2)如何过滤长查询中的冗余信息。
(3)如何进一步挖掘用户的真实查询意图。
(4)如何计算长查询中的关键词的重要程度。如何将提取出的关键词和原查询结合在一起。
本发明提供一种基于查询词特征提取和关键词加权的长查询检索方法。本技术方案由停用词过滤模块、关键概念抽取模块、关键概念特征计算模块、关键概念标记模块、关键概念特征训练和权重计算模块五大模块构成 。
停用词过滤
在抽取自然语言描述的长查询中的关键概念之前,对于其中存在的停用词(stopwords),需要做一定的过滤处理。所谓停用词就是一些常见的语气助词,副词,介词,连词等等,通常这些词本身没有什么明确的意义,在一定程度上会对网页中的有用信息造成干扰。而适当地减少网页内容中停用词出现的次数能够有助于提高关键词的密度,使得去噪后的关键词更加集中和突出。
关键概念抽取
将TREC数据集上各个topic下的描述域(也就是前文所说的<description>域)作为长查询。为了获取每个查询下的关键概念候选,使用MontyLingua这一自然语言处理工具来自动抽取出长查询中的名词短语,继而将这些名词短语作为关键概念的候选,在抽取名词短语之前,需要完成去除原查询中停用词的工作。
关键概念特征计算
对于每个查询下抽取出来的概念候选,需要计算它们的5个特征,分别是,,,,。需要注意的是,当计算这一特征时,需要事先对每个查询下的各个概念候选进行检索,并返回前50个检索结果所构成的文档集合。除了计算特征之外,还需要对概念候选究竟隶属于两个互斥类中的哪一个作出判断(:标注为1;:标注为0)。KC代表关键概念,NKC代表非关键性概念。
关键概念标记
假设A:每个概念可以被分配到两个互斥类中的某个类中去:KC(关键概念类)或者NKC(非关键概念类)。
假设B:存在一个全局函数,该函数反映了概念属于KC类的置信分数。这里需要补充说明的是,关于的一个可能的解释是条件概率,但是不要求是一个适当的概率函数。
关键概念特征训练和权重计算
在上述两种假设的基础上,选择一种有监督的机器学习方法。该方法将不同的特征值作为权重分配算法的输入特征,在实际形式上,主要考虑一组标记过的实例训练集,其中是代表概念的一个特征向量,是一个布尔类型的标识,表示是否。给定某个训练集,试着学习一个排序函数,如果,这也就意味着概念比概念在类别KC中拥有更高的置信分数。
原查询结合关键概念查询
训练结束后将得到各个概念候选属于关键概念类的置信分数。需要注意的是,值的获取还需要对所有概念候选的置信分数作一个归一化处理,然后将的值作为每个概念候选的权重值。为了进一步衡量该方法的有效性,实验中选择了每个查询下不同数量的关键概念与原查询以图2所示的检索模型结合在一起进行检索。