最懂你的输入法

  人工智能一直是咱GEEK世界里的一个伟大命题,小时候谁不幻想拥有一台最懂自己的机器人伙伴,帮忙做个作业或是反抗大熊什么的。长大之后,却发现即便集合了全宇宙的最强大脑,要整出量产级的瓦力也不比国足夺得大力神杯来得容易。不过,前不久的一次专访中谷歌输入法研发团队告诉我们,其实你的身边不乏“知己“……

  隐形的知己

  或许你从未有闲暇去了解输入法的世界,但如果因此而认为输入法不过是按下一串按键,屏幕上就自动出现对应的词句,那可就有点肤浅了。你知道按下按键之后的0.05秒都发生了什么吗?0.05秒的时间,足够Facebook产生1500个“赞”,地球赤道自转23米,《新闻联播》播音员吐出0.2个字,也意味着输入法的引擎可能在数据库里跑上几万个来回,再把匹配的结果呈现在你眼前。

  以Android平台上的谷歌拼音输入法(以下简称IME)为例,当你在手机或平板上敲击键盘上的几个按键之后,输入法首先会进行用户界面的反馈,实时弹出对应按键的字母“气泡”。同时另一个并行的独立任务发起解码任务,将手指触碰位置的坐标体系、坐标附近按键的信息(用于模糊输入功能)、滑动信息、时间信息一起整合,进行分析处理。系统一方面根据各个触点的坐标信息判断,用户是否可能存在按键误按的情况,譬如用户实际上想要按a的几率是多少,按z的几率又是多少。而这一判断还要根据上下文关系、既有词库中的固定词组、近期更新的网络热门词汇,以及用户个人组词习惯等多种信息,共同参考得出。最终按照输入法计算出的概率大小排序,并反馈和显示在屏幕上。

  总之,繁杂的概率计算往往需要在地球人类难以察觉的时间周期内完成,仔细想想,这种百分比游戏对于我等演算控来说,居然有点天然萌的味道。而之所以说输入法可能比咱的父母、爱人、基友乃至对手更懂你,是因为它几乎了解我私密的癖好,譬如我输入cjk排在首位的是苍老师,而不是“采集卡”。而通过我最常搜索的关键词,它能知道我在写论文时遇到了什么麻烦,或者最近屁屁上长了点什么东西。如果喜欢用手机购物,它甚至知道我的信用卡密码——别紧张,只要没有被木马和被钓鱼,这些都是安全的。

  巨人的肩膀上

  如果世界上没有输入法会是怎样的?对于只要敲打键盘就搞定一切的美帝来说,这不是啥大问题。但是我等根正苗红的社会主义接班人可就不行了。且不提曾红极一时的智能五笔,早在互联网兴起之时,阿拉伯国家地区的石油壕们上网交流发明了一种Arabization语言,用字母和数字加奇怪的符号来拼写阿拉伯文。有时我们访问阿拉伯地区的网站就会看到布满奇怪乱码的首页,其实那些乱码就是当时石油壕们自创的网络语言。对此我只想说:感谢TV,感谢地球,感谢输入法,让我的拼音能力始终保持在全球领先水平。

  以上也是谷歌研发输入法的根源。往(guan)大(fang)了(shuo)说(fa),谷歌的愿景是“整合全球信息,供大众使用,使人人受益。”而且因为输入法是用户进行搜索的第一步,所以做输入法是谷歌的使命。当然,在我看来,木有自家的输入法就难以推广谷歌搜索,而且谷歌还有自家的ChromeOS和Android,输入法这种事儿当然得自己来了。

  而且谷歌玩起输入法也有其得天独厚的优势,比如广泛的用户基础保证了其支持的语种极多,输入法很大一部分就是要依托单词和语料库,而谷歌有大规模的网页数据作为语料库。而且谷歌旗下其他产品项目也能促使自动学习词典和语料模型的不断完善,包括手写输入和语音输入也是一样。

  语音输入就是一个最好的例子。2008年左右智能手机还未普及的时候,谷歌曾推出过一项“语音搜索”服务。谷歌提供了一个免费的电话号码,譬如当你在开车不方便上网查询的时候,你可以通过拨打这个电话来进行天气、股票等关键词搜索。这算是语音识别输入法的雏形,正是因为不断的语音数据收集和改进,才使得如今谷歌输入法不仅已经涵盖了全世界数十种语言,并能充分保证其准确性。

  语言的奇迹

  这些完全就是IT砖家们所说的“大数据”的最佳案例。其实还有一个例子更能说明搜索引擎和用户数据对输入法的支撑,那就是谷歌IME独创的粤语输入法。这在我看来简直是个奇迹,因为前提是主导这项工作的仁兄居然根本不会说粤语。

  IME资深软件工程师廖宝华在不会当地语言的情况下,开发很多语言的引擎,比如印度语、俄语和粤语都是他的菜。他解释得虽然轻巧,一切输入法的研发只需要先研究语言特征特点,比如发音组成、文字组成和语言习惯等,然后通过强大的数据来做出分析就可以了。但实际上,粤语输入法的开发并非易事。粤语是全球前十大语言之一,和国内各地方言不同,粤语从发音到文字,再到词汇乃至语法结构,都与普通话差异极大。而且全球范围内很多会说粤语的华人不会说普通话,没有办法用拼音输入法进行中文交流。

  比如粤语虽然使用温州人一样的字符节,但香港人包括其他说粤语的人,并没有统一的发音标准。而香港也是从上世纪90年代后期才开始推广中文教学,香港本身有很多种速成的拼音标准,还有一部分学校根本不用拼音教学,甚至是用笔画方式来教粤语文字。比如“你好”,普通话拼音直接就输入“nihao”,而说粤语的人可能会拼成“neyhao”、“neihao”、“leihao”。

  IME研发团队为了收集更多数据,分两次找了数千用户来进行“众包”(将一项繁杂的事情分摊给多人完成),各自来翻译某篇文章或某个软件,一次来建立最初的模型。这些用户来自多个国家和地区,包括中国香港、马来西亚,甚至美国的用户。而在内测后将粤语输入法放到香港谷歌搜索引擎上之后,事情就简单多了,嗯,大数据啊大数据(我会告诉你廖兄弟那段时间每天累死累活地研究各种语言习惯,然后被搞得欲仙欲死吗)。

  切水果一样打字

  在采访完这帮谷歌IME研发团队之后,我最大的感受是,看上去他们好像还真轻松,做好引擎、原始模型和初始语料库就OK了,其他的都有数以亿计的用户来不断完善。我随便问了问如果能收集到外星人的语言,那么是不是也能够做出外星语言的输入法。他们的回答果然简练:“只要我们有足够的外星语言数据”。我是不是应该说一句“地球的和平就靠你们了”?

  好吧,虽然有庞大的用户数据库作为基础,但一些好玩的功能可不是那么容易鼓捣出来的,比如说滑行输入。这个功能曾经被用户反馈说,“地铁上单手用手机打字很容易让人以为你在玩‘切水果’,把周围的小伙伴们惊呆了”。如果有机会,我觉得你也可以尝试一下这个很酷的功能,手指无需离开键盘,只要用一根手指滑经你想要拼写的拼音字母,就能完成输入。

  最初的滑行输入只支持拉丁语系(其发明者为谷歌总部一位华裔大神翟树民),但如果要让拼音输入法支持滑行输入,其难度不亚于破解玛雅密码。为了让这项功能用于拼音输入法,足足耗费了IME团队近9个月的时间来完成。中文滑行输入首先要解决语言转化的问题,拼音序列的模糊性、中文音调的模糊性,再加上滑行输入时按键位置偏差的模糊性,导致了400多个拼音音节对应6万多个汉字这样巨大的跨度。而且输入法还需不断判断手指滑行轨迹途经的字母是否是用户所要的。

  而这些变态的攻城狮在完成这项工作之后还折腾出了9键滑行输入功能。每个按键上集成有3~4个字母的问题,直接导致内测阶段各种受虐(请想象如何在9键输入法上输入“爸爸”这个词)。用IME工程经理杨帆的话来说:“大概花了几个月时间,做出来一个模型,内部找了几个人试一下,差点没有拍死。各种都有问题,一堆奇怪的事情,随便找个词就滑不出来。真的太模糊了。”结果只能全部推翻,重构底层算法,在不断求虐求羞辱的过程中改进,5个月后才得以最终发布。

  未来的终极输入法

  受美帝各种科幻电影荼毒,我们想当然地认为输入法的终极形态应该是脑电波输入神马的。可谷歌的工程师们直接斩断了这些念想。在他们看来,不同语言习惯和不同的使用环境,使得没有一个单一形式的输入法是万能的。比如很多印度人接触的第一个输入设备不是电脑,而可能是平板或者手机,那么对他们来说,手写反而是最好的输入方式。语音输入同样不一定适用于公众场合。至于脑电波输入,难保你和女神的聊天过程中不会突然想到苍老师或是一只羊驼。

  “多样化的输入需求让我们在研发产品时,不光是考虑目前正常人的需求,还要各种多元化的需求。比如我们专门去观察了一些盲人按摩师,发现他们打字输入速度超乎想象,为此我们也专门研发了针对视觉障碍人士的输入功能。但随着技术的发展,我们相信会有越来越多类似这种创新的方式被发明出来。我们甚至还在想像手机上的摄像头、重力传感器、加速传感器、光线传感器,所有的这些说不定都可以用来做输入。”这些真是不错的主意。最后,这次关于谷歌输入法的采访给我最大的感受是,能自动学习人类语言习惯,并不断改进的输入法,给我的感觉像是人工智能的雏形。未来相信会出现更好玩的事情。

  文+图=田东

……
关注读览天下微信, 100万篇深度好文, 等你来看……
阅读完整内容请先登录:
帐户:
密码: