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

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

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

,这句话里面需要包括时间的抽取,包括人数的抽取,还有你的意图,你是要定位还是要排号,还是要怎么样?然后如果你是餐厅的机器人,那你要怎么跟这个客户回复?我收到这些信息之后,我有几个空要填,订餐馆,需要的信息是时间、人数,你要包间还是大厅?还有就是一些特殊的需求,你需要几张婴儿椅,有没有人过生日,需不需要准备个生日蛋糕,还是要放个什么音乐,甚至唱生日歌。那帮你订餐馆就不一样了,对方讲的话我要如何去理解?然后如何去帮你回答?事先已经把信息都给它了,我知道我如何去跟那个餐厅的人一句一句的告诉他,我到底是几个人?是什么时间?要包间还是要怎么样的?虽然是反过来的,但基本上还是基本的语义理解。如果是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. 量子位·吃瓜社将持续带来线上分享,欢迎大家关注~—完—

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


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