为什么要使用拼音输入法?

作者:vich 发布于 2009-1-19 10:48 评论(6)人阅读

谷歌拼音搜狗拼音QQ拼音紫光拼音微软拼音……为什么现在大多数的输入法都是基于拼音的输入法?

首先看看google研究员用香农第一定律从理论上计算输入一个汉字要敲多少次键?

我们假定常用的汉字在二级国标里面,一共有 6700 个作用的汉字。如果不考虑汉字频率的分布,用键盘上的 26 个字母对汉字编码,两个字母的组合只能对 676 个汉字编码,对 6700 个汉字编码需要用三个字母的组合,即编码长度为三。当然,聪明的读者马上发现了我们可以对常见的字用较短的编码对不常见的字用较长的编码,这样平均起来每 个汉字的编码长度可以缩短。我们假定每一个汉字的频率是
p1, p2, p3, ..., p6700
它们编码的长度是
L1, L2, L3, ..., L6700
那么,平均编码长度是
p1×L1 + p2×L2 + ... + p6700×L6700

香农第一定理指出:这个编码的长度的最小值是汉字的信息熵,也就是说任何输入方面不可能突破信息熵给定的极限。当然,香农第一定理是针对所有编码的,不但 是汉字输入编码的。这里需要指出的是,如果我们将输入法的字库从二级国标扩展到更大的字库 GBK,由于后面不常见的字频率较短,平均编码长度比针对国标的大不了多少。

我们如果对每一个字进行统计,而且不考虑上下文相关性,大致可以估算出它的值在十比特以内,当然这取决于用什么语料库来做估计。如果我们假定输入法只能用 26 个字母输入,那么每个字母可以代表 log26=
4.7 比特的信息,也就是说,输入一个汉字平均需要敲 10/4.7= 2.1 次键。

如果我们把汉字组成词,再以词为单位统计信息熵,那么,每个汉字的平均信息熵将会减少。这样,平均输入一个字可以少敲零点几次键盘。不考虑词的上下文相关 性,以词为单位统计,汉字的信息熵大约是8比特作用,也就是说,以词为单位输入一个汉字平均只需要敲 8/4.7=1.7 次键。

这就是现在所有输入法都是基于词输入的内在原因。当然,如果我们再考虑上下文的相关性,对汉语建立一个基于词的统计语言模型,我们可以将每个汉字的信息熵降到 6 比特作用,这时,输入一个汉字只要敲 6/4.7=1.3 次键。如果一种输入方法能做到这一点,那么汉字的输入已经比英文快的多了。

其次看看输入法的输入效率与实用性。

从上文中我们可以了解到,输入一个汉字只要敲 6/4.7=1.3 次键。但是,事实上没有一种输入方法接近这个效率。这里面主要有两个原因。首先,要接近信息论给的这个极限,就要对汉字的词组根据其词频进行特殊编码。事实上像 王码这类的输入方法就是这么做到,只不过它们第一没有对词组统一编码,第二没有有效的语言模型。这种编码方法理论上讲有效,实际上不实用。原因有两个,第 一,很难学;第二,从认知科学的角度上讲,人一心无二用,人们在没有稿子边想边写的情况下不太可能在回忆每个词复杂的编码的同时又不中断思维。我们过去在 研究语言识别时做过很多用户测试,发现使用各种复杂编码输入法的人在脱稿打字时的速度只有他在看稿打字时的一半到四分之一。因此,虽然每个字平均敲键次数 少,但是打键盘的速度也慢了很多,总的并不快。这也就是为什么基于拼音的简单输入法占统治地位的原因。事实上,汉语全拼的平均长度为 2.98,只要基于拼音的输入法能利用上下文彻底解决一音多字的问题,平均每个汉字输入的敲键次数应该在三次左右,每分钟输入 100 个字完全有可能达到。

谷歌拼音输入法自称为最聪明最善解人意的输入法,谷歌工程师的愿望是希望做到用让户感受不到输入法的存在。讲英语的人拿起任何一只QWERT Y键盘都能流畅输入,不需要考虑有辅助输入工具的存在,而且准确率是100%,而讲中文的为什么就要在输入的时候磕磕绊绊?要达到"忘记输入法的存在"这个终极目标,在技术上还是有相当难度的。包括谷歌拼音在内的诸多输入法产品在这个宏伟的目标面前,恐怕还都处于初级阶段。不过,时代在进步,科学在发展,拼音输入法一定有着它美好的未来。

而对于谷歌拼音输入法,我个人认为谷歌已经做得很好了,它很聪明,它做到了“我输入的就是我想要的”。

参考资料:数学之美系列 二十三 输入一个汉字需要敲多少个键 — 谈谈香农第一定律

转载请注明:转载自微风博客
相关文章:
·google拼音导致应用程序崩溃或死机的解决方法(2009-1-5 17:12:14)
·升级谷歌拼音输入法(2008-5-27 9:33:40)

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

  • quote 6.Gravatar Icon haphic
  • http://www.esloy.com/blog/
  • 对于一个用了十年五笔的人来说, 我是不会再理会拼音的.
    首先: 长期的五笔使用让我不会提笔忘字.
    其次: 只要是五笔86, 我就不会受机器不同和输入法软件不同的影响, 一概盲打.
    第三: 无论是常用字不常用字, 惯用语不惯用语, 我都能保持均速, 而那些用拼音的同学只有聊天快.
  • 2009-4-16 17:06:14 回复该留言
  • quote 5.Gravatar Icon 雪东博客
  • http://www.xuedong.net
  • 其实什么都是一种输出汉字的技术,不分的
    vich 于 2009-4-11 10:03:40 回复
    这里面还是有点讲究的,不然为什么QQ 搜狗 GOOGLE 都去研究拼音输入法呢?
    vich 于 2009-4-11 10:03:42 回复
    这里面还是有点讲究的,不然为什么QQ 搜狗 GOOGLE 都去研究拼音输入法呢?
  • 2009-4-11 0:19:52 回复该留言
  • quote 2.Gravatar Icon roy
  • 用拼音用的都不会写字了,很多常用的字都忘记怎么写,总要用手机查查才行,唉,退化了都
    啊丢 于 2009-2-10 10:55:27 回复
    兄弟! 我俩真的是同命相连啊!
    用拼音后悔中!!! 早知道,以前还是学用5笔,现在难改了
  • 2009-1-22 10:22:00 回复该留言
  • quote 1.Gravatar Icon nobird
  • http://www.nobird.org/
  • 很多时候用到的汉字用智能ABC就很快了,现在的搜狗QQgoogle更快,总觉得除了专业的打字员,不再需要五笔了;还有就是,我太笨了,学不会五笔~~--!
  • 2009-1-19 20:02:51 回复该留言

我的SNS

相关标签

最新文章

技术摘要

最新评论及回复

热门文章