部首输入法的制作方法

文档序号:6577917阅读:367来源:国知局
专利名称:部首输入法的制作方法
技术领域
本发明属于汉字输入法领域,特别涉及计算机通用键盘的汉字输入方法。
背景技术
编码码元的选取应当同时具有规范性和自由性,传统编码方法在这里遇到了无法 调和的矛盾。也就是说当完全按规范选取字根时,输入法就无法满足对汉字不同认知水平 用户的输入需要。输入法发明人往往选取确定数量的字根,而舍弃了字根选取的规范性。这 种选取确定数量字根的输入法都需要用户去背字根表,用户只能使用输入法发明人预先设 定的编码规则去输入汉字,不能依据自己的输入习惯来输入汉字。依据字词编码规则输入汉字应当同时具有高效性和自然性,传统编码方法为单 字、两字词、三字词、四字词制定不同的编码规则,虽然提高了词组的输入效率,却违背了汉 字的自然书写习惯。而采取单字全码组词的输入方式,无法兼顾单字输入效率和词组输入 效率。如果单字全码的码长过长,就会影响词组的编码效率;如果词单字全码的码长过短, 就导致了单字输入的重码率过高。已有的形码汉字输入方法,当用户忘记了汉字的拆分编码时,需要切换到拼音输 入法才能输入汉字。一些支持与拼音混合输入的形码输入法,无法解决拼音编码和形码编 码冲突的问题。

发明内容
针对编码码元选取无法满足对汉字不同认知水平用户的输入需要、单字全码组词 无法兼顾单字输入效率和词组输入效率、不能输入忘记拆分编码的字词的技术问题,本发 明的目的在于提供一种使用最大编码码元集合与最小编码码元集合之间的幂编码码元集 合对汉字进行幂拆分编码,候选字词双栏显示,兼容拼音输入,依据编码位频率动态编码的 输入方法。本发明的目的是通过以下技术方案实现的(a)将2009年5月1日实施的《汉字部首表》中规定的201个主部首、99个附形 部首做为对汉字字形编码的最大编码码元集合;将300个字形编码码元,按其首笔画及笔 画数分成26组,具体为一起笔一画、一起笔二画、一起笔三画、一起笔四画、一起笔五画及 五画以上、丨起笔一画、丨起笔二画、丨起笔三画、丨起笔四画、丨起笔五画及五画以上、J 起笔一画、j起笔二画、j起笔三画、j起笔四画、j起笔五画、j起笔六画及六画以上、、 起笔一画、、起笔二画、、起笔三画、、起笔四画、、起笔五画及五画以上、ι起笔一画、ι 起笔二画、ι起笔三画、ι起笔四画、ι起笔五画及五画以上;将26组字形编码码元指定到 计算机通用键盘的26个字母键上,具体为h —;j:十、厂、匚;k 干、工、土、士、才、廿、寸、升、大、兀、尤、弋;卜、丨J、卜、门;
小、、口、口、山、巾;
止、支、、曰、曰、日、冃、贝、水、见;
夕、业、氺、目、田、m、皿、严、虫、肉、卤、貝、見、里、1 王、无、韦、夬、木、木、支、犬、歹、车、牙、戈、无、比、瓦;η 玉、示、甘、石、龙、耒、老、耳、臣、而、 、西、而、页、至、麦、县、走、赤、車、豆、酉、 辰、豕、青、長、卓、雨、革、頁、面、髟、馬、鬲、黄、麥、鼓;a:夕、业、氺、目、田、m、皿、严、虫、肉、卤、貝、見、里、、足、邑、非、齿、虎、門、黾、 韭、骨、鬥、鬥、齒、鼎、黑、罪、齒;

香、鬼、
分......(b)选取2009年5月1日实施的《汉字部首表》中150个常用部首做为对汉字字 形编码的最小编码码元集合;将150个字形编码码元,按其首笔画及笔画数分成24组,指定 到计算机通用键盘的24个字母键上,具体为h
4、、八、人、入、、门、勹、几、儿、匕、几; 才、彡、各、夕、&、卞;
牛、手、、气、毛、夂、长、片、斤、爪、父、允、\月、氏、欠、风、殳; 韦、生、矢、禾、白、瓜、鸟;
缶、舌、竹、、白、自、血、舟、色、卩彳、身、楚、采、谷、豸、龟、角、隹、阜、金、食、鱼、 、風、鳥、魚、黍、鼠、鼻、龜、龠;
t
W、Wi ; 片、广、门、?、个广丄; 文、方、火、斗 、川、、 户、彳、心; 广、立、穴、净、齐、衣、净、羊、
ι(所有折笔);
U、PJ (在左、在右)、刀、力、又、厶、1_、; 彐、旦、尸、己、已、巳、弓、子、屮、少、女、飞、马、互、互、乡、幺、〈〈〈; 肀、爿、毋;
、、疋、皮、α、矛、母、聿、蚩、艮、艸、羽、糸、系、隶、韋、飛;
依笔顺,使用最大编码码元集合中的部首将字符集内所有汉字拆分,可以如下拆
鬉鼓 豆; 涨?弓长;
、米、言、辛、音、首、高、麻、鹿、齊、龍;jk1
十、厂、匚;
工、土、士、 、*、寸、升、大、尤、弋; 王、少、木、犬、歹、车、牙、戈、瓦;
n石、龙、耳、6、页、走、車、酉、豕、雨、革、頁、馬;
g[;
f卜、U、卜、门;
d小、 、口、口、山、巾;
S止、曰、曰、贝、水、见;
a目、田、”、皿、卢、虫、貝、見、 、門、鬥、鬥、黑;
Y』
u彳、八、人、 、勺、儿、匕、几;
i彳、多、巧、夕、久、乍;
。牛、气、文、斤、爪、父、<(、月;
p韦、禾、白、瓜、鸟;
m 、臼、自、舟、身、豸、官、鱼、烏、魚、鼠;
t、
r一、/、\/、一、卞
e斗、广、门、宇、十、J\、L;
W文、方、火\/\、、、尸、守、心;
q广、立、穴、丰、衣、丰、羊、米、龍;
b一
VU、口、卜、刀、力、又、厶、L;
C司、尸、弓、子、女、马、乡、{{{;
将属于最大编码码元集合并且不属于最小编码码元集合的部首,使用最大编码码元集合中的部首对其进行拆分,可以如下拆分
鼓十豆支;
j/\L乙、、
豆一口一
长J一、
......
(C)将以上所述部首做为对汉字字形编码的编码码元;依笔顺取其字形的第一、第二、最末一个编码码元的代码进行编码;当汉字的字形由两个编码码元组成时,依笔顺依次取其字形的第一、第二个编码码元的代码进行编码;当汉字的字形由一个编码码元组成时,取这个编码码元的代码进行编码;[oo70] 分别用最大编码码元集合、最小编码码元集合,以及每一个包含于最大编码码元集合并且包含最小编码码元集合的部首集合对汉字字形进行拆分取码,做为汉字的字形编码;其中集合包含关系是指真子集的集合包含关系;
通过以下步骤,实现幂编码码元集合对汉字字形幂拆分编码;[oo72] 通过计算机辅助设计,依次为每一个汉字调用过程A,进行自动幂编码;[oo73] 过程A
{[oo75] 将汉字字形第一个编码码元的代码存入递归变量a,调用过程B;
如果汉字字形的第一个编码码元不是最小编码码元集合中的部首,将汉字字形的 第二个和第三个编码码元恢复成原来的第二个和第三个编码码元,并且将汉字字形的第一 个编码码元拆分,递归调用过程A ;}过程B {将汉字字形第二个编码码元的代码存入递归变量b,调用过程C ;如果汉字字形的第二个编码码元不是最小编码码元集合中的部首,将汉字字形的 第三个编码码元恢复成原来的第三个编码码元,并且将汉字字形的第二个编码码元拆分, 递归调用过程B;}过程C {将汉字字形最后一个编码码元的代码存入递归变量C,保存递归变量a、b、c中的 编码结果;如果汉字字形的最后一个编码码元不是最小编码码元集合中的部首,将汉字字形 的最后一个编码码元拆分,递归调用过程C ;}删除重复的编码结果,将所有不重复的编码结果做为汉字的字形编码;例如两个编码码元集合的唯一区别是一个编码码元集合中包含部首“长”,另外一 个编码码元集合中不包含部首“长”,那么这两个编码码元集合对汉字字形的拆分取码,只 有编码码元包括“长”的汉字,其拆分编码不同。对于编码码元不包括“长”的汉字,两个编 码码元集合的拆分编码是重复的。所以需要删除所有重复的编码结果。本发明通过最大编码码元集合中的部首对汉字的拆分,最大编码码元集合中的部 首逐级拆分成最小编码码元集合中的部首,将阶乘复杂度问题转化为3次方复杂度问题, 实现了幂编码码元集合对汉字字形的幂拆分编码;例如“涨”字的字形可以被拆分为“?、弓、长”、“?、弓、、”,所以“涨”字的字形编 码分别为“ec0”、“ect”。(d)当汉字字形由三个编码码元编码组成时,将这三个编码码元的代码做为该字 的主码,将该字的汉语拼音做为该字的辅码;当汉字字形由两个编码码元组成时,在这两个 编码码元的代码之后加上该字汉语拼音的第一个字母做为该字的主码,将该字汉语拼音的 其余字母做为该字的辅码;当汉字字形由一个编码码元组成时,在这个编码码元的代码之 后加上该字汉语拼音的第一个及第二个字母做为该字的主码,将该字汉语拼音的其余字母 做为该字的辅码;将汉字的辅码连接在主码之后,做为该字的单字全码;词组编码依次取构成词组 所有单字的单字主码,做为词组编码;在汉字编码数据库中为单字编码的每一个输入编码记录使用频率;在汉字编码数据库中为词组编码的每一个输入编码记录使用频率;每一个输入编码的使用频率定义为编码位频率;
例如某个汉字有两组单字全码,分别是“abcde”和“abde”,在汉字编码数据库中 分别为该字的每一个输入编码,也就是、”、“油”、“£^”、“£^(1”、“£^如”、“油(1”、“油如”
记录使用频率。例如某个词组有两组词组全码,分别是“abcdef”和“xyzdef”,在汉字编码数据 库中为该词组的每一个输入编码,也就是 1^(1”、“油(3如”、“油(3(1时”、“巧2(1”、“”2如”、 “xyzdef”记录使用频率。不记录码长小于4的词组编码的使用频率,也就是说不记录“a”、 “ab”、“abC”、“X”、“Xy”、“Xyz”的使用频率,因为词组编码的最小码长大于3。编码位频率用来判断如何显示候选字词,例如用户输入“abcd”,本发明根据单字 编码“abed”的使用频率和词组编码“abed”的使用频率,来判断是否将主候选栏中的候选 字显示于辅候选栏中。(e)输入法候选字词窗口,分为主候选栏和辅候选栏;主候选栏用于显示编码包 含辅码的候选字和主码编码的候选字词;辅候选栏用于显示编码包含辅码的候选字和编码 为汉语拼音全拼编码的候选字词;1、2、3、4、5五个数字键定义为主候选字词选择键,用于选择主候选栏中的候选字 词;7、8、9、0四个数字键定义为辅候选字词选择键,用于选择辅候选栏中的候选字词;当用户输入的编码码长小于4时,主码候选栏不显示这种简码方式的主码候选 词;当用户输入的编码码长大于3时,主码候选栏总是先显示主码编码的候选词,然后再显 示主码编码的候选字。因此主码输入的候选词和主码输入的候选字,之间不会发生冲突。(f)当编码包含辅码的辅码候选字的编码位频率,小于主候选栏中编码位频率最 高的候选词的编码位频率时,将该候选字显示于辅候选栏中。当单字辅码输入和词组输入重码时,在主候选栏中先显示辅码候选字,再显示词 组。由于辅码候选字的编码总是包含主码,所以辅码候选字和其主码候选字之间,至少存在 一个候选词或系统自造词。因此辅码候选字和其主码候选字的输入,之间不会发生冲突。还可以当汉字字形由三个编码码元编码组成时,将这三个编码码元的代码做为该 字的主码,将该字的汉语拼音做为该字的辅码;当汉字字形由两个编码码元组成时,将这两 个编码码元的代码做为该字的主码,将该字的汉语拼音做为该字的辅码;当汉字字形由一 个编码码元组成时,在这个编码码元的代码之后加上该字汉语拼音的第一个字母做为该字 的主码,将该字汉语拼音的其余字母做为该字的辅码;词组编码依次取构成词组所有单字的单字主码,做为词组编码。当采取不等长码长的主码对词组编码时,主码的码长为2至3码,其两字词的编码 空间为40万至3亿,有效的增加了词组的编码空间。词组编码还可以依次取构成词组所有单字的单字主码,再取词组第一个字的辅码 做为词组编码。词组编码还可以依次取构成词组所有单字的单字主码,再取词组最后一个字的辅 码做为词组编码。词组编码还可以依次取构成词组所有单字的单字主码,再依次取词组每一个字的 第一个辅码做为词组编码。当采取不等长码长的主码对词组编码时,为词组编码增加辅码,可以在静态编码 上实现词组的不重码输入。
10
词组编码还可以依次取构成词组所有单字的单字主码,再取词组第一个字的第一 个辅码做为词组编码。词组编码还可以依次取构成词组所有单字的单字主码,再取词组第一个字的第一 个辅码,再取词组第二个字的第一个辅码做为词组编码。当采取不等长码长的主码对词组编码时,为词组编码增加一到两个辅码,使用编 码位频率技术,可以在每一个特定用户的实际输入过程中动态实现词组的不重码输入。当编码包含辅码的辅码候选词的编码位频率,小于主候选栏中编码位频率最高的 候选词的编码位频率时,将该候选词显示于辅候选栏中。当采取不等长码长的主码对词组编码,而且为词组编码增加辅码时,输入编码的 切分存在一定困难,输入法难于判断辅码在输入编码中的起始位置。本发明为候选字词设置以下数据结构候选字词主码辅码虚指针编码位频率......本发明预先判断每一个辅码候选字词的辅码起始位置,并将辅码在输入编码中的 起始位置保存于虚指针中,当用户选择了该候选字词时,证明这个辅码编码的候选字词的 输入编码切分是正确的,从而得到了输入编码的正确切分。可以将主码中的汉语拼音代码可以用分号“;”代替。使用形码输入法看稿打字时,用户有时可能会忘记某个汉字的读音,这时可以用 分号“;”代替忘记读音的汉字主码中的汉语拼音代码。本发明选取《汉字部首表》中规定的部首做为对汉字字形编码的最大编码码元集 合,符合语言文字规范。同时,选取中小学汉字教学中使用的部首做为对汉字字形编码的最 小编码码元集合,符合汉字教学规范。为了满足对汉字认知水平不同用户的输入需要,本发 明开创的提出了使用幂编码码元集合,对汉字字形进行幂拆分编码。由于汉字编码数据库 中预设了每一种拆分的编码,所以用户可以根据自己拆分习惯进行汉字输入。经本发明人 使用计算机辅助设计研究发现,对GB13000. 1字符集中的20902个汉字进行幂编码,实际上 仅增加了不到1万条单字编码,因此这种幂编码方法具有实用性。在GB13000. 1字符集中,只由一个组字部件或由两个组字部件构成的汉字大约有 3000个。如果仅以字形进行编码,编码空间只有26X26个,那么就会产生大量静态重码 字。所以需要在字形编码之后添加非字形编码,增加码长以降低单字编码的静态重码率。 最自然的非字形编码就是汉语拼音,其他字形补码方案都需要学习成本。例如,舌、色、身、 食、鼠这五个字在本发明人以前公开的发明专利中是重码字,使用本发明方案分别编码为 舌(mshe)、色(mse)、身(mshen)、食(mshi)、鼠(mshu),就可以进行不重码输入。传统输入法认为可以通过提高词组的编码效率,来提高输入法的整体输入效率, 所以采取词组固定码长,为二字词、三字词、四字词、多字词制定不同的编码规则。然而汉语 的词汇总量是开放的,用户在使用词组固定码长的输入法输入汉字的时候,如果遇到输入 法词库中没有用户所需要输入的词组的情况,用户就不得不删除已输入的编码,然后再逐 字输入该词组,这样反而降低了输入效率。本发明开创性地提出了主码编码字词的输入方 法。也就是说,使用主码既可以输入单字也可以输入词组。当输入法的汉字编码数据库中 没有用户所需要输入的词组时,用户可以依次选择主码候选栏中的候选字词,自动完成这 个自造词的输入。这样的输入方法,也和汉字的书写习惯相一致。
本发明通过幂编码码元集合对汉字经行幂拆分编码具有实质性特点,满足了对汉 字认知水平不同用户的输入需要,带来了显著的技术进步。传统编码方法认为,为单字设置 多个不同的拆分编码,会占用编码空间,导致重码率的增加。实际上汉字编码数据库中无论 预设了多少种编码方案,对于每一个特定的用户来讲,在一定时期内,该用户只会使用其中 一种编码方案来输入汉字。本发明首创了编码位频率输入技术,使每个单字的编码之间不 发生影响。例如某个单字有“abCde”、“abde”等多组编码,当某用户使用编码“abc”输入该 字时,本发明只增加该字编码“abc”的使用频率,不会增加其他编码的使用频率。所以汉字 编码数据库中虽然为每一个汉字预设了多组编码,但是对于每一个特定的用户来讲,其每 一个汉字的实际输入编码都是唯一的。本发明双栏显示主辅码候选字词,解决了单字全码组词单字重码率过高的技术难 题,带来了有益效果。如果采取传统输入方法单栏显示候选字词,例如某些单字的主码是 “abc”,辅码是“de”,当用户输入编码“abcde”后,输入法将单字全码“abcde”编码的候选 字、简码“abcde”编码的候选词、主码“abc”编码的候选字,同时显示于单栏候选窗口之中, 输入法无法判断用户是想全码输入单字,还是输入词组,还是主码输入单字进行自造词。本 发明开创性地提出主码候选字词和辅码候选字分栏显示的输入方法,成功解决了字词主码 输入与单字辅码输入发生冲突的技术难题,从而同时提高了单字输入和词组输入的输入效 率。当编码包含辅码的辅码候选字的编码位频率,小于主候选栏中编码位频率最高的 候选词的编码位频率时,将该候选字显示于辅候选栏中。从而有效地屏蔽了无需在主候选 栏显示的辅码候选字。如果用户永远也不会输入的辅码冷僻字一直占用主候选栏的话,就 会影响词组的输入效率。如果将这些辅码冷僻字显示于词组之后,就会与主码候选字发生 冲突。本发明将这些辅码冷僻字显示于辅候选栏中,成功解决了单字输入效率和词组输入 效率冲突的技术难题。


图1是本发明主要技术特征流程图;图2是本发明主码输入单字的一个实施例;图3是本发明主码输入词组的一个实施例;图4和图5是本发明主码输入自造词的一个实施例;图6是本发明辅码输入单字的一个实施例;图7是本发明辅码输入单字的另一个实施例;图8是本发明简码输入词组的一个实施例;图9是本发明拼音编码输入单字的一个实施例;图10是本发明字形编码码元键位图。
具体实施例方式如图1所示,对“鬉”字的字形进行幂拆分编码过程如下将第一个编码码元“鼓”的代码“η”存入递归变量a,调用过程B ;将第二个编码码 元“ ”的代码“ζ”存入递归变量b,调用过程C ;将最后一个编码码元“豆”的代码“η”存入递归变量c,保存递归变量a、b、c中的编码结果“nzn” ;将第一个编码码元“鼓”的代码“η”存入递归变量a,调用过程B ;将第二个编码码 元“ ”的代码“ζ”存入递归变量b,调用过程C ;最后一个编码码元“豆”不是最小编码码 元集合中的部首,将“豆”拆分为“一”,递归调用过程C ;将最后一个编码码元“一”的代码 “h”存入递归变量c,保存递归变量a、b、c中的编码结果“nzh”;将第一个编码码元“鼓”的代码“η”存入递归变量a,调用过程B;第二个编码码 元“ ”不是最小编码码元集合中的部首,将第三个编码码元恢复成原来的第三个编码码元 “豆”,将第二个编码码元“ ”拆分为“1”,递归调用过程B;将第二个编码码元“1”的代码 “b”存入递归变量b,调用过程C ;将最后一个编码码元“豆”的代码“存入递归变量c,保存 递归变量a、b、c中的编码结果"nbn";将第一个编码码元“鼓”的代码“η”存入递归变量a,调用过程B;第二个编码码 元“ ”不是最小编码码元集合中的部首,将第三个编码码元恢复成原来的第三个编码码元 “豆”,将第二个编码码元“ ”拆分为“1”,递归调用过程B;将第二个编码码元“1”的代码 “b”存入递归变量b,调用过程C;最后一个编码码元“豆”不是最小编码码元集合中的部首, 将“豆”拆分为“一”,递归调用过程C ;将最后一个编码码元“一”的代码“h”存入递归变量 c,保存递归变量a、b、c中的编码结果“nbh” ;第一个编码码元“鼓”不是最小编码码元集合中的部首,将第二个和第三个编码码 元恢复成原来的第二个编码码元“ ”和第三个编码码元“豆”,将第一个编码码元“鼓”拆 分为“十”、将第二个编码码元“ ”替换为“豆”,递归调用过程A ;将第一个编码码元“十” 的代码“f”存入递归变量a,调用过程B ;将第二个编码码元“豆”的代码“η”存入递归变量 b,调用过程C ;将最后一个编码码元“豆”的代码“η”存入递归变量c,保存递归变量a、b、c 中的编码结果“fnn”;第一个编码码元“鼓”不是最小编码码元集合中的部首,将第二个和第三个编码码 元恢复成原来的第二个编码码元“ ”和第三个编码码元“豆”,将第一个编码码元“鼓”拆 分为“十”、将第二个编码码元“ ”替换为“豆”,递归调用过程A ;将第一个编码码元“十” 的代码“f”存入递归变量a,调用过程B;将第二个编码码元“豆”的代码“η”存入递归变 量b,调用过程C ;最后一个编码码元“豆”不是最小编码码元集合中的部首,将“豆”拆分为 “一”,递归调用过程C ;将最后一个编码码元“一”的代码“h”存入递归变量c,保存递归变 量a、b、c中的编码结果“fnh”;第一个编码码元“鼓”不是最小编码码元集合中的部首,将第二个和第三个编码码 元恢复成原来的第二个编码码元“ ”和第三个编码码元“豆”,将第一个编码码元“鼓”拆 分为“十”、将第二个编码码元“ ”替换为“豆”,递归调用过程A ;将第一个编码码元“十” 的代码“f”存入递归变量a,调用过程B ;第二个编码码元“ ”不是最小编码码元集合中的 部首,将第三个编码码元恢复成原来的第三个编码码元“豆”,将第二个编码码元“ ”拆分 为“1”,递归调用过程B;将第二个编码码元“1”的代码“b”存入递归变量b,调用过程C; 将最后一个编码码元“豆”的代码“η”存入递归变量c,保存递归变量a、b、c中的编码结果 "fhn";第一个编码码元“鼓”不是最小编码码元集合中的部首,将第二个和第三个编码码 元恢复成原来的第二个编码码元“ ”和第三个编码码元“豆”,将第一个编码码元“鼓”拆分为“十”、将第二个编码码元“ ”替换为“豆”,递归调用过程A ;将第一个编码码元“十”的 代码“f”存入递归变量a,调用过程B ;第二个编码码元“ ”不是最小编码码元集合中的部 首,将第三个编码码元恢复成原来的第三个编码码元“豆”,将第二个编码码元“ ”拆分为 “1”,递归调用过程B ;将第二个编码码元“1”的代码“b”存入递归变量b,调用过程C ;最 后一个编码码元“豆”不是最小编码码元集合中的部首,将“豆”拆分为“一”,递归调用过程 C ;将最后一个编码码元“一”的代码“h”存入递归变量c,保存递归变量a、b、c中的编码结 果 “fhh,,。所以“鬉”字的字形幂拆分编码为“ nzn ”、“ nzh ”、“ nbn ”、“ nbh ”、“ fnn ”、“ fnh,,、 “fhn”、“fhh”。在以上步骤中,还可以将编码码元“鼓”拆分为“士”、“ 口”。从本实施例可以 得知,可以通过一定算法,可以将幂编码码元对汉字字形的幂拆分编码,使用计算机辅助设 计,在有效时间内得出自动编码结果。本发明人研究发现,像“鬉”字这样需要多次递归取 码的汉字只有一少部分。因为最小编码码元集合中的部首组字能力极强,非最小编码码元 集合中的部首相对来讲很少参与组字,所以大部分汉字只需一到两次递归迭代取码,甚至 无需递归迭代就能取码,所以本发明幂汉字编码数据库具有实用性。例如编码码元“长”,本发明将这个非最小编码码元集合中的部首分别拆分为“ J、 一、、”和“一、ι、、”,那么用户在输入包含编码码元“长”的汉字时,无论是认为“长”是编 码码元的用户,还是把编码码元“长”拆分为“j、一、、”的用户,还是把编码码元“长”拆分 为“一、ι、、”的用户,都能得到其想要输入的汉字。图10是本发明字形编码码元键位图。下面举例说明本发明输入汉字的具体过程。1主码输入单字输入单字的主码,使用主候选字词选择键,从主候选栏中选择候选字,完成单字的 输入。例如,“部”字的主码是“qdv”,当用户输入完编码“qdv”后,主码为“qdv”的候选字 显示在输入法候选窗口下半部分的主候选栏中。如图2所示,此时按下主候选字词选择键 1,完成“部”字的输入。2主码输入词组依次输入构成词组的所有单字的主码,使用主候选字词选择键,从主候选栏中选 择候选词,完成词组的输入。例如,“部”字的主码是“qdv”,“首”字的主码是“qsh”,当用户 输入完编码“qdvqsh”后,主码为“qdvqsh”的候选词“部首”和主码为“qdv”的候选字显示 在输入法候选窗口下半部分的主候选栏中。如图3所示,此时按下主候选字词选择键1,完 成词组“部首”的输入。3主码输入自造词依次输入自造词的所有单字的主码,使用主候选字词选择键,依次从主候选栏 中选择候选字词,组成该自造词,完成自造词的输入。如图4所示,当用户输入完编码 “khgecz”后,发现输入法候选窗口下半部分的主候选栏中没有所需要输入的词组“奇字”, 此时按下主候选字词选择键3,选择主码候选字“奇”,开始进行自造词的输入;用户依次从 主候选栏中选择候选字词,如图5所示,此时按下主候选字词选择键1,组成自造词“奇字”, 完成自造词的输入。4辅码输入单字
依次输入单字的单字全码,使用主候选字选择键,从主候选栏中选择候选字,完 成单字的输入。例如,“苛”字的主码是“khg”,辅码是“ke”,所以“苛”字的单字全码是 “khgke”,当用户输入完编码“khgke”后,单字全码为“khgke”的候选字,显示在输入法候选 窗口下半部分的主码候选栏中。如图6所示,此时按下主候选字词选择键1,完成“苛”字的 输入。当编码包含辅码的辅码候选字的编码位频率,小于主候选栏中编码位频率最高 的候选词的编码位频率时,将该候选字显示于辅候选栏中。如图7所示,当用户使用编码 “khgke”输入单字“坷”的频率,小于使用编码“khgke”输入词组“打落”的频率时,辅码候 选字“坷”字显示在输入法候选栏上半部分右侧的辅候选栏中。此时按下辅候选字词选择 键7,完成“坷”字的输入。5简码输入词组对于每一个特定的用户来讲,其用字量和词汇量都是有限的,其并不会输入汉字 编码数据库中的每一个字词。如图8所示,大部分用户永远也不会输入“搞”字,相反大部分 用户会输入词组“打字”。传统输入法无法有效的解决这种字词重码。当字词重码时,如果 采取先显示词后显示字的方法,就会出现常用字永远排在冷僻词后面的情况;如果采取先 显示字后显示词的方法,就会出现常用词永远排在冷僻字后面的情况;如果采取字词混排 显示的方法,就会导致候选窗口的混乱。本发明使用编码位频率技术,双栏显示候选字词, 成功的解决了这一技术难题。如图8所示,此时用户按下主候选字词选择键,选择词组“打 字”,简码输入词组;或者选择主码候选字,开始进行简码自造词。由图7和图8所示,如果采取传统单栏显示候选字词的输入方法,那么“坷”和“搞” 的输入就会发生混乱。6汉语拼音输入单字对于形码输入法来讲,用户有时会遇到忘记了某个字词如何拆分取码的情况。已 有形码输入法无法有效解决这一技术难题。本发明将汉语拼音全拼编码的候选字词显示于 辅候选栏中,成功的解决了这一技术难题。例如用户忘记了“落”字如何编码,就可以输入 “落”字的汉语拼音,如图9所示,此时按下辅候选字词选择键8,就可以完成“落”字的输入。“冃”是“月”的附形部首,“椭”字的幂编码之一是“Iuo”,所以显示在主候选栏中。已有输入法发明,假想用户需要输入字符集中的每一个汉字,从而静态的去为汉 字进行编码。为了降低这种静态重码率,主观定义编码码元、不按映射规则指定键位、违背 汉字原理任意肢解汉字、甚至采取无理编码的编码方法,把计算机汉字输入方法,搞成了发 明人编排的汉字密码。实际上输入法发明人假想的这个用户并不存在,发明人对假想的这 个用户汉字输入的种种编码优化,对于普通用户来讲,反而降低了输入效率。例如两个高频 字重码,发明人选择其中之一为其设立简码,对于某个特定用户来讲,那个非简码字却是更 加常用。再例如两个非高频字重码,发明人对这两个字的编码进行优化,增加无理性以使其 不重码,但是对于某个特定用户来讲,其只会使用这两个重码字中的一个,另一个字永远都 不会输入。这是因为每一个用户的用字量和词汇量均是不同的,传统输入法设计方法满足 不了不同用户的实际输入需要。已有汉字输入法只为单字和词组记录使用频率,不为单字和词组的每一个输入编 码记录使用频率。这样除非强制指定某个重码字词使用简码输入,或强制某个重码字词使
15用全码输入,甚至采取无理编码的方法,否则无法消除重码现象。本发明编码位频率技术, 只需用户自行决定哪个字词使用简码输入,哪个字词使用全码输入,就能在每一个特定用 户的实际输入过程中,动态消除重码。本发明不为汉字编码进行任何无理优化,实现了汉字 的不重码输入。 本发明使用幂编码码元集合对汉字幂拆分编码,主码输入字词、辅码输入单字,候 选字词双栏显示,兼容拼音输入,使用编码位频率动态消除重码具有实质性特点。本发明可 以满足对汉字不同认知水平用户的输入需要,可以按照汉字自然书写习惯输入字词,可以 输入忘记拆分编码的字词,具有显著的技术进步。本发明完全摒弃了那种需要背字根、需要 背拆分,为了降低重码率而任意肢解汉字甚至无理编码的输入法设计方法。本发明不是静 态为汉字编码,而是提出了一种针对每一个特定用户动态编码的不同构思的技术方案,代 表了面向用户设计输入法的技术发展趋势,开创了计算机汉字输入法设计的新篇章。
权利要求
一种计算机汉字输入法,其特征在于(a)将2009年5月1日实施的《汉字部首表》中规定的201个主部首、99个附形部首做为对汉字字形编码的最大编码码元集合;将300个字形编码码元,按其首笔画及笔画数分成26组,具体为一起笔一画、一起笔二画、一起笔三画、一起笔四画、一起笔五画及五画以上、丨起笔一画、丨起笔二画、丨起笔三画、丨起笔四画、丨起笔五画及五画以上、丿起笔一画、丿起笔二画、丿起笔三画、丿起笔四画、丿起笔五画、丿起笔六画及六画以上、丶起笔一画、丶起笔二画、丶起笔三画、丶起笔四画、丶起笔五画及五画以上、乛起笔一画、乛起笔二画、乛起笔三画、乛起笔四画、乛起笔五画及五画以上;将26组字形编码码元指定到计算机通用键盘的26个字母键上,具体为h一;j十、厂、匚;k干、工、土、士、扌、艹、寸、廾、大、兀、尢、弋;l王、无、韦、耂、木、朩、支、犬、歹、车、牙、戈、旡、比、瓦;n玉、示、甘、石、龙、耒、老、耳、臣、襾、覀、西、而、页、至、麦、镸、走、赤、車、豆、酉、辰、豕、青、長、雨、革、頁、面、髟、馬、鬲、黄、麥、鼓;g丨、亅;f刂、卜、冂;d小、、口、囗、山、巾;s止、攴、、曰、日、贝、水、见;a歺、业、氺、目、田、罒、皿、虍、虫、肉、卤、貝、見、里、、足、邑、非、齿、虎、門、黾、韭、骨、鬥、鹵、鼎、黑、黽、齒;y丿;u亻、、八、人、入、、勹、儿、匕、几;i彳、彡、犭、夕、夂、饣;o牛、手、、气、毛、攵、长、片、斤、爪、父、尣、爫、月、氏、欠、风、殳;p钅、生、矢、禾、白、瓜、鸟;m缶、舌、竹、、臼、自、血、舟、色、身、辵、采、谷、豸、龟、角、隹、阜、金、飠、鱼、香、鬼、食、風、鳥、魚、黍、鼠、鼻、龜、龠;t丶;r亠、冫、丷、冖、讠;e丬、广、门、氵、忄、宀、辶;w文、方、火、斗、灬、户、礻、心;q疒、立、穴、衤、齐、衣、衤、羊、、、米、言、辛、音、首、高、麻、鹿、齊、龍;b乛(所有折笔);v凵、卩、阝(在左、在右)、刀、力、又、厶、廴、;c彐、尸、己、已、巳、弓、子、中、女、飞、马、彑、纟、幺、巛;x肀、爿、毋;z、、疋、皮、癶、矛、母、聿、艮、艸、羽、糸、糹、隶、韋、飛;依笔顺,使用最大编码码元集合中的部首将字符集内所有汉字拆分;(b)选取2009年5月1日实施的《汉字部首表》中150个常用部首做为对汉字字形编码的最小编码码元集合;将150个字形编码码元,按其首笔画及笔画数分成24组,指定到计算机通用键盘的24个字母键上,具体为h一;j十、厂、匚;k工、土、士、扌、艹、寸、廾、大、尢、弋;l王、耂、木、犬、歹、车、牙、戈、瓦;n石、龙、耳、覀、页、走、車、酉、豕、雨、革、頁、馬;g丨;f刂、卜、冂;d小、、口、囗、山、巾;s止、曰、日、贝、水、见;a目、田、罒、皿、虍、虫、貝、見、、門、鬥、黑;y丿;u亻、八、人、、勹、儿、匕、几;i彳、彡、犭、夕、夂、饣;o牛、气、攵、斤、爪、父、爫、月;p钅、禾、白、瓜、鸟;m、臼、自、舟、身、豸、飠、鱼、鳥、魚、鼠;t丶;r亠、冫、丷、冖、讠;e丬、广、门、氵、忄、宀、辶;w文、方、火、灬、户、礻、心;q疒、立、穴、衤、衣、衤、羊、米、龍;b乛;v凵、卩、阝、刀、力、又、厶、廴;c彐、尸、弓、子、女、马、纟、巛;将属于最大编码码元集合并且不属于最小编码码元集合的部首,使用最大编码码元集合中的部首对其进行拆分;(c)将以上所述部首做为对汉字字形编码的编码码元;依笔顺取其字形的第一、第二、最末一个编码码元的代码进行编码;当汉字的字形由两个编码码元组成时,依笔顺依次取其字形的第一、第二个编码码元的代码进行编码;当汉字的字形由一个编码码元组成时,取这个编码码元的代码进行编码;分别用最大编码码元集合、最小编码码元集合,以及每一个包含于最大编码码元集合并且包含最小编码码元集合的部首集合对汉字字形进行拆分取码,做为汉字的字形编码;其中集合包含关系是指真子集的集合包含关系;通过以下步骤,实现幂编码码元集合对汉字字形幂拆分编码;通过计算机辅助设计,依次为每一个汉字调用过程A,进行自动幂编码;过程A{将汉字字形第一个编码码元的代码存入递归变量a,调用过程B;如果汉字字形的第一个编码码元不是最小编码码元集合中的部首,将汉字字形的第二个和第三个编码码元恢复成原来的第二个和第三个编码码元,并且将汉字字形的第一个编码码元拆分,递归调用过程A;}过程B{将汉字字形第二个编码码元的代码存入递归变量b,调用过程C;如果汉字字形的第二个编码码元不是最小编码码元集合中的部首,将汉字字形的第三个编码码元恢复成原来的第三个编码码元,并且将汉字字形的第二个编码码元拆分,递归调用过程B;}过程C{将汉字字形最后一个编码码元的代码存入递归变量c,保存递归变量a、b、c中的编码结果;如果汉字字形的最后一个编码码元不是最小编码码元集合中的部首,将汉字字形的最后一个编码码元拆分,递归调用过程C;}删除重复的编码结果,将所有不重复的编码结果做为汉字的字形编码;(d)当汉字字形由三个编码码元编码组成时,将这三个编码码元的代码做为该字的主码,将该字的汉语拼音做为该字的辅码;当汉字字形由两个编码码元组成时,在这两个编码码元的代码之后加上该字汉语拼音的第一个字母做为该字的主码,将该字汉语拼音的其余字母做为该字的辅码;当汉字字形由一个编码码元组成时,在这个编码码元的代码之后加上该字汉语拼音的第一个及第二个字母做为该字的主码,将该字汉语拼音的其余字母做为该字的辅码;将汉字的辅码连接在主码之后,做为该字的单字全码;词组编码依次取构成词组所有单字的单字主码,做为词组编码;在汉字编码数据库中为单字编码的每一个输入编码记录使用频率;在汉字编码数据库中为词组编码的每一个输入编码记录使用频率;每一个输入编码的使用频率定义为编码位频率;(e)输入法候选字词窗口,分为主候选栏和辅候选栏;主候选栏用于显示编码包含辅码的候选字和主码编码的候选字词;辅候选栏用于显示编码包含辅码的候选字和编码为汉语拼音全拼编码的候选字词;1、2、3、4、5五个数字键定义为主候选字词选择键,用于选择主候选栏中的候选字词;7、8、9、0四个数字键定义为辅候选字词选择键,用于选择辅候选栏中的候选字词;(f)当编码包含辅码的辅码候选字的编码位频率,小于主候选栏中编码位频率最高的候选词的编码位频率时,将该候选字显示于辅候选栏中。F2009101360022C0000011.tif,F2009101360022C0000012.tif,F2009101360022C0000013.tif,F2009101360022C0000014.tif,F2009101360022C0000015.tif,F2009101360022C0000016.tif,F2009101360022C0000017.tif,F2009101360022C0000018.tif,F2009101360022C0000019.tif,F2009101360022C00000110.tif,F2009101360022C00000111.tif,F2009101360022C0000021.tif,F2009101360022C0000022.tif,F2009101360022C0000023.tif,F2009101360022C0000024.tif,F2009101360022C0000025.tif,F2009101360022C0000026.tif,F2009101360022C0000027.tif
2.根据权利要求1所述的汉字输入法,其特征在于还可以当汉字字形由三个编码码元编码组成时,将这三个编码码元的代码做为该字的 主码,将该字的汉语拼音做为该字的辅码;当汉字字形由两个编码码元组成时,将这两个编 码码元的代码做为该字的主码,将该字的汉语拼音做为该字的辅码;当汉字字形由一个编 码码元组成时,在这个编码码元的代码之后加上该字汉语拼音的第一个字母做为该字的主 码,将该字汉语拼音的其余字母做为该字的辅码;词组编码依次取构成词组所有单字的单字主码,做为词组编码。
3.根据权利要求2所述的汉字输入法,其特征在于词组编码还可以依次取构成词组所有单字的单字主码,再取词组第一个字的辅码做为 词组编码。
4.根据权利要求2所述的汉字输入法,其特征在于词组编码还可以依次取构成词组所有单字的单字主码,再取词组最后一个字的辅码做 为词组编码。
5.根据权利要求2所述的汉字输入法,其特征在于词组编码还可以依次取构成词组所有单字的单字主码,再依次取词组每一个字的第一 个辅码做为词组编码。
6.根据权利要求2所述的汉字输入法,其特征在于词组编码还可以依次取构成词组所有单字的单字主码,再取词组第一个字的第一个辅 码做为词组编码。
7.根据权利要求2所述的汉字输入法,其特征在于词组编码还可以依次取构成词组所有单字的单字主码,再取词组第一个字的第一个辅 码,再取词组第二个字的第一个辅码做为词组编码。
8.根据权利要求3、4、5、6或7所述的汉字输入法,其特征在于当编码包含辅码的辅码候选词的编码位频率,小于主候选栏中编码位频率最高的候选 词的编码位频率时,将该候选词显示于辅候选栏中。
9.根据权利要求1、2、3、4、5、6或7所述的汉字输入法,其特征在于可以将主码中的汉语拼音代码可以用分号“;”代替。
全文摘要
输入法候选字词窗口,分为主候选栏和辅候选栏;主候选栏用于显示编码包含辅码的候选字和主码编码的候选字词;辅候选栏用于显示编码包含辅码的候选字和编码为汉语拼音全拼编码的候选字词。1、2、3、4、5五个数字键定义为主候选字词选择键,用于选择主候选栏中的候选字词;7、8、9、0四个数字键定义为辅候选字词选择键,用于选择辅候选栏中的候选字词。当编码包含辅码的辅码候选字的编码位频率,小于主候选栏中编码位频率最高的候选词的编码位频率时,将该候选字显示于辅候选栏中。
文档编号G06F3/023GK101872250SQ20091013600
公开日2010年10月27日 申请日期2009年4月23日 优先权日2009年4月23日
发明者王雅弟 申请人:王雅弟
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1