最近AI热火烧遍全国,语音智能助理是热中之热。各大公司不断加大了对这方面的投入,做垂直或者通用领域的初创团队也如雨后春笋般涌现,竞争非常激烈,不少业内人士认为智能助理将替代APP,成为新的交互方式。也有不少同行对目前的情况进行反思,认为智能助理产品非常不成熟,将会是过眼云烟。
这里也探讨下个人对智能助理产品技术的一点认识。
《为什么现在的人工智能助理都像人工智障?》中对各家主力产品的调研。从左到右分别是苹果的SIRI、 微软的CORTANA、Google的ALLO
智能助理产品的特点
智能助理,顾名思义,是帮助用户完成任务或实现服务的虚拟助理。从输入上,智能助理有语音输入和文字输入,技术上的区别是语音输入要做语音识别,将语音信号转换成文字。在相对安静的环境下,语音识别的字准确率可以到达97%以上。产品场景上的主要区别是语音对话输入并不需要打字,在识别准确的情况下输入速度更快,并可以解放双手和双眼,所以各个智能助理都有语音识别功能。智能助理在输出上分文字输出、图像输出、语音输出。目前智能助理产品最主要的方式是语音对话交互。
个人认为智能助理的语音对话交互,相比传统的APP交互有以下优点:
1) 便捷性:不需要双手操作,直接说话即可完成输入。
2) 输入跨越性:当用户使用某个APP时,用户切换到其他任务时需要打开另外一个APP;同一个APP内用户需要按照图形界面逐层深入,通过按键和关键词搜索实现APP的功能;而语音交互可以跨越不同APP,跨APP内部的层次,直接提出需求。
3) 输入的多样性:语音交互的跨越性自然会带来输入的不确定性。用户直接通过对话完成输入,没有图形界面的限制,输入会更加无序,同时需求也会更加多样。这就需要强大的自然语言处理技术理解用户需求和强大执行能力满足满足用户需求。
同时,语音对话交互相对传统APP交互也有如下缺点:
1) 输出信息量更少:传统的APP基于图形界面,能展现的信息量较大,比如大众点评,我们可以直接通过图片看到餐厅的环境,菜品的卖相。而语音交互输出在很多场景下无法展现这些信息,输出的信息量更少。
2) 私密性差:语音对话交互需要一定音量说出需求,这样会将需求暴露在大庭广众之下。
早期的智能助理都是作为一个内置或用户下载的APP供用户使用。猜测初期各家的想法是将智能助理做成一个超级APP,做成流量分发平台,取代各个垂直领域的APP。目前手机助手使用率、活跃率、留存率都较低,即使SIRI也不例外。
通过对比APP,我们可以看出,在手机大屏幕,经常在公共场所使用而场景下,语音对话交互无法普及的主要原因如下:
1)私密性差,所有的需求都会被周围人知晓。
腾讯董事长马化腾最近也在文章中提到:“另外一个例子就是语音搜索,我们没有作为重点去做,这个功能看起来方便,其实未必,比如一个人对着手机说我要去干嘛干嘛,好傻,人一多我都不好意思这么说,而且也不私密,宁可多按几下。”。
2)在手机上触屏操作APP并没有比语音交互复杂太多。
3)手机上可以展现各种图像信息,图形界面的信息量大的优势得以保存。
最近随着智能硬件的普及,语音助理逐渐被嵌入各种智能硬件中。iWatch、基于Android Wear的moto360、出门问问的Ticwatch等智能手表或可穿戴设备都内置智能语音助理。由于可穿戴设备屏幕相对手机更小,输入文字、点击触屏相对手机不方便;很多APP无法展现足够的图片信息;穿戴设备跟用户的亲密度更高。这些原因令用户在使用穿戴设备时更多使用语音对话交互。
在用户开车时,出于安全考虑,需要将精力放在驾驶上,除了在停车时可以进行屏幕操作外,语音对话交互几乎是唯一的交互方式。在车载场景下,语音对话交互用户的需求相对更加集中在地点查询及导航、音乐、音频节目播放等几个高频的领域,用户输入的不确定性相对减少。同时车内是更加私密的环境,大家在公众场所使用语音觉得“傻”的问题在车内基本没有。行车中的高安全性,对车载产品提出了操作的无手化、无屏化的需求。车载场景,将是智能助理产品语音对话交互更好的舞台。
亚马逊推出智能音箱Echo受到用户追捧,来自国外权威机构统计的数字,累计销量已经突破500万台。亚马逊研发的智能助理Alexa成为新的明星。音箱产品没有屏幕,语音对话交互成了唯一的交互方式。除了常用的音乐、新闻、打车等功能,Alexa也打通亚马逊账户支持网购下单。
目前音箱也成了国内各公司研发的新热点。
今年8月在华强北考察,普通音箱的价格普遍在100-200元左右,加了简单语音控制的音箱价格飙升到700-800元,一定程度上反应语音对话交互对音响产品的价值。家中的私密性、产品输入形式的唯一性、在家中随时说话的方便性,都决定智能助理将会在家居产品上得到更加高频的应用。音箱上语音对话交互,还是要克制。以购物为例,还是有很多问题需要注意。首先是说话人的识别,如果孩子通过音箱有意或无意下了很多订单,刷爆了家长的信用卡,这将会造成用户和服务商的纠纷。其次是购物外卖等方面,用户可以利用音箱买标准化的产品,如iPhone7、麦当劳的某款套餐。但用户说我想买一个蓝色皮包,蓝色有很多种,皮包样式更加千奇百怪,这对于语音对话交互是一场灾难。
综上所述,简单对比语音对话交互在各场景下的使用情况。笔者认为,可穿戴、车载产品和家居产品将是语音对话交互方式更好的应用场景。广阔天地,大有可为,也将成为各类智能助理产品的竞技常产品间的竞争,也将推动大家对技术的投入,智能助理也将越来越智能。
不同场景下语音对话交互对比
笔者因为工作原因, 所在公司出门问问也在不断寻找语音对话交互更好的应用场景,比如车载产品、家居等产品的无手无屏交互,更能发挥语音对话交互特长。以下简单举几个例子:
1)语音快词(Shortcut)
在Ticmirror中,智能语音交互技术有所升级。例如在导航状态下想要切换地图显示模式,不需要先说“你好问问”热词来启动语音控制,直接说“查看全程”、“3D模式”等语音快词即可直接控制。
2)一说而就(One shot)
用户也可以将热词和查询词一起连续说出,而不需等待,如“你好问问,今天的天气怎么样”。
3)随时打断(Barge in)
车载产品提供音乐、音频播放等娱乐服务,行进途中如果用户需要重新进行导航或者查看地图,不需要暂停歌曲,可直接打断正在播放的歌曲来激活操作。
智能助理中的主要技术都有哪些?
智能助理产品的语音对话交互,需要强大的技术支持,包括语音识别、语义理解、搜索技术、智能推荐、语音合成等核心技术。
语音识别
语音识别技术将用户的语音输入转化成文字。一般包括四个模块,特征抽取模块、声学模型、语言模型和解码器四部分。
特征抽取模块经过噪音消除、去除信道失真等对声音进行增强,从声音信号中提取特征向量。在特征抽取模块需要处理噪声、回声、其他人声音干扰的影响。解决思路主要分前端和后端,前端可以利用麦克风阵列计算说话人的角度和距离,实现对说话人声音的定向获取,从而实现将环境背景声音过滤。在后端可以通过训练含有噪声数据的模型提高系统的能力。
声学模型把声学特征对应到音素,生成整个序列的声学模型打分。早期利用的是隐马尔科夫-高斯混合模型。后期邓力和Hinton等开始开始进行深度学习在语音识别的探索,DNN大幅提高了准确率。目前研究者利用CTC、RNN、LSTM、TDNN进行探索,都取得了很好的效果。
语言模型计算一句话对应的词序列的可能性。最简单的是N语言模型,思想很简单,在上下文中,假设当前词的概率只与之前N-1个词有关,利用条件概率的连乘,得到整句的概率。现在已经也利用神经网络语言模型。
解码器模块整合声学模型、语言模型的信息,找到对输入特征向量最可能的词序列。解码器的核心算法是一种动态规划算法Viterbi。
随着深度学习应用在语音识别的声学模型中,语音识别的准确率得到很大发展,安静情况下准确率已经到97%以上。
语义理解
语音识别技术将语音转换为文字后,需要语义理解技术分析用户的需求。语义理解技术不同于语音识别,语音识别有统一明确的优化目标;语义理解没有固定的思路和流程,不同的团队会采用不同的解决办法。尽管如此,仍有迹可循,主体离不开以下模块:
查询分类:对用户的输入进行分类,识别出用户需求的类别。如“北京明天的天气”,将会被分到天气类,“附近有什么饭店”将会分到餐馆类。分类是基本的机器学习任务,主要的工作是清晰的类别定义,高准确的标注数据,选取有区分度的特征。做好数据和特征的工作,简单的线性分类器,也可以取得很不错的准确率,但为了更加精准,我们也将深度学习引入到文本分类中。
实体识别:识别出用户输入中的实体。如“我想听郭德纲的相声济公传”,识别出“郭德纲”是相声演员,“济公传”是相声作品。实体识别是一个典型的序列化标注问题,基本做法是对句子中的每个词标注不同的成分,最后利用机器学习方法进行识别。如例句中被标注成
“我-O”,“想听-O”,“郭德刚-PER_B”,“的-O”,“济公-BOOK_B”,“传-BOOK_I”。PER、BOOK等是实体的类别信息,“B”、“I”是词在实体的位置信息,“B”表示开头,“I”表示非开头。
指代消解:判断出指代词的指代关系。如“林丹的老婆是谁,她多大了”,我们可以知道其中的“她”指的是林丹的老婆。目前指代消解问题可以抽象成一个分类问题或排序问题,找到最可能的指代关系。
对话技术:对话系统需要理解用户的连续输入,满足用户连续的需求。如用户连续输入“附近的餐馆”、“人均100左右”、“要川菜”,要识别出“人均”、“川菜”等都是对餐馆的需求,而不是一个独立的需求在学习用户的行为过程中,发现用户更多的是逐渐增加搜索条件,而不会一句话中提到所有的条件。我们也研发理解上下文的技术,实现多轮的上下文对话。“下周五要去北京,帮我查一下航班”,“有没有国航的”这种问法已经搞定。
对话技术示例
问答技术:问答技术分为实体问答和其他类,IBM做的问答系统Watson最先在Jeopardy上战胜人类选手。
实体类问答结束主要分三个部分:
1)问题分析,分析问题的类别、需要答案的种类、问题中的修身关系等;
2)答案抽取,选出各个候选答案;
3)答案排序,找到最佳候选答案。
最近也有学者研究将深度学习sequence to sequence的技术应用在实体问答。如果结合传统的方法,性能上会有改进,但如果独立使用,并没有目前传统方法好,而且会需要大量的训练数据。这个例子也说明,在自然语言处理领域,并不是所有的情况、所有的领域,深度学习都是最合适的算法。选择方法时要结合规则、数据、特征、模型等进行选择。取法其众,得其上;取法其上,得其中。
知识图谱技术,在各个垂直领域,因为各个API的限制,有些用户多样性的需求目前并不能满足。
如找餐厅,各个APP并不能支持“全家聚餐”、“有包厢”等需求的满足。领域众多,每个领域内需也很复杂,所以有同行认为这些并不可以实现。对这种观点个人持保留态度,首先需求不是被造出来的,而是实在的存在于用户的行为中;其次每个领域的需求虽然众多,但在一定时间内可以认为几乎是一个近似封闭的集合。通过用户的行为分析,先将问题定性,再将问题定量。在音乐、餐馆、景点导航等泛poi类这些车载、音箱等场景下的重点领域,我们将进行深入的知识图谱挖掘,逐步将数据结构化,并建立自己的搜索引擎,打破API的限制。
搜索技术
当明确用户需求后,除了对接各种APP的API外,还需要搜索技术满足用户的需求。
搜索技术比较成熟,主要分为爬虫、索引、检索、排序等。抓取技术用来从互联网爬取信息,抓取技术的技术要点在于抓取的覆盖率、实效性和页面的精准解析。爬取信息后将内容进行索引,需要倒排索引和正排索引。倒排索引建立关键词和文档id的关系,并存储某一文档中出现的位置,用来找到包含关键词的文档;正排索引跟倒排索引相对,建立文档和文档中词和其他属性的关系,主要用来对召回的文档进行排序。最后是检索,当用户进行查询时,需要分析用户的需求,找到满足用户需求的结果。
当我们从数据中学习到用户的习惯、偏好后,需要推荐技术为用户推荐合适的信息、服务和产品。推荐系统有很多不同的底层实现,最基本的方法是协同过滤,协同过滤的思想是如果两个用户对一系列物品的评价相似度很高,则一个用户对一个物品的评价很可能类似于另一个用户。推荐系统需要解决的几个问题是系统冷启动、推荐的多样性和时效性等。
最后,需要将文字转化语音进行播报的语音合成技术。语音合成技术比较主流的是混合系统,根据统计参数模型,计算出大概的谱参数和基频信息,指导拼接系统从语音库中找出最佳的语音基本单元序列,并调整成流利连续的语音。
总结
通用领域的智能助理不可能解决所有用户的所有问题。
各个垂直领域的数据积累和研究逐渐深入,从高频到低频,问题会被逐渐解决。
在特定场景下,用户的需求是特定的,智能助理产品也要结合应用场景。
智能语音助理产品需要强大的技术支持和持续的技术投入。
即使一些领域的一些问题处理不好,我们仍不能否定助手产品的价值。大家仍需不断打磨技术产品,为用户更加智能地提供服务。让人们生活更好的,一定是在路上一步一步坚定不移向前走的人。
本文作者李超,出门问问NLP工程师