博舍

AI产品经理:对话型机器人话术设计思路 聊天机器人设计思路

AI产品经理:对话型机器人话术设计思路

对话型机器人和其他的智能产品不一样,它在使用的过程中用户可能会将它当成一个人来看待,所以对话型机器人在于人沟通的时候,要尽可能的与人的思维接近,能有继续聊下去的冲动。本文作者主要在文章中聊聊关于对话型机器人话术的设计思路。

对话是沟通的有效途径,会说话会使得沟通效率事半功倍。所以说,说话也是一门艺术,我们常常看到一些鸡汤文章写道:

急事,慢慢地说;小事,幽默地说;没把握的事,谨慎地说;没发生的事,不要胡说;做不到的事,别乱说;伤害人的事,不能说;伤心的事,不要见人就说;别人的事,小心地说;自己的事,听别人怎么说;尊长的事,多听少说;夫妻的事,商量着说;孩子们的事,开导着说。

这是人于人沟通的说话的艺术,那么人机沟通又该怎么设计呢?

删繁就简三秋树

对话型机器人和其他产品不同,用户在使用中会自然而然的把它当成一个人来看待,所以他就不能啰嗦。文字越多表达的信息越准确,那是说明书,要用户反复来看的。

但是对话型机器人说的话如果你不明白,直接可以继续追问。所以对话型机器人设计的第一个思路就是:简单明了。

以保险行业机器人为例:

“我是你的保险管家智小保,可以帮你查询你的保单,筛选最适合你的保险,为你提供保险名词解释,有任何保险相关问题你可以随时问我哦”

引导语是机器人和用户第一次见面时,打招呼说的话,话中需要包含三类必要信息:自我介绍,功能介绍,操作介绍。

“Hi,我是智小保,可以选保险,存保单,解答一切保险问题,快来试试吧”

缩减和组合之后,可以减少不必要信息的冗余,一目了然的明白了机器人的作用和功能,直接进入体验环节,减少用户流失。

知我心者知我求

大家都喜欢和知心姐姐聊天,就是因为你说完话后,知心姐姐可以透过你的语言信息,知道你要表达的东西,说出你想要知道的答案。同理,对话型机器人的回答,不只是回答用户表面信息,更要通过表面信息去理解用户的深层次需求,给出最舒心的答案。

例如:

Q:我要去东来顺。

A1:找到三个东来顺,您要去哪里?

A2:找到三个东来顺,您要去第几个?

A1回复不如A2,A2能够让用户准确的选出确定的答案,对于机器人来说,收到的信息是确定的,避免了错误率。不过再多想一步,用户问什么选择这一家,选择这一家的依据又是什么呢?

可以如下回复:

A3:找到三家东来顺,您是要去交通最快的还是评价最高的?

这样的话就可以通过一个预设的维度,帮助用户做出一个简单的分类选择。而不仅仅是数字排序。那现在的导航系统其实会有一个推荐线路,帮助用户做出一个选择,更加减少了用户的思考。

可以如下回复:

A4:找到三家东来顺,建议去***店,该店评分*分,距离*公里。

老妪能解

唐代大诗人白居易写诗,都念给老太太听,老太太能明白了,就不修改了,否则改到老太太能懂为止。这就是老妪能解的典故,同理对话型机器人不同于书面文章,必须要以口语话为标准,才能做到沟通顺畅灵活。

例如:

“好的 ”,“没问题”。这两个是常用的同意态度应答语。

“好的好的” 、“好的没问题”、“没问题哦,好的”都是口语中使用频率更高的,表达更积极的同意态度,语法上有点问题,但表达上没问题。但是这样读起来这个机器人才是活生生的不是一个冷冰冰的机器。

一言一语总关情

沟通对话就是为了要传达信息,信息可不可以被量化?怎样量化?

那就是“信息熵”。

早在1948年,香农(Shannon)在他著名的《通信的数学原理》论文中指出:

“信息是用来消除随机不确定性的东西。”

并提出了“信息熵”的概念(借用了热力学中熵的概念),来解决信息的度量问题。

根据香农(Shannon)给出的信息熵公式,对于任意一个随机变量X,它的信息熵定义如下,单位为比特(bit):

H(X)=−∑xεXP(x)logP(x))

从香农给出的数学公式上可以看出:信息熵其实是一个随机变量信息量的数学期望。日常生活中,我们经常说某人说话言简意赅,信息量却很大,某些人口若悬河,但是废话连篇,没啥信息量。

这就是信息熵低的表现,对于对话型机器人,相同数量的文字,如何才能传递更多的信息。那就是增加另外一个维度:情绪。

例如:

A:请您按照以上三个步骤完成操作,可以输出您的报告。

B:只要按照这三步,就可拿到你的报告喽。

A和B表达了同样的实用信息,即按照给出的三个步骤,可以拿到报告。但是B语句,带有情绪,“只要”“就可以”告诉用户这件事很简单,“喽”语气词,表明会话氛围欢快友好,利于用户放松。B比A更少的字符,表达出更多的信息熵。

欲说莫休

对于多轮对话的验证结果,其中有一个重要指标就是平均对话轮数。以聊天机器人小冰为例:尽管它只会聊天打屁,偶尔唱歌,还能写诗,倒是做不了什么正事,微软仍对它非常满意。

因为它取得了一个其他智能语音助理和聊天机器人难以取得的成就,在平均对话轮数(conversationspersession,CPS)这个指标上达到了23,远超Siri、Alexa甚至自家的小娜。

那么如何提高对话轮数,不把天聊死呢?

开放域多轮对话中每一轮回复的选择,不仅需要考虑是否能够有效回复当前输入,更需要考虑是否有利于对话过程的持续进行。

以下面两个对话为例:

A:赵丽颖是不是很好看?

B:太可爱了

A:赵丽颖是不是很好看?

B:还是杨幂好看一些。

第二组给出了不同意见,使得话题有了讨论空间。增加了继续对聊的可能性。

A:你喜欢看什么电影?

B:我喜欢看让子弹飞。

A:你喜欢看什么电影?

B:《让子弹飞》我看过好多遍,你呢?

看第二组可以知道,让机器人学会反问,可以在一个话题上进行深入探讨,使得对话持续下去。

总结

说话是一门语言的艺术,让机器人能说话简单,会说话难。既要说得好听,还有说的有用。既要花言巧语,还要猜透用户的心。路漫漫其修远兮,还需要慢慢去求索。

 

作者:老张,宜信集团保险事业部智能保险产品负责人,运营军师联盟创始人之一,《运营实战手册》作者之一。

本文由@老张原创发布于人人都是产品经理。未经许可,禁止转载

题图来自Pixabay,基于CC0协议

[转]浅谈聊天机器人设计思路

 如果你是我以前的博友,那你一定知道小D是谁了,小D是我设计的第一个WEB聊天机器人,虽然只花了两天的时间完成他,但也花了我不少的心思,今天我就给大家谈谈我做小D时的设计思路以供交流,如果你对智能聊天感兴趣,或许能帮你节省大量查找资料的时间。

        1  知识库

       机器人要想回答出你所提出的问题,那么首先它就要具备自己的知识库,就和人一样,逻辑分析的前提,需要你具备对这个问题所储备的知识以供参考,所以知识库的重要性就不可避免的成了很重要的成分,那么我们怎么描述聊天机器人的知识库呢,由于当初只是做来玩玩,所以我只是很简单的做出了一一对应关系的数据库。

       例如:我们生活在哪个星球上?对应回答就是:地球!

       由此很多问题和相对应的答案便组成了我们的知识库(也就是数据库,我用的是MySql)!知识库的大小直接关系到你的机器人是不是聪明。

        2 语句分析

        当然,仅有知识库是不能进行对问题分析并做出答案的,所以我们必须要赋予程序能够自我分析的能力。程序要想更加聪明,那不得不依靠强大的智能算法,因为我不是专业人士,所以开始也没使用到很多智能算法,只是简单的把句子中的分词提炼出来。

       我是这样设计我的小D的,先是进行完全匹配,然后是语句分析,最后是模糊匹配。

       完全匹配就是把问题的整个字符串拿到数据库中去查寻答案,如果能查到记录便把对应的答案返回给提问者!如果不能查到,就进行模糊匹配,所谓模糊匹配就是最大限度的把整句话的意思放到知识库去查询(我的方案是先进行语句分析,再模糊匹配)。

         例如:地球的半径是多少?

        如果完全匹配并没从知识库中检索到信息,那么下个过程就是语句分析了,我们先把整个句子的各个词语分开!

        例如:地球/的/半径/是/多少?

        在这里不得不提到分词算法,分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。而我们要做的就是要将这一个又一个的分词从句子中提炼出来。

         这里有个分词算法的PPT,点击下载

        感兴趣的朋友可以仔细研究下他们是做分词系统出了名了,我们可以借鉴其中的方法,如图:

         当我们把分词提炼出来了,我们就可以进行最大的匹配了---也就是模糊查询,我把它分为了两步,一就是进行整句模糊查询,因为可以尽可能的保留全句的意思:

        例如:select*fromQYwherequestionlike"*地球*的*半径*是*多少*"

         这样就能从知识库中查到更多关联的问题了,也有更多的答案选择!

        如我们可以查到:你知道地球的半径是多少吗? 等很多包含整句的问题!

        当然如果数据库中完全没有完全匹配的问题,那么可以提出关键词,我的方法是分词最长原则!

        如:地球/的/半径/是/多少?

        其中[地球][半径][多少]就是里面的最长关键词,我们可以设计算法,通过组合来匹配!

        例如:可以把[地球]和[半径]组合在一起

        select*fromQYwherequestionlike"*地球*半径*"

         这样即使全句模糊匹配找不到也能找到,当然这样的组合就要看你的程序是怎么写的,当然组合的要求要符合程序的特点,如果组合次数过于大多会影响程序的反应速度!所以最合理的组合能提高程序的使用性!当然如果经过这三个步骤没有相关匹配问题,我的小D就不能回答你所提出的问题了!它会很老实的回答:“我不知道?”等意思!

        这里要强调个技巧,比如在匹配问题的时候很可能会检索到很多的答案,这时候我们可以设计个随机选择函数,任意性的选择答案,那样程序就比较人性化了?比如你问到:“你吃饭没?”那么它可以回答“吃了”“没有”“我不吃饭”    

       而不是单一的回答。。。

       我只是简要的谈到了聊天程序设计的方法,当然这和那些真正专业的程序比较起来还是有很大的差距,如果你只是做来玩玩,以上这些就足够了,比如现在我在小D的程序里应用了缩句的方法,这也只是想提高它分析问题的能力,如果朋友你真想在智能聊天方面继续深究,那么就要下更大的工夫了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇