CN113704437B - 一种融合多头注意力机制和相对位置编码的知识库问答方法 - Google Patents
一种融合多头注意力机制和相对位置编码的知识库问答方法 Download PDFInfo
- Publication number
- CN113704437B CN113704437B CN202111035912.9A CN202111035912A CN113704437B CN 113704437 B CN113704437 B CN 113704437B CN 202111035912 A CN202111035912 A CN 202111035912A CN 113704437 B CN113704437 B CN 113704437B
- Authority
- CN
- China
- Prior art keywords
- vector
- word
- information
- answer
- key
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 230000007246 mechanism Effects 0.000 title claims abstract description 25
- 239000013598 vector Substances 0.000 claims description 78
- 239000011159 matrix material Substances 0.000 claims description 13
- 230000004913 activation Effects 0.000 claims description 6
- 239000013604 expression vector Substances 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 6
- 230000003993 interaction Effects 0.000 claims description 6
- 238000013528 artificial neural network Methods 0.000 claims description 5
- 230000002708 enhancing effect Effects 0.000 claims description 5
- 238000012549 training Methods 0.000 claims description 5
- 238000010606 normalization Methods 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims 1
- 238000003058 natural language processing Methods 0.000 abstract description 5
- 239000002585 base Substances 0.000 description 20
- 238000004364 calculation method Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000012458 free base Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
- G06F40/35—Discourse or dialogue representation
-
- 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/044—Recurrent networks, e.g. Hopfield networks
-
- 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/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- 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/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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,临时细胞状态隐层状态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:利用所述词嵌入层将给定问题集合转换成词嵌入序列;
S3:使用引入了相对位置编码信息的TransformerEncoder模块对所述词嵌入序列进行编码得到问题向量HQ;
S4:对候选答案集合的三种类型信息进行编码,所述三种类型信息为答案类型、答案路径和答案上下文相关信息;
S5:将候选答案的实体类型的文本描述用BiLSTM编码成d维的向量表示
S6:将从候选答案到问句的主题实体词的关系序列定义为答案路径,使用BiLSTM将其编码成向量表示
S7:通过一个关系嵌入层计算的关系嵌入的平均值作为向量表示/>
S8:将候选答案的周围节点定义为候选答案的上下文,将所述候选答案的上下文使用BiLSTM编码成向量表示
S9:使用key-value记忆网络来存储候选答案信息;
S10:利用主注意力网络增进问题信息和候选答案信息的交互,使用副注意力网络进一步增强问题信息和候选答案信息的交互,得到增强的问题向量表示和候选答案信息表示/>
S11:通过注意力机制使用问题表示向量查询键值存储器,提取最相关的信息用以更新问题表示向量得到
S12:对问题Q的表示和候选答案集合/>的表示/>进行匹配度打分根据分数对候选答案排序,分数越高的被认为越接近正确答案。
进一步,步骤S8中所述使用key-value记忆网络来存储候选答案信息,对其进行如下线性投影:
其中,和/>是答案类型的d维key值表示和value值表示,/>和/>是答案路径的相应d维key值表示和value值表示,/>和/>是答案上下文相应的d维key值表示和value值表示。
进一步,所述TransformerEncoder模块为Transformer模型中的编码器小单元块,其包括多头注意力机制层Multi-head Attention和前馈神经网络层Feed Forward,在每一层后都有一个残差连接&归一化层Add&Normalize,TransformerEncoder模块的输入是由词向量token embedding加位置向量positional embedding组成,所述positionalembedding的计算公式如下:
其中,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的表达式为:
其中Wq,Wk分别是多头注意力给每个注意力头加的query和key参数,xi和xj表示句子中的两个词,和/>是xi和xj的词嵌入,Ui和Uj是第i个位置和第j个位置的位置向量;
展开后即对应的第i个词和第j个词之间的attention score表达式为:
引入相对位置编码信息的TransformerEncoder模块,是将上式改写为:
其中,Wk,E和Wk,R是由前面Wk矩阵细生成的两组矩阵,分别代表基于内容的key向量和基于位置的key向量,Ri-j表示相对位置编码,uT和vT表示u和v的转置,u和v是通过学习训练得来的参数;
改写逻辑为将所有的Uj改为Ri-j,表示对key来说将绝对位置转换成相对query的位置,表示query相关的绝对位置向量,改为相对位置以后,query和自己的位置没有关系,因此将每个head对应的/>使用一个和位置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的计算公式如下:
其中,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的表达式为:
其中Wq,Wk分别是多头注意力给每个注意力头加的query和key参数,Exi和Exj是xi和xj的词嵌入,Ui和Uj是第i个位置和第j个位置的位置向量。
展开后即对应的第i个词和第j个词之间的attention score表达式为:
根据相对位置思想将其改写为:
改写逻辑为将所有的Uj改为Ri-j,表示对key来说将绝对位置转换成相对query的位置。UT iWT q表示query相关的绝对位置向量,改为相对位置以后,query应该和自己的位置没有关系,因此将每个head对应的UT iWT q使用一个和位置i无关的向量u表示。v也是同理,由于Wq是一个可训练的参数,所以u和v也是可训练的参数。
在具体应用中,首先在输入模块中使用预训练好的300维词向量glove作为词嵌入层,利用词嵌入层将给定问题集合转换成词嵌入序列。然后使用引用了相对位置编码信息的TransformerEncoder对其进行编码得到问题向量HQ。在记忆模块中,对候选答案集合/>的三种类型信息进行编码,三种类型信息为答案类型、答案路径和答案上下文相关信息。将候选答案的实体类型的文本描述用BiLSTM编码成d维的向量表示/>将从候选答案到问句的主题实体词的关系序列定义为答案路径,使用BiLSTM将其编码成向量表示同时通过一个关系嵌入层计算它的关系嵌入的平均值作为向量表示/>候选答案的周围节点被定义为候选答案的上下文,将候选答案的上下文使用BiLSTM编码成向量表示然后,使用key-value记忆网络来存储候选答案信息:
在推理模块中,利用主注意力网络增进问题信息和候选答案信息的交互,使用副注意力网络进一步增强问题信息和候选答案信息的交互,得到增强的问题向量表示和候选答案信息表示/>通过注意力机制使用问题表示向量查询键值存储器,提取最相关的信息用以更新问题表示向量得到/>最后在答案模块中,对问题Q的表示/>和候选答案集合/>的表示/>进行匹配度打分/>根据分数对候选答案排序,分数越高的被认为越接近正确答案。
本发明根据现有知识库问答模型和相关语言模型改进而来,主要分为四个模块,分别是输入模块、记忆模块、推理模块和答案模块。以Free Base为知识库,以WebQuestions数据集为实验评估数据集。
本发明构建的模型基于BAMnet模型,引入TransformerEncoder代替BiLSTM对问题句子进行编码,使用相对位置编码代替Transformer中的绝对位置编码。实验数据集为WebQuestions数据集和Free Base知识库。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (5)
1.一种融合多头注意力机制和相对位置编码的知识库问答方法,其特征在于:包括以下步骤:
S1:对输入的自然语言进行预训练,得到300维词向量glove,作为词嵌入层;
S2:利用所述词嵌入层将给定问题集合转换成词嵌入序列;
S3:使用引入了相对位置编码信息的TransformerEncoder模块对所述词嵌入序列进行编码得到问题向量HQ;所述引入了相对位置编码信息的TransformerEncoder模块为:
在原TransformerEncoder模块中,使用的是绝对位置编码,其直接将词向量和位置向量相加作为输入,绝对位置编码计算attention score的表达式为:
其中Wq,Wk分别是多头注意力给每个注意力头加的query和key参数,xi和xj表示句子中的两个词,和/>是xi和xj的词嵌入,Ui和Uj是第i个位置和第j个位置的位置向量,T表示转置矩阵;
展开后即对应的第i个词和第j个词之间的attention score表达式为:
引入相对位置编码信息的TransformerEncoder模块,是将上式改写为:
其中,Wk,E和Wk,R是由前面Wk矩阵生成的两组矩阵,分别代表基于内容的key向量和基于位置的key向量,Ri-j表示相对位置编码,uT和vT表示u和v的转置,u和v是通过学习训练得来的参数;
改写逻辑为将所有的Uj改为Ri-j,表示对key来说将绝对位置转换成相对query的位置,将每个head对应的使用与位置i无关的向量uT和vT来表示,u和v为可训练的参数;
S4:对候选答案集合的三种类型信息进行编码,所述三种类型信息为答案类型、答案路径和答案上下文相关信息;
S5:将候选答案的实体类型的文本描述用BiLSTM编码成d维的向量表示
S6:将从候选答案到问句的主题实体词的关系序列定义为答案路径,使用BiLSTM将其编码成向量表示
S7:通过一个关系嵌入层计算的关系嵌入的平均值作为向量表示/>
S8:将候选答案的周围节点定义为候选答案的上下文,将所述候选答案的上下文使用BiLSTM编码成向量表示
S9:使用key-value记忆网络来存储候选答案信息;所述使用key-value记忆网络来存储候选答案信息,对其进行如下线性投影:
其中,和/>是答案类型的d维key值表示和value值表示,/>和/>是答案路径的相应d维key值表示和value值表示,/>和/>是答案上下文相应的d维key值表示和value值表示;
S10:利用主注意力网络增进问题信息和候选答案信息的交互,使用副注意力网络进一步增强问题信息和候选答案信息的交互,得到增强的问题向量表示和候选答案信息表示
S11:通过注意力机制使用问题表示向量查询键值存储器,提取最相关的信息用以更新问题表示向量得到
S12:对问题Q的表示和候选答案集合/>的表示/>进行匹配度打分/>根据分数对候选答案排序,分数越高的被认为越接近正确答案。
2.根据权利要求1所述的融合多头注意力机制和相对位置编码的知识库问答方法,其特征在于:所述TransformerEncoder模块为Transformer模型中的编码器小单元块,其包括多头注意力机制层Multi-head Attention和前馈神经网络层Feed Forward,在每一层后都有一个残差连接&归一化层Add&Normalize,TransformerEncoder模块的输入是由词向量token embedding加位置向量positional embedding组成,所述positional embedding的计算公式如下:
其中,pos表示单词的位置,i是指单词的维度,在偶数位置,使用正弦编码,在奇数位置,使用余弦编码。
3.根据权利要求2所述的融合多头注意力机制和相对位置编码的知识库问答方法,其特征在于:在多头注意力机制中,一个输入向量x经过h组权重矩阵得到h组query、key和value三个向量,每一个词都有h组query、key和value向量,将一个词的query向量和其他每个词的key向量相乘,计算出当前词与所有词的注意力得分attention score,对attentionscore除以权重矩阵的第一个维度dk的平方根,再进行softmax操作,得到每个词的一个权重值,再将每个词得到的权重值与自身的value向量相乘,并相加,最后计算得到h个输出矩阵Z1、Z2、...Zh,将h个输出矩阵进行拼接在一起,得到最终的输出矩阵Z。
4.根据权利要求3所述的融合多头注意力机制和相对位置编码的知识库问答方法,其特征在于:Add&Normalize层的实质是将输入向量和输出向量做残差连接后,通过LayerNorm进行归一化,将结果传给下一层。
5.根据权利要求4所述的融合多头注意力机制和相对位置编码的知识库问答方法,其特征在于:前馈神经网络层FeedForward包含两层,第一层是ReLU激活函数,第二层是一个线性激活函数。
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 CN113704437A (zh) | 2021-11-26 |
CN113704437B true 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) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114818739A (zh) * | 2022-03-30 | 2022-07-29 | 华南理工大学 | 一种利用位置信息优化的视觉问答方法 |
CN114757659A (zh) * | 2022-05-19 | 2022-07-15 | 浙江大学 | 研发项目智能管理系统及其管理方法 |
CN116562311B (zh) * | 2023-07-07 | 2023-12-01 | 中铁四局集团有限公司 | 基于自然语言机器翻译的运维方法及系统 |
CN116681087B (zh) * | 2023-07-25 | 2023-10-10 | 云南师范大学 | 一种基于多阶段时序和语义信息增强的自动问题生成方法 |
CN117852974B (zh) * | 2024-03-04 | 2024-06-21 | 禾辰纵横信息技术有限公司 | 一种基于人工智能的在线考评得分评估方法 |
CN118153693B (zh) * | 2024-05-11 | 2024-08-09 | 四川蜀天信息技术有限公司 | 一种提高大语言模型推理并发量的方法、装置和计算设备 |
Citations (9)
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 | 中国人民解放军国防科技大学 | 基于候选答案集重排序的自动问答方法、装置和存储介质 |
-
2021
- 2021-09-03 CN CN202111035912.9A patent/CN113704437B/zh active Active
Patent Citations (9)
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 (1)
Title |
---|
基于深度学习的知识库问答研究与实现;肖阳;《CNKI中国知网》;1-71 * |
Also Published As
Publication number | Publication date |
---|---|
CN113704437A (zh) | 2021-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113704437B (zh) | 一种融合多头注意力机制和相对位置编码的知识库问答方法 | |
Zhou et al. | A comprehensive survey on pretrained foundation models: A history from bert to chatgpt | |
Jia et al. | Label distribution learning with label correlations on local samples | |
Liu et al. | Joint binary classifier learning for ECOC-based multi-class classification | |
CN116662582B (zh) | 基于自然语言的特定领域业务知识检索方法及检索装置 | |
CN112487820B (zh) | 一种中文医疗命名实体识别方法 | |
CN111985205A (zh) | 一种方面级情感分类模型 | |
CN112818676A (zh) | 一种医学实体关系联合抽取方法 | |
Lu et al. | Utilizing textual information in knowledge graph embedding: A survey of methods and applications | |
CN112765952A (zh) | 一种图卷积注意力机制下的条件概率联合事件抽取方法 | |
CN111159345B (zh) | 一种中文知识库答案获取方法及其装置 | |
Zhang et al. | Tell and guess: cooperative learning for natural image caption generation with hierarchical refined attention | |
CN113609326B (zh) | 基于外部知识和目标间关系的图像描述生成方法 | |
CN115331075A (zh) | 一种多模态场景图知识增强的对抗式多模态预训练方法 | |
CN112632250A (zh) | 一种多文档场景下问答方法及系统 | |
Bian et al. | Subarchitecture ensemble pruning in neural architecture search | |
CN113641809A (zh) | 一种基于XLNet-BiGRU-CRF的智能问答方法 | |
CN112035627A (zh) | 自动问答方法、装置、设备及存储介质 | |
CN117033423A (zh) | 一种注入最优模式项和历史交互信息的sql生成方法 | |
Guan et al. | Repeated review based image captioning for image evidence review | |
Bao et al. | Question generation with doubly adversarial nets | |
CN117932066A (zh) | 一种基于预训练的“提取-生成”式答案生成模型及方法 | |
Peng et al. | MPSC: A multiple-perspective semantics-crossover model for matching sentences | |
CN117436451A (zh) | 基于IDCNN-Attention的农业病虫害命名实体识别方法 | |
CN115564049B (zh) | 一种双向编码的知识图谱嵌入方法 |
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 |