CN110399460A - 对话处理方法、装置、设备及存储介质 - Google Patents
对话处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110399460A CN110399460A CN201910654938.8A CN201910654938A CN110399460A CN 110399460 A CN110399460 A CN 110399460A CN 201910654938 A CN201910654938 A CN 201910654938A CN 110399460 A CN110399460 A CN 110399460A
- Authority
- CN
- China
- Prior art keywords
- information
- current session
- vocabulary
- input
- relevant documentation
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3325—Reformulation based on results of preceding query
- G06F16/3326—Reformulation based on results of preceding query using relevance feedback from the user, e.g. relevance feedback on documents, documents sets, document terms or passages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
Abstract
本发明提供了一种对话处理方法、装置、设备及存储介质;方法包括:获取当前对话的输入信息;对所述输入信息、历史对话的上下文信息、以及历史对话的相关文档信息进行编码,得到当前对话的上下文信息;对所述当前对话的输入信息以及所述当前对话的上下文信息进行第一次解码,得到所述当前对话的中间解码信息;对中间解码信息以及当前对话的相关文档信息进行第二次解码,得到当前对话的回复信息。通过本发明,能够获得准确的、上下文连贯的回复信息。
Description
技术领域
本发明涉及人工智能技术,尤其涉及一种对话处理方法、装置、设备及存储介质。
背景技术
随着计算机技术的发展,对话系统已被应用于各种领域,人们的生活与对话系统密切相关,例如手机语音助手等,对话系统为用户带来了极大的便利。
电子设备可以通过对话系统实现与用户的自由交谈,即根据用户的输入信息为用户提供相应的回复,例如,电子设备可以根据输入信息“明天的天气信息是怎么样的?”,得到相应的回复“晴”。
但是,现有的对话系统得到的回复信息存在不准确的问题,例如,当输入信息为“明天要不要上班?”,得到的回复信息为“不知道”。
发明内容
本发明实施例提供一种对话处理方法、装置、设备及存储介质,能够获得准确的、上下文连贯的回复信息。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种对话处理方法,包括:
获取当前对话的输入信息;
对所述输入信息、历史对话的上下文信息、以及所述历史对话的相关文档信息进行编码,得到当前对话的上下文信息;
对所述当前对话的输入信息以及所述当前对话的上下文信息进行第一次解码,得到所述当前对话的中间解码信息;
对所述中间解码信息以及当前对话的相关文档信息进行第二次解码,得到所述当前对话的回复信息。
本发明实施例提供一种对话处理装置,包括:
获取模块,用于获取当前对话的输入信息;
编码模块,用于对所述输入信息、历史对话的上下文信息、以及所述历史对话的相关文档信息进行编码,得到当前对话的上下文信息;
第一解码模块,用于对所述当前对话的输入信息以及所述当前对话的上下文信息进行第一次解码,得到所述当前对话的中间解码信息;
第二解码模块,用于对所述中间解码信息以及当前对话的相关文档信息进行第二次解码,得到所述当前对话的回复信息。
上述方案中,所述输入信息为输入内容的编码向量;其中,所述获取模块还用于:
根据当前对话的输入内容,获得当前对话的单词序列向量以及位置信息;
对所述当前对话的单词序列向量以及位置信息进行编码,得到所述输入内容的编码向量。
上述方案中,所述获取模块还用于:
通过注意力机制对所述当前对话的单词序列向量以及位置信息进行编码,得到所述当前对话的表层特征;
通过神经网络对所述当前对话的表层特征进行编码,得到所述当前对话的输入信息的编码向量。
上述方案中,所述相关文档信息为相关文档的编码向量;对话处理装置还包括:
检索模块,用于根据历史对话对文档知识库进行检索,获得与所述历史对话对应的相关文档;根据所述相关文档的内容,获得所述相关文档的单词序列向量以及位置信息;对所述相关文档的单词序列向量以及位置信息进行编码,得到所述相关文档的编码向量。
上述方案中,所述编码模块,还用于:
对所述输入信息进行编码,获得所述输入信息的表层特征;
根据所述输入信息的表层特征以及历史对话的相关文档信息,获得第一融合特征,所述第一融合特征包括所述输入信息与所述历史对话的相关文档信息的关系;
根据所述第一融合特征以及历史对话的上下文信息,获得当前对话的上下文信息。
上述方案中,所述编码模块,还用于:
获取历史对话的相关文档信息;
根据注意力机制对所述输入信息的表层特征以及所述历史对话的相关文档信息进行融合,得到第一融合特征。
上述方案中,所述编码模块,还用于:
获取历史对话的上下文信息;
根据注意力机制对所述第一融合特征以及所述历史对话的上下文信息进行融合,得到当前对话的上下文信息。
上述方案中,所述第一解码模块,还用于:
对所述当前对话的输入信息以及所述当前对话的上下文信息进行第一次解码,依次生成与所述当前对话的输入信息对应的第一词汇;
根据生成所述第一词汇的顺序,将所述第一词汇组成所述当前对话的中间解码信息。
上述方案中,所述第一解码模块,还用于:
通过注意力机制对已经生成的第二词汇进行编码,获得第二词汇的编码特征,所述第二词汇为与所述当前对话的输入信息相关的词汇;
通过注意力机制对所述第二词汇的编码特征、以及所述当前对话的上下文信息进行融合,获得第二融合信息;
通过所述注意力机制对所述第二融合信息、以及所述当前对话的输入信息进行融合,得到第三融合信息;
通过神经网络对所述第三融合信息进行解码,生成下一个与所述当前对话的输入信息对应的第一词汇。
上述方案中,所述第二解码模块,还用于:
对所述中间解码信息以及当前对话的相关文档信息进行第二次解码,依次生成与所述当前对话的输入信息对应的第三词汇;
根据生成所述第三词汇的顺序,将所述第三词汇组成所述当前对话的回复信息。
上述方案中,所述第二解码模块,还用于:
通过注意力机制对已经生成的第四词汇进行编码,获得第四词汇的编码特征,所述第四词汇为与所述当前对话的输入信息相关的词汇;
通过注意力机制对所述第四词汇的编码特征、以及所述当前对话的相关文档信息进行融合,获得第四融合信息;
通过所述注意力机制对所述第四融合信息、以及所述中间解码信息进行融合,得到第五融合信息;
通过神经网络对所述第五融合信息进行解码,生成下一个与所述当前对话的输入信息对应的第三词汇。
本发明实施例提供一种对话处理的设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的对话处理方法。
本发明实施例提供一种存储介质,存储有可执行指令,用于引起处理器执行时,实现本发明实施例提供的对话处理方法。
本发明实施例具有以下有益效果:
在当前对话中融入历史对话的上下文以及相关文档,使得生成的回复信息与上下文更加连贯,且与相关文档的联系更加紧密,回复信息更加贴近于用户所需要的回复。
附图说明
图1是本发明实施例提供的对话系统的结构示意图;
图2是本发明实施例提供的对话处理系统10的应用场景示意图;
图3是本发明实施例提供的对话处理设备500的结构示意图;
图4是本发明实施例提供的对话处理装置555的结构示意图;
图5A至图5B是本发明实施例提供的对话处理方法的流程示意图;
图6是本发明实施例提供的对话处理系统处理对话的示意图;
图7A是本发明实施例提供的自注意编码器的结构示意图;
图7B是本发明实施例提供的增量式Transformer编码器的结构示意图;
图7C是本发明实施例提供的推敲解码器的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三\第四\第五”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三\第四\第五”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)文档:一种常见的知识类型,对自然语言的书面描述,一般包括至少一个句子,例如,电影简介、人物介绍等都是一个文档的表示,书面描述“今天天气很好,适合外出”也是一个文档的表示。
2)基线模型:常规的机器学习模型,包括线性回归模型(从一系列特征值中预测出连续值的模型)、逻辑回归模型(对结构化数据或者自然语言进行分类的模型)。
下面分析相关技术提供的关于对话处理的方案。
在相关技术中,变压器(Transformer)模型包括编码器和解码器两部分。其中,编码器由至少一个层组成,且每一层由两个子层组成,包括第一子层和第二子层:第一子层为多头注意力层,第二子层为前馈神经网络层;解码器也由至少一个层组成,且每一层由两个子层组成,包括第一子层和第二子层:第一子层为多头注意力层,第二子层为前馈神经网络层。
在对话系统中应用Transformer模型,可以根据对话得到相应的回复。如图1所示,在检索系统中检索出与对话有关的知识,通过Transformer模型的编码器对该知识进行编码,并存储于存储结构中,根据Transformer模型的编码器对话与知识进行编码,通过Transformer模型的解码器对编码后的对话与知识进行解码,得到相应的回复。
虽然,相关技术可以根据对话得到相应的回复,但是,解码过程中生成的回复信息的上下文连贯性以及准确性很低。
为至少解决相关技术的上述技术问题,本发明实施例提供一种对话处理方法、装置、设备和存储介质,能够获得准确的、上下文连贯的回复信息。下面说明本发明实施例提供的对话处理设备的示例性应用,本发明实施例提供的对话处理设备可以是服务器,例如部署在云端的服务器,根据用户提供的对话信息,向用户提供对话信息对应的回复信息;也可是笔记本电脑,平板电脑,台式计算机,移动设备(例如,移动电话,个人数字助理)等各种类型的用户终端,例如手持终端,根据用户在手持终端上输入的对话信息,获得相应的回复信息,并显示在手持终端的显示界面上,以实现手持终端与用户的自动对话过程。
作为示例,参见图2,图2是本发明实施例提供的对话处理系统10的应用场景示意图,终端200通过网络300连接服务器100,网络300可以是广域网或者局域网,又或者是二者的组合。
终端200可以被用来获取对话信息,例如,当用户通过输入界面输入对话信息,输入完成后,终端自动获取对话的输入信息。
在一些实施例中,终端200本地执行本发明实施例提供的对话处理方法来完成根据当前对话的输入信息、历史对话信息以及相关文档,得到准确的回复信息,例如,在终端200上安装应用(Application,APP),如语音助手APP,用户在语音助手APP中输入语音或者文字、即输入信息,终端200根据输入信息、历史对话的上下文信息以及相关文档,获得当前输入信息的上下文信息,并根据当前输入信息以及当前输入信息的上下文信息,得到准确的回复信息,并将该回复信息显示在终端200的显示界面210上。
终端200也可以通过网络300向服务器100发送用户在终端100上的输入信息,并调用服务器100提供的对话处理功能,服务器100通过本发明实施例提供的对话处理方法获得回复信息,例如,在终端200上安装语音助手APP,用户在语音助手APP中输入语音或者文字、即输入信息,终端通过网络300向服务器100发送输入信息,服务器100根据输入信息、历史对话的上下文信息以及相关文档,获得当前输入信息的上下文信息,并根据当前输入信息以及当前输入信息的上下文信息,得到准确的回复信息,并返回该回复信息至语音助手APP,将回复信息显示在终端200的显示界面上。
继续说明本发明实施例提供的对话处理设备的结构,对话处理设备可以是各种终端,例如手机、电脑等,也可以是如图2示出的服务器100。
参见图3,图3是本发明实施例提供的对话处理设备500的结构示意图,图3所示的对话处理设备500包括:至少一个处理器510、存储器550、至少一个网络接口520和用户接口530。对话处理设备500中的各个组件通过总线系统540耦合在一起。可理解,总线系统540用于实现这些组件之间的连接通信。总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线系统540。
处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口530包括使得能够呈现媒体内容的一个或多个输出装置531,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口530还包括一个或多个输入装置532,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本发明实施例描述的存储器550旨在包括任意适合类型的存储器。存储器550可选地包括在物理位置上远离处理器510的一个或多个存储设备。
在一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统551,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块552,用于经由一个或多个(有线或无线)网络接口520到达其他计算设备,示例性的网络接口520包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
显示模块553,用于经由一个或多个与用户接口530相关联的输出装置531(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块554,用于对一个或多个来自一个或多个输入装置532之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本发明实施例提供的对话处理装置可以采用软硬件结合的方式实现,作为示例,本发明实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的对话处理方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex ProgrammableLogic Device)、现场可编程门阵列(FPGA,Field-ProgrammableGate Array)或其他电子元件。
在另一些实施例中,本发明实施例提供的对话处理装置可以采用软件方式实现,图3示出了存储在存储器550中的对话处理装置555,其可以是程序和插件等形式的软件,并包括一系列的模块,包括获取模块5551、编码模块5552、第一解码模块5553以及第二解码模块5554;其中,获取模块5551、编码模块5552、第一解码模块5553以及第二解码模块5554用于实现本发明实施例提供的对话处理方法。
结合本发明实施例提供的终端的示例性应用和实施,说明本发明实施例提供的对话处理处理方法,根据上文可以理解,本发明实施例提供的对话处理方法可以由各种类型的对话处理设备,例如智能终端和服务器等。
参见图4和图5A,图4是本发明实施例提供的对话处理装置555的结构示意图,示出了对话处理流程,图5A是本发明实施例提供的对话处理方法的流程示意图,将结合图4对图5A示出的步骤进行说明。
在步骤101中,获取当前对话的输入信息。
在一些实施例中,用户通过在终端的输入界面上输入信息,即生成当前对话的输入信息,并保存至存储器中,终端可以直接获取当前对话的输入信息。
作为示例,参见图4,通过对话处理装置555中的获取模块5551获得当前对话的输入信息。
在步骤102中,对输入信息、历史对话的上下文信息、以及历史对话的相关文档信息进行编码,得到当前对话的上下文信息。
在一些实施例中,获取了当前对话的输入信息后,通过对输入信息进行词向量化,获得输入信息的单词向量,并对该输入信息的单词向量进行编码,以获得输入信息的表层特征,该表层特征包括输入信息内部单词之间的关系。根据当前对话的时刻,获取历史对话(历史对话的时刻早于当前对话的时刻),根据历史对话的内容对文档知识库进行检索,获取与历史对话对应的相关文档信息,例如,历史对话为“某电影中的XX角色还可以”,通过检索文档知识库,得到的相关文档信息可以是“XX角色在该电影中充当的是安全区的领导者、教导者和保护者,她以柔弱的身躯和日本强大的侵略做着抗争”。用户可以预先在终端本地中的文档知识库中设置文档信息,该文档知识库也可以是第三方的文档知识库,即终端与第三方应用连接,通过第三方应用的接口获取与历史对话对应的相关文档信息。
根据输入信息的表层特征以及历史对话的相关文档信息,可以获得第一融合特征,所述第一融合特征包括输入信息与历史对话的相关文档信息的关系。根据第一融合特征以及历史对话的上下文信息,获得当前对话的上下文信息。通过融合输入信息、历史对话的上下文信息、以及历史对话的相关文档信息,获得准确的上下文信息。获得当前对话的上下文信息后,保存该当前对话的上下文信息至对话处理设备中的存储器中,该当前对话的上下文信息将作为在下一次对话中的历史对话的上下文信息。
当获取了当前对话的输入信息后,获取历史对话,并根据历史对话的内容对文档知识库进行检索,获取与历史对话对应的相关文档信息,根据注意力机制对输入信息的表层特征以及历史对话的相关文档信息进行融合,得到第一融合特征。该注意力机制是指关联输入信息的表层特征以及历史对话的相关文档信息中的每一个词向量,每一个词向量都与其他词向量有关系,避免在编码的过程中丢失输入信息或文档信息。
当获取了当前对话的输入信息后,可以在对话处理设备中的存储器中获得历史对话的上下文信息,并通过注意力机制对第一融合特征以及历史对话的上下文信息进行融合,得到当前对话的上下文信息。该注意力机制是指关联第一融合特征以及历史对话的上下文信息中的每一个词向量,每一个词向量都与其他词向量有关系,避免在编码的过程中丢失输入信息或文档信息或上下文信息。
作为示例,参见图4,通过对话处理装置555中的编码模块5552中的增量式Transformer编码器对输入信息、历史对话的上下文信息、以及历史对话的相关文档信息进行编码,得到当前对话的上下文信息,其中,该编码器可以包括多个级联的编码层,通过多个级联的编码层依次对输入信息、历史对话的上下文信息、以及历史对话的相关文档信息进行编码,即一个编码层的编码结果将输入下一个编码层继续进行编码,直至遍历所有的编码层,输出当前对话的上下文信息。
当然,获得的当前对话的上下文信息不局限于增量式Transformer编码器,还可以替换为其他的编码器。
在步骤103中,对当前对话的输入信息以及当前对话的上下文信息进行第一次解码,得到当前对话的中间解码信息。
在一些实施例中,对当前对话的输入信息以及当前对话的上下文信息进行第一次解码,可以依次生成与当前对话的输入信息对应的第一词汇,根据生成所述第一词汇的顺序,将第一词汇组成当前对话的中间解码信息。该中间解码信息并不是最终的回复信息,是介于最终的回复信息的中间信息,该中间信息侧重于与当前对话的上下文联系,即第一次解码过程注重于回复信息与上下文的连贯性。
通过第一次解码过程,生成的第一词汇,包括:通过注意力机制对已经生成的第二词汇进行编码,获得第二词汇的编码特征,该第二词汇为与当前对话的输入信息相关的词汇,该注意力机制是指关联已经生成的第二词汇中的每一个词向量,避免在编码的过程中丢失已经生成的第二词汇信息;通过注意力机制对第二词汇的编码特征、以及当前对话的上下文信息进行融合,获得第二融合信息,该注意力机制是指关联第二词汇以及当前对话的上下文信息中的每一个词向量,每一个词向量都与其他词向量有关系,避免在编码的过程中丢失第二词汇信息或上下文信息;通过注意力机制对第二融合信息、以及当前对话的输入信息进行融合,得到第三融合信息;通过神经网络对所述第三融合信息进行解码,生成下一个与所述当前对话的输入信息对应的第一词汇,该神经网络可以是前馈神经网络,该前馈神经网络是一种最简单的神经网络,各神经元分层排列,每个神经元只与前一层的神经元相连,接收前一层的输出,并输出给下一层,各层之间没有反馈。
作为示例,参见图4,通过对话处理装置555中第一解码模块5553中的推敲解码器对当前对话的输入信息以及当前对话的上下文信息进行第一次解码处理,通过该解码处理,得到的中间解码信息与当前对话的上下文有很好的连贯性。
在步骤104中,对中间解码信息以及当前对话的相关文档信息进行第二次解码,得到所述当前对话的回复信息。
在一些实施例中,对中间解码信息以及当前对话的相关文档信息进行第二次解码,依次生成与所述当前对话的输入信息对应的第三词汇;根据生成第三词汇的顺序,将第三词汇组成所述当前对话的回复信息。通过在中间解码信息中融入当前对话的相关文档信息,加大回复信息与文档信息的关联,获得的回复信息更加准确,贴近于用于的需求。第一次解码过程注重于回复信息与上下文的连贯性,第二次解码过程侧重于回复信息与文档信息的联系、即文档应用的准确性。
通过第二次解码过程,生成的回复信息,包括:通过注意力机制对已经生成的第四词汇进行编码,获得第四词汇的编码特征,所述第四词汇为与所述当前对话的输入信息相关的词汇,该注意力机制是指关联已经生成的第四词汇中的每一个词向量,避免在编码的过程中丢失第四词汇中部分信息;通过注意力机制对所述第四词汇的编码特征、以及当前对话的相关文档信息进行融合,获得第四融合信息,该注意力机制是指关联第四词汇以及当前对话的相关文档信息中的每一个词向量,每一个词向量都与其他词向量有关系,避免在编码的过程中丢失第四词汇以及相关文档信息;通过所述注意力机制对所述第四融合信息、以及所述中间解码信息进行融合,得到第五融合信息,该注意力机制是指关联第四融合信息、以及中间解码信息中的每一个词向量,每一个词向量都与其他词向量有关系,避免在编码的过程中丢失第四融合信息以及中间解码信息的部分信息;通过神经网络对所述第五融合信息进行解码,生成下一个与所述当前对话的输入信息对应的第三词汇,该神经网络可以是前馈神经网络,该前馈神经网络是一种最简单的神经网络,各神经元分层排列,每个神经元只与前一层的神经元相连,接收前一层的输出,并输出给下一层,各层之间没有反馈。
作为示例,参见图4,通过对话处理装置555中第二解码模块5554中的推敲解码器对中间解码信息以及当前对话的相关文档信息进行第二次解码处理,通过该解码处理,得到的回复信息侧重于与相关文档信息的联系,提高了回复信息的准确性。
在一些实施例中,对当前对话的输入信息以及历史对话的相关文档进行编码,以便后续根据输入信息以及相关文档的编码信息得到准确的上下文信息。
在另一些实施例中,当前对话的输入信息为输入内容的编码向量。参见图5B,基于图5A,图5B是本发明实施例提供的对话处理方法的流程示意图,获取当前对话的输入信息,包括:根据当前对话的输入内容,获得当前对话的单词序列向量以及位置信息;对所述当前对话的单词序列向量以及位置信息进行编码,得到所述输入内容的编码向量。通过输入内容中的单词顺序,生成各单词的位置信息,所述位置信息用于表示单词在输入内容中的位置关系。
对当前对话的单词序列向量以及位置信息进行编码,得到输入信息的编码向量,包括:通过注意力机制对所述当前对话的单词序列向量以及位置信息进行编码,得到所述当前对话的表层特征,该表层特征为输入信息通过注意力机制输出的隐状态,该注意力机制是指关联输入信息中的每一个词向量,避免在编码的过程中丢失输入信息;通过神经网络对当前对话的表层特征进行编码,得到当前对话的输入信息的编码向量。
作为示例,参见图4,通过对话处理装置555中获取模块5551中的Transformer编码器对输入信息进行编码,得到当前对话的输入信息的编码向量,其中,该Transformer编码器可以包括多个级联的编码层,通过多个级联的编码层依次对输入信息进行编码,即一个编码层的编码结果将输入下一个编码层继续进行编码,直至遍历所有的编码层,输出输入信息的编码向量,其中,根据经验,设置Transformer编码器中的多个级联的编码层为3层,通过3层编码层得到的编码结果比较准确,且编码效率比较高。
在另一些实施例中,相关文档信息为相关文档的编码向量,在对输入信息、历史对话的上下文信息、以及历史对话的相关文档信息进行编码,得到当前对话的上下文信息之前,在步骤105中根据历史对话对文档知识库进行检索,获得与历史对话对应的相关文档;在步骤106中根据相关文档的内容,获得相关文档的单词序列向量以及位置信息,所述位置信息用于表示单词在相关文档中的位置关系;在步骤107中对相关文档的单词序列向量以及位置信息进行编码,得到相关文档的编码向量,以便后续根据输入信息、历史对话的上下文信息、以及历史对话的相关文档信息的编码向量进行编码。
作为示例,参见图4,通过对话处理装置555中检索模块5555中的Transformer编码器对相关文档进行编码,得到相关文档信息的编码向量,其中,该Transformer编码器可以包括多个级联的编码层,通过多个级联的编码层依次对输入信息进行编码,即一个编码层的编码结果将输入下一个编码层继续进行编码,直至遍历所有的编码层,输出输入信息的编码向量,其中,根据经验,设置Transformer编码器中的多个级联的编码层为3层,通过3层编码层得到的编码结果比较准确,且编码效率比较高。
至此已经结合本发明实施例提供的对话处理方法以及在对话处理装置中的示例性应用,下面继续说明本发明实施例提供的对话处理装置555中各个模块配合实现对话处理的方案。
在对话处理装置555获得回复信息的过程中,获取模块5551获取当前对话的输入信息。当输入信息为输入内容的编码向量,获取模块5551根据当前对话的输入内容,获得当前对话的单词序列向量以及位置信息;对所述当前对话的单词序列向量以及位置信息进行编码,得到所述输入内容的编码向量。
获取模块5551还可以通过注意力机制对当前对话的单词序列向量以及位置信息进行编码,得到当前对话的表层特征;通过神经网络对当前对话的表层特征进行编码,得到当前对话的输入信息的编码向量。
在对话处理装置555获得回复信息的过程中,编码模块5552对输入信息、历史对话的上下文信息、以及历史对话的相关文档信息进行编码,得到当前对话的上下文信息。
编码模块5552还可以对输入信息进行编码,获得输入信息的表层特征;根据输入信息的表层特征以及历史对话的相关文档信息,获得第一融合特征,第一融合特征包括所述输入信息与所述历史对话的相关文档信息的关系;根据第一融合特征以及历史对话的上下文信息,获得当前对话的上下文信息。
编码模块5552还可以获取历史对话的相关文档信息;根据注意力机制对所述输入信息的表层特征以及所述历史对话的相关文档信息进行融合,得到第一融合特征。
编码模块5552还可以获取历史对话的上下文信息;根据注意力机制对所述第一融合特征以及所述历史对话的上下文信息进行融合,得到当前对话的上下文信息。
在对话处理装置555获得回复信息的过程中,第一解码模块5553对当前对话的输入信息以及所述当前对话的上下文信息进行第一次解码,得到所述当前对话的中间解码信息。
第一解码模块5553还可以对当前对话的输入信息以及所述当前对话的上下文信息进行第一次解码,依次生成与所述当前对话的输入信息对应的第一词汇;根据生成所述第一词汇的顺序,将所述第一词汇组成所述当前对话的中间解码信息。
第一解码模块5553还可以通过注意力机制对已经生成的第二词汇进行编码,获得第二词汇的编码特征,所述第二词汇为与所述当前对话的输入信息相关的词汇;通过注意力机制对所述第二词汇的编码特征、以及所述当前对话的上下文信息进行融合,获得第二融合信息;通过所述注意力机制对所述第二融合信息、以及所述当前对话的输入信息进行融合,得到第三融合信息;通过神经网络对所述第三融合信息进行解码,生成下一个与所述当前对话的输入信息对应的第一词汇。
在对话处理装置555获得回复信息的过程中,第二解码模块5554对中间解码信息以及当前对话的相关文档信息进行第二次解码,得到当前对话的回复信息。
第二解码模块5554还可以对中间解码信息以及当前对话的相关文档信息进行第二次解码,依次生成与所述当前对话的输入信息对应的第三词汇;根据生成所述第三词汇的顺序,将所述第三词汇组成所述当前对话的回复信息。
第二解码模块5554还可以通过注意力机制对已经生成的第四词汇进行编码,获得第四词汇的编码特征,所述第四词汇为与所述当前对话的输入信息相关的词汇;通过注意力机制对所述第四词汇的编码特征、以及所述当前对话的相关文档信息进行融合,获得第四融合信息;通过所述注意力机制对所述第四融合信息、以及所述中间解码信息进行融合,得到第五融合信息;通过神经网络对所述第五融合信息进行解码,生成下一个与所述当前对话的输入信息对应的第三词汇。
在对话处理装置555获得回复信息的过程中,检索模块5555根据历史对话对文档知识库进行检索,获得与历史对话对应的相关文档;根据相关文档的内容,获得相关文档的单词序列向量以及位置信息;对相关文档的单词序列向量以及位置信息进行编码,得到相关文档的编码向量。检索模块5555可以将相关文档的编码向量输出至编码模块5552,以便编码模块5552对输入信息、历史对话的上下文信息、以及历史对话的相关文档信息的编码向量进行编码。
本发明实施例还提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本发明实施例提供的对话处理方法,例如,如图5A至图5B示出的对话处理方法。
在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
下面,将说明本发明实施例在一个实际的对话应用场景中的示例性应用。
本发明实施例中的对话系统包含三个模块,如图6所示:
1)自注意力编码器:对应图4中的Transformer编码器,通过该自注意力编码器可以对相关文档以及对话句子(当前对话的输入信息)进行编码。
2)增量式Transformer编码器:对应图6中上半部分,增量式Transformer编码器是一种改进的Transformer编码器,可以以增量编码的方式在编码对话的过程中融入相关文档。该增量式Transformer编码器以对话和相关文档经过自注意力编码器编码后的表示(相关文档的编码向量)作为输入,通过注意力机制构建上下文与文档知识的联合表示、即对话的上下文与相关文档的联系。
3)推敲解码器:对应图6中下半部分,推敲解码器是一个两次解码的改进的Transformer解码器,可以更好地根据对话生成回复信息。第一次解码过程以当前句子(当前对话的输入信息)经过自注意力编码器后的表示(编码向量)以及当前对话的输入信息与相关文档经过增量式Transformer编码器后的表示(当前对话的上下文信息)为输入。第二次解码过程以第一次解码后的句子(中间解码信息)和相关文档经过自注意力编码器后的表示(编码向量)为输入。第一次解码过程更多地注重于对话的上下文,而第二次解码过程更多地注重于相关文档,以改善回复效果,使得回复信息更加准确。
下面继续说明本发明实施例提供的自注意力编码器、增量式Transformer编码器以及推敲解码器配合实现对话处理的方案。
1)自注意力编码器
如图7A所示,图7A是本发明实施例提供的自注意力编码器的结构示意图。作为一个示例性应用,通过自注意力编码器对相关文档进行编码,得到相关文档的编码向量。相关文档包括至少一个句子,通过注意力机制计算相关文档,可以将相关文档的长距离依赖的最长路径将为ο(1),使得句子之间的单词与其他的每个单词都有联系,从而进一步确定每个单词的重要程度。
如图7A所示,通过一个自注意力编码器计算相关文档S(k),该自注意力编码器的输入为相关文档的单词序列向量和位置信息,如下公式(1)、(2)所示:
其中,K为自然数,如图6中所示,表示第K个相关文档,j为自然数,表示相关文档中的单词数量,表示单词的向量化表示(单词序列向量),PE(·)表示位置信息的编码函数。
该自注意力编码器包括NS个相同的编码层。每个编码层包括两个子层,第一子层是一个多头自注意力层(MultiHead),第二子层是一个简单的输入输出的全连接前馈神经网络层,如下公式(3)、(4)、(5)所示:
D(1)=FFN(A(1)) (4)
FFN(x)=max(0,xW1+b1)W2+b2 (5)
其中,A(1)表示第一子层中的多头注意力层计算得到的隐状态、即相关文档经过自注意力机制计算后的一个特征表示(表层特征),D(1)是相关文档S(k)经过自注意力编码器的第一层后的输出,FFN函数包括两个线性变换和一个ReLU激活函数,其中,W1和W2表示参数矩阵,b1和b2表示偏置向量。
对于自注意力编码器中的每一编码层,都要经过多头自注意力层以及前馈神经网络层的计算,即重复公式(6)、(7):
A(n)=MultiHead(D(n-1),D(n-1),D(n-1)) (6)
D(n)=FFN(A(n)) (7)
其中,n=1,...,Ns,NS表示自注意力编码器编码层的层数,即第一层编码层的输入为相关文档的单词序列向量和位置信息。
相关文档通过自注意力编码器的NS个编码层后,获得最终的相关文档的编码向量d(k),SAs(·)表示自注意编码器对相关文档的整个计算过程,如下公式(8)所示:
作为一个示例性应用,通过自注意力编码器对当前对话的输入信息进行编码,得到输入内容的编码向量。对于当前对话的输入信息u(k),该自注意力编码器的输入为输入信息的单词序列向量和位置信息,如下公式(9)所示:
其中,I为自然数,表示输入信息中的单词数量,表示单词的向量化表示(单词序列向量),PE(·)表示位置信息的编码函数。
该自注意力编码器包括NS个相同的编码层。每个编码层包括两个子层,第一子层是一个多头自注意力层(MultiHead),第二子层是一个简单的输入输出的全连接前馈神经网络层。
输入信息通过自注意力编码器的NS个编码层后,获得最终的输入信息的编码向量SAu(u(k)),SAu(·)表示自注意编码器对输入信息的整个计算过程。
SAs(·)表示自注意编码器对相关文档的整个计算过程,SAu(·)表示自注意编码器对输入信息的整个计算过程,其中SAs(·)和SAu(·)有相同的结构,但是参数可以不同。
2)增量式Transformer编码器
增量式Transformer根据注意力机制在编码当前对话的输入信息时融合相关文档和历史对话的上下文信息,得到当前对话的上下文信息,如下公式(11)所示:
其中,ITE(·)表示增量式Transformer编码器的编码函数,c(k)表示当前对话u(k)的上下文信息,c(k-1)表示历史对话u(k-1)的上下文信息、即历史对话的上下文信息,d(k)表示相关文档s(k)的编码向量,表示当前对话u(k)的单词向量。
如图7B所示,该增量式Transformer编码器包括Nu个相同的编码层。每个编码层包含四个子层,第一子层是一个多头自注意力层(MultiHead),如下公式(12)所示:
B(n)=MultiHead(C(n-1),C(n-1),C(n-1)) (12)
其中,C(n-1)是上一编码层的第四子层的输出,n=1,...,Nu,Nu表示增量式Transformer编码器的编码层的层数,即第一层编码层的输入为当前对话u(k)的单词向量,B(n)表示第一子层的输出、即输入信息的表层特征。
每个编码层的第二子层是一个知识注意力层,如下公式(13)所示:
E(n)=MultiHead(B(n),d(k),d(k)) (13)
其中,B(n)表示第一子层的输出,d(k)表示相关文档k的编码向量,如图6所示,该相关文档k是对文档知识库进行检索,获得与历史对话对应的相关文档,E(n)表示第二子层的输出、即第一融合特征。
每个编码层的第三子层是一个上下文注意力层,如下公式(14)所示:
F(n)=MultiHead(E(n),c(k-1),c(k-1)) (14)
其中,E(n)表示第二子层的输出,c(k-1)表示历史对话u(k-1)的上下文信息,E(n)F(n)表示第三子层的输出。
每个编码层的第四子层是一个简单的输入输出的全连接前馈神经网络层,如下公式(15)所示:
C(n)=FFN(F(n)) (15)
其中,F(n)表示第三子层的输出,FFN函数包括两个线性变换和一个ReLU激活函数,C(n)表示第四子层的输出。
对于增量式Transformer编码器中的每一编码层,都要经过四个子层的计算,即重复公式(12)-(15),获得经过Nu个编码层的当前对话的上下文信息,如下公式(16)所示:
其中,表示经过Nu个编码层的当前对话,c(k)表示当前对话的上下文信息。
3)推敲解码器
该推敲解码器包含两个解码过程,第一个解码过程以当前对话SAu(u(k))以及当前对话的上下文c(k)为输入,该第一次解码过程注重回复信息与上下文的一致性,第二个解码过程以第一次解码的结果以及相关文档s(k+1)为输入,相关文档s(k+1)表示当前对话的相关文档,第二次解码过程注重于回复信息与文档的关联。
需要说明的是,通过推敲解码器生成回复信息的过程是根据当前对话SAu(u(k))、当前对话的上下文c(k)以及相关文档s(k+1)依次生成回复信息中的词汇,并根据生成词汇的顺序,将词汇组成当前对话的回复信息。
当需要生成回复信息中的第i个单词时,将已经生成的单词作为推敲编码器的输入,其中,表示已经生成的单词的矩阵,如下公式(17)所示:
其中,是开始标识符的表示向量,以指示开始生成回复信息中的单词。
如图7C所示,推敲解码器包含一个第一解码器和一个第二解码器,第一解码器和第二解码器具有相同的结构但是参数不同,且一次解码器和二次解码器都各自包括Ny个相同的解码层,每个解码层都有四个子层。
对于第一解码器,每个解码层中的第一子层是一个多头的自注意力层,如下公式(18)所示:
其中,是上一解码层的输出,n=1,...,Ny,Ny表示第一解码器的解码层的层数,即已经生成的单词的矩阵,表示第一子层的输出、即已经生成的单词的编码特征。
第一解码器的每个解码层中的第二子层是一个多头的上下文注意力层,如下公式(19)所示:
其中,表示第一子层的输出,c(k)表示当前对话的上下文,表示第二子层的输出、即第二融合信息,该第二融合信息包括已经生成的单词与当前对话的上下文的关系,该公式侧重于编码回复信息与当前对话的上下文的关系。
第一解码器的每个解码层中的第三子层是一个多头的上句注意力层,如下公式(20)所示:
其中,表示第二子层的输出,SAu(u(k))表示当前对话的编码向量,表示第三子层的输出、即第三融合信息,该第三融合信息包括已经生成的单词与当前对话的关系。
第一解码器的每个解码层中的第四子层是一个简单的输入输出的全连接前馈神经网络层,如下公式(21)所示:
其中,表示第三子层的输出,表示第四子层的输出。
已经生成的单词通过第一解码器的Ny个编码层后,通过归一化指数函数、即Softmax函数对第四子层的输出进行计算,获得第一次解码生成单词的概率,如下公式(22)所示:
其中,表示通过推敲解码器的一次解码得到的回复单词、即中间解码信息中的单词。
将生成的中间解码信息中的单词按照生成的顺序组成当前对话的中间解码信息。
对于第二解码器,每个解码层中的第一子层是一个多头的自注意力层,如下公式(23)所示:
其中,是上一解码层的输出,n=1,...,Ny,Ny表示第二解码器的解码层的层数,即已经生成的单词的矩阵,表示第一子层的输出、即已经生成的单词的编码特征。
第二解码器的每个解码层中的第二子层是一个多头的知识注意力层,如下公式(24)所示:
其中,表示第一子层的输出,表示当前对话的相关文档,表示第二子层的输出、即第四融合信息,该第四融合信息包括已经生成的单词与当前对话的相关文档的关系,该公式侧重于编码回复信息与当前对话的相关文档的关系,使得回复信息更加准确,贴近用户的需求。
第二解码器的每个解码层中的第三子层是一个多头的解码注意力层,如下公式(25)所示:
其中,表示第二子层的输出,表示中间解码信息的编码向量,表示第三子层的输出、即第五融合信息,该第五融合信息包括第四融合信息与中间解码信息的关系。
第二解码器的每个解码层中的第四子层是一个简单的输入输出的全连接前馈神经网络层,如下公式(26)所示:
其中,表示第三子层的输出,表示第四子层的输出。
已经生成的单词、中间解码信息通过第二解码器的Ny个编码层后,通过归一化指数函数、即Softmax函数对第四子层的输出进行计算,获得第二次解码生成单词的概率,如下公式(27)所示:
其中,表示通过推敲解码器的二次解码得到的回复信息的单词。
将生成的回复信息中的单词按照生成的顺序组成完整的回复信息。
将本发明实施例中的模型与几种基线模型进行对比:
A、没有使用文档知识的模型:
1)Seq2Seq:一个添加了全局注意力机制的简单的编码器-解码器模型。将上下文句子拼成了一个长句子(句子间由间隔符分隔)作为输入。
2)HRED:一个多层的编码器-解码器模型,由一个词级别的长短期记忆循环神经网络和一个句子级别的长短期记忆循环神经网络构成。
3)Transformer:基于多头自注意力机制的神经机器翻译模型。将上下文句子拼成一个长句子(间隔符分隔)作为输入。
B、使用知识的模型:
1)Seq2Seq(+知识)和HRED(+知识):分别基于Seq2Seq和HRED。这两个模型都将文档的表示和解码的上一步生成的单词向量拼接起来作为解码的输入。
2)Wizard Transformer:一个基于Transformer的利用非结构化事实知识的多轮开放域对话模型。此模型将对话上下文和非结构化的事实文本知识拼接在一起(对话历史和非结构化知识之间由分隔符分隔)作为输入。
3)ITE+CKAD:此模型使用增量式Transformer编码器(ITE)和自注意力解码器(CKAD)。此模型用来检测提出的推敲解码器的有效性。
4)KAT:此模型是一个增量式Transformer编码器(ITE)的简化版本,它不包含上下文注意力子层。将对话历史的多个句子拼接成一个长句子(句子间由分隔符分隔)。此模型的解码器是一个简化的上下文知识注意力解码器(CKAD),同样不具有上下文注意力子层,用于验证本发明实施例模型中处理对话上下文的有效性。
本发明实施例的评测指标有两个,如下所示:
1)自动测评:使用困惑度(PPL)和BLEU去自动评测生成回复的质量。
各模型使用标准回复在训练好的模型上的困惑度(PPL)作为评价标准。越低的困惑度表示更好的模型性能。
BLEU表示生成的回复与一个标准回复间的n元组重叠程度。由于对于每个回复,仅有一个标准回复,若可能存在多个可行的回复,则BLEU分数是很低的。
本发明实施例提出的模型与其他基线系统模型进行自动评测,自动测评结果如表1所示:
表1自动评测结果
根据表1所示,在自动评测中,本申请实施例中的对话系统相比于基线模型有更低的困惑度和更高的BLEU分数。关于BLEU指标,在基线系统中,带文档知识的HRED模型取得了最高的0.77BLEU分数;在所有模型中,ITE+DD模型取得了最高的0.95BLEU分数。在困惑度指标上,Wizard Transformer取得了基线模型最低的困惑度(70.30);ITE+DD模型取得了相当低的15.11困惑度。
2)人工评测:对于对话生成,人工评测是必要的。从测试集中随机抽取了30个完整对话,包含606个对话句子。在本发明实施例中的模型以及基线模型(共9个模型)上进行测试,得到了5454条回复。用户根据对话历史以及相关的文档对生成的回复进行评分。
定义三个人工评测指标——流畅度,知识相关性和上下文一致性。所有指标分数范围为0/1/2。下面是这些人工指标的详细解释:
流畅度:生成的回复是否自然和流畅。0分代表不流畅或不能理解;1分代表部分流畅但是仍然可以理解;2分代表生成的回复完全流畅。
知识相关性:生成的回复是否使用了相关并且正确的知识。0分代表没有用到任何相关的知识;1分代表包含相关的知识,但是用的不正确;2分代表使用了相关的知识并且是正确的。
上下文一致性:生成的回复是否与上下文一致以及是否可以引导接下来的对话进行。0分代表生成的回复与上下文无关或者直接导致对话结束;1分代表生成的回复与上下文相关但是不能根据相关的文档知识引导对话过程的进行;2分代表不仅可以很好的符合上下文语境,并且可以根据相关文档知识引导接下来的对话。
本发明实施例提出的模型与其他基线系统模型进行人工评测,人工测评结果如表2所示:
表2人工评测结果
根据表2所示,在人工评测中,在所有基线模型中,Wizard Transformer模型和不加知识的Seq2Seq模型取得了最高的流畅度(1.62),Wizard Transformer模型取得了最高的知识相关度(0.47),不加文档的Transformer取得了最高的上下文一致性(0.67)。在所有的模型中,ITE+CKAD模型取得了最高的流畅度(1.68),本发明实施例提出的ITE+DD模型取得了最高的知识相关度(0.56)和最高的上下文一致性(0.90)。
本发明实施例提出的模型与其他基线系统模型进行知识相关度和上下文一致性评测,测评结果如表3所示:
表3 Wizard Transformer模型、ITE+CKAD和ITE+DD的知识相关度和上下文一致性的评分(0/1/2)的比例
对于本发明实施例提出的增量式Transformer+推敲解码器ITE+DD达到非常低的困惑度,表明二次解码器很好的使用了文档知识并且非常显著地降低了困惑度。
如表3所示,本发明实施例提出的增量式Transformer+推敲解码器ITE+DD相比于其他模型在知识相关度以及上下文一致性的人工评测中有更高的2分比例。此结果表明推敲解码器可以提高知识正确性以及在文档知识域中引导接下来的对话。
ITE+CKAD模型虽然困惑度(PPL)仅仅稍微好于KAT,但是BLEU分数、流畅度、知识相关度以及上下文一致性都显著超过KAT模型。此结果表明增量式Transformer可以更好地处理基于文档知识的多轮对话。
Wizard Transformer在知识相关性上有很好的表现。但是它的上下文一致性比其他的基线模型要差一些。如表3所示,Wizard Transformer在知识相关度指标上1分的比例大约是2分比例的二倍,此结果表明此模型更倾向于生成文档知识相关但不正确的回复。同时,Wizard Transformer在上下文一致性指标上较差的表现也表明它不能很好的回复上文。因此,仅仅将对话上下文与文档知识进行简单拼接作为模型输入是有局限性的。
表4列举了一些本发明实施例提出的增量式Transformer编码器+推敲解码器(ITE+DD)以及表现最好的基线模型Wizard Transformer生成的回复。与基线模型WizardTransformer相比,本发明实施例提出的模型可以生成与知识更相关并且与上下文更一致。
为了证明两次解码的有效性,比较了第一次解码的结果与第二次解码的结果(表5)。在例1中,第二次解码的结果修正了第一次解码结果中的知识错误;在例2中,第二次解码结果包含了比第一次解码结果更多的细节知识;在例3中,第二次解码的结果不仅可以很好的回复上一句话,并且根据给定的文档知识进行相关的提问来引导接下来的对话进行。
表4增量式Transformer编码器+推敲解码器(ITE+DD)和Wizard Transformer模型(Wizard)产生的回复示例对比。这些对话是一个连续的对话过程,Document是这段连续对话相关的文档知识。Utterance i+1是Utterance i的标准回复。
表5两次解码过程生成回复的示例。加粗是两个结果不同的部分。对于每个示例,上面的回复由一次解码器生成,下面的由二次解码器生成。
综上所述,本发明实施例提供一种对话系统,在当前对话中融入历史对话的上下文以及相关文档,使得设备生成的回复信息与上下文更加连贯,且与相关文档的联系更加紧密,因此,回复信息更加贴近于用户所需要的回复。基于本发明实施例提供的模型,在相关数据集上自动指标以及人工指标均远超对比的最新的基线模型,可以生成上下文更一致,知识使用更正确的回复。
以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。
Claims (14)
1.一种对话处理方法,其特征在于,包括:
获取当前对话的输入信息;
对所述输入信息、历史对话的上下文信息、以及所述历史对话的相关文档信息进行编码,得到当前对话的上下文信息;
对所述当前对话的输入信息以及所述当前对话的上下文信息进行第一次解码,得到所述当前对话的中间解码信息;
对所述中间解码信息以及当前对话的相关文档信息进行第二次解码,得到所述当前对话的回复信息。
2.根据权利要求1所述的方法,其特征在于,所述输入信息为输入内容的编码向量;其中,
所述获取当前对话的输入信息,包括:
根据当前对话的输入内容,获得当前对话的单词序列向量以及位置信息;
对所述当前对话的单词序列向量以及位置信息进行编码,得到所述输入内容的编码向量。
3.根据权利要求2所述的方法,其特征在于,所述对所述当前对话的单词序列向量以及位置信息进行编码,得到输入信息的编码向量,包括:
通过注意力机制对所述当前对话的单词序列向量以及位置信息进行编码,得到所述当前对话的表层特征;
通过神经网络对所述当前对话的表层特征进行编码,得到所述当前对话的输入信息的编码向量。
4.根据权利要求1所述的方法,其特征在于,所述相关文档信息为相关文档的编码向量;其中,
所述对所述输入信息、历史对话的上下文信息、以及所述历史对话的相关文档信息进行编码,得到当前对话的上下文信息之前,包括:
根据历史对话对文档知识库进行检索,获得与所述历史对话对应的相关文档;
根据所述相关文档的内容,获得所述相关文档的单词序列向量以及位置信息;
对所述相关文档的单词序列向量以及位置信息进行编码,得到所述相关文档的编码向量。
5.根据权利要求1所述的方法,其特征在于,所述对所述输入信息、历史对话的上下文信息、以及所述历史对话的相关文档信息进行编码,得到当前对话的上下文信息,包括:
对所述输入信息进行编码,获得所述输入信息的表层特征;
根据所述输入信息的表层特征以及历史对话的相关文档信息,获得第一融合特征,所述第一融合特征包括所述输入信息与所述历史对话的相关文档信息的关系;
根据所述第一融合特征以及历史对话的上下文信息,获得当前对话的上下文信息。
6.根据权利要求5所述的方法,其特征在于,所述根据所述输入信息的表层特征以及历史对话的相关文档信息,获得第一融合特征,包括:
获取历史对话的相关文档信息;
根据注意力机制对所述输入信息的表层特征以及所述历史对话的相关文档信息进行融合,得到第一融合特征。
7.根据权利要求5所述的方法,其特征在于,所述根据所述第一融合特征以及历史对话的上下文信息,获得当前对话的上下文信息,包括:
获取历史对话的上下文信息;
根据注意力机制对所述第一融合特征以及所述历史对话的上下文信息进行融合,得到当前对话的上下文信息。
8.根据权利要求1所述的方法,其特征在于,所述对所述当前对话的输入信息以及所述当前对话的上下文信息进行第一次解码,得到所述当前对话的中间解码信息,包括:
对所述当前对话的输入信息以及所述当前对话的上下文信息进行第一次解码,依次生成与所述当前对话的输入信息对应的第一词汇;
根据生成所述第一词汇的顺序,将所述第一词汇组成所述当前对话的中间解码信息。
9.根据权利要求8所述的方法,其特征在于,所述对所述当前对话的输入信息以及所述当前对话的上下文信息进行第一次解码,依次生成与所述当前对话的输入信息对应的第一词汇,包括:
通过注意力机制对已经生成的第二词汇进行编码,获得第二词汇的编码特征,所述第二词汇为与所述当前对话的输入信息相关的词汇;
通过注意力机制对所述第二词汇的编码特征、以及所述当前对话的上下文信息进行融合,获得第二融合信息;
通过所述注意力机制对所述第二融合信息、以及所述当前对话的输入信息进行融合,得到第三融合信息;
通过神经网络对所述第三融合信息进行解码,生成下一个与所述当前对话的输入信息对应的第一词汇。
10.根据权利要求1所述的方法,其特征在于,所述对所述中间解码信息以及当前对话的相关文档信息进行第二次解码,获得所述当前对话的回复信息,包括:
对所述中间解码信息以及当前对话的相关文档信息进行第二次解码,依次生成与所述当前对话的输入信息对应的第三词汇;
根据生成所述第三词汇的顺序,将所述第三词汇组成所述当前对话的回复信息。
11.根据权利要求10所述的方法,其特征在于,所述对所述中间解码信息以及当前对话的相关文档信息进行第二次解码,依次生成与所述当前对话的输入信息对应的第三词汇,包括:
通过注意力机制对已经生成的第四词汇进行编码,获得第四词汇的编码特征,所述第四词汇为与所述当前对话的输入信息相关的词汇;
通过注意力机制对所述第四词汇的编码特征、以及所述当前对话的相关文档信息进行融合,获得第四融合信息;
通过所述注意力机制对所述第四融合信息、以及所述中间解码信息进行融合,得到第五融合信息;
通过神经网络对所述第五融合信息进行解码,生成下一个与所述当前对话的输入信息对应的第三词汇。
12.一种对话处理装置,其特征在于,包括:
获取模块,用于获取当前对话的输入信息;
编码模块,用于对所述输入信息、历史对话的上下文信息、以及所述历史对话的相关文档信息进行编码,得到当前对话的上下文信息;
第一解码模块,用于对所述当前对话的输入信息以及所述当前对话的上下文信息进行第一次解码,得到所述当前对话的中间解码信息;
第二解码模块,用于对所述中间解码信息以及当前对话的相关文档信息进行第二次解码,得到所述当前对话的回复信息。
13.一种对话处理设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至11任一项所述的对话处理方法。
14.一种存储介质,其特征在于,存储有可执行指令,用于引起处理器执行时,实现权利要求1至11任一项所述的对话处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910654938.8A CN110399460A (zh) | 2019-07-19 | 2019-07-19 | 对话处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910654938.8A CN110399460A (zh) | 2019-07-19 | 2019-07-19 | 对话处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110399460A true CN110399460A (zh) | 2019-11-01 |
Family
ID=68324743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910654938.8A Pending CN110399460A (zh) | 2019-07-19 | 2019-07-19 | 对话处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110399460A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111274362A (zh) * | 2020-02-01 | 2020-06-12 | 武汉大学 | 一种基于transformer架构的对话生成方法 |
CN111382257A (zh) * | 2020-05-28 | 2020-07-07 | 支付宝(杭州)信息技术有限公司 | 一种生成对话下文的方法和系统 |
CN111414466A (zh) * | 2020-03-17 | 2020-07-14 | 杭州博拉哲科技有限公司 | 一种基于深度模型融合的多轮对话建模方法 |
CN111753074A (zh) * | 2020-06-30 | 2020-10-09 | 贝壳技术有限公司 | 用于实现会话的方法、装置、介质和电子设备 |
CN112084314A (zh) * | 2020-08-20 | 2020-12-15 | 电子科技大学 | 一种引入知识的生成式会话系统 |
CN112214591A (zh) * | 2020-10-29 | 2021-01-12 | 腾讯科技(深圳)有限公司 | 一种对话预测的方法及装置 |
CN112908305A (zh) * | 2021-01-30 | 2021-06-04 | 云知声智能科技股份有限公司 | 一种提升语音识别准确性的方法和设备 |
CN113239174A (zh) * | 2021-06-09 | 2021-08-10 | 华南师范大学 | 一种基于双层解码的层次化多轮对话生成方法及装置 |
CN113360610A (zh) * | 2021-05-19 | 2021-09-07 | 山东师范大学 | 基于Transformer模型的对话生成方法及系统 |
CN113392193A (zh) * | 2020-03-12 | 2021-09-14 | 广东博智林机器人有限公司 | 一种对话文本生成方法及装置 |
JP2022031109A (ja) * | 2020-08-07 | 2022-02-18 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | ニューラルネットワークに基づくマンマシンインタラクション方法、装置、及び媒体 |
CN115186092A (zh) * | 2022-07-11 | 2022-10-14 | 贝壳找房(北京)科技有限公司 | 线上交互处理方法和装置、存储介质和程序产品 |
CN111462750B (zh) * | 2020-03-20 | 2023-08-25 | 北京邮电大学 | 语义与知识增强的端到端任务型对话系统及方法 |
-
2019
- 2019-07-19 CN CN201910654938.8A patent/CN110399460A/zh active Pending
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111274362A (zh) * | 2020-02-01 | 2020-06-12 | 武汉大学 | 一种基于transformer架构的对话生成方法 |
CN111274362B (zh) * | 2020-02-01 | 2021-09-03 | 武汉大学 | 一种基于transformer架构的对话生成方法 |
CN113392193A (zh) * | 2020-03-12 | 2021-09-14 | 广东博智林机器人有限公司 | 一种对话文本生成方法及装置 |
CN111414466A (zh) * | 2020-03-17 | 2020-07-14 | 杭州博拉哲科技有限公司 | 一种基于深度模型融合的多轮对话建模方法 |
CN111462750B (zh) * | 2020-03-20 | 2023-08-25 | 北京邮电大学 | 语义与知识增强的端到端任务型对话系统及方法 |
CN111382257A (zh) * | 2020-05-28 | 2020-07-07 | 支付宝(杭州)信息技术有限公司 | 一种生成对话下文的方法和系统 |
CN111753074A (zh) * | 2020-06-30 | 2020-10-09 | 贝壳技术有限公司 | 用于实现会话的方法、装置、介质和电子设备 |
JP7204801B2 (ja) | 2020-08-07 | 2023-01-16 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | ニューラルネットワークに基づくマンマシンインタラクション方法、装置、及び媒体 |
JP2022031109A (ja) * | 2020-08-07 | 2022-02-18 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | ニューラルネットワークに基づくマンマシンインタラクション方法、装置、及び媒体 |
CN112084314A (zh) * | 2020-08-20 | 2020-12-15 | 电子科技大学 | 一种引入知识的生成式会话系统 |
CN112084314B (zh) * | 2020-08-20 | 2023-02-21 | 电子科技大学 | 一种引入知识的生成式会话系统 |
CN112214591A (zh) * | 2020-10-29 | 2021-01-12 | 腾讯科技(深圳)有限公司 | 一种对话预测的方法及装置 |
CN112214591B (zh) * | 2020-10-29 | 2023-11-07 | 腾讯科技(深圳)有限公司 | 一种对话预测的方法及装置 |
CN112908305A (zh) * | 2021-01-30 | 2021-06-04 | 云知声智能科技股份有限公司 | 一种提升语音识别准确性的方法和设备 |
CN113360610A (zh) * | 2021-05-19 | 2021-09-07 | 山东师范大学 | 基于Transformer模型的对话生成方法及系统 |
CN113239174A (zh) * | 2021-06-09 | 2021-08-10 | 华南师范大学 | 一种基于双层解码的层次化多轮对话生成方法及装置 |
CN115186092A (zh) * | 2022-07-11 | 2022-10-14 | 贝壳找房(北京)科技有限公司 | 线上交互处理方法和装置、存储介质和程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110399460A (zh) | 对话处理方法、装置、设备及存储介质 | |
Shah et al. | Bootstrapping a neural conversational agent with dialogue self-play, crowdsourcing and on-line reinforcement learning | |
Csaky | Deep learning based chatbot models | |
CN111198937B (zh) | 对话生成及装置、计算机可读存储介质、电子设备 | |
Peng et al. | RADDLE: An evaluation benchmark and analysis platform for robust task-oriented dialog systems | |
DeVault et al. | Can I finish? Learning when to respond to incremental interpretation results in interactive dialogue | |
Tang et al. | Modelling student behavior using granular large scale action data from a MOOC | |
WO2021169485A1 (zh) | 一种对话生成方法、装置及计算机设备 | |
Li et al. | Controllable dialogue simulation with in-context learning | |
CN111339292A (zh) | 文本分类网络的训练方法、系统、设备及存储介质 | |
CN113591462A (zh) | 弹幕回复生成方法、装置及电子设备 | |
Kim et al. | Overview of the eighth dialog system technology challenge: DSTC8 | |
Do et al. | Hierarchical pronunciation assessment with multi-aspect attention | |
CN110377910A (zh) | 一种表格描述的处理方法、装置、设备及存储介质 | |
Krisnawati et al. | Prototyping a chatbot for student supervision in a pre-registration process | |
CN116561265A (zh) | 个性化对话生成方法和模型训练方法以及设备 | |
Scotti et al. | A primer on seq2seq models for generative chatbots | |
Lee et al. | An integrated neural network model for domain action determination in goal-oriented dialogues | |
Sodré et al. | Chatbot Optimization using Sentiment Analysis and Timeline Navigation | |
Mukherjee et al. | Intent classification from code mixed input for virtual assistants | |
Lei et al. | Word-Based POMDP Dialog Management via Hybrid Learning | |
Zhao et al. | There Is No Standard Answer: Knowledge-Grounded Dialogue Generation with Adversarial Activated Multi-Reference Learning | |
Kumari et al. | Conversational question answering system using rasa framework | |
CN114895999B (zh) | 基于交互界面的对话方法及系统 | |
Joglekar | WOzBot: A Wizard of Oz Based Method for Chatbot Response Improvement |
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 |