一种多轮对话装置及方法与流程

专利检索2022-05-10  40



1.本发明涉及自然语言处理领域,尤其涉及一种多轮对话装置及方法。


背景技术:

2.通用的预训语言模型,如bert模型,为一种多层双向transformer网络结构,在海量的语料的基础上进行自监督学习,通过bert模型得到的特征表示大幅提高了自然语言处理任务的准确率,但bert模型的每一层都做自监督,导致其整体复杂度为o(n2),需要大量的机器资源。
3.在多轮且具有上下文关联的聊天系统中,bert模型并不理想,除了计算量大,速度慢,训练成本高以外,其最大的缺陷是因为bert模型是基于通用语料训练的模型,因为通用语料学习到的语义特征缺乏强相关的上下文对话信息,且语料大都基于文档,缺乏对话数据,因此把bert模型用于多轮对话并不能提升机器人的自然语言理解能力和意图判断的准确率。尤其是在口语化,特定场景或者专业的行业知识领域里,具有上下句语义关联的多轮聊天系统中,表达力有限,准确率不高。


技术实现要素:

4.本发明为解决现有技术中存在的技术问题,提出一种多轮对话装置及方法。
5.为了实现以上目的,本发明提出了一种多轮对话装置,包括数据处理模块、表征模块、特征抽取模块、问答特征相似度模块,目标函数模块,其中:
6.数据处理模块用以将历史聊天的多轮对话数据进行解析,得到输入数据:上文对话文本数据、问题数据以及答案数据;
7.表征模块用以对输入数据进行映射,得到句向量集;
8.特征抽取模块用以对句向量集进行分析,得到上文特征向量、问题特征向量以及答案特征向量;
9.问答特征相似度模块用以对所述上文特征向量、问题特征向量以及答案特征向量进行处理,得到评分矩阵;
10.目标函数模块用以根据评分矩阵,设置合适多轮对话装置的目标函数。
11.进一步地,所述表征模块对输入数据进行映射包括:
12.对上文对话文本数据、问题数据以及答案数据的每个句子进行分字;
13.将每个字的位置用id表示;
14.把每个id用n维的随机向量表示;
15.得到句向量集。
16.进一步地,问答特征相似度模块用以把所述特征向量进行处理,得到评分矩阵包括:
17.将上文特征向量和问题特征向量进行拼接求和;
18.将答案特征向量和拼接后得到的特征进行矩阵相乘得到评分矩阵。
19.进一步地,目标函数模块使用softmax作为激活函数、损失函数为交叉熵进行求导获得目标函数。
20.进一步地,特征抽取模块为由若干个双编码器模块堆叠而成,其中,每个双编码器模块的结构为依次连接的自注意力层、归一化层、前馈神经网络层以及归一化层。
21.进一步地,所述归一化层为输出向量经过残差连接与输入向量相加残差连接之后再进行归一化处理。
22.本发明还公开一种多轮对话方法,应用于多轮对话装置,包括:
23.将用户当前输入的声音转换为自然语言文本;
24.结合历史对话状态和当前的自然语言文本输入多轮对话装置;
25.多轮对话装置根据历史对话状态和当前的自然语言文本预测当前对话状态;
26.根据当前对话状态输出对应的系统行为;
27.将所述系统行为转换为自然语言文本或语音,形成一轮对话;
28.等待下一轮用户输入的声音进行下一轮对话;
29.所述的多轮对话装置为上述任一项所述的多轮对话装置。
30.本发明还公开一种多轮对话方法,应用于多轮对话装置,包括:
31.接收当前用户输入的自然语言文本;
32.结合历史对话状态和当前的自然语言文本信息输入多轮对话装置;
33.多轮对话装置根据历史对话状态和当前的自然语言文本预测当前对话状态;
34.根据当前对话状态输出对应的系统行为;
35.将所述系统行为转换为自然语言文本或语音,形成一轮对话;
36.等待下一轮用户输入的自然语言文本进行下一轮对话;
37.所述的多轮对话装置为上述任一项所述的多轮对话装置。
38.本发明还公开一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行所述的多轮对话方法。
39.本发明还公开一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行所述的多轮对话方法。
40.本发明公开的方法和系统中所述模块,在实际应用中,即可以在一台目标服务器上部署多个模块,也可以每一模块独立部署在不同的目标服务器上,特别的,根据需要,为了提供更强大的计算处理能力,也可以根据需要将模块部署到集群目标服务器上。
41.由此可见,本发明的多轮对话装置即使在样本量不大的条件下,多轮对话装置也能够学习到好的上下文特征,从而能够更加准确预测用户的问题并提供答案,而且网络结构简单,实现了轻量级的内存和节能模型,使得模型在少量对话语料下也可以训练起来,进而进一步提升机器人自然语言理解能力。
42.为了对本发明有更清楚全面的了解,下面结合附图,对本发明的具体实施方式进行详细描述。
附图说明
43.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使
用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
44.图1为本技术实施例的一种多轮对话装置的结构示意图。
45.图2为本技术实施例的一种多轮对话装置的具体实施结构示意图。
46.其中:数据处理模块1、表征模块2、特征抽取模块3、问答特征相似度模块4,目标函数模块5。
具体实施方式
47.请参阅图1,图1示出了一种多轮对话装置的结构示意图,
48.本技术的一种多轮对话装置,通过历史多轮对话的上文情景和当前的问题,以及对应的回复内容,分别放入一个共享的transformer编码器中,得到基于上文情景、问题和答案表征,再把上文情景和当前问题的表征进行融合,得到融合特征,再把融合特征和答案表征进行交互得到相似度矩阵,最后用相似度矩阵的表征来预测下一轮对话的轮数,以此来构建目标函数。
49.如上所述构建的多轮对话装置即使在样本量不大的条件下,多轮对话装置也能够学习到好的上下文特征,从而能够更加准确预测用户的问题并提供答案。
50.作为一种实施方式,本技术实施例的多轮对话装置包括数据处理模块、表征模块、特征抽取模块、问答特征相似度模块,目标函数模块,其中:
51.数据处理模块将历史聊天的多轮对话数据进行拆分和解析,分为上文(即历史对话内容)、问题和答案,构建出对话的上文、人的问题和机器人回复的答案数据,即上文对话文本数据、问题数据以及答案数据,作为模型的输入数据或者用于训练模型。
52.其中,人的问题是指用户向聊天机器人或者智能客户问答系统提出的问题,机器人回复的答案数据是指聊天机器人或者智能客户问答系统根据用户提出的问题,而回复的答案数据。
53.表征模块对输入数据即上文对话文本数据、问题数据以及答案数据进行映射或者转换处理,得到句向量集。
54.作为一种优选的实施方式,其实现方式为:
55.首先对所述上文对话文本数据、问题数据以及答案数据的每个句子的字进行分割,然后将每个字的位置或者地址用id表示,并对每个字的id信息用n维(比如512维)的随机向量表示,从而构建了上文对话文本数据、问题数据以及答案数据的句向量集,进而可以用这个句向量集输入到特征抽取模块中进行特征抽取或者提取。
56.本实施例中,对每个字的位置或者地址用id表示,使得在本技术的多轮对话装置中,用于在预训练时选择遮蔽进行预测训练。具体实施时,可以设计某个概率算法,每个id均有一定的概率或者随机选择被遮蔽替换,进而可以用被遮蔽掉词的前后词来猜测被遮蔽的词是什么,由于被遮蔽的词的是确定的,可以判断模型预测的词是否准确,因此可以用来对句子进行预测,从而能够快速进行训练模型。
57.此外,用当前对话的轮数和被遮蔽的词分别作为句子和词的标签。
58.特征抽取模块用以对句向量集进行进行分析,得到上文特征向量、问题特征向量
以及答案特征向量。
59.作为一种优选的实施方式,特征抽取模块由若干个双编码器模块堆叠而成,采用共享4层的双编码器,每层都采用self

attention机制,每个双编码器的结构为依次连接的自注意力层、归一化层、前馈神经网络层以及归一化层构成。
60.本实施例中,特征抽取模块采用自注意力机制的自注意力层作为其技术方案的一部分,自注意力机制可以充分考虑句子之间不同词语之间的语义以及语法联系,这样计算得到的词向量,能进一步地考虑了上下文之间的关系,比如在一句话中“thebirdcanflybecauseithaswing”,在这个句子中,可以能够让机器把it和bird联系起来,在多轮对话的系统中,能够更加理解上下文的语义。
61.在自注意力层以及前馈神经网络层之后均设置有归一化层,归一化的好处是使得特征分布在较小的可控的值域空间,减少搜索范围,不仅加快训练的速度,而且也提高了训练的稳定性,让本技术的多轮对话装置收敛更快,准确率更高。使得本技术能够实现轻量级的设计系统,即使在样本量不大的条件下,本技术的多轮对话装置也能够很好地理解上下文并进行预测。
62.此外,作为一种更优选的实施方式,所述归一化层为输出向量经过残差连接与输入向量相加残差连接之后再进行归一化处理。在本优选实施例中,残差连接取得的技术效果是防止网络层数过大时,信息丢失,进一步提升了本技术的准确率。
63.问答特征相似度模块用以对所述上文特征向量、问题特征向量以及答案特征向量进行处理,得到评分矩阵。
64.请参阅图2,作为一种优选的实施方式,本技术实施例中的问答特征相似度模块将上文特征向量和问题特征向量进行融合,即拼接求和,从而得到更加丰富的语义特征,既有上文对话的全局特征,也有当前问题的局部特征。
65.然后再将答案特征向量和拼接后得到的上文和问题特征进行矩阵相乘得到评分矩阵。评分矩阵的目的是让拼接后的上文和问题特征形成的组合特征和答案特征分布更加相近,提升多轮对话装置的表征能力,也作为动态轮数标签交叉熵损失函数的输入特征。
66.目标函数模块用以根据评分矩阵,设置合适多轮对话装置的目标函数。作为一种优选的实施方式,本技术的目标函数模块使用softmax作为激活函数、损失函数为交叉熵进行求导获得目标函数。
67.基于上述实施例的多轮对话多轮对话装置,本技术还公开一种多轮对话方法,其步骤包括:
68.将用户当前输入的声音转换为自然语言文本;
69.结合历史对话状态和当前的自然语言文本输入多轮对话装置;
70.多轮对话装置根据历史对话状态和当前的自然语言文本预测当前对话状态;
71.根据当前对话状态输出对应的系统行为;
72.将所述系统行为转换为自然语言文本或语音,形成一轮对话;
73.等待下一轮用户输入的声音进行下一轮对话;
74.其中,使用的多轮对话装置为上述实施例的多轮对话装置。
75.此外,基于上述实施例多轮对话方法的一种变化实施例,其方法包括:
76.接收当前用户输入的自然语言文本;
77.结合历史对话状态和当前的自然语言文本信息输入多轮对话装置;
78.多轮对话装置根据历史对话状态和当前的自然语言文本预测当前对话状态;
79.根据当前对话状态输出对应的系统行为;
80.将所述系统行为转换为自然语言文本或语音,形成一轮对话;
81.等待下一轮用户输入的自然语言文本进行下一轮对话;
82.其中,使用的多轮对话装置为上述实施例的多轮对话装置。
83.本技术还提供一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如上述实施例所述的方法。
84.本技术还提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如如上述实施例所述的方法。
85.需要说明的是,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过计算机程序来指令相关的硬件来完成,所述计算机程序可以存储于计算机可读存储介质中,所述存储介质可以包括但不限于:只读存储器(rom,readonlymemory)、随机存取存储器(ram,randomaccessmemory)、磁盘或光盘等。
86.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的条件下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
转载请注明原文地址:https://win.8miu.com/read-26017.html

最新回复(0)