正在阅读:搜狗拼音输入法词库是怎样炼成的搜狗拼音输入法词库是怎样炼成的

2007-04-08 18:19 出处: 作者:吕杰勇 责任编辑:linjixiong

 

  众所周知,搜狗输入法在词库方面具有鲜明的特色,其词库不仅超大全面(大概有35万左右),而且词条质量也很高。随着搜狗输入法的不断普及,越来越多的用户体验到了搜狗输入法的超级流畅性,但是这样的流畅性是以一个优秀的词库为基础的。作为一个输入法的核心部分,搜狗的超强词库是怎样来的呢?下面和广大关心搜狗输入法的朋友们分享一下词库制作中的艰辛和快乐。

  搜狗的词条来源

  词汇是一切中文应用的基础,但是世界上并没有任何一个词典包含了输入法所需要的所有词汇。比如中国汉语大辞典虽然包含了很多词条,但是仍然缺乏很多比较新、比较具体的词,网络的新词又层出不穷,所以搜狗输入法必须自己想办法构造一个适合他自己的词库。

  由于搜狗是一家搜索引擎公司,自然会有一批自己做文本分析的词库,它包含了常用的基本词汇和部分专业词汇,但是在数量上还是远远不能覆盖用户对词汇的需求空间。经过分析可知,这部分缺少的词中有相当一部分是人名、地名、歌曲、小说、财经、旅游、游戏、体育等。幸运的是,搜狐矩阵蕴含着许多搜狗需要的这些资源,比如地名资源可以从go2map拿到,歌曲资源可以从搜狗的音乐搜索拿到,小说资源可以从搜狐网拿到,游戏词汇可以从17173游戏网拿到……这些资源虽然是内部资源,但是当初也是编辑经过长时间大量的整理维护工作的结晶,并且这涉及到大量部门间的合作,每一个流程下来都会花许多精力。

  除了搜狐内部资源的整合,我们还为某些事件、场合特别整理了大量的词表。比如在世界杯期间,我们的编辑整理了几乎所有与世界杯相关的词汇,使得球迷们可以更为流畅地交流。对于诗词,我们特别汇总了几乎所有从最早的诗经到毛泽东的所有古诗词(包括宋词),这都成为搜狗词库来源的一部分。

  在融合搜狗自己的词库和各个兄弟部门提供的资源后,搜狗输入法词库有了较大的完善,但是仍然缺少很多各种各样的词,比如“挖人”、“电荒”等。这些词无法通过寻找资源的方式全部找到,所以不得不自己想办法。幸运的是,互联网网页是个大宝库,里面蕴含着几乎所有我们需要的知识,所以我们的工程师们设计了一套机器学习的算法从这些网页中训练新词,训练的结果是得到了大批的新词汇,但是也引入了大量的噪声,即垃圾词。比如在最初的搜狗输入法版本里,“谢霆锋”这个词的错法就有“谢霆峰”、“谢廷锋”等数种,这对用户的体验和输入法的智能性都造成了损害。

  搜狗的词频统计

  输入法离不开词频,词频直接影响着智能组词。搜狗输入法的词频统计是在一个极其大的互联网网页上统计出来的。为了得到一个最优的词频,或者得到某类风格的词频(比如口语化风格),我们不断更换语料库,从网页类型的选取、文章长度的限制、某些特殊的预处理等都做了大量的尝试。每一次尝试都需要重新统计词频,动辄需要几天时间才能完成一轮词库的制作与验证,占用的机器、人力、资源之多不是某些小手工作坊式的输入法小组能够完成的。

  词库过滤系统的搭建

  经过前面的资源整理,我们得到了一个非常非常大的词库(约合几百万),这个词库中的词良莠不齐,需要坚决的过滤才能满足输入法的需要。试想,从几百万个词条的集合过滤得到35万左右的词条集合,这注定是一个庞大而又精细的工作。

  事实上词条出现的频率是词条质量的最重要维度,频率越高则词条是好词的概率越高,并且不同来源的词汇有着不同的可信度。为此我们搭建了一个词库过滤系统,这个系统好比是一个漏斗,可以灵活地对源头的词汇进行过滤,同时输出中间每一步的过滤过程以方便开发人员调整算法。就这样,在不断的过滤、验证、修改参数的循环中,这个系统逐渐趋于稳定,为整个词库的质量做出了重要的保证。这个系统虽然只有几千行代码,但是开发人员对它阈值等参数的调整可谓不计其数。经过这一轮的处理,词条的总体质量有了飞跃般的提升。

键盘也能翻页,试试“← →”键
302 Found

302 Found


Powered by Tengine
tengine