今天各种汉字输入法已经很成熟了,随便挑出一种主要的输入法比十几年前最好的输入法都要快、要准。现在抛开具体的输入法,从理论上分析一下,输入汉字到底能有多快。
我们假定常用的汉字在二级国标里面,一共有 6700 个作用的汉字。如果不考虑汉字频率的分布,用键盘上的 26 个字母对汉字编码,两个字母的组合只能对 676 个汉字编码,对 6700 个汉字编码需要用三个字母的组合,即编码长度为三。当然,聪明的读者马上发现了我们可以对常见的字用较短的编码对不常见的字用较长的编码,这样平均起来每个汉字的编码长度可以缩短。我们假定每一个汉字的频率是
p1, p2, p3, ..., p6700
它们编码的长度是
L1, L2, L3, ..., L6700
那么,平均编码长度是
p1×L1 + p2×L2 + ... + p6700×L6700
香农第一定理指出:这个编码的长度的最小值是汉字的信息熵,也就是说任何输入方面不可能突破信息熵给定的极限。当然,香农第一定理是针对所有编码的,不但是汉字输入编码的。这里需要指出的是,如果我们将输入法的字库从二级国标扩展到更大的字库 GBK,由于后面不常见的字频率较短,平均编码长度比针对国标的大不了多少。让我们回忆一下汉字的信息熵,
H = -p1 * log p1 - ... - p6700 log p6700。
我们如果对每一个字进行统计,而且不考虑上下文相关性,大致可以估算出它的值在十比特以内,当然这取决于用什么语料库来做估计。如果我们假定输入法只能用 26 个字母输入,那么每个字母可以代表 log26=
4.7 比特的信息,也就是说,输入一个汉字平均需要敲 10/4.7= 2.1 次键。
聪明的读者也许一经发现,如果我们把汉字组成词,再以词为单位统计信息熵,那么,每个汉字的平均信息熵将会减少。这样,平均输入一个字可以少敲零点几次键盘。不考虑词的上下文相关性,以词为单位统计,汉字的信息熵大约是8比特作用,也就是说,以词为单位输入一个汉字平均只需要敲 8/4.7=1.7 次键。这就是现在所有输入法都是基于词输入的内在原因。当然,如果我们再考虑上下文的相关性,对汉语建立一个基于词的统计语言模型,我们可以将每个汉字的信息熵降到 6 比特作用,这时,输入一个汉字只要敲 6/4.7=1.3 次键。如果一种输入方法能做到这一点,那么汉字的输入已经比英文快的多了。
但是,事实上没有一种输入方法接近这个效率。这里面主要有两个原因。首先,要接近信息论给的这个极限,就要对汉字的词组根据其词频进行特殊编码。事实上像王码这类的输入方法就是这么做到,只不过它们第一没有对词组统一编码,第二没有有效的语言模型。这种编码方法理论上讲有效,实际上不实用。原因有两个,第一,很难学;第二,从认知科学的角度上讲,人一心无二用,人们在没有稿子边想边写的情况下不太可能在回忆每个词复杂的编码的同时又不中断思维。我们过去在研究语言识别时做过很多用户测试,发现使用各种复杂编码输入法的人在脱稿打字时的速度只有他在看稿打字时的一半到四分之一。因此,虽然每个字平均敲键次数少,但是打键盘的速度也慢了很多,总的并不快。这也就是为什么基于拼音的简单输入法占统治地位的原因。事实上,汉语全拼的平均长度为 2.98,只要基于拼音的输入法能利用上下文彻底解决一音多字的问题,平均每个汉字输入的敲键次数应该在三次左右,每分钟输入 100 个字完全有可能达到。
另外一个不容易达到信息论极限的输入速度的原因在于,这个理论值是根据一个很多的语言模型计算出来的。在产品中,我们不可能占有用户太多的内存空间,因此各种输入方法提供给用户的是一个压缩的很厉害的语音模型,而有的输入方法为了减小内存占用,根本没有语言模型。拼音输入法的好坏关键在准确而有效的语言模型。
另一方面,由于现有输入方法离信息论给的极限还有很大的差距,汉语输入方法可提升的空间很大,会有越来越好用的输入方法不断涌现。当然,输入速度只是输入法的一项而不是唯一的衡量标准。我们也会努力把谷歌的输入法做的越来越好。大家不妨先试试现在的版本,http://tools.google.com/pinyin/,半年后再看看我们有没有提高。
相关推荐
英飞凌AURIX™ TC3xx系列MCU的ISO 26262安全机制实战:从安全手册到代码集成的避坑指南
本文深入探讨英飞凌AURIX™ TC3xx系列MCU的ISO 26262安全机制实战应用,重点解析锁步核配置、ECC策略优化及SafeTlib库集成中的关键问题。通过代码示例和配置建议,帮助开发者实现ASIL D级别安全性,规避常见陷阱,提升汽车电子系统的功能安全合规性。
《数学之美》第二十一章——拼音输入法的数学原理
提高输入法的效率主要在于两方面: 输入汉字的平均击键次数接近理论上的最小值 寻找一个键的时间不要太长 1. 输入法与编码 讨论了全拼输入法对比于双拼输入法的优势,主要在于双拼输入法有更多的歧义性,虽然可以减少平均击键次数,但是用户难以记忆,因此现在全拼输入法已经占据了大部分的市场。 2. 输入一个汉字需要敲多少次键—谈谈香农第一定理 在GB2312简体中文字符集中一共有6700多个常用汉字,为了节省存储空间,因此通常是会采用不定长编码。 根据哈夫曼树的方法,对于常用的汉字采用短编码,不常用的汉字采用长编
#1机器学习(西瓜书)自学记录
《机器学习 》 Datawhale 组队学习, 吃瓜自学笔记。
【读书笔记】数学之美2--自然语言处理
20.不要把鸡蛋放到一个篮子里--谈谈最大熵模型 在投资时常常讲不要把所有的鸡蛋放在一个篮子里,这样可以降低风险。因为如果你把大多数钱放在一个项目上,它一亏损则损失就十分之大,若平均着放入多个项目,则风险就会降到最小。在信息处理中,这个原理同样适用。在数学上,这个原理称为最大熵原理。 假设w3是要预测的词(王小波或者王晓波),w1和w2是它的前两个字(比如说它们分别是“出版”和“小说家”,),...
Cursor3.0新界面使用说明
本文摘要:Cursor 3.x版本更新后,提供了两套主界面:Editor(类似VSCode的代码编辑器)和AgentsWindow(以AI智能体为中心的新界面)。Editor适合日常编码,AgentsWindow则支持并行运行多个AI任务、云端协作和多仓库管理。通过Ctrl+E可快速切换布局。文章详细介绍了AI聊天面板的操作技巧、四种工作模式(Agent/Plan/Ask/Debug)的区别,以及AgentsWindow的多任务管理功能。同时提供了Windows快捷键速查、中文化设置方法,并对比了新旧版本的
STM32 (基于HAL库) 硬件IIC任意地址读写任意字节----AT24CXX芯片
转了一圈,发现有关STM32的iic的硬件是使用比较少,基于HAL库的就更少,传统的,大家都是采用软件模拟的。有iic的协议相对复杂,同时灵活,尤其是不同的设备的I2C通信组合变化也不同,使用灵活的软件模拟也是可以理解的,在加上I2C的设备读写速度都比较低,硬件读写的优势就更无法体现,哪怕硬件I2C可以开启DMA,甚至在随机的读取少量字节的情况下。开启DMA反而效果更差。自然而然的硬件I2C就无人问津了。
java 对数取反_数学之美读书笔记-拼音输入法的数学原理
从理论上分析,输入汉字到底能有多快?这里需要用到信息论中的香农第一定理。假定在国标GB2312里面,一共有6700多个常用的汉字。如果不考虑汉字频率的分布,用键盘上的26个字母对汉字进行编码,两个字母的组合只能对676个汉字编码,对6700多个汉字进行编码需要用三个字母的组合,即编码长度为三。当然,聪明的读者马上发现了我们可以对更常见的字用较短的编码,对不太常见的字用较长的编码,这样平均下来,每个...
[MR]RCM约束下的手术机器人
RCM(Remote Center of Motion)约束,通俗讲就是做微创手术时,机械臂插进身体,机械臂受身体的插入点的约束,不能乱动。 相关参考论文 Task Control with Remote Center of Motion Constraint for Minimally Invasive Robotic Surgery ...
数学之美(下)
数学之美(吴军) 18 闪光的不一定是金子——谈谈搜索引擎反作弊问题和搜索结果的权威性问题 搜索引擎的结果难免会有噪音: 一方面是针对搜索引擎网页排名的作弊(SPAM) 另一些噪声则是用户在互联网上的活动产生的,比如用户和不严肃的编辑创作的大量不准确的信息 18.1 搜索引擎的反作弊 作弊的手段: 重复关键词 买卖链接的生意(针对PageRank算法) 在通信中解决噪声干扰的基本思路有两条: 从信息源出发,加强通信(编码)自身的抗干扰能力 从传输来看,过滤掉噪声,还原信息 作弊的本质:在排名信号
C和C++Everything教程的简介
C和C++Everything教程的简介 C和C++Everything教程,该专栏目前已有8000博文,订阅该专栏相当于同时订阅以下所有收费专栏
uniapp - 解决真机调试报错 request:fail abort statusCode:-1 java.security.cert.CertPathValidatorException: Tr
uni-app,真机调试报错,app端平台,安卓Android,安卓App发布线上报错,打包后接口请求失效了,api接口报错,真机运行安卓app时接口不通且报错,request:failabortstatusCode:-1java.security.cert.CertPathValidatorException:Trustanchorforcertificationpathnotfound.,真机调试,苹果ios真机报错,Uniapp打包到app后报错,uni-app真机调试报错,服务器
数学之美系列(二十三) 之 输入一个汉字需要敲多少个键 — 谈谈香农第一定律
数学之美系列 二十三 输入一个汉字需要敲多少个键 — 谈谈香农第一定律2007年12月3日 上午 10:05:00uT("time2075691283498775489");发表者:Google(谷歌)研究员 吴军 今天各种汉字输入法已经很成熟了,随便挑出一种主要的输入法比十几年前最好的输入法都要快、要准。现在抛开具体的输入法,从理论上分析一下,输入汉字到底能有多快。我们假
Linux 服务器上部署 OpenClaw完整教程
2. 全局安装 OpenClaw 3. 初始化配置 配置模型提供商 方式一:使用配置命令(推荐) 方式二:直接编辑配置文件 在 部分添加: 配置多个模型提供商 如果你使用 Antigravity 本地代理,可以同时配置多个模型: 配置飞书集成 1. 创建飞书应用 访问 飞书开放平台 创建企业自建应用 记录 App ID 和 App Secret 2. 配置应用权限 在飞书开放平台,为应用添加以下权限:重要: 必须使用 长连接(WebSocket) 模式,不要使用 HTTP 回调!在飞书开放
香农与信息论三大定律
香农是20世纪一位全才型科学家,他在通信技术、信息工程、计算机技术、密码学等方面都作出了巨大的贡献。1948年,香农发表了他在二战前后对通信和密码学的研究成果,系统性地论述了信息的定义、如何量化信息、如何更好地对信息编码。在这些研究中,香农借用热力学中“熵”的概念来描述信息的不确定性,并把通信和密码学的所有问题都看成是数学问题。香农的理论不仅奠定了如今整个通信系统的基础架...
VC中sqlite的使用
在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示
大中型超市收银系统(可直接运行)
光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开
转载:数学之美
----------------------- Page 1----------------------- 数学之美 作者:吴军,Google 研究员 来源:Google黑板报 数学之美 一 统计语言模型 数学之美 二 谈...
IDEA的使用指南
IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.
技术前沿与经典文章10:信息论之父香农,20世纪伟大的科学家,一个理论改变了一个时代
一、信息论的奠基之作 1687年7月5日,牛顿的《自然哲学的数学原理》首次出版发行,引爆了整个学术圈,从此奠定了他的江湖地位,而这本书也奠定了现代科学的范式。 1948年,香农发表了一篇英文名为《A Mathematical Theory of Communication》的论文,翻译过来就是《通信的一个数学原理》,这篇论文引起了巨大的轰动。要知道一篇专业的学术论文被引用1000次已经是非...
复分析 阿尔福斯(Ahlfors) 第三版答案 英文
答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案
数学之美系列二十三 -- 谈谈香农第一定律
2007年12月3日 上午 10:05:00 发表者:Google(谷歌)研究员 吴军 今天各种汉字输入法已经很成熟了,随便挑出一种主要的输入法比十几年前最好的输入法都要快、要准。现在抛开具体的输入法,从理论上分析一下,输入汉字到底能有多快。 我 们假定常用的汉字在二级国标里面,一共有 6700 个作用的汉字。如果不考虑汉字频率的分布,用键盘上的 26 个字母对汉字编码,两个字母...
奈奎斯特定律和香农定理
奈奎斯特定律和香农定理 题目: 计算机网络试题 若信道在无噪声情况下的极限数据传输速率不小于信噪比为30 dB条件下的极限数据传输速率,则信号状态数至少是 A、4 B、8 C、16 D、32 D 2Blog2V>=Blog2(1+S/N)(前者为呢奎斯特定理,后者为香农定理) 由于信噪比为30dB 所以10log10S/N=30dB S/N=1000 即V²>=10...
405



被折叠的 条评论
为什么被折叠?



