一种多轮对话方法、装置及电子设备与流程

文档序号:31148473发布日期:2022-08-17 00:50阅读:62来源:国知局
一种多轮对话方法、装置及电子设备与流程

1.本发明涉及人工智能技术领域,尤其涉及一种多轮对话方法、装置及电子设备。


背景技术:

2.随着人工智能的发展,多轮对话技术在机器与用户交互的场景下发挥着越来越重要的作用。通过多轮对话技术,机器可以实现与用户进行对话,解答用户问题。在机器与用户对话的过程中,一轮对话往往无法明确用户诉求,需要机器与用户之间进行多轮对话,才能最终解答用户问题。
3.现有技术中,常常采用基于规则的方法进行状态追踪,从而能够基于当前对话状态生成回复语句。基于规则的方法以单一的自然语言理解结果作为输入,使用人工制定的规则匹配得到当前对话状态,由于输入较为单一,会导致状态追踪的准确性较低,从而会导致进行多轮对话的对话效果较差。


技术实现要素:

4.本发明实施例提供一种多轮对话方法、装置及电子设备,以解决现有技术中采用基于规则的方法进行状态追踪,状态追踪的准确性较低,从而会导致进行多轮对话的对话效果较差的问题。
5.为解决上述技术问题,本发明是这样实现的:
6.第一方面,本发明实施例提供了一种多轮对话方法,所述多轮对话方法包括:
7.接收用户在多轮对话过程中输入的第一对话内容;
8.根据所述第一对话内容、与所述第一对话内容对应的历史对话状态以及历史对话内容,预测第一当前对话状态;
9.基于所述第一当前对话状态确定所述第一对话内容对应的回复内容;
10.输出所述第一对话内容对应的回复内容。
11.可选的,所述根据所述第一对话内容、与所述第一对话内容对应的历史对话状态以及历史对话内容,预测第一当前对话状态,包括:
12.将所述第一对话内容、与所述第一对话内容对应的历史对话状态以及历史对话内容输入预先训练的用于状态追踪的第一神经网络模型,输出第一对话状态概率分布;
13.基于所述第一对话状态概率分布预测第一当前对话状态;
14.所述基于所述第一当前对话状态确定所述第一对话内容对应的回复内容,包括:
15.将所述第一当前对话状态输入预先训练的用于回复解码的第二神经网络模型,输出第一回复内容概率分布;
16.基于所述第一回复内容概率分布确定所述第一对话内容对应的回复内容。
17.可选的,所述第一神经网络模型包括用于编码的第一神经网络子模型和用于状态解码的第二神经网络子模型,所述将所述第一对话内容、与所述第一对话内容对应的历史对话状态以及历史对话内容输入预先训练的用于状态追踪的第一神经网络模型,输出第一
对话状态概率分布,包括:
18.将所述第一对话内容、与所述第一对话内容对应的历史对话状态以及历史对话内容输入所述第一神经网络子模型,输出编码内容;
19.将所述编码内容输入所述第二神经网络子模型,输出第一对话状态概率分布。
20.可选的,所述第一神经网络模型和所述第二神经网络模型在训练过程中的训练样本包括有标签数据和无标签数据。
21.可选的,所述第一神经网络模型和所述第二神经网络模型在所述有标签数据下的训练过程如下:
22.将第二对话内容、与所述第二对话内容对应的历史对话状态以及历史对话内容输入所述第一神经网络模型,输出第二对话状态概率分布,所述第二对话内容属于有标签数据;
23.基于所述第二对话状态概率分布预测第二当前对话状态;
24.将所述第二当前对话状态输入所述第二神经网络模型,输出第二回复内容概率分布;
25.基于所述第二回复内容概率分布确定所述第二对话内容对应的回复内容;
26.将所述第二对话内容对应的回复内容、第二对话内容、与所述第二对话内容对应的历史对话状态以及历史对话内容输入所述第一神经网络模型,输出第三对话状态概率分布;
27.基于所述第二回复内容概率分布、所述第二对话状态概率分布、所述第三对话状态概率分布和所述第二对话内容对应的对话状态标签及回复内容标签计算最大似然估计值;
28.基于所述最大似然估计值对所述第一神经网络模型和所述第二神经网络模型进行联合训练。
29.可选的,所述第一神经网络模型和所述第二神经网络模型在所述无标签数据下的训练过程如下:
30.将第三对话内容、与所述第三对话内容对应的历史对话状态以及历史对话内容输入所述第一神经网络模型,输出第四对话状态概率分布,所述第三对话内容属于无标签数据;
31.基于所述第四对话状态概率分布预测第三当前对话状态;
32.将所述第三当前对话状态输入所述第二神经网络模型,输出第三回复内容概率分布;
33.基于所述第三回复内容概率分布确定所述第三对话内容对应的回复内容;
34.将所述第三对话内容对应的回复内容、第三对话内容、与所述第三对话内容对应的历史对话状态以及历史对话内容输入所述第一神经网络模型,输出第五对话状态概率分布;
35.分别计算所述第四对话状态概率分布及所述第五对话状态概率分布的熵值;
36.基于计算的熵值对所述第一神经网络模型和所述第二神经网络模型进行联合训练。
37.可选的,所述基于计算的熵值对所述第一神经网络模型和所述第二神经网络模型
进行联合训练,包括:
38.计算所述第四对话状态概率分布及所述第五对话状态概率分布的kl散度;
39.基于计算的kl散度及计算的熵值对所述第一神经网络模型和所述第二神经网络模型进行联合训练。
40.第二方面,本发明实施例提供了一种多轮对话装置,所述装置包括:
41.接收模块,用于接收用户在多轮对话过程中输入的第一对话内容;
42.预测模块,用于根据所述第一对话内容、与所述第一对话内容对应的历史对话状态以及历史对话内容,预测第一当前对话状态;
43.确定模块,用于基于所述第一当前对话状态确定所述第一对话内容对应的回复内容;
44.输出模块,用于输出所述第一对话内容对应的回复内容。
45.可选的,所述预测模块包括:
46.第一输出单元,用于将所述第一对话内容、与所述第一对话内容对应的历史对话状态以及历史对话内容输入预先训练的用于状态追踪的第一神经网络模型,输出第一对话状态概率分布;
47.预测单元,用于基于所述第一对话状态概率分布预测第一当前对话状态;
48.所述确定模块具体用于:
49.将所述第一当前对话状态输入预先训练的用于回复解码的第二神经网络模型,输出第一回复内容概率分布;
50.基于所述第一回复内容概率分布确定所述第一对话内容对应的回复内容。
51.可选的,所述第一神经网络模型包括用于编码的第一神经网络子模型和用于状态解码的第二神经网络子模型,所述第一输出单元具体用于:
52.将所述第一对话内容、与所述第一对话内容对应的历史对话状态以及历史对话内容输入所述第一神经网络子模型,输出编码内容;
53.将所述编码内容输入所述第二神经网络子模型,输出第一对话状态概率分布。
54.可选的,所述第一神经网络模型和所述第二神经网络模型在训练过程中的训练样本包括有标签数据和无标签数据。
55.可选的,所述第一神经网络模型和所述第二神经网络模型在所述有标签数据下的训练过程如下:
56.将第二对话内容、与所述第二对话内容对应的历史对话状态以及历史对话内容输入所述第一神经网络模型,输出第二对话状态概率分布,所述第二对话内容属于有标签数据;
57.基于所述第二对话状态概率分布预测第二当前对话状态;
58.将所述第二当前对话状态输入所述第二神经网络模型,输出第二回复内容概率分布;
59.基于所述第二回复内容概率分布确定所述第二对话内容对应的回复内容;
60.将所述第二对话内容对应的回复内容、第二对话内容、与所述第二对话内容对应的历史对话状态以及历史对话内容输入所述第一神经网络模型,输出第三对话状态概率分布;
61.基于所述第二回复内容概率分布、所述第二对话状态概率分布、所述第三对话状态概率分布和所述第二对话内容对应的对话状态标签及回复内容标签计算最大似然估计值;
62.基于所述最大似然估计值对所述第一神经网络模型和所述第二神经网络模型进行联合训练。
63.可选的,所述第一神经网络模型和所述第二神经网络模型在所述无标签数据下的训练过程如下:
64.将第三对话内容、与所述第三对话内容对应的历史对话状态以及历史对话内容输入所述第一神经网络模型,输出第四对话状态概率分布,所述第三对话内容属于无标签数据;
65.基于所述第四对话状态概率分布预测第三当前对话状态;
66.将所述第三当前对话状态输入所述第二神经网络模型,输出第三回复内容概率分布;
67.基于所述第三回复内容概率分布确定所述第三对话内容对应的回复内容;
68.将所述第三对话内容对应的回复内容、第三对话内容、与所述第三对话内容对应的历史对话状态以及历史对话内容输入所述第一神经网络模型,输出第五对话状态概率分布;
69.分别计算所述第四对话状态概率分布及所述第五对话状态概率分布的熵值;
70.基于计算的熵值对所述第一神经网络模型和所述第二神经网络模型进行联合训练。
71.可选的,所述第一神经网络模型和所述第二神经网络模型在所述无标签数据下的训练过程还包括:
72.计算所述第四对话状态概率分布及所述第五对话状态概率分布的kl散度;
73.基于计算的kl散度及计算的熵值对所述第一神经网络模型和所述第二神经网络模型进行联合训练。
74.第三方面,本发明实施例提供一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现第一方面所述的多轮对话方法的步骤。
75.第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的多轮对话方法的步骤。
76.本发明实施例中,接收用户在多轮对话过程中输入的第一对话内容;根据所述第一对话内容、与所述第一对话内容对应的历史对话状态以及历史对话内容,预测第一当前对话状态;基于所述第一当前对话状态确定所述第一对话内容对应的回复内容;输出所述第一对话内容对应的回复内容。这样,利用对话的历史信息预测第一当前对话状态,能够提高状态追踪的准确性,从而能够提高进行多轮对话的对话效果。
附图说明
77.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例描述中所需
要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
78.图1是本发明实施例提供的一种多轮对话方法的流程图;
79.图2是本发明实施例提供的一种状态追踪模型的结构示意图;
80.图3是本发明实施例提供的一种多轮对话装置的结构示意图;
81.图4是本发明实施例提供的另一种多轮对话装置的结构示意图;
82.图5是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
83.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
84.本发明实施例中,提出了一种多轮对话方法、装置及电子设备,以解决现有技术中采用基于规则的方法进行状态追踪,状态追踪的准确性较低,从而会导致进行多轮对话的对话效果较差的问题。
85.参见图1,图1是本发明实施例提供的一种多轮对话方法的流程图,如图1所示,所述方法包括以下步骤:
86.步骤101、接收用户在多轮对话过程中输入的第一对话内容。
87.其中,所述多轮对话方法可以应用于对话系统,所述对话系统可以为基于部分可观测马尔可夫决策过程(partially observable markov decision process,pomdp)的对话系统。所述第一对话内容可以是用户输入对话系统的对话内容,用户可以以语音的形式向对话系统输入第一对话内容,或者,用户可以以文本的形式向对话系统输入第一对话内容,本实施例对此不进行限定。所述第一对话内容可以是多轮对话中的任一轮输入的对话内容。示例地,用户可以向对话系统输入第一对话内容:我要预订机票。
88.步骤102、根据所述第一对话内容、与所述第一对话内容对应的历史对话状态以及历史对话内容,预测第一当前对话状态。
89.其中,与所述第一对话内容对应的历史对话状态以及历史对话内容,可以是,在所述第一对话内容之前的多轮对话的对话状态及对话内容;或者可以是,在所述第一对话内容之前的其中一轮对话的对话状态及对话内容。示例地,第一对话内容可以为第t轮的对话,与所述第一对话内容对应的历史对话状态以及历史对话内容,可以为第t-1轮对话的对话状态及对话内容,即第一对话内容的上一轮对话的对话状态及对话内容。在本发明实施例中历史对话状态以及历史对话内容均以上一轮对话的对话状态及对话内容作为示例说明。
90.另外,所述根据所述第一对话内容、与所述第一对话内容对应的历史对话状态以及历史对话内容,预测第一当前对话状态,可以是,将所述第一对话内容、与所述第一对话内容对应的历史对话状态以及历史对话内容输入预先训练的用于状态追踪的第一神经网络模型,输出第一对话状态概率分布,基于所述第一对话状态概率分布预测第一当前对话
状态。
91.示例地,对话轮次为t时的对话状态s
t
可以为可以为其中,s表示槽,有n个取值,v表示槽s对应的槽值。
92.步骤103、基于所述第一当前对话状态确定所述第一对话内容对应的回复内容。
93.其中,所述基于所述第一当前对话状态确定所述第一对话内容对应的回复内容,可以是,将所述第一当前对话状态输入预先训练的用于回复解码的第二神经网络模型,输出第一回复内容概率分布,基于所述第一回复内容概率分布确定所述第一对话内容对应的回复内容。
94.步骤104、输出所述第一对话内容对应的回复内容。
95.其中,可以是以语音形式输出所述第一对话内容对应的回复内容,或者,还可以是以文本形式输出所述第一对话内容对应的回复内容,本实施例对此不进行限定。
96.本发明实施例中,接收用户在多轮对话过程中输入的第一对话内容;根据所述第一对话内容、与所述第一对话内容对应的历史对话状态以及历史对话内容,预测第一当前对话状态;基于所述第一当前对话状态确定所述第一对话内容对应的回复内容;输出所述第一对话内容对应的回复内容。这样,利用对话的历史信息预测第一当前对话状态,能够提高状态追踪的准确性,从而能够提高进行多轮对话的对话效果。
97.可选的,所述根据所述第一对话内容、与所述第一对话内容对应的历史对话状态以及历史对话内容,预测第一当前对话状态,包括:
98.将所述第一对话内容、与所述第一对话内容对应的历史对话状态以及历史对话内容输入预先训练的用于状态追踪的第一神经网络模型,输出第一对话状态概率分布;
99.基于所述第一对话状态概率分布预测第一当前对话状态;
100.所述基于所述第一当前对话状态确定所述第一对话内容对应的回复内容,包括:
101.将所述第一当前对话状态输入预先训练的用于回复解码的第二神经网络模型,输出第一回复内容概率分布;
102.基于所述第一回复内容概率分布确定所述第一对话内容对应的回复内容。
103.其中,所述第一神经网络模型可以采用循环神经网络(recurrent neural network,rnn)结构。所述第一神经网络模型可以包括用于编码的第一神经网络子模型和用于状态解码的第二神经网络子模型。所述第一对话状态概率分布可以为第一当前对话状态在词表中的概率分布。作为一个简单的示例,词表中有10个单词,每个单词可以作为一种对话状态,第一对话状态概率分布可以包括该10个单词中每个单词分别作为第一当前对话状态的概率值。所述基于所述第一对话状态概率分布预测第一当前对话状态,可以是将第一对话状态概率分布中概率值最大的对话状态确定为第一当前对话状态。
104.另外,第二神经网络模型可以作为回复解码(response decoder)层的模型,第二神经网络模型可以采用rnn结构,示例地,第二神经网络模型可以为长短期记忆(long short-term memory,lstm)网络结构,或者,第二神经网络模型可以为门循环单元(gate recurrent unit,gru)网络结构,本实施例对第二神经网络模型的网络结构不进行限定。所述第一当前对话状态可以表征为向量,第二神经网络模型可以基于输入的第一当前对话状态输出第一回复内容概率分布。所述第一回复内容概率分布可以为回复内容在词表中的概
率分布。作为一个简单的示例,词表中有15个单词,每个单词可以作为一种回复内容,第一回复内容概率分布可以包括该15个单词中每个单词分别作为所述第一对话内容对应的回复内容的概率值。
105.该实施方式中,通过第一神经网络模型预测第一当前对话状态,并且通过第二神经网络模型确定所述第一对话内容对应的回复内容,与基于规则的方法相比,不需要人工定义规则,节省了人工成本,并且提高了状态追踪的准确性。
106.可选的,所述第一神经网络模型包括用于编码的第一神经网络子模型和用于状态解码的第二神经网络子模型,所述将所述第一对话内容、与所述第一对话内容对应的历史对话状态以及历史对话内容输入预先训练的用于状态追踪的第一神经网络模型,输出第一对话状态概率分布,包括:
107.将所述第一对话内容、与所述第一对话内容对应的历史对话状态以及历史对话内容输入所述第一神经网络子模型,输出编码内容;
108.将所述编码内容输入所述第二神经网络子模型,输出第一对话状态概率分布。
109.其中,第一神经网络子模型可以作为编码(encoder)层的模型,第一神经网络子模型可以采用rnn结构,示例地,第一神经网络子模型可以为lstm网络结构,或者,第一神经网络子模型可以为gru网络结构,本实施例对第二神经网络模型的网络结构不进行限定。第一神经网络子模型可以用于对输入的数据进行编码,使得对话系统能够理解该输入的数据。第一神经网络子模型输出的编码内容可以用向量表征。
110.另外,第二神经网络子模型可以作为状态解码(belief span decoder)层的模型,第二神经网络子模型可以采用rnn结构,示例地,第二神经网络子模型可以为lstm网络结构,或者,第二神经网络子模型可以为gru网络结构,本实施例对第二神经网络模型的网络结构不进行限定。第二神经网络子模型可以基于输入的编码内容输出第一对话状态概率分布。
111.该实施方式中,将所述第一对话内容、与所述第一对话内容对应的历史对话状态以及历史对话内容输入所述第一神经网络子模型,输出编码内容;将所述编码内容输入所述第二神经网络子模型,输出第一对话状态概率分布,通过两个子模型预测第一对话状态概率分布,准确性较高。
112.可选的,所述第一神经网络模型和所述第二神经网络模型在训练过程中的训练样本包括有标签数据和无标签数据。
113.其中,通过有标签数据可以对所述第一神经网络模型和所述第二神经网络模型进行有监督训练,通过无标签数据可以对所述第一神经网络模型和所述第二神经网络模型进行无监督训练。
114.该实施方式中,所述第一神经网络模型和所述第二神经网络模型在训练过程中的训练样本包括有标签数据和无标签数据,通过半监督的方式进行训练,能够减少有标签数据的使用,充分利用了大量的无标签数据,能够进一步提高模型预测对话状态的准确率。
115.可选的,所述第一神经网络模型和所述第二神经网络模型在所述有标签数据下的训练过程如下:
116.将第二对话内容、与所述第二对话内容对应的历史对话状态以及历史对话内容输入所述第一神经网络模型,输出第二对话状态概率分布,所述第二对话内容属于有标签数
据;
117.基于所述第二对话状态概率分布预测第二当前对话状态;
118.将所述第二当前对话状态输入所述第二神经网络模型,输出第二回复内容概率分布;
119.基于所述第二回复内容概率分布确定所述第二对话内容对应的回复内容;
120.将所述第二对话内容对应的回复内容、第二对话内容、与所述第二对话内容对应的历史对话状态以及历史对话内容输入所述第一神经网络模型,输出第三对话状态概率分布;
121.基于所述第二回复内容概率分布、所述第二对话状态概率分布、所述第三对话状态概率分布和所述第二对话内容对应的对话状态标签及回复内容标签计算最大似然估计值;
122.基于所述最大似然估计值对所述第一神经网络模型和所述第二神经网络模型进行联合训练。
123.其中,所述基于所述第二对话状态概率分布预测第二当前对话状态,可以是将第二对话状态概率分布中概率值最大的对话状态确定为第二当前对话状态。所述基于所述第二回复内容概率分布确定所述第二对话内容对应的回复内容,可以是将第二回复内容概率分布中概率值最大的回复内容确定为第二对话内容对应的回复内容。所述对话状态标签可以为有标签数据中为对话状态设置的标签,所述回复内容标签可以为有标签数据中为回复内容设置的标签。
124.另外,可以通过最大似然函数计算最大似然估计值,以最大似然估计值作为损失值对所述第一神经网络模型和所述第二神经网络模型进行联合训练。示例地,通过最大似然函数计算最大似然估计值l1的方式可以如下:
[0125][0126]
其中,a可以表示对有标签数据的有监督训练过程。p(r
t
|r
t-1
,u
t
,s
t
)可以为在所述第二回复内容概率分布中所述第二对话内容对应的回复内容标签对应的概率值,p
θ
(s
t
|r
t-1
,u
t
,s
t-1
)可以为在所述第二对话状态概率分布中所述第二对话内容对应的对话状态标签对应的概率值,可以为在所述第三对话状态概率分布中所述第二对话内容对应的对话状态标签对应的概率值。r
t-1
为上一轮回复内容,u
t
为当前轮用户输入的对话,s
t-1
为上一轮对话状态,s
t
为当前对话状态,r
t
为当前轮回复内容。
[0127]
该实施方式中,对于有标签数据的有监督训练,基于计算的最大似然估计值对所述第一神经网络模型和所述第二神经网络模型进行联合训练,训练的模型的准确性较高,从而采用训练的模型预测对话状态的准确性较高。
[0128]
可选的,所述第一神经网络模型和所述第二神经网络模型在所述无标签数据下的训练过程如下:
[0129]
将第三对话内容、与所述第三对话内容对应的历史对话状态以及历史对话内容输入所述第一神经网络模型,输出第四对话状态概率分布,所述第三对话内容属于无标签数据;
[0130]
基于所述第四对话状态概率分布预测第三当前对话状态;
[0131]
将所述第三当前对话状态输入所述第二神经网络模型,输出第三回复内容概率分布;
[0132]
基于所述第三回复内容概率分布确定所述第三对话内容对应的回复内容;
[0133]
将所述第三对话内容对应的回复内容、第三对话内容、与所述第三对话内容对应的历史对话状态以及历史对话内容输入所述第一神经网络模型,输出第五对话状态概率分布;
[0134]
分别计算所述第四对话状态概率分布及所述第五对话状态概率分布的熵值;
[0135]
基于计算的熵值对所述第一神经网络模型和所述第二神经网络模型进行联合训练。
[0136]
其中,所述基于所述第四对话状态概率分布预测第三当前对话状态,可以是将第四对话状态概率分布中概率值最大的对话状态确定为第三当前对话状态。所述基于所述第三回复内容概率分布确定所述第三对话内容对应的回复内容,可以是将第三回复内容概率分布中概率值最大的回复内容确定为第三对话内容对应的回复内容。
[0137]
另外,可以基于计算的熵值对所述第一神经网络模型和所述第二神经网络模型进行联合训练。示例地,可以以计算的熵值作为损失值对所述第一神经网络模型和所述第二神经网络模型进行联合训练,计算所述第四对话状态概率分布及所述第五对话状态概率分布的熵值l2的方式可以如下:
[0138][0139]
其中,u可以表示对无标签数据的无监督训练过程,β为第一预设系数,pi为第四对话状态概率分布,i为正整数,n为对话状态概率分布中可能的对话状态的总个数。qi为第五对话状态概率分布。
[0140]
需要说明的是,在统计学中,对事件的发生情况可以通过概率定量进行描述,熵是一种统计学定量描述,是对信息的不确定程度的描述,计算公式为:
[0141][0142]
其中,p(xi)代表随机事件xi的概率,概率越大,不确定性越小,熵就越小。在采用无标签数据进行训练的过程中,预测效果较好的模型得到的类别重叠程度越小,因此,在模型的无监督学习时,可以尽可能的将无标签数据的类别分开,而不是每个类别对应的概率分布均匀。类别的重叠程度的衡量方式可以使用信息熵计算,在无监督训练中,将熵引入到目标函数中作为一个正则项,可以提高第一神经网络模型和所述第二神经网络模型的预测效果。
[0143]
该实施方式中,对于无标签数据的无监督训练,基于计算的熵值对所述第一神经网络模型和所述第二神经网络模型进行联合训练,通过将可以用于衡量类别的重叠程度的熵值引入模型训练过程,训练的模型的准确性较高,从而采用训练的模型预测对话状态的准确性较高。
[0144]
可选的,所述基于计算的熵值对所述第一神经网络模型和所述第二神经网络模型
进行联合训练,包括:
[0145]
计算所述第四对话状态概率分布及所述第五对话状态概率分布的kl散度;
[0146]
基于计算的kl散度及计算的熵值对所述第一神经网络模型和所述第二神经网络模型进行联合训练。
[0147]
其中,所述基于计算的kl散度及计算的熵值对所述第一神经网络模型和所述第二神经网络模型进行联合训练,可以是,以计算的kl散度及计算的熵值的和作为损失值对所述第一神经网络模型和所述第二神经网络模型进行联合训练。示例地,计算所述第四对话状态概率分布及所述第五对话状态概率分布的kl散度l3的方式可以如下:
[0148][0149]
其中,a为第二预设系数。
[0150]
另外,无标签数据可以为对话状态未设置标签,而回复内容设置标签的数据,在采用无标签数据进行训练的过程中,可以基于第三对话内容对应的回复内容标签计算log损失值l4,可以基于熵值l2、kl散度l3及log损失值l4对所述第一神经网络模型和所述第二神经网络模型进行联合训练。log损失值l4可以采用如下方式获得:
[0151][0152]
其中,p(r
t
|r
t-1
,u
t
,s
t
)可以为在所述第三回复内容概率分布中所述第三对话内容对应的回复内容标签对应的概率值。
[0153]
另外,所述基于熵值l2、kl散度l3及log损失值l4对所述第一神经网络模型和所述第二神经网络模型进行联合训练,可以是,以计算的熵值l2、kl散度l3及log损失值l4的和作为损失值对所述第一神经网络模型和所述第二神经网络模型进行联合训练。
[0154]
该实施方式中,对于无标签数据的无监督训练,将所述第四对话状态概率分布及所述第五对话状态概率分布的kl散度引入模型训练过程,利用两次的对话状态预测结果的差异判断模型训练效果,训练的模型的准确性较高,从而采用训练的模型预测对话状态的准确性较高。
[0155]
作为一种具体的实施方式,本发明实施例中的对话方法可以应用于对话系统,对话系统可以包括半监督状态追踪模型,将所述第一对话内容、与所述第一对话内容对应的历史对话状态以及历史对话内容输入半监督状态追踪模型,可以得到所述第一对话内容对应的回复内容。如图2所示,半监督状态追踪模型可以包括第一神经网络子模型、第二神经网络子模型及第二神经网络模型。第二神经网络模型还可以利用数据库知识进行训练。在对半监督状态追踪模型进行半监督训练时,半监督状态追踪模型可以基于输入的不同,分为前向网络和后向网络。在半监督训练过程中,前向网络的输入为上一轮回复内容r
t-1
和当前轮用户输入的对话u
t
,上一轮对话状态s
t-1
,前向网络的输出为当前对话状态s
t
的对话状态概率分布和当前回复r
t
的回复内容概率分布;后向网络的输入为上一轮回复内容r
t-1
和当前轮用户输入的对话u
t
,上一轮对话状态s
t-1
,以及前向网络输出的当前回复r
t
,后向网络的输出为当前对话状态s
t
的对话状态概率分布。
[0156]
用于训练半监督状态追踪模型的损失函数l可以表示如下:
[0157][0158]
其中,a可以表示对于有标签数据的有监督训练过程,u可以表示对无标签数据的无监督训练过程。a和u在损失函数l中的意义为,若为有监督训练,则采用携带a的计算项计算损失函数;若为无监督训练,则采用携带u的计算项计算损失函数。携带a∪u的计算项表征在有监督训练和无监督训练过程中均使用该计算项计算损失函数。
[0159]
该实施方式中,对于半监督的模型训练,在有监督训练中,使用最大似然函数计算最大似然估计值进行训练,模型的准确性较高;在无监督训练中,使用信息熵的最小值进行训练,熵越小,模型的混乱度就越小,信息准确性就越高。
[0160]
参见图3,图3是本发明实施例提供的一种多轮对话装置的结构示意图,如图3所示,多轮对话装置200包括:
[0161]
接收模块201,用于接收用户在多轮对话过程中输入的第一对话内容;
[0162]
预测模块202,用于根据所述第一对话内容、与所述第一对话内容对应的历史对话状态以及历史对话内容,预测第一当前对话状态;
[0163]
确定模块203,用于基于所述第一当前对话状态确定所述第一对话内容对应的回复内容;
[0164]
输出模块204,用于输出所述第一对话内容对应的回复内容。
[0165]
可选的,如图4所示,所述预测模块202包括:
[0166]
第一输出单元2021,用于将所述第一对话内容、与所述第一对话内容对应的历史对话状态以及历史对话内容输入预先训练的用于状态追踪的第一神经网络模型,输出第一对话状态概率分布;
[0167]
预测单元2022,用于基于所述第一对话状态概率分布预测第一当前对话状态;
[0168]
所述确定模块203具体用于:
[0169]
将所述第一当前对话状态输入预先训练的用于回复解码的第二神经网络模型,输出第一回复内容概率分布;
[0170]
基于所述第一回复内容概率分布确定所述第一对话内容对应的回复内容。
[0171]
可选的,所述第一神经网络模型包括用于编码的第一神经网络子模型和用于状态解码的第二神经网络子模型,所述第一输出单元2021具体用于:
[0172]
将所述第一对话内容、与所述第一对话内容对应的历史对话状态以及历史对话内容输入所述第一神经网络子模型,输出编码内容;
[0173]
将所述编码内容输入所述第二神经网络子模型,输出第一对话状态概率分布。
[0174]
可选的,所述第一神经网络模型和所述第二神经网络模型在训练过程中的训练样本包括有标签数据和无标签数据。
[0175]
可选的,所述第一神经网络模型和所述第二神经网络模型在所述有标签数据下的训练过程如下:
[0176]
将第二对话内容、与所述第二对话内容对应的历史对话状态以及历史对话内容输
入所述第一神经网络模型,输出第二对话状态概率分布,所述第二对话内容属于有标签数据;
[0177]
基于所述第二对话状态概率分布预测第二当前对话状态;
[0178]
将所述第二当前对话状态输入所述第二神经网络模型,输出第二回复内容概率分布;
[0179]
基于所述第二回复内容概率分布确定所述第二对话内容对应的回复内容;
[0180]
将所述第二对话内容对应的回复内容、第二对话内容、与所述第二对话内容对应的历史对话状态以及历史对话内容输入所述第一神经网络模型,输出第三对话状态概率分布;
[0181]
基于所述第二回复内容概率分布、所述第二对话状态概率分布、所述第三对话状态概率分布和所述第二对话内容对应的对话状态标签及回复内容标签计算最大似然估计值;
[0182]
基于所述最大似然估计值对所述第一神经网络模型和所述第二神经网络模型进行联合训练。
[0183]
可选的,所述第一神经网络模型和所述第二神经网络模型在所述无标签数据下的训练过程如下:
[0184]
将第三对话内容、与所述第三对话内容对应的历史对话状态以及历史对话内容输入所述第一神经网络模型,输出第四对话状态概率分布,所述第三对话内容属于无标签数据;
[0185]
基于所述第四对话状态概率分布预测第三当前对话状态;
[0186]
将所述第三当前对话状态输入所述第二神经网络模型,输出第三回复内容概率分布;
[0187]
基于所述第三回复内容概率分布确定所述第三对话内容对应的回复内容;
[0188]
将所述第三对话内容对应的回复内容、第三对话内容、与所述第三对话内容对应的历史对话状态以及历史对话内容输入所述第一神经网络模型,输出第五对话状态概率分布;
[0189]
分别计算所述第四对话状态概率分布及所述第五对话状态概率分布的熵值;
[0190]
基于计算的熵值对所述第一神经网络模型和所述第二神经网络模型进行联合训练。
[0191]
可选的,所述第一神经网络模型和所述第二神经网络模型在所述无标签数据下的训练过程还包括:
[0192]
计算所述第四对话状态概率分布及所述第五对话状态概率分布的kl散度;
[0193]
基于计算的kl散度及计算的熵值对所述第一神经网络模型和所述第二神经网络模型进行联合训练。
[0194]
多轮对话装置能够实现图1的方法实施例中实现的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0195]
如图5所示,本发明实施例还提供了一种电子设备300,包括:处理器301、存储器302及存储在所述存储器302上并可在所述处理器301上运行的程序,所述程序被所述处理器301执行时实现上述多轮对话方法实施例的各个过程,且能达到相同的技术效果,为避免
重复,这里不再赘述。
[0196]
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述多轮对话方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如rom、ram、磁碟或者光盘等。
[0197]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0198]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
[0199]
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1