当前位置: 首页 > 专利查询>中山大学专利>正文

一种基于问题生成和卷积神经网络的常识问答方法技术

技术编号:23025057 阅读:19 留言:0更新日期:2020-01-03 16:54
本发明专利技术提供一种基于问题生成和卷积神经网络的常识问答方法,该方法通过BERT语言模型将内容‑问题编码成向量序列,传入问题生成模块,再传入共享的BERT语言模型,然后将内容‑问题‑答案组成的三元组通过BERT语言模型,输出的内容‑问题‑答案的编码序列传入答案选择模块,通过卷积神经网络对其做分类,最后,模型得到的评分来选取最优的选项作为模型选出的候选答案。

A common sense question answering method based on question generation and convolution neural network

【技术实现步骤摘要】
一种基于问题生成和卷积神经网络的常识问答方法
本专利技术涉及自然语言处理
,更具体地,涉及一种基于问题生成和卷积神经网络的常识问答方法。
技术介绍
近年来,随着大数据和计算机技术的发展,问答系统已经是应用在各个行业,而问答系统也成为智能机器人的一个关键组成部分,影响着机器人与人交流交互重要环节。而常识问答,是给予一个行为内容,对于该内容可能发生的情况提出问题,预测给出答案选项中正确的答案,该领域是人工智能与自然语言处理相结合的研究领域。常识问答中涉及的常识推理对于人而言是轻而易举的,但是对于机器而言是一个相当大的挑战,所以我们在优化这个过程,寻找让机器也能回答常识问题。常识问答中,所提出的问题根据动机不同划分,可以能涵盖以下几种类型:想法型,反应型,描述型,动机型,需求型,影响型等。对于以上的几种常识问答的类型,当我们人在有先验知识的储备时,是很容易做出推理回答的,但是对于机器而言,就不能直接像人一样做出回答,它通过学习,推理才能够得出最后的正确答案。还有一种解决方法是,让机器先学习大量的先验常识知识模版,然后,再通过提问的问题再对知识库中的常识问题进行查询,最终得到最后的答案。但是,外部知识的引入会涵盖的范围不够广,当外部知识到达一定限度的时候,就无法正确回答问题了。而且,庞大的常识知识库的整理需要耗费高昂的人力物力。所以,我们引入了一个不依赖外部知识的常识问答方法。让模型学习常识问答中,问题是如何根据内容提出的,正确答案应该如何选出来。分析内容与问题的语义信息,挖掘隐藏在句子上下文中的信息,从而推理出候选答案中的正确答案。对于现有的技术,只是使用简单的完全链接的网络来表示内容信息,从而直接得出候选答案的预测。所以造成效果不好的原因有以下几点:1)没有考虑到内容信息与问题信息之间的语义关联关系,没有充分利用丰富的语法和语义信息;2)在语言模型表示的向量时只考虑词头信息,未再考虑完整序列中每个词涵盖的可能被遗漏的信息。所以,我们通过加入问题生成模块,使用内容来生成问题,从而知道,常识问题一般会如何提问,找到其中内容信息与问题信息的语义关联关系。以及,我们在候选答案选择部分加入了卷积神经网络,对完整的序列做一个分类效果,让最后的常识问答准确率得到了提升。综上,我们提出了基于问题生成和卷积神经网络的常识问答方法。
技术实现思路
本专利技术提供一种基于问题生成和卷积神经网络的常识问答方法,该方法可实现选出最优的候选答案。为了达到上述技术效果,本专利技术的技术方案如下:一种基于问题生成和卷积神经网络的常识问答方法,包括以下步骤:S1:构建内容-问题的输入序列,传入BERT语言模型,编码好的向量序列再传入问题生成模块,问题生成模块学习到了内容与问题中的重要信息,再将序列传入共享的BERT语言模型,其中,BERT语言模型是一种预训练的深度双向Transformer语言模型;S2:构建内容-问题-答案的输入序列,传入共享的BERT语言模型,编码成向量形式表示句子;S3:经过BERT语言模型后的内容-问题-答案编码序列,传入文本卷积神经网络中训练,得到对于每个候选项的评分,通过对评分的排序,选取最高的得分选项成为预测答案;S4:完成训练阶段,再将测试集的样例,表示成内容-问题-答案编码序列,放入模型中进行预测答案。进一步地,所述步骤S1的具体过程是:S11:预处理数据集文本,拼接成由内容和问题组成的新组合序列s={c1,c2,…cn,q1,q2,…,qm},其中,c代表内容的上下文序列,ci代表的是内容的上下文序列的第i个词,q代表问题序列,qj代表的是问题序列的第j个词,再将新组合中的每一个单词用一个低维度的,紧密的实数向量进行表示,向量从BERT语言模型的词库中进行匹配,该词库涵盖了30522个词,对于socialIQA数据集只有3%的未登录词;S12:再将该序列向量表示成[cls]<内容>[sep]<问题>[sep]传入BERT预训练语言模型中,其中,[cls]表示句首标志,[sep]表示分割符,并且BERT模型中本身已经包含了对每个单词的语义建模,所以,BERT模型输出的每个词都是带有语义信息的,从而,学习到了内容与问题的相关联的语义信息,输出表示为hqg=BERT{s},其中,BERT代表语言表示模型,s是S11过程中提及的由内容和问题组成的新序列;S13:再将该输出序列放入问题生成模块,首先将传入第一层掩码多头自注意力网络层,该网络表示成s′<t=Multihead(q′<t,q′<t,q′<t),其中q′<t是原问题序列,s′是经过掩码多头自注意力网络后的表示序列,Multihead是掩码多头自注意力网络,再传入多头注意力网络ot=Multihead(s′<t,hqg,hqg),其中ot表示的是新生成的问题序列;S14:将新生成的问题序列,传入一个前馈神经网络o′t=W2(ReLU(otW1+b)),其中,ReLU(x)=max(x,0),W1是权重向量,W2是权重向量,ReLU是激活函数,b是偏移常量,再将o′t经过一个softmax函数来计算预测的生成问题的概率序列q′t=softmax(o′tW),其中W是权重向量。进一步地,所述步骤S2的具体过程是:S21:对于每个常识问答样例,拆分成以下的形式表示,{内容,问题,答案A},{内容,问题,答案B},{内容,问题,答案C},然后转化成BERT语言模型传入的向量形式表示为[cls]<内容>[sep]<问题>[sep]<答案>[sep];S22:将候选样例传入BERT语言模型,输入为e={c1,c2,…cn,q1,q2,…,qm,a1,a2,…,ak},其中,c代表内容的上下文序列,ci代表的是内容的上下文序列的第i个词,q代表问题序列,qj代表的是问题序列的第j个词,a代表候选答案的词序列,al代表候选答案序列的第l个词,随后,经过BERT语言模型,输出表示为h*=BERT{e}。进一步地,所述步骤S3的具体过程如下:S31:将BERT输出的h*转化成矩阵的形式,假设序列中含有s个词,词向量一共有d维,那么对于该序列,便可以得到s行d列的矩阵A∈Rs×d,将A看成是一幅图,使用卷积神经网络去提取特征,在一个句子中,句子间相邻的单词关联性总是很高的,所以只需要使用一维卷积,其中卷积核的宽度就是词向量的维度d,高度是超参数,自由设置;S32:卷积核的设置也与矩阵大小相关,设有一个卷积核,是一个宽度为d,高度为h的的矩阵W,那么W有h×d个参数需要被更新,对于一个序列,经过嵌入层之后,可以得到矩阵A∈Rs×d,那么卷积操作可以用如下公式表示:oi=W·A[i:i+h-1],i=1,2,…,s-h+1,其中,A[i:j]用来表示A的第i行到第j行。在加上偏置b,再对oi+b使用激活函数f激活,最终得到所需要的特征,整理完成后,如公式所示:ci=f(oi+b),对于一个卷积核,本文档来自技高网
...

【技术保护点】
1.一种基于问题生成和卷积神经网络的常识问答方法,其特征在于,包括以下步骤:/nS1:构建内容-问题的输入序列,传入BERT语言模型,编码好的向量序列再传入问题生成模块,问题生成模块学习到了内容与问题中的重要信息,再将序列传入共享的BERT语言模型,其中,BERT语言模型是一种预训练的深度双向Transformer语言模型;/nS2:构建内容-问题-答案的输入序列,传入共享的BERT语言模型,编码成向量形式表示句子;/nS3:经过BERT语言模型后的内容-问题-答案编码序列,传入文本卷积神经网络中训练,得到对于每个候选项的评分,通过对评分的排序,选取最高的得分选项成为预测答案;/nS4:完成训练阶段,再将测试集的样例,表示成内容-问题-答案编码序列,放入模型中进行预测答案。/n

【技术特征摘要】
1.一种基于问题生成和卷积神经网络的常识问答方法,其特征在于,包括以下步骤:
S1:构建内容-问题的输入序列,传入BERT语言模型,编码好的向量序列再传入问题生成模块,问题生成模块学习到了内容与问题中的重要信息,再将序列传入共享的BERT语言模型,其中,BERT语言模型是一种预训练的深度双向Transformer语言模型;
S2:构建内容-问题-答案的输入序列,传入共享的BERT语言模型,编码成向量形式表示句子;
S3:经过BERT语言模型后的内容-问题-答案编码序列,传入文本卷积神经网络中训练,得到对于每个候选项的评分,通过对评分的排序,选取最高的得分选项成为预测答案;
S4:完成训练阶段,再将测试集的样例,表示成内容-问题-答案编码序列,放入模型中进行预测答案。


2.根据权利要求1所述的基于问题生成和卷积神经网络的常识问答方法,其特征在于,所述步骤S1的具体过程是:
S11:预处理数据集文本,拼接成由内容和问题组成的新组合序列s={c1,c2,…cn,q1,q2,…,qm},其中,c代表内容的上下文序列,ci代表的是内容的上下文序列的第i个词,q代表问题序列,qi代表的是问题序列的第j个词,再将新组合中的每一个单词用一个低维度的,紧密的实数向量进行表示,向量从BERT语言模型的词库中进行匹配,该词库涵盖了30522个词,对于socialIQA数据集只有3%的未登录词;
S12:再将该序列向量表示成[cls]<内容>[sep]<问题>[sep]传入BERT预训练语言模型中,其中,[cls]表示句首标志,[sep]表示分割符,并且BERT模型中本身已经包含了对每个单词的语义建模,所以,BERT模型输出的每个词都是带有语义信息的,从而,学习到了内容与问题的相关联的语义信息,输出表示为hqg=BERT{s},其中,BERT代表语言表示模型,s是S11过程中提及的由内容和问题组成的新序列;
S13:再将该输出序列放入问题生成模块,首先将传入第一层掩码多头自注意力网络层,该网络表示成s′<t=Multihead(q′<t,q′<t,q′<t),其中q′<t是原问题序列,s′是经过掩码多头自注意力网络后的表示序列,Multihead是掩码多头自注意力网络,再传入多头注意力网络ot=Multihead(s′<t,hqg,hqg),其中ot表示的是新生成的问题序列;
S14:将新生成的问题序列,传入一个前馈神经网络
o′t=W2(ReLU(otW1+b)),其中,ReLU(x)=max(x,0),W1是权重向量,W2是权重向量,ReLU是激活函数,b是偏移常量,再将o′t经过一个softmax函数来计算预测的生成问题的概率序列q′t=softmax(o′tW),其中W是权重向量。


3.根据权利要求2...

【专利技术属性】
技术研发人员:周瑞莹梁艺阐印鉴
申请(专利权)人:中山大学
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1