科技的发展(1) - 中文输入法

关于科技的发展系列,我想谈谈的第一个话题便是中文输入法。

回想起二十年前,刚接触计算机时,第一个让人困扰的事便是学习五笔。那时还没有用户痛点的说法,可以熟练使用五笔输入法还是看起来颇为高大上的感觉。不能免俗,记忆里的我还是费了一些劲的,虽然最终也没有能够练就这门“上乘”武功。如今想来也只依稀记得“烟”字的五笔编码是old,还是靠这个编码的巧合。

于是乎,我有一个念头,当下是否还有人在使用五笔输入法?我查阅了一下百度指数:五笔输入法 vs 搜狗输入法。

可以看到五笔输入法已经彻底走下神坛,成为一个非常小众的产品。相信上面的结果,并不出乎大家的意料。

在更多的讨论之前,让我们一起回顾一下中文输入法的大概发展历程:

1. 第一阶段:五笔输入法解决汉字输入的问题

虽然如今五笔输入法已经是一个小众的输入法,但它是中文输入法的奠基者

2. 第二阶段:音码代替需要强背的形码

典型如智能ABC, 紫光拼音

3. 第三阶段:智能拼音输入法

代表当然是搜狗拼音输入法,入门简单,但效率比拼五笔输入法

在这里,我感兴趣的不是为什么五笔输入法被历史所淘汰?而是,回顾整个中文输入法的发展历史,我们能从中得到一些什么启示?

20年前,你如果处于中文输入法行业,你是否能够提前预测到后来的发展?

站在今天,你是否能够预测20年后中文输入法是怎样的?

这也是我们去回顾科技发展的历史,希望从中得到的启示。纵观中文输入法的发展,个人以为不同阶段其实对应于不同的设计目标。

类似于,一个算法,或者一个系统的设计,如果设计目标有偏差,那么最终的结果往往就大相径庭。其实,很难有一种通用的设计,能够十全十美,如果存在这样的算法/系统/产品,那么其他的方案都将不会出现。某个特定的设计,总有其优势所在。即便是如今已经小众的五笔输入法,也还存在它独特优势的场景。

举排序算法为例,我们知道快速排序看上去很美,空间复杂度/平均时间复杂度都不可挑剔;而冒泡排序,时间复杂度看上去真是让人不敢恭维。但,我们也知道快速排序在某些场景并不理想,比如接近有序的数组排序。冒泡排序有时非常给力,如规模有限的排序,简单。各有各的美。

回到中文输入法,中文输入法设计目标的演化可以分两个阶段:

1. 第一阶段中文输入法设计目标:对于一个汉字来说,如何设计最佳的编码表示?

2. 第二阶段中文输入法设计目标:对于一段可能输入文字来说,如何设计最佳的编码表示?

在第一阶段,不管是形码输入法,还是音码输入法。设计的主要目标都是确保不同的汉字能使用不同输入字符串系列来表示。

形码输入法,如五笔输入法的目标是在码长方面进行极致优化,使得汉字可以使用尽可能短的编码表示,且尽可能不冲突(两个汉字的编码并不一样)。这个设计目标的优势当然是因为减少冲突带来输入速度很快。缺点也显而易见,那就是这是一套新设计的编码,需要掌握一门新的“编码语言”。在中文输入法刚刚开始发展的时候,这个问题还显得并不重要,因为接触计算机,或者需要大量进行文本输入的用户很少。也正因为这个原因,掌握五笔输入法,犹如掌握一门“高端”的技术。随着计算机的普及和大量计算机用户的出现,上述设计目标的劣势开始凸现。

音码输入法的发展,显然得益于持续增长的计算机用户。一般普通的计算机用户,文本处理的需求不一定非常频繁,为此而掌握一门新的语言是横在广大用户前面的一道门槛。输入法掌握的难易程度开始成为一个重要的指标。如紫光拼音输入法等音码输入法,依然持续优化单个汉字(词汇)的编码表示,只不过基于绝大多数用户天生掌握的中文拼音编码。这样的情况下,开始出现一些双拼,缩写,方言支持,容错(忽略饶舌/鼻音)等都是对设计目标的积极追求。

可以说微软拼音输入法是智能拼音输入法的先驱, 她虽然没有像后来的搜狗输入法那样极致优化。但,据我了解,微软拼音输入法是第一个突破针对汉字/词汇进行编码优化这一设计目标的中文输入法,开启了从局部优化到全局优化的进程。除了优化单个汉字/词汇编码,整体文本输入的优化给中文输入法带来更大的优化空间。中文输入法,再也不是单一汉字的预测,编码和输入上下文更紧密地结合到一起。通过引入更多语言模型方面的知识,即便使用音码,也能极大地优化编码复杂度。后来的搜狗输入法等智能拼音输入法,融合服务器端技术,综合大规模语料学习,个性化词库等,把这一设计目标推向极致。

经过一番事后诸葛亮的分析,如果我们回到20年前,智能拼音输入法为什么不能早点出现呢?当时,若干五笔输入法的厂家还因为专利对诉公堂呢,他们当时如果能够预见未来,也许可以先行一步。潜在的原因,我想应该有以下几个方面:

1. 中文输入法当时处于发展初期,不能没有学会走路,就期望学会跑步

2. 计算机普及初期,数字化文本数据都还非常有限,难于支持大规模语言模型训练。

3. 语言模型技术也还在发展

4. 早期计算机从硬盘到内存的存储容量都很有限,网络速度很慢,智能拼音输入法依赖的模型等在硬件上也会受限

5. 刚开始发展中文输入法的时候,的确设计目标会相对受限,是比较稳妥的方式

一个领域的发展,依赖于多个相关领域的突破。智能拼音输入法的今天,也同样得益于硬件发展,语言模型技术,服务器端技术等。虽然随着智能拼音输入法的普及,中文文本输入已经越来越“容易”,但无视当前的“权威”,你是否还有什么痛点?你是否依然觉得你的输入速度落后于你的思考速度?展望未来20年,中文输入法会有什么样的可能呢?

1. 我们一定需要键盘吗?中文的输入就一定需要通过输入a-z0-9来实现吗? 当前已经开始的手写识别/语音识别相信已经开始新的突破。

2. 我们需要输入吗? 是否未来的某一天,你的思考可以自动地转化为文字? 通过脑电波?

3. 物理键盘是否需要? 支持随时随地输入? 虚拟界面?

4. 为什么还需要强调中文输入法? 为什么输入法需要区分语言?

5. ......

你们有什么更好的想法吗? 在你的想象中, 未来的输入法是怎样的?

欢迎大家关注我的微信公众号 - “水滴杂谈”

时间: 2025-01-12 05:25:28

科技的发展(1) - 中文输入法的相关文章

Kali 1.0 / 2.0 安装中文输入法(谷歌pinyin + 其他)

1.kali默认是没有中午输入法的,需要自己安装一下 2.首先我们先获取root权限 [email protected]:~$ su密码: 3.安装中文输入法(apt-get 指令不会的同学可以学习一下基础指令哦) [email protected]:/home/dnt# apt-get install fcitx 4.安装谷歌输入法 [email protected]:/home/dnt# apt-get install fcitx-googlepinyin 5.安装完成后没有什么变化,重启一

Ubuntu 17.04安装安装ibus中文输入法[转载]

Ubuntu 16.04安装安装ibus中文输入法 Ubuntu16.04安装时,当初觉得自己英文还行,就安装了英文版的:结果安装完后,发现并没有中文输入功能.于是搜索一些安装中文输入法的方法.看网上很多都是安装的ibus pinyin输入法. 步骤: 1.安装Chinese语言包 鼠标依次点击System Settings–>Language Support–>Install/Remove Languages选中Chinese,点击Apply应用即可,等待下载安装完成.如下图: 这里完成的只

Kali 2.0里安装中文输入法

写在前面的话 关于中文输入法,实在是有太多了.当然,你也不可以不安装,(安装了增强工具即可),在windows 里输入中文,复制进去即可. 但是呢,想成为高手,还是要学会安装和使用各版本的中文输入法.

【转载】Ubuntu 12.04 LTS 中文输入法的安装

原文地址 :  http://www.cnblogs.com/zhj5chengfeng/archive/2013/06/23/3150620.html 我装的是英文版的 Ubuntu12.04,如果安装中文版,会自动安装中文输入法,这篇文章也是为了以后重装 Ubuntu 做一个准备 废话不多说,进入正题: 第一步:安装语言包 进入 “System Settings” 找到 “Language Support” 那一项,点击进入 选择 “Install/Remove Languages” 找到

在ubuntu系统中修复Sublime Text 2/3 中文输入法

目的:修复 Sublime Text 2/3's 在 Ubuntu(Debian) 系统下的无法输入中文输入法的问题. 方法如下: 安装 Fcitx 输入法,在终端输入如下命令 $ sudo apt-get install fcitx-table-wbpy  2. 修复中文输入法 更新并升级系统为最新(较新的系统会解决很多可能出现的问题) $ sudo apt-get update && sudo apt-get upgrade 再输入下面命令 $ git clone https://gi

Linux - Ubuntu中文输入法安装(12.04)

Ubuntu中文输入法安装(12.04) 本文地址:http://blog.csdn.net/caroline_wendy Ubuntu作为Linux常见的操作系统,是需要熟练使用的. 在安装过程中,输入法有时会出现问题,需要手动安装. 点击System Settings:找到Language Support. Install/Remove Language,找到Chinese(simplified),并点击Apply Changes,即可. 安装完毕之后,Keyboard input meth

安装完Linux Mint后,发现系统中竟没有中文输入法

安装完Linux Mint后,发现系统中竟没有中文输入法,语言支持之后自动更新过程中有些安装包下载失败. 可以采取下面的方法安装上中文输入法. 1. 安装iBus: sudo add-apt-repository ppa:shawn-p-huang/ppasudo apt-get update sudo apt-get install ibus-gtk ibus-pinyin ibus-pinyin-db-open-phrase 2. 打开语言支持,选择更新,这时它会下载一系列相关安装包 3.

Linux - Ubuntu中文输入法安装(Ubuntu 12.04)

Ubuntu中文输入法安装(Ubuntu 12.04) 本文地址:http://blog.csdn.net/caroline_wendy Ubuntu作为Linux常见的操作系统,是须要熟练使用的. 在安装过程中,输入法有时会出现故障,须要手动安装. 点击System Settings:找到Language Support. Install/Remove Language,找到Chinese(simplified).并点击Apply Changes,就可以. 安装完成之后,Keyboard in

输入框文本输入限制问题以及中文输入法下字符阶段的处理

输入框文本字数限制问题以及中文输入法下字符截断处理 上次博文写过处理实时获取输入表单的值,传送门: 博文地址.这次又需要处理输入框文本字数限制问题,前期的步骤思想其实就是要先实时获取输入框的值然后得到长度. 使用onkeyup判断字符长度 可以参考我前面写的博文,地址如上.onkeyup确实是可以做到实时获取的效果,因此我就是使用键盘事件来达到效果.HTML代码: <div class="content"> <textarea name="complain&