浅谈聊天机器人

封闭领域和开放领域

聊天机器人分封闭领域和开放领域,这两个主要从话题层面进行区分,在开放语境下,用户可以和聊天机器人聊任何话题,在封闭语境下, 只能聊机器人设定的话题。

典型方法

  • 基于检索式的模型
    检索模型所使用的回复通常是预先存储且知道的数据,输入一段上下文内容,和一个可能作为回复的候选答案;模型的输出是对这个候选答案打分。寻找最合适的回复内容的过程:先对一堆候选答案进行打分及排序,最后选出分值最高的那个作为回复。
  • 基于生成式的模型
    生成模型不依赖于任何预选定义好的响应。经典的生成模型是基于机器翻译技术的, 只不过不是将一种语言翻译成另一种语言, 而是将问句“翻译”成回答(response) 。生成模型可以创新出崭新的未知的的回复内容,不需要预先存储和定义的数据,比检索模型更加灵活多变,更加智能。
    Seq2Seq模型是一个翻译模型,把一个sequence翻译成另一个sequence。 其基本思想是两个RNN, 一个作为encoder, 另一个作为decoder。 作为encoder的RNN,用来把一个sequence压缩表示成一个固定大小的向量(fixed-length vector representation)(可以理解为把一段文本进行语义表示)作为decoder的RNN, 根据encoder的vector生成一个token序列,这个token序列就是另一个sequence。优化时, 采用极大似然估计, 让sequenceA被encoder后进行decoder得到的B的概率最大(A和B的长度可以不一样长)


    1514276883(1).png

两种模型优缺点

基于检索的模型,“回答集”是人工编写的答案,几乎不会有语法错误,但是无法处理没有见过的问题,即数据库中没有的问题, 同时无法追溯上文中的实体信息,例如上文中提到的人名、地名。
基于生成式模型的约束条件少,过于多变的模型会导致回复中出现一些语法错误和语义无关的内容。生成模型需要海量的训练数据,且难以优化。

目前工业用的较多的还是基于检索模型或者以生成模型作为补充的两者结合。谷歌的Smart Reply 就是一个例子。阿里小蜜结合检索模型和生成模型各自的优势提出了一种新的融合模型, 首先采用检索模型从QA知识库中找出候选答案集合,然后利用带注意力的Seq2Seq模型对候选答案进行排序,如果第一候选的得分超过某个阈值,则作为最终答案输出,否则利用生成模型生成答案。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • chatbot的原理是什么? 人机对话通常是靠背后的数据库 & 文本检索支撑,然而数据库覆盖不到海量人类对话怎么办...
    LiuSRJ阅读 2,005评论 0 3
  • 前面的文章主要从理论的角度介绍了自然语言人机对话系统所可能涉及到的多个领域的经典模型和基础知识。这篇文章,甚至之后...
    我偏笑_NSNirvana阅读 14,433评论 2 64
  • 近日,谷歌官方在 Github开放了一份神经机器翻译教程,该教程从基本概念实现开始,首先搭建了一个简单的NMT模型...
    MiracleJQ阅读 6,748评论 1 11
  • 最近人工智能随着AlphaGo战胜李世乭这一事件的高关注度,重新掀起了一波新的关注高潮,有的说人工智能将会如何超越...
    MiracleJQ阅读 3,132评论 2 1
  • 很久以前我就想过这么一个问题:为什么现在还有这么多人在写小说、写诗、写鸡汤、写歌、拍电影…… 古代不是已经有了四大...
    就这样吧路人阅读 237评论 0 0

友情链接更多精彩内容