聊天机器人深度学习应用-part1:引言

DEEP LEARNING FOR CHATBOTS, PART 1 – INTRODUCTION

聊天机器人也叫做对话系统,是一个热门领域。微软、facebook、苹果、google、微信、slack都在上面做了大的投入,这是一波新的试图改变人和服务交流的创业浪潮。例如operator x.ai,chatfuel,以及一些库例如botkit微软的bot开发库

许多公司都希望机器人可以自然对话,和人类没有区别。并且许多对外声明说用了NLP和深度学习技术来实现这个目标。但围绕AI这些天花乱坠的宣传有时候也很难区别现实和虚化的差别。

我要在这个系列文章里将一些构建对话系统用到的深度学习技术。开始介绍一下我们的现状、哪些是可能做到的,哪些是短期内还几乎不可能实现的。本文是引言,后续还有介绍实现方式的

模型分类

检索式  VS 生成式

检索式模型(简单些)用一个预定义好的回复库并且在输入和上下文基础上启发式挑选近似回答。i挑选的办法可以简单用基于规则的正则匹配,也可以复杂一点用一些机器学习的分类器。系统不产生任何新的文本,都是在固定的集合里挑选答案。

生成式模型(难) 不依赖预定义好的回复库,生成新的语料答复。典型的依赖于机器翻译技术,但是并不是真正的从一门语言翻译到另外一门语言。我们是从一个输入翻译到一个输出(回复)


两种模型都有各自明显的优缺点。检索式因为依赖了预定义的语料,不会犯语法错误,然而可能没法处理语料库里没有遇到过的问题。同样的原因,也不能引用回上下文相关的实体信息例如对话前面提到名字、地点等。生成式模型更“聪明”,理论上可以识别上下文的实体信息(其实没见过业界有实现到的),但是模型非常难训练,且很容易犯语法错误(特别是长句子)并需要非常非常海量的训练数据。


两种模型都可以应用深度学习技术,但是学界研究都主要转移到生成式模型。像sentence to sentence 深度学习架构就非常适合生成文本,学者非常希望在这个领域有很快的进展。但是我们仍然在让这个模型建设且能好好工作的早期阶段。正式的产品系统现在还是更多采用检索式架构。


长 vs 短 对话


对话越长机器人越难自动跟上,另外一种情况就是目标是针对每个问题做一个答复的短文本对话。例如一个问题很容易得到满意的答复,但是多个问题的长对话就很难跟上,需要跟踪多轮对话并记住已经说过的话。客服机器人就是典型的需要在多轮对话上保持长对话的情景


开域 vs 闭域

开域的机器人,设定用户就是随时随地的开聊,不需要一个定义很好的目标和意图。例如在社交平台twitter、reddit上就是典型的开域。无限的话题、海量的知识库需求才能满足用户的聊天答复,所以这就非常难

闭域设定用户的输入以及机器人的输出都是在有限的空间里的,因为机器人有设定好的服务目的。技术支持、商店助手就是典型的闭域问题。这些系统不需要陪客人聊政治,只需要满足指定任务就好了。当然用户可以随时输入其他领域的问题,但是用户也没有期望机器人有好的互答


通用的挑战

当建设机器人的时候,还是有很多明显或者没那么明显的挑战存在,大多数已经研究的比较热门了。

综合上下文

去产生一个合理的回答,需要考虑语言学、语境、自然环境综合起来的上下文结果。在长对话里,人记住说过的话、交流过的信息。那是一个语言学的上下文,最常用的方式是把对话内容嵌入到一个向量,但是在长对话领域做这个事情非常难。Building End-To-End Dialogue Systems Using Generative Hierarchical Neural Network ModelsAttention with Intention for a Neural Network Conversation Model两篇论文都走进这个领域做了些尝试。还需要结合其他环境信息例如:日期时间、地点、用户信息。

COHERENT PERSONALITY

人格一致性

理想情况下机器人应该对同一个语义输入保持一致的答复,例如问:“你多大?” “你的年龄是多少?”应该有同样的答复。这个听起来简单,但是没有固定的知识库或者模型里的“人格化"就是一个非常棘手的问题。许多系统学着产生一些花言巧语搪塞性质的话术来答复,但并没有训练成产生语义一致的回答。因为通常训练数据都是来自很多不同用户的海量数据,而不是同一个用户。A Persona-Based Neural Conversation Model 这个论文在尝试在建设一个人格化的模型方向迈出了第一步。

EVALUATION OF MODELS

模型评估

评估一个对话机器人的理想方式是量化它是否完成任务例如在特点对话里解决了一个客服问题。但是需要人工来判断这个目标,所以这个评估办法成本非常高,高到很难实现。有时候连目标都不是很明确,例如开放式领域的聊天机器人,什么都聊本身也没什么目标。常规的量化指标例如BLEU用于机器翻译,并且基于文本匹配的办法也不怎么合适,因为一个合理的答复可能包含很多不同的词语短语。实际有这篇论文:How NOT To Evaluate Your Dialogue System: An Empirical Study of Unsupervised Evaluation Metrics for Dialogue Response Generation研究组发现没有任何一种通用的评估办法和真正的和人类判断是相关的。

INTENTION AND DIVERSITY

意图和多样化

生成式模型有个常见的问题就是趋向于生成一些普适性的答案例如:“不错” 或者“不知道”。google的smart relpy早期版本就十分喜欢对几乎所有输入都回答:“我爱你”  可以参看:googleblog 。部分原因是系统学习训练的方式,包括数据和用的算法模型相关。一些研究者尝试提出多样化的目标函数来达到多样化。但是人类读输入做出的回复是带有明显的意图的,而生成式模型(特别是开域型系统)训练的时候是不带意图的,所以缺少多样性的。

那到底该怎样开展实际工作呢?

已经给到了所有的前沿研究现在,那我们到底处在什么阶段并且这些聊天机器人系统实际怎么搭建的呢?让我们再次考虑架构的分类上来,一个开域的机器人明显不可能利用检索式架构完成,因为你没法手工创造足够覆盖所有领域的回复库。一个生成式架构的开源机器人几乎达到人造的综合智能了(AGI),因为他需要处理所有可能的场景。我们离这个阶段还非常非常远,尽管很多人在这个领域做研究

剩下给我们的就是在闭域机器人上搭建检索式和生成式架构还算比较合适,但是随着对话越长、上下文更重要后,问题也变得更加难。

在最近的一个采访里:andrew Ng ,百度的首席科学家,说的不错:

“现在大量的深度学习的价值是在你能得到大量数据的垂直领域里。这里就有一些我们没法做的领域例如:产生一个有意义的对话。现在有一些demo,但如果你在一些看起来有意义的对话上稍微挑剔的试一下,很快就会偏离轨道”

许多公司开始开放他们的对话机器人产品给用户,并承诺他们能随着收集足够多的数据后会变得越来越好。其实这更容易在一些非常垂直的领域上容易取得成功,例如聊天呼叫uber打车。在开放一点的领域里就超越我们现在的能力范围了。然而我们可以用这些系统的提议和修正回复去辅助人工更可行一些。

在外网产品系统上犯语法错误是非常有代价的并且会赶走我们的用户。这也是为啥大部分外网产品优先选择检索式架构,它不会发语法错误或者冒犯用户的回答。如果公司可以放手在海量数据上做,生成式模型也可行,不但是也必须有其他技术去辅助防止偏离轨道,就像微软的tay

阅读列表

我们下一文章里介绍怎么利用深度学习到检索式建构和生成模型架构的技术细节。但是如果你感兴趣看一些研究成果,下面这些文章还不错:

Neural Responding Machine for Short-Text Conversation (2015-03)

A Neural Conversational Model (2015-06)

A Neural Network Approach to Context-Sensitive Generation of Conversational Responses (2015-06)

The Ubuntu Dialogue Corpus: A Large Dataset for Research in Unstructured Multi-Turn Dialogue Systems (2015-06)

Building End-To-End Dialogue Systems Using Generative Hierarchical Neural Network Models (2015-07)

A Diversity-Promoting Objective Function for Neural Conversation Models (2015-10)

Attention with Intention for a Neural Network Conversation Model (2015-10)

Improved Deep Learning Baselines for Ubuntu Corpus Dialogs (2015-10)

A Survey of Available Corpora for Building Data-Driven Dialogue Systems (2015-12)

Incorporating Copying Mechanism in Sequence-to-Sequence Learning (2016-03)

A Persona-Based Neural Conversation Model (2016-03)

How NOT To Evaluate Your Dialogue System: An Empirical Study of Unsupervised Evaluation Metrics for Dialogue Response Generation (2016-03)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,590评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,808评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,151评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,779评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,773评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,656评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,022评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,678评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,038评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,756评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,411评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,005评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,973评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,053评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,495评论 2 343

推荐阅读更多精彩内容