准备开始研究Chatbot,提前做个大概的review。
1. Classification
- Chit-Chat-oriented Dialogue Systems (Chatbot):
闲聊型对话机器人,产生有意义且丰富的回复。 - Task-oriented Dialogue Systems:
助手类任务驱动
2. Core Issues of Dialogue Management
Approaches
- Structure-based Approaches
- Key phrase reactive:关键词匹配
- Tree and FSM:把对话建模为通过树或者有限状态机的路径
- …
- Principle-based Approaches
- Frame:基于FSM,允许多条路径,将对话建模成一个填槽的过程。
填槽与多轮对话
槽:完成用户指令所需要补全的信息
词槽:来自对话中的关键词
接口槽:来自用户画像或其他场景信息
优先级:同一个槽组会对应多种填槽方式
准入条件:节点的准入条件
答案系统:多种形式
话题切换:主动切换、被动切换(槽记忆) - Information-State Theories:识别对话中流转信息的 relevant aspects,以及这些成分是怎么被更新的,更新过程又是怎么被控制的。
- Plan-based:BDI (Belief, Desire, Intention) 模型
…
- Frame:基于FSM,允许多条路径,将对话建模成一个填槽的过程。
- Statistical Approaches
- RL-Based Approaches:Reinforcement Learning
Dialogue state tracking 多轮对话
经典的语音智能交互图,注意对话管理(DM)的关键角色
[图片上传失败...(image-7e1d42-1529042606946)]
任务驱动的多轮对话
- 明确的目的:如订餐、订票等
- 需求比较复杂,有很多限制条件
- 可能需要分多轮进行陈述需求
- 当需求不够具体或明确的时候,机器需进行询问、澄清或确认
Tasks 多轮对话的主要任务
- Dialog state tracking, DST
维护&更新对话状态 - Dialog policy
生成系统决策
根据 DST 中的对话状态,generate dialog act - Interaction
与后端/任务模型/第三方进行交互 - Expectations for interpretation
提供语义表达的期望值
Challenges
- 模型描述能力与模型复杂度的权衡
- 用户对话偏离情景路径
如系统问用户导航目的地的时候,用户反问了一句某地天气情况 - 多轮对话的容错性
如3轮对话的场景,用户已经完成2轮,第3轮出现ASR或者NLU错误 - 多场景的切换和恢复
绝大多数业务并不是单一场景,场景的切换与恢复即能作为亮点,也能作为容错手段之一 - 降低交互变更难度,适应业务迅速变化
- 跨场景信息继承
User modeling
用户模型(略)
3. Example
智能音箱应用场景:
我:帮我订张从杭州到北京的机票。
VPA:请问您希望哪天出发呢?
我:明天杭州下雨吗?
VPA:明天杭州有雷阵雨。
我:后天呢?
VPA:后天杭州天气晴。
我:机票订后天的。
VPA:好的,已帮你预定后天从杭州到北京的机票。
4. Evaluation Metrics
- Word Overlap-based Metrics
BLEU / METEOR / ROUGE / deltaBLEU - Embedding-based Metrics
Greedy Matching
Embedding Average
Vector Extrema - 人工评测
- context?
When evaluation metrics are not explicitly correlated to human judgement, it is possible to draw misleading conclusions by examining how the metrics rate different models.
CW Liu, et al. -“How NOT To Evaluate Your Dialogue System: An Empirical Study of Unsupervised Evaluation Metrics for Dialogue Response Generation”
5. Corpus
from papers
- 中文单轮短文本对话
Short-Text Conversation(微博)
Li, et al. "Neural Responding Machine for Short-Text Conversation" ACL. 2015 - 中文多轮对话(豆瓣)
MarkWuNLP/MultiTurnResponseSelection
Wu, Yu, et al. "Sequential Matching Network: A New Archtechture for Multi-turn Response Selection in Retrieval-based Chatbots." ACL. 2017. - Twitter Dialog Corpus, 含95w个对话,平均每个对话含6句话。+ Ubuntu Dialogue Corpus, 含50w个对话,和ubuntu相关的专业问题。
A Hierarchical Latent Variable Encoder-Decoder Model for Generating Dialogues
from internet
- candlewill/Dialog_Corpus:搜集语料集合
- 贴吧对话 password:i4si
- 中文单轮短文本对话(微博)Short-Text Conversation。李航老师对应论文:Neural Responding Machine for Short-Text Conversation
- 中文多轮对话:MarkWuNLP/MultiTurnResponseSelection,来自豆瓣的多轮对话
- 120G+训练好的word2vec模型(中文词向量)
6. Compitition
全球首届任务导向型多轮对话系统挑战赛(京东)
- 指导委员会
孙茂松,刘洋... - 赛程:
2018年5月30日0:00报名截止, - 任务描述:
给定背景C={userID,productID,orderID},和对话片段D={q0,a0,q1,a1,...,qn,an}, 其中qi代表用户输入(可多个连续问句),ai代表答案输出(可多个连续句)。 要求参赛系统对给定背景和对话片段进行分析,输出满足用户需求的答案。目标是能够 正确、完整、高效的回答用户的问题。 - 数据集:
竞赛数据包含百万级真实的京东客户与京东人工客服的对话记录片段。
数据集消息 - Baseline: Seq2Seq
- Evaluation
- 预赛评测方法:参赛队伍的对话系统提交京东评审小组,工作人员运行系统并输入测试集, 输出结果采用deltaBLEU方法进行全自动评测。在测试集中,每个对话片段会配有15个人工提取的答案,每个答案有相应的权重。参赛系统的答案会和每个人工答案计算BLEU,最终的deltaBLEU分为加权平均分。
- 决赛评测办法:扩大进入决赛的队伍可使用的训练和开发数据集量级用于优化系统。决赛时,工作人员同时运行参赛系统,后台评委人员用 20套同样的对话主题开始输入问题,并根据系统回答持续对话直到完成对话任务或者超出20轮时停止。评委人员和参赛系统双盲。最终的得分是按照以下公式产生:任务完成率×50% +对话满意度×30%+任务完成效率×20%
The Conversational Intelligence Challenge 2 (ConvAI2)
- NIPS 2018 Competition
- Aim:
Establish a concrete scenario for testing chatbots that aim to engage humans, and become a standard evaluation tool in order to make such systems directly comparable. - Improment:
- providing a dataset from the beginning, Persona-Chat
- making the conversations more engaging for humans
- simpler evaluation process (automatic evaluation, followed then by human evaluation)
-
Baseline
-
PersonaChat ConvAI2 Dataset
The Persona-Chat task aims to model normal conversation when two interlocutors first meet, and get to know each other. Their aim is to be engaging, to learn about the other’s interests, discuss their own interests and find common ground. Consists of 164,356 utterances in over 10,981 dialogs, some of which are set aside for validation. The speaker pairs each have assigned profiles coming from a set of 1155 possible personas, each consisting of at least 5 profile sentences, setting aside 200 never seen before personas for validation.
- Common issues with chit-chat models:
- (i) the lack of a consistent personality (Li et al., 2016) as they are typically trained over many dialogs each with different speakers
- (ii) the lack of an explicit long-term memory as they are typically trained to produce an utterance given only the recent dialogue history (Vinyals et al., 2015);
- (iii) a tendency to produce non-specific answers like "I don’t know" (Li et al., 2015).
- Evaluation
- (i) automated evaluation metrics on a new test set hidden from the competitors;
- (ii) evaluation on Amazon Mechanical Turk; and
- (iii) "wild" live evaluation by volunteers having conversations with the bots.
- Schedule
September 30th
一些思考:
- 放心让智能音响订机票吗?
- 智能音箱是不是应用场景比较有限?
- 用于英语学习交流?(多轮对话的进阶?)
- 构建通用交互模型?( 构建用户画像,最大程度预填充“接口槽”)
- 闲聊的基础:为机器本身构建一个“画像”?
参考:
-
对话管理的一些思考
- 注意:模型无非是想用数据驱动(代价)的方式得到泛化能力(收益)
- 结论: 冷启动阶段,先用规则方法打造一个DM,快速上线并满足业务需求,收集数据之后再转换成模型
- 填槽与多轮对话 | AI产品经理需要了解的AI技术概念
- 对话系统(Chatbot)论文串烧
Post author: Konfido
Post link: https://konfido.github.io/2018/06/14/2018-06-13-chatbot-review/
Copyright Notice:All articles in this blog are licensed under CC BY-NC-SA 3.0unless stating additionally.