像上图那样的输入法笑话,相信不少人在日常生活中都会遇到。其结果是带来不同程度的伤害值,轻则弄巧成拙贻笑大方,重则……没有上限。其实,随着人们花费在手机上的时间越来越多,输入法的准确也变得越来越重要。
今天,第三方输入法“大牌”SwiftKey在其官网博客上很兴奋地向大家介绍其最新并具有突破性的产品——采用人工神经网络的输入法SwiftKey Neural。不过,目前只是Alpha测试版,安卓4.4以上的用户可以到这里下载SwiftKey Neural Alpha进行体验。
SwiftKey表示,SwiftKey Neural只是探索神经网络模型(neural model)的第一步,他们的愿景通过输入法全面了解用户,并根据用户的语气语调等预测整段回复而不是下一个字。说的恐怖一点就是模仿你来回应对方。
在博客中,SwiftKey表示SwiftKey Neural是全球首个采用人工神经网络技术的手机输入法,而且相比于目前主流的N-gram语言模型输入法技术,新的输入法预测更为准确,并更懂用户。因为SwiftKey Neural的神经网络模型会像人脑一样理解输入的词句,并通过上下文的语境预测出用户从未输入的词句。这与SwiftKey过去所采用的N-gram为词语的出现概率赋予权重有很大不同。
具体来说,N-gram模型基于一种假设,即第n个词的出现只与前面N-1个词相关,与其它不相关。而整句的概率就是各个词出现概率的乘积。这些概率可以从语料库中统计,也会根据个人打字的数据来实现记录。比如说,“我待会去_____(公司0.1,饭堂0.07,厕所0.05……)”。这时候,输入法会优先弹出概率比较大的“公司”。这种方式有一种很严重的缺陷,不能理解每个词语的意思,只能“重复”过往已经出现过的语序。比如,在“我今晚开会,晚饭不__”这句话中,N-gram模型会根据个人词句使用概率弹出“行,要,吃……”。但是,以人的思考模式,这两小口对话的应该是“晚饭不做了”。 而SwiftKey Neural输入法正式想要达到后者这般效果——理解对话语境。
SwiftKey Neural实现对词语的理解是通过赋予编码。如上图,通过大量数据训练的神经网络模型给“Meet you at the”四个字进行编码,从而“理解”这些单词间的关系,最后再预测下一个字的编码。当然,这种做法需要巨量的运算资源。为此,SwiftKey也做了相应的准备。SwiftKey表示,目前已经在大型服务器上部署好这应用。
有业内人士向雷锋网表示,SwiftKey Neural所采用的神经网络技术在25年前就流行了,有很多预测法都在运用这种技术尤其是工业应用,因为它比较简单,预测速度快。不过,这种技术有一种很大的缺陷,其优化速度和优化能力差,造成技术不稳定。
在雷锋网编辑看来,无论是N-gram模型还是神经网络模型,SwiftKey所寻找的不过是一个最佳的预测参数。还有一点很重要,如果各位读者对这个问题感兴趣,欢迎给雷锋网留言,我们一起探讨!!
最后附上N-gram模型和神经网络模型的图解:
via:swiftkey