人工智能科普篇——微信上的人工智能
之前曾经整理过一次微信的发展历史,参见《微信产品探寻录--重新编辑版》,其中提到了很多微信中的人工智能应用,有兴趣的同学可以阅读一下,以更深入地了解人工智能在微信上的落地时间。
随着深度学习的兴起,AlphaGo的横扫棋坛,人工智能在语音,图像,NLP等领域近乎革命性的效果改进,人工智能可谓盛名有加。不过离人工智能走向寻常百姓家,还是有点距离。要普及人工智能,固然需要考科学家和工程师的强强联合,但是也离不开类似微信这样的国民应用,借助人工智能改进产品体验,给人民的日常生活,更来更多的便捷。
之前提到BAT的人工智能布局,很多朋友总以为腾讯在人工智能方面技术最浅,产品最少。我不以为然。本文就想尝试以微信产品功能为契机,介绍人工智能在当前互联网产品的应用,并尝试一窥人工智能目前的成熟度,未来技术变革可能给亿万人民带来的交互革命。
语音识别
人工智能这么火,各种人才动辄百万千万,除了谷歌的AlphaGo大力普及,投资人推波助澜,恐怕和深度学习技术在语音识别效果上的突飞猛进分不开。自从深度学习在语音领域初试锋芒,得到超过30%的相对错误率降低后,接着便在图像,自然语言处理等领域相续大热,并取得不俗成绩。
语音识别,业界术语为ASR,全称就是自动语音识别。早期是固定小词汇,目前都是大词汇量连续语音识别系统了。顾名思义,语音识别的任务便是,将语音信号转换为文本。深入为语音,输出为转录文本。业界比较知名的语音识别有科大讯飞,百度语音识别。出门问问,云知声,思必驰等,也是比较知名的语音识别相关人工智能公司。
下面我们就来看看语音识别这个事情,在微信上是怎么使用的。
热词唤醒
首先,语音识别一般都一个唤醒词功能。比如谷歌的唤醒词为“Ok ,Google”,亚马逊的Echo唤醒词为“Alexa”,科大讯飞出的灵犀语音助手使用的则是“灵犀灵犀”,出门问问的唤醒词则是“你好问问”。唤醒词功能,目前在微信上并没有相关的产品。不过腾讯系的云小微,是提供了该功能的。可以参考以下网址:
https://xiaowei.qcloud.com/
以下是腾讯云小微的相关介绍,其中我把唤醒词高亮显示,以证明我所言不虚。
小微,是一套腾讯云的智能服务系统,也是一个智能服务开放平台,接入小微的硬件可以快速具备听觉和视觉感知能力,帮助智能硬件厂商实现语音人机互动和音视频服务能力。
在使用小微的时候,只需要说一声“小微”,就可以开始播放音乐和视频、听有声故事和新闻、查询天气、学习英语、 与朋友聊聊天、创建任务提醒、设定闹钟时间等,小微还可以和各种智能设备进行交互,用来控制调节灯光空调和电视, 小微还能通过图像识别技术认识很多东西,这看起来很酷,是吧!来吧,让我们迎接AI时代的到来,用声音连接物理世界!
离线识别
离线识别是说,语音识别系统是不需要依赖网络的。整个识别的解码代码,跑在手机上。比如微信下图的联系人搜索,就可以做成离线识别。
不过经过笔者测试,该功能目前使用的是在线识别,而不是离线。可能是离线识别会使得微信安装包过大,另外, 微信本身是一个社交工具,离线了无法使用,因此做成离线识别也就没有太大意义了。
比如典型的离线识别的例子,就是车载上的车机控制,比如说打开音乐,调高音量等。出门问问的Ticwatch,就使用离线识别,实现了拨打电话等功能。
在线识别
所谓在线识别,就是识别的任务,是跑在云端的。本地只是负责录音和传输数据(当然,本地也可能会做静音检测,以提早结束录音)。
在微信中,聊天窗口中,添加底部“➕”(表情符号旁边),选择“语音输入”功能,即可实现在线语音识别,作用类似讯飞等的语音输入法。微信使用的是“按住说话”的交互方式。这个方式的好处是,放开录音按钮就意味着说话结束。还有一种交互方式,点击语音按钮后,可以放开录音。比如典型的有苹果的SIRI,国内的则有科大讯飞的灵犀,出门问问的语音助手等。
经过本人测试,微信的语音识别经过不断的改进,目前的识别率已经比较领先了。普通话标准的话,应该日常使用已经不是问题。当然语音识别的难题在于,非标准口音,远场,噪声环境。相信随着技术的进步,语音输入法在微信上会越来越流行。
当然,如果对方发送的是语音信息,而不是使用微信的语音输入法来发送文本信息,这时候用户也可以借助微信的语音识别技术,自动转换语音信息为文本。当你在开会的时候,收到了一位重要朋友的消息,比如父母的消息,这时候不方便收听语音信息,但是又想“看”语音内容,就可以借助这个功能啦。操作很简单,长按音频信息,选择其中的“转文字”,即可将音频转换为文字。
以下就是转换后的文本信息——
整体看起来,准确率已经非常高,没有一个错别字。当然,标点符号还不是非常完美,不过我们也没有必要吹毛求疵啦,因为并不影响阅读。
另外, 值得一提的是,微信公众平台已经开放了语音识别功能,只要如下图操作,开启“接收语音识别结果”,即可在接受公众号语音消息的同时,拿到对应的转录文本。这样,大部分的开发者,就不需要接入第三方的语音识别引擎了。
语义理解
有时候,知道说了什么字,并不代表说了什么意思。比如互联网上经常有这样的段子出现:
马云:“我看优酷视频的广告太烦了,帮我买一下。”
秘书:“买好了。”
马云:“买了年费会员还是几个月的?”
秘书:“啊?”
所以,语音识别就是有一天做到了100%的准确率,话说的是什么意思,也是一个巨大的调整。NLP(自然语言处理)就是做这个的。常见的自然语言处理任务包括分词,词性标注,实体词识别,关键词抽取,文本分类,自然语言生成等,这里不再展开。后续有机会再专门撰文介绍。NLP是一个基础技术,直接体验可能没那么直观。比如在微信中的“搜一搜”,“看一看”,就需要使用到NLP技术,才能够理解用户的搜索意图,了解用户阅读背后的喜好信息。
不过除了微信这个手机客户端,微信也提供了开放平台。而开放平台上,则可以看到微信NLP方面的API。
微信开放平台相关链接:
https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&lang=zh_CN
开放平台本身提供了一份语义理解接口协议文档,文档地址为:
https://open.weixin.qq.com/zh_CN/htmledition/res/assets/smart_lang_protocol_0414.pdf
举一个例子吧。比如用户想要查一下机票信息,问“查一下明天从北京到上海的南航机票”,API的请求信息如下:
微信开放平台返回的信息为Json格式,内容如下:
可以看到,NLP的输出信息包括出发城市,目的城市,起飞时间,航班信息等。这些就是所谓的语义信息了。
相信在不远的将来,NLP的一些技术,在微信的小程序上,将会发挥越来越重要的作用。有了自然语言处理的技术助力,广大的开发者将可以很方便的理解用户的搜索需求,而微信直接对接到小程序上的众多服务,直截了当地满足用户需求。
图像识别
图像识别技术,比较常用的有,人脸识别,车辆检测,OCR等。在微信的扫一扫中,可以扫码,扫封面,扫街景,也可以扫书本等不同媒介上的文字,实现翻译功能。
比如我随便找了一本书,对着二维码扫了一两秒,
微信自动打开了以下页面:
这个页面有书籍的简介信息,在线购买链接(甚至有各个在线商店的比价信息),当然,如果你有微信读书的阅读习惯,也可以在上面购买阅读,或者是订阅对应电子书的上架提醒。(写C++的程序员朋友,这里顺便推荐下这本书。这本书高屋建瓴,读完大有一览众山小的感觉。)
接下来我们再看看翻译怎么玩。我随便找了一个身边的购物盒子,上面有一个艺术化处理的Global 单词。可以看到,微信可以很轻易就识别出来这个单词,并且给出中文翻译。
当然,微信的开放平台,也提供了图像识别的能力。官方介绍如下:
利用微信图像识别接口,第三方开发者可以把微信图像识别能力集成到自己的应用中,通过集成图像识别SDK,使得应用具备移动视觉搜索的功能,可识别海报、广告、杂志、报纸上的图片和内容。
机器翻译
所谓的机器翻译,就是自动自动实现语言A到语言B的转化。上帝为了防止人类建造巴别塔,让人类使用不同的语言,给沟通造成了天然的屏障。而目前人类通过技术翻译自动,已经基本实现了跨语言沟通。这两年随着深度学习技术的进步,谷歌在机器翻译方面,更是取得了重大的进展。
微信产品上,目前使用的机器翻译技术,是使用第三方提供的,目前接入的是网易有道的翻译。使用也很简单,对你接收到的英文等信息,长按消息,点击“翻译”按钮即可。翻译效果如下图所示:
为了测试,我自己输入了一些对话常用语,也在网上随机找了一些名言警句。可以看到,简单的翻译问题不大,不过稍微难一些的,翻译效果差强人意。看起来,文学作品级别的翻译,是人工智能比较难取代的。如此说来,笔者以后失业了,可以考虑转型文学翻译:)
为了产品体验的改进,微信有必要自己投入研发人力,进一步改进翻译的效果。或者短期内,考虑接入更好的翻译引擎。
声纹识别
每个人的声音都有自己的特色,声纹识别就是利用了声音的特色,来实现对身份的确认。当然,音箱等家居产品的到来,可能会催生更多的声纹识别场景。比如根据声纹,识别使用者是家庭中的小孩还是成人,从而提供不同的内容推荐服务等。
目前微信里也有声纹识别的功能,那就是微信的声音锁。微信会根据你说话的声音,来判断话说人是否是合法的账号所有者。这个相比输入冗长难记的密码而言,产品体验上了不止一个台阶。
语音合成
语音合成术语为TTS,意即Text To Speech, 作用是将文本转换为语音。目前主要有参数化合成和拼接合成。目前最知名的语音合成系统,恐怕就是高德地图上的合成了,使用的是林志玲的声音进行播报。
目前我在微信上没有发现语音合成功能。不过在微信读书中,语音合成是挺重要的产品体验。如图所示:
点击右上角的选项,可以看到,可以设置语音播报的快慢,也可以选择朗读的声音。目前提供了四种不同的声音——普通女声,普通男声,特别男声,情感男声。
我试听了一两篇文章,整体还是不错的。大家可以对比下科大讯飞,百度等的语音合成效果。微信的TTS相比是不逊色的。另外, 除了微信读书外,微信开放平台也对外提供了语音合成的API。
可以想象,随着微信阅读的渐渐流行,以及阅文集团的稳步发力,语音合成在微信或整个腾讯平台上,将越来越重要。
搜索推荐
微信上最明显的人工智能硬件,恐怕就是搜索推荐功能了。因为目前受众最广的人工智能产品,也就是搜索和推荐。前者比如谷歌、百度,后者比如今日头条和腾讯新闻。笔者之前写过一篇文章,分析过微信做搜索的优势劣势,详情请阅读在待字闺中投稿的文章《马化腾给李彦宏投了一颗原子弹:搜索来了》。
微信上的搜一搜,就是典型的搜索产品。不过目前还没有扩展到整个互联网而已。相信搜索带来的巨大广告市场,以及微信搜索本身的产品体验,微信未来一定会加大搜索的投入,让我们拭目以待。
而微信上的看一看,则是典型的推荐产品。微信坐拥中国互联网产品中最大的用户群体,最长的使用时长,可以说是最“懂”用户的,只要她想,完全有可能做到最好的推荐效果。看一看的发展前景,我也比较看好,虽然目前看起来还是不温不火。
结语
综上所述,微信上的人工智能技术其实蛮多的,可以说几乎重要的人工智能技术,都在微信上有了很好的场景。这里总结如下:
语音识别——语音输入,搜联系人,语音消息转文字等
语义理解——开放平台
图像识别——扫码,翻译,开放平台等
机器翻译——接入有道词典
声纹识别——声音锁
语音合成——微信读书,开放平台等
搜索推荐——搜一搜,看一看
目前上面的人工智能技术,可能广大的用户使用还不够频繁,不过相比目前人工智能创业公司的产品,详细使用的用户规模也是领先的。相信随着人工智能技术的不断发展,微信在人工智能技术领域的不断投入,未来在微信中,大家将使用到越来越多越来越好的人工智能产品功能。而到时候,可能这些重要的功能,都是润物细无声的,而不是不断告诉你,这是人工智能哦,这是人工智能哦。因为,当大家说人工智能将是水和空气的时候,意味着AI将和无处不在的水和空气一般,不再被人们“意识”到它们的在。
最后,做个小投票,看看大家更看好BAT哪家的人工智能。