专栏名称: 算法与数学之美
从生活中挖掘数学之美,在实践中体验算法之奇,魅力旅程,从此开始!
目录
相关文章推荐
九章算法  ·  黑五清单来了!$19.9秒算法/项目/BQ拼团课! ·  4 天前  
九章算法  ·  一份百试不爽的《学霸记忆LeetCode刷题 ... ·  6 天前  
九章算法  ·  K.O大厂“原题”的《大厂OOD面试宝典》, ... ·  1 周前  
中国计算机学会  ·  【CACC】报名倒计时3天!!! ·  5 天前  
中国计算机学会  ·  【CACC】报名倒计时3天!!! ·  5 天前  
51好读  ›  专栏  ›  算法与数学之美

5分钟带你复习如何打造对话式交互

算法与数学之美  · 公众号  · 算法  · 2017-04-29 23:05

正文






这是极客公园「极客公开课 · Live」第二期的活动,来自云知声AI Labs的研发总监刘升平和我们分享了如何打造对话式交互,以及他在AI领域相关技术产品经验

以下为本期课堂笔记精华摘要:

 会话式交互

什么是会话式交互?

我们可以从最早2010年,iPhone上一个App刚刚推出,上面可以通过语音说话,说我要查明天天气、我要看今天晚上有什么好看的电影,就直接会把结果用GUI的方式反应出来,这是最早的一种形态。然后,苹果应该在2010年左右,把他收购了,后来用在iPhone4上,iPhone4S的时候把它集成在一块推出来,但它的定位还是手机上的一个APP。

 为什么现在这种交互形态比较火呢?因为我们在移动互联网时代,大家都可以看到APP是最主要的形态,但在现在的物联网时代,有各种各样的设备在上网,但这些设备可能是没有屏幕的,可能不是触手可及的,也有可能它的使用场景不能用在手机和车里面中控的屏幕,也不能用眼睛去看,也不能用手去摸,这种情况语音交互是最自然的形态。


所以,这也是目前我们说会话式交互也好,叫Bot或者VUI;在IOT时代会话的应用应该会成为主要的交互形式,所以这是我们做产品肯定要跟上时代嘛,不能只停留在GUI的时代。

口语对话系统:

从技术上来讲,我们这叫口语对话系统。而这个口语对话系统,也研究了至少有三四十年,最主要有这5个组成部分:


1、语音识别,就是你说话我需要听清楚,把它转成文字。

2、转成文字以后要理解这句话的含义,这就是口语理解。

3、理解完以后,要考虑怎么跟你深层次应答,对话管理甚至要考虑上下文的理解,因为可能多人交互嘛,所以要对话管理。

4、说了东西以后再转化成自然语言,把我们的想法组织成一个适合说的语音。

5、然后再用语音合成,就是TTS,把它用语音播报出来。详细讲解请见知乎 Live

会话交互的技术趋势:

现在基本上先要语音识别,后要语义理解,然后TTS语音合成。但我们认为这三点,非常想和大家分享。


第一,我们仅仅做语义理解还不够,而要做到语用。什么是语用呢?我们在做自然语言处理的时候,一般会说它分4个层次:


1、在词法这一级,我们考虑一个词的含义。

2、考虑语法和这个词怎么成一个句子。

3、语义,这句话是什么含义。

4、语用,要考虑同一句话在不同的使用场景下,表达出来的含义是不一样的。详细讲解请见知乎 Live


 远场语音识别

这种IOT设备,离它有点距离的,所以这时候就是远场,远场语音识别比我们跟手机这种近场,我个人认为不止难一个数量级,主要在信号这一层,因为就像我在这里说话跟那边收到的,房间里有各种各样的声音折射和混响,特别是玻璃房里面,混响非常严重,大家可能在有些会议室开会有这种感觉,听见有翁翁翁的感觉,所以语音识别如果在这种情况下要识别准确非常难。


远场还有个很难的地方是,因为有个距离,远场声音的衰减是成平方的,所以我的声音到你那的时候已经变得很小了,这时候再加上各种各样的混响、环境噪音,声音质量是非常差的,这种情况下你还要听清楚这句话,非常困难。


所以,我们在做会话式交互的时候,能近讲尽量用近讲,不要用远讲,因为远讲对语音识别的干扰是非常大的。详细讲解请见知乎 Live


语用计算概述

什么叫语用?在研究这句话含义的时候,它有两个含义:字面表面含义,结合语境一句话的意思会不同,说句话到底是什么含义?而不是看那几个字是什么意思,因为它更多考虑的是说这句话时候真实的意图,而不是表面意图。


所以,在语言学里面更强调怎么通过语境来理解或者使用。除了在理解的时候要结合语境信息之外,我们在应答的时候也同样要结合这些语境信息。详细讲解请见知乎 Live


语用计算应用: 基于Seq2Seq的ChatBot

深度学习大家可能都听过一点,一句话进来另外一句话出去。这就跟我们做机器翻译一,一句中文进来一句英文出去,中间并没有真正理解你这句话,只是有很多中英文的语料,大家去训练这个模型,你说中文然后我说句英文,对话聊天也可以按类似的思路,它的框架实际跟翻译是一个框架,用一串莫名其妙的数字来表示。然后又吐出一句话,就跟机器翻译一样。

但训练的时候,需要很多聊天训练这个模型。这是现在学术界的一个方向,可以结合上下文。这个一致性也需要跟大家讨论一下。现在碰到最多的问题就是这个问题,以同样一句话去问它,它的答案会不一样。就像问小冰多大了,它说我是90后,再问它你是90后吗?它说不是,或者问它贵庚?它可能说70,再问它年芳几许?它可能说18岁。这是什么原因呢?目前聊天机器人的语料是从很多地方汇集在一起的,有人回答说你贵庚了?老人回答说今年88。它也不知道这几个问题是同一个意思,这会导致你跟一个机器人聊天,感觉它跟人格分裂一样,虽然说每句话都会回答,但它不是一个人的知识库,这种情况下是肯定通不过图灵测试的,如果一个人回答的信息一定是一致的。


在一致性方面,是在聊天方面最困难的问题了,现在有些方法,但也解决不太好。这个例子也是类似的,问住在哪里?说住在昌平,再问它是不是住在北京?它不知道是不是了,肯定要包含一定的知识,才能得到一致性的回答。详细讲解请见知乎 Live


会话式交互的产业化实践

这里面我可以给大家分享一下,可能不仅仅是从产品角度,假设你去做个公司,或者想把会话式交互产品落地,从技术转变成产品、商业模式,大概是怎样的思路。


在技术上刚才看到了会话式交互非常复杂,从语音到语言到知识,涉及的非常全面,所以这时就要做一个技术闭环,在技术这块一定要有用户、数据,通过这些用户的数据再去优化你的引擎。如果你的系统没有用户数据的反馈,光靠自己在底下吭哧吭哧优化,这个效果肯定不会太好。做搜索引擎的可能都知道,搜索引擎为啥越来越好?最重要的是用户可以做点击,如果你发现用户一般都是点第三个结果,那就可以把第三个结果提到第一个,因为用户的反馈告诉你了第三个结果最好,第一个结果不是最好,这样就可以更好的提升你的系统,这就是我们说的一定要形成个技术闭环。



长按二维码识别

欢迎大家把独特见解分享出来,投稿邮箱:

[email protected]