一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

任务驱动型多轮对话系统中的状态追踪方法及装置与流程

2021-11-03 13:02:00 来源:中国专利 TAG:


1.本技术涉及任务驱动型多轮对话系统中的状态追踪处理技术领域,特别是涉及任务驱动型多轮对话系统中的状态追踪方法及装置。


背景技术:

2.任务驱动型对话系统越来越多的被应用到实际的场景中。在传统的任务驱动型对话流程中,如图1所示,用户输入的语音经过asr(automatic speech recognition,语音识别)系统转化成文字,文字经过nlu(natural language processing,自然语音理解)模块和dst(dialogue state track,对话状态追踪)模块转化成当前状态的三元组(领域,语义槽,值),再经过dp(dialogue policy,对话决策)模块生成系统要响应的动作,然后经过自然语言生成模块转成可读懂的文字,最后经过tts(text to speech,语音合成)系统转成语音传达给用户。
3.其中,nlu以及dst处理(即把输入的文字转化成当前对话状态的三元组)是其中很关键的一环。现有技术的方案中,对每一轮分别进行nlu以及dst处理时,具体的,在nlu模块中需要用jsgf(java speech grammar format,java语音语法格式)去提取当前轮的状态,然后,在dst模块判断当前轮是否需要继承前面一轮或者多轮的状态,如果需要继承,就需要把当前轮的状态与前面轮的状态拼在一起,得到当前轮的状态输出。而关于是否需要继承前面轮的状态的判断,则主要依赖于预先制定的规则,这种规则通常是由专家等有经验人士进行人工书写。例如,在当前轮的状态中语义槽是“音乐”,则如果上一轮的状态中语义槽是“艺术家”,则需要继承上一轮的状态,等等。但是,由于需要进行人工的规则书写,因此耗时耗力,且随着规则的增多,维护成本会呈指数级增长,很难有较好的泛化能力。
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.通过对所述目标文本信息进行特征提取,获得所述目标文本信息中多个位置上的建模单元分别对应的特征向量;
39.将所述多个位置上的建模单元分别对应的特征向量输入到深度学习模型中,获得当前时刻的对话状态信息;
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.对话状态信息确定单元,用于将所述多个位置上的建模单元分别对应的特征向量输入到深度学习模型中,获得当前时刻的对话状态信息,以用于提供给对话决策模块,生成当前轮次的响应信息;
73.响应信息返回单元,用于将所述响应信息返回给所述客户端。
74.一种音视频语音搜索装置,包括:
75.搜索请求接收单元,用于通过多轮语音对话的方式接收音视频搜索请求;
76.文本拼接单元,用于在确定出当前轮次对应的输入文本信息后,通过将当前轮次对应的输入文本信息与已接收到的历史轮次对应的输入文本信息进行拼接,获得目标文本信息;
77.特征提取单元,用于通过对所述目标文本信息进行特征提取,获得所述目标文本信息中多个位置上的建模单元分别对应的特征向量;
78.对话状态信息确定单元,用于将所述多个位置上的建模单元分别对应的特征向量输入到深度学习模型中,所述深度学习模型用于通过将所述多个位置上的建模单元对应的特征向量相结合,为所述建模单元生成上下文特征信息,并根据所述上下文特征信息进行领域、语义槽以及槽值的预测,并确定是否继承历史轮次中的对话状态信息,以获得当前时刻的对话状态信息;
79.对话策略生成单元,用于根据所述当前时刻的对话状态信息生成对话策略,以返回对应当前轮次语音输入的语音响应信息,以及对应的音视频搜索结果。
80.一种提供商品对象信息的装置,包括:
81.请求接收单元,用于通过多轮语音对话的方式接收获取商品对象信息的请求;
82.文本拼接单元,用于在确定出当前轮次对应的输入文本信息后,通过将当前轮次对应的输入文本信息与已接收到的历史轮次对应的输入文本信息进行拼接,获得目标文本信息;
83.特征提取单元,用于通过对所述目标文本信息进行特征提取,获得所述目标文本信息中多个位置上的建模单元分别对应的特征向量;
84.对话状态信息确定单元,用于将所述多个位置上的建模单元分别对应的特征向量输入到深度学习模型中,所述深度学习模型用于通过将所述多个位置上的建模单元对应的特征向量相结合,为所述建模单元生成上下文特征信息,并根据所述上下文特征信息进行领域、语义槽以及槽值的预测,并确定是否继承历史轮次中的对话状态信息,以获得当前时刻的对话状态信息;
85.对话策略生成单元,用于根据所述当前时刻的对话状态信息生成对话策略,以返回对应当前轮次语音输入的语音导购信息,以及对应的商品对象信息。
86.一种任务驱动型多轮对话系统中的信息处理装置,应用于智能通话系统,包括:
87.语音信息接收单元,用于接收当前轮次的语音信息;
88.文本处理单元,用于将所述语音信息转换为文本信息,并通过将当前轮次对应的文本信息与已接收到的历史轮次对应的文本信息进行拼接,获得目标文本信息;
89.特征提取单元,用于通过对所述目标文本信息进行特征提取,获得所述目标文本信息中多个位置上的建模单元分别对应的特征向量;
90.对话状态信息确定单元,用于将所述多个位置上的建模单元分别对应的特征向量输入到深度学习模型中,获得当前时刻的对话状态信息;
91.响应信息生成单元,用于将所述当前时刻的对话状态信息提供给对话决策模块,生成当前轮次的响应信息;
92.响应信息转换单元,用于将所述响应信息转换为自然语言,并进行语音播报。
93.一种任务驱动型多轮对话系统中的信息处理装置,应用于第一设备,包括:
94.输入信息接收单元,用于接收第二设备输入的当前轮次的输入信息;
95.文本处理单元,用于确定所述当前轮次的输入信息对应的文本信息,并通过将当前轮次对应的文本信息与已接收到的历史轮次对应的文本信息进行拼接,获得目标文本信息;
96.特征提取单元,用于通过对所述目标文本信息进行特征提取,获得所述目标文本信息中多个位置上的建模单元分别对应的特征向量;
97.对话状态信息确定单元,用于将所述多个位置上的建模单元分别对应的特征向量输入到深度学习模型中,获得当前时刻的对话状态信息;
98.响应信息生成单元,用于将所述当前时刻的对话状态信息,提供给对话决策模块,生成当前轮次的响应信息,并将所述响应信息提供给所述第二设备。
99.一种任务驱动型多轮对话系统中的信息处理装置,应用于自助售票机设备,包括:
100.语音接收单元,用于接收当前轮次的语音信息;
101.语音识别单元,用于将所述语音信息转换为文本信息,并通过将当前轮次对应的文本信息与已接收到的历史轮次对应的文本信息进行拼接,获得目标文本信息;
102.特征提取单元,用于通过对所述目标文本信息进行特征提取,获得所述目标文本信息中多个位置上的建模单元分别对应的特征向量;
103.对话状态信息确定单元,用于将所述多个位置上的建模单元分别对应的特征向量输入到深度学习模型中,获得当前时刻的对话状态信息;
104.响应信息生成单元,用于将所述当前时刻的对话状态信息,提供给对话决策模块,生成当前轮次的响应信息;
105.响应信息输出单元,用于将所述响应信息转换为自然语言,并进行语音播报。
106.一种终端设备升级装置,包括:
107.建议信息提供单元,用于向终端设备提供升级建议信息;
108.权限授予单元,用于接收到终端设备提交的升级请求后,为所述终端设备赋予通过深度学习模型进行多轮对话过程中状态追踪的权限;其中,所述深度学习模型用于通过将目标文本信息中多个位置上的建模单元对应的特征向量相结合,为所述建模单元生成上下文特征信息,并根据所述上下文特征信息进行领域、语义槽以及槽值的预测,以及确定是
否继承历史轮次中的对话状态信息,以获得当前时刻的对话状态信息;所述目标文本信息是通过将当前轮次对应的输入文本信息与已接收到的历史轮次对应的输入文本信息进行拼接获得的。
109.根据本技术提供的具体实施例,本技术公开了以下技术效果:
110.通过本技术实施例,可以通过一个深度学习模型来实现对当前对话状态的领域预测以及语义槽、槽值的预测,以及对是否需要对历史伦次中的状态进行继承,并在此基础上生成用于表达当前对话状态的三元组。在此过程中,完全数据进行驱动,不需要人为书写判断规则,因此,效率以及泛化能力都可以得到提高。另外,由于可以直接从输入文本信息得到状态追踪结果,而不需要经过nlu、dst等多个模块,因此,可以实现“端到端”的对话状态追踪,避免造成误差的累积。
111.当然,实施本技术的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
112.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
113.图1是现有技术中的处理流程示意图;
114.图2是本技术实施例提供的处理流程示意图;
115.图3-1至3-3是本技术实施例提供的系统架构示意图;
116.图4是本技术实施例提供的第一方法的流程图;
117.图5是本技术实施例提供的处理流程示意图;
118.图6是本技术实施例提供的第二方法的流程图;
119.图7是本技术实施例提供的第三方法的流程图;
120.图8是本技术实施例提供的第四方法的流程图;
121.图9是本技术实施例提供的第五方法的流程图
122.图10是本技术实施例提供的第六方法的流程图;
123.图11是本技术实施例提供的第七方法的流程图;
124.图12是本技术实施例提供的第八方法的流程图;
125.图13是本技术实施例提供的第九方法的流程图;
126.图14是本技术实施例提供的第十方法的流程图;
127.图15是本技术实施例提供的第一装置的示意图;
128.图16是本技术实施例提供的第二装置的示意图;
129.图17是本技术实施例提供的第三装置的示意图;
130.图18是本技术实施例提供的第四装置的示意图;
131.图19是本技术实施例提供的第五装置的示意图
132.图20是本技术实施例提供的第六装置的示意图;
133.图21是本技术实施例提供的第七装置的示意图;
134.图22是本技术实施例提供的第八装置的示意图;
135.图23是本技术实施例提供的第九装置的示意图;
136.图24是本技术实施例提供的第十装置的示意图;
137.图25是本技术实施例提供的电子设备的示意图。
具体实施方式
138.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本技术保护的范围。
139.为了便于理解本技术实施例提供的方案,下面首先对传统的任务驱动型对话流程进行详细介绍。如图1所示,传统的任务驱动型对话系统由五个模块组成:语音识别,自然语言理解,对话管理,自然语言生成,语音合成。现在越来越多的产品还融入了知识库,主要是在对话管理模块引入。其中,各模块的主要功能如下:
140.语音识别(asr):负责将语音信号转换为文本信息。
141.自然语言理解(nlu):主要作用是对用户输入的句子或者语音识别的结果进行处理,提取用户的对话意图以及用户所传递的信息。
142.对话管理(dm):对话管理分为两个子模块,对话状态追踪(dst)和对话策略学习(dp),其主要作用是根据nlu的结果来更新系统的状态,并生成相应的系统动作。
143.自然语言生成(nlg):将dm输出的系统动作文本化,用文本的形式将系统的动作表达出来。
144.其中,关于nlu,主要实现意图识别以及槽值填充的功能。例如,用户输入“播放周杰伦的稻香”,nlu模块首先通过领域识别,识别出“music”领域,再通过用户意图检测功能识别出用户意图为“play_music”,最后通过槽填充对将每个词填充到对应的槽中:“播放[o]/周杰伦[b-singer]/的[o]/稻香[b-song]”。
[0145]
但是,由于在asr和nlu这两个环节可能会存在误差,因此输入到dst中的内容通常是n-best列表(对于asr,不是输入一条句子,而是n条句子,每条句子都带一个置信度。对于nlu,不是输入一条意图(槽值对),而是n个意图(槽值对),每个意图(槽值对)都带一个置信度)。所以dst往往也是输出各个对话状态的概率分布,这样的表示也方便在多轮对话中对状态进行修改。
[0146]
其中,关于对话状态以及dst的定义可以如下:
[0147]
对话状态:在t时刻,结合对话历史和当前的用户输入来给出当前每个语义槽的取值的概率分布情况,作为dp模块的输入,此时的对话状态表示为st。
[0148]
dst(对话状态追踪):就是根据所有对话历史信息推断出当前对话状态st和用户目标。
[0149]
其中,传统方案中dst的常用方法就是基于规则的方法,但是,如背景技术部分所述,基于规则的方法需要大量的人工和专家知识,因此在较复杂的场景适用性不强。此外还可以包括生成式模型,判别式模型,等等。
[0150]
总之,传统的方案中,在对用户的语音输入完成文本识别之后,都是需要先通过nlu模块进行意图识别和槽值填充,然后再通过dst模块转化成当前状态的三元组,以此作
为dp模块的输入。
[0151]
而在本技术实施例中,可以用一个深度学习模型来完成nlu模块和dst模块的任务,从而实现一种“端到端”的多轮对话状态追踪。其中,这里的“端到端”是机器学习领域的概念,具体指使用者直接输入原始信息,可以直接得到可用的结果,而不用去关心中间的产物。具体到本技术实施例中,就是将传统方案中需要由nlu和dst这两个模块来完成的任务,由一个深度学习模型来完成。这样做的好处在于,只需要训练一个深度学习模型,即可直接根据用户的输入信息(文本信息或者语音识别结果)完成当前对话状态的追踪,输出代表当前对话状态的三元组。前期只需要对一个深度学习模型进行训练即可,而不再需要单独对nlu模块和dst模块中使用的模型分别进行训练,以此避免造成误差的累积。另外,由于整个状态追踪的过程(包括对是否需要对历史轮中的状态进行集成进行判断等)完全由数据驱动,不再需要人工书写规则,因此,也能够实现更高效的动态追踪,同时提升方案的泛化能力。
[0152]
具体的,在本技术实施例提供的“端到端”的多轮对话状态追踪方法中,可以在每个对话轮次分别进行当前对话状态的追踪。在接收到当前对话轮次的输入信息后(如果是语音输入后,首先可以转化成文本),参见图2所示,在本技术实施例中,可以将当前轮次对应的文本信息与已接收到的历史轮次(可能是一个或多个)对应的文本信息进行拼接,得到一个拼接后的文本。接下来,可以对拼接得到的文本信息进行特征提取,具体可以包括每个建模单元(例如,对于中文,一个中文字符可以对应一个建模单元)的位置特征,分段特征(建模单元属于当前轮次还是历史轮次),词义标签特征等。然后,根据提取到的特征分别为拼接后的文本中的多个建模单元位置分别生成特征向量(例如,可以将同一建模单元的位置特征、分段特征、语义标签特征进行相加等等),再将多个建模单元的特征向量输入到一个深度学习模型中。在该深度学习模型中,可以对多个建模单元的特征向量进行编码,以此实现对不同位置上的建模单元的特征信息相融合,使得每个建模单元可以获得其上下文的特征信息,之后,可以通过将上述特征信息输入到具体的分类器中,获得当前时刻的对话状态信息,包括领域预测结果,语义槽以及槽值的预测结果。
[0153]
需要说明的是,上述深度学习模型中可以包括编码子模块、分类器子模块,其中,分类器子模块还可以分为用于进行领域预测的分类器,以及用于进行语义槽以及槽值预测的分类器(具体可以是能够解决序列标注问题的分类器),等等。虽然编码器、分类器可能涉及到不同的模型,但是,可以在同一个深度学习模型中进行联合训练,因此,并不会造成误差累积的问题。
[0154]
具体实现时,本技术实施例提供的具体技术方案可以在多种应用场景中使用。例如,如图3-1所示,在某音乐服务类的应用系统中,可以提供“语音助手”功能,使得用户可以通过输入语音指令的方式来进行音乐的播放,在此过程中就可能会涉及到用户与语音助手之间的多轮对话,此时就可以使用本技术实施例提供的方法来进行多轮对话的状态追踪,进而实现与用户的对话。或者,如图3-2所示,也可以在智能音箱等产品中实现上述功能,使得在用户与智能音箱设备进行对话的过程中,通过本技术实施例的方法进行多轮对话的状态追踪。其中,上述智能音箱可以包括家用的智能音箱,还可以包括车载智能音箱,等等。另外,用户除了可以通过输入语音信号的方式与系统进行对话之外,也可以通过输入文本信息的方式实现与系统的对话。对于后者,具体的场景也可以有多种,例如,如图3-3所示,某
商品对象信息服务系统中提供了客户服务系统,为了提高对用户提问的响应速度,客户服务系统中提供了“问答机器人”功能,用户可以通过在对话框中输入文本信息,实现与“问答机器人”的对话。在此对话过程中,也可以在“问答机器人”模块中实现本技术实施例提供的对话状态追踪功能,以识别出具体的问题领域以及用户意图,进而对用户所提出的问题作出准确的应答,等等。当然,其他的客户服务系统中也可以提供类似的“问答机器人”功能,例如,电话银行系统中的客户服务系统提供的智能通话服务,等等。另外,具体的输入信息除了可以是用户输入之外,还可以是机器输入,也即,在机器与机器进行对话的系统中,也可以使用本技术实施例中提供的方案进行对话状态追踪。例如,不同的iot(internet of things,物联网)设备之间可能会通过多轮对话的方式来交互一些信息,在此过程中,作为响应一方的机器便可以通过本技术实施例提供的方案进行对话状态追踪。此外,本实施例提供的方案还可以在自助售票机等设备中使用,例如,地铁站或者火车站等处配备自助售票机。具体的,由于用户在到达某处时,经常会具有获知当地的天气、交通等信息的需求,而地铁站或者火车站通常是用户到达该地方的起点,因此,通过在自助售票机中提供相关的天气、交通等信息的查询功能,可以极大方便用户的出行。具体的,在通过自助售票机提供上述信息时,为了方便用户使用,就可以通过与用户进行多轮对话的方式来获知用户的意图,进而为用户提供其所需的信息。在此过程中,就可以通过本技术实施例中提供的方式来实现对用户对话状态的跟踪。
[0155]
需要说明的是,具体场景中的系统可以包括客户端以及服务端两部分,其中,客户端主要可以用于进行与用户的交互,包括对于输入信息的接收,以及对响应信息的输出等,而具体的机器学习模型等可以部署在服务端,也即,对话状态追踪等处理可以由服务端来完成,并由服务端生成具体的响应信息,返回给客户端进行输出。当然,在实际应用中,也可以在客户端完成包括对话状态追踪在内的各项处理,并生成具体的响应信息后输出,具体可以根据终端设备的性能等来确定。
[0156]
下面对本技术实施例提供的具体实现方案进行详细介绍。
[0157]
实施例一
[0158]
首先,该实施例一提供了一种任务驱动型多轮对话系统中的状态追踪方法,参见图4,该方法具体可以包括:
[0159]
s401:在确定出当前轮次对应的文本信息后,通过将当前轮次对应的输入文本信息与已接收到的历史轮次对应的输入文本信息进行拼接,获得目标文本信息;
[0160]
其中,一个对话轮次是指,用户完成一次输入,并且系统可以针对当前以及之前已经收到的输入做出一次响应。例如,用户首先输入(其中,用户可以直接输入文本信息,或者用户也可以是以语音的形式进行信息输入,此时,可以首先进行语音识别,将语音信号转换为文本信息)“音乐”,相应的,系统在获得识别结果后,可以随机播放一段音乐;之后,用户输入“周杰伦”,此时,系统结合之前关于“音乐”的识别结果,可以播放一段演唱者为周杰伦的音乐;再之后用户输入“发如雪”,此时,结合之前关于“音乐”以及“周杰伦”的识别结果,可以播放周杰伦的《发如雪》这首歌曲,等等。以上过程即包括三个对话轮次。
[0161]
可见,用户在每个对话轮次可能会输入一部分信息,多个对话轮次何在一起可能会表达用户的完整意图。在本技术实施例中,不再是单独针对当前轮次的输入进行领域预测以及槽值填充,而是首先可以将当前轮次与历史轮次对应的文本信息进行拼接,在拼接
后的文本信息的基础上进行后续的特征提取以及预测过程。
[0162]
具体实现时,由于后续的特征提取过程中,可能会涉及到对各个建模单元的分段特征进行提取,也即判断每个建模单元是属于当前轮次还是历史轮次,。因此,在进行拼接时,可以按照时间的先后顺序将多个轮次对应的文本信息进行拼接,并在不同轮次对应文本信息之间以及第一轮次对应的文本信息的句首、当前轮次对应的文本信息的句尾分别插入标识符,以用于提取所述建模单元的分段特征。
[0163]
例如,假设当前轮次是第三轮,其中,第一轮用户输入“音乐”,第二轮是“周杰伦”,第三轮是“发如雪”。则在具体进行文本信息的拼接时,可以按时间顺序拼接的方式,把三轮的输入拼接成“[cls]音乐[sep]周杰伦[sep]发如雪[sep]”。其中,[cls]以及[sep]属于插入的标识符,具体在进行特征提取时,一个标识符也可以看作是一个建模单元。另外,由于每个中文字符也可以对应一个建模单元,因此,在上述拼接后的文本信息中,一共包括12个建模单元。需要说明的是,对于英文等其他语言而言,可以是一个单词作为一个建模单元,或者,如果是比较长的单词,还可能是将一个单词划分为多个建模单元,等等。
[0164]
s402:通过对所述目标文本信息进行特征提取,获得所述目标文本信息中多个位置上的建模单元分别对应的特征向量;
[0165]
在完成文本信息的拼接后,可以对获得的目标文本信息进行特征提取。其中,具体在进行特征提取时,可以是针对目标文本信息中包括的多个位置上的建模单元分别进行特征提取。例如,前述s401中的例子中,拼接后的目标文本“[cls]音乐[sep]周杰伦[sep]发如雪[sep]”中包括12个建模单元,则可以分别针对上述12个建模单元进行特征提取。其中,具体实现时,为了获得更丰富的信息,具体每个建模单元提取的特征可以包括多种类型的特征,这样,可以将同一建模单元对应的不同类型的特征进行相加,得到对应建模单元的特征向量。
[0166]
具体实现时,所述多种类型的特征可以包括:位置特征、分段特征以及词义标签特征。其中,所述位置特征为所述建模单元在所述目标文本中所在的位置序列信息。所述分段特征为所述建模单元是否属于当前轮次或历史轮次。所述词义标签特征为所述建模单元是否属于实体词。当然,在实际应用中,还可以提取其他类型的特征,例如,还可以包括文本特征,等等。
[0167]
需要说明的是,为了能够将同一建模单元在不同类型的特征信息相融合,在具体进行特征相加处理之前,还可以首先将不同类型的特征统一进行转化,例如,同一建模单元对应的上述三种类型的特征都可以首先转换成一个128维的向量,之后再将三个128维的向量进行相加,从而得到该建模单元对应的特征向量,该特征向量也是一个128维的向量,只是每个维度上都融合了多种不同类型的特征信息。
[0168]
s403:将所述多个位置上的建模单元分别对应的特征向量输入到深度学习模型中,所述深度学习模型用于通过将所述多个位置上的建模单元对应的特征向量相结合,为所述建模单元生成上下文信息,并根据所述上下文特征信息进行领域、语义槽以及槽值的预测,并确定是否继承历史轮次中的对话状态信息,以获得当前时刻的对话状态信息。
[0169]
在获得多个位置上的建模单元分别对应的特征向量之后,可以同时输入到预先训练好的深度学习模型中。在该深度学习模型中,就可以通过将所述多个位置上的建模单元对应的特征向量相结合,为多个建模单元生成上下文信息,之后,便可以根据多个建模单元
对应的上下文信息获得当前时刻的对话状态信息,也即<领域,语义槽,槽值>三元组。
[0170]
具体实现时,为了实现对具体的与此,所述深度学习模型中可以包括编码器、第一分类器以及第二分类器,其中,编码器具体可以用于对多个位置上的建模单元对应的特征向量进行编码,以获得所述上下文信息。之后,可以将句首插入的标识符(例如,前述例子中的[cls])对应的隐藏层状态信息输入到第一分类器中,以用于预测当前时刻对话状态的领域信息,将其他建模单元对应的隐藏层状态信息输入到第二分类器中,以用于预测当前时刻对话状态的语义槽以及槽值,以及对是否继承历史轮次对应的对话状态信息进行判断。当然,具体实现时,还可以通过其他方式进行领域或者槽值的预测,例如,可以是将多个位置上的建模单元对应的隐藏层状态信息均值输入到第一分类器中进行领域预测,等等。
[0171]
其中,具体实现时,编码器可以使用transformer等模型来实现。另外,由于可以将领域识别看作是文本分类问题,而把语义槽填充看作是序列标注(sequence tagging)问题,也就是把连续序列中每个词赋予相应的语义类别标签,因此,第一分类器可以是能够解决文本分类问题的分类器,而第二分类器可以是能够解决序列标注问题的分类器。其中,关于第二分类器具体可以有多种,例如,包括hmm/cfg,hvs(hidden vector state)等生成式模型,以及crf,svm等判别式模型,等等。
[0172]
例如,同样假设当前时刻是用户输入的第三轮,其中,第一轮用户输入“音乐”,第二轮是“周杰伦”,第三轮是“发如雪”。则当前轮次的输入文本信息是“发如雪”,历史轮次的输入文本信息分别为“音乐”以及“周杰伦”。在本技术实施例中,具体的处理方式可以如图5所示,首先对三个轮次的输入文本信息按照时间先后顺序进行拼接,并加入标识符,得到的拼接结果为“[cls]音乐[sep]周杰伦[sep]发如雪[sep]”。之后,分别提取各个位置上的建模单元的特征信息,具体包括位置特征(position),分段特征(segment)以及语义标签特征(semantic tag),其中,具体的特征提取结果可以如表1所示:
[0173]
表1
[0174]
建模单元位置特征分段特征语义标签特征[cls]0apad音1atag乐2atag[sep]3apad周4atag杰5atag伦6atag[sep]7apad发8btag如9btag雪10btag[sep]11bpad
[0175]
其中,位置特征可以由数字表示,具体的数字表示建模单元在拼接后的文本信息中的位置序列,例如,[cls]对应的位置特征为0,也就代表其位于拼接后的文本信息的首位,“音”对应的位置特征是1,也就代表其位于拼接后的文本信息的第二位,以此类推。分段
特征可以由字母a或者b表示,其中,a表示对应的建模单元属于历史轮次,b表示对应的建模单元属于当前轮次。例如,在上述例子中,“[cls]音乐[sep]周杰伦[sep]”这些建模单元都属于历史轮次,因此,对应的分段特征均为a;“发如雪[sep]”这些建模单元属于当前轮次,因此,对应的分段特征均为b。语义标签特征可以由pad或者tag来表示,其中,pad表示对应的建模单元为非实体词,tag表示对应的建模单元为实体词。所谓实体词也就是具有实际含义的词。例如,上述例子中,“音乐周杰伦发如雪”这些建模单元都属于实体词,因此对应的语义标签特征均为tag;而[cls]、[sep]不属于实体词,因此对应的语义标签特征为pad。
[0176]
在提取出上述特征后,可以分别针对各个建模单元在不同类型上的特征进行转化并相加,得到建模单元对应的特征向量,之后,便可以输入到深度学习模型中,该深度学习模型便可以输出领域识别以及语义槽值填充结果。例如,在前述例子中,可以根据“[cls]”对应的隐藏层状态预测出当前对话状态所述的领域是“play music”;“音”对应的语义槽是“b-music_type”,也即“音”属于“music_type”这个语义槽,“b”代表“音”字位于该语义槽的首位;“乐”对应的语义槽是“i-music_type”,也即“乐”也属于“music_type”这个语义槽,“i”代表“乐”不是该语义槽的首位;[sep]对应的识别结果是“pad”,也即,不属于任何语义槽。类似的,“周”对应的语义槽是“b-artist”,也即“周”属于“artist”这个语义槽,且位于该语义槽的首位,“杰”对应的语义槽是“i-artist”,也即“周”也属于“artist”这个语义槽,且不位于该语义槽的首位,以此类推。
[0177]
在完成对上述领域以及语义槽、槽值的预测后,便可以将其转换为当前对话状态对应的三元组,例如,具体可以表示为:(play_music,[(music_type,音乐),(artist,周杰伦),(music,发如雪)]”。该三元组则可以作为后续的dp模块的输入进行对话决策,以生成对应用户输入信息的响应信息。
[0178]
需要说明的是,具体在对本技术实施例中的深度学习模型进行训练时,可以对编码器、第一分类器以及第二分类器进行联合训练。具体的,可以首先选择具体的模型,并获得训练样本集以及标注信息。其中,训练样本集中具体可以包括多条拼接后的文本信息,每条文本信息可以是将多轮对话中的文本信息进行拼接并插入标识符之后的拼接结果。另外,还可以对文本信息进行标注,具体的标注信息就可以是各个位置上的建模单元对应的领域或语义槽信息。通过将上述训练样本集输入到深度学习模型中,获得输出结果后,通过输出结果与标注结果之间的差异,对深度学习模型中多个层的权重进行微调。多轮迭代之后便可以完成对深度学习模型的训练。
[0179]
另外,深度学习模型的训练过程也可以完全由数据驱动。例如,具体可以包括自监督的预训练(albert,bert)以及有监督的微调(finetune)。预训练数据可以由大量的无监督通用文本和/或领域内文本组成,预训练的结果可以用于确定深度学习模型中多个层的权重初始值,以此提高训练的效率。微调的数据可以由m2m(machine to machine,机器到机器)、h2h(human to human,人到人)、h2m(human to machine,人到机器)等方式进行收集。
[0180]
可见,在本技术实施例提供的方案中,可以通过一个深度学习模型来实现对当前对话状态的领域预测以及语义槽、槽值的预测,以及对是否需要对历史伦次中的状态进行继承,并在此基础上生成用于表达当前对话状态的三元组。在此过程中,完全数据进行驱动,不需要人为书写判断规则,因此,效率以及泛化能力都可以得到提高。另外,由于可以直接从输入文本信息得到状态追踪结果,而不需要经过nlu、dst等多个模块,因此,可以实现

端到端”的对话状态追踪,避免造成误差的累积。
[0181]
实施例二
[0182]
该实施例二针对深度学习模型的训练过程,提供了一种建立深度学习模型的方法,参见图6,该方法具体可以包括:
[0183]
s601:获得训练样本集,所述训练样本集中包括多条文本信息以及对应的标注信息,其中,所述文本信息是通过将多轮对话中的文本信息进行拼接并插入标识符获得的,所述标注信息包括所述文本信息多个位置上的建模单元对应的领域或语义槽信息;
[0184]
s602:通过将所述多条文本信息输入到深度学习模型中进行多次迭代,直到算法收敛后完成对所述深度学习模型的训练;其中,在每次迭代过程中,根据深度学习模型的输出结果与所述标注信息之间的差异,对所述深度学习模型多个层的权重进行调整。
[0185]
具体实现时,在对所述深度学习模型进行训练之前,还可以通过自监督的预训练,确定所述深度学习模型中多个层的权重初始值,以此实现完全由数据驱动的模型训练过程。
[0186]
实施例三
[0187]
该实施例三是针对本技术实施例提供的方案在具体应用场景中的应用进行介绍。具体的,参见图7,该实施例三提供了一种任务驱动型多轮对话系统中的信息处理方法,该方法具体可以包括:
[0188]
s701:客户端接收当前轮次的输入信息,并将所述输入信息提交到服务端,以便所述服务端确定当前轮次的输入信息对应的文本信息,并通过将当前轮次对应的文本信息与已接收到的历史轮次对应的文本信息进行拼接,获得目标文本信息,通过对所述目标文本信息进行特征提取,获得所述目标文本信息中多个位置上的建模单元分别对应的特征向量;将所述多个位置上的建模单元分别对应的特征向量输入到深度学习模型中,获得当前时刻的对话状态信息,以用于提供给对话决策模块,生成当前轮次的响应信息;
[0189]
s702:接收所述服务端返回的针对当前轮次的响应信息并输出。
[0190]
其中,所述当前轮次的输入信息包括语音信息,所述服务端在确定所述当前轮次对应的文本信息时,通过语音识别的方式将所述语音信息转换为文本信息;在生成所述响应信息后,将响应信息转换成自然语言以便通过客户端进行语音播放。
[0191]
具体的,所述客户端包括终端设备中运行的音乐服务类应用程序的客户端。
[0192]
或者,所述客户端包括智能音箱设备关联的客户端。
[0193]
另外,所述当前轮次的输入信息也可以包括文本信息。此时,所述客户端可以包括商品对象信息服务类应用程序中的客户服务模块。
[0194]
实施例四
[0195]
该实施例四是与实施例三相对应的,从服务端的角度,提供了一种任务驱动型多轮对话系统中的信息处理方法,参见图8,该方法具体可以包括:
[0196]
s801:服务端接收客户端提交的当前轮次的输入信息;
[0197]
s802:确定当前轮次的输入信息对应的文本信息,并通过将当前轮次对应的文本信息与已接收到的历史轮次对应的文本信息进行拼接,获得目标文本信息;
[0198]
s803:通过对所述目标文本信息进行特征提取,获得所述目标文本信息中多个位置上的建模单元分别对应的特征向量;
[0199]
s804:将所述多个位置上的建模单元分别对应的特征向量输入到深度学习模型中,获得当前时刻的对话状态信息,以用于提供给对话决策模块,生成当前轮次的响应信息;
[0200]
s805:将所述响应信息返回给所述客户端。
[0201]
实施例五
[0202]
该实施例五是针对本技术实施例提供的方案在一种具体应用场景中的应用进行介绍。具体的,该场景可以是音视频类应用程序中提供的音视频搜索场景,在搜索过程中,可以通过与用户进行多轮语音对话的方式,来接收具体的搜索请求。其中,在接收到每一轮次的用户语音输入后,都可以按照前述实施例一中所述的方式,进行对话状态跟踪。具体的,参见图9,该实施例五提供了一种音视频语音搜索方法,该方法具体可以包括:
[0203]
s901:通过多轮语音对话的方式接收音视频搜索请求;
[0204]
s902:在确定出当前轮次对应的输入文本信息后,通过将当前轮次对应的输入文本信息与已接收到的历史轮次对应的输入文本信息进行拼接,获得目标文本信息;
[0205]
s903:通过对所述目标文本信息进行特征提取,获得所述目标文本信息中多个位置上的建模单元分别对应的特征向量;
[0206]
s904:将所述多个位置上的建模单元分别对应的特征向量输入到深度学习模型中,所述深度学习模型用于通过将所述多个位置上的建模单元对应的特征向量相结合,为所述建模单元生成上下文特征信息,并根据所述上下文特征信息进行领域、语义槽以及槽值的预测,并确定是否继承历史轮次中的对话状态信息,以获得当前时刻的对话状态信息;
[0207]
s905:根据所述当前时刻的对话状态信息生成对话策略,以返回对应当前轮次语音输入的语音响应信息,以及对应的音视频搜索结果。
[0208]
实施例六
[0209]
该实施例六是针对本技术实施例提供的方案在另一种具体应用场景中的应用进行介绍。具体的,该场景可以是商品对象信息服务系统关联的应用程序中提供的商品对象导购场景。在导购过程中,具体可以是视频导购等模式,并且可以通过“导购机器人”与用户进行多轮语音对话的方式,来接收具体的用户请求。其中,在接收到每一轮次的用户语音输入后,同样可以按照前述实施例一中所述的方式,进行对话状态跟踪。具体的,参见图10,该实施例六提供了一种提供商品对象信息的方法,该方法具体可以包括:
[0210]
s1001:通过多轮语音对话的方式接收获取商品对象信息的请求;
[0211]
s1002:在确定出当前轮次对应的输入文本信息后,通过将当前轮次对应的输入文本信息与已接收到的历史轮次对应的输入文本信息进行拼接,获得目标文本信息;
[0212]
s1003:通过对所述目标文本信息进行特征提取,获得所述目标文本信息中多个位置上的建模单元分别对应的特征向量;
[0213]
s1004:将所述多个位置上的建模单元分别对应的特征向量输入到深度学习模型中,所述深度学习模型用于通过将所述多个位置上的建模单元对应的特征向量相结合,为所述建模单元生成上下文特征信息,并根据所述上下文特征信息进行领域、语义槽以及槽值的预测,并确定是否继承历史轮次中的对话状态信息,以获得当前时刻的对话状态信息;
[0214]
s1005:根据所述当前时刻的对话状态信息生成对话策略,以返回对应当前轮次语音输入的语音导购信息,以及对应的商品对象信息。
[0215]
实施例七
[0216]
该实施例七是针对本技术实施例提供的方案在另一种具体应用场景中的应用进行介绍。具体的,参见图11,该实施例五提供了一种任务驱动型多轮对话系统中的信息处理方法,该方法具体可以包括:
[0217]
s1101:智能通话系统接收当前轮次的语音信息;
[0218]
s1102:将所述语音信息转换为文本信息,并通过将当前轮次对应的文本信息与已接收到的历史轮次对应的文本信息进行拼接,获得目标文本信息;
[0219]
s1103:通过对所述目标文本信息进行特征提取,获得所述目标文本信息中多个位置上的建模单元分别对应的特征向量;
[0220]
s1104:将所述多个位置上的建模单元分别对应的特征向量输入到深度学习模型中,获得当前时刻的对话状态信息;
[0221]
s1105:将所述当前时刻的对话状态信息,提供给对话决策模块,生成当前轮次的响应信息;
[0222]
s1106:将所述响应信息转换为自然语言,并进行语音播报。
[0223]
实施例八
[0224]
该实施例八是针对本技术实施例提供的方案在另一种具体应用场景中的应用进行介绍。具体的,参见图12,该实施例八提供了一种任务驱动型多轮对话系统中的信息处理方法,该方法具体可以包括:
[0225]
s1201:第一设备接收第二设备输入的当前轮次的输入信息;
[0226]
s1202:确定所述当前轮次的输入信息对应的文本信息,并通过将当前轮次对应的文本信息与已接收到的历史轮次对应的文本信息进行拼接,获得目标文本信息;
[0227]
s1203:通过对所述目标文本信息进行特征提取,获得所述目标文本信息中多个位置上的建模单元分别对应的特征向量;
[0228]
s1204:将所述多个位置上的建模单元分别对应的特征向量输入到深度学习模型中,获得当前时刻的对话状态信息;
[0229]
s1205:将所述当前时刻的对话状态信息,提供给对话决策模块,生成当前轮次的响应信息,并将所述响应信息提供给所述第二设备。
[0230]
实施例九
[0231]
该实施例九是针对本技术实施例中的方案在另一种场景中的应用进行介绍,具体的,该场景可以是地铁站、火车站等处的自助售票机场景。参见图13,该实施例九具体提供了一种任务驱动型多轮对话系统中的信息处理方法,该方法可以包括:
[0232]
s1301:自助售票机设备接收当前轮次的语音信息;
[0233]
s1302:将所述语音信息转换为文本信息,并通过将当前轮次对应的文本信息与已接收到的历史轮次对应的文本信息进行拼接,获得目标文本信息;
[0234]
s1303:通过对所述目标文本信息进行特征提取,获得所述目标文本信息中多个位置上的建模单元分别对应的特征向量;
[0235]
s1304:将所述多个位置上的建模单元分别对应的特征向量输入到深度学习模型中,获得当前时刻的对话状态信息;
[0236]
s1305:将所述当前时刻的对话状态信息,提供给对话决策模块,生成当前轮次的
响应信息;
[0237]
s1306:将所述响应信息转换为自然语言,并进行语音播报。
[0238]
实施例十
[0239]
前述各实施例对本技术实施例提供的对话状态跟踪方法以及在多种场景中的应用进行了介绍。具体实现时,对于在智能音箱等硬件设备中的应用场景,由于用户在购买具体的硬件设备时,可能尚未实现本技术实施例提供的功能,以使得比较“老”的硬件设备只能通过传统的方式进行自然语言理解以及对话状态跟踪等处理。而在本技术实施例中,为了使得这部分“老”的硬件设备也能够通过新的深度学习模型来进行对话状态追踪,以提升用户的体验,可以为终端设备提供升级方案。例如,具体实现时,可以在服务端提供具体的状态追踪等处理流程,具体的硬件设备侧只需要将采集到的用户语音输入提交到服务端,并接收服务端返回的结果进行语音输出即可。在这种情况下,具体状态追踪等处理过程中所需要用到的模型等只需要在服务端进行保存即可,终端设备侧通常不需要进行硬件上的改进即可实现升级。当然,由于具体在进行对话状态追踪的过程中,通常会涉及到对用户数据的采集,因此,具体实现时,可以首先通过服务端向具体的硬件设备推送可以进行升级的建议,如果用户需要对设备进行升级,则可以通过输入语音等方式对自己的需求进行表达,之后,便可以将具体的升级请求提交到服务端,由服务端对升级请求进行处理。其中,具体实现时,服务端还可以对具体硬件设备的状态进行判断,例如,关联的用户是否已经为获得升级后的服务而付出相应的资源,等等,如果是,则可以为其赋予通过深度学习模型进行多轮对话过程中状态追踪的权限。这样,该硬件设备后续在与用户进行多轮对话的过程中,便可以通过深度学习模型进行多轮对话过程中状态追踪。具体的,该深度学习模型可以保存在服务端,或者,对于硬件设备自身硬件资源能够支持的情况下,还可以直接将深度学习模型推送到具体的硬件设备,由硬件设备在本地完成多轮对话过程中状态追踪等处理。
[0240]
另外,对于具体的深度学习模型保存在服务端的情形,还可以提供“开关”功能,以使得用户可以仅在必要时使用上述功能,以达到节省资源等目的。例如,当用户仅需要与硬件设备进行单轮对话而不需要多轮对话时,可以通过发出语音指令等方式来提交关闭上述功能的请求,之后,服务端可以为该用户暂时关闭该功能,如果涉及到计费等,则也可以触发计费停止。后续如果用户又需要与硬件设备进行多轮对话,则还可以再重新开启上述功能,等等。
[0241]
具体的,本技术实施例八首先从服务端的角度,提供了一种终端设备升级方法,参见图14,该方法具体可以包括:
[0242]
s1401:向终端设备提供升级建议信息;
[0243]
s1402:接收到终端设备提交的升级请求后,为所述客户端赋予通过深度学习模型进行多轮对话过程中状态追踪的权限;其中,所述深度学习模型用于通过将目标文本信息中多个位置上的建模单元对应的特征向量相结合,为所述建模单元生成上下文特征信息,并根据所述上下文特征信息进行领域、语义槽以及槽值的预测,以及确定是否继承历史轮次中的对话状态信息,以获得当前时刻的对话状态信息;所述目标文本信息是通过将当前轮次对应的输入文本信息与已接收到的历史轮次对应的输入文本信息进行拼接获得的。
[0244]
具体实现时,还可以根据所述终端设备提交的降级请求,为所述终端设备关闭所述通过深度学习模型进行多轮对话过程中状态追踪的权限。
[0245]
关于前述实施例二至实施例十中的未详述部分,可以参见前述实施例一中的记载,这里不再赘述。
[0246]
需要说明的是,本技术实施例中可能会涉及到对用户数据的使用,在实际应用中,可以在符合所在国的适用法律法规要求的情况下(例如,用户明确同意,对用户切实通知,等),在适用法律法规允许的范围内在本文描述的方案中使用用户特定的个人数据。
[0247]
与实施例一相对应,本技术实施例还提供了一种任务驱动型多轮对话系统中的状态追踪装置,参见图15,该装置可以包括:
[0248]
文本拼接单元1501,用于在确定出当前轮次对应的输入文本信息后,通过将当前轮次对应的输入文本信息与已接收到的历史轮次对应的输入文本信息进行拼接,获得目标文本信息;
[0249]
特征提取单元1502,用于通过对所述目标文本信息进行特征提取,获得所述目标文本信息中多个位置上的建模单元分别对应的特征向量;
[0250]
输入单元1503,用于将所述多个位置上的建模单元分别对应的特征向量输入到深度学习模型中,所述深度学习模型用于通过将所述多个位置上的建模单元对应的特征向量相结合,为所述建模单元生成上下文特征信息,并根据所述上下文特征信息进行领域、语义槽以及槽值的预测,并确定是否继承历史轮次中的对话状态信息,以获得当前时刻的对话状态信息。
[0251]
其中,每个位置上的建模单元对应多种不同类型的特征;
[0252]
所述特征提取单元具体可以用于:
[0253]
将同一建模单元对应的多种不同类型的特征进行相加,得到对应建模单元的特征信息。
[0254]
其中,所述多种不同类型的特征包括:位置特征、分段特征以及词义标签特征;所述位置特征为所述建模单元在所述目标文本信息中所在的位置序列信息,所述分段特征为所述建模单元是否属于当前轮次或历史轮次,所述词义标签特征为所述建模单元是否属于实体词。
[0255]
具体的,所述文本拼接单元具体可以用于:
[0256]
按照时间的先后顺序将多个轮次对应的输入文本信息进行拼接,并在不同轮次对应输入文本信息之间以及第一轮次对应的输入文本信息的句首、当前轮次对应的输入文本信息的句尾分别插入标识符,以用于提取所述建模单元的分段特征。
[0257]
具体的,所述深度学习模型包括编码器、第一分类器以及第二分类器,其中,所述编码器用于对所述多个建模单元对应的特征向量进行编码,以获得所述上下文信息,并将所述句首插入的标识符对应的隐藏层状态信息输入到第一分类器中,以用于预测当前时刻对话状态的领域信息,将其他建模单元对应的隐藏层状态信息输入到第二分类器中,以用于预测当前时刻对话状态的语义槽以及槽值,以及对是否继承历史轮次对应的对话状态信息进行判断。
[0258]
与实施例二相对应,本技术实施例还提供了一种建立深度学习模型的装置,参见图16,该装置可以包括:
[0259]
训练样本获得单元1601,用于获得训练样本集,所述训练样本集中包括多条文本信息以及对应的标注信息,其中,所述文本信息是通过将多轮对话中的文本信息进行拼接
并插入标识符获得的,所述标注信息包括所述文本信息多个位置上的建模单元对应的领域或语义槽信息;
[0260]
训练单元1602,用于通过将所述多条文本信息输入到深度学习模型中进行多次迭代,直到算法收敛后完成对所述深度学习模型的训练;其中,在每次迭代过程中,根据深度学习模型的输出结果与所述标注信息之间的差异,对所述深度学习模型多个层的权重进行调整。
[0261]
具体实现时,该装置还可以包括:
[0262]
预训练单元,用于在对所述深度学习模型进行训练之前,通过自监督的预训练,确定所述深度学习模型中多个层的权重初始值。
[0263]
与实施例三相对应,本技术实施例还提供了一种任务驱动型多轮对话系统中的信息处理装置,参见图17,该装置应用于客户端,包括:
[0264]
输入信息接收单元1701,用于接收当前轮次的输入信息,并将所述输入信息提交到服务端,以便所述服务端确定当前轮次的输入信息对应的文本信息,并通过将当前轮次对应的文本信息与已接收到的历史轮次对应的文本信息进行拼接,获得目标文本信息,通过对所述目标文本信息进行特征提取,获得所述目标文本信息中多个位置上的建模单元分别对应的特征向量;将所述多个位置上的建模单元分别对应的特征向量输入到深度学习模型中,获得当前时刻的对话状态信息,以用于提供给对话决策模块,生成当前轮次的响应信息;
[0265]
响应输出单元1702,用于接收所述服务端返回的针对当前轮次的响应信息并输出。
[0266]
其中,所述当前轮次的输入信息包括语音信息,所述服务端在确定所述当前轮次对应的文本信息时,通过语音识别的方式将所述语音信息转换为文本信息;在生成所述响应信息后,将响应信息转换成自然语言以便通过客户端进行语音播放。
[0267]
所述客户端包括终端设备中运行的音乐服务类应用程序的客户端。
[0268]
或者,所述客户端包括智能音箱设备关联的客户端。
[0269]
或者,所述当前轮次的输入信息包括文本信息。
[0270]
此时,所述客户端包括商品对象信息服务类应用程序中的客户服务模块。
[0271]
与实施例四相对应,本技术实施例还提供了一种任务驱动型多轮对话系统中的信息处理装置,参见图18,该装置应用于服务端,包括:
[0272]
输入信息接收单元1801,用于接收客户端提交的当前轮次的输入信息;
[0273]
文本拼接单元1802,用于确定当前轮次的输入信息对应的文本信息,并通过将当前轮次对应的文本信息与已接收到的历史轮次对应的文本信息进行拼接,获得目标文本信息;
[0274]
特征提取单元1803,用于通过对所述目标文本信息进行特征提取,获得所述目标文本信息中多个位置上的建模单元分别对应的特征向量;
[0275]
对话状态信息确定单元1804,用于将所述多个位置上的建模单元分别对应的特征向量输入到深度学习模型中,获得当前时刻的对话状态信息,以用于提供给对话决策模块,生成当前轮次的响应信息;
[0276]
响应信息返回单元1805,用于将所述响应信息返回给所述客户端。
[0277]
与实施例四相对应,本技术实施例还提供了一种音视频语音搜索装置,参见图19,该装置包括:
[0278]
搜索请求接收单元1901,用于通过多轮语音对话的方式接收音视频搜索请求;
[0279]
文本拼接单元1902,用于在确定出当前轮次对应的输入文本信息后,通过将当前轮次对应的输入文本信息与已接收到的历史轮次对应的输入文本信息进行拼接,获得目标文本信息;
[0280]
特征提取单元1903,用于通过对所述目标文本信息进行特征提取,获得所述目标文本信息中多个位置上的建模单元分别对应的特征向量;
[0281]
对话状态信息确定单元1904,用于将所述多个位置上的建模单元分别对应的特征向量输入到深度学习模型中,所述深度学习模型用于通过将所述多个位置上的建模单元对应的特征向量相结合,为所述建模单元生成上下文特征信息,并根据所述上下文特征信息进行领域、语义槽以及槽值的预测,并确定是否继承历史轮次中的对话状态信息,以获得当前时刻的对话状态信息;
[0282]
对话策略生成单元1905,用于根据所述当前时刻的对话状态信息生成对话策略,以返回对应当前轮次语音输入的语音响应信息,以及对应的音视频搜索结果。
[0283]
与实施例四相对应,本技术实施例还提供了一种提供商品对象信息的装置,参见图20,该装置包括:
[0284]
请求接收单元2001,用于通过多轮语音对话的方式接收获取商品对象信息的请求;
[0285]
文本拼接单元2002,用于在确定出当前轮次对应的输入文本信息后,通过将当前轮次对应的输入文本信息与已接收到的历史轮次对应的输入文本信息进行拼接,获得目标文本信息;
[0286]
特征提取单元2003,用于通过对所述目标文本信息进行特征提取,获得所述目标文本信息中多个位置上的建模单元分别对应的特征向量;
[0287]
对话状态信息确定单元2004,用于将所述多个位置上的建模单元分别对应的特征向量输入到深度学习模型中,所述深度学习模型用于通过将所述多个位置上的建模单元对应的特征向量相结合,为所述建模单元生成上下文特征信息,并根据所述上下文特征信息进行领域、语义槽以及槽值的预测,并确定是否继承历史轮次中的对话状态信息,以获得当前时刻的对话状态信息;
[0288]
对话策略生成单元2005,用于根据所述当前时刻的对话状态信息生成对话策略,以返回对应当前轮次语音输入的语音导购信息,以及对应的商品对象信息。
[0289]
与实施例五相对应,本技术实施例还提供了一种任务驱动型多轮对话系统中的信息处理装置,参见图21,该装置应用于智能通话系统,包括:
[0290]
语音信息接收单元2101,用于接收当前轮次的语音信息;
[0291]
文本处理单元2102,用于将所述语音信息转换为文本信息,并通过将当前轮次对应的文本信息与已接收到的历史轮次对应的文本信息进行拼接,获得目标文本信息;
[0292]
特征提取单元2103,用于通过对所述目标文本信息进行特征提取,获得所述目标文本信息中多个位置上的建模单元分别对应的特征向量;
[0293]
对话状态信息确定单元2104,用于将所述多个位置上的建模单元分别对应的特征
向量输入到深度学习模型中,获得当前时刻的对话状态信息;
[0294]
响应信息生成单元2105,用于将所述当前时刻的对话状态信息提供给对话决策模块,生成当前轮次的响应信息;
[0295]
响应信息转换单元2106,用于将所述响应信息转换为自然语言,并进行语音播报。
[0296]
与实施例六相对应,本技术实施例还提供了一种任务驱动型多轮对话系统中的信息处理装置,参见图22,该装置应用于第一设备,包括:
[0297]
输入信息接收单元2201,用于接收第二设备输入的当前轮次的输入信息;
[0298]
文本处理单元2202,用于确定所述当前轮次的输入信息对应的文本信息,并通过将当前轮次对应的文本信息与已接收到的历史轮次对应的文本信息进行拼接,获得目标文本信息;
[0299]
特征提取单元2203,用于通过对所述目标文本信息进行特征提取,获得所述目标文本信息中多个位置上的建模单元分别对应的特征向量;
[0300]
对话状态信息确定单元2204,用于将所述多个位置上的建模单元分别对应的特征向量输入到深度学习模型中,获得当前时刻的对话状态信息;
[0301]
响应信息生成单元2205,用于将所述当前时刻的对话状态信息,提供给对话决策模块,生成当前轮次的响应信息,并将所述响应信息提供给所述第二设备。
[0302]
与实施例七相对应,本技术实施例还提供了一种任务驱动型多轮对话系统中的信息处理装置,参见图23,该装置应用于自助售票机设备,包括:
[0303]
语音接收单元2301,用于接收当前轮次的语音信息;
[0304]
语音识别单元2302,用于将所述语音信息转换为文本信息,并通过将当前轮次对应的文本信息与已接收到的历史轮次对应的文本信息进行拼接,获得目标文本信息;
[0305]
特征提取单元2303,用于通过对所述目标文本信息进行特征提取,获得所述目标文本信息中多个位置上的建模单元分别对应的特征向量;
[0306]
对话状态信息确定单元2304,用于将所述多个位置上的建模单元分别对应的特征向量输入到深度学习模型中,获得当前时刻的对话状态信息;
[0307]
响应信息生成单元2305,用于将所述当前时刻的对话状态信息,提供给对话决策模块,生成当前轮次的响应信息;
[0308]
响应信息输出单元2306,用于将所述响应信息转换为自然语言,并进行语音播报。
[0309]
与实施例八相对应,本技术实施例还提供了一种终端设备升级装置,参见图24,该装置可以包括:
[0310]
建议信息提供单元2401,用于向终端设备提供升级建议信息;
[0311]
权限授予单元2402,用于接收到终端设备提交的升级请求后,为所述终端设备赋予通过深度学习模型进行多轮对话过程中状态追踪的权限;其中,所述深度学习模型用于通过将目标文本信息中多个位置上的建模单元对应的特征向量相结合,为所述建模单元生成上下文特征信息,并根据所述上下文特征信息进行领域、语义槽以及槽值的预测,以及确定是否继承历史轮次中的对话状态信息,以获得当前时刻的对话状态信息;所述目标文本信息是通过将当前轮次对应的输入文本信息与已接收到的历史轮次对应的输入文本信息进行拼接获得的。
[0312]
另外,本技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,
该程序被处理器执行时实现前述方法实施例中任一项所述的方法的步骤。
[0313]
以及一种电子设备,包括:
[0314]
一个或多个处理器;以及
[0315]
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行前述方法实施例中任一项所述的方法的步骤。
[0316]
其中,图25示例性的展示出了电子设备的架构,例如,设备2500可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理,飞行器等。
[0317]
参照图25,设备2500可以包括以下一个或多个组件:处理组件2502,存储器2504,电源组件2506,多媒体组件2508,音频组件2510,输入/输出(i/o)的接口2512,传感器组件2514,以及通信组件2516。
[0318]
处理组件2502通常控制设备2500的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件2502可以包括一个或多个处理器2520来执行指令,以完成本公开技术方案提供的方法的全部或部分步骤。此外,处理组件2502可以包括一个或多个模块,便于处理组件2502和其他组件之间的交互。例如,处理部件2502可以包括多媒体模块,以方便多媒体组件2508和处理组件2502之间的交互。
[0319]
存储器2504被配置为存储各种类型的数据以支持在设备2500的操作。这些数据的示例包括用于在设备2500上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器2504可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
[0320]
电源组件2506为设备2500的各种组件提供电力。电源组件2506可以包括电源管理系统,一个或多个电源,及其他与为设备2500生成、管理和分配电力相关联的组件。
[0321]
多媒体组件2508包括在设备2500和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件2508包括一个前置摄像头和/或后置摄像头。当设备2500处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
[0322]
音频组件2510被配置为输出和/或输入音频信号。例如,音频组件2510包括一个麦克风(mic),当设备2500处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器2504或经由通信组件2516发送。在一些实施例中,音频组件2510还包括一个扬声器,用于输出音频信号。
[0323]
i/o接口2512为处理组件2502和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和
锁定按钮。
[0324]
传感器组件2514包括一个或多个传感器,用于为设备2500提供各个方面的状态评估。例如,传感器组件2514可以检测到设备2500的打开/关闭状态,组件的相对定位,例如所述组件为设备2500的显示器和小键盘,传感器组件2514还可以检测设备2500或设备2500一个组件的位置改变,用户与设备2500接触的存在或不存在,设备2500方位或加速/减速和设备2500的温度变化。传感器组件2514可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件2514还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件2514还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
[0325]
通信组件2516被配置为便于设备2500和其他设备之间有线或无线方式的通信。设备2500可以接入基于通信标准的无线网络,如wifi,或2g、3g、4g/lte、5g等移动通信网络。在一个示例性实施例中,通信部件2516经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件2516还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
[0326]
在示例性实施例中,设备2500可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
[0327]
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器2504,上述指令可由设备2500的处理器2520执行以完成本公开技术方案提供的方法。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
[0328]
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例或者实施例的某些部分所述的方法。
[0329]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0330]
以上对本技术所提供的,进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上
均会有改变之处。综上所述,本说明书内容不应理解为对本技术的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献