主讲人:翁嘉颀 | 竹间智能CTO

陈铭林 屈鑫 编辑整理

量子位 出品 | 公众号 QbitAI

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分”(慢速低沉),你一听知道我是悲伤的,可能要来安慰我。

所以语音的情绪这时候强度还会大于文字的情绪,如果语音情绪存在的话。那如果把人脸表情的加进来,这就更复杂了,我通常举的例子是,我面带着微笑,跟我同事说“你死定了!”。脸部的表情我在笑,看起来是高兴,但是文字上“你死定了”是愤怒,两个完全相反,那请问一下这时我的情绪是什么?这搞不好连人都搞不懂。

通常这个时候我们要去看上下文,如果说前面我们两个在开玩笑,那我突然讲了“嘿嘿你死定了”,那这个应该还是开玩笑。如果前面我们两个在吵架,我突然面带微笑跟你说“你死定了”,这肯定是在威胁你。

所以除了各式各样的情绪之外,我们还做到多模态的情感,我把文字情绪、人脸表情跟语音情感整个加在一起,去算出说这个人目前的总情感是什么。那我们可以底下看一段视频。

如何做一个好的聊天机器人

如何为机器人赋予情感|吃瓜笔记

我们接下来讲情绪情感可以识别之后,还要做哪些东西,可以做出一个好的聊天机器人。

首先一个好的聊天机器人,无论如何避不开一些功能和技能:比如问机器人“明天上海会不会下雨?”,“明天后天北京会不会下雨”,而且可能还有一些基本的上下文,“明天上海会不会下雨?那后天呢?”,可不可以问股票?可不可以听音乐?可不可以叫机器人讲笑话?或者请机器人帮我打个车,帮我订酒店,帮我订外卖,这个都是功能、技能的部分。

知识图谱

如何为机器人赋予情感|吃瓜笔记

知识图谱是少数机器人可以赢过人的部分。

知识图谱的最基础是三元组,三元组就是“A的B等于C”。比如知道姚明的身高是2米26,姚明的老婆是叶莉,姚明的体重是140公斤,姚明打过球队是哪几支?姚明的生涯最高分43分,也知道叶莉的身高是1米9。

除了这些基础信息之外,知识图谱可以做推论,像一阶层的推论,姚明的老婆有多高?我知道姚明的老婆是叶莉,叶莉的身高是1米9。

那可不可以做两个阶层的推论?比如谢霆锋跟陈小春有什么关系?那这个我们通常不知道,但在知识图谱里面,知道谢霆锋的前妻叫张柏芝,陈小春的前女友也是张柏芝,所以陈小春是谢霆锋前妻的前男友,这是二阶层的推论,可以推论出来。

可不可以再做多阶层的推论?例如说陆奇加入百度之后,股价到底涨还是跌?那要先要知道陆奇是谁?什么时候加入百度的?百度那时候股价多少钱,现在股价多少钱,那到底涨还是跌,那是涨了百分之多少?人脑不会记得这么多事情,但机器人可以,所以这是机器人有机会赢过人的部分。

作为人是没有办法看了公司的一些差旅的规定,休假的规定,就回答所有的问题,因为有无穷多的问题要问——我去了北京,我要订酒店,我只能订公司的协议酒店吗?那协议酒店不太好,我可不可以自己加钱,订好一点的酒店,可以还是不行?那公司的差旅规定,机器人读完之后,它能帮你回答公司内部的员工这些说的问题。

当然更长一点的阅读理解目前还做不到。它不可能读完整篇金庸的小说,最后有能力来回答说谁的武功最高?这个目前机器还差得非常远。

对话主题

如何为机器人赋予情感|吃瓜笔记

除了知识图谱以外,再往下看对话的主题,这也是人机交互一个最主要的部分。

通常对话主题是有阶层关系的,例如我问“你喜欢英超哪支球队?”,“你喜欢英超哪支球队?”这是运动里面的足球里面的五大联赛里面的英超。那我回答“其实我喜欢巴萨”。你问我英超,但是回答是巴萨,这在人跟人的对话里面,可能是OK的,因为它的主题并没有偏离太远。

那我回答说“其实我喜欢看NBA”,你问我足球,我回答是篮球,这个对话主题偏离得比较远了,但是也不是完全不行。但至少我不会回答“我喜欢吃蛋炒饭”,这肯定是不行的,因为连最大的阶层主题都不对了。

另外可不可以在主题上做一些主动式的引导。今天机器人知道我喜欢看F1,所以今天在跟它聊天的时候,它可能不知道怎么回答,但它跟我说“我不太理解你的意思,但是上海的F1快要开赛了,你今年要不要买票?”

所以这个机器人是不是有机会主动去跳转话题,原本聊的话题万一聊不下去了,除了投降以外,能不能主动地去引导话题?它根据你前面讲过的话,根据对你的记忆,你喜欢什么?不喜欢什么?根据你的这个人的user profile,你的用户画像,它可不可以这么做?甚至机器人不再是被动的,不是永远说有人来问问题它才回答,它可以主动式地推荐,会说“今天NBA什么时候重重播,你要不要看?”因为早上在上班,你可能看不了。

上下文理解

如何为机器人赋予情感|吃瓜笔记

上下文的理解,这也是一个重点,我们基本上不会每次都讲一个完整的句子。举个例子,我的问句都是“那后天呢?”,但是“那后天呢?”代表什么意思要看我的上下文。

“明天我们去看电影好不好?”

“不行,明天有事。”

“那后天呢?”

“那后天呢?”代表说后天我们去看电影,好不好?

“明天上午会不会下雨?”

“会,明天上海小雨,气温几度到几度。”

“那后天呢?”这个就代表后天上海会不会下雨?

这是过去的那种指代消解,或者是主谓宾的缺失,因为这句话缺了主词或者缺什么词,所以去上面的句子把这些缺的信息把它拉下来。

另外一种是用对话主题式的方式:

“你们有卖净水器呀?”

“有啊”

“它占不占地方啊?”(目前对话主题是净水器)

什么东西占不占地方?净水器占不占地方。

“怎么卖呀”

什么东西怎么卖?净水器怎么卖。因为现在对话主题是净水器。用户突然说“你们信用卡目前有促销活动吗?”,我的对话主题从净水器跳到信用卡了,那这是我后面的对话,上下文又可以根据这个信用卡,这个会比较像人的正常交流。

至少不会像右边的这个,我可能问“我要买什么样的T恤?”,然后它给我三件,那我跟它说“要黑色的。”,因为没有上下文,它就根本听不懂在讲什么,它就跟我解释说黑色的定义是什么?让人一看就觉得你这个机器人很笨。所以上下文理解也是一个机器人要做到最基本功能之一,因为人不会每次都讲完整的句子。

长时记忆和短时记忆

如何为机器人赋予情感|吃瓜笔记

机器人可不可以记得你喜欢什么?你不喜欢什么?如果我是你的朋友的话,我总是要主动避开你不喜欢的话题,让你喜欢的话题去接近你。

所以说你不会有一个朋友是那种失忆症的患者,你每次跟它讲话都跟游戏的NPC一样,它完全不记得你是谁,只有机械式的回答。我跟它说我不喜欢吃辣的,我喜欢大张伟,它可不可以记得?两个月以后再问说“附近有什么餐馆?”,川菜跟湘菜就不应该出现了。

我跟它说“来一首我喜欢的歌吧”,它知道我喜欢大张伟,就会放大张伟的歌给我听。我住在上海,它记得了,所以当我问后天会不会下雨,指的可能就是上海后天会不会下雨。

这是长时记忆,基本上不太会变。短时记忆又是另外一个,比如我明天要去苏州见张先生,等下去超市要买牛奶,等下去超市我还要买鸡蛋。到了晚上我要回家的时候问机器人,“去超市我到底要买什么?”,它能告诉我是牛奶跟鸡蛋。所以这个短时记忆大概48小时到一周,之后就可以把它洗掉。

自然语言理解的重要性

如何为机器人赋予情感|吃瓜笔记

接下来讲到NLU(Natural Language Understanding,自然语言理解)的重要性。我们公司在NLU上做的东西也比较多。

中文分词:“我在黄浦江边”,应该分成“黄浦”跟“江边”还是分成“黄浦江”跟“边”。分词是一切东西的根本,分词分错了,后面也不会对。

词性标注,这个词到底是名词、动词、形容词还是副词?关键词是什么?

人称实体:是第一人称、第二人称还是第三人称。

言外行为:我说“等一下我们去吃麦当劳好不好?”,这句话是Question for Opinion,我在询问你的个人意见,所以通常你的回答可以是一个肯定句或者是一个否定句,或者是反问我一个问句,“那我们几点去”,这都是OK的。

还有句式识别等等

做了这些模块之后,后面到底可以用这些东西来做什么应用,

第一个,先看分词的重点,举两个例子,我说“你好可爱”,到底要分成“你好”和“可爱”,还是“你”“好可爱”,有时候“你好”要在一起,有时候“你”、“好”要分开。如果把“你好”并在一起的话,变成打招呼了,那整个后面的语义理解可能就错了。

语义理解除了刚刚的例子之外,还有例如像“我明天飞上海,住两天,要如家”这句话到底什么意思?整个分词分出来,我知道你的主词是“我”,明天飞上海住两天如家,你的核心动词是“飞”、“住”跟“要”,飞上海、住两天、要如家这个句法结构是这样。

还有一个东西叫SRL,也就是去抓住核心动词,飞上海、住上海,住的LOC(Location,位置)是上海,Agent是“我”和“飞”,TMP是“飞”和“明天”以及“住”和“两天”。那这个Agent其实不是很重要,但是时间是明天,而且是要住两天,另外ATP我知道是“要如家”,所以根据“要如家”就知道你的意图可能是订酒店,对话主题是酒店住宿。

然后帮你整个计算出来之后,我知道今天5月10号,所以明天飞上海是5月11号,住两天,我知道你是三天后离店,然后都市是上海,如家酒店,这个当然不够,上海这么大,机器人还要问你要住浦东还是虹桥的还是人民广场的如家酒店,还要继续问你心仪的价格,还要问房间类型等等,取得所有信息之后再帮你去完成这个任务。

人机交互的下一步

如何为机器人赋予情感|吃瓜笔记

那我们再来讲人机交互的下一步,那目前有很多的智能客服,比如淘宝、京东、唯品会、苏宁,招行、民生银行、携程等等,它们的线上客服已经是一个机器人了,但是你们去用过线上客服的话,就会发现目前可能还不怎么聪明,可能还没有达到你的期望,所以下一步应该怎么做?

我们先看一些数据,智能客服目前一定是搭配人工客服在用,也就是说机器人回答不了的问题,会转人工来回答,但在统计上会发现今天一个人跟机器人聊天,讲了一段之后,他最后决定转人工,其中的67%不是因为回答错误,而是因为答案他根本看不懂

举例来说,我跟机器人说我衣服买小了,他能知道衣服买小了,我的意思其实是说我想要换一件,或者我要退货。如果他知道我要换货,这个匹配没问题,但是换货的步骤可能有八个,它告诉我换货步骤总共300个字,这300个字不会有人要看的,我看到这300个字,就直接就失去耐心,决定转人工。

我们的期望是什么?期望是机器来和我交互,打印机连不上了,那你用的电脑是windows还是MAC?你要连哪一个楼层,哪一台打印机,你上次连打印机是什么时候?曾经连上过吗?还是这是第一次。跟我交流之后,最后告诉一个很简短的答案,直接告诉我应该怎么做。

所以会发现目前67%的决定转人工,其实都是因为答案设计不良,25%的用户决定转人工,可能是因为这是一个新的问题,因为这个问题过去不存在,机器人不会,只有8%的用户决定决定转人工是因为算法匹配错误。

所以算法就算做到一百分也不够,因为你只解决8%的问题。需要的应该是用交互的方式,用对话的方式一句一句问我,最后告诉我应该怎么办,这才是目前非常需要的。

除此以外,可不可以主动,机器人是不是可以不再被动等人来问。

比如在商场的门口,或者在某个货架门口装个监视器,装个摄像头,装个平板。有摄像头,一个长直发的女生走过来,机器人跟她说“这位女士你的长直发很漂亮,我这边有一些润发的东西,你需不需要?”根据这个用户的人脸属性去判断这些东西,而且主动地去跟她讲话,在讲话的过程中发现这位女士她的脸色越来越难看了,就赶快闭嘴,赶快转个话题。

这就是人脸属性特征、人脸情绪、人脸表情和整个人机交互对话一个综合性的应用。

那可不可以用机器视觉跟人机对话交互,开始慢慢地取代一些店员的工作,或者是至少未来无人店,无人店假设是真的没有人,到了一个货架上面,真的有疑问的时候,有机器人主动来介绍商品,主动来为我解答这些疑惑。

要做到的人机交互就不是一轮一轮的,必须是多轮的对话引擎。那这个可不可以做?以这个例子来说,比如说“我想买个理财产品”,机器人马上问说“您需要保本还是不保本的?”,这时候用户回答说“保本的,一年的预期收益不低于五个点”。机器人只问一个问题“保本不保本”,但是用户一次回答了三件事情,这时候能不能把这三个信息全部收集到。

所以需要机器人是用填巢的方式,有三个空格要填,现在用户回答我三个空格都填满了,我就直接回答他问题。如果用户只回答说“保本的”,接下去机器人就问他“要一年的还是半年还是两年的?那预期收益多少”,根据用户讲的话去把信息填入空巢里面,再根据缺失信息决定下一句要问什么话。

至少不会变成用户说“保本的,一年的预期收益不低于五个点”,结果下面机器人居然还问他说“你要一年还是两年的”,用户就会觉得这个机器人是个笨蛋。

Q&A

Google Assistant会中文吗?

中文跟英文差距比较大,Google中文目前做得不够好。

中文跟英文的差距在哪里?中文需要分词,英文不需要,尤其是德语,它的句法结构、文法结构非常非常规范,所以德语也许用整个文法分析句法结构,就可以知道你这句话的意图是什么,但中文差得非常远。

举几个有趣的例子,例如说“爸爸抱不起儿子,因为他太胖”和“爸爸抱不起儿子,因为他太瘦了”,两个“他”字指的是谁?那这个当然英文可能也会有同样的问题,那我们中文再换一个“你今天讲得很有意思”,“我就是意思意思”,“你这是什么意思?”,这三个“意思”可能都不太一样,这个可能外国人都不容易理解。

再讲更难一点“中国乒乓球谁都打不赢”,“中国足球谁都踢不赢”,这两句的句法完全一模一样,但是背后的意义可能不太一样。这个可能连小学生都不一定搞得懂。中文它有很多的麻烦的地方,包括分词,包括它的文法结构非常不规范。

Google Assistant如何去帮你打电话?如何帮你订一个餐馆?如何帮你去做事情?都需要什么技术?

第一,我们首先需要ASR(Automatic Speech Recognition)、TTS(Text To Speech),需要语音识别,把语音转成文字,还有最后的文字转成语音。那这两个其实目前国内有很多的企业做的比较成熟。

再下来是语义理解,这句话的意图到底是什么?这句话的一些核心的内容应该怎么抽取?我今天打电话说“我明天晚上6点,有6个人,其中两个小孩,要定位”,这句话里面需要包括时间的抽取,包括人数的抽取,还有你的意图,你是要定位还是要排号,还是要怎么样?

然后如果你是餐厅的机器人,那你要怎么跟这个客户回复?我收到这些信息之后,我有几个空要填,订餐馆,需要的信息是时间、人数,你要包间还是大厅?还有就是一些特殊的需求,你需要几张婴儿椅,有没有人过生日,需不需要准备个生日蛋糕,还是要放个什么音乐,甚至唱生日歌。

那帮你订餐馆就不一样了,对方讲的话我要如何去理解?然后如何去帮你回答?事先已经把信息都给它了,我知道我如何去跟那个餐厅的人一句一句的告诉他,我到底是几个人?是什么时间?要包间还是要怎么样的?虽然是反过来的,但基本上还是基本的语义理解。

如果是Google Assistant订餐馆的话,我知道对方问的问题到底是什么?对方问的问题是时间还是人数还是你有什么特殊需求,那这个其实是比较简单的,因为通常一个接电话的客服人员,他问的问题会比较规范,反过来比较难。反过来是,如果我是机器人,那就是一个客服人员,但是用户打电话来订餐,用户讲法五花八门,这个理解上通常会比较难一点。

指代消歧这个问题什么时候有突破?

说真的,我觉得有难度,因为搞不好连人都不一定搞得定,像“爸爸抱不起儿子,因为他太胖了”,这个“他”到底是爸爸还是儿子?这个可能每个人有不同的解释方式,就是说指代消解要往前看多少轮的对话,这个其实目前也都是有难度的。

目前做得比较好的可能是往前看差不多三轮到六轮的对话,但是往前看太多的话,准确率会大幅度下降,因为会有大量的误判。我个人的观点是:这些问题过去的25年一直都在解,一直都没有解好。

那深度学习出来能不能解好这些问题?目前看起来应该是不够的,只靠深度学习解这些问题其实根本不够,那也许还需要更新更好的技术出来,才能把上下文理解、指代消解或指代消歧做得好。

竹间多轮对话需要多少训练语料?

这分两个。第一个,我是如何知道你的意图?比如关于电视音量,我要调高音量,我有多少种不同的讲法,“调高音量”,“大声一点”,“太小声了”,“我听不清楚”这都是不同的讲法,那我如何知道这些讲法其实他的意图是一致的。

如果用关键词的方式,在我们过去的经验里面,你只用关键词,你大概准确度只能70%左右,大概就上不去了,如果用一些混合的模型,比如说我用深度学习,语言模型我也派上用场,然后一小部分的关键词排上用场,我把这这些东西混搭在一起。我目前在电视的这种意图理解上面有机会做到97%~98%甚至到99%。

像目前我们在四川的长虹电视,它背后是有我们的那个意图理解,大概准确度是97~99%之间,有机会做的比较好。那假设意图理解完了以后,后面是多轮对话,多轮对话,其实不太需要训练的数据,因为我就是要抽取信息。

你要定哪里的酒店?这个是都市信息的抽取,所以你可能讲上海可能讲浦东的,那我知道浦东也是在上海,你可能说虹桥的,也可能说五道口,我知道五道口在北京。

这是地点抽取信息,还有时间的抽取,数字的抽取,那甚至有一些像说“我要订机票”,是航空公司抽取东航(东方航空)、南航(南方航空)等等,我这个可以上传一个列表,它就用匹配的方式把这些同义词、把这东西抓出来,甚至做到一些模糊匹配。那这东西其实有大部分用规则来做,不需要大量的训练语料。

对话情感识别跟普通评论有什么不同?

通常普通评论我大概只要分成正、负、中就够了,这是舆情分析。我知道有人开始在大量抱怨某个事情,其实情感分析我可以做得比较粗糙一点,我知道是正面或负面就够。那对话就不一样了,对话的情感可能真的要至少分六种、十种,喜怒哀惊惧跟中性,那就像刚刚一开始说的,我悲伤,我愤怒,我害怕,三个都是负面情绪,但是我的对话的方式是不同的,我聊天的方式是不一样的。

知识图谱用什么来存储?

目前主流的有几个,包括Neo4j(图数据库)、ArangoDB、OrientDB,还有一些像、阿里也有发展自己的图数据库的一些存储方式。目前这些开源的东西,要看你的数据量,你的数据量如果超过1000万笔或者2000万笔它的性能可能会不够好,所以说目前这些开源工具还没有办法完全解决这部分问题。我们公司的图数据库可能有一部分是开源的,一部分可能就是我们自己来开发,可能整个数据库的数据结构根本就是我们自己写的。

多模态的情感是怎么做的?

这个有几种方式,就是基本上跟我们现在AI一样,不是用规则,就是用模型训练。模型训练我可以找几万个Case,语音情绪是什么?脸部表情是什么?文字情绪是什么?那它应该是什么结果?我有几万或几十万个训练数据,我都丢进去训练,那以后就可以有一个多模态的模型。

另外一个,也可以用规则,比如语音情绪如果大于90%,认为这个情绪是愤怒的,基本上他就愤怒了,人类表情跟文字情绪可能不用看,因为语音情绪非常重,做语音情绪,他认为我是愤怒的,但是信心程度只有30%,文字说我是高兴的,信心程度是90%,这时候我们可能用一些规则来做加权。

我们目前是用多种方式,学习的方式也用、规则方式也用,整个再综合起来判断。因为现在说的东西都一样,你想说规则可不可以用?它可以用,但是它可能就是60、70、80分,要再上不去了。

深度学习可不可以用?可以,但是深度学习一个是不是解决你全部的问题?也不够,你的训练数据量根本不够。所以目前比较好的方式,还是你用多种模型来混搭,比较有机会能够落地实现的一个方式。

句式分析怎么做的?比如在疑问句、陈述句中如何分析。

当然是有几种,第一个是有一个黑盒子,把这个句子丢进去,然后就给它标注,说这句就是疑问句,这句就是肯定句,那这样子去生成一个句式的答案,那当然我也可以根据分词的结果,包括你的词性标注完了以后,再根据这些线索再去产生出那你的sentence态到底是什么。

后面的这种方式其实会比较节约训练数据,如果纯粹用暴力的黑盒子去做的话,可能训练数据要比较大,但经过一些基本的一些拆解完了以后,我根据这些拆解的线索再去做训练,那训练数据样本会小很多,那比较可行。

相关学习资料

以上就是此次竹间智能翁嘉颀带来分享的全部内容,在量子位公众号(QbitAI)界面回复“180516”可获得完整版PPT视频回放链接

P.S. 量子位·吃瓜社将持续带来线上分享,欢迎大家关注~

— 完 —

诚挚招聘

量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态

相关文章