CN108628935B - 一种基于端到端记忆网络的问答方法 - Google Patents
一种基于端到端记忆网络的问答方法 Download PDFInfo
- Publication number
- CN108628935B CN108628935B CN201810226697.2A CN201810226697A CN108628935B CN 108628935 B CN108628935 B CN 108628935B CN 201810226697 A CN201810226697 A CN 201810226697A CN 108628935 B CN108628935 B CN 108628935B
- Authority
- CN
- China
- Prior art keywords
- word
- sentence
- vector
- question
- word vector
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 70
- 238000000034 method Methods 0.000 title claims abstract description 39
- 239000013598 vector Substances 0.000 claims abstract description 90
- 239000010410 layer Substances 0.000 claims description 36
- 238000013527 convolutional neural network Methods 0.000 claims description 4
- 239000002356 single layer Substances 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 description 22
- 238000004364 calculation method Methods 0.000 description 20
- 238000013528 artificial neural network Methods 0.000 description 14
- 239000011159 matrix material Substances 0.000 description 12
- 230000000306 recurrent effect Effects 0.000 description 10
- 230000009466 transformation Effects 0.000 description 9
- 238000004458 analytical method Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 6
- 238000003058 natural language processing Methods 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 230000007774 longterm Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种基于端到端记忆网络的问答方法,本方法为:1)对目标数据集进行划分,将该目标数据集中的已知事实、问题和答案分割开并存储;2)将所述已知事实中的每个句子xi转换为词向量;3)将问题转换为词向量,计算每一句子xi对应的词向量mi与问题的词向量的相关度,得到对应句子xi的权重值pi;4)提取问题中的关键词;检索包含关键词的词向量,对于搜索到的每一词向量mi,计算mi中每个单词与关键词的相关度,作为第j个单词的权重;mi中每个单词加权后的向量记为向量ci;5)计算MemN2N模型中每层网络的输出;6)根据MemN2N模型的最终输出作为问题的答案。本发明大大提升了实问答的准确性。
Description
技术领域
本发明涉及自然语言处理领域和端到端记忆网络(End-to-End MemoryNetworks),具体是一种基于端到端记忆网络的问答方法。
背景技术
2011年,IBM因为推出名为Watson的计算机而受到广泛关注,Watson被设计用来回答游戏节目Jeopardy上的问题,它的表现非常好,足以和最好的玩家相匹敌。想让Watson跟最好的玩家竞争,需要集成大量的知识,而且需要用到很多自然语言处理领域最好的研究成果和大量的人工智能技术。从此,问答系统(Question-Answer system,QA system)便获得了广大研究者的广泛关注。
传统的问答系统是人工智能领域的一个应用,通常局限于一个非常狭窄的领域,虽然精巧,但大多由人工编制的知识库加上一个自然语言接口形成,本质上都属于受限于实验室的玩具系统(Toy System)。随着互联网的发展以及搜索引擎的普及,一些具有商业应用价值的开放式问答系统应运而生。目前开放式问答系统主要分为两类:基于信息检索(Information Retrieval Based)的系统和基于语义分析(Semantic Parsing Based)的系统。基于信息检索的系统首先将问题转化为有效的查询,然后获取大量的候选答案,再通过对候选答案进行打分排序,得到最后的答案;而基于语义分析的系统更侧重于通过语义分析系统来获取问题的精准释义,然后从知识库中获取正确答案。随着深度学习的发展,研究者们开始探索如何实现一种端到端训练的问答系统模型。2015年,Facebook人工智能实验室提出一种新颖的基于循环神经网络和外部存储块的端到端问答系统模型(MemN2N),与传统的问答系统模型相比,该模型在训练阶段降低了监督粒度的要求,从而使得MemN2N能够更容易地应用到实际任务中。
人工智能领域,创建模型一直面临着两大难题:一是模型能够在回答问题或者完成任务时提供多个计算步骤;二是模型能够描述序列数据中长期依赖关系。注意力机制(Attention Mechanism)是解决上述问题的一个有效方法,并在图像识别领域得到了广泛的应用。但是直到最近,该机制才开始被用于自然语言处理领域的一些任务。注意力机制是效仿人类视觉,即人类视线会专注于某一区域,这一区域的图像呈现“高分辨率”而该区域周围呈现“低分辨率”。注意力机制在确定“Attention”时需要计算每个输入和输出之间的相关度,通过比较这些相关度数据(模型的内部状态)选择“Attention”。因此注意力的实现实际上更类似于内存访问,而不是“Attention”。但是这种内存访问不同于传统的内存访问,注意力机制访问的是所有计算单元以及他们的权重因子,而不是一个内存单元中的数据。相对于上述注意力机制,记忆机制(Memory Mechanism)则可以追溯到更早的工作中,一个标准的循环神经网络的隐藏层状态就是一种记忆机制。循环神经网络存在梯度流失的问题,该问题会进一步妨碍循环神经网络学习和获取数据的长期依赖关系。后来,Hochreiter等人引入门机制(Gating Mechanism)来改进上述循环神经网络。门机制是一种让信息选择式通过的方法,允许显示内存删除或更新网络内部状态。最近,研究者们提出越来越复杂的记忆机制,比如文章中提出的一种端到端记忆网络(End-to-End Memory Networks)。该模型是一种新颖的循环神经网络结构,它能够在一定程度上有效地解决上述问题。该模型在输出信号之前允许网络循环多次的在一块足够大的内存中进行读写操作,并且每次访问内存操作都会更新内存单元的内容。该模型的参数一旦通过某种特定的方式进行设置后,模型采用的记忆机制就演变为注意力机制。该模型是对文章中提出的记忆神经网络(MemoryNeural Network,MemNN)的一种变体,即各模块之间是连续的,本发明后面的内容都简称该模型为MemN2N模型。
MemN2N是RNNsearch模型的一个扩展版本,MemN2N在得到输出信号前会经过多层计算单元,下文中本发明将每一层的计算称为一个hop。MemN2N的输入为一个离散的集合X(x1,…,xn)和一个查询或者问题q,最后输出答案a。xi,q以及a中每个符号都来自同一个包含V个词的字典,MemN2N会把每个xi写入到固定大小的内存,然后将X和q通过一些方法转换为一个特殊的连续空间中的连续表示(Continuous Representation),这样在训练后期即可应用BP算法进行反向调优,模型的整体结构如图1所示。MemN2N能够灵活地增加模型的计算单元(hop),实验结果表明,增加模型的计算单元可以提高模型的整体性能。MemN2N模型每层的计算单元结构都是一致的,区别在于每层的模型参数不同,图1(a)展示的是仅包含一层计算单元(one hop)的情况,主要包含以下几个模块:
1.输入内存表示(Input memory representation)。
MemN2N首先将输入集合X=(x1,…,xn)存入内存中,其中x1,…,xn代表本发明中涉及的句子,并且将集合中的每个{xi}都转换为内存向量{mi}。每个{mi}都是对应的{xi}在一个连续空间经过转换而来的d维向量,最简单的转换方式就是通过一个d×V维的转换矩阵A。对于查询q,MemN2N采用类似的转换方式。另外,通过一个与A维度相同的转换矩阵B,得到句子的词向量u,然后就可以转换后的空间中通过内积度量每个mi和u之间的相关度,最后通过公式1将该内积度量转换为概率形式。
pi=Softmax(uTmi) (1)
2.输出内存表示(Output memory representation)。
和上面输入向量的转换类似,这里也通过一个转换矩阵C(与A,B的维度相同)来得到{xi}的对应的输出向量,表示为{ci}。最终模型的响应向量(response vector)o是对输入ci的加权求和,如公式2所示,其中pi来自输入内存表示模块。
o=∑ipici (2)
直观上看,输入内存表示到输出内存表示的过程是连续的,因此可以用BP算法来对整个模型进行训练。
3.生成最后的预测值(Generating the final Prediction)。
对于只有一层计算单元的模型,MemN2N首先将响应向量o和查询的内部表示u进行加和,然后再将一个维度与上述转换矩阵一致的加权矩阵W来作用该加和结果,最后通过Softmax计算出最后的预测标签,计算公式如下:
本发明可以通过叠加计算单元来进一步增强模型的性能,如图1(b)所示。这里展示的一个包含三层(three hops)计算单元的模型,其中,叠加计算单元的算法流程如下:
(1)模型每一层计算单元的的输入都是基于上一层的输入ik和输出ok:
ik+1=ok+ik (4)
(2)每一层的计算单元都有自己的转换矩阵Ak,而Bk用来转换输入X中的每个{xi}。为了方便训练,减少训练参数,MemN2N提供了两种方式来对这些矩阵进行约束:1)Adjacent方式。每一层计算单元的输出内存表示对应的转换矩阵等于上一层输入内存表示的转换矩阵,
Ak+1=Ck (5)
而对于生成最终预测的加权矩阵W,本发明将其设置为与最上层计算单元的输出内存表示的转换矩阵相等
WT=Ck (6)
同时查询(或者问题)q的转换矩阵等于第一层计算单元的输入内存表示的转换矩阵,即
B=A1 (7)
2)Layer-wise(RNN-like)。各层的输入内存表示和输出内存表示的转换矩阵均相等,即
A1=A2=…=Ak (8)
且
C1=C2=…=Ck (9)
(3)最后,输出MemN2N的最顶层:
MemN2N模型的输入通过神经网络传播,得到最终的输出标签。模型内部数据流动的过程是连续平滑的,并采用BP算法进行训练。模型中的转换矩阵A,B,C和W等参数都是通过联合学习得到的。
MemN2N模型的attention机制计算方法和对句子的编码方式都存在着一定改进的空间。Attention机制中只是简单的通过把句子中每个单词词向量叠加在一起形成句子向量然后计算了句子之间的相似度,这样会损失掉很多句子内部单词与单词间的语义。其次,MemN2N模型中对于句子编码是通过每个单词的位置编码与词向量相乘,虽然这种操作可以在形成句子向量时加入位置信息,但是每个单词的词性信息被丢失了,不同词性的单词会在句子中起到不同的作用。所以基于以上两点MemN2N模型可以改进的技术点,提出了以下的发明。
发明内容
本发明提供了一种基于端到端记忆网络的问答方法,本发明在代表当前最高水平的MemN2N框架上做出了一定的改进。具体来说,MemN2N是一种基于循环神经网络和外部存储块的MemNN的变种,本发明深入研究了MemN2N如何增加计算单元的层次以提高模型性能的机制以及如何利用外部存储块来获取序列数据的长期依赖信息的相关算法。
本发明的技术方案为:
一种基于端到端记忆网络的问答方法,其步骤包括:
1)对目标数据集进行划分,将该目标数据集中的已知事实、问题和答案分割开并存储;
2)将所述已知事实中的每个句子xi转换为词向量并存储到Memory模块中;
3)将所述问题转换为词向量,计算Memory中每一句子xi对应的词向量mi与所述问题的词向量的相关度,得到对应句子xi的权重值pi;
4)提取所述问题中的关键词key;在Memory模块中检索包含所述关键词key的词向量,对于搜索到的每一词向量mi,计算该词向量mi中每个单词与所述关键词key的相关度,作为第j个单词的权重pij_key;该词向量mi中每个单词加权后的向量记为向量ci;
5)计算MemN2N模型中每层网络的输出o=∑i(pi+pij_key*Axij)*ci;其中,Axij表示句子xi中第j个单词的词向量;如果MemN2N模型为单层网络,则o即为MemN2N模型的输出;如果MemN2N模型为多层网络,则计算uk+1=ok+uk+keyn作为第k+1层的输入;其中,keyn表示第n个关键词key的词向量,ok为第k层网络的输出,uk为第k层网络的输入,uk+1为第k+1层网络的输入;
6)根据MemN2N模型的最终输出作为所述问题的答案。
进一步的,所述词向量mi=∑j(lj+tj)·Axij;其中,lj表示为句子xi中第j个单词的词向量位置编码,tj表示第j个单词的词性权重值。
进一步的,所述权重值pi=Softmax(uT(mi-1+mi+mi+1);其中,mi-1是Memory模块中存储的句子i上一句话对应的词向量,mi+1是Memory中存储的句子i的下一句话对应的词向量;u为所述问题对应的词向量。
本发明将词性信息加入整个推理过程,同时还引入了利用上下文信息共同参与运算,对于语义理解进行了更深层次的挖掘。
方法一:在最初对Memory中mi与查询q编码时,原论文中是根据每个单词的位置不同,利用位置编码来表示其位置信息,以便在形成句子向量时还可以表达位置信息。其编码方式为:
mi=∑jlj·Axij (11)
其中Axij表示在第i句话中第j个单词的词向量,lj表示为位置编码。本发明对其改进利用每个单词的词性作为该单词的权重,与位置编码作为不同的通道进行叠加,即公式表达为:
mi=∑j(lj+tj)·Axij (12)
其中tj表示第j个单词的词性所占的权重值。本发明将名词、动词、形容词、副词的权重设置为1,其余词性设置为0.1。这样,在每个单词的词性作为权重与单词词向量相乘,再将句子中的每个单词加权词向量对应位置相加即可得到句向量,这个句向量不仅包含了每个词的位置信息,还包含了每个词的词性,可以表达更多信息,为后续推理等过程提供依据。
方法二:在MemN2N中,其中的Attention机制是计算问题与Memory的相关度来体现的,其含义可以理解为计算Memory中每个句子与问题有多相关,越相关的句子越可能包含问题的答案。本发明提出改进计算相关度的方法。原本相关度计算公式如公式1所示。本发明认为,在Memory中存储的句子不是独立存在的,每句话与其上下文都有关联。参照卷积神经网络在自然语言处理中的应用,本发明认为卷积神经网络的卷积操作可以获取N-gram的语义特征,这符合自然语言处理的基本结构,因为文本信息存在着上下文互相依赖。尤其是在问答系统中,上下文的结合可以大大提高推理出答案的可能性,独立的一句话可能包含的信息比较少,需要结合上下文来推理。所以本发明提出,在计算相关度时,不单单使用问题与当前句子xi的词向量mi,使mi的上下文句子一同参与运算,即计算公式为:
pi=Softmax(uT(mi-1+mi+mi+1) (13)
其中,uT是u向量的转置,mi-1是当前Memory中存储的句子xi的上一句话对应的词向量,mi+1是当前Memory中存储的句子xi的下一句话对应的词向量。本发明将上下文信息相加在一起,得到一个包含上下文语义的向量,再与问题计算相关度,计算相关度得到的值再进行归一化处理即可得到权重pi,该权重即表示mi与问题的相关度,约高则表示约相关,即上下文中包含答案的可能性越大。
方法三:MemN2N是一种基于循环神经网络变种。从网络结构上,循环神经网络会记忆之前的信息,并利用之前的信息影响后面结点的输出。也就是说,循环神经网络的隐藏层之间的结点是有连接的,隐藏层的输入不仅包括输入层,还包括上一时刻隐藏层的输出。所以当涉及到连续的、与上下文相关的任务时,它比其他人造神经网络具有更大的优势。在MemN2N多层网络结构中,每一层计算单元的的输入都是基于上一层的输入ik和输出ok得到的,即公式4所示。在这个计算过程中,本发明认为uk+1是上一时刻隐藏层的输出,增加问题中的关键词作为多层网络结构在高层次的输入。关键词的提取技术在下文中介绍,我们在该方法中选择的关键词提取方法是对句子进行句法分析,选择句子的主语、谓语和宾语作为问题的关键词。
ik+1=ok+ik+keyn (14)
其中keyn表示第n个关键词key的词向量,因为问题中的关键词可能不止包含一个,所以n≥1。
关键词的提取是这个改进的核心技术,传统关键词提取技术包括TF-IDF、词性标注以及句法分析等。TF-IDF方法的核心思想是:判断一个词在一篇文章中是否重要,一个容易想到的衡量指标就是词频,重要的词往往会在文章中多次出现。但另一方面,不是出现次数多的词就一定重要,因为有些词在各种文章中都频繁出现,那它的重要性肯定不如那些只在某篇文章中频繁出现的词重要性强。从统计学的角度,就是给予那些不常见的词以较大的权重,而减少常见词的权重。IDF(逆文档频率)就是这个权重,TF则指的是词频。在TF-IDF方法中,
TF=(词语在文章中出现次数)/(文章总词数) (15)
IDF=log(语料库文档总数/(包含该词的文档数+1)) (16)
核心公式为,
TF-IDF=TF*IDF (17)
词性标注和句法分析的方法就是使用现有的开源工具,例如词性标注工具(Part-Of-Speech Tagger)、句法分析器(Parser)等。使用开源工具对问题句子进行分析,若使用词性标注提取关键词即可提取问题中的名词、动词等单词作为关键词。如果使用句法分析的方法则提取进行句法分析之后的问题句子中的主语和动词作为关键词。
方法四:根据问题中提取的关键词,在Memory中进行检索,搜索包含关键词的mi。在mi中计算每个单词j与关键词key的相关度pij_key,
其中表示在mi中第j个单词。该权重值pij_key表达了与问题相关的句子中,每个单词的在推理过程中的重要性。如果权重值越高,则代表单词与答案越相关。所以该方法计算出的权重值可以看作是另外一种Attention机制,与原有的Attention计算方法想叠加。原有的Attention是通过计算查询问题与Memory中每句话的相似度,在计算的过程中是把查询问题和mi都压缩为一个句子向量,是通过句子中每个单词的词向量对应位置相加得到的。在这个过程中,本发明认为忽略了单词是文本的最小单元,单词与单词之间也存在着联系和相关度。所以基于这个不足,本发明提出了以上改进。
方法五:针对存储在Memory的词向量,本发明可以采用卷积神经网络中的卷积操作来存储这些词向量。具体操作为如果本发明设置卷积核为3,那么将已知事实Story存储在Memory前先进行卷积操作,把每三个句子的词向量相加作为一条记录存入Memory中,即:
如果卷积核为4,则把每四个句子的词向量相加作为一条记录存入Memory中,即
存储时采用类似卷积的操作的优点是减少存储Memory的空间,通过不同的卷积核大小就可以控制最终存储的空间大小,此外卷积存储还可以将句子的上下文信息整合在一个句子里面,在方法二中就提到了使用上下文信息一起计算相似度。如果采用卷积的存储Memory,那么本发明就可以替代方法一来实现利用丰富的上下文信息参与运算和推理。
与现有技术相比,本发明的积极效果为:
本发明将词性信息加入整个推理过程,同时还引入了利用上下文信息共同参与运算,对于语义理解进行了更深层次的挖掘,这样在后续实现推理问答任务中可以有更好的表现。除此之外,我们还针对attention机制进行了改进,从原本计算句子与句子之间相似度作为权重值追加了一种计算单词与单词之间的相似度作为权重值的方法,本发明可以更关注句子与句子中单词间的语义关联,从而提升实问答的准确性。
附图说明
图1为End-to-End Memory Networks网络结构示意图;
(a)包含一层计算单元结构图,(b)包含三层计算单元的结构图;
图2为本发明方法的架构图;
图3为本发明的整体流程图。
具体实施方式
整体的系统构架有四个部分组成:输入表示,输出表示,推理,生成答案,如图2所示。对于输入到系统的问题,具体流程图如图3所示。下面是本发明使用的数据集中一具体实例:
1.Sam walks into the kitchen.
2.Sam picks up an apple.
3.Sam walks into the bedroom.
4.Sam drops the apple.
5.Q:Where is the apple?
6.A:Bedroom.
其中1-4句是已知的事实,5句是问题,6句是答案。
根据以上介绍的实例,具体介绍本发明的实施步骤如下:
1.对Facebook公开数据集bAbI进行划分,如上述实例,把已知的事实、问题和答案分割开并存储在数组中。
2.把已知的事实中的每句话(1-4句)对应转换为词向量方式表达并存储到Memory模块中,其中涉及位置编码和词性编码,具体计算方法如公式12。
3.把数据集中的问题也通过转换变为词向量方式表示,其中涉及位置编码和词性编码,具体计算方法如公式12。
4.计算Memory中每句话与问题Question的相关度(计算1-4句句子分别与句子5的相似度),相关性的计算如公式13所示,得到权重值pi。
5.提取Question中的关键词key(对句子5使用已有的句法分析器进行分析,选择其中的主语、谓语和宾语作为提取的关键词,此例中where,is和apple是关键词)。
6.在Memory中检索包含key的词向量,在这些词向量中计算每个单词与key的相关度,计算出的pij_key作为权重与Memory中包含key的词向量加权得到输出向量ci,具体计算方法如公式18(在句子1-4中检索包含句子5的关键词,如:句子2包含关键词apple,则计算句子2中每个单词与apple的相似度再归一化处理)。
7.利用步骤6中计算的输出向量ci计算每层的输出ok=∑i(pi+pij_key*Axij)*ci,其中i为第i个句子,j表示第i个句子中的第j个单词。如果是单层网络即,则输出ok即为整个网络的输出,直接省略步骤8跳到步骤9。如果是多层网络结构即跳至步骤8。
8.ik+1=ok+ik+keyn作为下一层的输入进行计算。
9.根据公式10计算每个单词是正确答案的概率,选择概率最大的单词作为最终答案(本实例的答案是Bedroom)并输出。
以上实施仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。
Claims (3)
1.一种基于端到端记忆网络的问答方法,其步骤包括:
1)对目标数据集进行划分,将该目标数据集中的已知事实、问题和答案分割开并存储;
2)将所述已知事实中的每个句子xi转换为词向量并存储到Memory模块中;其中所述词向量mi=∑j(lj+tj)·Axij;lj表示为句子xi中第j个单词的词向量位置编码,tj表示第j个单词的词性权重值;
3)将所述问题转换为词向量,计算Memory中每一句子xi对应的词向量mi与所述问题的词向量的相关度,得到对应句子xi的权重值pi;其中所述权重值pi=Softmax(uT(mi-1+mi+mi+1);mi-1是Memory模块中存储的句子xi上一句话对应的词向量,mi+1是Memory中存储的句子xi的下一句话对应的词向量;u为所述问题对应的词向量;
4)提取所述问题中的关键词key;在Memory模块中检索包含所述关键词key的词向量,对于搜索到的每一词向量mi,计算该词向量mi中每个单词与所述关键词key的相关度,作为第j个单词的权重pij_key;该词向量mi中每个单词加权后的向量记为向量ci;
5)计算MemN2N模型中每层网络的输出o=∑i(pi+Pij_key·Axij)·ci;其中,Axij表示句子xi中第j个单词的词向量;如果MemN2N模型为单层网络,则o即为MemN2N模型的输出;如果MemN2N模型为多层网络,则计算uk+1=ok+uk+keyn作为第k+1层的输入;其中,keyn表示第n个关键词key的词向量,ok为第k层网络的输出,uk为第k层网络的输入,uk+1为第k+1层网络的输入;
6)根据MemN2N模型的最终输出作为所述问题的答案。
3.如权利要求1所述的方法,其特征在于,采用卷积神经网络中的卷积操作存储Memory模块中的词向量;设置卷积核为n,将每n个句子的词向量相加作为一条记录存入Memory中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810226697.2A CN108628935B (zh) | 2018-03-19 | 2018-03-19 | 一种基于端到端记忆网络的问答方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810226697.2A CN108628935B (zh) | 2018-03-19 | 2018-03-19 | 一种基于端到端记忆网络的问答方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108628935A CN108628935A (zh) | 2018-10-09 |
CN108628935B true CN108628935B (zh) | 2021-10-15 |
Family
ID=63706302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810226697.2A Active CN108628935B (zh) | 2018-03-19 | 2018-03-19 | 一种基于端到端记忆网络的问答方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108628935B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111368536A (zh) * | 2018-12-07 | 2020-07-03 | 北京三星通信技术研究有限公司 | 自然语言处理方法及其设备和存储介质 |
CN109658270A (zh) * | 2018-12-19 | 2019-04-19 | 前海企保科技(深圳)有限公司 | 一种基于保险产品阅读理解的核赔系统及方法 |
CN109754404B (zh) * | 2019-01-02 | 2020-09-01 | 清华大学深圳研究生院 | 一种基于多注意力机制的端到端的肿瘤分割方法 |
CN109977428B (zh) * | 2019-03-29 | 2024-04-02 | 北京金山数字娱乐科技有限公司 | 一种答案获取的方法及装置 |
CN110134771B (zh) * | 2019-04-09 | 2022-03-04 | 广东工业大学 | 一种基于多注意力机制融合网络问答系统的实现方法 |
CN111858862B (zh) * | 2019-04-29 | 2023-07-18 | 深圳市优必选科技有限公司 | 一种答复推荐方法、答复推荐装置及电子设备 |
CN110457450B (zh) * | 2019-07-05 | 2023-12-22 | 平安科技(深圳)有限公司 | 基于神经网络模型的答案生成方法及相关设备 |
CN110704587B (zh) * | 2019-08-22 | 2023-10-20 | 平安科技(深圳)有限公司 | 文本答案的查找方法及装置 |
CN110727695B (zh) * | 2019-09-29 | 2022-05-03 | 浙江大学 | 面向新型供电城轨列车数据运维的自然语言查询解析方法 |
CN111191015A (zh) * | 2019-12-27 | 2020-05-22 | 上海大学 | 一种神经网络电影知识智能对话方法 |
CN111460081B (zh) * | 2020-03-30 | 2023-04-07 | 招商局金融科技有限公司 | 基于深度学习的答案生成方法、电子装置及可读存储介质 |
CN113609248B (zh) * | 2021-08-20 | 2024-10-15 | 北京金山数字娱乐科技有限公司 | 词权重生成模型训练方法及装置、词权重生成方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106126596A (zh) * | 2016-06-20 | 2016-11-16 | 中国科学院自动化研究所 | 一种基于层次化记忆网络的问答方法 |
US20170200077A1 (en) * | 2015-10-13 | 2017-07-13 | Facebook, Inc. | End-to-end memory networks |
-
2018
- 2018-03-19 CN CN201810226697.2A patent/CN108628935B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170200077A1 (en) * | 2015-10-13 | 2017-07-13 | Facebook, Inc. | End-to-end memory networks |
CN106126596A (zh) * | 2016-06-20 | 2016-11-16 | 中国科学院自动化研究所 | 一种基于层次化记忆网络的问答方法 |
Non-Patent Citations (1)
Title |
---|
End-to-end memory networks;Sainbayar Sukhbaatar等;《Proceedings of the 28th International Conference on Neural Information Processing Systems》;20151231;第1-11页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108628935A (zh) | 2018-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108628935B (zh) | 一种基于端到端记忆网络的问答方法 | |
CN111310438B (zh) | 基于多粒度融合模型的中文句子语义智能匹配方法及装置 | |
JP7250052B2 (ja) | 自然言語及び知識グラフに基づく表現学習方法及び装置 | |
CN111488739B (zh) | 基于多粒度生成图像增强表示的隐式篇章关系识别方法 | |
CN108829719B (zh) | 一种非事实类问答答案选择方法及系统 | |
CN113239700A (zh) | 改进bert的文本语义匹配设备、系统、方法及存储介质 | |
CN117076653B (zh) | 基于思维链及可视化提升上下文学习知识库问答方法 | |
CN112232087B (zh) | 一种基于Transformer的多粒度注意力模型的特定方面情感分析方法 | |
CN110096567A (zh) | 基于qa知识库推理的多轮对话回复选择方法、系统 | |
CN115048447B (zh) | 一种基于智能语义补全的数据库自然语言接口系统 | |
CN109214006A (zh) | 图像增强的层次化语义表示的自然语言推理方法 | |
CN111274790A (zh) | 基于句法依存图的篇章级事件嵌入方法及装置 | |
CN118093834B (zh) | 一种基于aigc大模型的语言处理问答系统及方法 | |
CN111125333A (zh) | 一种基于表示学习与多层覆盖机制的生成式知识问答方法 | |
CN112784602B (zh) | 基于远程监督的新闻情感实体抽取方法 | |
CN114818717A (zh) | 融合词汇和句法信息的中文命名实体识别方法及系统 | |
CN114153942A (zh) | 一种基于动态注意力机制的事件时序关系抽取方法 | |
CN114254645A (zh) | 一种人工智能辅助写作系统 | |
CN115510230A (zh) | 一种基于多维特征融合与比较增强学习机制的蒙古语情感分析方法 | |
CN117648933B (zh) | 基于深度学习和知识库的自然语言歧义消解方法和系统 | |
CN113204679B (zh) | 一种代码查询模型的生成方法和计算机设备 | |
Seilsepour et al. | Self-supervised sentiment classification based on semantic similarity measures and contextual embedding using metaheuristic optimizer | |
CN111581365B (zh) | 一种谓词抽取方法 | |
CN117932066A (zh) | 一种基于预训练的“提取-生成”式答案生成模型及方法 | |
Liu et al. | Attention based r&cnn medical question answering system in chinese |
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 |