CN113704437A - 一种融合多头注意力机制和相对位置编码的知识库问答方法 - Google Patents

一种融合多头注意力机制和相对位置编码的知识库问答方法 Download PDF

Info

Publication number
CN113704437A
CN113704437A CN202111035912.9A CN202111035912A CN113704437A CN 113704437 A CN113704437 A CN 113704437A CN 202111035912 A CN202111035912 A CN 202111035912A CN 113704437 A CN113704437 A CN 113704437A
Authority
CN
China
Prior art keywords
vector
word
question
information
relative position
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
Application number
CN202111035912.9A
Other languages
English (en)
Other versions
CN113704437B (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.)
Chongqing University of Post and Telecommunications
Original Assignee
Chongqing University of Post and Telecommunications
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 Chongqing University of Post and Telecommunications filed Critical Chongqing University of Post and Telecommunications
Priority to CN202111035912.9A priority Critical patent/CN113704437B/zh
Publication of CN113704437A publication Critical patent/CN113704437A/zh
Application granted granted Critical
Publication of CN113704437B publication Critical patent/CN113704437B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Machine Translation (AREA)

Abstract

本发明涉及一种融合多头注意力机制和相对位置编码的知识库问答方法,属于自然语言处理领域,引入Transformer编码器代替BiLSTM对问题进行编码,同时,由于Transformer的结构问题,它对获取句子中相对位置词语信息的能力不足,本发明采用Transformer-XL中的相对位置编码思想,对Transformer中使用的绝对位置编码公式进行了改写,使用了相对位置编码代替其中的绝对位置编码,弥补了获取相对位置词语信息能力不足的情况。

Description

一种融合多头注意力机制和相对位置编码的知识库问答方法
技术领域
本发明属于自然语言处理领域,涉及一种融合多头注意力机制和相对位置编码的知识库问答方法。
背景技术
基于知识库的自然问答是自然语言处理领域中的一项经典任务,通过给定自然语言问题,对问题进行解析,利用知识库信息进行查询和推理,得出答案。知识库问答作为人工智能、自然语言处理和信息检索等领域的一个研究热点,它可以通过简明和精准的语言对用户的自然语言问句进行回答,使得软件产品的使用变得更加简单和高效,将自然语言问答系统应用在互联网客服领域可以大大减少企业所需要投入的人力,从而降低企业成本。问答系统在人类生活的很多方面都发挥着重要作用,具有较好的研究价值和发展前景。
目前基于知识库问答的方法可以分为两种,一种是基于语义解析的方法,这种方法主要是利用构造一个语义解析器把问句转换成结构化的查询语句。主要思想是将自然语言问题转化成形式化的逻辑形式单元,再通过解析得到表示问题整体语义的逻辑形式,最后通过相应的查询语句在知识库中查询得到结果。目前大多数基于语义解析的方法或多或少的依赖手工制定的规则或模板,这限制了该类方法的可扩展性和迁移性。
基于信息检索的方法是知识库问答的另一种方法,它主要是通过对问题和知识库信息进行建模,根据问题以及结合知识库信息检索出候选答案集合,训练模型来计算问题和候选答案的相似度得分,从而得出最接近正确答案的候选答案。
2014年Bordes等提出了一个子图表示模型,用来学习候选答案子图和问题文本的向量表示,计算问题和候选答案集合的相似度得分。同时他们进一步找到一种通过学习嵌入空间的矩阵用来微调基于嵌入的表示模型的方法,取得了更好的效果。2015年,Dong等使用多行卷积神经网络(MCCNNs)来学习问题和候选答案的表示,不同行的CNN网络可以从不同方面学习到问题的表示,比如答案路径,答案上下文和答案类型等方面。2015年,Bordes等人提出了一种在记忆网络框架下的基于嵌入的知识库问答系统,能够进行迁移学习,同时也能扩展更复杂的推理。2016年,Dai等使用条件事实模型分解来找到更多可能的候选主题并推理出最终答案。2017年,Lukovnikov等人通过利用字符和单词级别的门控循环单元(GRU)对问题的每个单词进行编码,将其输入到另一个GRU层,生成问题的最终语义向量。2018年,Hao等提出一种模式修改程序用来提取问题中的实体和关系模式,使用多层编码和多维信息增强联合事实三元组的选择。2018年,Wang等把关系预测看作seq2seq序列生成任务,在APVA-TUBRO模型中加入了关系预测的验证机制,设计了一种加速训练迭代的方法,缩短了模型训练时间。最近的工作更多的是将注意力机制结合到其中,2019年,Chen等人提出了BAMnet模型,它使用了一种新颖的双向注意力记忆网络,对问题和知识库信息进行交互建模,在问题和知识库两方面提取与问题更相关的信息,取得了不错的效果。如图1所示为BAMnet模型结构图,BiLSTM的全称是双向长短时记忆网络,它是由前后两个不同方向的LSTM组合而成的。LSTM是RNN的一种改进版本,它是由t时刻的输入词Xt,细胞状态Ct,临时细胞状态
Figure BDA0003245806130000023
隐层状态ht,遗忘门ft,记忆门it,输出门Ot组成。LSTM的计算过程可以概括为:通过对细胞状态中信息遗忘和记忆新的信息使得对后续时刻计算有用的信息得以传递,而无用的信息则被丢弃,并在每一个时间步都会输出隐层状态ht,同时其中遗忘信息、记忆信息和输出信息由通过上一个时刻的隐层状态ht-1和当前输入Xt计算出来的遗忘门ft,记忆门it,输出门ot来控制的。LSTM和BiLSTM由于其设计结构特点,非常适合用来对时序数据进行建模,两者在自然语言处理任务中经常被用来建模上下文信息。但是,也正因为LSTM和BiLSTM这种顺序计算的特点,每一个时间片t的计算依赖t-1时刻的计算结果,一定程度限制了模型的并行计算能力。
发明内容
有鉴于此,本发明的目的在于提供一种采用TransformerEncoder代替BiLstm对问题进行建模编码的方法,并采用相对位置编码代替其中的绝对位置编码,达到提高模型的并行计算能力以及增强模型获取上下文相对词语位置信息的能力,解决当前大多数知识库问答模型通过利用RNN及其各种衍生版本对问题进行建模,限制了模型的并行计算能力这一问题。
为达到上述目的,本发明提供如下技术方案:
一种融合多头注意力机制和相对位置编码的知识库问答方法,包括以下步骤:
S1:对输入的自然语言进行预训练,得到300维词向量glove,作为词嵌入层;
S2:利用所述词嵌入层将给定问题集合
Figure BDA0003245806130000021
转换成词嵌入序列;
S3:使用引入了相对位置编码信息的TransformerEncoder模块对所述词嵌入序列进行编码得到问题向量HQ
S4:对候选答案集合
Figure BDA0003245806130000022
的三种类型信息进行编码,所述三种类型信息为答案类型、答案路径和答案上下文相关信息;
S5:将候选答案的实体类型的文本描述用BiLSTM编码成d维的向量表示
Figure BDA0003245806130000031
S6:将从候选答案到问句的主题实体词的关系序列定义为答案路径,使用BiLSTM将其编码成向量表示
Figure BDA0003245806130000032
S7:通过一个关系嵌入层计算
Figure BDA0003245806130000033
的关系嵌入的平均值作为向量表示
Figure BDA0003245806130000034
S8:将候选答案的周围节点定义为候选答案的上下文,将所述候选答案的上下文使用BiLSTM编码成向量表示
Figure BDA0003245806130000035
S9:使用key-value记忆网络来存储候选答案信息;
S10:利用主注意力网络增进问题信息和候选答案信息的交互,使用副注意力网络进一步增强问题信息和候选答案信息的交互,得到增强的问题向量表示
Figure BDA0003245806130000036
和候选答案信息表示
Figure BDA0003245806130000037
S11:通过注意力机制使用问题表示向量查询键值存储器,提取最相关的信息用以更新问题表示向量得到
Figure BDA0003245806130000038
S12:对问题Q的表示
Figure BDA0003245806130000039
和候选答案集合
Figure BDA00032458061300000310
的表示
Figure BDA00032458061300000311
进行匹配度打分
Figure BDA00032458061300000312
根据分数对候选答案排序,分数越高的被认为越接近正确答案。
进一步,步骤S8中所述使用key-value记忆网络来存储候选答案信息,对其进行如下线性投影:
Figure BDA00032458061300000313
Figure BDA00032458061300000314
Figure BDA00032458061300000315
其中,
Figure BDA00032458061300000316
Figure BDA00032458061300000317
是答案类型的d维key值表示和value值表示,
Figure BDA00032458061300000318
Figure BDA00032458061300000319
是答案路径的相应d维key值表示和value值表示,
Figure BDA00032458061300000320
Figure BDA00032458061300000321
是答案上下文相应的d维key值表示和value值表示。
进一步,所述TransformerEncoder模块为Transformer模型中的编码器小单元块,其包括多头注意力机制层Multi-head Attention和前馈神经网络层Feed Forward,在每一层后都有一个残差连接&归一化层Add&Normalize,TransformerEncoder模块的输入是由词向量token embedding加位置向量positional embedding组成,所述positionalembedding的计算公式如下:
Figure BDA0003245806130000041
Figure BDA0003245806130000042
其中,pos表示单词的位置,i是指单词的维度,在偶数位置,使用正弦编码,在奇数位置,使用余弦编码。
进一步,在多头注意力机制中,一个输入向量x经过h组权重矩阵得到h组query、key和value三个向量,每一个词都有h组query、key和value向量,将一个词的query向量和其他每个词的key向量相乘,计算出当前词与所有词的注意力得分attention score,对attention score除以权重矩阵的第一个维度dk的平方根,再进行softmax操作,得到每个词的一个权重值,再将每个词得到的权重值与自身的value向量相乘,并相加,最后计算得到h个输出矩阵Z1、Z2、...Zh,将h个输出矩阵进行拼接在一起,得到最终的输出矩阵Z。
进一步,Add&Norm层的实质是将输入向量和输出向量做残差连接后,通过LayerNorm进行归一化,将结果传给下一层;
进一步,前馈神经网络层Feed Forward包含两层,第一层是ReLU激活函数,第二层是一个线性激活函数。
进一步,所述引入了相对位置编码信息的TransformerEncoder模块为:
在原TransformerEncoder模块中,使用的是绝对位置编码,其直接将词向量和位置向量相加作为输入,绝对位置编码计算attention score的表达式为:
Figure BDA0003245806130000043
其中Wq,Wk分别是多头注意力给每个注意力头加的query和key参数,xi和xj表示句子中的两个词,
Figure BDA0003245806130000044
Figure BDA0003245806130000045
是xi和xj的词嵌入,Ui和Uj是第i个位置和第j个位置的位置向量;
展开后即对应的第i个词和第j个词之间的attention score表达式为:
Figure BDA0003245806130000046
引入相对位置编码信息的TransformerEncoder模块,是将上式改写为:
Figure BDA0003245806130000047
其中,Wk,E和Wk,R是由前面Wk矩阵细生成的两组矩阵,分别代表基于内容的key向量和基于位置的key向量,Ri-j表示相对位置编码,uT和vT表示u和v的转置,u和v是通过学习训练得来的参数;
改写逻辑为将所有的Uj改为Ri-j,表示对key来说将绝对位置转换成相对query的位置,
Figure BDA0003245806130000051
表示query相关的绝对位置向量,改为相对位置以后,query和自己的位置没有关系,因此将每个head对应的
Figure BDA0003245806130000052
使用一个和位置i无关的向量uT表示,vT也是同理,由于Wq是一个可训练的参数,所以u和v也是可训练的参数。
本发明的有益效果在于:当前大多数知识库问答模型采用各种RNN及其衍生版本对问题句子进行编码,这限制了模型的并行计算能力。针对这一问题,本发明提出采用TransformerEncoder代替BiLSTM对问题句子进行编码,以使得模型的并行计算能力得到有效提升。同时,针对Transformer获取词语位置信息能力不足的情况,采用了Transformer-XL的相对位置编码方法代替绝对位置编码,增强了模型获取词语相对位置信息的能力。
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
图1为BAMnet模型结构图;
图2为本发明所述融合多头注意力机制和相对位置编码的知识库问答方法使用的模型结构图;
图3为Transformer模型结构示意图;
图4为TransformerEncoder模型结构示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
如图2所示,本发明在分析了BiLstm模型和Transformer模型的结构后,发现使用TransformerEncoder代替BiLSTM对问题句子进行编码,可以达到提高并行计算能力的效果。同时,对于Transformer中使用绝对位置编码限制了获取相对位置词语信息的问题,本发明提出了采用相对位置编码替代绝对位置编码的解决方案。BiLSTM沿用了RNN的特点,采用顺序输入的方式将序列位置信息融入建模之中,但是顺序输入严重影响了模型的可并行性,后一个词的计算依赖于前一个词计算得到的结果。而Transformer摈弃了顺序输入的方式,一次性输入一个序列的所有词进行计算,具有良好的可并行性,可批量对多个序列进行计算。但是却丢失了对序列中词的相对位置的建模,对于句子而言,词的相对位置信息是比较重要的,对句子含义的表达有影响。为了考虑词的相对位置信息,Transformer的提出者采用了绝对位置编码的方式将词语的位置信息弥补进去,对不同位置的词随机初始化一个位置向量,和词嵌入向量相加作为模型的输入。但是,这种方式依然忽略了词之间的相对位置关系。因此,在本发明中采用了Transformer-XL中的相对位置编码代替原本Transformer模型中的绝对位置编码。这种相对位置编码的不同在于,它并非直接将位置向量静态地和词嵌入向量结合,而是通过将位置向量信息注入到注意力计算中。位置编码在概念上讲,是为模型提供了相应的时间线索,除了可以在初始化的词嵌入向量上加入,还可以在每层注意力的计算上加入同样的信息。同时,以相对而非绝对的方式定义时间偏差更为直观和通用。
Transformer模型结构如图3所示,是由编码器和解码器两个部件组成的,编码器和解码器分别由Encoder和Decoder六个小单元块组成。
TransformerEncoder模型结构如图4所示,在TransformerEncoder模块中,一个Encoder主要是由Multi-head Attention(多头注意力机制层)和Feed Forward(前馈神经网络层)组成,在每一层后面都会有一个Add&Normalize(残差连接&归一化)层。TransformerEncoder模块的输入是由token embedding(词向量)加positional embedding(位置向量)组成,positional embedding的计算公式如下:
Figure BDA0003245806130000071
Figure BDA0003245806130000072
其中,pos表示单词的位置,i是指单词的维度。在偶数位置,使用正弦编码,在奇数位置,使用余弦编码。
多头注意力机制层是TransformerEncoder的核心,也是整个Transformer模型的核心。不同于自注意力机制,在多头注意力机制中,一个输入向量x经过h组权重矩阵得到h组query、key和value三个向量,每一个词都有h组query、key和value向量。将一个词的query向量和其他每个词的key向量相乘,可以计算出当前词与所有词的attention score(注意力得分)。对attention score除以权重矩阵的第一个维度dk的平方根,再进行softmax操作,得到每个词的一个权重值。下一步将每个词得到的权重值与自身的value向量相乘,并相加,最后计算得到h个输出矩阵Z1、Z2、...Zh,将h个输出矩阵进行拼接在一起,得到最终的输出矩阵Z。
Add&Norm层的实质就是将输入向量和输出向量做残差连接后,通过LayerNorm进行归一化,将结果传给下一层。Feed Forward(前馈神经网络层)包含两层,第一层是ReLU激活函数,第二层是一个线性激活函数。
在常用的文本模型中,RNN和textCNN都是关于位置敏感的,使用它们对文本数据进行建模时它们的结构天然就考虑了文本中词与词之间的顺序关系,而以attention为核心的transformer则是对位置信息不敏感的。基于此,在Transformer中使用了绝对位置编码的方法,直接将词向量和位置向量相加作为输入。而对于位置的相对信息,使用绝对位置编码的模型是很难捕获到的。因此,针对这一问题,本发明采用相对位置编码方法,对模型中使用的绝对位置编码进行替换,以改进模型的性能。在这种相对位置编码方法里,并没有采用绝对位置编码中将位置编码静态地与词向量结合的方式,而是将位置信息注入到注意力机制求attention score的过程中。具体的做法是,从采用绝对位置编码计算attentionscore的表达式出发,进行改进。如果采用绝对位置编码,attention score的表达式为:
Figure BDA0003245806130000073
其中Wq,Wk分别是多头注意力给每个注意力头加的query和key参数,Exi和Exj是xi和xj的词嵌入,Ui和Uj是第i个位置和第j个位置的位置向量。
展开后即对应的第i个词和第j个词之间的attention score表达式为:
Figure BDA0003245806130000074
根据相对位置思想将其改写为:
Figure BDA0003245806130000081
改写逻辑为将所有的Uj改为Ri-j,表示对key来说将绝对位置转换成相对query的位置。UT iWT q表示query相关的绝对位置向量,改为相对位置以后,query应该和自己的位置没有关系,因此将每个head对应的UT iWT q使用一个和位置i无关的向量u表示。v也是同理,由于Wq是一个可训练的参数,所以u和v也是可训练的参数。
在具体应用中,首先在输入模块中使用预训练好的300维词向量glove作为词嵌入层,利用词嵌入层将给定问题集合
Figure BDA0003245806130000082
转换成词嵌入序列。然后使用引用了相对位置编码信息的TransformerEncoder对其进行编码得到问题向量HQ。在记忆模块中,对候选答案集合
Figure BDA0003245806130000083
的三种类型信息进行编码,三种类型信息为答案类型、答案路径和答案上下文相关信息。将候选答案的实体类型的文本描述用BiLSTM编码成d维的向量表示
Figure BDA0003245806130000084
将从候选答案到问句的主题实体词的关系序列定义为答案路径,使用BiLSTM将其编码成向量表示
Figure BDA0003245806130000085
同时通过一个关系嵌入层计算它的关系嵌入的平均值作为向量表示
Figure BDA0003245806130000086
候选答案的周围节点被定义为候选答案的上下文,将候选答案的上下文使用BiLSTM编码成向量表示
Figure BDA0003245806130000087
然后,使用key-value记忆网络来存储候选答案信息:
Figure BDA0003245806130000088
Figure BDA0003245806130000089
Figure BDA00032458061300000810
在推理模块中,利用主注意力网络增进问题信息和候选答案信息的交互,使用副注意力网络进一步增强问题信息和候选答案信息的交互,得到增强的问题向量表示
Figure BDA00032458061300000811
和候选答案信息表示
Figure BDA00032458061300000812
通过注意力机制使用问题表示向量查询键值存储器,提取最相关的信息用以更新问题表示向量得到
Figure BDA00032458061300000813
最后在答案模块中,对问题Q的表示
Figure BDA00032458061300000814
和候选答案集合
Figure BDA00032458061300000815
的表示
Figure BDA00032458061300000816
进行匹配度打分
Figure BDA00032458061300000817
根据分数对候选答案排序,分数越高的被认为越接近正确答案。
本发明根据现有知识库问答模型和相关语言模型改进而来,主要分为四个模块,分别是输入模块、记忆模块、推理模块和答案模块。以Free Base为知识库,以WebQuestions数据集为实验评估数据集。
本发明构建的模型基于BAMnet模型,引入TransformerEncoder代替BiLSTM对问题句子进行编码,使用相对位置编码代替Transformer中的绝对位置编码。实验数据集为WebQuestions数据集和Free Base知识库。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (7)

1.一种融合多头注意力机制和相对位置编码的知识库问答方法,其特征在于:包括以下步骤:
S1:对输入的自然语言进行预训练,得到300维词向量glove,作为词嵌入层;
S2:利用所述词嵌入层将给定问题集合
Figure FDA0003245806120000011
转换成词嵌入序列;
S3:使用引入了相对位置编码信息的TransformerEncoder模块对所述词嵌入序列进行编码得到问题向量HQ
S4:对候选答案集合
Figure FDA0003245806120000012
的三种类型信息进行编码,所述三种类型信息为答案类型、答案路径和答案上下文相关信息;
S5:将候选答案的实体类型的文本描述用BiLSTM编码成d维的向量表示
Figure FDA0003245806120000013
S6:将从候选答案到问句的主题实体词的关系序列定义为答案路径,使用BiLSTM将其编码成向量表示
Figure FDA0003245806120000014
S7:通过一个关系嵌入层计算
Figure FDA0003245806120000015
的关系嵌入的平均值作为向量表示
Figure FDA0003245806120000016
S8:将候选答案的周围节点定义为候选答案的上下文,将所述候选答案的上下文使用BiLSTM编码成向量表示
Figure FDA0003245806120000017
S9:使用key-value记忆网络来存储候选答案信息;
S10:利用主注意力网络增进问题信息和候选答案信息的交互,使用副注意力网络进一步增强问题信息和候选答案信息的交互,得到增强的问题向量表示
Figure FDA0003245806120000018
和候选答案信息表示
Figure FDA0003245806120000019
S11:通过注意力机制使用问题表示向量查询键值存储器,提取最相关的信息用以更新问题表示向量得到
Figure FDA00032458061200000110
S12:对问题Q的表示
Figure FDA00032458061200000111
和候选答案集合
Figure FDA00032458061200000112
的表示
Figure FDA00032458061200000113
进行匹配度打分
Figure FDA00032458061200000114
根据分数对候选答案排序,分数越高的被认为越接近正确答案。
2.根据权利要求1所述的融合多头注意力机制和相对位置编码的知识库问答方法,其特征在于:步骤S8中所述使用key-value记忆网络来存储候选答案信息,对其进行如下线性投影:
Figure FDA00032458061200000115
Figure FDA00032458061200000116
Figure FDA00032458061200000117
其中,
Figure FDA0003245806120000021
Figure FDA0003245806120000022
是答案类型的d维key值表示和value值表示,
Figure FDA0003245806120000023
Figure FDA0003245806120000024
是答案路径的相应d维key值表示和value值表示,
Figure FDA0003245806120000025
Figure FDA0003245806120000026
是答案上下文相应的d维key值表示和value值表示。
3.根据权利要求1所述的融合多头注意力机制和相对位置编码的知识库问答方法,其特征在于:所述TransformerEncoder模块为Transformer模型中的编码器小单元块,其包括多头注意力机制层Multi-head Attention和前馈神经网络层Feed Forward,在每一层后都有一个残差连接&归一化层Add&Normalize,TransformerEncoder模块的输入是由词向量token embedding加位置向量positional embedding组成,所述positional embedding的计算公式如下:
Figure FDA0003245806120000027
Figure FDA0003245806120000028
其中,pos表示单词的位置,i是指单词的维度,在偶数位置,使用正弦编码,在奇数位置,使用余弦编码。
4.根据权利要求3所述的融合多头注意力机制和相对位置编码的知识库问答方法,其特征在于:在多头注意力机制中,一个输入向量x经过h组权重矩阵得到h组query、key和value三个向量,每一个词都有h组query、key和value向量,将一个词的query向量和其他每个词的key向量相乘,计算出当前词与所有词的注意力得分attention score,对attentionscore除以权重矩阵的第一个维度dk的平方根,再进行softmax操作,得到每个词的一个权重值,再将每个词得到的权重值与自身的value向量相乘,并相加,最后计算得到h个输出矩阵Z1、Z2、...Zh,将h个输出矩阵进行拼接在一起,得到最终的输出矩阵Z。
5.根据权利要求4所述的融合多头注意力机制和相对位置编码的知识库问答方法,其特征在于:Add&Norm层的实质是将输入向量和输出向量做残差连接后,通过LayerNorm进行归一化,将结果传给下一层。
6.根据权利要求5所述的融合多头注意力机制和相对位置编码的知识库问答方法,其特征在于:前馈神经网络层Feed Forward包含两层,第一层是ReLU激活函数,第二层是一个线性激活函数。
7.根据权利要求1所述的融合多头注意力机制和相对位置编码的知识库问答方法,其特征在于:所述引入了相对位置编码信息的TransformerEncoder模块为:
在原TransformerEncoder模块中,使用的是绝对位置编码,其直接将词向量和位置向量相加作为输入,绝对位置编码计算attention score的表达式为:
Figure FDA0003245806120000031
其中Wq,Wk分别是多头注意力给每个注意力头加的query和key参数,xi和xj表示句子中的两个词,
Figure FDA0003245806120000032
Figure FDA0003245806120000033
是xi和xj的词嵌入,Ui和Uj是第i个位置和第j个位置的位置向量,T表示转置矩阵;
展开后即对应的第i个词和第j个词之间的attention score表达式为:
Figure FDA0003245806120000034
引入相对位置编码信息的TransformerEncoder模块,是将上式改写为:
Figure FDA0003245806120000035
其中,Wk,E和Wk,R是由前面Wk矩阵细生成的两组矩阵,分别代表基于内容的key向量和基于位置的key向量,Ri-j表示相对位置编码,uT和vT表示u和v的转置,u和v是通过学习训练得来的参数;
改写逻辑为将所有的Uj改为Ri-j,表示对key来说将绝对位置转换成相对query的位置,将每个head对应的
Figure FDA0003245806120000036
使用与位置i无关的向量uT和vT来表示,u和v为可训练的参数。
CN202111035912.9A 2021-09-03 2021-09-03 一种融合多头注意力机制和相对位置编码的知识库问答方法 Active CN113704437B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111035912.9A CN113704437B (zh) 2021-09-03 2021-09-03 一种融合多头注意力机制和相对位置编码的知识库问答方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111035912.9A CN113704437B (zh) 2021-09-03 2021-09-03 一种融合多头注意力机制和相对位置编码的知识库问答方法

Publications (2)

Publication Number Publication Date
CN113704437A true CN113704437A (zh) 2021-11-26
CN113704437B CN113704437B (zh) 2023-08-11

Family

ID=78660096

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111035912.9A Active CN113704437B (zh) 2021-09-03 2021-09-03 一种融合多头注意力机制和相对位置编码的知识库问答方法

Country Status (1)

Country Link
CN (1) CN113704437B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114757659A (zh) * 2022-05-19 2022-07-15 浙江大学 研发项目智能管理系统及其管理方法
CN114818739A (zh) * 2022-03-30 2022-07-29 华南理工大学 一种利用位置信息优化的视觉问答方法
CN116562311A (zh) * 2023-07-07 2023-08-08 中铁四局集团有限公司 基于自然语言机器翻译的运维方法及系统
CN116681087A (zh) * 2023-07-25 2023-09-01 云南师范大学 一种基于多阶段时序和语义信息增强的自动问题生成方法
CN117852974A (zh) * 2024-03-04 2024-04-09 禾辰纵横信息技术有限公司 一种基于人工智能的在线考评得分评估方法
CN118153693A (zh) * 2024-05-11 2024-06-07 四川蜀天信息技术有限公司 一种提高大语言模型推理并发量的方法、装置和计算设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106126596A (zh) * 2016-06-20 2016-11-16 中国科学院自动化研究所 一种基于层次化记忆网络的问答方法
CN110502627A (zh) * 2019-08-28 2019-11-26 上海海事大学 一种基于多层Transformer聚合编码器的答案生成方法
CN110929515A (zh) * 2019-11-21 2020-03-27 中国民航大学 基于协同注意力和自适应调整的阅读理解方法及系统
CN111160038A (zh) * 2019-12-16 2020-05-15 浙江大学 一种基于自注意机制进行视频对话答案与问题的生成方法
CN111597316A (zh) * 2020-05-15 2020-08-28 北京信息科技大学 融合语义与问题关键信息的多阶段注意力答案选取方法
WO2020174826A1 (ja) * 2019-02-25 2020-09-03 日本電信電話株式会社 回答生成装置、回答学習装置、回答生成方法、及び回答生成プログラム
CN111699498A (zh) * 2018-02-09 2020-09-22 易享信息技术有限公司 作为问答的多任务学习
CN111881279A (zh) * 2020-07-28 2020-11-03 平安科技(深圳)有限公司 基于Transformer模型的问答方法、问答装置及存储装置
CN112015760A (zh) * 2020-10-20 2020-12-01 中国人民解放军国防科技大学 基于候选答案集重排序的自动问答方法、装置和存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106126596A (zh) * 2016-06-20 2016-11-16 中国科学院自动化研究所 一种基于层次化记忆网络的问答方法
CN111699498A (zh) * 2018-02-09 2020-09-22 易享信息技术有限公司 作为问答的多任务学习
WO2020174826A1 (ja) * 2019-02-25 2020-09-03 日本電信電話株式会社 回答生成装置、回答学習装置、回答生成方法、及び回答生成プログラム
CN110502627A (zh) * 2019-08-28 2019-11-26 上海海事大学 一种基于多层Transformer聚合编码器的答案生成方法
CN110929515A (zh) * 2019-11-21 2020-03-27 中国民航大学 基于协同注意力和自适应调整的阅读理解方法及系统
CN111160038A (zh) * 2019-12-16 2020-05-15 浙江大学 一种基于自注意机制进行视频对话答案与问题的生成方法
CN111597316A (zh) * 2020-05-15 2020-08-28 北京信息科技大学 融合语义与问题关键信息的多阶段注意力答案选取方法
CN111881279A (zh) * 2020-07-28 2020-11-03 平安科技(深圳)有限公司 基于Transformer模型的问答方法、问答装置及存储装置
CN112015760A (zh) * 2020-10-20 2020-12-01 中国人民解放军国防科技大学 基于候选答案集重排序的自动问答方法、装置和存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
SHENGJIE SHANG 等: "Multi-Layer Transformer Aggregation Encoder for Answer Generation", 《IEEE ACCESS》, vol. 8, pages 90410 - 90419, XP011790051, DOI: 10.1109/ACCESS.2020.2993875 *
刘建伟 等: "深度记忆网络研究进展", 《计算机学报》, vol. 44, no. 8, pages 1549 - 1589 *
肖阳: "基于深度学习的知识库问答研究与实现", 《CNKI中国知网》, pages 1 - 71 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114818739A (zh) * 2022-03-30 2022-07-29 华南理工大学 一种利用位置信息优化的视觉问答方法
CN114757659A (zh) * 2022-05-19 2022-07-15 浙江大学 研发项目智能管理系统及其管理方法
CN116562311A (zh) * 2023-07-07 2023-08-08 中铁四局集团有限公司 基于自然语言机器翻译的运维方法及系统
CN116562311B (zh) * 2023-07-07 2023-12-01 中铁四局集团有限公司 基于自然语言机器翻译的运维方法及系统
CN116681087A (zh) * 2023-07-25 2023-09-01 云南师范大学 一种基于多阶段时序和语义信息增强的自动问题生成方法
CN116681087B (zh) * 2023-07-25 2023-10-10 云南师范大学 一种基于多阶段时序和语义信息增强的自动问题生成方法
CN117852974A (zh) * 2024-03-04 2024-04-09 禾辰纵横信息技术有限公司 一种基于人工智能的在线考评得分评估方法
CN118153693A (zh) * 2024-05-11 2024-06-07 四川蜀天信息技术有限公司 一种提高大语言模型推理并发量的方法、装置和计算设备
CN118153693B (zh) * 2024-05-11 2024-08-09 四川蜀天信息技术有限公司 一种提高大语言模型推理并发量的方法、装置和计算设备

Also Published As

Publication number Publication date
CN113704437B (zh) 2023-08-11

Similar Documents

Publication Publication Date Title
CN110781683B (zh) 一种实体关系联合抽取方法
CN113704437B (zh) 一种融合多头注意力机制和相对位置编码的知识库问答方法
CN112100351A (zh) 一种通过问题生成数据集构建智能问答系统的方法及设备
CN113297364B (zh) 一种面向对话系统中的自然语言理解方法及装置
CN116662582B (zh) 基于自然语言的特定领域业务知识检索方法及检索装置
CN112232053B (zh) 一种基于多关键词对匹配的文本相似度计算系统、方法、及存储介质
CN111985205A (zh) 一种方面级情感分类模型
CN113609326B (zh) 基于外部知识和目标间关系的图像描述生成方法
CN112256847B (zh) 融合事实文本的知识库问答方法
CN113204633B (zh) 一种语义匹配蒸馏方法及装置
CN114238649B (zh) 一种常识概念增强的语言模型预训练方法
CN115879546A (zh) 一种复合神经网络心理医学知识图谱构建方法及系统
CN111428443A (zh) 一种基于实体上下文语义交互的实体链接方法
CN114036934A (zh) 一种中文医学实体关系联合抽取方法和系统
CN115331075A (zh) 一种多模态场景图知识增强的对抗式多模态预训练方法
CN113641809A (zh) 一种基于XLNet-BiGRU-CRF的智能问答方法
CN112035627A (zh) 自动问答方法、装置、设备及存储介质
CN115563314A (zh) 多源信息融合增强的知识图谱表示学习方法
CN118093834A (zh) 一种基于aigc大模型的语言处理问答系统及方法
CN116187349A (zh) 一种基于场景图关系信息增强的视觉问答方法
CN117349311A (zh) 一种基于改进RetNet的数据库自然语言查询方法
Bao et al. Question generation with doubly adversarial nets
CN117932066A (zh) 一种基于预训练的“提取-生成”式答案生成模型及方法
CN109840506A (zh) 利用结合关系互动的视频转换器解决视频问答任务的方法
Wang et al. A convolutional neural network image classification based on extreme learning machine

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