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

适用于对话系统的以会话内容驱动的问题生成方法技术方案

技术编号:34263222 阅读:49 留言:0更新日期:2022-07-24 14:18
本发明专利技术公开了一种适用于对话系统的以会话内容驱动的问题生成方法,步骤一:从包含“问题+答案”的数据集中标注和提取答案部分的关键词作为命名实体;步骤二:利用约束语言模型CLM将命名实体生成带有关键词的句子的序列;步骤三:使用端到端模型框架进行问题生成,端到端框架模型包含编码器模块、解码器模块以及连接两者的中间状态向量,编码器模块通过学习输入的名实体,将其编码成一个固定大小的状态向量,继而将该向量传递给解码器模块,解码器模块再通过对这个状态向量的学习来进行输出一个问句;步骤四:利用门控自注意力机制进行对话流建模。与现有技术相比,本发明专利技术流程简单,自动生成符合预期的并且有意义的问题的效率更高。更高。更高。

Session content driven problem generation method for dialog system

【技术实现步骤摘要】
适用于对话系统的以会话内容驱动的问题生成方法


[0001]本专利技术属于自然语言处理
,特别是涉及一种适用于对话系统的问题生成方法。

技术介绍

[0002]对话是人与人之间寻求和交流信息的主要手段,而提出有用的问题是有效交流知识的重要前提。问题生成(QG)任务就是指给定各种各样的输入(如原始文本,数据库,语义表示)自动生成问题。虽然不像问题回答(QA)任务那么突出,但在自然语言处理领域中仍然是一个重要的任务,问题生成可以有效地应用于很多领域,包括回答问题、对话系统和教育领域等。
[0003]传统的问题生成的实现方法依赖于启发式规则,即在语法和词法分析之后,对句子进行句法转换以生成相应的问题。然而,这些方法需要特别精心设计的转换和生成规则,因此导致泛化性很低。随着深度学习方法的不断发展,越来越多的深度学习方法如循环神经网络(RNN)、长短期记忆网络(LSTM)以及门控循环单元(GRU)用于解决对话系统的技术问题。
[0004]对话的问题生成任务比单论的问题生成任务更具有挑战性,因为在对话中问题本身往往高度模糊,需要模型对围绕文章文本和对话历史的上下文有更深刻的理解,才能提出有实际意义的问题。大多数问题生成任务研究只使用短文和对话历史作为输入(即不知道答案)生成问题,而答案感知对话问题生成模型则是基于目标答案、对话历史和篇章生成问题。尽管答案感知的对话问题生成模型寻求改善生成的对话流,但目前的答案感知的问题生成模型存在一些问题,包括不准确的共引用对齐、对话不一致、不正确的语法以及无法生成许多不同类型的问题。相关的现有技术主要集中在不知道答案的对话问题生成任务上。
[0005]人们在生活中通过渐进式问答的形式逐渐的接收以及传递信息以完成最终的信息收取和信息理解,但是传统的机器阅读理解并不具备这一功能。基于这种功能需求,产生了一个用来衡量机器进行对话式问答能力的数据集CoQA。在日常对话中,发现提问的主要目的就是要通过答案来提及某个事物或某件事,或者说,在日常对话中,人们并不会注意使用正确的语法格式来表达自己的观点,更多的是简略的表达出自己认为重要的部分,而在做出提问的过程中也并非需要整个答案的全部信息,现有技术都是基于整个答案以及其他的辅助特征来完成的对话问题生成任务。

技术实现思路

[0006]本专利技术旨在提出一种适用于对话系统的以会话内容驱动的问题生成方法,通过引导后续对话内容的场景,实现了自动生成符合预期的并且有意义的问题的任务。
[0007]本专利技术的一种适用于对话系统的以会话内容驱动的问题生成方法,该方法包括以下步骤:
[0008]步骤一:从包含“问题+答案”的数据集中标注和提取答案部分的关键词作为命名实体,以该命名实体作为输入;
[0009]步骤二:利用约束语言模型CLM将作为输入的命名实体生成带有关键词的句子的序列,作为步骤三的输入;具体如下:
[0010]利用CLM模型一方面在当前输入的单词同时生成位于当前输入之前的单词和位于当前输入之后的单词,另一方面在一个句子w=w1,

,w
l
,输入的单词w
s
把句子划分成两部分,包括:关于前s个单词的前项序列为w
s
,w
s
‑1,w
s
‑2,

,w1;关于后l

s+1个单词的后项序列为w
s
,w
s+1
,w
s+2


,w
l
,即在每个时间步中,单词嵌入的连接作为输入,生成序列是在最后一个时间步中生成的单词,将嵌入信息提供给一个共享的隐藏层,然后两个输出层分别预测正向和反向序列中的单词,从而生成一个包含单词w
s
的句子;
[0011]步骤三:使用端到端模型框架进行问题生成,端到端框架模型包含编码器模块、解码器模块以及连接两者的中间状态向量,编码器模块通过学习输入的名实体,将其编码成一个固定大小的状态向量,继而将该向量传递给解码器模块,解码器模块再通过对这个状态向量的学习来进行输出一个问句;
[0012]步骤3.1:利用编码器模块通过篇章编码和对话编码两部分来对两个来源的信息进行联合编码:
[0013]利用一个双向LSTM网络模型进行篇章编码,以单词嵌入表示w
i
和答案位置嵌入表示a
i
的串联作为输入x
i
=[w
i
;a
i
],使用典型的BIO标记方案来表示答案范围,并将段落中的每个标记映射到相应的答案位置嵌入表示B_ANS,I_ANS,O,B_ANS表示答案的开始,I_ANS表示答案的中间部分,O表示不是答案部分;整个段落用双向LSTM编码器的隐藏状态表示,即其中,m表示序列长度,p表示篇章;
[0014]进行对话编码,将对话历史C
i
‑1建模成“问题

答案”的序列C
i
‑1={(Q1,A1,),

,(Q
i
‑1,A
i
‑1,)}使用<q><a>进行问题和答案的标注并连接起来形成一个token序列(<q>,q1,

q
m
;<a>,a1,

a
m
),其中,<q>表示问句标签;<a>表示答案句标签;
[0015]使用一个token级别的双向LSTM来获得问答对的上下文的表示:
[0016][0017]其中,i表示是轮数,表示token级别的双向LSTM得到的问答对的隐向量表示,m与q1,

q
m
中的m表示对应;
[0018]在不同的问答轮数中采用上下文级LSTM来学习上下文的依赖关系:
[0019][0020]为下一轮对话生成一个问题Q
i
,表达式如下:
[0021][0022]其中,P是一个给定的篇章,C
i
‑1={(Q1,A1,),

,(Q
i
‑1,A
i
‑1,)}是对话历史,A
i
是当前对话的答案;
[0023]步骤3.2:利用包含注意力机制的LSTM网络模型对进行解码,所生成的一个新的序列将作为生成的问题:
[0024]在每个解码时间步t,由读取单词嵌入w
t
和前一解码时间步t

1的隐藏状态来生成当前的隐藏状态:
[0025][0026]在每个解码时间步,使用标准的注意力机制分别计算篇章注意力(α1,

,α
m
)和对话本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种适用于对话系统的以会话内容驱动的问题生成方法,其特征在于,该方法包括以下步骤:步骤一:从包含问题+答案的数据集中标注和提取答案部分的关键词作为命名实体,以该命名实体作为输入;步骤二:利用约束语言模型CLM将作为输入的命名实体生成带有关键词的句子的序列,作为步骤三的输入;具体如下:利用CLM模型一方面在当前输入的单词同时生成位于当前输入之前的单词和位于当前输入之后的单词,另一方面在一个句子w=w1,

,w
l
,输入的单词w
s
把句子划分成两部分,包括:关于前s个单词的前项序列为w
s
,w
s
‑1,w
s
‑2,

,w1;关于后l

s+1个单词的后项序列为w
s
,w
s+1
,w
s+2


,w
l
,即在每个时间步中,单词嵌入的连接作为输入,生成序列是在最后一个时间步中生成的单词,将嵌入信息提供给一个共享的隐藏层,然后两个输出层分别预测正向和反向序列中的单词,从而生成一个包含单词w
s
的句子;步骤三:使用端到端模型框架进行问题生成,端到端框架模型包含编码器模块、解码器模块以及连接两者的中间状态向量,编码器模块通过学习输入的名实体,将其编码成一个固定大小的状态向量,继而将该向量传递给解码器模块,解码器模块再通过对这个状态向量的学习来进行输出一个问句;步骤3.1:利用编码器模块通过篇章编码和对话编码两部分来对两个来源的信息进行联合编码:利用一个双向LSTM网络模型进行篇章编码,以单词嵌入表示w
i
和答案位置嵌入表示a
i
的串联作为输入x
i
=[w
i
;a
i
],使用典型的BIO标记方案来表示答案范围,并将段落中的每个标记映射到相应的答案位置嵌入表示B_ANS,I_ANS,O,B_ANS表示答案的开始,I_ANS表示答案的中间部分,O表示不是答案部分;整个段落用双向LSTM编码器的隐藏状态表示其中,m表示序列长度,p表示篇章;进行对话编码,将对话历史C
i
‑1建模成“问题

答案”的序列C
i
‑1={(Q1,A1,),

,(Q
i
‑1,A
i
‑1,)}使用<q><a>进行问题和答案的标注并连接起来形成一个token序列(<q>,q1,

q
m
;<a>,a1,

a
m
),其中,<q>表示问句标签;<a>表示答案句标签;使用一个token级别的双向LSTM来获得问答对的上下文的表示:其中,i表示是轮数,表示token级别的双...

【专利技术属性】
技术研发人员:孙鑫王博
申请(专利权)人:天津大学
类型:发明
国别省市:

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

1