聊一聊ChatBot的智商和情商

2017-07-15  本文已影响0人  御风之星

引言

        在全球人工智能领域不断发展的今天,包括Google、Facebook、Microsoft、Amazon、Apple等互联网公司相继推出了自己的智能私人助理和机器人平台。智能人机交互通过拟人化的交互体验逐步在智能客服、任务助理、智能家居、智能硬件、互动聊天等领域发挥巨大的作用和价值。因此,各大公司都将智能聊天机器人作为未来入口级别的应用对待。


一、聊天机器人(ChatBot)的分类

如果对其应用目的或者技术手段进行抽象,可以有以下两种划分方法。

1.垂直域聊天机器人、开放域聊天机器人

       垂直域聊天机器人也称为目标驱动(Goal –Driven)聊天机器人,指的是聊天机器人有明确的服务目标或者服务对象,比如客服机器人,儿童教育机器人、类似Viv的提供天气订票订餐等各种服务的服务机器人等。

       开放域聊天机器人也称为无目标驱动(Non-GoalDriven)聊天机器人,指的是聊天机器人并非为了特定领域服务目的而开发的,比如纯粹聊天或者出于娱乐聊天目的以及计算机游戏中的虚拟人物的聊天机器人都属于此类。

2.检索式聊天机器人、生成式聊天机器人

         检索式聊天机器人指的事先存在一个对话库,聊天系统接收到用户输入句子后,通过在对话库中以搜索匹配的方式进行应答内容提取,很明显这种方式对对话库要求很高,需要对话库足够大,能够尽量多地匹配用户问句,否则会经常出现找不到合适回答内容的情形,因为在真实场景下用户说什么都是可能的,但是它的好处是回答质量高,因为对话库中的内容都是真实的对话数据,表达比较自然。

       生成式聊天机器人则采取不同的技术思路,在接收到用户输入句子后,采用一定技术手段自动生成一句话作为应答,这个路线的机器人的好处是可能覆盖任意话题的用户问句,但是缺点是生成应答句子质量很可能会存在问题,比如可能存在语句不通顺存在句法错误等看上去比较低级的错误。

      生成式的聊天机器人目前技术还不太成熟,目前大多数机器人还是属于检索式的。

      此外,按应用领域划分, 聊天机器人按照产品和服务的类型主要可分为:客服、娱乐、助理、教育、服务等类型。


二、聊天机器人的智商和情商

      是的,和人一样,聊天机器人也是可以有智商和情商的。

1.聊天机器人的智商

      和人一样聊天机器人的智商表现在能听会说。所谓的能听就是能够正确理解用户句子的正确含义,会说就是在理解用户话语的基础上给出语法正确、回答正确的回答。

      首先,针对用户的回答或者聊天内容,机器人产生的应答句应该和用户的问句语义一致并逻辑正确,如果聊天机器人答非所问或者不知所云,或者总是回答说“对不起,我不理解您的意思”,无疑是毁灭性的用户体验。

      其次,回答应该语法正确。这个看似是基本要求,但是对于采用生成式对话技术的机器人来说其实有一定困难,因为机器人的回答是一个字一个字生成,要保证这种生成的若干个字句法正确,并不容易做得那么完美。

       此外,对于聊天助手等应用来说,聊天机器人往往会被用户当做一个具有个性的虚拟人,比如经常会问“你多大了”、“你的爱好是什么”、“你是哪里人啊”等问题。如果将聊天助手当做一个虚拟人,那么这位虚拟人相关的年龄、性别、爱好、语言风格等个性特征信息应该维护回答的一致性。聊天机器人应该给人“个性表达一致”的感觉。因为人们和聊天机器人交流,从内心习惯还是将沟通对象想象成一个人,而一个人应该有相对一致的个性特征,如果用户连续问两次“你多大了”,而聊天机器人分别给出不同的岁数,那么会给人交流对象精神分裂的印象,这即是典型的个性表达不一致。而好的聊天机器人应该对外体现出各种基本背景信息以及爱好、语言风格等。

       通常用回答正确率、任务完成率、对话回合数、对话时间、系统平均响应时间、错误信息率等指标来衡量聊天机器人的智商。

2.聊天机器人的情商

       除了上面提到的要求之外,聊天机器人应答应该是有趣、多样而非沉闷无聊的。尽管有些应答看上去语义没什么问题,但目前技术训练出的聊天机器人很容易产生“安全回答”的问题,就是说,不论用户输入什么句子,聊天机器人总是回答“好啊”、“是吗”等诸如此类,看上去语义说得过去,但是这给人很无聊的感觉。一个好的聊天机器人应该像人一样具有情感,比如当你输入“宝宝不开心的时候”,聊天机器人会给你讲个笑话,在午夜睡前的它会主动给你播放轻柔的音乐并提醒你早点睡觉。相信,在未来,个性化情感抚慰、心理疏导和精神陪护等能力将成为聊天机器人的标配。

三、如何提高聊天机器人的智商和情商

      聊天机器人与人交互过程如图中所示。其中重点为自然语言理解、对话管理、自然语言生成部分。因此,若想提高机器人的智商和情商应该从以下几个方面入手。

人机交互流程图

1.自然语言理解

       聊天机器人的核心是NLU(自然语言理解),通过对话系统处理,最后通过自然语言生成的方式给出答案。一段语言如何理解对于计算机来说是非常有难度的,例如:“魔兽”这个词就具备至少两个含义,一个是游戏属性的“魔兽”,还有一个是电影属性的“魔兽”。自然语言理解的目的是为聊天任务生成一种语义表示形式。通常来说,聊天机器人系统中的自然语言理解功能包括用户意图识别、用户情感识别、指代消解、省略恢复、回复确认及拒识判断等技术。

      a.用户意图识别:用户意图又包括显式意图和隐式意图,显示的意图通常对应一个明确的需求,如用户输入“我想预定一个标准间”,明确表明了想要预定房间的意图,而隐式意图则较难判断,如用户输入“我的手机用了三年了”,有可能想要换一个手机或者显示其手机性能和质量良好。

      b.用户情感识别:用户情感同样也包含显式和隐式两种,如用户输入“我今天非常高兴”,明确表明了喜悦的情感,而“今天考试刚刚及格”,则不太容易判断用户的情感。

      c.指代消解和省略恢复:在对话过程中,由于人们之间具备聊天主题背景一致性的前提,用户通常使用代词来指代上文中的某个实体或事件,或者干脆省略一部分句子成分。但对于聊天机器人系统来说只有明确了代词指代的成分以及句子中省略的成分,才能正确理解用户的输入,给出合乎上下文语义的回复。因此需要进行代词的消解和省略的恢复。

      d.回复确认:用户意图有时会带有一定的模糊性,这时就需要系统具有主动询问的功能,进而对模糊的意图进行确认,即回复确认。

      e.拒识判断:聊天机器人系统应当具备一定的拒识能力,主动拒绝识别超出自身回复范围之外或者涉及敏感话题的用户输入。

当然,词法分析、句法分析以及语义分析等基本的自然语言处理技术对于聊天机器人系统中的自然语言理解功能也起到了至关重要的作用。

2.对话管理

对话管理功能主要协调聊天机器人的各个部分,并维护对话的结构和状态[9]。对话管理功能中涉及到的关键技术主要有对话行为识别、对话状态识别、对话策略学习及对话奖励等。

      a.对话行为识别:对话行为是指预先定义或者动态生成的对话意图的抽象表示形式。分为封闭式和开放式两种,所谓封闭式对话行为,即将对话意图映射到预先定义好的对话行为类别体系。常见于特定领域或特定任务的对话系统,如票务预订、酒店预订等,例如:“我想预订一个标准间”,这句话被识别为Reservation(Standard_room)的对话行为。相对的,开放式对话行为则没有预先定义好的对话行为类别体系,对话行为动态生成。常见于开放域对话系统,如聊天机器人。例如:“今天心情真好啊”,这句话的对话行为可以通过隐式的主题、N元组、相似句子簇、连续向量等形式表达。

      b.对话状态识别:对话状态与对话的时序及对话行为相关联,在t时刻的对话行为序列即为t时刻的对话状态。因此,对话状态的转移就由前一时刻的对话状态与当前时刻的对话行为决定。

      c.对话策略学习:通常是通过离线的方式,从人-人对话数据中学习对话的行为、状态、流行度等信息,从而作为指导人-机对话的策略。这里流行度通常是指特定模式在语料库中的频度。

      d.对话奖励:对话奖励是对话系统的中间级评价机制,但会影响对话系统的整体评价。常见的对话奖励有槽填充效率和回复流行度等。

3.自然语言生成

      自然语言生成通常根据对话管理部分产生的非语言信息,自动生成面向用户的自然语言反馈。近年来,在聊天机器人系统上的对话生成主要涉及检索式和生成式两类技术。

      a.检索式对话生成技术:检索式是在已有的人人对话语料库中通过排序学习技术和深度匹配技术找到适合当前输入的最佳回复。这种方法的局限是仅能以固定的语言模式进行回复,无法实现词语的多样性组合。优点:答案在预设的语料库中,可控,匹配模型相对简单,可解释性强;缺点:在一定程度上缺乏一些语义性,且有固定语料库的局限性。

      b.生成式对话生成技术:生成式则是从已有的人人对话中学习语言的组合模式,是通过一种类似机器翻译中常用的“编码-解码”的过程去逐字或逐词地生成一个回复,这种回复有可能是从未在语料库中出现的、由聊天机器人自己“创造”出来的句子。优点:通过深层语义方式进行答案生成,答案不受语料库规模限制;缺点:模型的可解释性不强,且难以保证一致性和合理性回答。

      c.检索和生成式相结合的技术:检索式和生成式各有优劣,两者的结合不失为一种好的方法。例如在某应用的聊天引擎中,结合两者各自的优势,将两个模型进行了融合形成了聊天引擎的核心。先通过传统的检索模型检索出候选集数据,然后通过Seq2SeqModel对候选集进行Rerank,重排序后超过制定的阈值就进行输出,不到阈值就通过Seq2Seq Model进行答案生成。

检索和生成式相结合的聊天引擎结构图

      最后,个人认为造好汽车要先造好轮子,只有造好了轮子才会让汽车安全、快速地行驶,只有把聊天机人的基础模块做好才会让聊天机器人的智商和情商同步提高,如:知识工程、信息抽取(实体抽取、关系抽取、指代消解)、句法分析、情感分析、主题分类、信息检索、句子生成、用户画像、个性推荐等技术。相信,随着数据量的积累,自然语言处理技术的成熟,我们的聊天机器人也会越来越聪明,越来越懂你!

上一篇下一篇

猜你喜欢

热点阅读