在面向任务的对话系统中,对话状态管理(dialogue state management)系统将用户意图 (user intent) 作为输入,与知识库交互,并预测系统的下一个动作 (action)。 自然语言理解组件(NLU)负责分析用户意图,该组件有时与对话状态管理(DM)系统结合成为一个单一的端到端学习组件。 系统的下一个动作 (action) 通常包括两种类型:对话动作类型 (dialogue act type) 和插槽值对 (slot-value pairs)。 给定下一个系统动作,自然语言生成组件(NLG)将生成对用户的回复。
示例为Zhang et al. (2018)中所举例子的中文翻译。
| 输入 | 输出 | |||||
|---|---|---|---|---|---|---|
| Slot-value pairs | ||||||
| 语句 | 美食类别 | 价格 | 人数 | 地点 | Dialogue Act Type | |
| 用户 | 早上好 | 问候 | ||||
| 系统 | 你好,有什么可以帮助你的 | - | - | - | - | - |
| 用户 | 能帮忙预定一个在伦敦价格比较便宜的餐厅么? | 便宜 | 伦敦 | 确认 | ||
| 系统 | 好的 | - | - | - | - | - |
| 用户 | <沉默>沉默> | 便宜 | 伦敦 | 询问美食类别 | ||
| 系统 | 请问想要预定那种类型的餐厅? | - | - | - | - | - |
| 用户 | 法国餐厅 | 法式 | 便宜 | 伦敦 | 询问人数 | |
| 系统 | 请问有多少人? | - | - | - | - | - |
| 用户 | 4人 | 法式 | 便宜 | 4 | 伦敦 | 确认 |
| 系统 | 好的,让我来看看 | - | - | - | - | - |
| 用户 | <沉默>沉默> | 法式 | 便宜 | 4 | 伦敦 | 查询 |
| 系统 | API(法式,便宜,4,伦敦) | - | - | - | - | - |
以上每一轮输出是在生成系统下一轮回复之前生成的。
分类准确率 (Accuracy):
对话动作类型 (Dialogue act type):
| 对话动作类型 |
|---|
| ask_dep_loc |
| ask_arr_loc |
| ask_dep_date |
| offer |
| end |
插槽类型 (Slot type):
| 插槽类型 | 数量 |
|---|---|
| Dep_city | 174 |
| Arr_city | 174 |
| Date | 100 |
数据集统计:
| 测试集 (Test) | 3,832 会话(session) |
|---|---|
| 每个会话(session)的平均轮数 | 5 |
| 每个句子的平均长度 | 4 |
准确率 (Accuracy)
| Dialogue Act Type | Slot-Value | Mask | All | |
|---|---|---|---|---|
| Zhang et al. (2018) | 76.7 (16.3) | 100.0 (100.0) | 100.0 (100.0) | 76.7 (16.3) |
括号中的数字表示会话级的准确率。
| 会话数量 | |
|---|---|
| 训练集 (Train) | 15,330 会话 (session) |
| 开发集 (dev) | 7,665个 会话 (session) |
DSTC5任务旨在跟踪对话状态。
| 语言 | 对话(dialogs)数量 | 语句(utterances)数量 | |
|---|---|---|---|
| 测试集 (Test) | 中文 | 10 | 14,878 |
| 准确率 (Accuracy) | 精确率 (Precision) | 召回率 (Recall) | F1 | |
|---|---|---|---|---|
| Shi et al. (2017) | 0.0956 | 0.5643 | 0.3769 | 0.4519 |
| 语言 | 对话(dialogs)数量 | 语句(utterances)数量 | |
|---|---|---|---|
| 训练集 (Train) | 英语 | 35 | 31,304 |
| 开发集 (dev) | 中文 | 2 | 3,130 |
第一个中文大规模cross-domain的Wizard-of-Oz式的任务导向对话数据集.
| CrossWoz | |
|---|---|
| 语言 | 中文(以及对应英文翻译) |
| 对话形式 | Human-to-Human |
| # Domains | 5 |
| # Slots | 72 |
| # Values | 7,871 |
| Test | |
|---|---|
| # dialogues | 500 |
| # Turns (utterances) | 8,476 |
| Vocab | 5,143 |
| Avg. user sub-goals | 3.26 |
| Avg. turns | 17.0 |
| Avg. tokens per turn | 16.2 |
A piece of dialogue: (Names of hotels are replaced by A,B,C for simplicity.) 下图展示了一个dialogue, 其中酒店的名字用A,B和C替代.


| Split | Train | Valid |
|---|---|---|
| # dialogues | 5,012 | 500 |
| # Turns (utterances) | 84,692 | 8,458 |
| Vocab | 12,502 | 5,202 |
| Avg. user sub-goals | 3.24 | 3.26 |
| Avg. turns | 16.9 | 16.9 |
| Avg. tokens per turn | 16.3 | 16.3 |
建议? 修改? 请发邮件到chinesenlp.xyz@gmail.com