Chatbot基本概念

作者: 空穴来凤 | 来源:发表于2017-11-27 00:35 被阅读0次

    Chatbot 基于NLP技术,是一种人机交互方案。与传统APP交互不同,Chatbot以对话为主要形式。Chatbot的重要性,在交互未来中有介绍。本文主要讲Chatbot的基本概念。

    1.澄清

    Chatbot这个名字有点水分。翻译是聊天机器人,但它不是机器人。当你听到一个东西是机器人,就会拿出逗猫那套,各种玩它,逗她,下意识认为它是不同于你的东西。有种「你她」对立的感觉。Chatbot不是「她」,而是一种交互方式。帮助用户,将用户意图,转化为机器可以理解的内容,从而实现某个事情。叫chat-interaction更恰当些。

    2.对话管理(Dialog Management)

    对话是chatbot的核心。每一次对话,都是一次交互。当用户说出一句话,chatbot需要将这句话包含的信息,组成机器可以理解的内容。然后,根据一定的策略,给出一个反馈——回复一句话。这个过程就叫对话管理。

    平常对话,不止一轮。多轮对话中,每句话信息不同,需要添加新信息,更新已有信息,这个叫对话状态管理(Dialog State Tracking,DST)。语言中信息,复杂且多变,DST通常需要复杂又灵活的数据结构。DST是对话管理的第一核心。

    对话策略(Policy)要解决的是,如何根据用户的话中信息,得到恰当的回复。当前大量chatbot的策略,是基于写死的规则,是一大堆「if-else」的组合。也有一些团队,在用强化学习,实现智能化规则。

    3.意图

    意图这个词,人可以看懂,和机器的联系就很远,有点反机器。为什么?因为这个词,是产品经理想出来的。

    用户说完一句话,chatbot需要理解这句话。这个理解的首要点在于,搞清楚这句话背后,用户想要什么功能。功能也就是意图。在传统APP里面,功能都在界面上,用户可以看可以摸。现在情况变化,没有功能界面,用户只能用语言表达想做什么,chatbot要去「猜测」这句话是哪个页面,什么功能。「猜测」准确极其重要,否则就驴头不对马嘴,画风诡异。

    最简单的意图理解,是分类问题。对话轮数变多,还要考虑上下文,经典NLU文本分类算法可能不够,需要引入更多算法(如RNN)。

    4.实体(或槽)

    刚才说,理解一句话,意图是首要。然后呢,就是识别与意图有关的实体。实体(Entity)这个词,脸书,谷歌和微软的chatbot服务在用。亚马逊,百度,则用的是槽(slot)这个概念。能对应就好。

    意图对应功能,实体则对应完成功能所需的参数。比如,用户说,「我要打个电话」。「打电话」就是意图(功能)。打电话应该怎么做?用户还要选择「什么时间」打电话,打给「谁」,打「视频电话」还是「语音」。时间、谁、方式三个就是「打电话」这个意图关联的实体。画过APP交互的知道,这个页面要怎么来,不同的是,现在要用一句句对话来实现。

    又比如,「我想去河边钓鱼」。「钓鱼」就是意图。这次实体就比较复杂了。「钓具」,「天气」,河边在「哪」,怎么去的「路线」,「出发时间」都和意图相关。不过,如果用传统APP,要同时用到很多APP,而且容易乱,此时,chatbot式交互就非常有价值。

    实体识别,是词的提取和匹配问题,最近几年已发展成熟。chatbot需要应对的是,随时切换的意图,以及可能错综复杂的实体关系,这需要经验和洞见。

    5.场景(chatbot的应用)

    上边钓鱼的例子,实体里面有「钓具」、「路线」等,实际它们本身也可成为意图。这时,钓鱼就成为一个场景(Story),它是一堆互相关联意图的结合体。

    在场景这一层,基于Chatbot的应用,与传统APP已经没什么区别。理论上,Chatbot应用可以做的,APP也可以,它们是竞争关系。谁体验更好、成本更低很重要。对于chatbot,在场景生产的效率上,比APP交互远高,简直就是工业与农业的区别。想想,对chatbot真是充满期待。


    推荐电影:

    Her

    钢铁侠

    黑客帝国

    相关文章

      网友评论

        本文标题:Chatbot基本概念

        本文链接:https://www.haomeiwen.com/subject/pgetbxtx.html