CN112948558B - 面向开放域对话系统的上下文增强的问题生成方法及装置 - Google Patents

面向开放域对话系统的上下文增强的问题生成方法及装置 Download PDF

Info

Publication number
CN112948558B
CN112948558B CN202110259592.9A CN202110259592A CN112948558B CN 112948558 B CN112948558 B CN 112948558B CN 202110259592 A CN202110259592 A CN 202110259592A CN 112948558 B CN112948558 B CN 112948558B
Authority
CN
China
Prior art keywords
context
word
question
words
topic
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
Application number
CN202110259592.9A
Other languages
English (en)
Other versions
CN112948558A (zh
Inventor
凌艳香
梁政
张清辉
王天琦
陶卿曌
蔺茜
祁帅辉
贺岳星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202110259592.9A priority Critical patent/CN112948558B/zh
Publication of CN112948558A publication Critical patent/CN112948558A/zh
Application granted granted Critical
Publication of CN112948558B publication Critical patent/CN112948558B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3346Query execution using probabilistic model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Machine Translation (AREA)

Abstract

一种面向开放域对话系统的上下文增强的问题生成方法及装置,其特征在于:通过分层编码器对对话上下文进行向量化语义表示作为问题内容;产生与对话上下文相关的话题词;基于对话上下文的语义表示、及预测的问题内容,进一步预测问题模式;将预测得到的问题模式对应的疑问词作为循环解码器的初始输入;同时通过联合注意力机制引入对话上下文语义和前述话题词语义,在预测的问题模式的驱动下,通过循环解码器生成问题。在对话系统中基于对话环境通过设置预设问题内容及问题模式,增强上下文结合程度,使系统生成的问题与对话的贴合度更贴近,使得用户的自然体验感得到增强,使人机对话的时间得到延长,从而可进一步扩大人机对话的应用场景及范围。

Description

面向开放域对话系统的上下文增强的问题生成方法及装置
技术领域
本发明属于人工智能领域,尤其涉及一种面向开放域对话系统的上下文增强的问题生成方法及装置。
背景技术
问题生成(Question Generation,QG)的目的是为给定的输入生成一个相关的问题。作为一种数据增强方法,它已经被广泛用于为机器阅读理解(Machine ReadingComprehension,MRC)和问答系统(Question Answering,QA)自动创建大规模训练数据。在开放域对话系统中,问题生成可以作为一个基本的沟通技巧来扩展当前的话题或开始新话题,以提高对话的吸引力和参与度,实现持久的多轮交互。
面向开放域对话系统的问题生成,是一项新兴且极具挑战性的任务。首先,它的主要目的是促进对话、加强对话的参与度,因此问题的内容应该包含一些新的且与对话历史相关的话题,这些话题虽然没有出现,但与对话历史语义相关。其次,开放域对话中的问题并不总是有确定的答案,大多呈现“一对多”现象。答案信息的缺失,进一步增加了问题生成的难度。最后,在机器阅读理解或问答系统中,问题生成模型的输入通常是信息丰富的文本,包含很多实体,而在开放域对话中,它需要处理包含大量口语的简短的对话文本,这些文本在词语表达上可能存在不一致,语义易有歧义,往往会对生成问题的多样性和信息性产生负面影响。
当前,针对面向开放域对话系统的问题生成的研究工作还较少。已公开的方法只考虑了用户最近的语句进行问题生成,忽略了用户和系统之间的对话历史。在开放域对话系统中,尤其是多轮对话场景下,不考虑对话上下文、生成随机自由的问题,对于提高对话参与度是没有帮助的,甚至还会因为语义不一致等问题,造成不自然的用户体验,使其提前终结对话。
此外,众所周知,基于神经网络的模型需要在大规模语料库上进行训练学习。当前绝大多数自动问题生成方法,均需要在<输入,真实问题>这种成对数据上进行训练,但在现实中获取这种数据并不容易,尤其对于开放域对话预料更是如此。
发明内容
本发明旨在解决上述问题,提供一种面向开放域对话系统的上下文增强的问题生成方法及装置。
第一方面,本发明提供一种面向开放域对话系统的上下文增强的问题生成方法,通过分层编码器对对话上下文进行向量化语义表示,以此为输入产生与对话上下文相关的话题词,作为问题内容;
所述产生与对话上下文相关的话题词,包括回顾机制和转移机制;所述回顾机制直接从对话上下文中选择提问的关键词,控制所生成问题的语义一致性;
所述回顾机制的过程包括:对于对话上下文中的词,首先去除停用词,然后将每个对话视为一个文档,每个词视为一个词项,计算每个词的TF-IDF值;
根据每个词的TF-IDF值选择上下文关键词;给定上下文关键词集合K={k1,...,kj,...,k|K|},kj表示一个上下文关键词,j∈[1,|K|],|K|为上下文关键词数量;
利用一个由H层多层感知机组成的深度模型来预测一个回顾向量,即μ,其中μ中每个元素的值表示回顾分数,计算过程如下:
Figure GDA0003765788120000021
μ=Sigmoid(oH),其中
Figure GDA0003765788120000022
表示一个单层感知机,其激活函数为Relu,h∈[1,H],其中,H代表多层感知机的层数;μ={μ1,...,μj,...,μ|K|},其中μj表示上下文关键词kj对应的回顾分数;
根据回顾分数大小对μ进行排序,将值大小排名前L位的上下文关键词作为回顾话题词,标记为KR;由于KR已经在对话上下文中出现过,因此它与对话主题的相关性是有保障的;
将KR输入到一个词嵌入层,获得回顾话题词的向量表示,标记为
Figure GDA0003765788120000023
所述转移机制从基于点间互信息(Point-wise Mutual Information,PMI)的候选语料库中引入新话题词,并通过衡量新话题词与对话上下文的连贯性来进一步过滤噪声,扩展现有的聊话题,进而促进对话;
基于对话上下文的语义表示、及预测的问题内容,进一步预测问题模式,即确定将要生成的问题属于哪一种问句类型;
将预测得到的问题模式对应的疑问词作为循环解码器的初始输入;同时通过联合注意力机制引入对话上下文语义和前述话题词语义,在预测的问题模式的驱动下,通过一个循环解码器生成问题。
进一步,本发明所述面向开放域对话系统的上下文增强的问题生成方法,所述通过分层编码器对对话上下文进行向量化语义表示的过程包括:给定对话上下文X={U1,...,U|X|},分层上下文编码器首先采用一个语句编码器来获得X中每个语句的向量表示,然后通过一个上下文编码器对语句向量进行顺序整合;给定语句
Figure GDA0003765788120000031
其中Ui∈X,语句编码器通过双向门控循环神经网络BiGRU(Bidirectional Gated RecurrentUnit)将每个词wn,i转换为一个隐向量
Figure GDA0003765788120000032
其中n∈[1,Ni],Ni表示语句Ui包含的词数量:
Figure GDA0003765788120000033
其中
Figure GDA0003765788120000034
是词wn,i的初始词向量;
然后,上下文编码器通过一个单向门控循环神经网络(Gated Recurrent Unit,GRU)获得上下文的向量表示,
Figure GDA0003765788120000035
其中,
Figure GDA0003765788120000036
是语句Ui最后一个词的隐向量
Figure GDA0003765788120000037
为篇章级别上Ui的向量表示。将
Figure GDA0003765788120000038
视为对话上下文的语义表示,它不仅包含了上下文中各个语句的语义,同时也捕捉了语句之间的顺序关系。
对话是一个连贯的交流过程,每个语句可能有不同的焦点,但对话整体主题保持一致。
提出一个与上下文不连贯的无关问题可能会导致不自然的用户体验,并导致对话终止。回顾机制的基本思想是从对话上下文中选择问题内容,从而使待生成问题呈现上下文连贯性。
进一步,本发明所述面向开放域对话系统的上下文增强的问题生成方法,所述转移机制的过程包括:基于开放域对话系统的训练数据构建一个点间互信息PMI矩阵;将上下文X中的名词、动词、形容词被记为触发词;将问题中的名词、动词、形容词被记为目标词;
词w1相对于词w2的点间互信息PMI指数计算为:
Figure GDA0003765788120000041
V为预先定义好的词汇表;
此处,p<trigger,target>(w1,w2)表示词w1出现于触发词且词w2出现于目标词的联合概率;ptrigger(w1)表示词w1出现于触发词的独立概率;ptarget(w2)表示词w2出现于目标词的独立概率;
基于PMI矩阵,给定任意词w,其中w∈V,,它与上下文X的相关性计算如下:
Figure GDA0003765788120000042
根相关性大小,选择多个词,作为转移候选词,标记为T;
对于每个转移候选词tm∈T,其中m∈[1,|T|],首先将它的词向量
Figure GDA0003765788120000043
与上下文向量表示中最后一个隐向量
Figure GDA0003765788120000044
拼接,即
Figure GDA0003765788120000045
其次,将拼接向量输入到一个单层感知机,激活函数为tanh,然后通过一个线性映射矩阵W和一个Sigmoid层;
最后,tm将会得到一个分数δm,即转移分数,它表示tm与对应上下文X的连贯程度;
δm计算过程如下:
Figure GDA0003765788120000046
在预测得到的转移向量δ={δ1,...,δ|T|}基础上,根据值大小对其进行排序,并选择值大小排名前L的转移候选词作为转移话题词,标记为TT;将TT通过一个词嵌入层,获得转移话题词的向量表示,标记为
Figure GDA0003765788120000047
在开放域对话中,一个问题不仅可以用来深化或澄清已有的话题,还可以引入与对话语境相关但尚未出现的新话题。然而,从一个开放领域中选择转移话题词是一项极具挑战性的任务,因为候选词数量太多,很容易引入噪声,最终损害问题的一致性。转移机制旨在利用对话上下文首先产生相对粗糙的转移候选词,然后过滤掉不相关的噪声,从而产生更准确的转移话题词。
进一步,本发明所述面向开放域对话系统的上下文增强的问题生成方法,所述预测问题模式的过程包括:首先将上下文向量表示、回顾话题词向量表示和转移话题词向量表示连接成一个序列,然后将这个长度为(|X|+|KR|+|TT|)的向量输入到一个单向门控循环神经网络中,过程如下:
Figure GDA0003765788120000051
Figure GDA0003765788120000052
其中ek和et分别是回顾话题词和转移话题词的词向量;
Figure GDA0003765788120000053
是第l个隐向量且l∈[1,|X|+|KR|+|TT|],其中|X|表示上下文中包含的语句数量,|KR|表示回顾话题词数量,|TT|表示转移话题词数量;
然后,将最后一个隐向量
Figure GDA0003765788120000054
进行线性映射,并输入到一个Softmax层,如下:
Figure GDA0003765788120000055
其中WQ为线性映射矩阵,P(Qp)为问题模式的概率分布。
问题模式是指问题类型,在问题生成过程中起着重要的引导作用;如将问题模式分以下几种类型:包括yes/no,what,who,how,where,when,why,which。每个模式都可以用一个或几个有代表性的疑问词来识别,例如,模式when对应的是“when,what time”等词。
进一步,本发明所述面向开放域对话系统的上下文增强的问题生成方法,所述生成问题采用基于门控循环神经网络(GRU)的解码器和联合注意力机制来实现生成过程,包括:解码器第n个隐状态
Figure GDA0003765788120000056
计算如下:
Figure GDA0003765788120000057
Figure GDA0003765788120000058
其中,
Figure GDA0003765788120000059
是解码器在第(n-1)步生成的词
Figure GDA00037657881200000510
的词向量;其中
Figure GDA00037657881200000511
Figure GDA00037657881200000512
通过以下过程获得:
Figure GDA0003765788120000061
其中,αi,n、ρj,n和βm,n分别是上下文注意力机制、回顾注意力机制和转移注意力机制的注意力权重;
Figure GDA0003765788120000062
是第i个上下文向量表示;
Figure GDA0003765788120000063
Figure GDA0003765788120000064
分别是回顾话题词kj和转移话题词tm的词向量;
根据隐向量
Figure GDA0003765788120000065
解码器在第n步的词概率分布计算如下:
Figure GDA0003765788120000066
其中Wdec是一个矩阵,将
Figure GDA0003765788120000067
的维度转化为词汇表大小,即|V|;
通过以上过程逐词生成问题Q,
Figure GDA0003765788120000068
例如,如果预测的问题模式是what类型,则将疑问词“what”作为问题解码器的第一个输入。考虑到yes/no模式通常有多种疑问词,比如“do,is,may,can,…”,选择具有代表性的“do”作为其普遍疑问词。
进一步,本发明所述面向开放域对话系统的上下文增强的问题生成方法,还包括在开放域对话系统原有的训练数据基础上通过自监督的方式,为预测的问题模式、选出的回顾话题词及预测的转移话题词自动生成标记数据,并将所生成的标记数据用于辅助训练任务,与主要的问题生成任务一起进行多任务学习。
第二方面,本发明提供一种面向开放域对话系统的上下文增强的问题生成装置,包括问题内容生成模块,用于通过分层编码器对对话上下文进行向量化语义表示,以此为输入产生与对话上下文相关的话题词,包括回顾机制和转移机制;所述回顾机制直接从对话上下文中选择提问的关键词,控制所生成问题的语义一致性;所述转移机制从基于点间互信息的候选语料库中引入新话题词,并通过衡量新话题词与对话上下文的连贯性来进一步过滤噪声;所述回顾机制的过程包括:对于对话上下文中的词,首先去除停用词,然后将每个对话视为一个文档,每个词视为一个词项,计算每个词的TF-IDF值;根据每个词的TF-IDF值选择上下文关键词;给定上下文关键词集合K={k1,...,k j,...,k |K|},k j表示一个上下文关键词,j∈[1,|K|],|K|为上下文关键词数量;
利用一个由H层多层感知机组成的深度模型来预测一个回顾向量,即μ,其中μ中每个元素的值表示回顾分数,计算过程如下:
Figure GDA0003765788120000071
μ=Sigmoid(oH),其中
Figure GDA0003765788120000072
表示一个单层感知机,其激活函数为Relu,h∈[1,H],其中,H代表多层感知机的层数;μ={μ1,...,μj,...,μ|K|},其中μj表示上下文关键词kj对应的回顾分数;
根据回顾分数大小对μ进行排序,将值大小排名前L位的上下文关键词作为回顾话题词,标记为KR
将KR输入到一个词嵌入层,获得回顾话题词的向量表示,标记为
Figure GDA0003765788120000073
问题模式生成模块,用于基于对话上下文的语义表示、及预测的问题内容预测问题模式,即确定将要生成的问题属于哪一种问句类型;
生成问题模块,用于将预测得到的问题模式对应的疑问词作为循环解码器的初始输入;同时通过联合注意力机制引入对话上下文语义和前述话题词语义,在预测的问题模式的驱动下,通过一个循环解码器生成问题。
第三方面,本发明提供一种面向开放域对话系统的上下文增强的问题生成电子装置,包括存储器和处理器;所述存储器,用于存储计算机程序;所述处理器,用于当执行所述计算机程序时,实现如第一方面所述的面向开放域对话系统的上下文增强的问题生成方法。
第四方面,本发明提供一种计算机可读存储介质,所述存储介质上存储有计算机程序,当所述计算机程序被处理器执行时,实现如第一方面所述的面向开放域对话系统的上下文增强的问题生成方法。
本发明所述面向开放域对话系统的上下文增强的问题生成方法及装置,在对话系统中基于对话环境通过设置预设问题内容及问题模式,增强了上下文结合的程度,使得系统生成的问题与对话的贴合度更贴近,使得用户的自然体验感得到增强,使人机对话的时间得到延长,从而可进一步扩大人机对话的应用场景及范围。
附图说明
图1为本发明实施例所述面向开放域对话系统的上下文增强的问题生成方法示意图;
图2为本发明实施例所述回顾机制流程示意图;
图3为本发明实施例所述转移机制流程示意图;
图4为本发明实施例所述面向开放域对话系统的上下文增强的问题生成装置结构示意图。
具体实施方式
下面通过附图及实施例对本发明所述面向开放域对话系统的上下文增强的问题生成方法及装置进行详细说明。
实施例一
本公开实施例所述的一种面向开放域对话系统的上下文增强的问题生成方法(Context-enhanced Neural Question Generation,CNQG),该方法首先基于对话上下文预测问题内容和问题模式,然后在此基础上进行问题解码,实现问题语句的逐词生成。
具体包括:问题内容预测;通过分层编码器对对话上下文进行向量化语义表示,以此为输入,设计了两个并行机制,即“回顾”和“转移”,以产生与对话上下文相关的话题词,作为问题内容。其中,“回顾”机制是直接从对话上下文中选择值得提问的关键词,目的是控制所生成问题的语义一致性;“转移”机制旨在从基于点间互信息(Point-wise MutualInformation,PMI)的候选语料库中引入新的话题词,并通过衡量新话题词与对话上下文的连贯性来进一步过滤噪声,以扩展现有的聊天话题,进而促进对话。
问题模式预测;基于对话上下文语义表示、以及预测的问题内容,进一步预测问题模式,即确定将要生成的问题属于哪一种问句类型。
问题解码器;在预测的问题模式的驱动下,通过一个循环解码器生成问题,并通过联合注意力机制有选择性的引入对话上下文语义、“回顾”和“转移”机制输出的话题语义。
在本公开实例中面向开放域对话系统的问题生成任务可以定义为:给定由|X|个语句组成的对话上下文X={U1,...,U|X|},通过计算条件概率P(Q∣X),生成一个问题Q。问题Q本质上包括问题内容Qc和问题模式Qp两部分。因此,P(Q∣X)通过一个两阶段过程来近似实现:(1)基于X识别Qc和Qp;(2)基于Qc、Qp和X逐字解码Q。
问题内容预测的目的是预测将要生成的问题中讨论的核心话题,也是问题生成过程中最重要的一步。如图1所示,问题内容主要包括两部分:一是对话上下文整体;二是回顾机制和转移机制基于对话上下文生成的话题词。
给定对话上下文X={U1,...,U|X|},分层上下文编码器首先采用一个语句编码器来获得X中每个语句的向量表示,然后通过一个“上下文编码器”对语句向量进行顺序整合。
在本公开实施例总具体来说,给定语句
Figure GDA0003765788120000091
其中Ui∈X,语句编码器通过双向门控循环神经网络BiGRU将每个词wn,i转换为一个隐向量
Figure GDA0003765788120000092
其中n∈[1,Ni],Ni表示语句Ui包含的词数量:过程如下:
Figure GDA0003765788120000093
此处,
Figure GDA0003765788120000094
是词wn,i的初始词向量。然后,上下文编码器通过一个单向门控循环神经网络(GRU)获得上下文的向量表示,
Figure GDA0003765788120000095
此处,
Figure GDA0003765788120000096
是语句Ui最后一个词的隐向量
Figure GDA0003765788120000097
为篇章级别上Ui的向量表示。将
Figure GDA0003765788120000098
视为对话上下文的语义表示,它不仅包含了上下文中各个语句的语义,同时也捕捉了语句之间的顺序关系。
回顾机制是从对话上下文中选择问题内容,从而使待生成问题呈现上下文连贯性。如图2所示,对于对话上下文中的词,首先去除停用词,然后将每个对话视为一个文档,每个词视为一个词项,来计算每个词的TF-IDF值。在本公开实施例中最多选择|K|个TF-IDF值较高的词作为“上下文关键词”,标记为K。
给定上下文关键词集合K={k1,...,kj,...,k|K|},kj表示一个上下文关键词,j∈[1,|K|],|K|为上下文关键词数量;利用一个由H层多层感知机组成的深度模型来预测一个回顾向量,即μ,其中μ中每个元素的值表示回顾分数,它代表对应上下文关键词将被纳入问题内容的概率。
计算过程如下:
Figure GDA0003765788120000101
μ=Sigmoid(oH),其中
Figure GDA0003765788120000102
表示一个单层感知机,其激活函数为Relu,h∈[1,H],其中,H代表多层感知机的层数;μ={μ1,...,μj,...,μ|K|},其中μj表示上下文关键词kj对应的回顾分数。
根据值大小对μ进行排序,将值大小排名前L位的上下文关键词作为回顾话题词,标记为KR,作为问题内容的一部分。由于KR已经在对话上下文中出现过,因此它与对话主题的相关性是有保障,能控制问题内容Qc的上下文一致性。进一步,将KR输入到一个词嵌入层,获得回顾话题词的向量表示,标记为
Figure GDA0003765788120000103
转移机制旨在利用对话上下文首先产生相对粗糙的转移候选词,然后过滤掉不相关的噪声,从而产生更准确的转移话题词。
如图3所示,基于<X,Q>的训练数据,构建一个“点间互信息”(PMI)矩阵,并利用它来获得转移候选词。在本公开实施例中具体来说,上下文X中的名词、动词、形容词被记为“触发词”,问题Q中的名词、动词、形容词被记为“目标词”。词w1相对于词w2(w1,w2∈V,V为预先定义好的词汇表)的PMI指数计算为:
Figure GDA0003765788120000111
此处,p...trigger,target>(w1,w2)表示词w1出现于“触发词”且词w2出现于“目标词”的联合概率;ptrigger(w1)表示词w1出现于“触发词”的独立概率,ptarget(w2)表示词w2出现于“目标词”的独立概率。由此可见,PMI矩阵是非对称的。
基于PMI矩阵,给定任意词w,其中w∈V,它与上下文X的相关性计算如下:
Figure GDA0003765788120000112
在本公开实施例中选择最多50个具有较高相关性的词,作为转移候选词,标记为T。
对于每个转移候选词tm∈T,其中m∈[1,|T|],首先将它的词向量
Figure GDA0003765788120000113
与上下文向量表示中最后一个隐向量
Figure GDA0003765788120000114
拼接,即
Figure GDA0003765788120000115
其次,将这个拼接向量输入到一个单层感知机(激活函数为tanh),然后通过一个线性映射矩阵W和一个Sigmoid层。最后,tm将会得到一个分数δm,即转移分数,它表示tm与对应上下文X的连贯程度。δm计算过程如下:
Figure GDA0003765788120000116
在预测得到的转移向量δ={δ1,...,δ|T|}基础上,根据值大小对其进行排序,并选择值大小排名前L的转移候选词作为转移话题词,标记为TT,它是问题内容Qc的第二部分。进一步,将TT通过一个词嵌入层,获得转移话题词的向量表示,标记为
Figure GDA0003765788120000117
问题模式是指问题类型,在问题生成过程中起着重要的引导作用。在本公开实施例中将问题模式分为8种类型,包括yes/no,what,who,how,where,when,why,which。每个模式都可以用一个或几个有代表性的疑问词来识别,例如,模式when对应的是“when,whattime”等词。
首先将上下文向量表示、回顾话题词向量表示和转移话题词向量表示连接成一个序列,然后将这个长度为(|X|+|KR|+|TT|)的向量输入到一个单向门控循环神经网络(GRU)中,过程如下:
Figure GDA0003765788120000121
Figure GDA0003765788120000122
其中,ek和et分别是回顾话题词和转移话题词的词向量。
Figure GDA0003765788120000123
是第l个隐向量且l∈[1,|X|+|KR|+|TT|],其中|X|表示上下文中包含的语句数量,|KR|表示回顾话题词数量,|TT|表示转移话题词数量。
然后,将最后一个隐向量
Figure GDA0003765788120000124
进行线性映射,并输入到一个Softmax层,如下:
Figure GDA0003765788120000125
此处,WQ为线性映射矩阵,P(Qp)为问题模式的概率分布。
问题解码器旨在根据对话上下文X、预测的问题内容Qc和问题模式Qp,来生成问题Q。采用基于门控循环神经网络(GRU)的解码器和联合注意力机制来实现生成过程。
在本公开实施例中具体来说,问题解码器第n个隐状态
Figure GDA0003765788120000126
计算如下:
Figure GDA0003765788120000127
Figure GDA0003765788120000128
其中,
Figure GDA0003765788120000129
是解码器在第(n-1)步生成的词
Figure GDA00037657881200001210
的词向量。
Figure GDA00037657881200001211
Figure GDA00037657881200001212
通过一下过程获得:
Figure GDA00037657881200001213
此处,αi,n、ρj,n和βm,n分别是“上下文注意力机制”、“回顾注意力机制”和“转移注意力机制”的注意力权重。
Figure GDA0003765788120000131
是第i个上下文向量表示。
Figure GDA0003765788120000132
Figure GDA0003765788120000133
分别是回顾话题词kj和转移话题词tm的词向量。
根据隐向量
Figure GDA0003765788120000134
解码器在第n步的词概率分布计算如下:
Figure GDA0003765788120000135
其中Wdec是一个矩阵,将
Figure GDA0003765788120000136
的维度转化为词汇表大小,即|V|。通过以上过程可以逐词生成问题Q,
Figure GDA0003765788120000137
普通解码器通常将一个特殊的字符<GO>作为初始输入,但在本实施例所述技术方案中,将预测得到的问题模式Qp对应的疑问词
Figure GDA0003765788120000138
作为解码器的初始输入。例如,如果预测的问题模式是what类型,将疑问词“what”作为问题解码器的第一个输入。考虑到yes/no模式通常有多种疑问词,比如“do、is、may、can…”,选择具有代表性的“do”作为其普遍疑问词。
实施例二
在上述实施例一的基础上,本公开实施例所述面向开放域对话系统的上下文增强的问题生成方法,还包括在开放域对话系统原有的训练数据基础上通过自监督的方式,为预测的问题模式、选出的回顾话题词及预测的转移话题词自动生成标记数据,并将所生成的标记数据用于辅助训练任务,与主要的问题生成任务一起进行多任务学习。
如图1所示,预测的问题模式、选出的回顾话题词以及预测的转移话题词都是问题生成过程中的中间输出。自监督标注,是在已有训练数据基础上,为以上这些中间输出标注真实标签。
在<X,Q>训练数据的基础上,X为对话上下文,Q为问题语句,通过代表性疑问词识别,获得每个问题语句对应的问题模式,将作为问题模式预测模块的真实标注信息。
对于回顾机制,将在问题中也出现的上下文关键词标注为1,否则为0。作为回顾向量{μ1,...,μ|K|}的真实标注信息。同样的,对于转移机制,在问题中也出现的转移候选词标注为1,否则为0,作为转移向量{δ1,...,δ|T|}的真实标注信息。
值得强调的是以上标注过程完全是自动的,并且遵循自监督方式,也就是除了原始的训练数据不需要其他额外的信息。
在自监督标注信息基础上,引入问题模式预测、回顾向量预测和转移向量预测3个辅助学习任务来增强问题生成的训练过程。模型总的损失函数定义为:
Figure GDA0003765788120000141
其中Θ表示模型所有可训练的参数。Ldec为问题解码器的损失函数,在整个训练过程中占据主导地位。LQp、LR和LT分别是问题模式预测、回顾向量预测和转移向量预测的辅助损失函数,
Figure GDA0003765788120000142
λR和λT为各个辅助损失函数对应的权重,其值位于0到1之间。
Ldec可以通过交叉熵形式计算,如下:
Figure GDA0003765788120000143
其中Q是生成的问题,即
Figure GDA0003765788120000144
和wn分别为生成的和真实的词。
由于问题模式预测、回顾向量预测和转移向量预测本质上都是分类任务,因此
Figure GDA0003765788120000145
LR和LT的计算均采用Focal Loss形式,如下:
Figure GDA0003765788120000146
Figure GDA0003765788120000147
Figure GDA0003765788120000148
Figure GDA0003765788120000149
其中
Figure GDA00037657881200001410
表示预测的问题模式
Figure GDA00037657881200001411
为第q个预定义问题模式
Figure GDA00037657881200001412
的概率。其中q=1,...,8,分别表示8种预定义的问题模式,包括yes/no,what,who,how,where,when,why,which。
实施例三
在上述实施例一及实施例二的基础上,本公开实施例选用DailyDialog和PersonaChat两个多回合开放域会话数据集进行实验。其中DailyDialog收集了日常生活中人与人之间的对话,它包括11,318个人类书面对话,涵盖各种主题,如文化、教育、旅游和卫生等。PersonaChat包含12,949个对话,其中两个对话者被预先分配给预定义的角色,并自然地交谈以了解彼此。
在原始数据集上进行了一些预处理操作,首先,给定多轮对话{U1,...,UM}(M≥2),构造<对话上下文,回复>这样的成对数据,此处“对话上下文”是{U1,...,Um-1},“回复”是Um(m∈(1,M])。然后,选择那些“回复”文本中包含问号“?”的样本,由此形成<对话上下文,问题>的成对数据。其中,上下文长度超过15、语句长度超过50的样本将进行截断处理。每个样本中的“问题”将会进行问题模式识别。最终,从DailyDialog数据集中获得了28,822个样本、从PersonaChat数据集中获得了43,551个样本。随机抽取90%的样本作为训练集,剩余数据作为测试集。表1展示了预处理后数据集的一些统计特征。
表1
Figure GDA0003765788120000151
在本公开实施例中,选择如下几种模型与本发明所述面向开放域对话系统的上下文增强的问题生成方法(Context-enhanced Neural Question Generation,CNQG)进行对比;NQG和QType属于传统的用于MRC的问题生成方法;T5-QG是迁移学习在问题生成领域的应用;HRED、HRAN和ReCoSa属于上下文敏感的开放域回复生成方法;STD和HTD与本发明的CNQG模型类似,均是面向开放域对话的问题生成方法。
在本公开实施例所述CNQG模型中,使用NLTK进行词性标记,使用scikit_learn包进行基于TF-IDF的上下文关键字提取。在训练语料库上计算PMI矩阵。将上下文关键字的最大个数设置为50,转移候选词的最大个数设置为20。GRU、BiGRU等循环单位均为1层结构,隐藏神经元个数为512。初始词向量采用随机初始化,维度为512。Review机制中的深度模型由4层多层感知机结构组成,其神经元数目分别为1024、512、128和5。“回顾”话题词个数|KR|、“转换”话题词数目|TT|均为5。在联合训练过程中,损失权值
Figure GDA0003765788120000161
λR和λT均初始化为1,当它们对应的当前训练轮次的损失大于上一个轮次时,损失权值衰减为原来的0.5倍。FocalLoss中的参数,ψ为0.25,γ为2。
基线和模型之间的所有共享参数都设置为相同的,其余的都经过微调,以确保最佳性能。所有模型最多训练20个轮次,并使用学习率为0.001的Adam优化器进行优化。小批量的尺寸是64。
在本公开实施例中使用自动评估和人工评估来评估所有模型。
在自动评估中从两方面来评估生成问题的质量,包括相关性和信息丰富性。对于问题相关性,采取下面两个指标:BLEU是QG中常用的度量标准,它衡量生成的问题和真实问题之间的单词重叠。较高的BLEU分数表明生成的问题更接近真实问题。分别计算BLEU-1、BLEU-2、BLEU-3和BLEU-4。KL-Divergence测度了模型和ground-truth问题集之间的KL散度。值越低,模型生成的问题越能接近真实问题的词分布。分别计算单个词和二元组的KL散度,分别标记为
Figure GDA0003765788120000162
Figure GDA0003765788120000163
对于问题的信息丰富性,采取下面两个指标:词熵度量生成问题的非一般性。这里使用平均词熵的二元组版本表示为H(w)。更高的H(w)表示生成的问题信息更丰富。差异度常用来评价句子的多样性,数值越大表示生成的问题越多样化。采用Distinct-1和Distinct-2分别测量生成的问题中不同的单词数和二元组数。
此外,为了进一步了解模型在问题模式预测和问题内容预测上的具体表现,还使用模式相关和内容相关的指标对所有模型进行评估:Accuracy和F1是常用的分类任务指标。使用Accuracy来评估生成的问题模式在总体上与真实问题模式的匹配程度。
在人工评估方面首先从DailyDialog数据集中随机选择200个样本,通过各种模型进行预测。选择DailyDialog数据集进行主观评价,因为它涉及日常生活的话题,易于人类注释员理解和给予裁判。然后邀请三个没有参与相关工作的受过良好教育的研究生,按照以下三个标准对测试样本进行评审:相关性:生成的问题是否与给定的对话上下文相关?信息性:生成的问题是一个有意义的、信息量大的回答吗?它不同于“怎么了”、“你有什么问题吗”等一般的、枯燥的问题吗?交互性:用户是否愿意回应生成的问题?
对以上指标进行打分,数值越高表示表现越好。值得注意的是,人类评价是通过一种无参考的方式进行的,意味着注解者无法获得真实的问题。一方面,这将促使人类注释者在全面理解对话语境的基础上进行评价;另一方面,这也遵循了了在开放领域对话中可能没有标准响应这一事实,这可以为研究模型性能提供不同的验证视角。
将CNQG模型与几个竞争性基线进行比较,并根据BLEUs、KL-Divergence、单词熵和差异度来评估它们在两个数据集上的性能,结果见表2,Dis-1和Dis-2分别是Distinct-1和Distinct-2的缩写。对于有“↓”标记的指标,越低的值表示越好的性能。对于其他指标,越高的值表示越好的性能。
表2
Figure GDA0003765788120000171
基线模型中,在问题相关性方面,即BLEU指标上,两个数据集上,传统的QG(NQG和QType)和对话QG方法(STD和HTD)通常优于迁移学习(T5-QG)和对话生成(HRED、HRAN和ReCoSa)方法。这体现了QG任务的唯一性。因为提出一个相关的问题不仅仅是提供一个特殊形式的响应,还需要识别对话中包含的关键语义,找到值得提问的点,因此QG任务不同于普通的文本生成或对话生成任务。这可能是T5-QG和对话生成模型在问题生成任务上表现糟糕的原因。通过放大特定于QG的方法(NQG、QType、STD和HTD),可以看到,就DailyDialog数据集上所有相关指标而言,QType获得了最佳性能,而就PersonaChat数据集上大多数BLEU指标而言,STD获得了最佳性能。这可能是因为他们都提前预测模式和潜在的内容,以指导问题生成过程,这增强了产生的问题与真实问题之间的相关性。此外,特征强化的编码器和和多任务学习方法,对于QType算法的良好性能也有贡献。
在问题信息丰富性上,两个数据集上,传统的QG方法(NQG和QType)相对于对话生成(HRED、HRAN和ReCoSa)或迁移学习方法仍然具有普遍优势。然而,对话QG方法(STD和HTD),特别是STD,并没有表现出稳定的优势。例如,HTD在DailyDialog数据集上在H(w)和Distinct-1方面输给了T5-QG,而STD在两个数据集上在Distinct方面获得了最低值。这可能是由于STD和HTD中缺少对话上下文建模。实际情况中,对话上下文为当前的问题生成提供了背景信息,有助于刻画对话语义,丰富聊天话题资源,最终生成信息量大、内容丰富的问题。
CNQG模型在DailyDialog数据集的所有指标上都超越了所有基线。在PersonaChat数据集上也可以观察到类似的结果,其中CNQG在BLEU-1和BLEU-2方面获得了与STD相当的性能,而在其他指标上保持了最佳性能。它清楚地验证了CNQG模型在为开放域对话生成相关和信息丰富的问题方面的有效性。与传统QG中最好的QType方法相比,CNQG在所有指标上都表现得更好,特别是在
Figure GDA0003765788120000181
↓和
Figure GDA0003765788120000182
↓上的改进幅度更大。QType采用了一个特征强化的编码器来帮助选择问题内容,而CNQG模型设计了一个回顾和转移机制来预测问题内容。因此可以认为CNQG优于QType是由于这两种机制不仅能够从对话语境中选择一致的主题,而且能够引入相关的新主题。此外,与STD和HTD相比,CNQG在几乎所有指标上都胜出,除了BLEU-1和BLEU-2。值得注意的是,CNQG在
Figure GDA0003765788120000183
↓、
Figure GDA0003765788120000184
↓和Distincts方面取得了特别大的改进。进一步证实了对话上下文对开放域对话问题问题的重要性。此外,自监督注释的多任务学习本质上是对对话上下文的挖掘,这也有助于CNQG模型的良好表现。
对于不同模型生成的问题,首先识别出它们对应的问题模式,然后计算其准确性,以评估生成的问题模式与真实问题的问题模式的总体匹配程度。此外,也使用F1分数来评估模型在每个模式预测上的表现。此处只展示了DailyDialog数据集上的结果,因类似的现象可以在PersonaChat数据集上观察到。在进入评估结果之前,表3给出了DailyDialog数据集中各种问题模式的百分比,其中others表示问题无法通过已有规则进行问题模式提取。由表3可以看到模式分布非常不平衡,即大多数问题都是what或yes/no模式。这是因为人们在日常交流中倾向于使用口语化的表达方式,这使得对话中的许多问题可能没有典型的或正式的疑问词,进而导致what和yes/no成为开放领域对话中的通用问题模式,这也表明预测准确的问题模式是一项困难的任务,特别是对于那些少数问题模式,如who、which、when。各模型的模式预测性能如表4所示,“-”表示没有生成对应问题模式的问题。
表3
Figure GDA0003765788120000191
表4
Figure GDA0003765788120000192
首先关注基线,从表4可以看出,T5-QG和QType相对于其他基线获得了更高的Accuracy,说明它们从整体上可以很好地接近地真实问题的模式分布。从模式多样性的角度来看,HRED、HRAN、ReCoSa等对话生成方法无法生成一些相对不常见的模式,如who、which等。NQG和HTD提供了除which、where和who之外的大多数模式。STD在模式多样性上的性能很差,只在生成的问题中提供了一些通用模式,如what,yes/no和how。QType提供了对各种模式的全面覆盖,证明了提前预测问题模式的有效性。T5-QG也涵盖了所有类型的问题模式。
但是,通过放大每个模式预测的F1分数,可以看到除了yes/no,T5-QG在大多数模式上的性能都比QType差得多。考虑到yes/no模式在DailyDialog数据集中占据了多数的样本,可以理解为什么T5-QG在基线中获得了最高的Accuracy。这表明,通过预训练学习到的先验知识可以帮助T5-QG在生成的问题中获得多样化的模式,但由于缺乏上下文理解和专门的模式预测,T5-QG无法对某段对话预测出准确的问题模式。
与基线相比,CNQG模型获得了最高的Accuracy,在问题模式预测方面的表现出整体优势。此外,CNQG不仅覆盖了真实问题所有类型的问题模式,而且除which外几乎所有模式F1得分最高。这清楚地表明CNQG可以很好地捕捉给定开放域对话的模式特征,并进一步作用于问题解码过程,生成具有准确模式的问题。将此归因于问题模式预测模块和模型中基于自监督注释的多任务学习。这两个部分帮助CNQG模型学习如何从有限的数据中提出相关问题。
在问题内容预测方面,使用NLTK从每个问题中识别名词、动词和形容词,并过滤停止词。剩下的词被认为是问题内容。然后计算基于词向量的主题相似度指标,即Average、Extrema和Greedy,以衡量生成问题的内容在语义上与真实问题的相关性。DailyDialog数据集上的结果如表5所示,在PersonaChat数据集上也可以得到类似的结论。
表5
模型 Average Extrema Greedy
NQG 0.5531 0.3505 0.4491
QType 0.5913 0.4577 0.5329
T5-QG 0.6122 0.4219 0.5081
HRED 0.4829 0.3147 0.3957
HRAN 0.5729 0.3310 0.4399
ReCoSa 0.5282 0.3242 0.4212
STD 0.5135 0.3351 0.4242
HTD 0.4943 0.3182 0.4073
CNQG 0.6240 0.4963 0.5654
如表5所示,从Average来看,T5-QG是最好的基线,从Extrema和Greedy来看,QType是最好的。QType采用了一个特征强化的编码器来表示对话上下文,可以通过词汇特征和答案位置来突出关键的语义词,这有助于QType选择更准确的问题内容。T5-QG实际上包含了从预训练语料库中学习到的先验知识,这使得它能在问题中产生更多的有意义的词汇,从而在问题内容预测上取得了很好的效果。
与两个最佳基线相比,CNQG模型在问题内容预测方面表现最好,验证了它能够在问题中产生相关的主题词。一方面,CNQG模型的回顾和转移机制实际上为问题内容提供了两种不同的来源,一种是强调对话上下文中已有的话题,另一种是将对话焦点转移到新的但相关的话题。这可以使CNQG模型适应各种具有不同对话目的的开放领域对话;另一方面,自监督标注的多任务学习充分利用了训练数据中反映的主题相关性和主题转换,进一步提升了回顾和转移机制的效果。
从DailyDialog测试集中随机抽取样本,从问题相关性、信息量和交互性方面进行主观评价,结果如表6所示。
表6
模型 相关性 信息丰富性 交互行
NQG 1.57 1.89 1.63
QType 1.85 1.61 1.65
T5-QG 2.01 1.87 1.74
HRED 1.24 1.20 1.15
HRAN 1.29 1.33 1.24
ReCoSa 1.37 1.33 1.23
STD 1.41 1.34 1.26
HTD 1.38 1.27 1.17
CNQG 2.13 1.91 1.78
通过比较各种基线,可以看到NQG在信息丰富性方面表现得更好,而T5-QG在相关性和交互性方面表现得更好。与两个最佳基线相比,CNQG模型在各种指标上都表现出一致的优势。这与自动评估的结果一致,从真实人机交互的角度验证了本发明提出的开放领域对话问题生成方法的有效性。
值得注意的是,T5-QG在自动评估(见表2)和人工评估上表现出相反的性能,特别是在相关性度量方面。通过对T5-QG生成的案例进行人工检查,发现该方法倾向于将对话上下文中的关键词复制到问题中,生成较长的句子,这使得它生成的问题与对对话上下文相关,而不是与真实问题相关。这解释了为什么它在无参考的人工评估中取得了良好表现。
此外,这种局部不一致的自动和人工评价结果实际上反映了开放域对话的典型特征:“一对多”,即相同的上下文可能有在语义、情绪或态度上不同的合适的回复;同样的,相同的语义(或情感、态度等)可以通过不同的句子来表达。开放域对话的灵活性使得它很难有一个标准的回应,这可能导致一个模型在主观和客观评价中可能获得不同的表现。在这种情况下,CNQG在自动评估和人工评估方面都优于基线,明显验证了它在为开放域对话生成问题方面的独特优势。
为了更深入地了解CNQG模型是如何工作的,并理解其优点和缺点,表7给出三个生成的问题示例。还提供模型的中间输出,包括问题模式、回顾话题词和转移话题词。
在案例1中,虽然对话上下文只有一句话,但可以清楚地看出对话的重点是“谈论蝙蝠女侠”。在上述条件下,回顾机制抓住了这一核心,选取了“蝙蝠女侠”、“电影”等几个内容丰富的主题词。与此同时,转移机制产生的话题词与对话焦点整体一致。最后,CNQG生成一个与上下文和真实问题均一致的有意义的问题。
在案例2中,对话上下文相对较长,对话者正在“讨论他们的食物”。在长上下文中,回顾机制选择了5个话题词来过滤琐碎信息,并确定哪些内容值得询问。尽管生成的转移话题词中包含了“胡言乱语”、“预测”等噪音,但它们仍然特别引入了相关的、新鲜的话题词,即“蔬菜”。这使得CNQG能够准确捕捉到话题的转换,最终产生一个相关的问题。
在案例3中,给定上下文,作为人类,我们可以很容易地推断出这两个对话者是“顾客和酒店服务员”,这段对话的目的是“房间预订”。CNQG模型也有类似的推论,并且提供了一个信息丰富的问题,它不符合基本事实,但与对话上下文保持一致。特别地,我们可以看到转移机制产生了五个与“客房预订”高度相关的话题词。
以上三个例子清楚地展示了CNQG模型的有效性,特别是显示了所提出的回顾和转移机制如何预测问题内容,以实现语境一致性和对话促进。
表7
Figure GDA0003765788120000221
Figure GDA0003765788120000231
实施例四
在本发明另一公开实施例提供一种面向开放域对话系统的上下文增强的问题生成装置,如图4所示包括问题内容生成模块,用于通过分层编码器对对话上下文进行向量化语义表示,以此为输入产生与对话上下文相关的话题词,包括回顾机制和转移机制;所述回顾机制直接从对话上下文中选择提问的关键词,控制所生成问题的语义一致性;所述转移机制从基于点间互信息的候选语料库中引入新话题词,并通过衡量新话题词与对话上下文的连贯性来进一步过滤噪声;问题模式生成模块,用于基于对话上下文的语义表示、及预测的问题内容预测问题模式,即确定将要生成的问题属于哪一种问句类型;生成问题模块,用于将预测得到的问题模式对应的疑问词作为循环解码器的初始输入;同时通过联合注意力机制引入对话上下文语义和前述话题词语义,在预测的问题模式的驱动下,通过一个循环解码器生成问题。
实施例五
本公开另一具体实施例所述面向开放域对话系统的上下文增强的问题生成电子装置,包括存储器和处理器;所述存储器,用于存储计算机程序;所述处理器,当执行所述计算机程序代码在计算机上运行时,使得计算机执行上述第一方面及实施例一、实施例二所述面向开放域对话系统的上下文增强的问题生成方法,具体问题生成步骤与前述实施例相同,不再赘述。
实施例六
本公开另一具体实施例所述计算机可读存储介质,所述存储介质上存储有计算机程序代码,当所述计算机程序代码在计算机上运行时,使计算机执行上述第一方面及实施例一、实施例二所述面向开放域对话系统的上下文增强的问题生成方法,具体问题生成步骤与前述实施例相同,不再赘述。
所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。所述计算机可读存储介质可以是计算机能够读取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字通用光盘(DVD))或者半导体介质(例如,固态硬盘(SSD))等。
计算机存储代码所形成软件可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。
在本实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (9)

1.一种面向开放域对话系统的上下文增强的问题生成方法,其特征在于:
通过分层编码器对对话上下文进行向量化语义表示,以此为输入产生与对话上下文相关的话题词,作为问题内容;
所述产生与对话上下文相关的话题词,包括回顾机制和转移机制;
所述回顾机制直接从对话上下文中选择提问的关键词,控制所生成问题的语义一致性;所述回顾机制的过程包括:对于对话上下文中的词,首先去除停用词,然后将每个对话视为一个文档,每个词视为一个词项,计算每个词的TF-IDF值;根据每个词的TF-IDF值选择上下文关键词;给定上下文关键词集合K={k1,...,kj,...,k|K|},kj表示一个上下文关键词,j∈[1,|K|],|K|为上下文关键词数量;
利用一个由H层多层感知机组成的深度模型来预测一个回顾向量,即μ,其中μ中每个元素的值表示回顾分数,计算过程如下:
Figure FDA0003765788110000011
μ=Sigmoid(oH),
其中
Figure FDA0003765788110000012
表示一个单层感知机,其激活函数为Relu,h∈[1,H],其中,H代表多层感知机的层数;μ={μ1,...,μj,...,μ|K|},其中μj表示上下文关键词kj对应的回顾分数;
根据回顾分数大小对μ进行排序,将值大小排名前L位的上下文关键词作为回顾话题词,标记为KR
将KR输入到一个词嵌入层,获得回顾话题词的向量表示,标记为
Figure FDA0003765788110000013
所述转移机制从基于点间互信息的候选语料库中引入新话题词,并通过衡量新话题词与对话上下文的连贯性来进一步过滤噪声;
基于对话上下文的语义表示、及预测的问题内容,进一步预测问题模式,即确定将要生成的问题属于哪一种问句类型;
将预测得到的问题模式对应的疑问词作为循环解码器的初始输入;同时通过联合注意力机制引入对话上下文语义和前述话题词语义,在预测的问题模式的驱动下,通过一个循环解码器生成问题。
2.根据权利要求1所述面向开放域对话系统的上下文增强的问题生成方法,其特征在于,所述通过分层编码器对对话上下文进行向量化语义表示的过程包括:给定对话上下文X={U1,...,U|X|},分层上下文编码器首先采用一个语句编码器来获得X中每个语句的向量表示,然后通过一个上下文编码器对语句向量进行顺序整合;给定语句
Figure FDA0003765788110000021
其中Ui∈X,语句编码器通过双向门控循环神经网络BiGRU将每个词wn,i转换为一个隐向量
Figure FDA0003765788110000022
其中n∈[1,Ni],Ni表示语句Ui包含的词数量:
Figure FDA0003765788110000023
其中
Figure FDA0003765788110000024
是词wn,i的初始词向量;然后,上下文编码器通过一个单向门控循环神经网络GRU获得上下文的向量表示,
Figure FDA0003765788110000025
其中,
Figure FDA0003765788110000026
是语句Ui最后一个词的隐向量
Figure FDA0003765788110000027
Figure FDA0003765788110000028
为篇章级别上Ui的向量表示。
3.根据权利要求2所述面向开放域对话系统的上下文增强的问题生成方法,其特征在于,所述转移机制的过程包括:基于开放域对话系统的训练数据构建一个点间互信息PMI矩阵;上下文X中的名词、动词、形容词被记为触发词;问题中的名词、动词、形容词被记为目标词;
词w1相对于词w2的点间互信息PMI指数计算为:
Figure FDA0003765788110000029
w1,w2∈V,V为预先定义好的词汇表;
此处,p<trigger,target>(w1,w2)表示词w1出现于触发词且词w2出现于目标词的联合概率;ptrigger(w1)表示词w1出现于触发词的独立概率;ptarget(w2)表示词w2出现于目标词的独立概率;
基于PMI矩阵,给定任意词w,其中w∈V,它与上下文X的相关性计算如下:
Figure FDA00037657881100000210
根据相关性大小,选择多个词,作为转移候选词,标记为T;
对于每个转移候选词tm∈T,其中m∈[1,|T|],首先将它的词向量
Figure FDA0003765788110000031
与上下文向量表示中最后一个隐向量
Figure FDA0003765788110000032
拼接,即
Figure FDA0003765788110000033
其次,将拼接向量输入到一个单层感知机,激活函数为tanh,然后通过一个线性映射矩阵W和一个Sigmoid层;
最后,tm将会得到一个分数δm,即转移分数,它表示tm与对应上下文X的连贯程度;
δm计算过程如下:
Figure FDA0003765788110000034
在预测得到的转移向量δ={δ1,...,δm,...,δ|T|}基础上,根据值大小对其进行排序,并选择值大小排名前L的转移候选词作为转移话题词,标记为TT;将TT通过一个词嵌入层,获得转移话题词的向量表示,标记为
Figure FDA0003765788110000035
4.根据权利要求3所述面向开放域对话系统的上下文增强的问题生成方法,其特征在于,所述预测问题模式的过程包括:首先将上下文向量表示、回顾话题词向量表示和转移话题词向量表示连接成一个序列,然后将这个长度为(|X|+|KR|+|TT|)的向量输入到一个单向门控循环神经网络中,过程如下:
Figure FDA0003765788110000036
Figure FDA0003765788110000037
其中ek和et分别是回顾话题词和转移话题词的词向量;
Figure FDA0003765788110000038
是第l个隐向量且l∈[1,|X|+|KR|+|TT|],其中|X|表示上下文中包含的语句数量,|KR|表示回顾话题词数量,|TT|表示转移话题词数量;
然后,将最后一个隐向量
Figure FDA0003765788110000039
进行线性映射,并输入到一个Softmax层,如下:
Figure FDA00037657881100000310
其中WQ为线性映射矩阵,P(Qp)为问题模式的概率分布。
5.根据权利要求4所述面向开放域对话系统的上下文增强的问题生成方法,其特征在于,所述生成问题的过程包括:解码器第n个隐状态
Figure FDA0003765788110000041
计算如下:
Figure FDA0003765788110000042
Figure FDA0003765788110000043
其中,
Figure FDA0003765788110000044
是解码器在第(n-1)步生成的词
Figure FDA0003765788110000045
的词向量;其中
Figure FDA0003765788110000046
Figure FDA0003765788110000047
通过以下过程获得:
Figure FDA0003765788110000048
其中,αi,n、ρj,n和βm,n分别是上下文注意力机制、回顾注意力机制和转移注意力机制的注意力权重;
Figure FDA0003765788110000049
是第i个上下文向量表示;
Figure FDA00037657881100000410
Figure FDA00037657881100000411
分别是回顾话题词kj和转移话题词tm的词向量;
根据隐向量
Figure FDA00037657881100000412
解码器在第n步的词概率分布计算如下:
Figure FDA00037657881100000413
其中Wdec是一个矩阵,将
Figure FDA00037657881100000414
的维度转化为词汇表大小,即|V|;
通过以上过程逐词生成问题Q,
Figure FDA00037657881100000415
6.根据权利要求1或5所述面向开放域对话系统的上下文增强的问题生成方法,其特征在于:还包括在开放域对话系统原有的训练数据基础上通过自监督的方式,为预测的问题模式、选出的回顾话题词及预测的转移话题词自动生成标记数据,并将所生成的标记数据用于辅助训练任务,与主要的问题生成任务一起进行多任务学习。
7.一种面向开放域对话系统的上下文增强的问题生成装置,其特征在于包括:问题内容生成模块,用于通过分层编码器对对话上下文进行向量化语义表示,以此为输入产生与对话上下文相关的话题词,包括回顾机制和转移机制;所述回顾机制直接从对话上下文中选择提问的关键词,控制所生成问题的语义一致性;所述转移机制从基于点间互信息的候选语料库中引入新话题词,并通过衡量新话题词与对话上下文的连贯性来进一步过滤噪声;所述回顾机制的过程包括:对于对话上下文中的词,首先去除停用词,然后将每个对话视为一个文档,每个词视为一个词项,计算每个词的TF-IDF值;根据每个词的TF-IDF值选择上下文关键词;给定上下文关键词集合K={k1,...,kj,...,k|K|} ,kj表示一个上下文关键词,j∈[1,|K|],|K|为上下文关键词数量;
利用一个由H层多层感知机组成的深度模型来预测一个回顾向量,即μ,其中μ中每个元素的值表示回顾分数,计算过程如下:
Figure FDA0003765788110000051
μ=Sigmoid(oH),
其中
Figure FDA0003765788110000052
表示一个单层感知机,其激活函数为Relu,h∈[1,H],其中,H代表多层感知机的层数;μ={μ1,...,μj,...,μ|K|},其中μj表示上下文关键词kj对应的回顾分数;
根据回顾分数大小对μ进行排序,将值大小排名前L位的上下文关键词作为回顾话题词,标记为KR
将KR输入到一个词嵌入层,获得回顾话题词的向量表示,标记为
Figure FDA0003765788110000053
问题模式生成模块,用于基于对话上下文的语义表示、及预测的问题内容预测问题模式,即确定将要生成的问题属于哪一种问句类型;
生成问题模块,用于将预测得到的问题模式对应的疑问词作为循环解码器的初始输入;同时通过联合注意力机制引入对话上下文语义和前述话题词语义,在预测的问题模式的驱动下,通过一个循环解码器生成问题。
8.一种面向开放域对话系统的上下文增强的问题生成电子装置,其特征在于,包括存储器和处理器;所述存储器,用于存储计算机程序;所述处理器,用于当执行所述计算机程序时,实现如权利要求1-6任一项所述的面向开放域对话系统的上下文增强的问题生成方法。
9.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,当所述计算机程序被处理器执行时,实现如权利要求1-6任一项所述的面向开放域对话系统的上下文增强的问题生成方法。
CN202110259592.9A 2021-03-10 2021-03-10 面向开放域对话系统的上下文增强的问题生成方法及装置 Active CN112948558B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110259592.9A CN112948558B (zh) 2021-03-10 2021-03-10 面向开放域对话系统的上下文增强的问题生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110259592.9A CN112948558B (zh) 2021-03-10 2021-03-10 面向开放域对话系统的上下文增强的问题生成方法及装置

Publications (2)

Publication Number Publication Date
CN112948558A CN112948558A (zh) 2021-06-11
CN112948558B true CN112948558B (zh) 2022-09-20

Family

ID=76228584

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110259592.9A Active CN112948558B (zh) 2021-03-10 2021-03-10 面向开放域对话系统的上下文增强的问题生成方法及装置

Country Status (1)

Country Link
CN (1) CN112948558B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113486674A (zh) * 2021-06-30 2021-10-08 河南光悦网络科技有限公司 基于人工智能的针对多轮对话进行语义分析的方法和装置
CN115048946A (zh) * 2022-06-14 2022-09-13 昆明理工大学 融合主题信息的篇章级神经机器翻译方法
CN115470329A (zh) * 2022-08-22 2022-12-13 北京字跳网络技术有限公司 一种对话生成方法、装置、计算机设备及存储介质
CN116681087B (zh) * 2023-07-25 2023-10-10 云南师范大学 一种基于多阶段时序和语义信息增强的自动问题生成方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110321417A (zh) * 2019-05-30 2019-10-11 山东大学 一种对话生成方法、系统、可读存储介质及计算机设备
CN111625639A (zh) * 2020-06-02 2020-09-04 中国人民解放军国防科技大学 一种基于多轮响应生成的上下文建模方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10606952B2 (en) * 2016-06-24 2020-03-31 Elemental Cognition Llc Architecture and processes for computer learning and understanding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110321417A (zh) * 2019-05-30 2019-10-11 山东大学 一种对话生成方法、系统、可读存储介质及计算机设备
CN111625639A (zh) * 2020-06-02 2020-09-04 中国人民解放军国防科技大学 一种基于多轮响应生成的上下文建模方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
leveraging context for neural question generation in open-domain dialogue systems;Yanxiang Ling等;《ACM》;20200424;第1-7页 *
开放域对话系统的抗噪回复生成模型;朱钦佩等;《北京大学学报(自然科学版)》;20210131;第57卷(第1期);第38-44页 *

Also Published As

Publication number Publication date
CN112948558A (zh) 2021-06-11

Similar Documents

Publication Publication Date Title
Ma et al. A survey on empathetic dialogue systems
CN112948558B (zh) 面向开放域对话系统的上下文增强的问题生成方法及装置
Serban et al. A deep reinforcement learning chatbot
CN111415740B (zh) 问诊信息的处理方法、装置、存储介质及计算机设备
Chen et al. Gunrock: Building a human-like social bot by leveraging large scale real user data
CN109844743B (zh) 在自动聊天中生成响应
CN109844741B (zh) 在自动聊天中生成响应
CN107798140B (zh) 一种对话系统构建方法、语义受控应答方法及装置
Li et al. Context-aware emotion cause analysis with multi-attention-based neural network
Yin et al. Neural generative question answering
CN108628935B (zh) 一种基于端到端记忆网络的问答方法
KR20190019962A (ko) 컴퓨터 학습 및 이해를 위한 아키텍처 및 프로세스들
Inaba et al. Neural utterance ranking model for conversational dialogue systems
CN112966083B (zh) 一种基于对话历史建模的多轮对话生成方法及装置
Debowski Information theory meets power laws: Stochastic processes and language models
WO2019220113A1 (en) Device and method for natural language processing
Zhang et al. Multi-turn dialogue reading comprehension with pivot turns and knowledge
Kondurkar et al. Modern Applications With a Focus on Training ChatGPT and GPT Models: Exploring Generative AI and NLP
Zhao et al. Finding answers from the word of god: Domain adaptation for neural networks in biblical question answering
Singh et al. Encoder-decoder architectures for generating questions
CN108959467B (zh) 一种基于强化学习的问句和答案句相关度的计算方法
Bernardi et al. Context Fusion: The Role of Discourse Structure and Centering Theory.
Giulianelli Neural Models of Language Use: Studies of Language Comprehension and Production in Context
Li et al. Seq-CNN: A Lightweight and Efficient Neural Network for Sentimental Analysis of Text
Mazza et al. Behavioural simulator for professional training based on natural language interaction

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