当前位置:K88软件开发文章中心编程资讯编程资讯07 → 文章内容

竹间智能CTO翁嘉颀:如何打造主动式对话机器人 | 吃瓜笔记

减小字体 增大字体 作者:华军  来源:华军资讯  发布时间:2019-2-11 18:03:44

原标题:竹间智能CTO翁嘉颀:如何打造主动式对话机器人 | 吃瓜笔记主讲人:翁嘉颀 | 竹间智能CTO陈铭林 屈鑫 编辑整理5月10日晚,量子位·吃瓜社邀请到竹间智能CTO翁嘉颀,为大家详细讲解了情感计算的设计与应用,并对“如何做一个好的聊天机器人”进行了说明,简明扼要地指出自然语言理解在打造对话机器人的重要性。本期主讲人为竹间智能CTO翁嘉颀,熟悉算法、编程语言、搜索引擎、网络安全以及邮件安全,使用过的语言超过35种。作为AI领域的技术专家,他带领团队负责竹间在AI领域产品研发与技术规划,领域主要涵盖对话机器人、计算机视觉、金融科技等领域。△分享视频完整回放本次分享反应热烈,量子位应读者要求,将详细文字笔记整理如下:人机交互的演变历程人机交互不是现在才有,在三、五十年前就有了,以前的人机交互是指令式的。三十年前的DOS时代,是一行一行命令去打,甚至有些游戏也是用一行一行指令去打,后来DOS有它无法应用的困难性,慢慢变成Windows,人机交互用鼠标,可见即所得。然后出现了手机、平板等用触控式的屏幕,我们不再是用鼠标操作,可能用手指头就能做很多事情,所以现在App大量地取代了Web的一些Application。那未来会怎么发展?两年后、五年后(交互设备)真的变成一个手环、耳机、音箱的时候是怎样的?那个时候没有屏幕、鼠标、键盘,回归到人类最原始的用语音来交互的方式。要使用语音交互就要开始做自然语言理解。自然语言理解在过去二十年间被证明了它一直遇到一些瓶颈,直到深度学习、机器学习出来之后才有了一点点的突破。那能不能用语义理解的方式去理解你这句话的意图是什么,这句话对话的主题是什么,这句话的记忆和情绪是什么,然后慢慢做到一个更精确的回复。语义理解,举例来说,它主要分成三层:最底层是文字上——NLP,“我肚子饿了”和“我想吃东西”这两句话的句法结构不一样,虽然人称都是“我”,那能否正确地把这些句法结构分析出来,句法结构又是什么样子的。第二层是意图的识别,“我肚子饿了”和“我想吃东西”的意图可能是一致的,都代表我要点餐或者帮我推荐一下附近的餐馆,所以它们的意图是一样的。目前大家在做的是第一层和第二层,自然语言理解和意图识别,其实背后还有第三层。第三层比如说,像说我正在跟大家聊天,在介绍人机交互这个内容,突然说我肚子饿,那大家心里是怎么想?会不会觉得这个主讲人是不耐烦的?如果我跟一个女生突然讲我肚子饿,这女生心里会怎么想?她会觉得搞不好,我是不是要约她出去吃饭,我是不是有什么样的不良企图?上述是意图理解背后更深层次的意思。目前基本上全世界没有一家公司能做得好,能做到类似人的这个地步。要做到这个地步,除了意图理解,除了原本的NLP(Natural Language Processing)、 NLU(Natural Language Understanding)以外,还要做到一些情绪、情感的分析,做到整个情境的分析。一开始的聊天机器人也做了很多的引进。国内目前做音箱的公司可能有一千多家或两千家以上,其中绝大部分都是用规则来做的。举例来说,你跟智能音箱说“我不喜欢吃牛肉面”,大部分的音箱会抓到关键词“牛肉面”,所以它就跟我说“好的,为你推荐附近的餐馆”,其实我不是这个意思。如果跟它说“我昨天吃牛肉面,现在拉肚子”,这句话的意图可能是代表我现在不想吃东西,或者是说拉肚子应该怎么办?但是如果用关键词的方法,用模板的方法,它也会抓到关键词“牛肉面”,它又跟我来说“好的,为你推荐附近的餐馆”。并不是说关键词不可以用,关键词的准确度大概还是有70%左右,但它只能解决最简单的那种肯定句数据,句法稍微有一些变化,它是解决不了问题的。2000年前后Knowledge-Based Q&A(以Amazon、Google为代表)这个东西开始出来了,然后再到Apple的Siri,各位如果用过Siri的话,你会发现基本上聊天很难超过三句话,能够跟Siri聊下去的大概是两、三岁的小朋友,他/她会聊得很高兴,但是我们成年人跟Siri根本没办法讲下去。为什么?因为Siri大概相当于一个两岁的小朋友。去年的10月份,2017年10月份Siri在美国做了一个智力测验,她的智商就是一个两岁的小朋友。所以说有没有办法在后面再继续发展,真的变成一个对话式的AI?我是跟你交流,而不再是一问一答。那这也是今天要讲的主要的内容,一个主动式、对话式的机器人要得做到好,大概需要包含哪些部分以及应该怎么做?情感计算的设计与应用我们公司名字叫EMOTBOT(Emotional Robot的缩写,也就情感机器人缩写)。情感计算在人机交互里面到底扮演什么样的地位?我们目前做了4种的语音情绪——高兴、愤怒、悲伤、中性;人的表情我们做了9种;文字情绪我们做了22种,其实22种有点多,但是无论如何不应该是只有正、负、中三种,像画面上这张图,讨厌、愤怒、悲伤、难过、害怕其实是不一样的意思。必须能够分出这些负面情绪不同的东西,才有办法去做正确的反馈。通常文字的情绪是不够的,举例来说,“我高考考了500分”,你看到这一个句子,其实是不知道应该恭喜我,还是安慰我,这时候就要看我讲话的语气,如果讲话的语气是“高考考了500分”(慢速低沉),你一听知道我是悲伤的,可能要来安慰我。所以语音的情绪这时候强度还会大于文字的情绪,如果语音情绪存在的话。那如果把人脸表情的加进来,这就更复杂了,我通常举的例子是,我面带着微笑,跟我同事说“你死定了!”。脸部的表情我在笑,看起来是高兴,但是文字上“你死定了”是愤怒,两个完全相反,那请问一下这时我的情绪是什么?这搞不好连人都搞不懂。通常这个时候我们要去看上下文,如果说前面我们两个在开玩笑,那我突然讲了“嘿嘿你死定了”,那这个应该还是开玩笑。如果前面我们两个在吵架,我突然面带微笑跟你说“你死定了”,这肯定是在威胁你。所以除了各式各样的情绪之外,我们还做到多模态的情感,我把文字情绪、人脸表情跟语音情感整个加在一起,去算出说这个人目前的总情感是什么。那我们可以底下看一段视频。如何做一个好的聊天机器人我们接下来讲情绪情感可以识别之后,还要做哪些东西,可以做出一个好的聊天机器人。首先一个好的聊天机器人,无论如何避不开一些功能和技能:比如问机器人“明天上海会不会下雨?”,“明天后天北京会不

[1] [2] [3] [4]  下一页


竹间智能CTO翁嘉颀:如何打造主动式对话机器人 | 吃瓜笔记