CN112307182A - 一种基于问答系统的伪相关反馈的扩展查询方法 - Google Patents
一种基于问答系统的伪相关反馈的扩展查询方法 Download PDFInfo
- Publication number
- CN112307182A CN112307182A CN202011178079.9A CN202011178079A CN112307182A CN 112307182 A CN112307182 A CN 112307182A CN 202011178079 A CN202011178079 A CN 202011178079A CN 112307182 A CN112307182 A CN 112307182A
- Authority
- CN
- China
- Prior art keywords
- query
- term
- document
- pseudo
- attention
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000007246 mechanism Effects 0.000 claims abstract description 16
- 238000013528 artificial neural network Methods 0.000 claims abstract description 13
- 230000003993 interaction Effects 0.000 claims abstract description 7
- 239000013598 vector Substances 0.000 claims description 46
- 239000011159 matrix material Substances 0.000 claims description 35
- 238000012549 training Methods 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000002457 bidirectional effect Effects 0.000 claims description 4
- 230000004927 fusion Effects 0.000 claims description 4
- 238000012935 Averaging Methods 0.000 claims description 3
- 230000001419 dependent effect Effects 0.000 claims description 3
- 238000004422 calculation algorithm Methods 0.000 abstract description 46
- 230000000694 effects Effects 0.000 abstract description 15
- 230000002452 interceptive effect Effects 0.000 abstract description 7
- 238000005065 mining Methods 0.000 abstract description 7
- 238000012163 sequencing technique Methods 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 11
- 238000002474 experimental method Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/194—Calculation of difference between files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2216/00—Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
- G06F2216/03—Data mining
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Biomedical Technology (AREA)
- Probability & Statistics with Applications (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出了一种基于问答系统的伪相关反馈的扩展查询方法,借鉴一些问答系统中成熟的语义挖掘模块,比如注意力机制等,使得模型可以真正理解用户的搜索意图,从而根据查询与文档的交互语义信息来选择扩展词项。与传统模型相比,由于加入了语义交互特征,扩展词项选择的效果显著提高。此外,我们还进一步加入基于成对损失函数的神经网络来理解词项的统计学特征,运用词频、逆文档频率等来纠正语义模型可能存在的语义漂移问题。实践证明,我们的方法相比于之前传统的伪相关反馈算法有着更高的排序准确度及更好的鲁棒性,可以被应用于各类搜索场景。
Description
技术领域
本发明涉及信息检索方法领域,特别是搜索引擎中基于伪相关反馈算法的扩展查询方法研究。
背景技术
在信息技术日益发达的今天,越来越多的人开始用搜索引擎检索浏览和查询相关知识,搜索引擎则根据用户的需求和一些相关算法,运用特定的策略从互联网中检索出定制信息返回给用户。但是由于互联网生态的多元化以及信息量的快速增长,用户很难准确并高效的给出所需的查询,所以用户为搜索引擎提供的可能只是一些简短的查询或者少数的查询词项,这就有可能导致搜索引擎无法完全获取用户的查询意图,进而使得无法返回最佳的满足用户需求的检索结果。查询扩展技术也就应运而生了,一般情况下,搜索引擎可以通过对于用户提出的原始查询进行合理的扩展在一定程度上解决上述问题,也就是检索系统通过多种策略选择合适的词汇扩展原始查询,这样扩展后的查询语句就会包含更丰富的信息,之后根据扩展后产生的新的查询语句进行检索并向用户返回最终的结果。
在许多常用搜索场景下,系统会提前准备好近义词表或专有词表等,当用户提交查询后,根据提前定义好的规则,用近义词等词汇扩展原始查询,这种最简单的查询扩展方法只利用了用户原始查询中的信息,但由于大量原始查询本来就有信息缺失,所以这种简单的方法常常无法真正扩展出用户的搜索意图,系统需要结合更多的信息来完成查询扩展任务。伪相关反馈算法正是解决这类问题的一种有效算法,在伪相关反馈算法中,根据用户提出的原始查询,搜索引擎会进行第一次检索,第一次检索中的前k篇文档会作为伪相关文档,算法根据原始查询和伪相关文档选择词项对原始查询进行扩展,最后搜索引擎根据扩展后的查询进行第二次检索,并将检索结果返回给用户。在整个过程中,用户只需要提交原始查询即可,之后所有的操作都由系统内部完成,所以伪相关反馈算法可以在不影响用户体验的前提下,提高搜索的质量和效果。
分析近期关于伪相关反馈算法的专利技术:
申请号为201710370190.X的中国发明专利申请《一种基于伪相关反馈模型的信息检索方法及系统》建立了一种基于统计学特征的伪相关反馈模型,利用TFIDF、BM25等计算词项重要性,通过词语共现频率计算词与查询的相关性。但该方法仅仅依靠统计学特征判断扩展词项,无法理解查询与文档中的语义和意图,大量有效的长尾扩展词无法被选出。
申请号为201910031478.3的中国发明专利申请《基于语义相似度的伪相关反馈模型信息检索方法及系统》基于传统的Rocchio算法和语义相似度预测查询扩展词。但该方法仅使用上下文相关词嵌入向量,无法做到查询与文档间的语义交互,有信息丢失,同时,由于使用Rocchio算法结合语义相似度计算,忽略了词频等大量统计学特征,会使得扩展后的查询有语义飘移问题。
分析近期关于伪相关反馈算法的研究:
当前信息检索领域中对于伪相关反馈算法的研究根据算法模型利用的特征可以大致分为以下三类,基于统计学特征的伪相关反馈算法,基于语义特征的伪相关反馈算法和基于混合特征的伪相关反馈算法。
在基于统计学特征的伪相关反馈算法中,Montazeralghaem等在信息检索国际会议Special Interest Group on Information Retrieval(SIGIR 2018年第41届)上发表的Theoretical Analysis of Interdependent Constraints in Pseudo-RelevanceFeedback《伪相关反馈中相互依赖约束的理论分析》中通过理论分析给出了一些统计学特征及约束之间的相互关联性,结合这些关联性及统计学约束特征建立了计算扩展词项相关性的具体算法,该算法可以较好地利用统计学特征,但却完全忽略了查询与文档中的语义信息及用户的搜索意图。
在基于语义特征的伪相关反馈算法中,Roy等在信息检索国际会议SpecialInterest Group on Information Retrieval(SIGIR 2016年第39届)上发表的Using WordEmbeddings for Automatic Query Expansion《利用词嵌入的自动查询扩展》中建立了kNN算法结合语义相似度的完整算法,通过kNN一步步地筛选出语义相似度高地扩展词项。其不足在于:只利用上下文相关的词嵌入向量,完全忽略查询与文档间的语义交互信息,同时,忽略词频等特征可能会造成扩展后的查询语义飘移。
在基于混合特征的伪相关反馈算法中,Kuzi等在信息与知识管理国际会议TheConference on Information and Knowledge Management(CIKM 2016年第25届)上发表的Query Expansion Using Word Embeddings《利用词嵌入的查询扩展方法》通过多种基于余弦相似度的方法叠加挖掘语义特征,结合RM3算法有效利用统计学特征,最后用线性加权的方法将两种算法的结果通过一个可调参数结合起来选择扩展词项。该方法的问题在于,基于规则方式计算统计学特征的影响,模型泛化性差,只是利用词项的嵌入向量,没有有效的手段去挖掘查询与伪相关文档间的语义联系。
对国内外相关专利以及相关研究分析后可得出一下结论:目前信息检索领域的伪相关反馈算法无法对用户查询与伪相关文档间的语义交互信息进行有效的利用,造成相关算法无法识别用户的搜索意图,在查询扩展中有偏差。对词频等统计学信息的利用无法摆脱固定的规则模型,泛化性较差,无法充分利用特征交叉的信息。因此,本发明探究如何有效挖掘和利用查询与伪相关文档间的语义联系,并对统计学特征利用及特征交叉方法进行有效改进,从而完善查询扩展任务的伪相关反馈算法。
发明内容
有鉴于现有技术的上述缺陷,本发明的目的是提出一种基于问答系统的伪相关反馈的扩展查询方法,能够有效利用相关语义挖掘模型学习查询与伪相关文档间的语义联系,并通过成对损失函数训练的方法有效引入神经网络充分使得统计学特征交叉作用,从而共同提升查询扩展的效果,即扩展后的查询在排序时,NDCG等指标显著提高。
为此,我们提出可以借鉴问答系统中相对成熟的语义挖掘模型,并结合伪相关反馈算法自身的特点,设计一种具有创新性的基于问答系统的伪相关反馈算法。问答系统(QA)作为自然语言领域中成熟的语义挖掘任务,需要模型根据问题从相应的文章片段中选出一段句子作为答案来回答问题。由此可以看出,问答系统的任务和模型与伪相关反馈中极其相似,问答系统中的问题、文章片段和答案分别对应伪相关反馈中的查询、伪相关文档和扩展词项。
从传统模型的限制出发,基于问答系统与伪相关反馈算法的共同点,本发明算法的具体设计内容如下,
首先,是基于问答系统的语义挖掘模块,这个模块主要有输入层、注意力层和输出层。在输入层中,输入部分是原始查询以及某一篇伪相关文档的词项集,通过提前训练好的词向量模型可以得到这些词项的语义向量,借鉴transformer模型中的输入层,我们也使用相同的位置编码方式,并加到语义向量上,作为该层的输出,输入层的目的就是提取伪相关反馈模型中需要的词项语义信息,这些语义信息中已经加入了相对位置信息。
在注意力层中,又可以进一步分为多头注意力层以及注意力流层。多头注意力层采用了自注意力机制,自注意力机制最近被广泛运用于问答系统等多种自然语言任务,可以有效挖掘词项序列内部的语义联系,在多头注意力层中,分别对伪相关反馈文档以及原始查询中的词项序列使用自注意力机制,得到包含词项序列内部相关语义信息的向量,多头注意力层又会使用多个自注意力模块,使得模型可以注意来自不同位置的不同表示子空间的语义信息。因此,多头注意力层的输入是词项的上下文无关语义向量,输出是词项考虑了其序列内部相关语义信息的语义向量,目的是是分别挖掘了伪相关文档以及原始查询中的内部语义信息。在这之后,注意力流层采用问答系统模型中常用的双向注意力机制,这种注意力机制可以分别考虑查询-文档以及文档-查询两个方向的交互语义信息,通过建立相似性矩阵与加权求和的方式识别查询与伪相关文档间的语义交互信息。
在输出层中,由于伪相关反馈的输出扩展词项一定是来自于伪相关文档的,也就是模型的输出一定来自模型的输入,所以该模块的输出层通过指针网络来实现,最终的输出就是某一篇伪相关反馈文档的词项集中的每一个词作为扩展词项的概率。整个算法模块通过交叉熵损失函数可以得到有效的训练。在模型推理阶段,将多篇伪相关反馈文档分别输入模型,将输出进行简单的求和即可得出推断结果。
其次,是基于统计学特征的模块,该模块的目的是为了解决语义模型存在的语义漂移问题,这些特征包括,词频、逆文档频率、文档长度等等。具体来说,就是将伪相关文档中出现过的词项作为候选扩展词项,对于每一个候选扩展词项,都会有一个基于统计学特征的向量来表征这个词项对于某一个特定查询的信息,这个特征向量的具体组成是:查询归一化词频、使用拉普拉斯平滑后的逆文档频率以及这些词项在每一篇伪相关文档中的归一化词频。之后,为了使得统计学特征得到有效的利用,使用神经网络代替了传统的统计学方法以达到特征充分交叉的目的,在神经网络的训练方法上,没有采用平方差等传统的损失函数,而是采用成对损失函数,即对于每一个扩展词项,可以定义如果原始查询在扩展这个词项后,排序得到的NDCG有所提升,就认为这个词是正例,反之这个词项则为负例。通过正负例的成对训练,使得神经网络模型可以针对NDCG或MAP等指标有特定的优化训练。采用这样的损失函数的原因是查询扩展中关注的是词项的相对排序,最后只需要选择排序靠前的作为最终扩展词项即可。
最终将之前两部分介绍的模块通过加权求和的方式结合在一起,即可生成最终的基于问答系统的伪相关反馈算法。在模型训练阶段,两部分模块会进行并行训练,在测试阶段,两部分训练好的模块结合预测一个候选词项应该被扩展的概率。以上就是本发明所设计的基于问答系统的伪相关反馈模型的大致结构。
检索查询的流程,包括:
步骤1、根据查询Q的关键字对文档集D进行初次检索。
步骤2、取出初次检索结果中的前k篇为伪相关文档集合D’,其中的词作为候选扩展词。
步骤3、通过基于问答系统的模块,计算查询与文档的语义交互信息得出每个候选词被扩展的概率。
步骤4、通过基于统计学特征的模块,提取候选词的归一化词频、逆文档频率等,并通过神经网络预测扩展概率。
步骤5、将步骤3、步骤4得出的候选词及其权重进行线性融合,最终提取出前n个查询扩展词。
步骤6、将原查询与扩展词线性加权融合生成新的查询Q’。
步骤7、根据新查询Q’进行第二次检索,生成最终查询结果。
优选地,步骤1中,首先会对查询关键字和文档集做预处理,具体过程包括分词和去除标点及停用词,在英文中要将词项筛选为词根形式。
进一步地,步骤2中,初次检索结果作为候选的伪相关文档集,计算候选的伪相关文档集中每一个文档的BM25分数,根据BM25分数对文档进行降序排列,提取出前k篇文档作为伪相关文档集,候选扩展词项就是这个文档集中文档所包含的所有词。
进一步地,步骤3中,基于问答系统的模块包括输入层,输入为原始查询Q和一篇伪相关文档Du,通过Fasttext预训练模型可以得到其中每一个词项的对应词嵌入向量,借鉴transformer模型中的输入层,我们也使用相同的位置编码方式,加上对应的位置编码,即可得到注意力层的输入向量Q={q1,q2,...,qn}与Du={du,1,du,2,...,du,m},其中n为原始查询长度,m为文档集中的文档长度。
进一步地,步骤3中,基于问答系统的模块包括注意力层,注意力层中通过多头注意力层得到上下文相关语义向量来挖掘文本内部语义信息,多头注意力层通过自注意力机制的堆叠实现,这里给出针对自注意力机制实现,即:
其中dimK为词嵌入向量维度,此处需要注意的是,词嵌入向量{du,1,du,2,...,du,m}在输入注意力层前需要经过参数矩阵做一次乘法运算;将多个这样的自注意力模块堆叠即可得到多头注意力层的输出。
进一步地,步骤3中,基于问答系统的模块包括注意力流层,注意力流层采用双向注意力机制,这种注意力机制可以分别考虑查询-文档以及文档-查询两个方向的交互语义信息;
文档-查询注意力表示哪一个查询词项与伪相关文档中的每一个词项是最相关的,对查询矩阵每一行通过softmax进行归一化ai:=softmax(Si:),再将查询词项的语义向量通过该归一化权重带权相加就可以得到文档查询注意力矩阵:
Ai:=∑jaijrj
查询-文档注意力则表示文档中的哪一个词与查询中的每一个词是最相关的,采用与文档-查询注意力矩阵相似的求法可以得到这个方向的注意力矩阵,其中权重矩阵为:
得到的注意力向量矩阵为:
最后将两个方向的注意力矩阵与原始文档词项集语义向量组成的矩阵求平均值即可得到注意力流层的输出:
进一步地,步骤3中,基于问答系统的模块包括输出层指针网络,输出层指针网络用来限制语义模块的输出一定来自伪相关文档,具体形式为
之后,将k篇伪相关文档的结果加和即为基于问答系统模块结果
进一步地,步骤3中,基于问答系统的模块训练通过交叉熵损失函数来实现,对于每一个候选词项,该词为正例当且仅当原始查询扩展该词后,排序相关指标NDCG等有提升,否则为负例,具体交叉熵损失函数为:
进一步地,步骤4中,基于统计学特征的模块主要是为了纠正语义模块的语义漂移问题,在算法中,会先为每一个候选扩展词项建立统计学特征向量
其中,表示词项w在查询Q的归一化词频,表示逆文档频率,表示在w伪相关文档Du中的归一化词频,表示词项w在文本中的词频,C表示文档总数,Cw表示出现过词项w的文档总数,avgl表示平均文档长度,α为可设置的超参数。
通过神经网络对特征向量进行预测
WPRF(w|Q)Plambda(w|Q)=sigmoid(W4·relu(W5·FV(w,Q)+b5)+b6)
进一步地,步骤4中,基于统计学特征的模块,在训练前对每一个候选词项的标签进行判断,如果该词项被扩展后可以使得排序指标NDCG提高,则这个词为正例样本,否则为负例样本,使用的成对损失函数计算方法为
进一步地,步骤5中,基于问答系统的伪相关反馈算法的最终结果
W(w|Q)=γWQA(w|Q)+(1-γ)WPRF(w|Q)
其中γ为超参数。
进一步地,步骤6中,根据每个候选词项的分数W(w|Q)选出排在前M为的词项为扩展词项,使用这些查询对原始查询Q进行扩展后得到新的查询Q′为
P(w|Q′)=(1-β)P(w|Q)+β
其中β为超参数。
与现有技术相比,本发明的有益效果如下:
相比于业界常用的基于伪相关反馈算法的扩展查询方法在排序效果、准确率和鲁棒性上都有提升。
附图说明
图1是本发明实施例的方法的说明图;
图2是本发明实施例的基于问答系统的模块结构及处理过程;
图3是本发明实施例的整体结构图及处理过程。
具体实施方式
以下参考说明书附图介绍本申请的优选实施例,使其技术内容更加清楚和便于理解。本申请可以通过许多不同形式的实施例来得以体现,本申请的保护范围并非仅限于文中提到的实施例。
以下将对本发明的构思、具体结构及产生的技术效果作进一步的说明,以充分地了解本发明的目的、特征和效果,但本发明的保护不仅限于此。
本发明的一个实施例:
如附图1,检索查询的流程,包括:
步骤1、初次检索
通过相关性检索模型,根据查询Q的关键字对文档集D进行第一次检索。
首先会对原始查询和文档集做预处理,具体过程包括分词和去除标点及停用词,在英文中要将词项筛选为词根形式。
步骤2、候选词项
取出初次检索结果中的前k篇为伪相关文档集合D’,其中的词作为候选扩展词。
具体为,初次检索结果作为候选的伪相关文档集,计算候选的伪相关文档集中每一个文档的BM25分数,根据BM25分数对文档进行降序排列,提取出前k篇文档作为伪相关文档集,候选扩展词项就是这个文档集中文档所包含的所有词。
步骤3、基于问答系统的模块,通过计算查询与文档的语义交互信息得出每个候选词被扩展的概率。
步骤4、基于统计学特征的模块,提取候选词的归一化词频、逆文档频率等,并通过神经网络预测扩展概率。
步骤5、将两个模块得出的候选词及其权重进行线性融合,最终提取出前n个查询扩展词。
步骤6、扩展查询
将原查询与扩展词线性加权融合生成新的查询Q’。
步骤7、最终检索
通相关性检索模型,根据新查询Q’进行第二次检索,生成最终查询结果。
所述步骤3中,基于问答系统的模块结构及处理过程,如图2所示:
结合图2按自下而上的顺序说明,
最底层为输入层,该模块的输入为原始查询Q和一篇伪相关文档Du,通过Fasttext预训练模型可以得到其中每一个词项的对应词嵌入向量,借鉴transformer模型中的输入层,我们也使用相同的位置编码方式,加上对应的位置编码,即可得到注意力层的输入向量Q={q1,q2,...,qn}与Du={du,1,du,2,...,du,m},其中n为原始查询长度,m为文档集中的文档长度。
接下来是注意力层,注意力层中通过多头注意力层得到上下文相关语义向量来挖掘文本内部语义信息,多头注意力层通过自注意力机制的堆叠实现,这里给出针对自注意力机制实现,即:
这里只给出了基于一篇伪相关文档的自注意力机制实现,对于查询的自注意力机制算法与该式相同,其中dimK为词嵌入向量维度,此处需要注意的是,词嵌入向量{du,1,du,2,...,du,m}在输入注意力层前需要经过参数矩阵做一次乘法运算。将多个这样的自注意力模块堆叠即可得到多头注意力层的输出。
接下来是注意力流层,注意力流层采用双向注意力机制,这种注意力机制可以分别考虑查询-文档以及文档-查询两个方向的交互语义信息。
文档-查询注意力表示哪一个查询词项与伪相关文档中的每一个词项是最相关的,对查询矩阵每一行通过softmax进行归一化ai:=softmax(Si:),再将查询词项的语义向量通过该归一化权重带权相加就可以得到文档查询注意力矩阵:
Ai:=∑jaijrj
查询-文档注意力则表示文档中的哪一个词与查询中的每一个词是最相关的,采用与文档-查询注意力矩阵相似的求法可以得到这个方向的注意力矩阵,其中权重矩阵为:
得到的注意力向量矩阵为:
最后将两个方向的注意力矩阵与原始文档词项集语义向量组成的矩阵求平均值即可得到注意力流层的输出:
最后是输出层指针网络,用来限制语义模块的输出一定来自伪相关文档,具体形式为
之后,将k篇伪相关文档的结果加和即为基于问答系统模块结果
这部分模型的训练通过交叉熵损失函数来实现,对于每一个候选词项,该词为正例当且仅当原始查询扩展该词后,排序相关指标NDCG等有提升,否则为负例,具体交叉熵损失函数为
步骤4中,基于统计学特征的模块主要是为了纠正语义模块的语义漂移问题,在算法中,会先为每一个候选扩展词项建立统计学特征向量
其中,表示词项w在查询Q的归一化词频,表示逆文档频率,表示在w伪相关文档Du中的归一化词频,表示词项w在文本中的词频,C表示文档总数,Cw表示出现过词项w的文档总数,avgl表示平均文档长度,α为可设置的超参数。
通过神经网络对特征向量进行预测
WPRF(w|Q)Plambda(w|Q)=sigmoid(W4·relu(W5·FV(w,Q)+b5)+b6)
在训练前对每一个候选词项的标签进行判断,如果该词项被扩展后可以使得排序指标NDCG提高,则这个词为正例样本,否则为负例样本,使用的成对损失函数计算方法为
步骤5中,合并步骤3与步骤4中的两个模块的结果得到基于问答系统的伪相关反馈算法的最终结果
W(w|Q)=γWQA(w|Q)+(1-γ)WPRF(w|Q)
其中γ为超参数。
如图3所示,为包含了两个模块的整体结构及处理流程图。
步骤6中,根据每个候选词项的分数W(w|Q)选出排在前M为的词项为扩展词项,使用这些查询对原始查询Q进行扩展后得到新的查询Q′为
P(w|Q′)=(1-β)P(w|Q)+β
其中β为超参数。
步骤7中,使用新得到的查询Q′进行第二次检索,方法与步骤1相同,即可得到最终检索结果,可用于测评或模型预测。
为了验证本发明方法的实际效果,在多个标准集上做了对比实验,在对比实验中,基线算法为不采用伪相关反馈的检索模型以及包括背景技术中三篇研究论文在内的伪相关反馈算法,这些算法被认为是现在信息检索中效果较好的伪相关反馈算法。本实验使用了一个标准的国际数据集TREC Disks 4&5和一个公开的中文数据集OGeek,这些数据集的信息如下表所示:
数据集名称 | 查询数 | 文档数 | 平均文档长度 | 标注样本数 |
TREC | 250 | 174k | 284 | 311k |
OGeek | 68253 | 662k | 3.18 | 750k |
表1实验数据集基本信息
在对比实验中,主要的评测指标有NDCG和MAP用来反映模型扩展后排序的整体效果,准确率Prec用来反映扩展查询后排序准确率,RI表示查询扩展后,NDCG提升的查询数量占总查询比例,用来反映模型的鲁棒性,其中NDCG和MAP在两个数据集上分别测排序前1000和前5篇文档效果,Prec在两个数据集上分别测排序前20和前5篇文档效果。整体对比实验效果如下表所示,
表2伪相关反馈算法对比实验
在表2中,无查询扩展即表示根据原查询搜索的结果,RM3+,LL(ALL),MEDMM和SVM分别代表论文Selecting Discriminative Terms for Relevance Model,TheoreticalAnalysis of Interdependent Constraints in Pseudo-Relevance Feedback,Revisiting the divergence minimization feedback model和Selecting goodexpansion terms for pseudo-relevance feedback中的伪相关反馈算法。从表中可以观察得出,本发明算法相比于业界常用的有效伪相关反馈算法在排序效果、准确率和鲁棒性上都有一定的提升,表面本发明技术方案有效。
以上详细描述了本申请的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本申请的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本申请的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
Claims (10)
1.一种基于问答系统的伪相关反馈的扩展查询方法,其特征在于,包括:
步骤1、根据查询Q对文档集D进行初次检索;
步骤2、取出初次检索结果中的前k篇作为伪相关文档集合D’,其中的词作为候选扩展词;
步骤3、通过基于问答系统的模块,计算所述查询Q与伪相关文档集合D’的语义交互信息得出每个所述候选扩展词被扩展的概率;
步骤4、通过基于统计学特征的模块,提取所述候选扩展词的归一化词频、逆文档频率,并通过神经网络预测扩展概率;
步骤5、将所述步骤3、所述步骤4得出的候选扩展词及其权重进行线性融合,最终提取出前n个查询扩展词;
步骤6、将所述查询Q与所述查询扩展词线性加权融合生成新的查询Q’;
步骤7、根据的所述查询Q’进行第二次检索,生成最终查询结果。
2.如权利要求1所述的扩展查询方法,其特征在于,所述步骤2中,所述初次检索结果作为候选的伪相关文档集,计算所述候选的伪相关文档集中每一个文档的BM25分数,根据BM25分数对文档进行降序排列,提取出前k篇文档作为所述伪相关文档集合D’,所述候选扩展词就是这个文档集中文档所包含的所有词。
3.如权利要求1所述的扩展查询方法,其特征在于,所述步骤3中,所述基于问答系统的模块包括输入层,其输入为所述查询Q和一篇伪相关文档Du,通过Fasttext预训练模型得到其中每一个词项的对应词嵌入向量,加上对应的位置编码,即可得到下一层的输入向量Q={q1,q2,...,qn}与Du={du,1,du,2,...,du,m},其中n为原始查询长度,m为文档集中的文档长度。
5.如权利要求4所述的扩展查询方法,其特征在于,所述步骤3中,所述基于问答系统的模块包括注意力流层,所述注意力流层采用双向注意力机制;
文档-查询注意力表示哪一个查询词项与伪相关文档中的每一个词项是最相关的,对查询矩阵每一行通过softmax进行归一化ai:=softmax(Si:),再将查询词项的语义向量通过该归一化权重带权相加就可以得到文档-查询注意力矩阵:
Ai:=Σjaijrj
查询-文档注意力则表示文档中的哪一个词与查询中的每一个词是最相关的,其权重矩阵为:
得到的注意力向量矩阵为:
将两个方向的注意力矩阵与原始文档词项集语义向量组成的矩阵求平均值即可得到所述注意力流层的输出:
10.如权利要求9所述的扩展查询方法,其特征在于,所述步骤6中,根据每个所述候选扩展词的分数W(w|Q)选出排在前M为的词项为扩展词项,使用这些查询对所述查询Q进行扩展后得到所述新的查询Q’为:
P(w|Q′)=(1-β)P(w|Q)+β
其中β为超参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011178079.9A CN112307182B (zh) | 2020-10-29 | 2020-10-29 | 一种基于问答系统的伪相关反馈的扩展查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011178079.9A CN112307182B (zh) | 2020-10-29 | 2020-10-29 | 一种基于问答系统的伪相关反馈的扩展查询方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112307182A true CN112307182A (zh) | 2021-02-02 |
CN112307182B CN112307182B (zh) | 2022-11-04 |
Family
ID=74331862
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011178079.9A Active CN112307182B (zh) | 2020-10-29 | 2020-10-29 | 一种基于问答系统的伪相关反馈的扩展查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112307182B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112989804A (zh) * | 2021-04-14 | 2021-06-18 | 广东工业大学 | 一种基于堆叠多头特征抽取器的实体消歧方法 |
CN113535918A (zh) * | 2021-07-14 | 2021-10-22 | 梁晨 | 预训练对偶注意力神经网络语义推断对话检索方法及系统、检索设备、存储介质 |
CN115269844A (zh) * | 2022-08-01 | 2022-11-01 | 腾讯科技(深圳)有限公司 | 模型的处理方法、装置、电子设备和存储介质 |
CN117708309A (zh) * | 2024-02-18 | 2024-03-15 | 粤港澳大湾区数字经济研究院(福田) | 检索问答方法、系统、设备及介质 |
TWI842359B (zh) * | 2022-12-14 | 2024-05-11 | 大陸商鼎捷軟件股份有限公司 | 問答系統及其操作方法 |
CN118467708A (zh) * | 2024-07-11 | 2024-08-09 | 大连理工大学 | 基于协同增强的词项级查询扩展方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107247745A (zh) * | 2017-05-23 | 2017-10-13 | 华中师范大学 | 一种基于伪相关反馈模型的信息检索方法及系统 |
CN108062355A (zh) * | 2017-11-23 | 2018-05-22 | 华南农业大学 | 基于伪反馈与tf-idf的查询词扩展方法 |
CN108520033A (zh) * | 2018-03-28 | 2018-09-11 | 华中师范大学 | 基于超空间模拟语言的增强伪相关反馈模型信息检索方法 |
CN109829104A (zh) * | 2019-01-14 | 2019-05-31 | 华中师范大学 | 基于语义相似度的伪相关反馈模型信息检索方法及系统 |
CN111177357A (zh) * | 2019-12-31 | 2020-05-19 | 中国人民大学 | 一个基于记忆神经网络的对话式信息检索的方法 |
CN111625624A (zh) * | 2020-05-27 | 2020-09-04 | 湖北师范大学 | 基于bm25+albert模型的伪相关反馈信息检索方法、系统及存储介质 |
-
2020
- 2020-10-29 CN CN202011178079.9A patent/CN112307182B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107247745A (zh) * | 2017-05-23 | 2017-10-13 | 华中师范大学 | 一种基于伪相关反馈模型的信息检索方法及系统 |
CN108062355A (zh) * | 2017-11-23 | 2018-05-22 | 华南农业大学 | 基于伪反馈与tf-idf的查询词扩展方法 |
CN108520033A (zh) * | 2018-03-28 | 2018-09-11 | 华中师范大学 | 基于超空间模拟语言的增强伪相关反馈模型信息检索方法 |
CN109829104A (zh) * | 2019-01-14 | 2019-05-31 | 华中师范大学 | 基于语义相似度的伪相关反馈模型信息检索方法及系统 |
CN111177357A (zh) * | 2019-12-31 | 2020-05-19 | 中国人民大学 | 一个基于记忆神经网络的对话式信息检索的方法 |
CN111625624A (zh) * | 2020-05-27 | 2020-09-04 | 湖北师范大学 | 基于bm25+albert模型的伪相关反馈信息检索方法、系统及存储介质 |
Non-Patent Citations (2)
Title |
---|
徐增壮: "《基于实体关联性和语义信息的槽填充方法研究》", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
潘敏: "《基于潜在语义关系的伪相关反馈查询扩展技术研究》", 《中国优秀博硕士学位论文全文数据库(博士)信息科技辑》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112989804A (zh) * | 2021-04-14 | 2021-06-18 | 广东工业大学 | 一种基于堆叠多头特征抽取器的实体消歧方法 |
CN112989804B (zh) * | 2021-04-14 | 2023-03-10 | 广东工业大学 | 一种基于堆叠多头特征抽取器的实体消歧方法 |
CN113535918A (zh) * | 2021-07-14 | 2021-10-22 | 梁晨 | 预训练对偶注意力神经网络语义推断对话检索方法及系统、检索设备、存储介质 |
CN115269844A (zh) * | 2022-08-01 | 2022-11-01 | 腾讯科技(深圳)有限公司 | 模型的处理方法、装置、电子设备和存储介质 |
CN115269844B (zh) * | 2022-08-01 | 2024-03-29 | 腾讯科技(深圳)有限公司 | 模型的处理方法、装置、电子设备和存储介质 |
TWI842359B (zh) * | 2022-12-14 | 2024-05-11 | 大陸商鼎捷軟件股份有限公司 | 問答系統及其操作方法 |
CN117708309A (zh) * | 2024-02-18 | 2024-03-15 | 粤港澳大湾区数字经济研究院(福田) | 检索问答方法、系统、设备及介质 |
CN118467708A (zh) * | 2024-07-11 | 2024-08-09 | 大连理工大学 | 基于协同增强的词项级查询扩展方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112307182B (zh) | 2022-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111611361B (zh) | 抽取式机器智能阅读理解问答系统 | |
CN112307182B (zh) | 一种基于问答系统的伪相关反馈的扩展查询方法 | |
CN109271505B (zh) | 一种基于问题答案对的问答系统实现方法 | |
CN109829104B (zh) | 基于语义相似度的伪相关反馈模型信息检索方法及系统 | |
CN110442760B (zh) | 一种问答检索系统的同义词挖掘方法及装置 | |
CN103838833B (zh) | 基于相关词语语义分析的全文检索系统 | |
CN110442777B (zh) | 基于bert的伪相关反馈模型信息检索方法及系统 | |
CN103473283B (zh) | 一种文本案例匹配方法 | |
CN110674252A (zh) | 一种面向司法领域的高精度语义搜索系统 | |
CN111522910B (zh) | 一种基于文物知识图谱的智能语义检索方法 | |
CN111291188B (zh) | 一种智能信息抽取方法及系统 | |
CN106708929B (zh) | 视频节目的搜索方法和装置 | |
CN112328800A (zh) | 自动生成编程规范问题答案的系统及方法 | |
CN113220864B (zh) | 智能问答数据处理系统 | |
CN111061939B (zh) | 基于深度学习的科研学术新闻关键字匹配推荐方法 | |
CN113761890A (zh) | 一种基于bert上下文感知的多层级语义信息检索方法 | |
CN110866102A (zh) | 检索处理方法 | |
WO2021150313A1 (en) | Contrastive learning for question answering (qa) | |
WO2020209966A1 (en) | Training a target model | |
CN106570196B (zh) | 视频节目的搜索方法和装置 | |
CN108595413B (zh) | 一种基于语义依存树的答案抽取方法 | |
CN117574858A (zh) | 一种基于大语言模型的类案检索报告自动生成方法 | |
CN111104492B (zh) | 一种基于层次化Attention机制的民航领域自动问答方法 | |
CN114996455A (zh) | 一种基于双知识图谱的新闻标题短文本分类方法 | |
CN112214511A (zh) | 一种基于wtp-wcd算法的api推荐方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |