【技术实现步骤摘要】
基于知识增强和双图交互的问题生成方法及系统
[0001]本专利技术属于自然语言处理
,具体涉及一种基于知识增强和双图交互的问题生成方法及系统。
技术介绍
[0002]问题生成(Question Generation,QG)旨在通过一系列输入如文本、知识库、图片、结构化SQL等,以知识点/事实为答案,创建类似人类的逆向多角度的、信息量丰富的问句。在开放域对话领域,作为冷启动来开启新话题,以减少无信息量的闲聊,或通过提问来获得反馈,以更加了解用户,使人机对话更有趣;QG可以增加数据库中优质问答对的数量,以便在基于文本相似度计算的问答系统中提高召回率;在搜索系统里,对搜索的结果进行提问,可以快速的查找出所需信息,提高检索效率;在教育领域,根据授课内容智能生成高质量问题,帮助学生理解细节,根据材料生成相应问题,帮助老师智能备课等等。综上所述,问题生成技术应用广泛,相关研究工作仍然面临着几项挑战,因此对问题生成技术的研究具有学术研究意义与实际应用价值。
[0003]随着编码器解码器神经网络模型被应用到自然语言生成任务,问题生成任务的研究工作也开始使用编码器解码器神经网络实现“序列到序列”的问题生成,将基于语法规则模板方法的“问什么”和“怎么问”两个步骤整合成了一个端到端训练的任务,基于“序列到序列”编码器解码器模型的问题生成方法逐渐成为问题生成技术的主流。Du等最先将“序列到序列”编码器解码器神经网络模型应用到问题生成任务,实现了根据给出的一个句子或者段落生成问题,但不能给定答案,仅能根据给出的句子或者段落生成问 ...
【技术保护点】
【技术特征摘要】
1.一种基于知识增强和双图交互的问题生成方法,其特征在于,包括以下步骤:步骤A:采集上下文句子和对应的问答对,构建用于问题生成的训练数据集DR;步骤B:使用训练数据集DR以及知识图谱训练基于知识增强和双图交互网络的深度学习网络模型T;步骤C:将上下文句子和答案输入到训练好的深度学习网络模型T中,输出生成的问题。2.根据权利要求1所述的基于知识增强和双图交互的问题生成方法,其特征在于,所述步骤B具体包括以下步骤:步骤B1:对训练数据集DR中的所有训练样本进行初始编码,从而得到上下文句子的初始表征向量E
c
和上下文句子邻接矩阵A
c
;将预测的疑问词拼接在答案后面,得到答案的初始表征向量E
a
;同时以上下文句子句法依赖树、答案句法依赖树为基础,从知识图谱进行节点扩充,得到知识增强上下文句子图以及知识增强答案图,其邻接矩阵分别表示为A
ckg
、A
akg
,并使用知识图谱将每一个节点信息映射为连续的低维向量,最终形成上下文句子和答案的知识扩展表征向量E
ck
、E
ak
;步骤B2:将步骤B1得到的上下文句子的初始表征向量E
c
和答案的初始表征向量E
a
分别输入到两个不同的双向长短期记忆网络中,得到句子表征向量H
s
和答案表征向量H
a
;步骤B3:将步骤B1得到的图邻接矩阵A
ckg
和上下文句子的知识扩展表征向量E
ck
输入到一个K层图卷积网络中,将图邻接矩阵A
akg
和答案的知识扩展表征向量E
ak
输入到另外一个K层图卷积网络中,通过图卷积网络进行节点信息更新学习外部知识,得到知识增强的上下文句子表征G
ckg
、知识增强的答案表征G
akg
,将步骤B2得到的句子表征向量H
s
和知识增强的上下文句子表征G
ckg
输入到多头注意力当中,得到增强的上下文句子表征向量H
ckg
,将答案表征向量H
a
和知识增强的答案表征G
akg
输入到另外一个多头注意力当中,得到增强的答案上下文表征向量H
akg
;步骤B4:将步骤B3得到的上下文句子表征向量H
ckg
与上下文句子的Glove嵌入E
cs
、BERT嵌入E
cb
进行拼接得到句子表征H
cgb
,将步骤B3得到的答案表征向量H
akg
与答案的Glove嵌入E
as
、BERT嵌入E
ab
进行拼接得到答案表征H
agb
,将句子表征H
cgb
和答案表征H
agb
输入到注意机制当中得到上下文可知的答案表征H
ac
,最后将增强的上下文句子表征向量H
ckg
与H
ac
进行拼接得到表征向量H
cka
,然后将H
cka
输入到双向长短期记忆网络中,得到与答案相关的上下文句子表征向量H
d
;步骤B5:将步骤B1的邻接矩阵A
c
与步骤B4得到的表征向量H
d
输入到一个K层图卷积网络中,学习得到上下文句子的结构信息表征G
cca
;通过表征向量H
d
和注意机制构造语义相关权重图,其邻接矩阵表示为A
w
,将矩阵A
w
和表征向量H
d
输入到一个K层图卷积网络中,学习得到上下文句子的语义信息表征G
wca
;构造一个虚拟图进行图间信息交互,即将一个句子复制一次并拼接在同一个句子后面进行构图,两个句子中相同单词之间用边连接,其值为1,不同单词直接不用边连接,其值为0,虚拟图的邻接矩阵表示为A
v
,将结构信息特征G
cca
和语义信息特征G
wca
拼接起来表示为G
cw
,将矩阵A
v
与G
cw
输入到一个K层图卷积网络中,学习得到最终的上下文句子表征H
e
;步骤B6:用最终的上下文句子表示H
e
计算上下文向量c
t
,利用长短期记忆网络作为解码器来逐词生成问题,将前一个字嵌入w
t
‑1和上下文向量c
t
一起输入到长短期记忆网络中计算新的隐藏状态s
t
,根据s
t
和上下文向量c
t
计算生成单词的概率p
gen
,同时根据隐藏状态s
t
和上下文向量c
t
计算一个复制开关g以决定是从输入句子拷贝单词还是生成一个新的单词,根据目标损失函数loss,利用反向传播方法计算深度学习网络模型中各参数的梯度,并利用随机梯度下降方法更新各参数;步骤B7:当深度学习网络模型每次的BLEU
‑
4评分未更新次数达到所给定阈值或者达到最大迭代次数,则终止深度学习网络模型的训练过程。3.根据权利要求2所述的基于知识增强和双图交互的问题生成方法,其特征在于,所述步骤B1具体包括以下步骤:步骤B11:对训练数据集DR进行遍历,对其中的上下文句子和答案以及问题进行分词处理并去除停用词之后,DR中的每一个训练样本表示为ds=(s,a,q);其中,s为上下文句子的文本内容,a为答案的内容;q为模型要生成的目标问题;上下文句子s表示为:其中,为上下文句子中的第i个词,i=1,2,
…
,m,m为上下文句子s的词语数量;答案a表示为:其中,为答案中的第i个词,i=1,2,
…
,n,n为答案a的词语数量;目标问题q表示为:其中,为目标问题中的第i个词,i=1,2,
…
,l,l为目标问题q的词语数量;步骤B12:对步骤B11得到的上下文句子进行编码,得到上下文句子的初始表征向量E
cs
;其中,E
cs
表示为:其中,为第i个词所对应的词向量,通过在预训练的词向量矩阵中查找得到,其中d表示词向量的维度,|V|是词典V中的词语数量;步骤B13:对上下文句子进行词性标注和命名实体识别,得到词性标注转换的连续表示向量E
cp
和命名实体识别转换的连续表示向量E
cn
;其中,E
cp
表示为:其中,为第i个词所对应的词性向量,通过在词性向量矩阵中查找得到,其中d1表示词性向量的维度,|V1|是词表V1中的词性数量;E
cn
表示为:其中,为第i个词所对应的实体向量,通过在实体向量矩阵中查找得到,其中d2表示实体向量的维度,|V2|是词表V2中的词性数量;
步骤B14:在上下文句子s的前面插入[CLS]标记,尾部插入[SEP]标记,构造BERT模型的句子输入序列s1;将s1输入到BERT模型当中,得到模型的第i层输出序列模型最后一层输出序列E
b
;其中,句子输入序列表示为:其中,模型的第i层输出序列表示为:其中,模型最后一层输出序列E
cb
表示为:其中为第i个词所对应的BERT词嵌入向量,通过在BERT词嵌入向量矩阵中查找得到,其中d3表示实体向量的维度,|V3|是词表V3中的词数量;步骤B15:将步骤B12得到的E
cs
,步骤B13得到的E
cp
和E
cn
,步骤B14得到的E
cb
进行拼接得到最终的上下文句子的初始表征向量E
c
;其中,E
c
表示为:其中,m为单词个数,为第i个单词的初始表征向量,可以表示为:其中,[;]表示拼接操作;步骤B16:对上下文文本进行句法依赖解析,生成无向的句法依赖结构图,并编码为对应的m阶句法结构依赖邻接矩阵A
c
;其中,A
c
的表示为:的表示为:步骤B17:进行疑问词生成,首先对答案进行命名实体识别,获取对应的疑问词;在获取到疑问词后将其拼接到答案后面,获得新的答案表示对答案表示进行编码,得到上下文句子的初始表征向量E
as
;在答案表示的前面插入[CLS],尾部插入[SEP]标记,构造BERT模型的答案输入序列将输入到BERT模型当中,得到模型的第i层输出序列模型最后一层输出序列E
ab
;最终将E
as
和E
ab
进行拼接得到最终的答案初始表征向量E
a
;其中,表示为:其中,是原答案词,是预测的疑问词;E
as
表示为:
其中,为第i个词所对应的词向量,通过在预训练的词向量矩阵中查找得到,其中d表示词向量的维度,|V|是词典V中的词语数量;其中,答案输入序列可以表示为:其中,模型的第i层输出序列表示为:其中,模型最后一层输出序列E
ab
表示为:其中,为第i个词所对应的BERT词嵌入向量,通过在BERT词嵌入向量矩阵中查找得到,其中d3表示实体向量的维度,|V3|是词表V3中的词数量;E
a
可以表示为:其中,n+1为答案中单词个数,为第i个单词的初始表征向量,表示为:其中[;]表示拼接操作;步骤B18:以上下文句法依赖树和答案句法依赖树为基础从知识图谱中扩充知识节点,对于句子只扩充名词、形容词、数词、副词中的一种,对于答案由于其长度较短,对所有词进行扩充;对于依赖树的每个节点,选择知识图谱中ISA、Synonym、SymbolOf、SimilarTo以及DefinedAs五种关系进行扩充,将扩展的知识节点按照知识图谱给定的权重进行排序,选取权重值最大的两个词进行扩充;扩展节点和原句子节点形成知识增强上下文句子图,其邻接矩阵表示为A
ckg
,扩展节点和原答案节点形成知识增强答案图,其邻接矩阵表示为A
akg
;利用知识图谱本身的知识嵌入将每个节点映射为连续低维向量,最终的句子知识嵌入向量E
ck
和答案知识嵌入向量E
ak
;其中,E
ck
表示为:其中,z为扩充之后的上下文句子节点总个数,d为知识词向量的维度,为原上下文句子的知识嵌入向量,为扩充的句子节点的知识嵌入表示;其中,A
ckg
表示为:其中,为1表示节点之间有边连接,0则表示没有;
其中,E
ak
表示为:其中r为扩充之后的答案节点总个数,d为知识词向量的维度,为原上下文句子的知识嵌入向量,为扩充的答案节点的知识嵌入表示;其中,A
akg
表示为:其中,为1表示节点之间有边连接,0则表示没有,r为扩充之后句子节点的总个数。4.根据权利要求3所述的基于知识增强和双图交互的问题生成方法,其特征在于,所述步骤B2具体包括以下步骤:步骤B21:将上下文句子s的初始表征向量E
c
...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。