CN111737146B - 一种用于对话系统评估的语句生成方法 - Google Patents

一种用于对话系统评估的语句生成方法 Download PDF

Info

Publication number
CN111737146B
CN111737146B CN202010702253.9A CN202010702253A CN111737146B CN 111737146 B CN111737146 B CN 111737146B CN 202010702253 A CN202010702253 A CN 202010702253A CN 111737146 B CN111737146 B CN 111737146B
Authority
CN
China
Prior art keywords
sub
target
word
user
dialog
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
CN202010702253.9A
Other languages
English (en)
Other versions
CN111737146A (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 CN202010702253.9A priority Critical patent/CN111737146B/zh
Publication of CN111737146A publication Critical patent/CN111737146A/zh
Application granted granted Critical
Publication of CN111737146B publication Critical patent/CN111737146B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • 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
    • 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/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Biomedical Technology (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Machine Translation (AREA)

Abstract

本发明公开了一种用于对话系统评估的语句生成方法,通过对对话历史中的上下文进行编码,获取每个词的隐藏表示,通过每个词的隐藏表示选择合适的子目标,追踪选择的子目标,计算子目标追踪结果,并基于该追踪结果,使用标准的记忆网络进行下一轮子目标选择,依据该目标选择,重用对话历史中的语句生成句子,可以通过在模拟对话过程中重用关键字词和短语,根据对话系统的回复动态地生成适当的用户语句,以自然的语言与对话系统进行交互,这减轻了用户模拟器在生成句子时的负载,有助于更稳定的传递用户目标。

Description

一种用于对话系统评估的语句生成方法
技术领域
本发明涉及对话系统评估技术领域,特别是指一种用于对话系统评估的语句生成方法。
背景技术
面向任务的对话系统由于其在实际应用中的巨大潜力引起了研究者的广泛兴趣。这些系统通过自然语言交互帮助用户完成特定的任务,如寻找餐厅或订机票等。然而,目前针对面向任务的对话系统的评估是基于静态语料库进行的。然而,在交互过程中,对话往往会偏离语料库中对话进程,使得基于静态语料库的评价不适合于动态场景下的对话系统性能的度量。这种偏差是将离线开发的对话系统应用到现实场景的关键瓶颈所在。
理想的评估方法是雇用真实用户与对话系统交互,以测试对话系统能否成功地帮助用户完成给定的目标。然而,基于真实用户的评估策略既费时耗力又难以复现。为此,研究者通过构建用户模拟器,模拟真实测试者与对话系统进行交互过程,从而完成对话系统的评估。然而,现有的用户模拟器只关注对话策略部分,通过结构化的形式语言或基于模板的语句来与对话系统交互。这样的用户模拟器不能以自然语言与对话系统进行交互。因此还不足以评估一个完整的面向任务的对话系统。
发明内容
有鉴于此,本发明的目的在于提出一种用于对话系统评估的语句生成方法,以自然的语言与对话系统进行交互。
基于上述目的本发明提供的一种用于对话系统评估的语句生成方法,基于用户模拟器,包括:
使用双向门控循环单元对对话历史中的上下文进行编码;
将对话历史中的所有语句连接后送入双向门控循环单元中,获取语句中每个词的隐藏表示;
获取用户目标,将用户目标建模为一个检索问题,用户目标为若干子目标的集合,通过每个词的隐藏表示选择合适的子目标;
追踪选择的子目标,计算子目标追踪结果;
基于子目标追踪结果,使用标准的记忆网络进行下一轮子目标选择;
使用门控递归单元作为解码器,依据下一轮子目标选择,重用对话历史中的语句生成句子;
判断是否所有子目标都完成传递,若都完成,则停止交互。
优选地,将所有语句连接后送入双向门控循环单元中,获取语句中每个词的隐藏表示,包括:
将Dt-1中的所有语句连接为X = {x1, x2, x3, … , xI},其中t表示对话的第t轮,Dt-1表示从第1轮到第t-1轮的对话语句,I是字词总个数,将X送入双向门控循环单元中,获取每个词的隐藏表示Henc=[h1 enc, h2 enc, … , hI enc]
Figure DEST_PATH_IMAGE001
优选地,跟踪选择的子目标,判断其是否完成传递,包括:
计算传递概率pn tr来指示其是否完成传递
Figure 871533DEST_PATH_IMAGE002
其中,
Figure DEST_PATH_IMAGE003
,gn为子目标,
Figure 867302DEST_PATH_IMAGE004
是词语的词包表示,是指gn中所有字词的词向量对应维数之和,其中词向量是从矩阵E中查表得到的,Hn是融合了子目标的对话上下文表示;
通过传递概率
Figure DEST_PATH_IMAGE005
计算子目标追踪结果,其中W1是可训练参数,T表示矩阵转置。
优选地,基于子目标追踪结果,使用标准的记忆网络进行子目标选择,包括:
记忆网络以多次迭代的方式进行循环推理,包含一组可训练的嵌入矩阵c= {c1,c2, … , cK+1},对于每次迭代,其中
Figure 725667DEST_PATH_IMAGE006
,K是迭代次数,|V|是词汇量大小;
在每一次迭代中,子目标被输入到记忆网络中并表示为
Figure DEST_PATH_IMAGE007
,式中,cn k是子目标gn的词包表示,Ck是第k次迭代时的嵌入矩阵;
初始查询向量q1为h1 enc,在第k次推理时,查询向量为qk,首先计算查询向量qk和每个子目标的记忆表示ck之间的内积,然后取softmax作为匹配度,推理输出是ck+1的加权和
Figure 196575DEST_PATH_IMAGE008
,并被迭代输入到下一轮推理,
Figure DEST_PATH_IMAGE009
查询向量更新为:
Figure 292839DEST_PATH_IMAGE010
在K轮推理之后,得到qK+1作为所选目标的隐藏表示。
优选地,在每一次迭代中,对于本轮没有选择子目标的情况,添加额外的cN+1 k作为空向量的表示。
优选地,使用门控递归单元作为解码器,依据下一轮子目标选择,重用对话历史中的语句生成句子,包括:
Figure DEST_PATH_IMAGE011
在解码到第j步时,解码器以前一步输出的词uj-1和目标的隐藏表示qK+1的拼接作为输入,并返回隐藏状态hj dec,生成器通过单向量矩阵E将隐藏状态hj dec映射到的词汇空间V的分布pj g;
将对话历史中的字词用作候选字词集合H,并计算一个复制概率pj c,
Figure 620962DEST_PATH_IMAGE012
将pj c映射到完整的词汇空间V,如果V的对应字词没有在H中出现,则将相应维度补零从而得到
Figure DEST_PATH_IMAGE013
将这两个分布组合来计算第j步的最终解码概率
Figure 435465DEST_PATH_IMAGE014
将最终解码概率最大值对应的词作为当前步解码出的词,把每一步解码出的词拼接形成句子。
优选地,判断是否所有子目标都完成传递,若都完成,则停止交互,包括:
输出一个标量pter,
Figure DEST_PATH_IMAGE015
使用标量pter指示是否停止当前对话,其中pn tr为传递概率,qK+1为所选目标的隐藏表示,W2和W3均为可训练参数。
优选地,方法还包括:
采用多任务学习框架进行模型参数的训练,通过联合优化目标管理模块、句子生成模块和终止策略模块:
Figure 647748DEST_PATH_IMAGE016
其中,J是标准语句的长度,yn tr是指示是否已传递第n个子目标, ysel指示此回合中所选择的子目标,yj dec是句子生成时第j个词的标签,yter指示当前轮是否是会话中的最后一轮。
从上面所述可以看出,本发明提供的用于对话系统评估的语句生成方法,通过对对话历史中的上下文进行编码,获取每个词的隐藏表示,通过每个词的隐藏表示选择合适的子目标,追踪选择的子目标,计算子目标追踪结果,并基于该追踪结果,使用标准的记忆网络进行下一轮子目标选择,依据该目标选择,重用对话历史中的语句生成句子,可以通过在模拟对话过程中重用关键字词和短语,根据对话系统的回复动态地生成适当的用户语句,以自然的语言与对话系统进行交互,这减轻了用户模拟器在生成句子时的负载,有助于更稳定的传递用户目标。
附图说明
图1为本发明实施例的语句生成方法流程示意图;
图2为本发明实施例的用户目标、对话历史和基于对话历史的建模策略示意图;
图3为本发明实施例的Histor模型结构示意图;
图4为本发明实施例的记忆网络结构示意图;
图5为本发明实施例的三个对话系统相关分析图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
一种用于对话系统评估的语句生成方法,基于用户模拟器,包括以下步骤:
S101使用双向门控循环单元对对话历史中的上下文进行编码;
S102将对话历史中的所有语句连接后送入双向门控循环单元中,获取语句中每个词的隐藏表示;
S103获取用户目标,将用户目标建模为一个检索问题,用户目标为若干子目标的集合,通过所述每个词的隐藏表示选择合适的子目标;
S104追踪选择的子目标,计算子目标追踪结果;
S105基于子目标追踪结果,使用标准的记忆网络进行下一轮子目标选择;
S106使用门控递归单元作为解码器,依据下一轮子目标选择,重用对话历史中的语句生成句子;
S107判断是否所有子目标都完成传递,若都完成,则停止交互。
如图4所示为记忆网络结构图。
本方法通过对对话历史中的上下文进行编码,获取每个词的隐藏表示,通过每个词的隐藏表示选择合适的子目标,追踪选择的子目标,计算子目标追踪结果,并基于该追踪结果,使用标准的记忆网络进行下一轮子目标选择,依据该目标选择,重用对话历史中的语句生成句子,可以通过在模拟对话过程中重用关键字词和短语,根据对话系统的回复动态地生成适当的用户语句,以自然的语言与对话系统进行交互,这减轻了用户模拟器在生成句子时的负载,有助于更稳定的传递用户目标。
作为一种实施方式,将所有语句连接后送入双向门控循环单元(BidirectionGated Recurrent Unit, BiGRU),获取语句中每个词的隐藏表示,包括:
将Dt-1中的所有语句中的字词连接为X = {x1, x2, x3, … , xI},其中t表示对话的第t轮,Dt-1表示从第1轮到第t-1轮的对话语句,I是字词总个数,将X送入双向门控循环单元中,获取每个词的隐藏表示Henc=[h1 enc, h2 enc, … , hI enc]
Figure DEST_PATH_IMAGE017
在语料库的模型训练中,上下文来自对话历史。在交互过程中,这样的上下文是动态生成的。
作为一种实施方式,跟踪选择的子目标,判断其是否完成传递,包括:
计算传递概率pn tr来指示其是否完成传递
Figure 191992DEST_PATH_IMAGE018
其中,
Figure DEST_PATH_IMAGE019
,gn为子目标,
Figure 795143DEST_PATH_IMAGE004
是词语的词包表示,是指gn中所有字词的词向量对应维数之和,其中词向量是从矩阵E中查表得到的,Hn是融合了子目标的对话上下文表示;
通过传递概率
Figure 487156DEST_PATH_IMAGE020
计算子目标追踪结果,其中W1是可训练参数,T表示矩阵转置。
作为一种实施方式,基于子目标追踪结果,使用标准的记忆网络进行子目标选择,包括:
记忆网络以多次迭代的方式进行循环推理,包含一组可训练的嵌入矩阵c= {c1,c2, … , cK+1},对于每次迭代,其中
Figure 161851DEST_PATH_IMAGE006
,K是迭代次数,|V|是词汇量大小;
在每一次迭代中,子目标被输入到记忆网络中并表示为
Figure 354410DEST_PATH_IMAGE007
,式中,cn k是子目标gn的词包表示,Ck是第k次迭代时的嵌入矩阵;
初始查询向量q1为h1 enc,在第k次推理时,查询向量为qk,首先计算查询向量qk和每个子目标的记忆表示ck之间的内积,然后取softmax作为匹配度,推理输出是ck+1的加权和
Figure 456358DEST_PATH_IMAGE008
,并被迭代输入到下一轮推理,
Figure 370088DEST_PATH_IMAGE009
查询向量更新为:
Figure 582894DEST_PATH_IMAGE010
在K轮推理之后,得到qK+1作为所选目标的隐藏表示。
记忆网络(Gated Memory Network,GMN)已经在很多检索任务中表现出来强大的知识表达、推理能力,本方法中使用记忆网络以多次迭代的方式进行循环推理,能够更好地进行子目标选择。
作为一种实施方式,在每一次迭代中,对于本轮没有选择子目标的情况,添加额外的cN+1 k作为空向量的表示。为了避免用户模拟器重复地选择已经传递的子目标,根据跟踪输出(即pn tr)屏蔽已传递的子目标。
作为一种实施方式,使用门控递归单元作为解码器,依据下一轮子目标选择,重用对话历史中的语句生成句子,包括:
Figure DEST_PATH_IMAGE021
在解码到第j步时,解码器以前一步输出的词uj-1和目标的隐藏表示qK+1的拼接作为输入,并返回隐藏状态hj dec,解码器通过单向量矩阵E将隐藏状态hj dec映射到的词汇空间V的分布pj g;
为了促使解码器重用对话历史中字词,将对话历史中的字词用作候选字词集合H,并计算一个复制概率pj c,,该分布表示对话历史中的字词在语句生成过程中被重用的概率。为了防止过拟合,放弃了历史语句中的字词顺序,只将H作为出现在对话历史中的字词集合。
Figure 101731DEST_PATH_IMAGE022
将pj c映射到完整的词汇空间V,如果V的对应字词没有在H中出现,则将相应维度补零从而得到
Figure 374581DEST_PATH_IMAGE013
将这两个分布组合来计算第j步的最终解码概率
Figure DEST_PATH_IMAGE023
,将最终解码概率最大值对应的词作为当前步解码出的词,把每一步解码出的词拼接形成句子。
作为一种实施方式,判断是否所有子目标都完成传递,若都完成,则停止交互,包括:
输出一个标量pter,
Figure 710360DEST_PATH_IMAGE024
使用标量pter指示是否停止当前对话,其中pn tr为传递概率,qK+1为所选目标的隐藏表示,W2和W3均为可训练参数。
用户模拟器需要终止策略来决定何时停止交互。直观地说,当所有子目标都完成时,用户模拟器就完成了它的任务。我们通过完连接网络实现这样的功能。
作为一种实施方式,本方法还包括:
采用多任务学习框架进行模型参数的训练,通过联合优化目标管理模块、句子生成模块和终止策略模块:
Figure 726857DEST_PATH_IMAGE016
其中,J是标准语句的长度,yn tr是指示是否已传递第n个子目标, ysel指示此回合中所选择的子目标,yj dec是句子生成时第j个词的标签,yter指示当前轮是否是会话中的最后一轮。
本发明通过基于自然语言的用户模拟器来改进面向任务的对话系统的评估。因为用户模拟器本身就是一个面向任务的对话系统,其任务是引导对话系统完成给定的任务。通过一个不够完善的系统(即用户模拟器)评估另一个不完善的系统(即对话系统)通常会导致不可靠的结论。
为了有效地评估面向任务的对话系统,我们认为一个完善的用户模拟器能够通过流畅的自然语言以稳定的方式传递用户目标。为了实现这一点,我们提出了一种基于对话历史的建模策略(我们将其命名为History-based Simulation strategy: HSS)。其主要创新点在于,对于给定的对话历史,用户目标已经在该次会话的完整对话历史中以自然语言完全传递。用户模拟器可以基于该历史模拟对话过程。具体来说,它可以通过在模拟对话过程中重用关键字词和短语,根据对话系统的回复动态地生成适当的用户语句。这减轻了用户模拟器在生成句子时的负载,有助于更稳定的传递用户目标。
为了实现这个想法,我们构建了一个基于对话历史的用户模拟器(History-basedUser Simulator: Histor),它使用一个记忆网络来管理用户目标,并使用复制机制来重用给定对话历史中的关键字词和短语来生成模拟对话。我们在 MultiWOZ上进行了实验。Histor优于现有的用户模拟器的语言质量和用户目标传递成功率。
如图3所示为本发明的模型结构,其中黑色圆表示已经传递的子目标,斜纹圆表示当前轮选择的子目标。
我们还使用用户模拟器通过来评估现有的面向任务的对话系统。我们的人工评估结果表明,我们的Histor模型与人工评估分数相比具有更好的相关性,这表明Histor模型在现实场景中的对话评估中有更好的应用。
总结起来,我们的贡献如下:(1)我们提出了一种新的基于历史的建模策略HSS,它有助于用户模拟器稳健地传递用户目标。(2)我们将HSS实现为基于历史的用户模拟器Histor。Histor是当前第一个通过自然语言与对话系统进行交互来评估对话系统性能的模型。(3)我们首先在静态语料库上评估了Histor 的性能,实验结果表明相对于基线模型,Histor具有更好的语言质量和用户目标传递效率,然后我们使用Histor来评估现有的对话系统。实验结果表明,相对于基于语料库的评价方法,Histor与人工评价的相关性更高。
用户模拟器是在给定对话上下文条件下对真实用户行为进行建模。传统的用户模拟器主要关注对话系统策略的评估和优化。这种用户模拟器通过形式语言或基于模板的自然语言与对话系统交互。一般用户模拟器可以通过基于规则的模型和数据驱动的模型来实现。
在面向任务的对话系统中,用户需要对话系统为其完成特定任务。一个任务可以由一个用户目标(G)来描述。根据MultiWOZ设定,用户目标G被定义为一组子目标的集合,即G={g1, g2, g3,…, gN}。每个子目标都由一个三元组进行描述,即gn =[意图, 槽, 槽值},其中N是子目标的数目。每个意图对应一组槽,每个槽对应一组槽值。
图2 中给出了来自于MultiWOZ中一个用户目标的示例,描述了用户预订餐厅的任务。该任务本体包括三种意图,即Inform、Book和Request。具体来说,Inform表示用户对所需餐厅的约束(例如,用户指定“类型”的值为“中餐”,在第2行)。Book表示用户对餐厅的预订信息(例如,用户想预订的日期在星期天)。Request表示用户从系统获取所预定餐馆的信息(例如,用户询问电话的信息)。在对话过程中,用户的意图可能会改变。我们通过fail_info和fail_book来表示目标的切换。例如,[fail_info,类型,西班牙], [inform, 类型,中餐]表示用户最初想要西班牙风味餐厅,但随后转变到中餐。
如前所述,为了对对话系统的实际性能进行有效的评估,用户模拟器需要用自然语言与对话系统进行对话,以完成用户目标G的传递。在对话的第t轮,我们使用Dt-1来表示从第1轮到第t-1轮的对话语句,具体来说,Dt-1={U1, R1, U2, R2, … , Ut-1, Rt-1},其中Ui,Ri分别表示用户和对话系统在第i轮的语句。用户模拟器需要选择一个或多个合适的子目标,并生成自然语句Ut完成传递。生成的语句Ut被传送到对话系统,并生成新的系统回复Rt。两者交互迭代,直到对话结束。
图2直观的展示了HSS的基本思想。在MultiWOZ等面向任务的对话系统的语料库中,对话历史记录了用户和对话系统之间的对话过程。用户在对话过程中向对话系统传达既定的用户目标,对话系统通过理解用户语句来获得用户的真实目标。在模拟对话过程时,尽管对话进程可能会偏离语料,但最终目标是传递相同的用户目标。因此,用户模拟器可以根据对话系统的回复进行重新措辞来重用对话历史中的词和短语。例如,在图2中,在模拟对话过程中,对话系统在第一轮中询问对餐馆位置的相关信息,即“请问您需要哪个位置”用户模拟器只需重新表述对话历史中U1的内容,即“我想找位于市中心的。”与重新生成整个对话过程相比,这很大程度上减轻了用户模拟器的建模负担。
基于以上分析,用户模拟器的主要功能包括:(1)选择在当前轮中传递哪些子目标,以及(2)使用流畅的自然语言传递选定的子目标。这种策略可以通过多种模型实现,我们在此选择记忆网络(用于目标管理器)和复制机制(用于句子生成)来实现我们的用户模拟器。
我们分两阶段设计实验来证明本发明提出的方法的有效性:
(1)基于静态语料库的评估:我们首先在静态语料上进行测试,即给定标准对话上下文的情况下,在几个自动评价指标上的表现。
(2)动态交互评估:通过Histor评估对话系统,计算Histor与人工评价结果的相关性。
模型在MultiWOZ餐厅预订任务上进行训练和测试。总共有1311个样本,我们按照7:1.5:1.5的比例对它们进行分割,用于训练、验证和测试。
门控循环单元(Gated Recurrent Unit,GRU)的隐藏层维数和词向量维数设置为300。记忆网络迭代次数设置为3,维数为300。我们使用Adam优化器对模型进行训练,学习率为0.001,并在验证集上执行提前终止以防止过拟合。
我们使用对话历史辅助用户模拟器生成流畅、符合主题的自然语句,为了展示给定历史情况下,生成合理的回复也是一项具有挑战的工作,我们设计了一个随机的基线模型:
Random。这个基线模拟下用户模拟器对对话历史进行重新排序,它从对话历史中随机抽取字词,形成用户的查询语句。句子长度设定为正常语句长度范围内的随机数。
然后,我们进行模型简化实验,以验证Histor中的两个关键模块的重要作用:
Histor\Log。删除句子生成模块的复制机制。解码器由GRU构成。
Histor\Mem在这个变体中,我们移除目标记忆网络(GMN)。
最后,我们比较了两个现有的用户模拟器模型。值得注意的是,它们被设计来训练对话系统的对话策略,相应的对话系统也是基于模板来生成回复,这与我们基于多样化的自然语言的交互场景有一定的差异。
AgenG,包含自然语言理解模块(NLU)、基于议程的目标管理模块和基于GRU的句子生成模块,每个模块都经过单独训练,然后联合组成完成的用户模拟器。
SLE(Supervised Learning End2End,端到端监督学习),它与NLU、seq2seq的目标管理模块和基于GRU的句子生成模块拼接在一起,并采用端到端的联合培训。
由于用户模拟器本身是一个特殊的面向任务的对话系统,所以我们首先使用通用的自动评估指标来测量生成的语言质量和任务完成度。
对于语言质量,我们使用(1)双语评估研究(Bilingual Evaluation Understudy,BLEU)和(2) 困惑度(Perplexity)进行评估。
对于任务完成度,我们采用(1)Turn_acc(2)Joint_acc进行评估。
Turn_acc是一个非零即一的数值,表示用户模拟器是否成功地传递了用户的目标。注意的是, MultiWOZ数据集中没有标注每一轮用户的子目标选择,我们通过捕获对话系统的信念变化来标注每一轮的用户子目标选择。Joint_acc也是一个非零即一的数值,只有当每一轮Turn_acc都成功完成时,此次会话的Joint_acc才会为1。
表1给出了不同模型在基于静态自动评价指标上的结果。第(1)行展示了对基准语料的评分结果(Ground Truth),注意到由于语料收集错误,Turn_acc和Joint_acc并不是100。首先,我们将Histor与基线模型Random进行比较。从第(3)行,我们可以发现,Random在语言质量(BLEU,Perplexity)和任务完成度(Turn_acc, Join_acc)上仅取得很低的分数。这表明,即时给出对话历史中所有的关键词,决定何时说出某个子目标并生成自然语言来传递这些目标,仍然是一个困难的任务。值得注意的是,Histor可以很好地完成这一任务。
表1
Figure DEST_PATH_IMAGE025
比较第(2),(4)和(5)行,我们发现Histor中的两个关键模块有很大效用。删除目标管理模块(第(5)行)时,Turn_acc和 Join_acc都会急剧下降。这证明了,即使在对话历史被给出的情况下,恰当地选择子目标也是较为困难的。但对话历史也是重要的。如第(4)行所示,没有复制机制,语言质量和任务完成率都会急剧下降。
对于AgenG和SLE这两个现有模型,如行(6)和(7)中所示,AgenG和SLE的各项分数都没有达到与Histor匹配的结果。主要原因是,它们设计用于只能生成基于模板回复的对话系统。然而,我们的场景需要用户模拟器在语言理解、目标管理和语言生成方面有更强大的性能。
给定对话历史,Histor在大多数情况下(84.6%的测试集中)都可以通过顺畅的语言(Perplexity达到34.8,语料库标准回复的Perplexity为33)传递用户目标。这意味着,给定一个能够生成完美回复的对话系统,Histor可以成功地传递给定的用户目标。这为通过第6节中的实际交互评估对话系统奠定了基础。
直观地说,如果对话系统在与Histor交互时未能完成任务(即未能捕获所有用户目标),则更可能是由于对话系统发生的错误。然而,当使用不太可靠的用户模拟器(例如SLE)与对话系统交互时,大约一半的失败案例是由用户模拟器造成的,用这样的用户模拟器来评估对话系统是不可行的。
现在,我们通过实验分析基于Histor的对话系统评估方法与人工评估的相关性。我们在训练集中预先训练了三个对话系统,并在测试集中进行交互评估。具体来说,我们将测试集中的每个对话样本作为一个评估实例。对于给定的会话,我们让一名测试者或一个用户模拟器与对话系统进行交互,以传递相应的用户目标。在对话结束时,我们检查对话系统是否成功捕获给定的用户目标(所有子目标都需要正确)。如果是,则此轮交互分数为1;否则为0。对于用户模拟器,我们比较了Histor、AgenG和SLE。此外,我们还比较了基于静态语料库的评价指标成功率(Success_rate)。
我们选择以下三个对话系统进行评估。
TSCP(Two Stage CopyNet),TSCP是WOZ数据集上取得最优表现的对话系统。我们在MultiWOZ数据集的餐厅预订任务上重新训练了TSCP模型。
TRADE-DS(Transferable Dialogue state generator based dialoguesystem),我们在MultiWOZ数据集上建立了一个基于TRADE的对话系统,TRADE是当前在MultiWOZ数据集上性能最优的信念跟踪模型。我们通过添加一个多层感知器作为策略网络和一个GRU作为回复解码器,将TRADE扩展成一个完整的对话系统。
Mem-DS(Memory Network based dialogue system,基于记忆网络的对话系统),这个系统把对话系统的信念追踪看作是一个检索问题。我们使用一个记忆网络对对话上下文进行编码,并将每个属性槽编码为一个查询向量。在对记忆网络进行推理后,得到每个属性槽的属性值。其余模块与TRADE-DS保持相同。
我们安排两名英语水平良好的学生作为测试者。考虑到即使是当前最优的对话系统,在用户给出完全不相关的语句时对话系统也容易出现差错,因此为了有一个合理的评价结果,在进行人工测试之前,我们训练测试者按照语料库的语句风格进行对话。
阶段一:测试者首先阅读训练集中的300个对话,然后根据语料库的上下文给出用户语句。我们请两位测试者交叉核对他们的回答。我们循环以上过程,直到两个测试者都无法区分回复是来自他的搭档还是来自原始语料库。
阶段二:我们训练测试者与对话系统交互。每个训练实例由验证集中的用户目标和待评估的对话系统组成,每批训练包含5个这样的实例。我们要求测试者通过第一阶段所学的语言风格通过自然语句来传递用户目标,从而与对话系统进行交互。在对话结束时,我们检查对话系统是否已准确接收到用户目标。
两名测试者首先独立完成每一批次的训练,然后收集交互结果不一致的情况(即一名测试者的对话任务成功,而另一名测试者对话任务失败)。6个批次后,每个批次最多出现1/5个交互结果不一致的情况。然后我们允许他们使用测试集进行正式的评估。
表2
Figure 834622DEST_PATH_IMAGE026
我们在表2中显示各用户模拟器、静态语料库及测试者B的评估结果与测试者A的评估结果在实例层面相关系数。各用户模拟器与测试者B的相关度与上表基本一致,因此我们仅展示了与测试者A的相关度。我们可以看到,在这三个系统中,两名测试者之间的相关性都在0.8以上,这表明我们的人工测试是一致可靠的。在所有用户模拟器中,Histor始终达到比其他指标更好的相关性,验证了HSS策略的有效性。
通过检查结果不一致的样本,发现它们用户目标较为复杂,自动对话过程中,Histor有时无法正确地传递所有子目标。此外,现有的用户模拟器显示出比基于语料库的评价更低的相关性,在对话系统评价中效果不明显。
为了对模型有更深入的了解,我们根据BLEU的实验设计思想,展示了Histor评估结果与人工评估在系统层面的相关程度。
如图5所示,总体来说,系统层面相关系数与实例层面相关系数基本一致。首先,我们可以看到测试者A和测试者B在系统层面上有很好的相关性。Histor与人类评估的相关性最好。和预期的一样,基于语料库的评估方法倾向于高估对话系统,因为它一直提供的是标准的对话上下文。同时,较差的用户模拟器(AgenG和SLE)往往会低估对话系统。当对话系统相对较稳定(例如,TRADE-DS),这种低估更为明显。根据实例层面的评估结果,我们发现大多数失败案例都是由于用户模拟器未能成功传递用户目标造成的。
此外我们发现三个对话系统(即Mem-DS、TSCP和TRADE-DS)在基于语料库的评价中,尽管成功率得分相对接近,但在人工评价中却表现出巨大的差异。这体现了通过像Histor这样的用户模拟器动态交互评估对话系统的必要性。
本发明正是基于这样一种迫切的需求,建立一个有效的用户模拟器,通过与对话系统用自然语言交互来评估其性能。
我们提出了基于历史的建模策略(HSS),该策略被实例化为Histor模型,为任务型对话系统的评估提供了新的可能。一方面,它不遵循既定的对话历史,能够动态地评估对话系统;另一方面,它还通过约束用户模拟器来更好地传递用户目标,从而充分利用对话历史。因此,Histor可以利用对话历史的优势,根据对话系统的回复做出灵活的变化,能够为任务导向的对话系统提供更可靠的评价,从根本上促进了面向任务型对话系统的发展。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本发明难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本发明难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本发明的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本发明的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本发明。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本发明的具体实施例对本发明进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本发明的实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本发明的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种用于对话系统评估的语句生成方法,基于用户模拟器,其特征在于,包括:
使用双向门控循环单元对对话历史中的上下文进行编码;
将对话历史中的所有语句连接后送入双向门控循环单元中,获取语句中每个词的隐藏表示;
获取用户目标,将用户目标建模为一个检索问题,用户目标为若干子目标的集合,通过所述每个词的隐藏表示选择合适的子目标;
追踪选择的子目标,计算子目标追踪结果;
基于子目标追踪结果,使用标准的记忆网络进行下一轮子目标选择;
使用门控递归单元作为解码器,依据下一轮子目标选择,重用对话历史中的语句生成句子;
判断是否所有子目标都完成传递,若都完成,则停止交互;
所述基于子目标追踪结果,使用标准的记忆网络进行子目标选择,包括:
所述记忆网络以多次迭代的方式进行循环推理,包含一组可训练的嵌入矩阵C= {C1,C2, … , Ck+1},对于每次迭代,其中
Figure 539336DEST_PATH_IMAGE001
,表示第k次迭代时的嵌入矩阵,k是迭代次数,|V|是词汇量大小;
在每一次迭代中,子目标被输入到记忆网络中并表示为
Figure 762376DEST_PATH_IMAGE002
,式中,cn k是子目标gn的词包表示;
初始查询向量q1为h1 enc,在第k次推理时,查询向量为qk,首先计算查询向量qk和每个子目标的记忆表示ck之间的内积,然后取softmax作为匹配度,推理输出是ck+1的加权和
Figure 306971DEST_PATH_IMAGE003
,并被迭代输入到下一轮推理,
Figure 366194DEST_PATH_IMAGE004
查询向量更新为:
Figure 922946DEST_PATH_IMAGE005
在K轮推理之后,得到qK+1作为所选目标的隐藏表示。
2.根据权利要求1所述的用于对话系统评估的语句生成方法,其特征在于,所述将所有语句连接后送入双向门控循环单元中,获取语句中每个词的隐藏表示,包括:
将Dt-1中的所有语句中的字词连接为X = {x1, x2, x3, … , xI},其中t表示对话的第t轮,Dt-1表示从第1轮到第t-1轮的对话语句,I是字词总个数,将X送入双向门控循环单元中,获取每个词的隐藏表示Henc=[h1 enc, h2 enc, … , hI enc]
Figure 220066DEST_PATH_IMAGE006
3.根据权利要求1所述的用于对话系统评估的语句生成方法,其特征在于,所述跟踪选择的子目标,判断其是否完成传递,包括:
计算传递概率pn tr来指示其是否完成传递
Figure 204071DEST_PATH_IMAGE007
其中,
Figure 734279DEST_PATH_IMAGE008
,gn为子目标,
Figure 579875DEST_PATH_IMAGE009
是词语的词包表示,是指gn中所有字词的词向量对应维数之和,其中词向量是从矩阵E中查表得到的,Hn是融合了子目标的对话上下文表示;
通过传递概率
Figure 780437DEST_PATH_IMAGE010
计算子目标追踪结果,其中W1是可训练参数,T表示矩阵转置。
4.根据权利要求1所述的用于对话系统评估的语句生成方法,其特征在于,在每一次迭代中,对于本轮没有选择子目标的情况,添加额外的cN+1 k作为空向量的表示。
5.根据权利要求1所述的用于对话系统评估的语句生成方法,其特征在于,所述
使用门控递归单元作为解码器,依据下一轮子目标选择,重用对话历史中的语句生成句子,包括:
Figure 420497DEST_PATH_IMAGE011
在解码到第j步时,解码器以前一步输出的词uj-1和目标的隐藏表示qK+1的拼接作为输入,并返回隐藏状态hj dec,解码器通过单向量矩阵E将隐藏状态hj dec映射到的词汇空间V的分布pj g;
将对话历史中的字词用作候选字词集合H,并计算一个复制概率pj c,
Figure 703579DEST_PATH_IMAGE012
将pj c映射到完整的词汇空间V,如果V的对应字词没有在H中出现,则将相应维度补零从而得到
Figure 70976DEST_PATH_IMAGE013
将这两个分布组合来计算第j步的最终解码概率
Figure 608267DEST_PATH_IMAGE014
将最终解码概率最大值对应的词作为当前步解码出的词,把每一步解码出的词拼接形成句子。
6.根据权利要求1所述的用于对话系统评估的语句生成方法,其特征在于,所述判断是否所有子目标都完成传递,若都完成,则停止交互,包括:
输出一个标量pter,
Figure 668496DEST_PATH_IMAGE015
使用标量pter指示是否停止当前对话,其中pn tr为传递概率,qK+1为所选目标的隐藏表示,W2和W3均为可训练参数。
7.根据权利要求1所述的用于对话系统评估的语句生成方法,其特征在于,所述方法还包括:
采用多任务学习框架进行模型参数的训练,通过联合优化目标管理模块、句子生成模块和终止策略模块:
Figure 924028DEST_PATH_IMAGE016
其中,J是标准语句的长度,yn tr是指示是否已传递第n个子目标, ysel指示此回合中所选择的子目标,yj dec是句子生成时第j个词的标签,yter指示当前轮是否是会话中的最后一轮,pn tr为传递概率,标量pter指示是否停止当前对话,pj dec为最终解码概率。
CN202010702253.9A 2020-07-21 2020-07-21 一种用于对话系统评估的语句生成方法 Active CN111737146B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010702253.9A CN111737146B (zh) 2020-07-21 2020-07-21 一种用于对话系统评估的语句生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010702253.9A CN111737146B (zh) 2020-07-21 2020-07-21 一种用于对话系统评估的语句生成方法

Publications (2)

Publication Number Publication Date
CN111737146A CN111737146A (zh) 2020-10-02
CN111737146B true CN111737146B (zh) 2020-11-13

Family

ID=72655263

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010702253.9A Active CN111737146B (zh) 2020-07-21 2020-07-21 一种用于对话系统评估的语句生成方法

Country Status (1)

Country Link
CN (1) CN111737146B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112560507A (zh) * 2020-12-17 2021-03-26 中国平安人寿保险股份有限公司 用户模拟器构建方法、装置、电子设备及存储介质
CN112818701B (zh) * 2021-02-01 2023-07-04 上海明略人工智能(集团)有限公司 用于确定对话实体识别模型的方法、装置及设备
CN113705652B (zh) * 2021-08-23 2024-05-28 西安交通大学 一种基于指针生成网络的任务型对话状态追踪系统及方法
CN115422335B (zh) * 2022-09-01 2024-05-03 美的集团(上海)有限公司 与对话系统的交互方法和对话系统的训练方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109543010A (zh) * 2018-10-22 2019-03-29 拓科(武汉)智能技术股份有限公司 融合数据库查询的人机对话方法及系统
CN110543554A (zh) * 2019-08-12 2019-12-06 阿里巴巴集团控股有限公司 针对多轮对话的分类方法和装置
CN110990547A (zh) * 2019-11-29 2020-04-10 支付宝(杭州)信息技术有限公司 一种话术生成方法和系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140205981A1 (en) * 2013-01-18 2014-07-24 Fresenius Medical Care Holdings, Inc. Dialysis treatment simulation systems and methods
US20180232152A1 (en) * 2017-02-10 2018-08-16 Xerox Corporation Gated end-to-end memory network
CN109977207A (zh) * 2019-03-21 2019-07-05 网易(杭州)网络有限公司 对话生成方法、对话生成装置、电子设备及存储介质
CN110008322B (zh) * 2019-03-25 2023-04-07 创新先进技术有限公司 多轮对话场景下的话术推荐方法和装置
CN110321417B (zh) * 2019-05-30 2021-06-11 山东大学 一种对话生成方法、系统、可读存储介质及计算机设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109543010A (zh) * 2018-10-22 2019-03-29 拓科(武汉)智能技术股份有限公司 融合数据库查询的人机对话方法及系统
CN110543554A (zh) * 2019-08-12 2019-12-06 阿里巴巴集团控股有限公司 针对多轮对话的分类方法和装置
CN110990547A (zh) * 2019-11-29 2020-04-10 支付宝(杭州)信息技术有限公司 一种话术生成方法和系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CrossWOZ:A Large-Scale Chinese Cross-Domain Task-Oriented Dialogue Dataset;Qi Zhu等;《Transactions of the Association for Computational Linguistics》;20200228;第281-295页 *
CrossWOZ大规模跨领域中文任务导向多轮对话数据集-知乎;祝凯华;《https://zhuanlan.zhihu.com/p/130259417》;20200615;第1-11页 *
面向聊天机器人的多注意力记忆网络;任建龙等;《计算机系统应用》;20190905;第28卷(第9期);第18-24页 *

Also Published As

Publication number Publication date
CN111737146A (zh) 2020-10-02

Similar Documents

Publication Publication Date Title
CN111737146B (zh) 一种用于对话系统评估的语句生成方法
Anderson et al. Complex learning processes
CN109817329B (zh) 一种医疗问诊对话系统以及应用于该系统的强化学习方法
CN107133211B (zh) 一种基于注意力机制的作文评分方法
Cuayáhuitl et al. Human-computer dialogue simulation using hidden markov models
CN110032623B (zh) 用户问句与知识点标题的匹配方法和装置
CN111414464A (zh) 一种问题生成方法、装置、设备及存储介质
CN116059646B (zh) 一种交互式专家指导系统
CN109857846B (zh) 用户问句与知识点的匹配方法和装置
CN112289467B (zh) 一种面向低资源场景可迁移的医疗问诊对话系统及方法
CN111753076B (zh) 对话方法、装置、电子设备及可读存储介质
CN112115246A (zh) 基于对话的内容推荐方法、装置、计算机设备及存储介质
CN110377631A (zh) 案件信息处理方法、装置、计算机设备和存储介质
CN111339292A (zh) 文本分类网络的训练方法、系统、设备及存储介质
Fazel-Zarandi et al. Learning robust dialog policies in noisy environments
Wang et al. Are you for real? detecting identity fraud via dialogue interactions
CN115756475A (zh) 一种基于序列生成对抗网络的代码注释生成方法及装置
CN114048301A (zh) 一种基于满意度的用户模拟方法及系统
Zhang et al. Toward self-learning end-to-end task-oriented dialog systems
CN115238903B (zh) 模型压缩方法、系统、电子设备及存储介质
CN111222533B (zh) 一种基于依赖树的深度学习视觉问答方法及系统
CN114048309A (zh) 一种问题驱动的社交网络答案摘要自动生成方法与装置
Zhang et al. Toward Self-Learning End-to-End Dialog Systems
CN117252260B (zh) 一种基于大语言模型的面试技能训练方法、设备及介质
Hanneman Task-oriented Dialog Policy Learning via Deep Reinforcement Learning and Automatic Graph Neural Network Curriculum Learning

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