妙手生花的背后输入法原理解密
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
妙手生花的背后输入法原理解密
作者:
来源:《电脑爱好者》2014年第09期
文字输入认识码表文件
我们先来了解一下文字输入过程,比如要在百度搜索中使用搜狗输入法输入“电脑”作为关键字进行搜索。
首先要切换到“搜狗输入法”,接着在键盘上键入“diannao”,此时在输入法状态栏会出现多个符合“diannao”编码的汉字或词组,选择“电脑”后就可以实现字符的输入了(图1)。
可以看到,文字输入过程主要是输入编码,然后根据编码选择所需字符的过程。
因此Windows系统下汉字输入法实际上就是:将输入的标准ASCII字符串(英文字符),按照一定的编码规则转换为汉字或词组。
在将英文字符转换成汉字的过程中,码表文件(字库)起到了关键作用,码表文件有点类似英汉词典,将特定组合的英文字符与汉语字词一一对应起来。
比如打开搜狗字库文件,就可以看到我们上面输入的“dian’nao”对应的正是汉语“电脑”(图2)。
何以高效输入法高效输入探秘
一款优秀的输入法必须要让使用者实现高效输入,这就要求每款输入法有自己的特色功能。
日常使用中我们需要输入一些生僻字、网络流行语,如果输入法的字库不够全面的话就无法输入。
现在的输入法一方面借助本地字库,另一方面则充分发挥“云字库”优势,可以将生僻字、网络流行语等一网打尽。
比如必应输入法运用微软亚洲研究院的创新研究成果,优化了核心引擎,加上云端服务器的无限量存储和计算能力,即使输入类似“weiruankinecttaicoolle”中文拼音与英语相混合的字符串,它也可以智能识别(图3)。
输入法“猜你喜欢”
好的词库还需搭配智能的算法,只有依靠智能算法才能将字库的功能充分发挥出来。
现在大多数输入法能自动分析用户的输入,选择和调整文字显示的优先级,这样既可以大大降低词语拼错的可能性,同时方便用户高效选择输入,这种功能的实现是借助输入法后台强大的算法实现的。
比如搜狗输入法,在你首次输入“dnahz”并选择“电脑爱好者”后,它就会“记忆”下你的选择,等再次输入“dnahz”,它就会智能判断你可能要输入“电脑爱好者”,于是将这一词组调整到优先选择的位置。
如果你多次输入“dnahz”但选择的是不同的词组,这时输入法的算法程序会根据你选择的频率(选的多少),将你最可能想要的结果放在优先位置(图4)。
统计是智能算法的核心
上面的根据词频调整,已经具有初步的学习功能了,而优秀的输入法还可以智能联想、智能纠错、智能组句。
有时我们会发现,刚刚输入一两个字母,输入法就已经给出我们想要的长长的词组,非常智能。
这些看起来有些神秘,但它们的算法核心其实很简单,就是统计。
聊天、写作、打报告,你每天究竟打了多少字也许你并不清楚,但你所用的输入法却在默默地记录着,每一次的输入和选择,都会纳入它统计的数据中,正是根据这些数据分析得出常用的词语,以及你特殊的喜好和选择。
所以,并非输入法“聪明”,而是我们自己“出卖”了自己(图5)。
输入法
搞“兼职”
除了识别编码的输入,现在输入法的扩展功能也越来越多。
一方面是扩展字符的输入方式,比如为了方便用户输入不会读音但会写的汉字,搜狗输入法提供了手写组件,启动该组件后只要使用鼠标将字写出来,就可在识别框选择输入(图6)。
另一方面将输入法和其他功能关联起来,如谷歌输入法就整合其强大的搜索功能,在输入需搜索的关键字后,只要点击状态栏的谷歌图标,即可自动打开谷歌的搜索页面搜索。
你也可以自己打造输入法
从上面的介绍我们知道,输入法的核心实际上就是码表文件,因此只要我们自己制作好码表文件,然后利用一些输入法生成器即可生成自己的输入法。
如果觉得自己制作麻烦,还可以直接提取当前输入法的字库。
比如搜狗输入法,打开设置属性窗口后切换到“词库”,然后在“词库选择”下拉列表选择“导出文本词库”,这样即可获得码表源文件(图8)。
获取码表源文件后,我们既可以利用微软免费提供的“输入法生成器”,也可以使用第三方的“多多输入法生成器”来生成自己的输入法!。