Deep Learning for Chatbots(Introduction)

聊天机器人又被称为会话系统,已经成为一个热门话题,许多公司都在这上面的投入巨大,包括微软,Facebook,苹果(Siri),Google,微信,Slack。许多创业公司尝试通过多种方式来改变与消费者服务方式。许多公司希望开发对话机器人能够自然地和人进行交流,并且为了实现这个目标,很多公司声称使用了自然语言处理(NLP)和深度学习技术。但是很多时候对AI的夸大宣传,让人民很难分清事实和美好的想象。
接下来的是回顾在会话系统中使用的深度学习技术,了解现在的进展情况,哪些在近期是可能的,哪些是不可能的。这篇文章相当于一个回话系统的入门。

模型

基于检索模型的和生成模型

基于检索的模型相对容易,这类方法是针对输入语句通过一些启发式算法,在预先构建的知识库或预先收集的预料库中找出最好的回答语句。 启发式算法可以是简单的基于规则的表达式匹配,也可以是复杂的机器学习分类器的集成。这些系统并不生成新的文本,仅仅是已知的文本集合中选择一个最为合适的文本作为回答。
生成模型相对复杂,它能够通过已有的语料生成新文本作为回答。生成模型通常基于机器翻译技术,但是它不是把一种语言翻译成另一种语言,而是把输入文本“翻译”成输出文本(回答)。
724315-20170627205512368-1679432848.png
这两种方法都有一些明显的优点和缺点。基于检索的方法的回答不会出现语法错误,但是不能处理语料库中没有的或者没有预定义的模式。同样,基于检索的方法不能识别上下文关系,例如上文出现的名字。生成模型就更加的“聪明”,它能识别上下文的信息,就好像你在和一个人在对话。但是生成模型非常难以训练,而且可能会出现一些语法错误(尤其是长一些的句子),更重要的是生成模型需要大量的训练数据。
无论是基于检索的模型还是生成模型,都能够把深度学习技术用在其中,但是好像研究人员更加倾向于生成模型。深度学习的结构(例如:seq2seq非常适合用在生成文本方面,因此研究者希望在这个领域能够取得飞速的进展。然而,我们对于建立能够工作的很好的生成模型来说,我们还处在早期的阶段,目前在实际应用中更可能使用的还是基于检索的模型。

长对话和短对话

越长的对话越难处理。短对话的目的是对单个输入文本返回单个回答。例如,你可能从用户收到一个明确的问题然后给其一个合适的回答。长对话中你需要对多个问题进行考虑,并且将已经说过的内容记录下来。客户支持对话就是典型的有多个问题的长对话场景。

开放性和封闭性

开放性领域中用户可能关于任何问题进行对话,此时设置定义明确的目标和目的是没必要的。Twitter和Reddit这种社交媒体网站上的对话就是开放性的,它们能够被延伸到各种方向。无限数量的话题,以及需要一定数量的世界知识来得到合理的回答让开放性问题变得困难。
封闭性领域中,为了实现一个明确的目标,输入空间和输出空间是有限制的。封闭领域的例子有客户技术支持和购物助理。这些系统不需要谈论有关政治的话题,他们只需要尽可能高效的专注在特定的任务中。

共同的挑战

在构建会话系统时,有一些明显的和不明显的挑战,其中大部分都是活跃的研究领域。

结合上下文

为了建立良好的会话系统,需要兼顾到语义和语境。在长对话中,随着语境的改变,一些词语的含义可能也会发生改变。通常使用embedding技术将对话映射到一个向量,但是如何在长对话中使用embedding还是一个挑战,论文Building End-To-End Dialogue Systems Using Generative Hierarchical Neural Network Models和论文Attention with Intention for a Neural Network Conversation Model这在朝这个方向努力。当然其他的上下文信息例如时间,地点,用户的信息也是需要的。

连贯的人格

在生成回答的时候应该对语义一致的输入得到相同的回答。例如,对“你几岁了?”和“你的年龄是多少?”这两个问题的回答是简单的。但是如何在回答中加入个性却是一个研究的问题。许多系统学习生成语言的合理响应,但它们并没有经过训练来生成语义一致的响应。通常这是因为他们接受了来自多个不同用户的大量数据的培训。A Persona-Based Neural Conversation Model论文中的模型正在向明确建模一个人格的方向迈进。
724315-20170627201555274-1074378463.png

模型的评估

评估一个会话系统的理想方法是衡量它是否完成了它的任务,例如,在会话中解决了用户支持方面的问题。但是,由于需要人工判断和评估,获得数据的标签的花费是昂贵的。在论文How NOT To Evaluate Your Dialogue System: An Empirical Study of Unsupervised Evaluation Metrics for Dialogue Response Generation中发现没有常用的指标和人类的判断是一致的。

意图和多样性

生成模型中的一个常见问题是对许多问题都倾向于返回“这很好”或者“我不知道”。Google Smart Reply的早期版本几乎对所有问题都回复“我爱你”。一些研究人员试图通过多种目标函数人为地促进多样性,然而,人们通常对特定的输入进行响应,并带有一个意图。由于生成模型(尤其是开放性领域)并没有被训练成有特定的意图,它们缺乏这种多样性。

会话系统表现到底怎样?

说了这么多,到底目前对话系统的表现怎样?基于检索的开放性领域对话系统显然是不可能的,因为不可能将所有情况交给人工来处理。基于生成模型的开放性领域的会话系统是一个强人工智能问题,我们距离实现这一目标还很远(但是很多研究都在朝这个方向努力)。
剩下的就是封闭性领域的问题,使用基于检索的和基于生成模型的都是能够处理的,只不过会话越长,上下文信息越重要,这个问题就变得越困难。

许多公司开始将他们的谈话外包给人力工作者,并承诺一旦他们收集了足够的数据,他们就可以“自动化”。这可能只会发生在一个非常狭窄的领域:比如在Uber的聊天界面。任何更开放的领域(比如销售电子邮件)都是我们目前无法做到的。然而,我们也可以利用这些系统来帮助人类的工作人员,这可能是更为可行的。

Reading List

  • Neural Responding Machine for Short-Text Conversation
  • A Neural Conversational Model
  • A Neural Network Approach to Context-Sensitive Generation of Conversational Responses
  • The Ubuntu Dialogue Corpus: A Large Dataset for Research in Unstructured Multi-Turn Dialogue Systems
  • Building End-To-End Dialogue Systems Using Generative Hierarchical Neural Network Models
  • A Diversity-Promoting Objective Function for Neural Conversation Models
  • Attention with Intention for a Neural Network Conversation Model
  • Improved Deep Learning Baselines for Ubuntu Corpus Dialogs
  • A Survey of Available Corpora for Building Data-Driven Dialogue Systems
  • Incorporating Copying Mechanism in Sequence-to-Sequence Learning
  • A Persona-Based Neural Conversation Model
  • How NOT To Evaluate Your Dialogue System: An Empirical Study of Unsupervised Evaluation Metrics for Dialogue Response Generation

原文

转载于:https://www.cnblogs.com/sandy-t/p/7087100.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值