HardBirch

输入法智能化发展历程——第三代输入法崭露头角

时间:10-01-13 栏目:系统技术篇 作者:鲁智森也有文化 评论:0 点击: 1,149 次

技术发展周期一般会持续十年的时间,我们现在已经进入移动互联网周期的早期阶段,这是过去的50 年来的第5 个发展周期:20世纪60
年代,大型机时代;20世纪70年代,小型机时代;20世纪80 年代,个人电脑时代;20世纪90 年代,桌面互联网时代;21世纪最初10
年,移动互联网时代。

在这5个发展周期中,中文输入法则经历了3个时代:1983年,五笔输入法诞生,成为单机时代输入法的前奏。23年之后,搜狗拼音输入法面世,输入法进入了互联网时代。2009年,一款概念产品搜狗云输入法则展望了云时代输入法的轮廓。

三个时代的输入法有哪些差异呢?从实际输入效果来看可见一斑,打开记事本,切换到任意一款时下流行的第二代拼音输入法,键入如下字符:

Zhengdangjuecebumenweimiheshouruchajudehonggoujisiguangyishi

出现在屏幕上的很可能是如下的句子:正当决策部门萎靡和收入差距的鸿沟集思广益是。但是,当我们切换到搜狗云输入法,敲击同样的字符序列,我们会得到我们想要的句子:正当决策部门为弥合收入差距的鸿沟集思广益时。

搜狗云输入法是如何大幅提高用户长句输入准确率的呢?笔者将按照输入法智能化发展的脉络,为您揭开输入法智能化背后的神秘面纱。

单机时代的输入法

有一定年龄的用户对单机时代的输入法会有印象。在那个时代,电脑似乎还是专业人士手中的魔盒,输入法讲究的是一个快字。所谓快,在那时被理解为重码
率低,以五笔为代表的一批基于字形、笔画、音形结合的输入法在当时十分流行,经过专业训练的打字员的输入速度甚至超过英文输入,很少有人考虑输入法的易用
性。

随着电脑的日益普及,全拼、智能ABC、紫光、微软拼音、拼音加加等输入法的用户数日益上升,毕竟拼音才是普通用户最容易学习的输入方式。这些产品
开始考虑易用性的问题,有了用户个人词库、自定义词库、组词和组句的概念,输入的准确度有了大幅度的提升。但互联网才刚刚走入人们的生活,机器的存储、计
算能力也有限,输入法本质上还是一款单机软件。

词库,注音和词频

拼音输入法的核心是词库,词库是记录的集合,每条记录包括词条、注音和同音词的词序(大多数体现为词频或概率)三个基本元素构成。早期的输入法的词
条和注音通常来自专业机构和个人的人工整理。词序通常基于统计词频,拿较大规模的文本(例如几年的人民日报)作为标准训练库(通常称为语料)。统计时首先
将语料切分成词条形式,比如今天漫天大雪,如果输入法词典中有今天,漫天,大雪这些词,那么这句话就会被切分成今天 | 漫天 |
大雪。这个过程称为分词。切分不是唯一的,今天 | 漫 | 天 |
大雪也是一种可能的切分,分词的目的是寻找一种最合理的切分方法。分词的具体技术在本文中不做详述,但合理的词频统计一定是基于合理的分词方法。切分后每
个词条的总出现次数称为词频,除以所有词条出现的总次数后得到出现的概率。当输入特定的拼音序列时,如果匹配上多个词条,将按照词频或概率的高低确定展现
顺序。

理论上,如果词库集合无穷大,可以把所有文本片段放入词库中。例如今天漫天大雪所有字串全部放入词库一共有21个词条。所有这样的碎片加入词库,理
论上可以匹配用户想输入的任何信息。但不幸的是,电脑的计算能力、存储能力、以及软件的安装包大小等,不允许过大的词库。早期的输入法词库的规模最大也只
有十万条左右。
在单机时代,输入法的好坏往往取决于词库的大小、质量、合理性等。

组词和组句

当用户输入的拼音序列无法完整匹配上词库中的任何一个词条时,这时有两种做法,一种是早期输入法如全拼和智能ABC的做法,仅仅提供给用户最长匹配
的词,例如输入jintianmantiandaxue这个句子,给用户的候选是今天,当用户作出明确的选择后再给用户后续选择。另一种做法紫光、拼音加
加等输入法发,通过某种方法猜测用户想输入的完整句子或短语作为候选。

实现这一输入方式,首先需要对用户输入的整体拼音串进行切分,切分成不同的音节,比如用户输入jintianmantiandaxue
时,jintian | mantian | daxue,是一种切分方式,而jintian | man | tianda |
xue是另一种切分方式。之后把每一个拼音切分映射成词库中的词,得到不同的词与词的组合。最终可能的组合有今天 | 漫天 | 大学,今天 | 漫天
| 大雪,今天 | 慢 | 天大 | 学等。最终将哪种组合方式展现给用户呢?最普遍的做法是,计算每一种组合方式的组合概率。对于组合
w1,w2,w3,w4,最简单的计算方式就是:

P(w1,w2,w3,w4) = P(w1)*P(w2)*P(w3)*P(w4)

那么整体组合概率就依赖于每个词单独出现的概率(也即词频)。

这种组合概率计算方法称为1元模型,统计信息少,计算复杂度低,也有一定的准确率,在早期有着很广泛的应用。但这种方法的错误率也是比较高的,例
如,如果在全局信息中,P(大学) P(大雪),那么概率最大会是今天漫天大学,用户仍然需要进一步修改大学得到大雪才能输出选项。

这个问题如何解决呢?

互联网时代的输入法

互联网时代的输入法以搜狗输入法为代表,它诞生于互联网应用爆炸的时代,电脑已经不再是少数人手中的玩具,已经深入到千家万户中,聊天、论坛、写
博、评论、电子邮件等网络应用已经取代专业输入成为主流需求。由于传播渠道有了质的改善,各个输入法产品之间的竞争也显得更为激烈。传统的词库制作方法已
经不能满足网民的需求,体现在以下的三个方面:

词库中大都是比较权威的正式词条,而少有网民的口语词汇

互联网上的新词热词往往成为网民们热衷讨论的话题,需要非常快的词库更新速度

网民在进行某个特定领域输入的时候,严重缺乏该领域的专业词条

让我们看看搜狗输入法所代表的新一代输入法的进步所在:

互联网语料

互联网语料是解决上述问题的主要钥匙。网络上充斥着大量的信息,有的是权威发布的信息(如官方新闻等),有的是网民的交互活动产生的信息(如论坛,
博客),当然也有大量的无效信息,例如广告传销、SEO作弊等。互联网语料的生成本身是一个复杂的问题,但依赖于搜狗搜索引擎的技术底蕴和海量数据处理能
力,我们能够比较方便的获得最新的优质语料。这也是输入法能越来越聪明的基础。

新词和口语词

互联网具有这样两个特点:有大量网民产生的非主流的口语词汇;随时会产生新的词汇、词法或流行语。这就意味着,传统的基于人工构造的词典不会有很好的效果。口语词发现和新词发现成为互联网输入法的重要技术点。

比如帅哥这个词,在官方、正统的词库中是不会存在的,但在网络上使用频率非常高。再如云计算这样的词,在特定时间出现井喷。这两类词的发现在技术实
现上稍有不同,但都是基于对海量语料的高频模板的挖掘。幸运的是,新词发现(特别是专有名词的发现)是近年来研究界关注较多的领域,有丰硕的成果;而搜狗
搜索引擎本身也有着丰富的积累,使我们能用很短的时间取得突破。

专业细胞词库

专业词汇的发现技术和新词、口语词类似,只要我们能够获得特定专业领域的足够语料,后续的挖掘行为是雷同的。我们通过对文本分类和聚类算法,将某一
个领域中被局部用户使用比较多的词汇聚合成一个类,形成我们的专业词库(也就是搜狗的细胞词库),并通过细胞词库推荐的形式,推荐给需要的用户使用来提高
其输入的效率。

组词算法的革命

通过新词发现、口语词发现、专业细胞词库,输入法已经聪明了很多,能够做到与时俱进了。下面我们回到最开始的话题:输入法怎样变得更聪明,能更准确的理解用户的意图呢?

还是以今天漫天大雪为例。如果是一个人,光看到daxue时,第一印象很可能也是大学,但如果看到mantiandaxue,通常会反映过来是漫天
大雪。这是因为人的思考结合了上下文和语境等因素。这也给我们一个启示,漫天和大雪之间的关系更强,一个改进的方法是,在分词统计的时候,不仅统计词条出
现的次数,还统计二元组连续出现的概率,比如P(漫天,大雪),那么在计算整体组合概率的时候,就可以简单的使用:

P(今天,漫天,大雪) = P(今天) * P(漫天,大雪)

由于在统计语料中,(漫天,大雪)出现的次数会远远地大于(漫天,大学)的出现次数,因此最终今天漫天大雪的组合概率将更胜一筹。

显然的,这种基于二元组的概率计算方法更具有整体性。但相比基于词的概率计算方法,却要存储更多的信息,如果词典中有N个词,那么理论上需要存储的
组合数目为N*N,空间上是之前的平方级别。而且由于训练语料相对比较小而且不容易获取,因此实际统计出来的组合数目相比全局空间来讲要少很多。

严格说来,二元模型并不是互联网时代的新鲜事物,微软拼音、黑马神拼等输入法早在单机时代也使用过类似的模型。但受限于训练语料的规模以及机器的计
算存储能力,从计算效率和效果上,都不是非常令人满意,此外过大的安装包大小也影响了他们的传播。在互联网时代,用户桌面电脑的性能有了大幅提高,使较复
杂的模型有了可能。

我们能不能使用更大的数据规模、更强的模型来做到更好的效果呢?尽管用户桌面电脑的性能提升显著,但单机计算能力和存储空间还是有限的,我们不得不
考虑一些使用老式电脑、或者网络状况不佳下载缓慢的用户。在诸多因素的平衡下,主流的输入法大多数仍是基于二元组的概率计算模型,所以,输入法聪明了很
多,但仍然聪明得有限。

云时代的输入法

互联网时代的输入法仍然是传统意义上的桌面输入法,需要以安装包或者定期更新的形式把信息库存储到用户本地电脑上,而用户在输入的时候也必须使用本
地的存储和计算资源。很显然,这种传播、更新、存储和计算方式,将是当前输入法发展的主要瓶颈。但是随着云时代的到来,网络延时不断降低,浏览器逐步取代
本地操作系统,这就为输入法逐渐脱离桌面的限制,成为纯粹的网络输入法带来了契机。

直到搜狗云输入法的诞生,云时代输入法的雏形,才真正开始向世人崭露头角。

何谓云输入法

搜狗云输入法本质上是网络输入法,但为何称为云输入法?一方面,输入法本身的核心处理过程主要是信息存储、信息挖掘和概率计算,而非信息传输。搜狗
云输入法的存储和计算都是在大规模服务器集群上完成的,这些服务器不仅存储能力巨大,而且多核处理器性能超强,能够同时支持成千上万的用户进行在线计算。
用户端只需要通过网络把复杂的计算任务请求发送到服务器群上然后等待服务器群返回计算结果,这个大规模服务器的集群,正是云计算中的云端。另一方面,搜狗
云输入法已经对外公开了计算接口,成为一个真正的输入法计算服务提供者,任何用户和第三方开发商都可以通过和服务器群直接交互来获得计算服务。可以看出,
搜狗云输入法其本身已经具有了云计算的种种特质,因此冠名云输入法并不过分。

显而易见,相比于个人桌面电脑,云输入法使用的大规模服务器集群的存储计算能力已是不可同日而语;同时,由于服务器成了所有用户的容器,在这个容器中进行信息挖掘和信息更新就可以变得实时。这种利好是如何具体体现的呢?

超大信息量

相比于桌面输入法的小而精,搜狗云输入法可以做到输入领域的大而全。通过搜索引擎抓取前所未有的超大训练语料(TB级别),可以做到无论是口语,古
文,散文,现代文,诗词歌赋等不同文体,还是政治,经济,体育,娱乐等不同领域,都能面面俱到,应有尽有。权威词条,高频口语,方言俚语,专业词汇,网络
热词等古今中外,都可以统统纳入词典而不受任何限制。

实时更新

通过对用户输入的实时统计和挖掘,可以根据用户对词条的输入情况,随时对词库进行补充和更新,进行基于用户词的新词发现;并且根据用户输入的分词统
计,随时对词库的词频做出合理的调整,给用户最合理的词条排序;另外,还可以通过搜索引擎不断的抓取最新的网络资源,及时的分析网络新词并加入词库,以最
快的速度使用户获利。

整句输入质的提升

由于大脑可以记住的文字信息量更大了,思考的速度也可以变得更快了,自然而然,此时的输入法就可以变更聪明了。通过扩大信息量并且采用更复杂的概率计算模型,整句输入的体验有了质的提升。

首先,以缓解工作压力(huanjiegongzuoyali)为例,如果采用基于二元组的概率计算模型,会得到什么样的结果呢?打开搜狗桌面输入
法,经过拼音输入得到换届工作压力,令人失望。切出搜狗云输入法,输入结果则是缓解工作压力。为什么桌面输入法得不到最终的结果呢?

这种二元概率计算模型,会看到前后两个词之间的关系,但是却看不到缓解到压力之间联系。(换届,工作)是同音下最高频的二元组,因此对于二元概率计
算模型,换届工作压力的整体概率强于缓解工作压力。但在搜狗云输入法中,我们对三元组(缓解,工作,压力)的概率也会进行存储并且在计算整体概率时使用。
显然,这是一种更合理的整句概率计算方法,因为进一步加强了前后词之间的联系。有一个显而易见的结论:如果我们计算整体概率时采用N元组概率信息,那么N
越大,我们对整体组合概率的评估也会越准确。当然,更大的N会导致存储空间成指数级的上升,这也是桌面输入法目前大都限制在二元模型上的最主要原因。但是
云输入法却不受这样的限制,因此我们在构建模型库的时候,不仅存储了二元组信息,还存储了三元组信息已经更长多元组的信息。

当然,这个N不可能无限的扩大下去,计算复杂度问题和语料稀疏性问题终究不可避免。那搜狗云输入法又是如何解决这个问题的呢?在进行分词过程中,我
们不仅统计词条和元组的频率,同时我们会统计远距离搭配的频率,这些远距离搭配,有的是实体意义上的搭配,有的是句式语法意义上的搭配,最终都能为整句输
入的改善提供巨大的帮助。现在终于到了回答我们在前言中抛出的问题的时候了。正当决策部门为弥合收入差距的鸿沟集思广益时这句话,云输入法为何可以完美的
输出?

通过观察可以发现,当时,弥合的鸿沟,都是比较固定的搭配,前者是句式方面的,而后者是实体意义上的搭配。而这些搭配都是我们可以通过分词过程中的搭配抽取得到的。有了这两个搭配参与到句子整体概率计算中,那么整个句子就可以正确无误的计算出来。

统计更长的元组频率和更远距离的词语搭配,并且海量存储任何可能出现的语言现象,做到见多识广,这就是云输入在理解用户输入意图方面如此之好的原因所在。

总结和展望

随着互联网发展的日新月异,输入法的更新换代也越发迅速。搜狗在输入法上的成功,依赖于整个搜狗技术团队坚实而强大的技术力量。它站在巨人的肩旁
上,集搜索引擎、大规模数据处理、自然语言处理和大规模网络并发处理等多项技术于一身,真正代表了未来输入法发展的趋势。而搜狗输入法对输入法市场的最大
贡献,就是它对用户创造的价值,乃至对整个中文社会所提供的社会价值和经济价值,而且激活了这个市场的良性竞争,最终使千千万万的用户得到最佳的并且不断
改进的输入体验。

但技术的发展不会有片刻的停歇,未来的输入法也必须更加的智能才能跟得上时代的步伐。输入法技术发展的方向,必将是不断增加人类的知识,不断地增加
对人类思考的模拟,让输入法真正能够理解用户的思维和意图。希望搜狗云输入法不仅能够不断的自我完善和改进,同时也能起到一个抛砖引玉的作用,继续促进整
体输入法市场蓬勃向前的发展,让用户得到终极完美的输入体验。

输入法智能化发展历程——第三代输入法崭露头角:等您坐沙发呢!

发表评论


QQ群互动

Linux系统与内核学习群:194051772

WP建站技术学习交流群:194062106

魔豆之路QR

魔豆的Linux内核之路

魔豆的Linux内核之路

优秀工程师当看优秀书籍

优秀程序员,要看优秀书!

赞助商广告

友荐云推荐