2 理论
2.1 模型与目标
2.1.1 模型
陈一凡等对输入模型做了相当深入的研究^3^。他们分析了汉字键盘输入流程,提出了“理想的汉字特征信息键盘输入的数学模型”和“实际的汉字特征信息键盘输入的数学模型” 。他们的数学模型以集合论为工具,说明了汉字、汉字特征信息、键元、汉字内码之间的映射关系及重码的处理办法。
张侃等按照人的视听感觉、认知和动作对整个汉字键盘输入过程进行分界和说明,得到了一个汉字键盘输入的认知模型^11^。该模型的三个不同层次的加工过程和容量限制分别为评测汉字输入方法的三个主要素质提供理论依据:即长期记忆量与易学性,短期记忆量与心理负荷和易学性,认知、动作加工与易用性和输入速度。
戴石麟曾提出了一个基于信息论的输入系统模型^8^,但是在分析和解释时还不太令人满意,有些简单、粗糙。本书对这个模型进一步完善,进行更全面的论述,赋予模型更深刻的含意。完善后的模型如下图所示:

其中,m代表消息(message),m’代表消息的内 码,s代表信号(Signal),s’代表信号的内码,p代表提示(Prompt),p’代表提示的内码。内码又称为机内码,m和s都是外码,另外还有大脑中的脑内码。三者是一一对应的,在统计上可看成相同的东西。
与信息论中常见的通信系统模型相比,该图中的模型多了一个反向信道, 而其它部分都是相同的,相当于一个带反馈的通信系统。与一般通信系统不同,反馈提示在文字输入系统中是不可缺少的、非常重要的组成部分。在输入法中消息就是文本,而信号就是与文本对应的编码。注意,这里的编码是名词,与方框中作为动词的编码在含义上是不一样的。
虽然模型中各部分的具体含义与典型的通信系统中的相应部分大不相同,但是信息论中的普遍结论仍然是成立的^14-17^。特别地,针对输入系统来说,模型可以明显地分为用户、设备和两者之间的界面三个部分,分别对应人、机和它们之间的交互。人的高度参与是输入系统的显著特点,也是输入系统的效率瓶颈所在。
模型涉及到的学科有集合论、概率统计、随机过程、信息论、形式语言与自动机、语言学、文字学、心理学、认知科学、人体工学、人机交互(HCI)。
2.1.2 目标
输入的理想目标是在用户场景中简单高效地生成用户所需的文本。
场景:
- 使用场景:影响输入系统的各种因素综合起来就构成了一个使用场景。这些因素包括:看打、听打还是想打,电脑还是手机,现代文还是文言文,聊天还是工作等等。常见的使用场景有下面几种。
- 默认:指输入方案设计时目标场景。
- 用户:用户的典型使用场景,这对于用户来说是最重要的。
- 练习
- 竞速
- 表演
- 场景失配:使用场景和用户场景不匹配。例如,竞速的场景往往与用户场景不一致,导致竞速很快,而实际使用不理想,甚至相距甚远,因为看打和想打时获取文本的方式是不一样的,文本的内容也往往大不一样。文本失配的程度可以用交叉熵或 KL 散度来衡量。
指标:
基本指标:简单高效
- 简单
- 易学:学习成本低
- 绝对学习成本:在没有任何已有基础情况下的学习成本
- 相对学习成本:在国民教育背景基础上额外的学习成本
- 难忘:也称为易记,易学的往往也难忘
- 遗忘曲线
- 易用:使用过程中的负荷轻,可持续性好
- 脑:记忆、编码、分词(切分)
- 眼:视觉反馈,查错(检错),看键盘,看稿件,看编码,看候选项
- 耳:听觉反馈,重码嘟嘟声,按键读音
- 手:击键,触觉反馈(击键震动)
- 易学:学习成本低
- 高效
- 快速:字速=码速/码长,速度当量
- 码速:击键,信道容量
- 码长:信息熵
- 速度码长
- 当量码长
- 准确:又称可靠性,意味着错误少
- 出错:按键错(键准),解码错
- 查错
- 纠错
- 快速:字速=码速/码长,速度当量
- 简单
其它指标
规范性:符合语文知识,与简单性重叠较多,因为有背景知识了
标准性:符合国家标准,少歧义,比如笔画标准禁止了倒笔画
可塑性:可以逐渐适配用户的使用习惯,主要是字词频率的调整
渐进性:门槛低、上限高,可尽早投入实际使用,在使用中学习
易达性:容易找到(预装、推送、应用市场)、下载、安装、配置
经济性:对软硬件的要求低
- 制造成本:对应于人的易学
- 维护成本:对应于人的易用
无扰性:不作恶,因商业利益而置入的不便性
顺畅性:是不是会有卡顿?因机器的性能和算法的不足而产生
重码率?越低越好吗?在一定码长下的重码率
- 选择、翻页
- 辅助码筛选
- 以词定字
盲打率?越高越好吗?理论上,静态编码都能盲打,但实际上因人的记忆能力而定
手感?究竟是什么?当量?互击?跨行?错手?最主要就是击键当量
字词量?字词的收录量越大越好吗?
流行性?知名度高(广告、软文、介绍、讨论、赛文)、用户量大,羊群效应
综合指标:
- 通过加权将要考虑的各种指标整合为一个单一的指标,以便进行比较。
- 另一种办法是进行实测。在一个人的输入法生命周期中的有效输入量,也就是在这段时间内对输入速度的积分,也可等价地用长期、有效的平均速度来衡量,类似 CDF 和 PDF 的关系。有效输入量不包含仅仅为了学习而进行的练习,练习是代价和成本而不是收益。同时,还要扣除使用中的代价,如更快的击键、更强的人机交互等。
2.2 信道与反馈
2.2.1 信道
信道分为连续信道和离散信道。语音和字形都是连续信道,而键盘是离散信道。
柯蒂键盘
德沃夏克键盘
中文键盘
人体工学键盘
字元(字根)乱序与键盘布局优化
手感
速度当量
速度码长:由陈一凡在其论文中定义,使用了向均值归一的当量
键位分布合理指数:平均码长与速度码长的比值
字均当量(当量码长):由逆卷炎灵定义,使用了向最小值归一的当量
键均当量:键均当量没有考虑码长的因素,只能说明击键速度,并不能很好地反映输入速度
当量速度:当量速度受无纲量的当量影响,不太符合人们的直觉,只能进行相对比较
修正速度:在赛码器模拟打字时,以方案 A 的速度为基础,乘以方案 B 的当量速度与方案 A 的当量速度的比值,而得到的方案 B 的速度。
修正差异:某方案修正速度与原速度的差值,为负则说明因手感较差而被扣减的速度
键位分布:键盘热力图
指法
同手
大跨
小跨
干扰
错手
三连
2.2.1.1 离散信道容量
离散信道的容量定义为:
其中,
2.2.1.2 等时长模型
如果假设所有按键的击键时间都相同(记为
例如,标准QWERTY键盘有26个字母键,如果每个按键平均需要0.1秒(即每秒10键),那么信道容量约为
电传打字机来的键盘信道容量的计算非常简单,因为每次按键的时间是固定的和一样的,就可以采用这个模型。假设键盘有 32 个键可用,那么每个按键就代表了
2.2.1.3 不等时长模型
实际上,不同按键的击键时间是不同的。例如,食指按键通常比小指按键快,中间行按键比上下行按键快。设第
这相当于在平均时间约束下最大化信息传输速率。莫尔斯电报机的信道容量计算就适合采用这个模型。
2.2.1.4 状态转移模型
更精确的模型需要考虑手指的当前位置和状态,因为从一个键移动到另一个键的时间取决于两个键的相对位置。这正是香农在分析电报信道时使用的方法^14^。
设状态
这个模型考虑了按键之间的转移时间,能够更准确地反映实际打字的信道容量。
但是,对于由人操作的机械打字机、电脑键盘和手机触屏键盘来说,情况相当复杂。不同的人在不同的时间采用不同的指法,使用不同的键盘和布局,都会影响键盘信道的容量。不过,根据打字比赛记录、打字实验研究、打字评测标准等资料,可以获得一些统计结果。
2.2.1.5 击键当量模型
将上述第三点的状态转移模型推广到考虑击键当量的情形,可以得到基于当量的信道容量计算公式。
设从状态
其中
系数
从量纲分析来看,由于
更准确地说,
- 当量为 1.0 的基准时,其等效击键时间为
秒 - 当量为
时,其等效击键时间为 秒
- 专业打字员:约 0.07 - 0.1 秒(对应 10-15 键/秒)
- 普通用户:约 0.12 - 0.2 秒(对应 5-8 键/秒)
将
得到:
令
设
因此,基于当量的信道容量为:
推导结果说明:
数学结构的一致性:当量模型与时间模型在数学结构上是完全同构的,只是将"时间"替换为"当量",并乘以人的时间系数
。 信道容量与当量的关系:信道容量与人的时间系数
成反比,也与当量的整体水平成反比。当量越小,等效的信道容量越大。 布局优化的本质:键位布局优化(如乱序方案)本质上就是通过调整键位分配,降低平均击键当量,从而最大化等效的信道容量。
当量与速度的换算:系数
可以通过实验测定——统计用户在特定键盘上的实际击键速度,结合当量计算,即可得到 的经验值。
这个推导从理论上证明了为什么改善手感(降低击键当量)能够提高输入效率,也为键盘布局优化提供了坚实的信息论基础。
2.2.1.5 当量模型推广
将上述2阶(一阶马尔可夫)模型进一步推广到3阶(二阶马尔可夫)情形,即击键当量不仅与当前键和前一个键有关,还与前两个键有关。这能够更精确地描述实际打字中的手指运动和手感差异。
模型定义:
设3阶击键当量为
状态空间为所有可能的按键有序对:
共
状态转移与等效时间:
从状态
其中
行列式方程:
根据香农的状态转移信道容量公式,信道容量
更明确地说,行索引为起始状态
- 当
时(状态转移的连续性条件),转移元素为 - 当
时,转移元素为 0
因此方程可以简化为:
这是一个
信道容量公式:
设
与2阶模型的关系:
退化关系:2阶模型是3阶模型的特例。当击键当量
与第一个下标 无关时,即 ,3阶模型退化为2阶模型。 精度差异:3阶模型考虑了更长的上下文(前两个键),能够更准确地反映实际打字中的手指运动规律(如大跳、小跳、同手指等),因此计算出的信道容量通常更接近实际值。
复杂度差异:状态空间从
扩展到 ,行列式阶数平方增长,计算复杂度显著增加。
推广到任意阶:
同理可推广到任意
- 状态空间大小:
- 击键当量:
- 信道容量仍由相应阶数的行列式方程的最大实根决定
阶数越高,模型越精确,但计算量也越大。在实际应用中,需要在精度和复杂度之间寻找平衡。
2.2.2 反馈
在信息论中,反馈是指接收端将信息通过反向信道传回发送端,使发送端能够根据接收情况调整后续发送策略。输入系统天然具有反馈机制——屏幕上显示的候选字、编码区的提示、翻页的结果,都是输入系统向人传递的反向信息。因此,反馈可以看成是输入系统的反向信道。
输入过程与一般通信最大的区别,在于人参与的程度。普通通信系统(如光纤传输、无线电广播)是弱交互甚至全自动的过程,人的参与程度很低;而输入是一种强交互过程,人既是信源的生成者,也是信道的操作者,输入效率的瓶颈通常在人这一端。交互的本质就是:机器提供反馈,人接收反馈、分析反馈,再通过正向信道对反馈做出反应,形成一个闭环。从人机交互的角度来看,这个过程可以用GOMS模型(Goals-Operators-Methods-Selection Rules)来描述^26^。
反馈的分类
按照感官通道,输入系统的反馈可分为三类:
- 视觉反馈:最主要的反馈形式。包括候选窗的字词排序、编码区的输入序列、光标的位置变化、高亮提示等。人通过视觉判断当前输入是否正确、是否需要翻页或选择。
- 听觉反馈:按键音、错误提示音、确认上屏音等。听觉反馈能够在不打断视觉注意力的情况下提供状态确认,对盲打用户尤为重要。
- 触觉反馈:物理键盘的按键阻力、触屏键盘的震动反馈、手柄的力反馈等。触觉反馈提供了"按键是否按下"的最直接确认,是物理键盘优于触屏键盘的重要原因之一。
按照反馈的时机,又可分为:
- 实时反馈:每击一键立即给出反馈,如编码区实时更新、候选窗实时刷新。
- 延迟反馈:输入完一个完整编码后才给出结果,如四码定长的形码方案。
反馈对输入效率的影响
反馈是一把双刃剑。一方面,反馈使人能够纠正错误、调整策略,是实现高精度输入的必要条件;另一方面,反馈的接收和处理都需要时间——人眼扫过候选窗、大脑做出判断、手指移动到选择键,这些都构成了额外的开销。反馈越多、越复杂,人的认知负荷就越大,输入速度反而可能下降。
因此,理想的输入系统应该在保证准确率的前提下,尽可能减少人对反馈的依赖。一个极端是完全不需要反馈的盲打——用户全程盯着文稿,不看屏幕也能正确输入,此时输入速度完全由手指的肌肉记忆决定,能够达到最高效率。另一个极端是每输入一个字都需要反复翻页、仔细辨认候选,此时输入速度被认知和决策过程严重拖慢。
不同方案对反馈的依赖程度
不同的输入方案对反馈的依赖程度差异很大。大致可以分为以下几类:
- 低依赖型:纯形码方案(如五笔、郑码)。这类方案重码率低,四码定长后首选上屏,用户甚至可以不看候选窗,形成肌肉记忆后接近盲打。
- 中依赖型:音形结合方案(如自然码、小鹤音形)。有一定重码,但通过辅助码可以大幅压缩候选范围,用户只需偶尔查看反馈。
- 高依赖型:整句拼音方案(如搜狗拼音、微软拼音)。重码率高,严重依赖语言模型和候选排序,用户需要频繁查看候选、进行选择和修改,反馈开销占比较大。
从信息论的角度看,对反馈的依赖程度本质上反映了正向信道的信息传递效率。正向信道传递的信息量越大(编码越长、重码越少),所需的反向反馈就越少;反之,正向信道越模糊(编码越短、重码越多),就越依赖反馈来消除歧义。
静态编码与动态编码
根据编码是否随时间变化,输入方案可分为静态编码和动态编码,二者对反馈的依赖截然不同。
静态编码是指每个汉字的编码是固定不变的,如五笔、郑码、双拼等。静态编码的好处是,用户一旦记住了编码,理论上可以完全不依赖反馈进行盲打。但问题在于,记忆量越大,学习成本越高,真正能做到完全盲打的人越少。对于大多数用户,静态编码在学习阶段仍然高度依赖反馈,只有熟练后才能逐步脱离。
动态编码是指编码会根据用户的输入历史、词频变化而动态调整,如智能ABC的自动调频、搜狗拼音的个性化词库等。动态编码的优势是能够适应用户习惯、缩短平均码长、降低使用门槛。但代价是编码不固定,用户永远无法形成完全的肌肉记忆,必须始终依赖反馈来确认结果。用信息论的话说,动态编码将一部分信息从正向信道转移到了反向信道,用反馈的开销换取了编码的简洁性。
孰好孰坏不可一概而论。对于追求极限速度的专业用户,静态编码+低反馈依赖的组合更具优势;对于追求便捷的普通用户,动态编码+高反馈依赖的组合学习成本更低、日常使用更轻松。设计一个好的输入系统,就是在正向信道的编码效率和反向信道的反馈开销之间找到最佳平衡点^18,28,29^。
2.3 信源与信宿
2.3.1 信源
输入系统的信源是文字。文字作为信源可以近似地看成是一个稳态、遍历的离散随机过程,它是一组定义在离散时间点上的随机变量构成的序列,其数学表达式为:
其中:
表示样本空间 中的一个样本点; 表示正整数 中离散时间点; 表示第 个随机变量,其取值依赖于样本点 ,即一段文本中的第 个字词; - 这n个随机变量都是同分布的,但并不一定是独立的。
在输入法中,样本空间一般是一种文字可用的字符集,如英文的 ASCII 字符集,中文的 GB18030 字符集。样本点则是字符集中的字符,如英文中的 a, b, c 等,汉字中的「中」「国」等。如果以词、句等为单位,则
文字的极限熵定义为序列长度趋于无穷时每个字词的平均熵,数学表达式为:
第一式基于定义,第二式成立是因为信源的稳态性和遍历性。
齐夫定律(Zipf's Law)^27^:文字信源的频率分布遵循幂律分布,高频词的出现频率远高于低频词。
如果文字信源以词作为样本点,那么在计算的时候,就需要除以词的长度从而折算为字的熵,才便于进行横向比较。这和字词型输入法计算平均码长时的情况是类似的,都以字为单位进行。
字符集
- 概念
- 码点、编码(内码)、字形(点阵、矢量)
- 大字集、全字集
- 标准、规范
ASCII
GB2312
通规字:《通用规范汉字表》(国发〔2013〕23 号,2013 年发布)
GBK
GB18030:GB13000,ISO/IEC 10646(UCS通用多八位编码字符集)
Unicode:
CJK:本身不是独立标准,它是GB18030和Unicode的子集
- 概念
汉字
- 高频字、常用字、生僻字
- 传承字、简化字、简体字、繁体字、传统字、新旧字、正体字、俗体字、异体字、异写字
信息熵:通过概率计算而得的理论值,不涉及实际的编码过程
- 中文熵:包括非汉字字符
- 汉字熵:排除非汉字字符
- 0阶熵、1阶熵、2阶熵、N阶熵
- 字熵、词熵、句熵、段熵
- 极限熵
- 冗余度:默认为0阶冗余度
- 0阶冗余度:极限熵/0阶熵,不稳定,随字符集的大小而变
- 1阶冗余度:极限熵/1阶熵,稳定,不随字符集的大小而变
2.3.2 信宿
接收到的文字需要在信宿进一步处理,比如存储、传输等。
2.4 编码与解码
2.4.1 编码
前缀码<=顶功码(有限延迟)<=唯一码(唯一可译码,唯分码+无重码,可能无限延迟)<=唯分码(唯一可分码:无切分歧义,但可能有选择歧义)|无重码(无选择歧义,但可能有切分歧义)
前缀码就是零阶顶功码,N阶顶功码是延迟 N 位顶屏的唯一可译码
双拼就是唯一可分码的例子,它在整句输入时是没有切分歧义的。但是,在加了一般直接辅助码后就可能产生歧义了。不过,通过声笔双拼这种类顶功的编码,只可以完全没有歧义,而且编码在理论上可以无限延长。
例子:莫尔斯编码、ASCII 码、电报码、GB18030、 Unicode、拼音、五笔……
由于在输入法实践中,不可能对无限长的字符串编码,甚至不可能以句子为单位来编码,所以都是以字或词为单位进行输入的。当然,这里的词不一定是语文教学中的词,而是具有很大的弹性,它可能会包括复合词、短语甚至短句,依输入法的收词范围而定。
另外,编码不可能只考虑频率来进行最佳编码,必须得考虑人的学习和使用成本。所以,编码一般是借助字的音形义来进行的。最主要的是音,其次是形,再次是义。声母和笔画是编码元素中最简单的。词组的编码,一般基于单字的编码通过规则来生成。
传统编码:整句型和字词型
顶功编码:可以优化传统的整句型和字词输入方案
上屏模式
选择上屏
空格上屏
回车上屏
选重上屏
数字选重
标点选重
字母选重
传统字母选重
复用字母选重
单级字母选重
多级字母选重
唯一上屏
顶功上屏
限长顶屏
非码顶屏
空码顶屏
自由顶屏
规则顶屏
即时顶与延迟顶
N 码顶与混合顶
2.4.2 解码
字词型输入方案的解码过程一般比较简单,而整句型输入方案的解码过程可以非常复杂。拼音输入法的进步主要就体现在解码算法的进步,特别是上下文的扩大。利用大模型,可以几乎无限地扩充能够利用的上下文,从而提升解码的准确率。
当前编码、当前结果
上下文、上文、下文
2.5 基本定理
香农在《通信的数学理论》中提出了三个基本定理,它们构成了信息论的基石,也为输入法的理论分析提供了根本依据。这三大定理从不同角度回答了信息传输的基本问题,对应到输入法领域,分别揭示了输入效率的理论极限、可靠输入的可能性以及速度与准确性的权衡关系。
2.5.1 无噪信道编码定理(香农第一定理)
定理陈述:
设离散无记忆信源的熵为
数学表达:
其中
在输入法中的意义:
这一定理给出了汉字编码的理论下界。汉字信源的熵
对于输入法来说:
- 信源熵
对应汉字的信息熵(0阶熵约9-10比特/字,利用上下文后极限熵可降至4-5比特/字) - 信道容量
对应键盘输入的信息传输速率(取决于键位数量和击键速度) - 理论最大输入速度 = 信道容量 / 汉字熵
这意味着,要提高输入效率,有两条根本途径:
- 提高信道容量:增加有效键位、优化键盘布局、提升击键速度
- 降低有效信源熵:利用上下文、词组、整句预测等
声笔简拼等音形结合方案,正是通过引入笔画信息来增加每个按键承载的信息量,从而更接近这一理论极限。
2.5.2 有噪信道编码定理(香农第二定理)
定理陈述:
设离散信道的容量为
数学表达:
其中
在输入法中的意义:
这一定理告诉我们,在存在"噪声"的输入场景中,理论上仍然可以实现可靠的输入。输入法中的"噪声"包括:
- 击键错误(按错键、漏按、多按)
- 编码歧义(重码、同音词)
- 用户记忆偏差(记错编码规则)
只要信息传输速率低于信道容量,就存在编码方案可以将错误率控制在任意低的水平。这解释了为什么:
- 增加编码长度(如加辅助码)可以降低重码率
- 利用上下文信息可以提高输入准确率
- 适当的冗余编码有助于容错
对于顶功编码来说,这一定理也具有重要意义:通过巧妙的编码设计,可以在不显著增加码长的情况下,大幅降低歧义,从而更接近信道容量的理论极限。
2.5.3 率失真定理(香农第三定理)
定理陈述:
对于给定的信源和失真度量
数学表达:
其中最小化是对所有满足平均失真约束的转移概率分布
在输入法中的意义:
这一定理为输入法的"码长-重码率"权衡提供了理论基础。在输入法中:
- 率(Rate):平均码长,即输入每个字需要的按键数
- 失真(Distortion):重码率或选字次数,即输入过程中的"不便利性"
率失真函数
这解释了输入法设计中的一个核心权衡:
- 如果要求零重码(D=0),则需要较长的平均码长
- 如果允许一定的重码率(D>0),则可以显著缩短平均码长
- 最优的输入方案应该工作在率失真曲线的"拐点"附近
声笔简拼的设计正是这一思想的体现:通过允许少量重码,换取更短的平均码长,同时借助上下文预测和智能排序,将实际使用中的"失真"控制在可接受范围内。
2.5.4 三大定理的整体意义
香农的三大定理共同构成了信息论的理论框架,也为输入法研究提供了完整的理论视角:
- 第一定理告诉我们"最快能有多快"——信源熵决定了编码效率的上限
- 第二定理告诉我们"出错能否避免"——信道容量决定了可靠传输的可能性
- 第三定理告诉我们"速度与准确性如何权衡"——率失真函数刻画了两者的最优折衷
对于输入法的研究和设计来说,这三大定理提供了:
- 理论基准:评估任何输入方案的理论极限
- 优化方向:指出提高输入效率的根本途径
- 设计原则:在效率、准确性、易学性之间寻找最优平衡点
正如香农的理论为现代通信技术奠定了基础一样,信息论的基本定理也为输入法的科学化研究提供了坚实的理论根基。
2.6 噪声与错误
产生输入错误的根源,可能位于输入过程的各个环节。从信息论的角度看,输入系统可以看作一个有噪信道,噪声存在于编码、传输、解码的各个阶段。理解噪声的来源、特性以及应对策略,对于设计高效可靠的输入法至关重要。
2.6.1 噪声的来源与分类
参照香农对通信系统中噪声的分析,输入法中的噪声可以分为以下几类:
1. 信源噪声
信源噪声来自用户自身的不确定性:
- 记忆偏差:用户记错编码规则、字根位置或拼音
- 认知偏差:对字词的读音、写法存在模糊认识
- 注意力波动:输入过程中注意力不集中导致的错误
这类噪声的特点是因人而异,且可以通过学习和练习逐渐降低。
2. 信道噪声
信道噪声发生在击键和传输过程中:
- 击键错误:按错键、漏按、多按、重按
- 时序错误:按键顺序不对、时机不准
- 硬件噪声:键盘触点抖动、键程差异等
这类噪声具有一定的统计规律,可以通过概率模型来描述。
3. 编码噪声
编码噪声来自编码方案本身的歧义性:
- 重码歧义:多个字词对应同一编码
- 切分歧义:编码边界不明确(如拼音连写时的分词问题)
- 规则歧义:编码规则存在模糊地带
这类噪声是编码方案设计时需要重点考虑的因素。
4. 解码噪声
解码噪声发生在候选词排序和选择阶段:
- 排序错误:候选词排序不符合用户预期
- 上下文误判:语言模型对上下文的理解偏差
- 选择错误用户选错候选词
这类噪声与解码算法的质量密切相关。
2.6.2 错误的类型与度量
错误类型:
按照错误的性质,可以分为:
- 替代错误:一个字符被错误地替换为另一个字符
- 插入错误:多输入了一个或多个字符
- 删除错误:少输入了一个或多个字符
- 移位错误:相邻字符的顺序颠倒
按照错误的影响范围,可以分为:
- 字级错误:单个字输入错误
- 词级错误:整个词输入错误
- 句级错误:整句语义出现偏差
错误度量:
常用的错误率度量指标包括:
- 字符错误率(CER):错误字符数 / 总字符数
- 词错误率(WER):错误词数 / 总词数
- 句错误率(SER):错误句子数 / 总句子数
这些指标与信息论中的"错误概率"概念相对应。
2.6.3 检错与纠错的信息论原理
香农的有噪信道编码定理告诉我们:只要信息传输速率低于信道容量,就存在编码方式可以使错误概率任意小。这一原理在输入法中同样适用。
检错原理:
检错的基本思想是利用编码的冗余度。如果编码存在冗余,那么某些编码组合是"不合法"的,当出现不合法的编码时,就可以检测到错误。
在输入法中:
- 编码规则检错:不符合编码规则的输入可以直接判定为错误
- 上下文检错:不符合语言模型的候选可以被识别为可疑
- 统计检错:出现频率极低的候选可能是错误
纠错原理:
纠错比检错更进一步,不仅要发现错误,还要纠正错误。纠错的基本方法包括:
- 最大后验概率(MAP)译码
根据接收到的编码和上下文,选择最可能的正确结果。这是拼音输入法中最常用的纠错方法。
其中
- 冗余编码纠错
通过增加编码的冗余度,使得不同的正确编码之间的"距离"足够大,从而能够纠正一定数量的错误。
- 上下文纠错
利用语言模型提供的先验概率,对解码结果进行修正。例如,"我是学生"比"我是学升"的概率高得多,即使输入编码很接近,也应该选择前者。
2.6.4 有噪信道编码定理的启示
香农第二定理(有噪信道编码定理)对输入法设计具有重要的启示:
1. 存在性与构造性
定理只证明了"好编码"的存在性,但没有给出具体构造方法。同样,输入法理论可以告诉我们最优方案的理论极限,但具体的编码设计还需要创造性的工作。
2. 编码长度与错误率的权衡
定理表明,通过增加编码长度,可以指数级地降低错误概率。这解释了为什么:
- 增加辅助码可以降低重码率
- 利用更多上下文可以提高准确率
- 顶功编码通过延长编码来精确筛选候选
3. 信道容量的根本限制
无论采用多么巧妙的编码方案,都不可能超过信道容量。这意味着输入效率的提升最终受限于:
- 键盘的物理键位数量
- 人手的击键速度极限
- 人的认知处理能力
2.6.5 输入法中的容错机制
现代输入法采用了多种容错机制来应对噪声:
1. 编码层面的容错
- 模糊音支持:允许平翘舌、前后鼻音等混淆
- 容错码:对常见的编码错误提供容错映射
- 自动纠错:自动修正常见的击键错误
2. 解码层面的容错
- 模糊匹配:不完全匹配编码也能给出候选
- 智能纠错:根据上下文自动修正错误
- 多候选输出:给出多个可能的结果供选择
3. 交互层面的容错
- 候选翻页:允许用户查看更多候选
- 手动选重:用户可以主动选择正确的候选
- 回删修改:允许用户删除错误并重新输入
这些容错机制本质上都是在利用冗余信息来对抗噪声,这与香农的纠错码思想是一脉相承的。
2.6.6 顶功编码的容错特性
顶功编码在容错方面具有独特的优势:
编码可无限延长:当出现重码或歧义时,可以通过继续输入笔画来精确筛选,这相当于增加了编码的冗余度,从而降低错误概率。
即时反馈:顶屏机制提供了即时的反馈,用户可以立即知道当前输入是否正确,这相当于一个带反馈的通信系统,能够及时纠正错误。
无切分歧义:顶功编码的边界清晰,不存在拼音输入中常见的分词问题,这从根本上消除了一类重要的噪声源。
这些特性使得顶功编码在理论上能够更好地逼近有噪信道容量的极限。
2.7 率失真与编码优化
香农的率失真理论(Rate-Distortion Theory)研究的是在允许一定失真的条件下,信源编码所需的最小信息速率。这一理论为输入法的核心问题——"码长与重码率的权衡"——提供了坚实的理论基础。
2.7.1 率失真函数的基本概念
定义:
对于一个离散无记忆信源
其中最小化是对所有满足平均失真约束
率失真函数的性质:
- 非递增性:
是 的非递增函数——允许的失真越大,所需的码率越低 - 凸函数性:
是 的凸函数 - 端点值:
- 当
(零失真)时, ,即信源熵 - 当
时, ,即不需要任何信息
- 当
2.7.2 输入法中的率失真模型
将率失真理论应用于输入法,我们可以建立如下对应关系:
信源:汉字文本序列
编码输出:按键序列
率(Rate):平均码长
其中
失真(Distortion):输入过程中的"不便利性"或"额外代价",可以用多种方式度量:
- 重码率失真:
其中
- 选字次数失真:
即平均每个字需要按多少次数字键或翻页键来选择正确的候选。
- 综合失真:
综合考虑重码、翻页、选字等多种因素的加权和。
率失真函数:
2.7.3 典型编码方案的率失真特性
不同类型的输入法编码方案,在率失真曲线上处于不同的位置:
1. 全拼输入法
- 率(码长):较高,约4-5键/字
- 失真(重码率):很高,大量同音词
- 特点:码长长,失真大,但是易学性好
2. 双拼输入法
- 率(码长):中等,约2键/字(不计选字)
- 失真(重码率):高,与全拼相当
- 特点:缩短了码长,但失真没有改善
3. 五笔字型
- 率(码长):较低,约3-4键/字
- 失真(重码率):很低,几乎无重码
- 特点:码长短,失真小,但学习成本高
4. 声笔简拼
- 率(码长):较低,约2-3键/字
- 失真(重码率):中等,有少量重码
- 特点:在码长和失真之间取得了较好的平衡
5. 顶功编码
- 率(码长):可变,可长可短
- 失真(重码率):可控,随码长增加而降低
- 特点:可以动态调整率失真平衡点,用户可以根据需要选择
理想的编码方案应该尽可能接近率失真函数的下界,即在相同失真下码长更短,或者在相同码长下失真更小。
2.7.4 率失真权衡的优化方法
根据率失真理论,可以通过以下方法优化输入法的率失真特性:
1. 增加编码维度
引入更多的编码元素(如笔画、声调、字形等),增加每个按键承载的信息量,从而在相同码长下降低失真。
这正是音形结合方案(如声笔系列)的优势所在——通过引入笔画信息,在不显著增加学习成本的前提下,大幅降低了重码率。
2. 利用上下文信息
利用语言模型提供的上下文先验概率,可以在不增加码长的情况下降低失真。这相当于从信源端进行了压缩,降低了有效信源熵。
整句拼音输入法正是利用了这一原理——通过N-gram语言模型或大模型,将字级别的歧义消解为句级别的选择,从而大幅降低了实际使用中的失真。
3. 可变长度编码
采用可变长度编码,对高频字词用短码,对低频字词用长码。这样可以在平均失真不变的情况下,降低平均码长。
霍夫曼编码是这一思想的理论基础。在输入法中,简拼、词组、简码等都是可变长度编码的具体体现。
4. 渐进式编码
允许用户根据需要逐步增加编码长度,逐步降低失真。这相当于提供了一条连续的率失真曲线,用户可以在任意点上工作。
顶功编码是这一思想的最佳体现——用户可以只打声母就顶屏(高码率、高失真),也可以继续加笔画直到唯一(低失真、长码长),完全由用户根据实际情况动态选择。
2.7.5 最优工作点的选择
率失真函数给出了理论上的最优边界,但具体的最优工作点还需要结合实际需求来确定。
影响最优工作点的因素:
使用场景:
- 日常聊天:可以接受较高失真,追求速度
- 正式文稿:要求低失真,追求准确性
- 竞速比赛:追求极致速度,可以接受较高失真
用户水平:
- 新手:倾向于低失真,减少选字负担
- 熟练用户:可以接受一定失真,追求速度
文本类型:
- 常用词汇:失真低,因为高频词往往排在前面
- 生僻字词:失真高,需要更多编码来区分
多目标优化:
实际上,输入法的优化是一个多目标优化问题,除了率和失真,还需要考虑:
- 易学性(学习成本)
- 手感(击键舒适度)
- 规范性(符合语文规范)
率失真理论提供了一个核心的分析框架,但最终的方案选择需要综合权衡多种因素。
2.7.6 顶功编码的率失真优势
顶功编码在率失真权衡方面具有独特的优势:
1. 连续可调
顶功编码提供了一条连续的率失真曲线,用户可以在任意点上工作,而不是只能在几个离散点上选择。用户可以根据当前输入的字词频率、重要性、个人状态等因素,动态决定打多少码。
2. 自适应优化
对于高频字词,用户自然会倾向于少打码、早顶屏,享受高速度;对于低频字词或容易混淆的字词,用户会多打几码来降低重码率。这种自适应的行为模式,使得顶功编码在实际使用中能够自动逼近最优的率失真平衡点。
3. 无额外选字开销
在传统编码中,失真(重码)需要通过额外的选字操作(数字键、翻页键)来纠正,这本身也增加了码长。而顶功编码中,用户是通过继续输入编码来筛选候选,选字和编码是一体的,没有额外的切换开销。
4. 与上下文预测的结合
顶功编码可以很好地与智能预测结合。当预测准确时,用户可以少打码直接顶屏;当预测不准时,用户可以多打码来精确指定。这种人机协作的方式,能够充分发挥人和机器各自的优势。
这些优势使得顶功编码在理论上能够更好地逼近率失真函数的最优边界,也解释了为什么许多用户在使用顶功方案后能够达到很高的输入效率。