模块化的对话系统

2019-03-20 17:30:14

文章来源AI科技大本营  作者王昊奋&邵浩等  
分模块串行处理对话任务,每一个模块负责特定的任务,并将结果传递给下一个模块,通常由NLU(自然语言理解)、DST(对话状态追踪)、DPL(对话策略学习)NLG(自然语言生成)4个部分构成。在具体的实现上,可以针对任一模块采用基于规则的人工设计方式,或者基于数据驱动的模型方式。
端到端的对话系统:考虑采用由输入直接到输出的端到端对话系统,忽略中间过程,采用数据驱动的模型实现。
目前,主流的任务对话系统实现为模块化方式,由于现有训练数据规模的限制,端到端的方式仍处于探索阶段。
NLU:将用户输入的自然语言语句映射为机器可读的结构化语义表述,这种结构化语义一般由两部分构成,分别是用户意图和槽值。
(2)DST:这一模块的目标是追踪用户需求并判断当前的对话状态。该模块以多轮对话历史、当前的用户动作为输入,通过总结和推理理解在上下文的环境下用户当前输入自然语言的具体含义。对于对话系统来说,这一模块有着重大意义,很多时候需要综合考虑用户的多轮输入才能让对话系统理解用户的真正需求。
(3)DPL:也被称为对话策略优化(optimization),根据当前的对话状态,对话策略决定下一步执行什么系统动作。系统行动与用户意图类似,也由意图和槽位构成。
(4)NLG:负责把对话策略模块选择的系统动作转化为自然语言,最终反馈给用户。
在与用户直接关联的两个模块中,ASR指的是自动语音识别,TTS指的是语音合成。如第2章介绍的,ASR和TTS并不是系统必备的模块,也不是本书介绍的重点,因此在面向任务的对话系统中不对这两部分技术做详细介绍。

上一篇:中国“人造月亮”有望2020年挂上天,代替路灯?

下一篇:意念能操控无人机 也能帮残疾人行动自由