中文输入法浅谈
  R3jekIqJDwNw 2023年11月02日 39 0

前言 输入法:是指为将各种符号输入电子信息设备(如计算机、手机)而采用的编码方法。因为不同国家文字编码方式不同,所以输入法也有所差异。 本文一我们较为熟悉的中文输入法展开介绍,通过本文你将了解:

  • 输入法的基本分类
  • 几种常见中文输入法,及其输入规则
  • 几种常见输入法键盘布局分类
  • 输入法相关概念介绍

一、中文输入法

中文的输入法根据输入特点大致可分为三类:音码、形码和音形码

中文输入法浅谈_输入法

1.1 音码

根据汉字拼音设计的输入码,即拼音输入法,首先复习我们的中文音标:

声母(23个)

韵母(24个)

b 、p、m、f、d、t、n、l、g、k、h、j、q、x、r、z、c、s、y、w、zh、ch、sh

a、o、e、i、u、ü、ai、ei、ui、ao、ou、iu、ie、üe、er、an、en、in、un、ün、ang、eng、ing、ong

  • 声母,又称元音或母音,是音素的一种,与辅音/韵母相对。是在发音过程中由气流通过口腔而不受阻碍发出来的音,按前后分为高、中、低元音;按音节可分为单元音和双元音。
  • 韵母,又辅音或子音,是气流在口腔或咽头受阻而形成的音。

以上字符基本包含在26个英文a~z中,除了ü需要用v代替。 常见的拼音输入法如下:

  • 简拼输入法:输入声母或声母的首字母来进行输入的一种方式。例如,我想输入“计算机”,则输入jsj 使用简拼输入,要求有强大的联想能力、丰富的词库。
  • 全拼输入法:输入汉字的全部拼音,声母和韵母。例如,我想输入“计算机”,则需输入jisuanji 全拼提高了准确性,但增加的码长,牺牲了输入速度。
  • 双拼输入法:对全拼的改进,将23个声母和24个韵母根据特定的组合分布在26键上,输入汉字的声母+韵母进行输入的一种方式。 以小鹤双拼为例(不同方案的双拼布局有所差异),当我想输入“青岛”,则仅需输入QK(qing)DC(dao)四个字母 双拼输入法有一定门槛,需要熟悉声母和韵母的布局,减小码长,从而提高输入速度。

1.2 形码

根据汉字的构造特点设计的输入法,常见的形码输入法如下:

  • 五笔输入法:完全依据笔画和字形特征对汉字进行编码的输入法,字根表如下: 列如我想输入“湖北”,则需键入IED(湖)UX(北)。
  • 郑码输入法:原理与五笔类似,字根表如下图: 例如,当我想输入“湖北”,则需键入VEJQ(湖)TIRR(北) 8个字母
  • 仓颉输入法:最初只有繁体字版本,以字首做分类,字身做补充形成仓颉码: 理 - > — + 土 + 田 + 土 -> MGWG 哈 -> 口 + 人 + 一 + 口 ->ROMR

1.3 音形码:

是音码与形码的结合,即拼音+字根=字的输入方式,常见的音形码输入有:
  • 二笔输入法:又称二笔/两笔输入法,采用拼音首字母与笔画(两个笔画取一键)相结合的方式取码。 当想输入“武汉”时,需键入WH(武)HC(汉)
  • 自然码输入法:利用压缩韵母和偏旁部首发音,以拼音为基础的输入法,键盘布局如下: 当想输入“镭”,则需键入LZ(lei)JY(钅+ 雨) 当然除了上述举例的输入法之外,还有其他许多的输入法,但基本实现原理与上述几种输入法一致。

二、输入法布局方式

当然关于输入法还有不同的布局方式,常见的有:

  • 九宫格
  • qwerty
  • qwertz(德国)
  • azerty(法国)等。

就汉字输入法而言,除了上述按键输入,还有手写输入,语音转文字输入等方式,涉及到图形识别处理,语音识别处理更为复杂,暂且不展开介绍。 通过上述粗略介绍大致也能感受到输入法是一门复杂且灵活的设计艺术。输入法的设计和选择需要依据不同国家语言的构造特点,使用习惯,文化特点等个方面来设计,使之能够达到既快又准的目的。

三、其他输入法有关名词介绍

  • 模糊音/输入:将部分容易混淆、不易区分的音节在输入时相互通用的一种功能设置,以部分提高输入效率。如zh = z;ch = c; sh = s;n = l ;h = f; ang = an; eng = en ;iang = ian ;uang = uan等。 例如搜狗拼音输入法的模糊配置如下:
  • 字典:同《新华字典》作用一样,即收录输入法有效的文字的集合,以Android google 拼音输入法字典为例: packages\inputmethods\PinyinIME\jni\data\valid_utf16.txt
〇一丁七万丈三上下丌不与丏丐丑专且丕世丗丘丙业丛东丝丞丟両丢两严並丧丨个丫丬中丮丰丱串丳临丶丸丹为主丼丽举丿乂乃久乇么义之乌乍乎乏乐乒乓乔乕乖乗乘乙乜九乞也习乡乢书乩买乱乳乷乾乿亀亂亃亄亅了予争亊事二亍于亏亐云互亓五井亘
...鼶鼷鼸鼹鼻鼽鼾齀齁齂齃齄齆齇齈齉齊齋齌齍齎齏齐齑齒齔齕齖齗齘齙齛齜齝齞齟齠齡齢齣齤齥齦齧齪齫齬齮齯齰齱齲齴齵齶齷齸齹齺齻齾齿龀龃龄龅龆龇龈龉龊龋龌龍龐龑龒龔龕龘龙龚龛龜龝龟龠龢龤龥

共计16466个有效汉字,当然这些不是全部汉字,具不完全统计,常用的汉字有7000+,总共的汉字有9w+;字典中的1.6w+的汉字足以满足日常使用了(当然也可以自行添加)。

  • 词库:即输入法的词语数据库,词语资料的集合,以Android google拼音输入法的词库为例: packages\inputmethods\PinyinIME\jni\data\rawdict_utf16_65105_freq.txt
#字/词组  权重  联想  拼音
鼥 0.750684002197 1 ba
釛 0.781224156844 1 ba
軷 0.9691786136 1 ba
釟 0.9691786136 1 ba
...
粑粑 149.447435764 0 ba ba
巴巴 322.411748334 0 ba ba
爸爸 9814.0643895 0 ba ba
八百 373.484720623 0 ba bai
八宝 107.015331962 0 ba bao
芭比 182.651055928 0 ba bi
...
二氧化硫 196.831399718 0 er yang hua liu
欧美国家 141.29744947 0 ou mei guo jia
欧洲国家 193.90988203 0 ou zhou guo jia
欧洲市场 170.551683166 0 ou zhou shi chang

共计65105行,词库中包含了单字、最多四字的词语/成语。其中:

第一列表示字词,与第四列拼音对应。 第二列表示权重,可以理解为在侯选列表中的顺序优先级,数值越大优先级越高。 第三列表示联想,1则打开联想,0则关闭联想,具体实现原理未知。 第四列表示音标,与第一列字词组对应。 可以想象,词库越大,越能提高输入词语的丰富度。提升输入体验,针对类型和作用的不同,词库又可以进行细分:

中文输入法浅谈_输入法_02

基础词库为系统自带的或根据用户输入习惯生成的词库,细胞词库则是根据需要从外部导入的特定行业和场景特点的词库。 但词库越大,输入内容的过滤,联想等功能的性能就越低,词库越大也会导致重码率增大。

  • 联想:即输入字词后猜测后续期望输入的内容,例如输入“天王盖地虎” -(联想)->“宝塔镇河妖”。联想能极大的提高输入效率。
  • 词频/权重:字/词语在使用中出现的频率,决定输入时侯选的优先级。
  • 重码:结合上述拼音词库可以看出相同音码,如“ba”对应多个汉字,这些汉字即重用音码,重码率越大说明输入法效率越低。
  • 码长:汉字编码所需的输入的编码长度,例如“湖北”,拼音输入法其码长为5(hubei),五笔输入法其码长为5(IEDUX),自然码其码长为4(HCBA)。平均码长是用来衡量一种输入法效率的参数。
  • 辅助码:也称辅码,为了解决重码较多的问题而设计的编码方式。以拼音输入法为例,由于拼音输入法没有设定声调,很多字有相同的音码,例如,我想打“珍”字,输入拼音“zhen”: 会发现重码的字很多,并且首页没有我预期的字,由于“珍”字默认的码率较低,需要向后翻页查找,当使用笔顺辅助码:zhen + tab + hh则能快速筛选出“珍”: 这里的辅助码为笔顺码:h(横)s(竖)p(撇)n()z(折);辅助码可以自定义,除了笔顺还有音调,如戏(xi + tab + 4);拆字辅助码,如栖=木 + 西(qi + tab + mx)
  • 镜像文件:
  • 反查:通过一种输入法编码,反查另外一种输入法输入编码。举个“栗子”:在五笔输入法下,想输入“武汉”,但不记得词根了,使用拼音wuhan反查五笔编码为gaic: 输入gaic,可以正常得到“武汉”:
  • 中/英文切换:在输入文字时,有时需要输入英文字母,例如“什么gui”。使用中/英文切换,灵活更换输入模式。
  • 全/半角:由于英文字母、数字与汉字的编码字符大小不同,通常一个汉字占两个字节,字母和数字占一个字节。因此全/半角中文是没差别,而数字和英文字母会有所不同,如下:半角:我今天打了4532个words。 全角:我今天打了4532个words。 通常我们习惯了半角输入,全角输入让人觉得排版错误,感觉别扭,但它的作用是统一字符编码大小,特别是对于中日韩等象形文字,排列起来显得更整齐。
  • 字符键:调出常用字符菜单,包括数字,常见运算符,标点符等。满足不同输入场景和内容需要。
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

R3jekIqJDwNw