掌桥专利:专业的专利平台
掌桥专利
首页

对话交互方法、装置、设备与介质

文献发布时间:2023-06-19 16:04:54



技术领域

本发明涉及人工智能技术领域,尤其涉及一种对话交互方法、装置、设备与介质。

背景技术

随着人工智能技术的不断发展,对话系统已经在商用领域快速发展,有不少产品已进入量产阶段,在限定领域对话系统中,苹果Siri和微软Cortana已通过手机、操作系统等媒介被人们广泛使用,另外搭载亚马逊Echo、百度Duer、谷歌Home和天猫精灵等虚拟助手类型的智能音箱也已经走入千家万户,人机对话系统也由服务的角色逐步转变为情感伴侣的角色。

近年来,随着互联网上社交数据的快速增长,数据驱动的开放领域对话系统逐渐成为了工业界及学术界关注的热点,深度学习技术的应用使得开放领域对话系统取得了突破性进展,通过端到端的神经网络模型已经能够在开放域对话场景下生成流畅以及符合上文的回复,然而,仅仅通过学习大量社交数据训练神经网络模型生成的回复存在通用的、无趣的特点,甚至对这些问题生成的回复是不合时宜的,在人机交互的过程中,在开放域对话场景下,对话系统无法关注到对话交互中的主题和情感相关的交互,更加无法去调控回复生成的主题和情感,自动生成的回复在与用户的对话中达不到精确的情感和主题分类,使得用户的交互体验差。

发明内容

本发明的主要目的在于提出一种对话交互方法、装置、设备与介质,旨在加强对话交互中的主题和情感交互,优化用户的交互体验。

为实现上述目的,本发明提供一种对话交互方法,所述对话交互方法包括如下步骤:

获取待回复的对话文本;

基于预先训练好的分类模型,对所述对话文本进行分类,获取所述对话文本对应的情感极性以及主题标签;

基于所述情感极性和主题标签,确定对应的对话策略;

基于预先训练好的生成式预训练GPT模型,确定所述对话策略对应的目标回复文本。

优选地,所述获取待回复的对话文本的步骤包括:

获取用户输入的原始对话;

对所述原始对话的用户问答以及历史对话进行标准化处理,得到待回复的对话文本;

其中,标准化处理的方式包括圆半角转换、简体转换、大小写转换、截断过长文本以及过滤敏感词中的一种或多种。

优选地,所述基于预先训练好的分类模型,对所述对话文本进行分类,获取所述对话文本对应的情感极性以及主题标签的步骤包括:

基于预先训练好的情感分类模型,对所述对话文本进行情感分类,得到对应的情感分类结果,其中,该情感分类结果包括正向、中立或是负向的情感极性;

基于预先训练好的主题分类模型,对所述对话文本进行主题分类,得到对话文本对应的主题标签。

优选地,所述基于预先训练好的情感分类模型,对所述对话文本进行情感分类,得到对应的情感分类结果的步骤包括:

将所述对话文本输入到预先训练好的情感分类模型;

通过情感分类模型的文本编码层,对所述对话文本进行词向量矩阵映射和位置向量矩阵映射,得到所述对话文本对应的浅层词情感向量表征;

将所述浅层词情感向量表征输入所述情感分类模型的特征提取层,得到对应的文本情感特征向量;

基于所述文本情感特征向量,通过情感分类模型的softmax输出层,得到具有不同情感倾向的概率矩阵,进而得到对应的情感分类结果。

优选地,所述所述特征提取层包括M层编码模块,所述将所述浅层词情感向量表征输入所述情感分类模型的特征提取层,得到对应的文本情感特征向量的步骤包括:

将所述浅层词情感向量表征依次输入所述特征提取层的M层编码模块,获取每层编码模块的单层编码结果,进而得到对应的文本情感特征向量,其中,M为正整数;

其中,所述编码模块包括:编码器encoder模型、Layer Normalization层以及残差网络层;

所述编码器encoder模型包括:多头自注意力层、Laye Norm层、前馈神经层以及Layer Norm层;

所述将所述浅层词情感向量表征依次输入所述特征提取层的M层编码模块的步骤中,在每层编码模块进行处理得到单层编码结果的步骤包括:

将所述浅层词情感向量表征依次输入所述编码器encoder模型的多头自注意力层、LayeNorm层、前馈神经层以及LayerNorm层,得到对应的模型输出结果;

将所述模型输出结果依次输入所述LayerNormalization层以及残差网络层,得到对应的单层编码结果。

优选地,所述基于预先训练好的主题分类模型,对所述对话文本进行主题分类,得到对话文本对应的主题标签的步骤包括:

将所述对话文本输入到预先训练好的主题分类模型;

通过主题分类模型的文本编码层,对所述对话文本进行词向量矩阵映射和位置向量矩阵映射,得到所述对话文本对应的浅层词主题向量表征;

将所述浅层词主题向量表征输入所述主题分类模型的特征提取层,得到对应的文本主题特征向量;

基于所述文本主题特征向量,通过主题分类模型的softmax输出层,得到具有不同主题分类的概率矩阵,进而得到对应的主题标签。

优选地,所述所述特征提取层包括M层编码模块,所述将所述浅层词主题向量表征输入所述主题分类模型的特征提取层,得到对应的文本主题特征向量的步骤包括:

将所述浅层词主题向量表征依次输入所述特征提取层的M层编码模块,获取每层编码模块的单层编码结果,进而得到对应的文本主题特征向量,其中,M为正整数;

其中,所述编码模块包括:编码器encoder模型、Layer Normalization层以及残差网络层;

所述编码器encoder模型包括:多头自注意力层、Laye Norm层、前馈神经层以及Layer Norm层;

所述将所述浅层词情感向量表征依次输入所述特征提取层的M层编码模块的步骤中,在每层编码模块进行处理得到单层编码结果的步骤包括:

将所述浅层词主题向量表征依次输入所述编码器encoder模型的多头自注意力层、LayeNorm层、前馈神经层以及LayerNorm层,得到对应的模型输出结果;

将所述模型输出结果依次输入所述LayerNormalization层以及残差网络层,得到对应的单层编码结果。

优选地,在所述基于预先训练好的分类模型,对所述对话文本进行分类,获取所述对话文本对应的情感极性以及主题标签之前,所述对话交互方法还包括:

构建不同情感和/或主题的数据训练集,其中,所述不同情感和/或主题的数据训练集包括不同情感和/或主题分割数据集和不同情感和/或主题标注数据集;

基于所述不同情感和/或主题分割数据集,对预训练分类模型BERT进行预训练,获得所述分类模型的骨架网络;

基于所述不同情感和/或主题标注数据集,对各所述不同情感和/或主题标注数据集进行特征提取,获得对应的训练特征提取结果;

基于所述分类模型的骨架网络,对所述不同情感和/或主题标注数据集的训练特征提取结果进行学习训练,获得分类模型。

优选地,在所述基于所述分类模型的骨架网络,对所述不同情感和/或主题标注数据集的训练特征提取结果进行学习训练,获得分类模型之后,所述对话交互方法还包括:

对所述分类模型进行测试,得到对应的测试结果;

若所述测试结果达到预设标准,则确定测试后对应的分类模型;

若所述测试结果未达到预设标准,则对所述分类模型的训练数据进行调整,基于调整后的训练数据训练得到分类模型。

优选地,所述对所述分类模型的训练数据进行数据调整,基于调整后的训练数据训练得到的分类模型的步骤包括:

获取进行数据调整的训练数据,并将所述训练数据进行格式长度标准化处理,得到处理后的标准化训练数据;

通过对所述标准化训练数据进行文本标注,得到对应的情感和/或主题标签文本;

基于所述情感和/或主题标签文本,确定测试并调整后对应的分类模型。

优选地,所述基于所述情感极性和主题标签,确定对应的对话策略的步骤包括:

基于所述对话文本的情感极性和主题标签,确定对所述对话文本进行回复的对话策略,其中,所述对话策略包括目标情感和目标主题。

优选地,所述基于预先训练好的生成式预训练GPT模型,确定所述对话策略对应的目标回复文本的步骤包括:

基于所述对话策略,获取用户的历史对话、当前问题、目标情感以及目标主题;

通过生成式预训练GPT模型的GPT编码阶段,对所述历史对话、当前问题、目标情感以及目标主题进行分词、向量转换以及特征提取,得到对应的表征向量;

通过生成式预训练GPT模型的GPT解码阶段,对所述表征向量进行逐步解码,得到对应的目标回复文本。

优选地,所述GPT模型的GPT解码阶段包括N层解码模块,所述通过生成式预训练GPT模型的GPT解码阶段,对所述表征向量进行逐步解码,得到对应的目标回复文本的步骤包括:

将所述表征向量依次输入GPT模型的GPT解码阶段的N层解码模块,获取每层解码模块的单层解码结果,进而确定所述目标回复文本,其中,N为正整数;

其中,所述解码模块包括:解码器decoder模型、LayerNormalization层以及残差网络层;

所述解码器decoder模型包括:掩蔽多头自注意力层、Laye Norm层、前馈神经层以及Layer Norm层;

所述将所述表征向量依次输入GPT模型的GPT解码阶段的N层编码模块的步骤中,在每层编码模块进行处理得到单层编码结果的步骤包括:

将所述表征向量依次输入所述编码器encoder模型的掩蔽多头自注意力层、LayeNorm层、前馈神经层以及Layer Norm层,得到对应的模型输出结果;

将所述模型输出结果依次输入所述LayerNormalization层以及残差网络层,得到对应的单层编码结果。

优选地,在所述基于预先训练好的生成式预训练GPT模型,确定所述对话策略对应的目标回复文本的步骤之前,所述对话交互方法还包括:

获取多轮开放域平台的训练数据,标准化所述训练数据的数据格式,得到具有标准格式和标准长度的多轮对话语料;

对所述多轮对话语料的情感和主题进行标注,得到具有不同情感极性以及主题标签的标签文本;

基于所述标签文本,对预训练模型进行训练,获取所述生成式预训练GPT模型。

此外,为实现上述目的,本发明还提供一种对话交互装置,所述对话交互装置包括:

获取模块,用于获取待回复的对话文本;

分类模块,用于基于预先训练好的分类模型,对所述对话文本进行分类,获取所述对话文本对应的情感极性以及主题标签;

确定模块,用于基于所述情感极性和主题标签,确定对应的对话策略;

回复模块,用于基于预先训练好的生成式预训练GPT模型,确定所述对话策略对应的目标回复文本。

优选地,获取模块还用于:

获取用户输入的原始对话;

对所述原始对话的用户问答以及历史对话进行标准化处理,得到待回复的对话文本;

其中,标准化处理的方式包括圆半角转换、简体转换、大小写转换、截断过长文本以及过滤敏感词中的一种或多种。

优选地,分类模块还用于:

基于预先训练好的情感分类模型,对所述对话文本进行情感分类,得到对应的情感分类结果,其中,该情感分类结果为包括正向、中立或是负向的情感极性;

基于预先训练好的主题分类模型,对所述对话文本进行主题分类,进而得到对话文本对应的主题标签。

优选地,分类模块还用于:

将所述对话文本输入到预先训练好的情感分类模型;

通过情感分类模型的文本编码层,对所述对话文本进行词向量矩阵映射和位置向量矩阵映射,得到所述对话文本对应的浅层词情感向量表征;

将所述浅层词情感向量表征输入情感分类模型的特征提取层,得到对应的文本情感特征向量;

基于所述文本情感特征向量,通过情感分类模型的softmax输出层,得到有不同情感倾向的概率矩阵,进而得到对应的情感分类结果。

优选地,分类模块还用于:

将所述浅层词情感向量表征依次输入所述特征提取层的M层编码模块,获取每层编码模块的单层编码结果,进而得到对应的文本情感特征向量,其中,M为正整数;

其中,所述编码模块包括:编码器encoder模型、Layer Normalization层以及残差网络层;

所述编码器encoder模型包括:多头自注意力层、Laye Norm层、前馈神经层以及Layer Norm层;

所述将所述浅层词情感向量表征依次输入所述特征提取层的M层编码模块的步骤中,在每层编码模块进行处理得到单层编码结果的步骤包括:

将所述浅层词情感向量表征依次输入所述编码器encoder模型的多头自注意力层、LayeNorm层、前馈神经层以及LayerNorm层,得到对应的模型输出结果;

将所述模型输出结果依次输入所述LayerNormalization层以及残差网络层,得到对应的单层编码结果。

优选地,分类模块还用于:

将所述对话文本输入到预先训练好的主题分类模型;

通过主题分类模型的文本编码层,对所述对话文本进行词向量矩阵映射和位置向量矩阵映射,得到所述对话文本对应的浅层词主题向量表征;

将所述浅层词主题向量表征输入所述主题分类模型的特征提取层,得到对应的文本主题特征向量;

基于所述文本主题特征向量,通过主题分类模型的softmax输出层,得到具有不同主题分类的概率矩阵,进而得到对应的主题标签。

优选地,分类模块还用于:

将所述浅层词主题向量表征依次输入所述特征提取层的M层编码模块,获取每层编码模块的单层编码结果,进而得到对应的文本主题特征向量,其中,M为正整数;

其中,所述编码模块包括:编码器encoder模型、Layer Normalization层以及残差网络层;

所述编码器encoder模型包括:多头自注意力层、Laye Norm层、前馈神经层以及Layer Norm层;

所述将所述浅层词情感向量表征依次输入所述特征提取层的M层编码模块的步骤中,在每层编码模块进行处理得到单层编码结果的步骤包括:

将所述浅层词主题向量表征依次输入所述编码器encoder模型的多头自注意力层、LayeNorm层、前馈神经层以及LayerNorm层,得到对应的模型输出结果;

将所述模型输出结果依次输入所述LayerNormalization层以及残差网络层,得到对应的单层编码结果。

优选地,确定模块还用于:

基于所述对话文本的情感极性和主题标签,确定对所述对话文本进行回复的对话策略,其中,所述对话策略包括目标情感和目标主题。

优选地,回复模块还用于:

基于所述对话策略,获取用户的历史对话、当前问题、目标情感以及目标主题;

通过生成式预训练GPT模型的GPT编码阶段,对所述历史对话、当前问题、目标情感以及目标主题进行分词、向量转换以及特征提取,得到对应的表征向量;

通过生成式预训练GPT模型的GPT解码阶段,对所述表征向量进行逐步解码,得到对应的目标回复文本。

优选地,回复模块还用于:

将所述表征向量依次输入GPT模型的GPT解码阶段的N层解码模块,获取每层解码模块的单层解码结果,进而确定所述目标回复文本,其中,N为正整数;

其中,所述解码模块包括:解码器decoder模型、LayerNormalization层以及残差网络层;

所述解码器decoder模型包括:掩蔽多头自注意力层、Laye Norm层、前馈神经层以及Layer Norm层;

所述将所述表征向量依次输入GPT模型的GPT解码阶段的N层编码模块的步骤中,在每层编码模块进行处理得到单层编码结果的步骤包括:

将所述表征向量依次输入所述编码器encoder模型的掩蔽多头自注意力层、LayeNorm层、前馈神经层以及Layer Norm层,得到对应的模型输出结果;

将所述模型输出结果依次输入所述LayerNormalization层以及残差网络层,得到对应的单层编码结果。

此外,为实现上述目的,本发明还提供一种对话交互设备,所述对话交互设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的对话交互程序,所述对话交互控程序被所述处理器执行时实现如上所述的对话交互方法的步骤。

此外,为实现上述目的,本发明还提供一种介质,所述介质为计算机可读存储介质,所述计算机可读存储介质上存储有对话交互程序,所述对话交互程序被处理器执行时实现如上所述的对话交互方法的步骤。

本发明提出的对话交互方法、装置、设备及介质,通过获取待回复的对话文本;基于预先训练好的分类模型,对所述对话文本进行分类,获取所述对话文本对应的情感极性以及主题标签;基于所述情感极性和主题标签,确定对应的对话策略;基于预先训练好的生成式预训练GPT模型,确定所述对话策略对应的目标回复文本。在对话系统生成回复的过程中引入情感和主题要素可控方式,将用户的对话划分成更加精确的情感主题分类,获得不同情感和主题更具针对性的对话回复,提升对话系统的交互体验质量。

附图说明

图1是本发明对话交互实施例方案涉及的硬件运行环境的设备结构示意图;

图2为本发明对话交互方法第一实施例的流程示意图;

图3为本发明对话交互方法第一实施例的具体流程步骤示意图;

图4为本发明对话交互方法第二实施例的流程示意图;

图5为本发明对话交互方法第二实施例中步骤S21的子流程示意图;

图6为本发明对话交互方法第二实施例中特征提取层encoder模型的结构示意图;

图7为本发明对话交互方法第二实施例中步骤S22的子流程示意图;

图8为本发明对话交互方法第三实施例中步骤S100的细化流程示意图;

图9为本发明对话交互方法第三实施例的流程示意图;

图10为本发明对话交互方法第四实施例的流程示意图;

图11为本发明对话交互方法第四实施例中GPT模型的GPT解码阶段decoder模型的结构示意图;

图12为本发明对话交互方法第四实施例中GPT模型两个阶段的结构示意图;

图13为本发明对话交互方法第五实施例中步骤S400的细化流程示意图;

图14为本发明对话交互方法第五实施例的流程示意图;

图15为本发明对话交互方法第一实施例涉及到的对话交互装置的功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。

本发明实施例设备可以是终端或服务器。

如图1所示,该设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及对话交互程序。

其中,操作系统是管理和控制对话交互设备与软件资源的程序,支持网络通信模块、用户接口模块、对话交互程序以及其他程序或软件的运行;网络通信模块用于管理和控制网络接口1002;用户接口模块用于管理和控制用户接口1003。

在图1所示的对话交互设备中,所述对话交互设备通过处理器1001调用存储器1005中存储的对话交互程序,并执行下述对话交互方法各个实施例中的操作。

基于上述硬件结构,提出本发明对话交互方法实施例。

参照图2,图2为本发明对话交互方法第一实施例的流程示意图,所述方法包括:

步骤S10,获取待回复的对话文本;

获取用户输入的原始对话;对所述原始对话的用户问答以及历史对话进行标准化处理,得到待回复的对话文本,其中,标准化处理的方式包括圆半角转换、简体转换、大小写转换、截断过长文本以及过滤敏感词中的一种或多种。

在一具体实施例中,获取用户的原始对话的方式可以是通过录音设备得到用户与对话系统进行实时对话的语音信息,也可以是通过文本输入框得到的用户原始对话文本信息,将该语音信息或是文本信息转化为相对应的文本对话,获取到用户输入的原始对话,将上述原始对话进行标准化处理,得到格式统一、标准的对话文本,标准化处理的方式包括圆半角转换、简体转换、大小写转换、截断过长文本以及过滤敏感词中的一种或多种。

例如,当检测到用户通过文本输入框输入“你会不会打藍球呀?”,对该文本信息进行包含圆半角转换、简体转换的标准化处理之后,得到“你会不会打篮球呀?”的标准、统一的对话文本。

步骤S20,基于预先训练好的分类模型,对所述对话文本进行分类,获取所述对话文本对应的情感极性以及主题标签;

在一具体实施例中,分类模型通过深度学习方法,微调BERT预训练模型实现分类模型,利用该分类模型实现对对话文本的情感和主题分类。其中,深度学习是一种基于对数据进行表征学习试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法,通过深度学习对BERT预训练模型进行微调训练,得到对应的分类模型。

基于上述分类模型,将上述对话文本输入分类模型进行分类处理,得到与用户待回复的对话文本对应的情感极性和主题标签,其中,上述分类模型对文本进行分类可以是通过一个包含情感和主题的分类模型,该分类模型可以针对一段对话文本实现相对应的情感和主题的分类,得到该对话文本所属的情感极性和主题标签。同样的,也可以通过一个情感分类模型以及一个主题分类模型,分别对上述对话文本进行分类处理,得到对话文本对应的情感分类结果以及主题分类结果。

例如,在对话系统使用过程中,一段人机交互进行的对话在预处理之后生成的对话文本如下:

Human:你知道姚明吗?

Agent:我最喜欢的篮球运动员

Human:那你会打篮球吗

通过上述分类模型对该对话文本进行分类,得到其对应的情感分类结果和主题分类结果如下:

<情感>:正向

<主题>:体育

步骤S30,基于所述情感极性和主题标签,确定对应的对话策略;

根据上述步骤生成的情感极性和主题标签,确定这些情感极性和主题标签对应的对话策略,这些对话策略可以是通过人工预先制定,并存储至对应的数据库中,可随时进行调用。

在一具体实施例中,根据用户对话文本的当前问题的情感极性和主题标签,可以通过人工预先制定进行人机对话预期期望回复的与情感极性和主题标签对应的对话策略。

具体的,上述针对情感极性和主题标签人工制定的对话策略包括:当用户进入某一垂直话题时,希望聊天机器人对目前主题进行跟随;当用户表达正向情感倾诉时,聊天机器人应当给予正向的积极回复;当用户表达中性情感时,聊天机器人通过正向积极的回复有利于激发用户对话交互热情;当用户表达消极情感时,聊天机器人应该表达中立情感的回复,可以避免不合适的情感表述。更多地,该策略模块可以制定更复杂的交互策略,比如可以考虑多轮交互对话中的情感、主题以及历史对话的多种特征来制定目标输出主题、以及目标情感策略。

例如,当获取到与对话文本对应的上述情感极性和主题标签如下:

<情感>:正向

<主题>:体育

则可以获取到与上述情感极性和主题标签对应的对话策略,具体的,聊天机器人与用户进行对话的策略可以是继续对体育领域话题进行正向积极的回复,以激发用户的交互热情。

步骤S40,基于预先训练好的生成式预训练GPT模型,确定所述对话策略对应的目标回复文本。

在一具体实施例中,将上述对话策略作为输入项传入GPT模型,获取到对话文本的历史对话、当前问题、目标情感以及目标主题,将用户的历史对话、当前问题、目标情感以及目标主题进行GPT编码,GPT解码,生成与用户的对话文本相对应的目标回复文本。

参照图3,图3为本实施例在具体实施过程中的详细流程图,通过文本预处理模块,对用户原始对话的当前问题以及历史对话做统一的标准化处理,处理方式包括圆半角转换、简体转换、大小写转换、截断过长文本以及过滤敏感词中的一种或多种,获得对应的对话文本,基于该对话文本通过情感分类模块以及主题分类模块,分别对对话文本进行情感分类和主题分类,得到对应的情感极性和对话文本的主题方向。通过对话主题-情感策略模块,基于预先制定好的对话策略,确定输出目标的情感和主题,最后通过回复生成模块,根据用户对话文本的当前问题、历史对话、目标情感和目标主题,解码生成对应的文本回复。

在本实施例中,通过同时引入情感和主题对话要素联合控制对话模型生成回复,在利用预训练模型训练端到端对话模型方式保证上下文一致性的基础上,能够对回复的情感和主题进行可解释性的显式控制,并且在落地推理使用时,可以根据当前的情感、主题以及对话历史来人工制定回复策略,能够灵活地调整对话系统生成回复方向,在当前端到端对话系统模型由于不可控存在多种风险而难以落地的情况下,该发明方案提出实现了一种可以对综合对话要素进行对话交互可控回复生成的对话系统方案,提升用户在人机交互的过程中进行对话的体验感。

进一步地,基于本发明对话交互方法第一实施例,提出本发明对话交互方法第二实施例。

对话交互方法的第二实施例与对话交互方法的第一实施例的区别在于,第二实施例是对步骤S20,基于预先训练好的分类模型,对所述对话文本进行分类,获取所述对话文本对应的情感极性以及主题标签的细化,参照图4,该步骤具体包括:

步骤S21,基于预先训练好的情感分类模型,对所述对话文本进行情感分类,得到对应的情感分类结果,其中,该情感分类结果包括正向、中立或是负向的情感极性;

参照图5,步骤S21具体包括:

步骤A1,将所述对话文本输入到预先训练好的情感分类模型;

在一具体的实施例中,将人机交互的对话文本输入预先训练好的情感分类模型,得到每段对话文本对应的情感分类结果,上述情感分类模型通过应用具有不用情感标签的数据集进行标注、训练得到,分类模型的结构可以是包括文本编码层、特征提取层和输出层的分类模型,通过将对话文本依次输入文本编码层、特征提取层和输出层得到对应的分类结果。

步骤A2,通过情感分类模型的文本编码层,对所述对话文本进行词向量矩阵映射和位置向量矩阵映射,得到所述对话文本对应的浅层词情感向量表征;

步骤A3,将所述浅层词情感向量表征输入所述情感分类模型的特征提取层,得到对应的文本情感特征向量;

在一具体实施例中,分类模型可以包括文本编码层、特征提取层和输出层,在特征提取层中从浅层词情感向量表征中提取对话文本相应的文本情感特征向量,具体步骤如下:

将所述浅层词情感向量表征依次输入所述特征提取层的M层编码模块,获取每层编码模块的单层编码结果,进而得到对应的文本情感特征向量,其中,M为正整数;

其中,所述编码模块包括:编码器encoder模型、Layer Normalization层以及残差网络层;

参照图6,图6为上述编码模块中编码器encoder模型的结构示意图,具体的:

所述编码器encoder模型包括:多头自注意力层、Laye Norm层、前馈神经层以及Layer Norm层;

将所述浅层词主题向量表征依次输入所述特征提取层的M层编码模块的步骤中,在每层编码模块进行处理得到单层编码结果的步骤包括:

将所述浅层词情感向量表征依次输入所述编码器encoder模型的多头自注意力层、LayeNorm层、前馈神经层以及LayerNorm层,得到对应的模型输出结果;

将所述模型输出结果依次输入所述LayerNormalization层以及残差网络层,得到对应的单层编码结果。

在一具体的实施例中,特征提取层由12层及12个多头注意力的transformers的encoder模型构成,具体的,encoder模型包括:多头自注意力层、Layer Norm层、前馈神经层以及Layer Norm层,且特征提取层中包含的12层encoder模型之间都通过LayerNormalization层以及残差网络层进行连接,每一层encoder模型以及LayerNormalization层以及残差网络都会得到对应的单层编码结果,进而获取维度大小为768的文本情感特征向量。

步骤A4,基于所述文本情感特征向量,通过情感分类模型的softmax输出层,得到有不同情感倾向的概率矩阵,进而得到对应的情感分类结果。

在一具体的实施例中,将获取到的对话文本输入预先训练好的情感分类模型,通过该情感分类模型的文本编码层、特征提取层,以及输出层得到该对话文本属于不同情感极性的概率矩阵,根据该概率矩阵,得到对话文本对应的情感极性,其中,情感极性包括正向、中立或是负向。

例如,若获取到的对话文本为“我想看猫和老鼠”,并将上述对话文本输入情感分类模型,得到该对话文本的情感极性为中性;若获取到的对话文本为“好讨厌下雨天”,并将上述对话文本输入情感分类模型,得到该对话文本的情感极性为负向;若获取到的对话文本为“我喜欢打乒乓球”,并将上述对话文本输入情感分类模型,得到该对话文本的情感极性为正向。

步骤S22,基于预先训练好的主题分类模型,对所述对话文本进行主题分类,得到对话文本对应的主题标签。

参照图7,步骤S22具体包括:

步骤B1,将所述对话文本输入到预先训练好的主题分类模型;

在一具体的实施例中,将人机交互的对话文本输入预先训练好的主题分类模型,得到每段对话文本对应的主题分类结果,上述主题分类模型通过应用具有不用主题标签的数据集进行标注、训练得到,分类模型的结构可以是包括文本编码层、特征提取层和输出层的分类模型,通过将对话文本依次输入文本编码层、特征提取层和输出层得到对应的分类结果。

步骤B2,通过主题分类模型的文本编码层,对所述对话文本进行词向量矩阵映射和位置向量矩阵映射,得到所述对话文本对应的浅层词主题向量表征;

步骤B3,将所述浅层词主题向量表征输入情感分类模型的特征提取层,得到对应的文本主题特征向量;

在一具体实施例中,分类模型可以包括文本编码层、特征提取层和输出层,在特征提取层中从浅层词情感向量表征中提取对话文本相应的文本主题特征向量,具体步骤如下:

将所述浅层词主题向量表征依次输入所述特征提取层的M层编码模块,获取每层编码模块的单层编码结果,进而得到对应的文本主题特征向量,其中,M为正整数;

其中,所述编码模块包括:编码器encoder模型、Layer Normalization层以及残差网络层;

所述编码器encoder模型包括:多头自注意力层、Laye Norm层、前馈神经层以及Layer Norm层;

将所述浅层词主题向量表征依次输入所述特征提取层的M层编码模块的步骤中,在每层编码模块进行处理得到单层编码结果的步骤包括:

将所述浅层词主题向量表征依次输入所述编码器encoder模型的多头自注意力层、LayeNorm层、前馈神经层以及LayerNorm层,得到对应的模型输出结果;

将所述模型输出结果依次输入所述LayerNormalization层以及残差网络层,得到对应的单层编码结果。

在一具体的实施例中,特征提取层由12层及12个多头注意力的transformers的encoder模型构成,具体的,encoder模型包括:多头自注意力层、Layer Norm层、前馈神经层以及Layer Norm层,且特征提取层中包含的12层encoder模型之间都通过LayerNormalization层以及残差网络层进行连接,每一层encoder模型以及LayerNormalization层以及残差网络都会得到对应的单层编码结果,进而获取维度大小为768的文本主题特征向量。

步骤B4,基于所述文本主题特征向量,通过情感分类模型的softmax输出层,得到具有不同主题分类的概率矩阵,进而得到对应的主题标签。

在一具体实施例中,将获取到的对话文本输入预先训练好的主题分类模型,通过该主题分类模型的文本编码层、特征提取层,以及输出层得到该对话文本属于不同主题的概率矩阵,根据该概率矩阵,得到对话文本对应的主题标签,其中,主题标签有26种,具体包括:体育、健康养生、军事、动漫、历史、国际、娱乐、宠物、家居、情感、搞笑、教育、文化、旅游、时事、时尚、星座运势、母婴育儿、汽车、游戏、社会、科技、综合、美食、财经、音乐。

例如,若获取到的对话文本为“泡脚对身体有什么好处”,并将上述对话文本输入主题分类模型,得到该对话文本的主题标签为“健康养生”;若获取到的对话文本为“我好喜欢可爱的猫”,并将上述对话文本输入主题分类模型,得到该对话文本的主题标签为“宠物”。

在本实施例中,通过预先训练好的分类模型对从用户端获取的对话文本进行情感分类和主题分类,得到对话文本对应的分类结果后,匹配到与不同情感极性和主题标签相对应的对话策略,在对话系统生成回复的过程中引入情感和主题要素可控方式,将用户的对话划分成更加精确的情感主题分类,获得不同情感和主题更具针对性的回复,提升对话系统的交互体验质量。

进一步地,基于本发明对话交互方法第一、第二实施例,提出本发明对话交互方法第三实施例。

对话交互方法的第三实施例与对话交互方法的第一、第二实施例的区别在于,第三实施例是在步骤S20之前,所述对话交互方法还包括创建情感和/或主题分类模型的方案,在步骤S20之前还包括:

步骤S100,创建情感和/或主题分类模型。

参照图8,图8为本实施例对话交互方法S100的具体步骤。

参照图9,步骤S100具体包括:

步骤S201,构建不同情感和/或主题的数据训练集,其中,所述不同情感和/或主题的数据训练集包括不同情感和/或主题分割数据集和不同情感和/或主题标注数据集;

步骤S202,基于所述不同情感和/或主题分割数据集,对预训练分类模型BERT进行预训练,获得所述分类模型的骨架网络;

步骤S203,基于所述不同情感和/或主题标注数据集,对各所述不同情感和/或主题标注数据集进行特征提取,获得对应的训练特征提取结果;

步骤S204,基于所述分类模型的骨架网络,对所述不同情感和/或主题标注数据集的训练特征提取结果进行学习训练,获得分类模型。

在利用分类模型对用户问文本进行情感分类以及主题分类之前,本发明对话交互方法还包括创建相对应的情感分类模型以及主题分类模型,并对上述分类模型进行训练。训练过程包括训练数据准备、模型训练、模型测试、训练数据调整等,为了适配当前对话场景,情感和主题分类数据通过将对话数据进行文本标注,获得对应的情感与主题分类模型。

创建上述分类模型可以是通过创建一个包含对情感和主题进行分类的分类模型,该分类模型可以针对一段对话文本实现相对应的情感和主题的分类,得到该对话文本所属的情感极性和主题标签。同样的,也可以通过创建一个情感分类模型并创建一个主题分类模型,分别对上述对话文本进行分类处理,分别得到对话文本对应的情感分类结果以及主题分类结果。

在所述基于所述分类模型的骨架网络,对所述不同情感和/或主题标注数据集的训练特征提取结果进行学习训练,获得分类模型之后,所述对话交互方法还包括对生成的分类模型进行测试,具体包括:

对所述分类模型进行测试,得到对应的测试结果;

若所述测试结果达到预设标准,则确定测试后对应的分类模型;

若所述测试结果未达到预设标准,则对所述分类模型的训练数据进行调整,基于调整后的训练数据训练得到分类模型。

所述对所述分类模型的训练数据进行数据调整,基于调整后的训练数据训练得到分类模型的步骤包括:

获取进行数据调整的训练数据,并将所述训练数据进行格式长度标准化处理,得到处理后的标准化训练数据;

通过对所述标准化训练数据进行文本标注,得到对应的情感和/或主题文本标签;

基于所述情感和/或主题文本标签,确定测试并调整后对应的分类模型。

在一具体的实施例中,可以通过微博、贴吧、豆瓣等多轮交互对话平台获取到对应的数据集,且该数据集是包含了不同情感以及不同主题的分割数据集和标注数据集,通过对这些数据格式为Q1A1…QnAn,Q为对话问,A为回复的数据集进行特征提取,获取对话数据对应的特征提取结果,运用预训练分类模型BERT对上述数据集的特征提取结果进行深度学习和训练,得到对应的情感分类模型以及主题分类模型。

通过对上述多轮交互数据集进行情感和主题的特征提取,得到的特征提取结果基于预训练分类模型BERT,构建出对应的分类模型来实现对话文本的情感和主题分类,得到一个能够对用户的对话文本进行情感和主题分类,并且得到对应的分类结果的分类模型。

在获取到创建好的分类模型之后,还可以对分类模型进行测试,得到对应的测试结果,若测试结果为达到预设标准,则需要对创建分类模型所应用到的训练数据进行调整,运用调整过的训练数据得到测试并调整后的分类模型。

在本实施例中,从开放域的对轮对话系统中获取到的情感和主题数据集,创建能对用户的对话文本进行情感和主题分类的分类模型,并在生成相应的分类模型之后对模型进行微调训练,得到更加精确的模型输出结果,在生成可控回复的过程中引入情感极性以及主题标签,对用户的对话文本进行精确的分类,在对话系统中生成更加有针对性的回复,调控回复生成的主题和情感,生成针对情感和主题更加精确的人机答复,提升用户在交互过程中的体验质量。

进一步地,基于本发明对话交互方法第一、第二、第三实施例,提出本发明对话交互方法第四实施例。

对话交互方法的第四实施例与对话交互方法的第一、第二、第三实施例的区别在于,第四实施例是对步骤S40,基于预先训练好的生成式预训练GPT模型,确定所述对话策略对应的目标回复文本的细化,参照图10,该步骤具体包括:

步骤S41,基于所述对话策略,获取用户的历史对话、当前问题、目标情感以及目标主题;

在一具体实施例中,基于上述包含目标情感以及目标主题的对话策略,可以获取到用户输入的对话文本中的历史对话以及当前问题。

对话策略是根据用户输入的当前问题的目标情感和目标主题,制定预期期望聊天机器人回复的对话策略,简单的人工制定对话策略可以是:当用户进入某一垂直话题时,希望聊天机器人对目前主题进行跟随;当用户表达正向情感倾诉时,聊天机器人应当给予正向的积极回复;当用户表达中性情感时,聊天机器人通过正向积极的回复有利于激发用户对话交互热情;当用户表达消极情感时,聊天机器人应该表达中立情感的回复,可以避免不合适的情感表述。

步骤S42,通过生成式预训练GPT模型的GPT编码阶段,对所述历史对话、当前问题、目标情感以及目标主题进行分词、向量转换以及特征提取,得到对应的表征向量;

步骤S43,通过生成式预训练GPT模型的GPT解码阶段,对所述表征向量进行逐步解码,得到对应的目标回复文本。

所述GPT模型的GPT解码阶段包括N层解码模块,所述通过生成式预训练GPT模型的GPT解码阶段,对所述表征向量进行逐步解码,得到对应的目标回复文本的步骤包括:

将所述表征向量依次输入GPT模型的GPT解码阶段的N层解码模块,获取每层解码模块的单层解码结果,进而确定所述目标回复文本,其中,N为正整数;

其中,所述解码模块包括:解码器decoder模型、LayerNormalization层以及残差网络层;

参照图11,图11为GPT模型的GPT解码阶段decoder模型的结构示意图。

所述解码器decoder模型包括:掩蔽多头自注意力层、Laye Norm层、前馈神经层以及Layer Norm层;

所述解码器decoder模型包括:掩蔽多头自注意力层、Laye Norm层、前馈神经层以及Layer Norm层;

所述将所述表征向量依次输入GPT模型的GPT解码阶段的N层编码模块的步骤中,在每层编码模块进行处理得到单层编码结果的步骤包括:

将所述表征向量依次输入所述编码器encoder模型的掩蔽多头自注意力层、LayeNorm层、前馈神经层以及Layer Norm层,得到对应的模型输出结果;

将所述模型输出结果依次输入所述LayerNormalization层以及残差网络层,得到对应的单层编码结果。

在一具体的实施例中,通过GPT模型回复生成模块主要由一个中文GPT模型组成,通过引入情感、主题标签进行对话任务微调得到,其中对话交互可控回复自动生成的GPT模型编码解码过程。

参照图12,图12为GPT模型的两个阶段包括GPT编码阶段以及GPT解码阶段的结构示意图。

在使用回复生成模块预测时分为两个阶段:在GPT编码阶段,输入为历史对话、当前用户问、策略模块得到的目标回复情感极性和主题标签,对以上输入文本进行分词、向量转换以及特征提取后获得上文表征向量,进入GPT解码阶段进行逐步解码获得生成回复。

例如,获取到一段对话文本如下:

Human:来北京,你带上我,我带上钱

Agent:哈哈哈我看看今年的空闲时间

Human:让你吃个够

对该对话文本进行情感和主题分类,得到对应的情感极性和主题分类如下:

<主题>:健康养生

<情感>:中性

则根据该情感分类以及主题分类,确定其对应的对话策略,对话策略为当用户表达中性情感时,聊天机器人通过正向积极的回复有利于激发用户对话交互热情,基于上述对话策略,获取对话文本对应的历史对话、当前问题、目标情感以及目标主题,确定对应的目标回复文本。

candidate1:我这就来啊

candidate2:我现在已经在北京了

candidate3:那我要吃个够

candidate4:可以啊,我请你

在本实施例中,基于包含目标情感和目标主题的对话策略,获取到对应用户的历史对话、当前问题、目标情感以及目标主题,通过预先训练好的生成式预训练GPT模型对上述用户的历史对话、当前问题、目标情感以及目标主题进行处理,通过GPT模型的GPT编码阶段和GPT解码阶段生成对应的目标回复文本,可以将针对特性情感和主题预先制定好的对话策略转化为目标回复文本,优化实现人机交互的问答对话的过程。

进一步地,基于本发明对话交互方法第一、第二、第三、第四实施例,提出本发明对话交互方法的第五实施例。

对话交互方法的第五实施例与对话交互方法的第一、第二、第三、第四实施例的区别在于,第五实施例是在步骤S40之前,所述对话交互方法还包括创建生成式预训练GPT模型的方案,在步骤S40之前还包括:

步骤S400,创建生成式预训练GPT模型。

参照图13,图13本实施例对话交互方法S400的具体步骤。

参照图14,步骤S400具体包括:

步骤S401,获取多轮开放域平台的训练数据,标准化所述训练数据的数据格式,得到具有标准格式和标准长度的多轮对话语料;

步骤S402,对所述多轮对话语料的情感和主题进行标注,得到具有不同情感极性以及主题标签的标签文本;

步骤S403,基于所述标签文本,对初始生成模型进行训练,获取所述生成式预训练GPT模型。

在一具体实施例中,在利用生成式预训练GPT模型对对话文本的当前问题进行文本回复生成预测前,需要创建对应的生成式预训练GPT模型,并在生成式预训练GPT模型创建之后,需要对生成式预训练GPT模型进行微调训练,得到可进行预测文本回复,并且生成目标回复文本的生成式预训练GPT模型。

对生成式预训练GPT模型进行训练的训练数据为多轮开放域收集到的对话语料,主要是开源的社交对话数据,来源包括微博、贴吧、豆瓣等平台,数据格式为Q1A1…QnAn,Q为对话问,A为回复,在经过数据筛选后,获取总量约为300万组多轮对话的对话语料,每轮对话平均4个句子。另外,由于需要对主题和情感进行回复的可控生成,会对当前回复的情感和主题进行标注,训练时引入对应的标签文本,最后输入模型的训练数据格式为Q1A1…QnSnTnAn,Sn、Tn分别为An回复的情感和主题的标签文本,根据上述标签文本,对初始生成模型进行训练,获取所述生成式预训练GPT模型。

在本实施例中,基于多轮开放域的对话语料作为训练数据,得到生成式预训练GPT模型,并通过该GPT模型对包含对话文本的情感极性和主题标签的对话策略自动生成可控回复,实现对话系统的人机交互,提升对话系统的交互质量。

本发明还提供一种对话交互装置。参照图15,本发明的对话交互装置包括:

获取模块10,用于获取待回复的对话文本;

分类模块20,用于基于预先训练好的分类模型,对所述对话文本进行分类,获取所述对话文本对应的情感极性以及主题标签;

确定模块30,用于基于所述情感极性和主题标签,确定对应的对话策略;

回复模块40,用于基于预先训练好的生成式预训练GPT模型,确定所述对话策略对应的目标回复文本。

此外,本发明还提供一种计算机可读存储介质,所述介质优选为计算机可读存储介质,其上存储有对话交互程序,所述对话交互程序被处理器执行时实现如上所述的对话交互方法的步骤。

在本发明对话交互设备和介质的实施例中,包含了上述对话交互方法各实施例的全部技术特征,说明和解释内容与上述对话交互方法各实施例基本相同,此处不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书与附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

技术分类

06120114693051