CN111522921B - 一种基于语句改写的面向端到端对话的数据增强方法 - Google Patents

一种基于语句改写的面向端到端对话的数据增强方法 Download PDF

Info

Publication number
CN111522921B
CN111522921B CN202010151751.9A CN202010151751A CN111522921B CN 111522921 B CN111522921 B CN 111522921B CN 202010151751 A CN202010151751 A CN 202010151751A CN 111522921 B CN111522921 B CN 111522921B
Authority
CN
China
Prior art keywords
dialogue
sentence
model
user
decoder
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
CN202010151751.9A
Other languages
English (en)
Other versions
CN111522921A (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.)
State Grid Zhejiang Yuhuan Power Supply Co ltd
Marketing Service Center of State Grid Zhejiang Electric Power Co Ltd
Original Assignee
State Grid Zhejiang Yuhuan Power Supply Co ltd
Marketing Service Center of State Grid Zhejiang Electric Power Co Ltd
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 State Grid Zhejiang Yuhuan Power Supply Co ltd, Marketing Service Center of State Grid Zhejiang Electric Power Co Ltd filed Critical State Grid Zhejiang Yuhuan Power Supply Co ltd
Priority to CN202010151751.9A priority Critical patent/CN111522921B/zh
Publication of CN111522921A publication Critical patent/CN111522921A/zh
Application granted granted Critical
Publication of CN111522921B publication Critical patent/CN111522921B/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/36Creation of semantic tools, e.g. ontology or thesauri
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

本发明公开了一种基于语句改写的面向端到端对话的数据增强方法,涉及一种数据处理方法。目前现场增强难以实现系统层面的整体优化。本发明通过构建并训练一个语句改写模型来扩充对话生成模型的训练数据,通过定义用户语句的对话功能来构造语句改写模型的训练参考;采用基于序列到序列的框架,使用两个解码器依次解码前一轮系统对话动作和改写后的用户语句,前一轮系统对话动作可以为用户语句的改写提供对话历史背景,使得生成的改写语句更加符合对话语境。本技术方案在语句改写模型和对话生成模型的解码器之间加入了注意机制,实现端到端对话系统的搭建,并使得改写语句可以直接辅助对话生成,同时对话生成的结果也可以监督语句改写模型的训练。

Description

一种基于语句改写的面向端到端对话的数据增强方法
技术领域
本发明涉及一种数据处理方法,尤其涉及一种基于语句改写的面向端到端对话的数据增强方法。
背景技术
搭建基于自然语言的智能对话系统来与人类进行交流,是人工智能的一个重要研究目标。对话系统的种类多样,其中,任务型对话系统能够协助人类完成特定领域下的特定任务,因而在电子客服、个人助理、自助终端等业务中有广泛的应用前景,得到了研究界和工业界的重点关注。一般而言,任务型对话系统需要构建并训练一个面向某个或某些特定领域的对话生成模型,来为输入的用户语句产生相应的有关特定任务的系统回复。随着深度学习的日趋成熟,神经网络模型被成功地应用到了对话生成模型的构建当中,使得基于神经网络的模块化结构成为了主流的构建对话生成模型的解决方案。
这种模块化的模型结构可以描述为:首先用户语句被送入自然语言理解模块进行领域检测、用户意图检测和语义解析,得到的语义标签;然后识别结果送入对话状态跟踪模块,进行多轮信息的整合,得到当前对话轮次的对话状态表示;接下来,根据对话状态进行数据库的查询,搜索用户希望查询的信息,送入对话策略选择模块中,确定系统的回复策略(称为系统对话动作);最后,系统根据所选择的系统动作,在自然语言生成模块中生成符合人类语言习惯的自然语言回复。特别地,Lei在2018年提出了一种基于复制机制的两阶段序列到序列(seq2seq)模型Sequicity,或称TSCP,该模型通过一个统一的seq2seq架构完成了自然语言理解、对话状态跟踪和自然语言生成这三个模块的功能,并在公开的单领域数据集上取得了很好的实验结果。之后,Zhang在2019年对TSCP进行改进并提出了模型DAMD,该模型在seq2seq架构中加入了对话策略选择模块的功能,实现了多领域自适应对话,并在公开的多领域数据集上取得了很好的实验结果。
然而,训练这种基于神经网络的对话生成模型通常需要大量的高质量的对话文本数据。由于需要寻找并记录在特定领域的特定任务中人与人或人与机器之间的对话,收集这样的训练数据是十分困难且耗费时间的。即使获得了足够多的对话文本记录,我们还需要对这些文本进行标注,以便更好地指导对话生成模型的训练。这种标注通常需要招募大量的工人完成,因而非常耗费人力和资金。这些困难造成了高质量对话文本的稀缺,从而限制了对话系统性能的提升。
对此,数据增强技术旨在构建模型自动地产生更多的训练样本,从而缓解训练数据缺乏的问题。然而,现阶段人们提出的一系列面向文本的数据增强方法都只是针对于独立的单个语句,并没有考虑语句在一段对话中所处的语境,因而直接应用于对话文本的数据扩充时效果较差。
目前,针对于文本的数据增强方法中最为常用的是语句改写,这种方法试图在不改变语义的条件下改写文本中的句子,从而生成更多的语句用以扩充文本数据。但是,现有的基于语句改写的数据增强方法都是单独训练一个语句改写模型用以扩充数据,再使用扩充后的数据单独训练目标模型。这种依赖于多训练阶段的方法会导致训练误差在不同的模型间累积,难以实现系统层面的多模型的整体优化,因而限制了数据增强的效果。
总结:目前的面向文本的数据增强方法存在以下问题:
(1)大部分现有的端到端对话系统在训练对话生成模型时,都需要有关特定领域内特定任务的大量的有标注的对话文本数据,但人工搜集并标注这样的文本数据实施困难且开销较大。
(2)现有的针对于文本的数据增强方法没有考虑文本中语句在一段对话中所处的语境,因而不适用于扩充对话文本数据。
(3)现有的基于语句改写的数据增强方法依赖于多个模型在多阶段下的单独训练,没有实现多模型联合训练和端到端系统的搭建,因而难以进行系统的整体优化。
发明内容
本发明要解决的技术问题和提出的技术任务是对现有技术方案进行完善与改进,提供一种基于语句改写的面向端到端对话的数据增强方法,以达到适用于对话文本的数据增强的目的。为此,本发明采取以下技术方案。
一种基于语句改写的面向端到端对话的数据增强方法,包括以下步骤:
1)模型训练
101)搜索原始对话文本并考察所有用户语句的对话功能,为每一个用户语句匹配一个参考改写语句;
102)将用户语句输入语句改写模型,并对其进行预处理,包括分词、正规化操作;
103)对输入的用户语句以及前一轮系统回复进行编码,得到语句的向量表示;
104)根据上一步编码结果解码前一轮系统对话动作;
105)根据步骤(3)编码结果和前一轮系统对话动作,解码改写后的用户语句;
106)检查改写后的用户语句,筛选出改动较大但含义不变的语句,用以替换原对话文本中的用户语句,生成新的对话文本,并将其并入原对话文本,得到扩充的训练数据,得到对话生成模型;
2)当用户提出请求时,将用户语句输入语句改写模型,并对其进行预处理;
3)对输入的用户语句以及前一轮系统回复进行编码,得到语句的向量表示;
4)根据上一步编码结果解码前一轮系统对话动作;
5)根据步骤3)编码结果和前一轮系统对话动作,解码改写后的用户语句;
6)将用户语句输入对话生成模型,并将其连同前一轮系统回复和前一轮对话状态重新进行编码,获得向量表示;
7)根据上一步编码结果和步骤5)语句改写的解码结果,进行对话状态解码,解码过程中依次输出识别到的对话领域、属性槽和属性值;
8)根据对话状态,在数据库中查询符合要求的实体;
9)判断模型类别;当模型为DAMD时,根据对话状态解码结果和数据库查询结果进行系统对话动作的解码,当模型为TSCP时,则直接跳至下一步;
10)根据之前所有的编解码和查询结果,生成系统的自然语言回复;
11)对生成的回复进行后处理,后处理包括单词合并、添加标点,得到呈现给用户的自然语言,并回复。
作为优选技术手段:在步骤1)中,联合训练一个语句改写模型和一个对话生成模型;两模型都采用基于序列到序列(seq2seq)的框架,由一个对话上下文编码器(encoder)和多个串联的解码器(decoder)组成;语句改写模型包含系统对话动作解码器和改写语句解码器;对话生成模型则有两种,TSCP模型包含对话状态解码器和自然语言回复解码器,DAMD模型则在TSCP模型的两解码器之间又加入了一个系统对话动作解码器。
作为优选技术手段:在步骤102)及步骤2)中,对输入的用户语句进行分词,再将其送入语句改写模型的上下文编码器。
作为优选技术手段:在步骤103)及步骤3)中,将前一轮系统回复和输入的用户语句串联为自然语言单词序列,并使用一个层数为1、隐层神经元数量为50或100的双向GRU模型作为编码器,将该单词序列编码为等长的向量序列,称为隐状态;编码过程实现了在隐状态空间融合并理解对话中包含的语义信息;该编码器的输出结果将依次送到语句改写模型的两个解码器,用于后续模型输出的解码。
作为优选技术手段:在步骤104)及步骤4)中,语句改写模型通过系统对话动作解码器(Action Decoder)进行前一轮系统对话动作At-1的解码;对话动作使用自然语言序列加以表示;且认为前一轮系统对话动作与前一轮系统回复Rt-1直接相关,并且用当前轮次用户语句Ut进行反向推演,基于此两者的编码结果解码出前一轮系统对话动作:
At-1=seq2seq(Rt-1,Ut)
作为优选技术手段:在步骤105)及步骤5)中,语句改写模型通过改写语句解码器(Paraphrase Decoder)进行改写语句
Figure BDA0002402691280000061
的解码,改写语句与原用户语句Ut含义相同,但表述方式有区别,改写语句与原用户语句Ut直接相关,并且受到前一轮系统回复Rt-1和系统对话行为At-1的影响,基于此三者解码出改写语句:
Figure BDA0002402691280000062
在语句改写模型的系统对话动作解码器和改写语句解码器之间加入注意(attention)机制,从而模型在解码改写语句时关注到前一轮系统的对话行为,以使得生成的改写语句与前一轮系统回复衔接得更加连贯,更加符合对话语境;
在语句改写模型中,通过应用seq2seq框架下编码器与解码器之间的拷贝(copy)机制,从前一轮系统回复中拷贝与系统对话行为直接相关的信息,或从用户语句中拷贝用于构建改写语句的属性值,以提高解码系统对话行为和改写语句的准确率。
作为优选技术手段:在步骤106)中,采用语句过滤器(Utterance Filter)检查改写后的用户语句的质量,并滤除质量较差的改写语句;具体过滤方法分为三步:首先,考察改写语句和原用户语句所包含的属性值,若两者包含的属性值不同,则说明改写语句错误地增添、修改或删除了一些原语句中的关键信息,应将其滤除;之后,考察改写语句和原用户语句之间的BLEU分数,若该分数低于0.2,我们则认为改写语句相比原语句的语义内容差别较大,不适合代替原语句,因此将其滤除;最后,考察改写语句和原用户语句之间的多样性分数,即diversity score,若该分数低于3.4,则认为改写语句和原语句在表达方式上过于相似,即改写语句没有在原语句上进行过多改变,因而代替原语句没有太大意义,应将其滤除;滤除了质量较低的改写语句之后,用剩下的改写语句替换原对话文本中的用户语句,以此构造出新的对话文本,从而扩充了对话生成模型的训练数据。
作为优选技术手段:在步骤6)中,将对话生成模型在前一轮解码出的系统回复和对话状态,连同当前输入的用户语句,重新串联为自然语言单词序列,并送入对话生成模型编码器进行重新编码;采用层数为1、隐层神经元数量为50或100的双向GRU模型作为编码器;该编码器的输出结果将依次送到对话生成模型的解码器,用于后续模型输出的解码;
作为优选技术手段:在步骤7)中,基于步骤6)的编码结果和步骤4)的解码输出,通过对话生成模型的第一个解码器——对话状态解码器(Belief Span Decoder)进行对话状态的解码;对话状态使用自然语言序列表示,其具体形式为:“[领域1]属性槽1槽值1;属性值2槽值2;[领域2]…”,每一轮的对话状态Bt由当前轮次的用户语句Ut、上一轮的系统回复Rt-1、上一轮的对话状态Bt-1和用户语句的改写
Figure BDA0002402691280000071
共同决定:
Figure BDA0002402691280000072
在语句改写模型的改写语句解码器和对话生成模型的对话状态解码器之间加入注意(attention)机制,从而对话生成模型在解码对话状态时能关注到原用户语句的改写;改写语句作为一种释义,辅助了对话生成模型理解输入的用户语句,从而可以提升解码对话状态的准确率;同时,由于语句改写模型和对话生成模型之间存在注意机制,对话生成模型的各种解码结果能监督语句改写模型的训练,这实现了端到端系统的搭建以及多模型的联合训练;
在步骤8)中,系统根据更新后的对话状态在数据库中进行查询,达到查询结果的one-hot编码向量DBt
在步骤9)中,对于使用DAMD作为对话生成模型,数据库查询结果DBt、对话状态Bt和用户语句Ut将输入第二个解码器——系统对话动作解码器(Action Span Decoder),用于解码当前系统应采用的对话动作At
At=seq2seq(Ut,Bt,DBt)
在步骤(S10)中,使用最后一个解码器——自然语言回复解码器(ResponseDecoder),基于之前的解码结果生成系统的自然语言回复Rt
对于使用TSCP作为对话生成模型的系统,这一过程可表示为:
Rt=seq2seq(Ut,Bt,DBt)
对于使用DAMD作为对话生成模型的系统,这一过程可表示为:
Rt=seq2seq(At,Ut,Bt,DBt)
在seq2seq模型框架下,对话生成模型的编码器与解码器以及不同的解码器之间存在有拷贝(copy)机制,这使得该模型的各个解码器都可以从用户语句表达中拷贝其对属性槽取值的要求(例如从“我要找便宜的餐馆”中拷贝“价格=便宜”),以及其包含的属性槽名称和领域指示符等信息,从而以更高的准确率完成自然语言理解、对话状态跟踪、对话动作预测和系统回复生成。
作为优选技术手段:在进行模型训练时,所有的seq2seq结构都采用有监督训练的方式;步骤1)中匹配到的参考改写语句,以及数据集中提供的标准系统回复和对话状态、系统对话动作标签作为训练参考,并计算它们与解码器生成的概率分布之间的交叉熵,之后将各个交叉熵相加得到最终的损失函数,进行端到端的联合优化。
有益效果:
一、本技术方案解决对话生成模型训练数据稀缺问题中的有效性。适用范围广,可适用于TSCP和DAMD模型,包含对话状态跟踪模块的对话生成模型,并可以实现端到端系统的搭建。前一轮系统对话动作可以为用户语句的改写提供对话历史背景,使得生成的改写语句更加符合对话语境。通过对改写后的用户语句进行筛选并用之替代原语句,该方法可以构造出新的对话文本,从而扩充对话生成模型的训练数据。此外,该方法在语句改写模型和对话生成模型的解码器之间加入了注意机制,实现了端到端对话系统的搭建,并使得改写语句可以直接辅助对话生成,同时对话生成的结果也可以监督语句改写模型的训练。
二、解决对话系统构建中存在的以下困难:
(1)大部分现有的端到端对话系统在训练对话生成模型时,都需要有关特定领域内特定任务的大量的有标注的对话文本数据,但人工搜集并标注这样的文本数据实施困难且开销较大。
(2)现有的针对于文本的数据增强方法没有考虑文本中语句在一段对话中所处的语境,因而不适用于扩充对话文本数据。
(3)现有的基于语句改写的数据增强方法依赖于多个模型在多阶段下的单独训练,没有实现多模型联合训练和端到端系统的搭建,因而难以进行系统的整体优化。
附图说明
图1是本发明的为寻找参考改写语句所使用的用户语句的对话功能示例图。
图2是本发明的应用基于语句改写的数据增强方法的对话系统结构图。
具体实施方式
以下结合说明书附图对本发明的技术方案做进一步的详细说明。
本发明提出一种基于语句改写的面向端到端对话的数据增强方法,称为PARG,它通过构建并训练一个语句改写模型来扩充对话生成模型的训练数据。首先,该方法通过定义用户语句的对话功能来构造语句改写模型的训练参考。之后,该方法采用基于序列到序列(seq2seq)的框架,使用两个解码器依次解码前一轮系统对话动作和改写后的用户语句,其中,前一轮系统对话动作可以为用户语句的改写提供对话历史背景,使得生成的改写语句更加符合对话语境。通过对改写后的用户语句进行筛选并用之替代原语句,该方法可以构造出新的对话文本,从而扩充对话生成模型的训练数据。此外,该方法在语句改写模型和对话生成模型的解码器之间加入了注意机制,实现了端到端对话系统的搭建,并使得改写语句可以直接辅助对话生成,同时对话生成的结果也可以监督语句改写模型的训练。本发明通过以下步骤来实现上述应用对话数据增强的对话系统:
S1:搜索原始对话文本并考察所有用户语句的对话功能,为每一个用户语句匹配一个参考改写语句。(仅针对于模型训练阶段,应用阶段可跳过此步骤)
S2:将用户语句输入语句改写模型,并对其进行预处理,即分词、正规化等操作。
S3:对输入的用户语句以及前一轮系统回复进行编码,得到语句的向量表示。
S4:根据上一步编码结果解码前一轮系统对话动作。
S5:根据步骤S3编码结果和前一轮系统对话动作,解码改写后的用户语句。
S6:检查改写后的用户语句,筛选出改动较大但含义不变的语句,用以替换原对话文本中的用户语句,生成新的对话文本,并将其并入原对话文本,得到扩充的训练数据。(仅针对于模型训练阶段,应用阶段可跳过此步骤)
S7:将用户语句输入对话生成模型,并将其连同前一轮系统回复和前一轮对话状态重新进行编码,获得向量表示。
S8:根据上一步编码结果和步骤(5)语句改写的解码结果,进行对话状态解码,解码过程中依次输出识别到的对话领域、属性槽和属性值。
S9:根据对话状态,在数据库中查询符合要求的实体。
S10:根据对话状态解码结果和数据库查询结果进行系统对话动作的解码(仅针对于模型DAMD,模型TSCP可跳过此步骤)。
S11:根据之前所有的编解码和查询结果,生成系统的自然语言回复。
S12:对生成的回复进行后处理,即单词合并、添加标点等,得到呈现给用户的自然语言回复。
下面将对PARG的具体实现原理进行介绍。
在步骤S1中,我们通过定义用户语句的对话功能来构造用户语句改写的训练参考。一个用户语句的对话功能包含三个部分:前一轮系统对话动作(previous systemaction),表示系统在上一轮对话当中的历史行为,如“问候”、“询问-菜系”等;对话领域(domain),即对话所涉及到的主题,如“餐厅”、“旅馆”等;用户语句中提及到的属性槽(slots mentioned),即用户语句中的关键词类型,如“地点”、“食物”等。我们认为对话功能相同的用户语句,包含有相同的用户意图且处于相同的对话语境,因而在属性值(提及的关键词)相同的条件下,可以在一段对话中相互替换,并作为彼此的改写参考。因此,我们通过搜索原始对话文本,为每一个用户语句(原始语句)匹配到另一个对话功能相同的用户语句(参考语句),并将匹配到的参考语句中的属性值(关键词)修改为与原始语句中的相同,如将“昂贵”改为“便宜”,将“中国菜”改为“越南菜”等,以此构造出每个用户语句的改写参考。对话功能的示例见图1。
在应用对话数据增强方法PARG的对话系统中,我们联合训练了一个语句改写模型和一个对话生成模型。两模型都采用基于序列到序列(seq2seq)的框架,由一个对话上下文编码器(encoder)和多个串联的解码器(decoder)组成。具体而言:语句改写模型包含系统对话动作解码器和改写语句解码器;而对话生成模型则有两种,TSCP模型包含对话状态解码器和自然语言回复解码器,而DAMD模型则在TSCP模型的两解码器之间又加入了一个系统对话动作解码器。应用PARG的对话系统的结构见图2(图中的对话生成模型使用的是TSCP模型)。
在步骤S2中,我们首先对输入的用户语句进行分词(针对中文没有自然分隔符的特点),再将其送入语句改写模型的上下文编码器。
在步骤S3中,我们将前一轮系统回复和输入的用户语句串联为自然语言单词序列(系统回复和用户语句间会加入一个分隔符),并使用一个层数为1、隐层神经元数量为50(针对使用TSCP进行对话生成)或100(针对使用DAMD进行对话生成)的双向GRU模型作为编码器,将该单词序列编码为等长的向量序列,称为隐状态。编码过程实现了在隐状态空间融合并理解对话中包含的语义信息。该编码器的输出结果将依次送到语句改写模型的两个解码器,用于后续模型输出的解码。
在步骤S4中,语句改写模型通过系统对话动作解码器(Action Decoder)进行前一轮系统对话动作At-1的解码。这里的系统对话动作使用自然语言序列加以表示,如“餐厅-告知-价格;综合-是否继续”可以表示为“[餐厅]告知价格[综合]是否继续”。我们认为前一轮系统对话动作与前一轮系统回复Rt-1直接相关,并且可用当前轮次用户语句Ut进行反向推演,因而我们基于此两者的编码结果解码出前一轮系统对话动作:
At-1=seq2seq(Rt-1,Ut)
在步骤S5中,语句改写模型通过改写语句解码器(Paraphrase Decoder)进行改写语句
Figure BDA0002402691280000131
的解码,改写语句与原用户语句Ut含义相同,但表述方式有区别,如“我需要一家便宜的餐馆”和“请帮助我找到一个餐厅,并确保它是便宜的”。改写语句与原用户语句Ut直接相关,并且受到前一轮系统回复Rt-1和系统对话行为At-1的影响,因此我们基于此三者解码出改写语句:
Figure BDA0002402691280000141
注意到,我们在语句改写模型的系统对话动作解码器和改写语句解码器之间加入了注意(attention)机制,从而模型在解码改写语句时还可以关注到前一轮系统的对话行为,使得生成的改写语句与前一轮系统回复衔接得更加连贯,更加符合对话语境。
在语句改写模型中,通过应用seq2seq框架下编码器与解码器之间的拷贝(copy)机制,可以从前一轮系统回复中拷贝与系统对话行为直接相关的信息,如从“这家餐厅价格昂贵”中拷贝“餐厅”和“价格”,也可以从用户语句中拷贝用于构建改写语句的属性值(关键词),如从“我要寻找一家便宜的餐厅”中拷贝“便宜”。因此,这种框架可以提高解码系统对话行为和改写语句的准确率。
在步骤S6中,我们使用了一个语句过滤器(Utterance Filter)来检查改写后的用户语句的质量,并滤除质量较差的改写语句。具体过滤方法分为三步:首先,我们考察改写语句和原用户语句所包含的属性值(关键词),若两者包含的属性值不同,则说明改写语句错误地增添、修改或删除了一些原语句中的关键信息,应将其滤除;之后,我们考察改写语句和原用户语句之间的BLEU(Papineni et al.,2002)分数,若该分数低于0.2,我们则认为改写语句相比原语句的语义内容差别较大,不适合代替原语句,因此将其滤除;最后,我们考察改写语句和原用户语句之间的多样性分数,即diversity score(Hou et al.,2018),若该分数低于3.4,我们则认为改写语句和原语句在表达方式上过于相似,即改写语句没有在原语句上进行过多改变,因而代替原语句没有太大意义,应将其滤除。滤除了质量较低的改写语句之后,我们用剩下的改写语句替换原对话文本中的用户语句,以此构造出新的对话文本,从而扩充了对话生成模型的训练数据。
在步骤S7中,我们将对话生成模型在前一轮解码出的系统回复和对话状态,连同当前输入的用户语句,重新串联为自然语言单词序列,并送入对话生成模型编码器进行重新编码。我们仍使用层数为1、隐层神经元数量为50(针对使用TSCP进行对话生成)或100(针对使用DAMD进行对话生成)的双向GRU模型作为编码器。该编码器的输出结果将依次送到对话生成模型的解码器,用于后续模型输出的解码。
在步骤S8中,基于步骤S7的编码结果和步骤(S5)的解码输出,我们通过对话生成模型的第一个解码器——对话状态解码器(Belief Span Decoder)进行对话状态的解码。对话状态使用自然语言序列表示,其具体形式为:“[领域1]属性槽1槽值1;属性值2槽值2;[领域2]…”,例如“[restaurant]name Curry Garden;time 18:00[taxi]leave 20:00;destination Kings Street”即为MultiWOZ数据集(Budzianowski et al.,2018)中出现的一种对话状态,包含了用户对餐厅和出租车两个不同领域的需求信息。每一轮的对话状态Bt由当前轮次的用户语句Ut、上一轮的系统回复Rt-1、上一轮的对话状态Bt-1和用户语句的改写
Figure BDA0002402691280000161
共同决定:
Figure BDA0002402691280000162
注意到,我们在语句改写模型的改写语句解码器和对话生成模型的对话状态解码器之间也加入了注意(attention)机制,从而对话生成模型在解码对话状态时还可以关注到原用户语句的改写。改写语句作为一种释义(这也是paraphrase的本义),辅助了对话生成模型理解输入的用户语句,从而可以提升解码对话状态的准确率。同时,由于语句改写模型和对话生成模型之间存在注意机制,对话生成模型的各种解码结果还可以监督语句改写模型的训练,这实现了端到端系统的搭建以及多模型的联合训练。
在步骤S9中,系统根据更新后的对话状态在数据库中进行查询,达到查询结果的one-hot编码向量DBt
在步骤S10中(仅针对使用DAMD作为对话生成模型),数据库查询结果DBt、对话状态Bt和用户语句Ut将输入第二个解码器——系统对话动作解码器(Action Span Decoder),用于解码当前系统应采用的对话动作At
At=seq2seq(Ut,Bt,DBt)
在步骤S11中,我们使用最后一个解码器——自然语言回复解码器(ResponseDecoder),基于之前的解码结果生成系统的自然语言回复Rt
对于使用TSCP作为对话生成模型的系统,这一过程可表示为:
Rt=seq2seq(Ut,Bt,DBt)
对于使用DAMD作为对话生成模型的系统,这一过程可表示为:
Rt=seq2seq(At,Ut,Bt,DBt)
在seq2seq模型框架下,对话生成模型的编码器与解码器以及不同的解码器之间存在有拷贝(copy)机制,这使得该模型的各个解码器都可以从用户语句表达中拷贝其对属性槽取值的要求(例如从“我要找便宜的餐馆”中拷贝“价格=便宜”),以及其包含的属性槽名称和领域指示符等信息,从而以更高的准确率完成自然语言理解、对话状态跟踪、对话动作预测和系统回复生成。
在步骤S12中,为了将系统生成的回复更好地呈现给用户,提升系统的用户体验,需要进行单词合并、添加标点等操作。
PARG在进行模型训练时,所有的seq2seq结构都采用有监督训练的方式。我们使用步骤(S1)中匹配到的参考改写语句,以及数据集中提供的标准系统回复和对话状态、系统对话动作标签作为训练参考,并计算它们与解码器生成的概率分布之间的交叉熵,之后将各个交叉熵相加得到最终的损失函数,进行端到端的联合优化。
本发明专利属于对话系统及数据科学领域,涉及一种基于语句改写的面向端到端对话的数据增强方法。
PARG在CamRest676(Wen et al.,2017)数据集和MultiWOZ(Budzianowski etal.,2018)数据集上的评测中,分别有效地提升了目前表现最好的TSCP模型和DAMD模型的性能。同时,它击败了一系列现有的可以应用于对话数据增强的方法,包括稀有词替换WordSub(Fadaee et al.,2017)、文本域替换TextSub(Yin et al.,2019)、参考语句替换UtterSub(直接用训练参考改写语句替换原用户语句)、噪声自动编码器改写NAEPara(Liet al.,2019a;Kurata et al.,2016)、SR-PB释义模型改写SRPara(Wang et al.,2019)。并且,在训练数据稀缺的条件下,PARG对于对话生成模型的性能提升效果尤为明显。
CamRest676数据集包含了“寻找餐厅”这一对话场景的676个对话样本,是评测单领域任务型对话系统的标准数据集之一。在该数据集上的评测结果见表1。可以看出,PARG在不损害语言流畅度(用BLEU得分表征)的条件下,有效地提升了TSCP模型对话状态分析的准确率和对话任务的完成率,且相比于其它的数据增强方法,PARG对于模型的性能提升效果最为明显。为了模拟训练数据稀缺的条件,我们还仅使用了50%的原有数据作为初始的训练样本,并重新进行评测。从评测结果可以看出,PARG对于TSCP模型的状态分析准确率和对话任务完成率的提升,分别由1.6%和0.7%上升到了5.5%和3.6%,并仍然优于其它数据增强方法。同时可以看出,应用PARG的TSCP模型仅需使用50%的原有数据作为训练样本,便可以达到与原TSCP模型相近的对话任务完成率,即约85.4%。
MultiWOZ数据集包含了七个对话场景的10438个对话样本,是评测多领域任务型对话系统的标准数据集之一。在该数据集上的评测结果见表2。同样可以看出,PARG在不损害语言流畅度的条件下,有效地提升了DAMD模型的查找准确率和对话完成率,并令其取得了最高的综合得分,击败了其它的数据增强方法。当我们仅使用50%的原有数据时,PARG对于DAMD模型的查找准确率和对话完成率的提升,分别由1.6%和3.1%上升到了4.8%和3.9%,且提升效果仍然优于其它数据增强方法。另外,应用PARG的DAMD模型可以仅使用50%的训练数据,就达到比原DAMD模型更好的对话完成率。
综合以上实验结果,我们验证了PARG在解决对话生成模型训练数据稀缺问题中的有效性。它适用于如TSCP和DAMD模型这样的,包含对话状态跟踪模块的对话生成模型,并可以实现端到端系统的搭建,是目前面向对话生成任务的最佳数据增强方法。
表1 PARG与现有数据增强方法在CamRest676数据集上的测试结果比较
Figure BDA0002402691280000191
表2 PARG与现有数据增强方法在MultiWOZ数据集上的测试结果比较
Figure BDA0002402691280000192
下面将结合本发明的具体内容,对本发明的一种实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种基于语句改写的面向端到端对话的数据增强方法。假设在某一轮对话中,用户输入为“我想找一家便宜的餐厅吃饭”,相应的,前一轮的系统回复(在后处理之前)为“您好有什么可以为您服务的”,以此为例,本发明通过以下步骤来进行实施:
(S1)对输入的用户语句进行预处理,即分词、正规化等操作。处理后的结果为:“我想找一家便宜的餐厅吃饭”。
(S2)对输入的用户语句以及前一轮系统回复进行编码,得到语句的向量表示。
(S3)根据上一步编码结果解码前一轮系统对话动作,输出为“问候”。
(S4)根据步骤(2)编码结果和前一轮系统对话动作,解码改写后的用户语句,这里一个可行输出为“可以帮我寻找一家便宜的餐馆吗”。
(S5)将输入的用户语句,连同前一轮系统回复和前一轮对话状态(在本实施例中,由于用户语句是首轮输入,前一轮的对话状态为空)重新进行编码,获得向量表示。
(S6)根据上一步编码结果和步骤(4)语句改写的解码结果,进行对话状态解码,输出为“[餐厅]价格便宜”。
(S7)根据对话状态,在数据库中查询符合要求的实体。例如,数据库中查询到有15个餐厅满足“价格=便宜”的限制条件,则返回“15”对应的向量表示作为数据库的查询结果。
(S8)根据对话状态解码结果和数据库查询结果进行系统对话动作的解码。这里一个可行的系统动作为:“[餐厅][问询]菜系”。(仅针对于模型DAMD,模型TSCP可跳过此步骤)
(S9)根据之前所有的编解码和查询结果,生成系统的自然语言回复,例如“请问您希望吃哪种菜”。
(S10)对生成的回复进行后处理,即单词合并、添加标点等,得到呈现给用户的自然语言回复:“请问您希望吃哪种菜?”。
以下是对这十个步骤实现原理的解释说明。
我们通过定义用户语句的对话功能来构造用户语句改写的训练参考。一个用户语句的对话功能包含三个部分:前一轮系统对话动作(previous system action),表示系统在上一轮对话当中的历史行为,如“问候”、“询问-菜系”等;对话领域(domain),即对话所涉及到的主题,如“餐厅”、“旅馆”等;用户语句中提及到的属性槽(slots mentioned),即用户语句中的关键词类型,如“地点”、“食物”等。我们认为对话功能相同的用户语句,包含有相同的用户意图且处于相同的对话语境,因而在属性值(提及的关键词)相同的条件下,可以在一段对话中相互替换,并作为彼此的改写参考。因此,我们通过搜索原始对话文本,为每一个用户语句(原始语句)匹配到另一个对话功能相同的用户语句(参考语句),并将匹配到的参考语句中的属性值(关键词)修改为与原始语句中的相同,如将“昂贵”改为“便宜”,将“中国菜”改为“越南菜”等,以此构造出每个用户语句的改写参考。对话功能的示例见图1。
在应用对话数据增强方法PARG的对话系统中,我们联合训练了一个语句改写模型和一个对话生成模型。两模型都采用基于序列到序列(seq2seq)的框架,由一个对话上下文编码器(encoder)和多个串联的解码器(decoder)组成。具体而言:语句改写模型包含系统对话动作解码器和改写语句解码器;而对话生成模型则有两种,TSCP模型包含对话状态解码器和自然语言回复解码器,而DAMD模型则在TSCP模型的两解码器之间又加入了一个系统对话动作解码器。应用PARG的对话系统的结构见图2(图中的对话生成模型使用的是TSCP模型)。
在步骤(S1)中,我们首先对输入的用户语句进行分词(针对中文没有自然分隔符的特点),再将其送入语句改写模型的上下文编码器。
在步骤(S2)中,我们将前一轮系统回复和输入的用户语句串联为自然语言单词序列(系统回复和用户语句间会加入一个分隔符),并使用一个层数为1、隐层神经元数量为50(针对使用TSCP进行对话生成)或100(针对使用DAMD进行对话生成)的双向GRU模型作为编码器,将该单词序列编码为等长的向量序列,称为隐状态。编码过程实现了在隐状态空间融合并理解对话中包含的语义信息。该编码器的输出结果将依次送到语句改写模型的两个解码器,用于后续模型输出的解码。
在步骤(S3)中,语句改写模型通过系统对话动作解码器(Action Decoder)进行前一轮系统对话动作At-1的解码。这里的系统对话动作使用自然语言序列加以表示,如“餐厅-告知-价格;综合-是否继续”可以表示为“[餐厅]告知价格[综合]是否继续”。我们认为前一轮系统对话动作与前一轮系统回复Rt-1直接相关,并且可用当前轮次用户语句Ut进行反向推演,因而我们基于此两者的编码结果解码出前一轮系统对话动作:
At-1=seq2seq(Rt-1,Ut)
在步骤(S4)中,语句改写模型通过改写语句解码器(Paraphrase Decoder)进行改写语句
Figure BDA0002402691280000231
的解码,改写语句与原用户语句Ut含义相同,但表述方式有区别,如“我需要一家便宜的餐馆”和“请帮助我找到一个餐厅,并确保它是便宜的”。改写语句与原用户语句Ut直接相关,并且受到前一轮系统回复Rt-1和系统对话行为At-1的影响,因此我们基于此三者解码出改写语句:
Figure BDA0002402691280000232
注意到,我们在语句改写模型的系统对话动作解码器和改写语句解码器之间加入了注意(attention)机制,从而模型在解码改写语句时还可以关注到前一轮系统的对话行为,使得生成的改写语句与前一轮系统回复衔接得更加连贯,更加符合对话语境。
在语句改写模型中,通过应用seq2seq框架下编码器与解码器之间的拷贝(copy)机制,可以从前一轮系统回复中拷贝与系统对话行为直接相关的信息,如从“这家餐厅价格昂贵”中拷贝“餐厅”和“价格”,也可以从用户语句中拷贝用于构建改写语句的属性值(关键词),如从“我要寻找一家便宜的餐厅”中拷贝“便宜”。因此,这种框架可以提高解码系统对话行为和改写语句的准确率。
在步骤(S5)中,我们将对话生成模型在前一轮解码出的系统回复和对话状态,连同当前输入的用户语句,重新串联为自然语言单词序列,并送入对话生成模型编码器进行重新编码。我们仍使用层数为1、隐层神经元数量为50(针对使用TSCP进行对话生成)或100(针对使用DAMD进行对话生成)的双向GRU模型作为编码器。该编码器的输出结果将依次送到对话生成模型的解码器,用于后续模型输出的解码。
在步骤(S6)中,基于步骤(S5)的编码结果和步骤(S4)的解码输出,我们通过对话生成模型的第一个解码器——对话状态解码器(Belief Span Decoder)进行对话状态的解码。对话状态使用自然语言序列表示,其具体形式为:“[领域1]属性槽1槽值1;属性值2槽值2;[领域2]…”,例如“[restaurant]name Curry Garden;time 18:00[taxi]leave 20:00;destination Kings Street”即为MultiWOZ数据集(Budzianowski et al.,2018)中出现的一种对话状态,包含了用户对餐厅和出租车两个不同领域的需求信息。每一轮的对话状态Bt由当前轮次的用户语句Ut、上一轮的系统回复Rt-1、上一轮的对话状态Bt-1和用户语句的改写
Figure BDA0002402691280000241
共同决定:
Figure BDA0002402691280000242
注意到,我们在语句改写模型的改写语句解码器和对话生成模型的对话状态解码器之间也加入了注意(attention)机制,从而对话生成模型在解码对话状态时还可以关注到原用户语句的改写。改写语句作为一种释义(这也是paraphrase的本义),辅助了对话生成模型理解输入的用户语句,从而可以提升解码对话状态的准确率。同时,由于语句改写模型和对话生成模型之间存在注意机制,对话生成模型的各种解码结果还可以监督语句改写模型的训练,这实现了端到端系统的搭建以及多模型的联合训练。
在步骤(S7)中,系统根据更新后的对话状态在数据库中进行查询,达到查询结果的one-hot编码向量DBt
在步骤(S8)中(仅针对使用DAMD作为对话生成模型),数据库查询结果DBt、对话状态Bt和用户语句Ut将输入第二个解码器——系统对话动作解码器(Action Span Decoder),用于解码当前系统应采用的对话动作At
At=seq2seq(Ut,Bt,DBt)
在步骤(S9)中,我们使用最后一个解码器——自然语言回复解码器(ResponseDecoder),基于之前的解码结果生成系统的自然语言回复Rt
对于使用TSCP作为对话生成模型的系统,这一过程可表示为:
Rt=seq2seq(Ut,Bt,DBt)
对于使用DAMD作为对话生成模型的系统,这一过程可表示为:
Rt=seq2seq(At,Ut,Bt,DBt)
在seq2seq模型框架下,对话生成模型的编码器与解码器以及不同的解码器之间存在有拷贝(copy)机制,这使得该模型的各个解码器都可以从用户语句表达中拷贝其对属性槽取值的要求(例如从“我要找便宜的餐馆”中拷贝“价格=便宜”),以及其包含的属性槽名称和领域指示符等信息,从而以更高的准确率完成自然语言理解、对话状态跟踪、对话动作预测和系统回复生成。
在步骤(S10)中,为了将系统生成的回复更好地呈现给用户,提升系统的用户体验,需要进行单词合并、添加标点等操作。
PARG在进行模型训练时,所有的seq2seq结构都采用有监督训练的方式。我们使用匹配到的参考改写语句,以及数据集中提供的标准系统回复和对话状态、系统对话动作标签作为训练参考,并计算它们与解码器生成的概率分布之间的交叉熵,之后将各个交叉熵相加得到最终的损失函数,进行端到端的联合优化。
以上所示的一种基于语句改写的面向端到端对话的数据增强方法是本发明的具体实施例,已经体现出本发明实质性特点和进步,可根据实际的使用需要,在本发明的启示下,对其进行形状、结构等方面的等同修改,均在本方案的保护范围之列。

Claims (10)

1.一种基于语句改写的面向端到端对话的数据增强方法,其特征在于包括以下步骤:
1)模型训练
101)搜索原始对话文本并考察所有用户语句的对话功能,为每一个用户语句匹配一个参考改写语句;
102)将用户语句输入语句改写模型,并对其进行预处理,包括分词、正规化操作;
103)对输入的用户语句以及前一轮系统回复进行编码,得到语句的向量表示;
104)根据上一步编码结果解码前一轮系统对话动作;
105)根据步骤(103)编码结果和前一轮系统对话动作,解码改写后的用户语句;
106)检查改写后的用户语句,筛选出改动较大但含义不变的语句,用以替换原对话文本中的用户语句,生成新的对话文本,并将其并入原对话文本,得到扩充的训练数据,得到对话生成模型;
2)当用户提出请求时,将用户语句输入语句改写模型,并对其进行预处理;
3)对输入的用户语句以及前一轮系统回复进行编码,得到语句的向量表示;
4)根据上一步编码结果解码前一轮系统对话动作;
5)根据步骤3)编码结果和前一轮系统对话动作,解码改写后的用户语句;
6)将用户语句输入对话生成模型,并将其连同前一轮系统回复和前一轮对话状态重新进行编码,获得向量表示;
7)根据上一步编码结果和步骤5)语句改写的解码结果,进行对话状态解码,解码过程中依次输出识别到的对话领域、属性槽和属性值;
8)根据对话状态,在数据库中查询符合要求的实体;
9)判断模型类别;当模型为DAMD时,根据对话状态解码结果和数据库查询结果进行系统对话动作的解码,当模型为TSCP时,则直接跳至下一步;
10)根据之前所有的编解码和查询结果,生成系统的自然语言回复;
11)对生成的回复进行后处理,后处理包括单词合并、添加标点,得到呈现给用户的自然语言,并回复。
2.根据权利要求1所述的一种基于语句改写的面向端到端对话的数据增强方法,其特征在于:在步骤1)中,联合训练一个语句改写模型和一个对话生成模型;两模型都采用基于序列到序列(seq2seq)的框架,由一个对话上下文编码器(encoder)和多个串联的解码器(decoder)组成;语句改写模型包含系统对话动作解码器和改写语句解码器;对话生成模型则有两种,TSCP模型包含对话状态解码器和自然语言回复解码器,DAMD模型则在TSCP模型的两解码器之间又加入了一个系统对话动作解码器。
3.根据权利要求2所述的一种基于语句改写的面向端到端对话的数据增强方法,其特征在于:在步骤102)及步骤2)中,对输入的用户语句进行分词,再将其送入语句改写模型的上下文编码器。
4.根据权利要求3所述的一种基于语句改写的面向端到端对话的数据增强方法,其特征在于:在步骤103)及步骤3)中,将前一轮系统回复和输入的用户语句串联为自然语言单词序列,并使用一个层数为1、隐层神经元数量为50或100的双向GRU模型作为编码器,将该单词序列编码为等长的向量序列,称为隐状态;编码过程实现了在隐状态空间融合并理解对话中包含的语义信息;该编码器的输出结果将依次送到语句改写模型的两个解码器,用于后续模型输出的解码。
5.根据权利要求4所述的一种基于语句改写的面向端到端对话的数据增强方法,其特征在于:在步骤104)及步骤4)中,语句改写模型通过系统对话动作解码器(ActionDecoder)进行前一轮系统对话动作At-1的解码;对话动作使用自然语言序列加以表示;且认为前一轮系统对话动作与前一轮系统回复Rt-1直接相关,并且用当前轮次用户语句Ut进行反向推演,基于此两者的编码结果解码出前一轮系统对话动作:
At-1=seq2seq(Rt-1,Ut)。
6.根据权利要求5所述的一种基于语句改写的面向端到端对话的数据增强方法,其特征在于:
在步骤105)及步骤5)中,语句改写模型通过改写语句解码器(Paraphrase Decoder)进行改写语句
Figure FDA0004114615370000031
的解码,改写语句与原用户语句Ut含义相同,但表述方式有区别,改写语句与原用户语句Ut直接相关,并且受到前一轮系统回复Rt-1和系统对话行为At-1的影响,基于此三者解码出改写语句:
Figure FDA0004114615370000041
在语句改写模型的系统对话动作解码器和改写语句解码器之间加入注意(attention)机制,从而模型在解码改写语句时关注到前一轮系统的对话行为,以使得生成的改写语句与前一轮系统回复衔接得更加连贯,更加符合对话语境;
在语句改写模型中,通过应用seq2seq框架下编码器与解码器之间的拷贝(copy)机制,从前一轮系统回复中拷贝与系统对话行为直接相关的信息,或从用户语句中拷贝用于构建改写语句的属性值,以提高解码系统对话行为和改写语句的准确率。
7.根据权利要求6所述的一种基于语句改写的面向端到端对话的数据增强方法,其特征在于:在步骤106)中,采用语句过滤器(Utterance Filter)检查改写后的用户语句的质量,并滤除质量较差的改写语句;具体过滤方法分为三步:首先,考察改写语句和原用户语句所包含的属性值,若两者包含的属性值不同,则说明改写语句错误地增添、修改或删除了一些原语句中的关键信息,应将其滤除;之后,考察改写语句和原用户语句之间的BLEU分数,若该分数低于0.2,我们则认为改写语句相比原语句的语义内容差别较大,不适合代替原语句,因此将其滤除;最后,考察改写语句和原用户语句之间的多样性分数,即diversityscore,若该分数低于3.4,则认为改写语句和原语句在表达方式上过于相似,即改写语句没有在原语句上进行过多改变,因而代替原语句没有太大意义,应将其滤除;滤除了质量较低的改写语句之后,用剩下的改写语句替换原对话文本中的用户语句,以此构造出新的对话文本,从而扩充了对话生成模型的训练数据。
8.根据权利要求7所述的一种基于语句改写的面向端到端对话的数据增强方法,其特征在于:在步骤6)中,将对话生成模型在前一轮解码出的系统回复和对话状态,连同当前输入的用户语句,重新串联为自然语言单词序列,并送入对话生成模型编码器进行重新编码;采用层数为1、隐层神经元数量为50或100的双向GRU模型作为编码器;该编码器的输出结果将依次送到对话生成模型的解码器,用于后续模型输出的解码;
9.根据权利要求8所述的一种基于语句改写的面向端到端对话的数据增强方法,其特征在于:在步骤7)中,基于步骤6)的编码结果和步骤4)的解码输出,通过对话生成模型的第一个解码器——对话状态解码器(Belief Span Decoder)进行对话状态的解码;对话状态使用自然语言序列表示,其具体形式为:“[领域1]属性槽1槽值1;属性值2槽值2;[领域2]…”,每一轮的对话状态Bt由当前轮次的用户语句Ut、上一轮的系统回复Rt-1、上一轮的对话状态Bt-1和用户语句的改写
Figure FDA0004114615370000051
共同决定:
Figure FDA0004114615370000052
在语句改写模型的改写语句解码器和对话生成模型的对话状态解码器之间加入注意(attention)机制,从而对话生成模型在解码对话状态时能关注到原用户语句的改写;改写语句作为一种释义,辅助了对话生成模型理解输入的用户语句,从而可以提升解码对话状态的准确率;同时,由于语句改写模型和对话生成模型之间存在注意机制,对话生成模型的各种解码结果能监督语句改写模型的训练,这实现了端到端系统的搭建以及多模型的联合训练;
在步骤8)中,系统根据更新后的对话状态在数据库中进行查询,达到查询结果的one-hot编码向量DBt
在步骤9)中,对于使用DAMD作为对话生成模型,数据库查询结果DBt、对话状态Bt和用户语句Ut将输入第二个解码器——系统对话动作解码器(Action Span Decoder),用于解码当前系统应采用的对话动作At
At=seq2seq(Ut,Bt,DBt)
在步骤(S10)中,使用最后一个解码器——自然语言回复解码器(Response Decoder),基于之前的解码结果生成系统的自然语言回复Rt
对于使用TSCP作为对话生成模型的系统,这一过程可表示为:
Rt=seq2seq(Ut,Bt,DBt)
对于使用DAMD作为对话生成模型的系统,这一过程可表示为:
Rt=seq2seq(At,Ut,Bt,DBt)
在seq2seq模型框架下,对话生成模型的编码器与解码器以及不同的解码器之间存在有拷贝(copy)机制,这使得该模型的各个解码器都可以从用户语句表达中拷贝其对属性槽取值的要求,以及其包含的属性槽名称和领域指示符等信息,从而以更高的准确率完成自然语言理解、对话状态跟踪、对话动作预测和系统回复生成。
10.根据权利要求1-9任一权利要求所述的一种基于语句改写的面向端到端对话的数据增强方法,其特征在于:在进行模型训练时,所有的seq2seq结构都采用有监督训练的方式;步骤1)中匹配到的参考改写语句,以及数据集中提供的标准系统回复和对话状态、系统对话动作标签作为训练参考,并计算它们与解码器生成的概率分布之间的交叉熵,之后将各个交叉熵相加得到最终的损失函数,进行端到端的联合优化。
CN202010151751.9A 2020-03-06 2020-03-06 一种基于语句改写的面向端到端对话的数据增强方法 Active CN111522921B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010151751.9A CN111522921B (zh) 2020-03-06 2020-03-06 一种基于语句改写的面向端到端对话的数据增强方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010151751.9A CN111522921B (zh) 2020-03-06 2020-03-06 一种基于语句改写的面向端到端对话的数据增强方法

Publications (2)

Publication Number Publication Date
CN111522921A CN111522921A (zh) 2020-08-11
CN111522921B true CN111522921B (zh) 2023-06-02

Family

ID=71901997

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010151751.9A Active CN111522921B (zh) 2020-03-06 2020-03-06 一种基于语句改写的面向端到端对话的数据增强方法

Country Status (1)

Country Link
CN (1) CN111522921B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113076078B (zh) * 2021-03-11 2022-03-22 山东大学 一种基于混合驱动的对话式信息获取方法
CN112905637B (zh) * 2021-03-23 2022-07-08 思必驰科技股份有限公司 基于对话改写模型的多轮文本到sql方法及系统
CN113064985A (zh) * 2021-04-30 2021-07-02 思必驰科技股份有限公司 人机对话方法、电子设备及存储介质
CN113377939B (zh) * 2021-06-28 2023-07-18 中国平安人寿保险股份有限公司 文本增强方法、装置、计算机设备及存储介质
CN113609824A (zh) * 2021-08-10 2021-11-05 上海交通大学 基于文本编辑和语法纠错的多轮对话改写方法及系统
CN114048301B (zh) * 2021-11-26 2022-09-20 山东大学 一种基于满意度的用户模拟方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108363743A (zh) * 2018-01-24 2018-08-03 清华大学深圳研究生院 一种智能问题生成方法、装置和计算机可读存储介质
CN109977212A (zh) * 2019-03-28 2019-07-05 清华大学深圳研究生院 对话机器人的回复内容生成方法和终端设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107885756B (zh) * 2016-09-30 2020-05-08 华为技术有限公司 基于深度学习的对话方法、装置及设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108363743A (zh) * 2018-01-24 2018-08-03 清华大学深圳研究生院 一种智能问题生成方法、装置和计算机可读存储介质
CN109977212A (zh) * 2019-03-28 2019-07-05 清华大学深圳研究生院 对话机器人的回复内容生成方法和终端设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Antoine Bordes, etc..Learning end-to-end goal-oriented dialog.《arXiv》.2016,全文. *
Yichi Zhang, etc..Task-Oriented Dialog System that Consider Multiple Appropriate Responses under the Same Context.《arXiv》.2019,全文. *

Also Published As

Publication number Publication date
CN111522921A (zh) 2020-08-11

Similar Documents

Publication Publication Date Title
CN111522921B (zh) 一种基于语句改写的面向端到端对话的数据增强方法
CN111160008B (zh) 一种实体关系联合抽取方法及系统
CN110287481B (zh) 命名实体语料标注训练系统
CN107330032B (zh) 一种基于递归神经网络的隐式篇章关系分析方法
CN107291828B (zh) 基于人工智能的口语查询解析方法、装置及存储介质
Cuayáhuitl et al. Evaluation of a hierarchical reinforcement learning spoken dialogue system
Masum et al. Abstractive method of text summarization with sequence to sequence RNNs
US20180053107A1 (en) Aspect-based sentiment analysis
CN108829822A (zh) 媒体内容的推荐方法和装置、存储介质、电子装置
CN112183094B (zh) 一种基于多元文本特征的中文语法查错方法及系统
Cui et al. Sliding selector network with dynamic memory for extractive summarization of long documents
CN110990555B (zh) 端到端检索式对话方法与系统及计算机设备
CN109189862A (zh) 一种面向科技情报分析的知识库构建方法
CN104598611A (zh) 对搜索条目进行排序的方法及系统
CN111611346A (zh) 一种基于动态语义编码和双注意力的文本匹配方法及装置
CN109710918A (zh) 舆情关系识别方法、装置、计算机设备和存储介质
Jhunjhunwala et al. Multi-action dialog policy learning with interactive human teaching
CN115630145A (zh) 一种基于多粒度情感的对话推荐方法及系统
CN117094325B (zh) 水稻病虫害领域命名实体识别方法
KR102418260B1 (ko) 고객 상담 기록 분석 방법
CN116450839A (zh) 知识增强预训练语言模型知识注入和训练方法及系统
CN113822018B (zh) 实体关系联合抽取方法
Lertvittayakumjorn et al. Knowledge-driven slot constraints for goal-oriented dialogue systems
CN115168544A (zh) 信息提取方法及电子设备和存储介质
CN114358021A (zh) 基于深度学习的任务型对话语句回复生成方法及存储介质

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210202

Address after: 311100 Building 5, 138 Yunlian Road, Yuhang District, Hangzhou City, Zhejiang Province

Applicant after: Marketing service center of State Grid Zhejiang Electric Power Co.,Ltd.

Applicant after: STATE GRID ZHEJIANG YUHUAN POWER SUPPLY CO.,LTD.

Address before: The eight district of Hangzhou city in Zhejiang province 310014 Huadian Zhaohui under No. 1 Lane

Applicant before: STATE GRID ZHEJIANG ELECTRIC POWER COMPANY LIMITED ELECTRIC POWER Research Institute

Applicant before: STATE GRID ZHEJIANG YUHUAN POWER SUPPLY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant