CN112685538B - 一种结合外部知识的文本向量检索方法 - Google Patents

一种结合外部知识的文本向量检索方法 Download PDF

Info

Publication number
CN112685538B
CN112685538B CN202011612232.4A CN202011612232A CN112685538B CN 112685538 B CN112685538 B CN 112685538B CN 202011612232 A CN202011612232 A CN 202011612232A CN 112685538 B CN112685538 B CN 112685538B
Authority
CN
China
Prior art keywords
condition
vector
semantic
sub
document
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.)
Active
Application number
CN202011612232.4A
Other languages
English (en)
Other versions
CN112685538A (zh
Inventor
史树敏
刘宏玉
黄河燕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CN202011612232.4A priority Critical patent/CN112685538B/zh
Publication of CN112685538A publication Critical patent/CN112685538A/zh
Application granted granted Critical
Publication of CN112685538B publication Critical patent/CN112685538B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Machine Translation (AREA)

Abstract

本发明涉及一种结合外部知识的文本向量检索方法,属于开放域文档检索应用技术领域。本方法旨在文本向量空间模型的框架中,引入语言本身的句法结构和词性信息来获得问题的子条件结构,将问题表示成若干个子条件,同时通过BM25算法召回文档来计算问题每个子条件的重要程度,为问题最终的表示提供额外的训练标签。本方法通过提取的子条件以及BM25算法引入的相应的权重分数来优化现有表示方法,最终达到提升文本向量方法检索性能的目的。本方法可以利用基于预训练的深度学习模型获得更好的表示能力和泛化能力,能够更好的建模问题和文档的语义信息,提升了开放域检索的检索质量。

Description

一种结合外部知识的文本向量检索方法
技术领域
本发明涉及一种结合外部知识的文本向量检索方法,具体涉及一种利用词性和句法标签信息将问题文本拆解成若干子条件,利用现有算法提供的词汇匹配信息衡量子条件在问题中的重要程度,以增强条件信息融合的文本向量检索方法,属于开放域文档检索应用技术领域。
背景技术
近几年,开放域问答系统(Open Domain Question Answering,OPQA)在自然语言处理领域获得了广泛关注。
开放域问答系统分为流水线式两个框架。针对开放域问题,首先由开放域文档检索系统针对当前问题召回相关文档,然后由开放域机器阅读理解模型对从相关文档中抽取问题所对应的答案。开放域机器阅读理解模型,沿用传统机器阅读理解模型,建模问题与文档的相关性,从文档中选择一个文本片段作为答案。随着2018年底预训练模型的提出,传统机器阅读理解效果得到了显著的提高,因此,研究人员拓展了开放域问答系统研究方向,需要由模型自主完成检索和阅读的两大过程。其中,检索为问题提供相关文档,如果在检索过程无法提供正确文档,则机器阅读理解模型无法从中选择出正确的答案。同时,开放域文档检索系统需要面对百万级的文档数量,在兼顾检索性能的同时还需要考虑模型的计算效率。
开放域文档检索系统的目的,是从百万级文档中检索出与问题相关的文档,针对搜索空间大和相关文档数量小的特点,检索系统应该在保证检索精度的同时提高检索效率,因此,无法对每个问题和百万级文档进行分别建模。
而传统的解决开放域文档检索系统的方法,是利用传统搜索引擎检索相关技术帮助建模问题与文档的相关性,例如BM25算法,该算法无需训练,对于百万级文档语料库,利用现有分词技术和倒排索引技术可以构建单词与包含该单词的全部文档的映射关系,并且可以提前计算当前单词的重要性,即逆文档频率,表明在语料库中越少出现的单词应该越代表文档的特殊性。问题进行分词后,召回每个词语所对应的文档集合,对文档集合分别计算问题与文档的相关性得分。BM25算法的特点在于实现效率快,基于倒排的BM25分数可以快速缩小待比对文档数量,同时基于词与词的匹配关系可以召回与问题相似的文档内容,保证召回文档的准确性。
但是,基于BM25算法的文档检索系统缺点也十分明显,其无法对语义进行建模,检索文档必须要求词之间的完全匹配会导致大量语义相关的文档被漏召回。
因此,研究人员提出了基于文本向量空间的双塔召回模型,将问题和文档分别编码到相同的语义空间,用相似度函数计算问题与文档的相关性分数,排序后选取top-k文档进行输出。基于文本向量空间模型考虑了文本之间语义近似程度,从语义角度召回相关文档可以为后续阅读理解模型提供更丰富的文档信息。
但是,文本向量空间模型仅利用纯文本进行建模,忽略了语言相关知识,容易造成文本向量空间的语义漂移等问题,同时无法利用或结合现有BM25算法提供的较强词汇匹配的信息。
发明内容
本发明的目的是为了解决现有的文档检索系统中,文本向量空间模型仅利用纯文本建模,忽略了语言相关知识等问题而导致的模型表示空间语义漂移的技术缺陷,提出一种结合外部知识的文本向量检索方法。
本方法旨在文本向量空间模型的框架中,引入语言本身的句法结构和词性信息来获得问题的子条件结构,将问题表示成若干个子条件,同时通过BM25算法召回文档来计算问题每个子条件的重要程度,为问题最终的表示提供额外的训练标签。本方法通过提取的子条件以及BM25算法引入的相应的权重分数来优化现有表示方法,最终达到提升文本向量方法检索性能的目的。
本发明的创新点在于:利用预训练的依存句法模型提供问题的外部知识,将问题表示成子条件结构,同时可以利用现有BM25算法召回相关文档来统计子条件在相关文档中的重要性,利用问题的子条件结构和子条件重要程度信息来融合表示问题语义信息,对原有模型仅编码纯文本知识提供了外部知识所引导的结构信息和BM25算法的文本匹配重要性信息。
为实现上述目的,本发明采用以下技术方案实现。
一种结合外部知识的文本向量检索方法。
首先,进行相关定义:
定义1:问题和开放域语料库。
是指对于开放域检索任务提供的相应问题和答案及待检索的文档集合。
定义2:依存句法模型。
是指在通用领域句法语料上预训练的相关模型,对于给定问题,能够获得问题中每个单词的词性信息和整个问题的句法结构。
定义3:问题子条件。
是指利用问题中每个单词词性信息和句法结构以修饰实体为中心合并的过程,将问题表示成若干个子条件的过程。
定义4:文本序列。
是指将文本分词后的序列通过预定义符号[CLS]和[SEP]进行拼接后的序列。
其中,拼接后的序列为“[CLS]文本[SEP]”,[CLS]是序列语义符号,[SEP]序列结尾符号。
定义5:输入文本序列的单词特征向量。
是指将输入文本序列向量化所使用的预训练向量,包括语义向量、位置向量以及分段向量。
其中,语义向量是指当前单词的语义特征信息,位置向量是指当前单词在文本序列的位置特征信息,分段向量是指当前单词来自于问题或者文档的分段特征信息。
定义6:多头自注意力网络模型。
是指获取问题和文档上下文语义信息的预训练网络模型。
定义7:问题子条件向量。
是指将问题中每个问题子条件分别表示成子条件所对应的语义向量。
定义8:增强问题语义向量。
是指将问题中获得的若干问题子条件进行重要性融合所得到的问题表示向量。
定义9:积极文档、消极文档和困难消极文档。
是指训练阶段,对于每个问题,在开放域语料库中与问题内容相关的文档和不相关的文档;其中,积极文档由开放域语料库提供,消极文档通过在开放域语料库随机采样的方式获得,困难消极文档指通过BM25算法在开放域语料库检索与问题词汇匹配但不包含目标答案的文档。
定义10:问题子条件重要程度序列。
是指利用BM25算法为当前问题召回词汇匹配的若干文档,统计问题子条件在匹配文档中出现的频率作为重要程度分数来表示问题子条件在整个问题的重要性;
定义11:top-k召回值。
作为开放域文档检索领域的检索质量评价指标,top-k召回值越大代表检索的效果越好,top-k召回值统计召回top-k文档中包含对应答案的问题频率。
步骤1:获取问题和开放域语料库。
其中,问题和开放域语料库,见定义1。
步骤2:利用一个预训练的依存句法模型,对问题中的每个单词预测对应的词性和依存句法结构标签,即问题词性和句法标签序列。
其中,依存句法模型,见定义2;
步骤3:通过问题词性和句法标签序列,以问题中每个单词的词性和依存句法结构标签得到问题对应的若干个连续子区间,即问题子条件序列。
其中,问题子条件,见定义3。
具体地,问题子条件的获取过程可以为:
首先,利用问题词性和句法标签序列,将问题中的单词分为三大类:名词类,动词类和修饰类;
然后,从句法标签中root所对应的核心动词开始,以当前词为树根遍历整颗句法树,以名词类和动词类单词分别作为修饰实体,将其在句法中所对应的修饰类单词进行合并,将整个句法树平面展开,每个修饰实体和其修饰词对应问题中的一个连续单词序列。若最终合并结果出现单个的连续未被修饰合并的名词类单词,则需要额外进行一次名词类归并。
最后,将问题拆成若干连续单词序列,作为问题的若干个子条件。
步骤4:对问题进行分词处理,得到拼接后的问题文本序列。
其中,文本序列,见定义4,具体为:[CLS]问题文本[SEP];
其中,[CLS]是序列语义符号,[SEP]序列结尾符号;
步骤5:对问题文本序列进行向量化表示,通过预训练的单词特征向量表示问题文本序列的每个单词的向量化表示,得到问题文本向量。
其中,单词特征向量见定义5,具体为:每个单词的语义表示、位置表示、分段表示的加和作为单词特征向量,得到问题文本序列中各个词对应的特征向量。
步骤6:将步骤5输出的问题文本向量作为多头自注意力网络模型的输入。
其中,多头注意力网络模型,见定义6;
基于该多头自注意力网络模型获取问题文本向量中,融合上下文信息的每个单词所对应的向量表示,输出问题语义向量。具体地,可以包括如下步骤:
步骤6.1:计算问题语义向量的过程是将问题文本向量通过线性项映射到不同语义空间的语义向量,用于捕捉不同维度的语义信息;
其中,问题文本向量的线性项映射通过下式实现:
Figure GDA0002953327940000051
其中,Q,K,V为后续self-attention操作所需要的查询、键和值向量,均为步骤4中输出的问题文本向量;
Figure GDA0002953327940000052
为映射到第i个语义空间的线性项,Q′i,K′i,V′i为第i个语义空间的语义向量,i的取值范围为1到12。
步骤6.2:在不同语义空间的语义向量上进行self-attention操作,输出不同语义空间的问题语义向量;
其中,不同语义空间的语义向量的self-attention操作,具体通过(2)实现:
Figure GDA0002953327940000053
其中,softmax为归一化函数,T为向量转置操作,dk为键向量即步骤4中输出的输入文本向量的维度,headi为第i个语义空间的问题文本序列的问题语义向量。
步骤6.3:将不同语义空间的问题语义向量拼接,将拼接后的向量通过线性项映射回原语义空间,称为输出问题语义向量,记为C。
其中,不同语义空间的问题语义向量的拼接和线性项映射,具体通过下式实现:
C=Concat(head1,···,head12)W (3)
其中,Concat为向量拼接操作,W为不同语义空间映射回初始语义空间的线性项,C为步骤6中多头自注意力网络模型输出的问题语义向量;
步骤7:利用步骤3输出的问题子条件序列和步骤6中输出的问题语义向量获得问题子条件向量。
其中,获得问题子条件向量的过程,是利用子条件序列中的每个条件对应的问题单词找到对应的问题单词语义向量,在条件的单词维度进行max-pooling操作以获得每个条件向量,最终得到所有的条件向量为问题子条件向量。
其中,问题子条件向量见定义7,具体实现为:
conditioni=max_pooling(C[condition_i]) (4)
其中,max_pooling为最大池化操作,condition_i为问题子条件序列中第i个条件对应的问题单词索引;
步骤8:利用步骤7输出的问题子条件向量和步骤6中输出的问题语义向量,通过attention机制获得融合后的增强问题语义向量。
利用问题语义向量中[CLS]对应的向量计算与问题子条件向量的相似程度,作为问题子条件的重要程度对问题子向量加权求和,得到增强问题语义向量,记为Q。
其中,增强问题语义向量见定义8,具体计算[CLS]对应向量与问题子条件向量相似程度过程为:
Wi=softmax(conditioni·C[CLS]) (5)
Figure GDA0002953327940000061
其中,C[CLS]为问题语义向量中[CLS]所对应的向量表示,n为问题子条件数量。
步骤9:对于步骤4中输入的问题,利用BM25算法,从开放域语料库中检索相关文档,利用问题对应的答案信息,从中选择出词汇匹配但不包含正确答案的困难消极文档Dhard_neg,从开放域语料库中找到对应的积极文档Dpos和消极文档Dneg;其中,积极文档,消极文档和困难消极文档,见定义9。
步骤10:对于步骤4中输出的积极文档Dpos、消极文档Dneg和困难消极文档Dhard_neg,分别统计步骤3中输出的问题子条件出现的频率,作为问题子条件重要程度序列Wi*
其中,问题子条件重要程度序列见定义10,计算问题子条件频率的过程为:
f(conditioni)pos=(conditioni|Dpos)/|Dpos| (7)
f(conditioni)neg=(conditioni|Dneg)/|Dneg| (8)
f(conditioni)hard_neg=(conditioni|Dhard_neg)/|Dhard_neg| (9)
Figure GDA0002953327940000062
其中,D表示当前类型文档集合。f(conditioni)pos表示积极文档集合中当前子条件conditioni出现的频率,f(conditioni)neg表示消极文档集合中当前子条件conditioni出现的频率,f(conditioni)hard_neg表示困难消极文档集合中当前子条件conditioni出现的频率。
每个子条件的频率,通过公式(10)计算每个子条件中所有单词在文档出现的最大概率,以衡量当前子条件的频率。分别计算三类文档所对应的问题子条件频率后,计算问题子条件重要程度序列Wi*通过下式实现:
Wi*=f(conditioni)pos+0.5*f(conditioni)hard_neg-f(conditioni)neg (11)
步骤11:利用步骤10输出的问题子条件重要程度序列Wi*训练步骤8中的参数Wi。具体通过问题子条件重要程度损失函数Lw实现:
Lw=∑i Wi*log(Wi*/Wi) (12)
步骤12:为步骤9中输出的积极文档Dpos和消极文档Dneg,重复上述步骤4到步骤6,输出积极文档语义向量和消极文档语义向量,记为Dpos和Dneg
至此,从步骤1到步骤12,完成了文本编码,得到增强问题语义向量,积极文档语义向量和消极文档语义向量;
步骤13:利用步骤8中输出的增强问题语义向量和步骤12中输出的积极文档语义向量和消极文档语义向量,训练开放域检索模型的参数。参数更新后,计算增强问题语义向量和积极文档语义向量与消极文档语义向量的相关性,其中,训练开放域检索模型的参数,具体通过(13)和(14)实现:
Spos=f(Q,Dpos),Sneg=f(Q,Dneg) (13)
Figure GDA0002953327940000071
其中,f为衡量增强问题语义向量和文档语义向量的相关性函数,常用cos距离函数,Spos、Sneg为问题与积极文档和问题与消极文档的相关性分数,L为开放域检索模型的损失函数,Lw为步骤11的问题子条件重要程度损失函数,α为损失函数阈值,N为样本数量,n为问题子条件数量。
在开放域检索模型预测阶段,为每个问题在开放域文档向量空间中计算并检索相关性分数最高的top-n文档,作为当前问题的检索文档,计算top-k召回值,见定义11;
至此,完成了相关性分数计算,得到步骤1获取问题所对应的检索文档。
有益效果
本发明方法,对比现有技术,具有如下优点:
1.所述方法可以利用基于预训练的深度学习模型获得更好的表示能力和泛化能力,可以更好的建模问题和文档的语义信息;
2.所述方法针对开放域检索的主要特征设计结合外部知识的文本向量检索过程,通过引入预训练的依存句法模型提供外部语言知识,将问题更好的建模成若干个子条件,通过BM25算法召回文档衡量子条件的词汇匹配程度以计算子条件在问题的重要程度,获得增强的问题语义向量,可以更好的和文档信息建模;
3.所述方法提出了一种简单有效的将预训练的深度学习模型扩展到开放域检索的处理流程,并与语言知识相结合增强问题语义信息,同时借助传统BM25算法控制词汇匹配信息,提升了开放域检索的检索质量;
附图说明
图1为本发明方法的具体实施流程示意图。
图2为本发明实施例中利用预训练的依存句法模型获得给定问题中每个单词对应的词性和句法标签信息的示意图。
具体实施方式
下面结合附图及实施例对本发明方法做进一步详细阐述和说明。
实施例1
图1为本发明方法及实施例的流程图。
从图1中可以看出,本发明包括如下步骤:
步骤A:获得问题外部知识;
具体为利用预训练的依存句法模型获得给定问题中每个单词对应的词性和句法标签信息;
具体到本实施例中,此步骤A对应发明内容中的步骤一到步骤二;
步骤B:提取问题对应条件子区间;
具体对应发明内容中的步骤三;
其中名词类单词指在句法标签中充当主语或谓语结构或充当连接结构且连接词充当主语或谓语结构;动词类单词指词性标签为动词标签或句法标签充当连接结构且连接词为动词词性;其他单词为修饰类单词;
步骤C:获得增强问题语义表示;
具体为问题向量化、问题语义表示、子条件增强问题语义表示和问题子条件重要程度序列;
具体到本实施例中,此步骤C对应发明内容中的步骤四到步骤十一;
问题向量化,即获得问题向量表示,具体对应发明内容中的步骤四到步骤五;
问题语义表示,即获得融合上下文信息的问题语义向量,具体对应发明内容中的步骤六;
子条件增强问题语义表示,利用问题对应条件子区间合理将问题进行拆分,首先对单个条件进行语义建模,然后利用注意力机制建模不同条件在整个问题的语义联系,获得增强问题语义表示,具体对应发明内容中的步骤七到步骤八;
问题子条件重要程度序列,统计问题中每个子条件在当前问题的重要程度,来作为子条件增强问题语义表示的语义融合监督信号,具体对应发明内容中的步骤九到步骤十一;
步骤D:获得文档语义表示;
具体到本实施例中,从语料库中获得问题对应的积极和消极文档,利用多头自注意力网络模型获得积极文档和消极文档的语义表示,具体对应发明内容中的步骤十二;
步骤E:计算问题与文档相关性分数;
具体到本实施例与步骤十三相同;
至此,步骤A到步骤E完成了一种结合外部知识的文本向量检索方法。
实施例2
本实施例将以具体实例对本发明所述的一种结合外部知识的文本向量检索方法的具体操作步骤进行详细说明;
一种结合外部知识的文本向量检索方法的处理流程如图1所示;从图1可以看出,一种结合外部知识的文本向量检索方法,包括以下步骤:
步骤A:获取问题外部知识;具体到本实施例中,问题“who sang the originalversion of true colors?”,利用预训练的依存句法模型获得给定问题中每个单词对应的词性和句法标签信息,如图2所示。
步骤B:提取问题对应条件子区间;利用词性和句法结构信息将问题拆分为若干个子条件,具体到本实施例中子条件为who sang、the original version、of、true colors?
步骤C:获得增强问题语义表示;具体到本实施例中,整个问题序列经过分词,获得问题向量表示;将问题向量表示经过多头注意力网络模型获得问题语义表示;利用步骤B中获得的问题子条件,获得问题语义表示中对应的问题子条件表示;利用BM25算法计算问题子条件在问题中的重要程度,具体到本实施例中计算分数为who sang(0.18)the originalversion(0.22)of(0.05)true colors?(0.55),利用重要程度分数获得增强问题语义表示;
步骤D:获得文档语义表示;具体到本实施例中,从开放域语料库中获取当前问题对应的积极文档,随机采样消极文档,利用多头自注意力网络模型获得积极文档和消极文档的语义表示;
步骤E:计算问题与文档相关性分数,并训练开放域检索模型参数,对测试集进行测试并打分,获得top-k召回值;
以上显示和描述了本发明的基本原理、主要特征和优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都在要求保护的本发明范围内,本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (4)

1.一种结合外部知识的文本向量检索方法,其特征在于,包括以下步骤:
步骤1:获取问题和开放域语料库;
其中,问题和开放域语料库是指对于开放域检索任务提供的相应问题和答案及待检索的文档集合;
步骤2:利用一个预训练的依存句法模型,对问题中的每个单词预测对应的词性和依存句法结构标签,即问题词性和句法标签序列;
其中,依存句法模型是指在通用领域句法语料上预训练的相关模型,对于给定问题,能够获得问题中每个单词的词性信息和整个问题的句法结构;
步骤3:通过问题词性和句法标签序列,以问题中每个单词的词性和依存句法结构标签得到问题对应的若干个连续子区间,即问题子条件序列;
其中,问题子条件是指利用问题中每个单词词性信息和句法结构以修饰实体为中心合并的过程,将问题表示成若干个子条件的过程;
步骤4:对问题进行分词处理,得到拼接后的问题文本序列;
其中,文本序列是指将文本分词后的序列通过预定义符号[CLS]和[SEP]进行拼接后的序列;
其中,拼接后的序列为“[CLS]问题文本[SEP]”,[CLS]是序列语义符号,[SEP]序列结尾符号;
步骤5:对问题文本序列进行向量化表示,通过预训练的单词特征向量表示问题文本序列的每个单词的向量化表示得到问题文本序列中各个词对应的特征向量;
其中,单词特征向量是指将输入文本序列向量化所使用的预训练向量,包括语义向量、位置向量以及分段向量;
其中,语义向量是指当前单词的语义特征信息,位置向量是指当前单词在文本序列的位置特征信息,分段向量是指当前单词来自于问题或者文档的分段特征信息;
步骤6:将步骤5输出的问题文本向量作为多头自注意力网络模型的输入;
其中,多头注意力网络模型是指获取问题和文档上下文语义信息的预训练网络模型;
步骤7:利用步骤3输出的问题子条件序列和步骤6中输出的问题语义向量获得问题子条件向量;
其中,获得问题子条件向量的过程,是利用子条件序列中的每个条件对应的问题单词找到对应的问题单词语义向量,在条件的单词维度进行max-pooling操作以获得每个条件向量,最终得到所有的条件向量为问题子条件向量;
其中,问题子条件向量是指将问题中每个问题子条件分别表示成子条件所对应的语义向量,具体实现为:
conditioni=max_pooling(C[condition_i]) (4)
其中,max_pooling为最大池化操作,condition_i为问题子条件序列中第i个条件对应的问题单词索引;
步骤8:利用步骤7输出的问题子条件向量和步骤6中输出的问题语义向量,通过attention机制获得融合后的增强问题语义向量;
利用问题语义向量中[CLS]对应的向量计算与问题子条件向量的相似程度,作为问题子条件的重要程度对问题子向量加权求和,得到增强问题语义向量,记为Q;
其中,增强问题语义向量是指将问题中获得的若干问题子条件进行重要性融合所得到的问题表示向量,具体计算[CLS]对应向量与问题子条件向量相似程度过程为:
Wi=softmax(conditioni·C[CLS]) (5)
Figure FDA0003825749840000021
其中,C[CLS]为问题语义向量中[CLS]所对应的向量表示,n为问题子条件数量;
步骤9:对于步骤4中输入的问题,利用BM25算法,从开放域语料库中检索相关文档,利用问题对应的答案信息,从中选择出词汇匹配但不包含正确答案的困难消极文档Dhard_neg,从开放域语料库中找到对应的积极文档Dpos和消极文档Dneg;其中,积极文档、消极文档和困难消极文档,是指训练阶段,对于每个问题,在开放域语料库中与问题内容相关的文档和不相关的文档;其中,积极文档由开放域语料库提供,消极文档通过在开放域语料库随机采样的方式获得,困难消极文档指通过BM25算法在开放域语料库检索与问题词汇匹配但不包含目标答案的文档;
步骤10:对于步骤4中输出的积极文档Dpos、消极文档Dneg和困难消极文档Dhard_neg,分别统计步骤3中输出的问题子条件出现的频率,作为问题子条件重要程度序列Wi*
其中,问题子条件重要程度序列是指利用BM25算法为当前问题召回词汇匹配的若干文档,统计问题子条件在匹配文档中出现的频率作为重要程度分数来表示问题子条件在整个问题的重要性,计算问题子条件频率的过程为:
f(conditioni)pos=(conditioni|Dpos)/|Dpos| (7)
f(conditioni)neg=(conditioni|Dneg)/|Dneg| (8)
f(conditioni)hard_neg=(conditioni|Dhard_neg)/|Dhard_neg| (9)
Figure FDA0003825749840000031
其中,D表示当前类型文档集合;f(conditioni)pos表示积极文档集合中当前子条件conditioni出现的频率,f(conditioni)neg表示消极文档集合中当前子条件conditioni出现的频率,f(conditioni)hard_neg表示困难消极文档集合中当前子条件conditioni出现的频率;
每个子条件的频率,通过公式(10)计算每个子条件中所有单词在文档出现的最大概率,以衡量当前子条件的频率;分别计算三类文档所对应的问题子条件频率后,计算问题子条件重要程度序列Wi*通过下式实现:
Wi*=f(conditioni)pos+0.5*f(conditioni)hard_neg-f(conditioni)neg (11)
步骤11:利用步骤10输出的问题子条件重要程度序列Wi*训练步骤8中的参数Wi;具体通过问题子条件重要程度损失函数Lw实现:
Lw=∑iWi*log(Wi*/Wi) (12)
步骤12:为步骤9中输出的积极文档Dpos和消极文档Dneg,重复上述步骤4到步骤6,输出积极文档语义向量和消极文档语义向量,记为Dpos和Dneg
至此,从步骤1到步骤12,完成了文本编码,得到增强问题语义向量,积极文档语义向量和消极文档语义向量;
步骤13:利用步骤8中输出的增强问题语义向量和步骤12中输出的积极文档语义向量和消极文档语义向量,训练开放域检索模型的参数;参数更新后,计算增强问题语义向量和积极文档语义向量与消极文档语义向量的相关性,其中,训练开放域检索模型的参数,具体通过(13)和(14)实现:
Spos=f(Q,Dpos),Sneg=f(Q,Dneg) (13)
Figure FDA0003825749840000032
其中,f为衡量增强问题语义向量和文档语义向量的相关性函数,Spos、Sneg为问题与积极文档和问题与消极文档的相关性分数,L为开放域检索模型的损失函数,Lw为步骤11的问题子条件重要程度损失函数,α为损失函数阈值,N为样本数量,n为问题子条件数量;
在开放域检索模型预测阶段,为每个问题在开放域文档向量空间中计算并检索相关性分数最高的top-n文档,作为当前问题的检索文档,计算top-k召回值,召回值是开放域文档检索领域的检索质量评价指标,top-k召回值越大代表检索的效果越好,top-k召回值统计召回top-k文档中包含对应答案的问题频率。
2.如权利要求1所述的一种结合外部知识的文本向量检索方法,其特征在于,步骤3中,问题子条件的获取过程为:
首先,利用问题词性和句法标签序列,将问题中的单词分为三大类:名词类,动词类和修饰类;
然后,从句法标签中root所对应的核心动词开始,以当前词为树根遍历整颗句法树,以名词类和动词类单词分别作为修饰实体,将其在句法中所对应的修饰类单词进行合并,将整个句法树平面展开,每个修饰实体和其修饰词对应问题中的一个连续单词序列;若最终合并结果出现单个的连续未被修饰合并的名词类单词,则需要额外进行一次名词类归并;
最后,将问题拆成若干连续单词序列,作为问题的若干个子条件。
3.如权利要求1所述的一种结合外部知识的文本向量检索方法,其特征在于,步骤6中,融合上下文信息的每个单词所对应的向量表示输出问题语义向量,包括如下步骤:
步骤6.1:计算问题语义向量的过程是将问题文本向量通过线性项映射到不同语义空间的语义向量,用于捕捉不同维度的语义信息;
其中,问题文本向量的线性项映射通过下式实现:
Q′i=QWi Q,K′i=KWi K,V′i=VWi V (1)
其中,Q,K,V为后续self-attention操作所需要的查询、键和值向量,均为步骤4中输出的问题文本向量;Wi Q,Wi K,Wi V为映射到第i个语义空间的线性项,Q′i,K′i,V′i为第i个语义空间的语义向量;i的取值范围为1到12;
步骤6.2:在不同语义空间的语义向量上进行self-attention操作,输出不同语义空间的问题语义向量;
其中,不同语义空间的语义向量的self-attention操作,具体通过(2)实现:
Figure FDA0003825749840000051
其中,softmax为归一化函数,T为向量转置操作,dk为键向量即步骤4中输出的输入文本向量的维度,headi为第i个语义空间的问题文本序列的问题语义向量;
步骤6.3:将不同语义空间的问题语义向量拼接,将拼接后的向量通过线性项映射回原语义空间,称为输出问题语义向量,记为C。
4.如权利要求3所述的结合外部知识的文本向量检索方法,其特征在于,步骤6中,不同语义空间的问题语义向量的拼接和线性项映射,具体通过下式实现:
C=Concat(head1,···,head12)W (3)
其中,Concat为向量拼接操作,W为不同语义空间映射回初始语义空间的线性项,C为步骤6中多头自注意力网络模型输出的问题语义向量。
CN202011612232.4A 2020-12-30 2020-12-30 一种结合外部知识的文本向量检索方法 Active CN112685538B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011612232.4A CN112685538B (zh) 2020-12-30 2020-12-30 一种结合外部知识的文本向量检索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011612232.4A CN112685538B (zh) 2020-12-30 2020-12-30 一种结合外部知识的文本向量检索方法

Publications (2)

Publication Number Publication Date
CN112685538A CN112685538A (zh) 2021-04-20
CN112685538B true CN112685538B (zh) 2022-10-14

Family

ID=75455308

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011612232.4A Active CN112685538B (zh) 2020-12-30 2020-12-30 一种结合外部知识的文本向量检索方法

Country Status (1)

Country Link
CN (1) CN112685538B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113239166B (zh) * 2021-05-24 2023-06-06 清华大学深圳国际研究生院 一种基于语义知识增强的自动化人机互动方法
CN117290489B (zh) * 2023-11-24 2024-02-23 烟台云朵软件有限公司 一种行业问答知识库快速构建方法与系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103744984A (zh) * 2014-01-15 2014-04-23 北京理工大学 一种利用语义信息检索文档的方法
CN108984526A (zh) * 2018-07-10 2018-12-11 北京理工大学 一种基于深度学习的文档主题向量抽取方法
CN111324717A (zh) * 2020-02-24 2020-06-23 武汉大学 一种面向开放域问答的基于机器阅读理解的答案获取方法及系统
CN111368042A (zh) * 2020-02-13 2020-07-03 平安科技(深圳)有限公司 智能问答方法、装置、计算机设备及计算机存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9015031B2 (en) * 2011-08-04 2015-04-21 International Business Machines Corporation Predicting lexical answer types in open domain question and answering (QA) systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103744984A (zh) * 2014-01-15 2014-04-23 北京理工大学 一种利用语义信息检索文档的方法
CN108984526A (zh) * 2018-07-10 2018-12-11 北京理工大学 一种基于深度学习的文档主题向量抽取方法
CN111368042A (zh) * 2020-02-13 2020-07-03 平安科技(深圳)有限公司 智能问答方法、装置、计算机设备及计算机存储介质
CN111324717A (zh) * 2020-02-24 2020-06-23 武汉大学 一种面向开放域问答的基于机器阅读理解的答案获取方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Mining Semi-Structured Online Knowledge Bases to Answer Natural Language Questions on Community QA Websites;Parikshit Sondhi et al.;《Proceedings of the 23rd ACM International Conference on Conference on Information and Knowledge Management》;20141130;341–350 *
面向水利信息资源的智能问答系统构建与应用;张紫璇等;《计算机与现代化》;20200331(第03期);65-71 *

Also Published As

Publication number Publication date
CN112685538A (zh) 2021-04-20

Similar Documents

Publication Publication Date Title
CN111737496A (zh) 一种电力设备故障知识图谱构建方法
CN112069298A (zh) 基于语义网和意图识别的人机交互方法、设备及介质
CN110674252A (zh) 一种面向司法领域的高精度语义搜索系统
CN113761890B (zh) 一种基于bert上下文感知的多层级语义信息检索方法
CN112685538B (zh) 一种结合外部知识的文本向量检索方法
CN115599902B (zh) 一种基于知识图谱的油气百科问答方法及系统
CN116127095A (zh) 一种序列模型与知识图谱结合的问答方法
CN114818717A (zh) 融合词汇和句法信息的中文命名实体识别方法及系统
CN115238697A (zh) 基于自然语言处理的司法命名实体识别方法
CN114662476A (zh) 一种融合词典与字符特征的字符序列识别方法
CN113392265A (zh) 多媒体处理方法、装置及设备
CN107562907B (zh) 一种智能律师专家案件应答装置
CN111159405B (zh) 基于背景知识的讽刺检测方法
CN115204143B (zh) 一种基于prompt的文本相似度计算方法及系统
CN107609096B (zh) 一种智能律师专家应答方法
Su et al. Improved TF-IDF weight method based on sentence similarity for spoken dialogue system
CN117076598A (zh) 基于自适应权重的语义检索模型融合方法及系统
CN116662502A (zh) 基于检索增强的金融问答文本生成方法、设备及存储介质
Ronghui et al. Application of Improved Convolutional Neural Network in Text Classification.
CN115203388A (zh) 机器阅读理解方法、装置、计算机设备和存储介质
CN112000782A (zh) 一种基于k-means聚类算法的智能客服问答系统
CN113342950A (zh) 基于语义联合的答案选取方法及系统
CN114692610A (zh) 关键词确定方法及装置
Lin et al. Domain Independent Key Term Extraction from Spoken Content Based on Context and Term Location Information in the Utterances
Pham Sensitive keyword detection on textual product data: an approximate dictionary matching and context-score approach

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