(四)对话系统概述

以下内容总结自《自然语言处理实践与聊天机器人原理应用与实践》
面向任务的对话系统与上一篇介绍的问答系统有所不同,后者多为单轮对话,前者多为多轮对话。面向任务的对话系统需要维护一个用户目标状态的表示,并且依赖于一个决策过程来完成指定的任务,因此比问答系统更加关注对话过程,包括☞目标状态表示和状态迁移,保证目标状态沿着能够完成任务的方向前进。
对话系统的 3 个关键模块为自然语言理解、对话管理和自然语言生成。
自然语言理解技术指的是将机器接收到的用户输入的自然语言转换为语义表示,通常包含领域识别意图识别槽位填充3 个子任务。意图和槽位共同构成了「用户动作」。主要任务是将用户输入的自然语言映射为用户的意图和相应的槽位值。因此,在面向任务的对话系统中,NLU 模块的输入是用户对话语句 X n ,输出是解析 X n 后得到的用户动作 u n 。
对话管理模块根据语义表示、对话上下文、用户个性化信息(例如年龄)等找到合适的执行动作,再根据具体的动作,使用自然语言生成技术生成一句自然语言,作为对用户输入的回复。
DST 模块以当前的用户动作 u n 、前 n-1 轮的对话状态和相应的系统动作作为输入,输出是 DST 模块判定得到的当前对话状态 s n 。实现 DST 模块的方法主要有:基于条件随机场模型的序列跟踪模型、基于 RNN 和 LSTM 的序列跟踪模型等。
DPL 模块的输入是 DST 模块输出的当前对话状态 s n ,通过预设的对话策略,选择系统动作 a n 作为输出。
NLG 模块的输入是 DPL 模块输出的系统动作 a n ,输出是系统对用户输入 X n 的回复 Y n 。目前,NLG 模块仍广泛采用传统的基于规则的方法,表 4-2 给出了 3 个示例规则的定义。根据规则可以将各个系统动作映射成自然语言表达。表 4-2 NLG 模板规则定义示例在这里插入图片描述
为了实现回复的多样性,各种基于深度神经网络的模型方法被提出并得到发展。

发布了19 篇原创文章 · 获赞 1 · 访问量 342

猜你喜欢

转载自blog.csdn.net/qq_41557627/article/details/104946274