奥兹国的奇妙术士-对话系统收集数据的方法

最近读了几篇关于收集对话语料的paper,都是围绕着一个思想:Wizard of Oz。灵感自然是来自《绿野仙踪/奥兹国的奇妙术士》这本小说,也就是说有一个人类藏在还不完善的对话系统后,控制着对话系统的行为,以此(1)收集数据,(2)完善系统。在这篇文章中,我将沿着对话系统如何构建的思路,大概介绍一下相关的几篇论文。


 

(1)对话系统简介

构建一个对话系统目前有几种方法,就单轮对话来说,一个最直观的方法是模式匹配,也就是说如果问句满足了某种模式(pattern),那么就返回指定的回答。第二种是召回(retrieval-based method)。也就是说所有的答案都是预先写好在数据库中的,对于新的用户输入,我们可以用相似度匹配,找到数据库中最相近的对话,返回该对话的回答。还可以用基于神经网络的(seq2seq)的方法,直接训练一个神经网络,一端提供输入,另一端给出输出。

当涉及到多轮对话的时候,上面几种方法就显得不那么好用了,因为涉及到上下文的联系。一般我们会采取模块化的系统(modular-based method)来解决这个问题。对话系统可以大致地分为以下一个模块:

. Natural Language Understanding(NLU)自然语言理解。也就是从用户的输入中提取有效信息(意图、相关实体(entity))。

2. Dialog Management and Dialog Policy(DM/DP)对话管理/对话策略。根据本轮提取的信息和之前的信息决定下一步做什么。一般这两个模块会被分开讲,上次导师也特地考我知不知道他们两个的区别,对这个问题我一直以来的答案都是无可奉告。确实最近没有时间看,也不是本文重点,不讲了。

3. Natural Language Generation (NLG) 自然语言生成,根据前面的指示,生成一句输出,返回给用户。

当然,如果仍旧用s2s的方法,简单粗暴地把前几轮的对话作为输入,求个输出,是不用考虑上面所说的模块的。这个方法我认为离真正应用还有一段距离,用一个网络去代替整个系统还是要求比较高的。

 


(2) Wizard of Oz

收集对话数据的目标一是用来完善自己的对话系统,二是用来做数据集。我们以电商客服为例,收集对话数据最简单的方法就是记录人类客服和用户之间的对话记录。在有这样大量数据积累的情况下,我们可以做两方面的工作,一方面是分析所有的对话,构建这个领域的知识系统,当然这个工作也可以完全不依赖数据,由领域专家来做。另一方面就是用这些对话直接去训练基于深度学习的模型,可以是自然语言理解(NLU)模块,也可以是头铁的端到端的生成网络。

WOZ方法就是初步构建一个比较粗糙的对话系统,迅速地投入应用,用人工智能(AI)和人类智能(HI)结合的方式,去完善这个对话系统并收集一定的数据。HI在这个系统中可以做三件事,一是纠正AI的错误,二是帮助AI做决定,三是这个过程中的所有行为都可以作为标注数据,提供给AI做进一步的训练。

 

第一篇文章MDWOZ[1]的系统由三个主要模块组成:

1. Database,一个包含了该领域信息的数据库,比如某一区域餐厅的信息。Wizard可以通过一个GUI来与数据库进行交互。这篇论文使用的是基于Xform的DBinput和DBask(这套GUI已经年久失修,停止更新维护了)。DBinput是用来输入新的数据或者修改原有数据,DBask则用来查询数据。

2. Finite State Model,一个有限状态图,记录了对话的所有可能状态,用一个将图可视化的工具将其转换成GUI。Wizard要负责根据用户输入选择相应的状态跳转。

3. Output Generation Model, 根据Wizard选出的状态,返回写定的回复,Wizard可以通过查询数据库来补充完善信息。

整个系统的流程如图:

在进行多次测试后,Wizard与人类的对话数据会被收集,同时数据库也被完善,FSM也更多节点,更加完善。

这篇文章比较古老了,方法也都比较直观,需要人工参与的地方也过于多。

 

第二种常用的方法是在AIML(Artificial Intelligence Mark-up Language) 的基础上改进的。有关AIML的介绍可以查看这篇文档[2],这是由最早提出AIML的聊天机器人ALICE发展而来的。其实也就是模式匹配,如下图所示:匹配到pattern,返回输出,还有一个that可以指示历史对话。Wizard的工作就是查看整个流程是否合理、完善。

 

基于模块化的对话系统和WOZ还有很多种结合的可能,例如用神经网络去搭建NLU、DM模块,Wizard可以判断模型的结果是否正确,从而产生更多的标注数据,进一步训练模型。基于端到端的生成模型也可以提供多个可能的回答给wizard做决定从而产生更多数据。

以上就是全部啦,感谢阅读,欢迎指正,鞠躬。

Reference:

[1] Munteanu, Cosmin , and M. Boldea . "M.: MDWOZ: A Wizard of Oz environment for dialog systems development." Lrec 2000.
[2] Pandorabots Documentation

转载于:https://www.cnblogs.com/para10969/p/10979947.html

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值