动态编码输入法的制作方法

文档序号:6483422阅读:221来源:国知局
专利名称:动态编码输入法的制作方法
技术领域
本发明属于计算机汉字输入法领域,特别涉及一种带有拼音辅助码的形码输入法。
背景技术
已有的形码输入法,都是由输入法发明人主观定义编码规则,对汉字进行拆分编 码。用户只能使用输入法预先定义的编码规则去输入汉字,不能依据自己的输入习惯来输 入汉字。用户需要学习输入法定义的字根,需要记住这些字根的键位,需要依据编码规则对 汉字拆分编码以输入汉字。这种设计方法,导致了汉字输入法复杂难学,输入法无法满足对 汉字认知程度不同的用户的汉字输入需要。这是因为存在汉字输入法必须要有汉字编码, 不对汉字编码就不能输入汉字的技术偏见。

发明内容
针对汉字输入法复杂难学,不学习编码规则就无法输入汉字的技术问题,本发明 的目的在于提供一种可以学习用户自定义输入规则的汉字输入法。本发明的目的是通过以下技术方案实现的(a)本发明包括以下装置用于存储汉字的“已输入编码”、“已输入编码频度”和汉字的拆分码元的“汉字数 据库,,;用于存储拆分码元的编码和该编码的编码频度的“码元数据库”;用于存储候选字拆分码元的切分编码的“候选字列表”;用于根据“汉字数据库”中汉字的“已输入编码”或该汉字的拆分码元在“码元数 据库”中所对应的编码,生成“候选字列表”的“候选字列表生成器”;当“汉字数据库”中的汉字没有“已输入编码”或者“已输入编码”均不等于用户输 入的编码时,用于根据这些汉字的拆分码元在“码元数据库”中所对应的编码,生成“候选字 列表”的“输入编码分析器”;当根据汉字的拆分码元在“码元数据库”中所对应的编码,生成“候选字列表”时, 用于分析输入编码每一种切分的切分序度的“代码序值分析器”;用于将用户选择的候选字的输入编码存储到“汉字数据库”该汉字的“已输入编 码”中,将该候选字的拆分码元的切分编码存储到“码元数据库”中的“输入编码处理器”;本发明各装置如下关系当用户输入编码后,“候选字列表生成器”根据“汉字数据库”中汉字的“已输入编 码”,生成“候选字列表”;当“汉字数据库”中的汉字没有“已输入编码”或者“已输入编码” 均不等于用户输入的编码时,“输入编码分析器”根据这些汉字的拆分码元在“码元数据库” 中所对应的编码,生成“候选字列表”;当“输入编码分析器”根据汉字的拆分码元在“码元数 据库”中所对应的编码,生成“候选字列表”时,根据“代码序值分析器”返回的“代码序值”切分输入编码,为候选字排序,并将拆分码元的切分编码存储到“候选字列表”中;当用户在“候选字列表”中选择候选字后,“输入编码处理器”将该候选字的输入编 码存储到“汉字数据库”该汉字的“已输入编码”中,将“候选字列表”中存储的该候选字的 拆分码元的切分编码,存储到“码元数据库”中;本发明根据“汉字数据库”中汉字的拆分码元在“码元数据库”中的编码,预判输 入编码最可能对应的候选字,通过用户选择的候选字在“候选字列表”中的切分编码,判定 该候选字的拆分码元的最可能的编码。(b)依笔顺将汉字拆分为第一个、第二个和最末一个拆分码元三个拆分码元;当 汉字的字形由两个拆分码元组成时,依笔顺将汉字拆分为第一个和第二个拆分码元两个拆 分码元;当汉字的字形由一个拆分码元组成时,在这个拆分码元之后添加一个或两个补码 码元;在“汉字数据库”中,为每一个汉字记录,设置“第一个拆分码元”、“第二个拆分码 元”、“第三个拆分码元”字段并设置多组“已输入编码”和“已输入编码频度”字段,可以如 下结构{第一个拆分码元;第二个拆分码元;第三个拆分码元;已输入编码1 ;已输入编码频度1 ;已输入编码2 ;已输入编码频度2 ;......}本发明在“汉字数据库”中不预设任何字形编码,所有“已输入编码”都是在用户 输入该汉字之后才产生。(c)当拆分码元的全码码长等于2,编码不包含补码码元的编码时,将该编码定义 为该拆分码元的“两码编码”,将该编码的频度定义为“两码编码频度”;当拆分码元的全码码长等于3,编码不包含补码码元的编码时,将该编码定义为该 拆分码元的“三码编码”,将该编码的频度定义为“三码编码频度”;当拆分码元的全码编码包含补码码元的编码时,将该编码定义为该拆分码元的 “补码编码”,将该编码的频度定义为“补码编码频度”;在“码元数据库”中,为每一个拆分码元记录,设置多组“两码编码”、“两码编码频 度”字段、多组“三码编码”、“三码编码频度”字段、多组“补码编码”、“补码编码频度”字段, 可以如下结构{两码编码1 ;两码编码频度1 ;三码编码1 ;三码编码频度1 ;补码编码1 ;补码编码频度1 ;两码编码2 ;两码编码频度2 ;三码编码2 ;三码编码频度2 ;
两码编码3 ;两码编码频度3 ;......}本发明在“码元数据库”中为每一个拆分码元存储多个可能的编码。(d)当“输入编码分析器”根据汉字的拆分码元在“码元数据库”中所对应的编码, 生成“候选字列表”时,在“候选字列表”中为这些候选字存储当候选字的“序度”最小时, 该候选字的输入编码的每一种切分每一个拆分码元的每一种编码类型的切分编码;可以如 下结构{
第--种切分第--个码元两码编码
第--种切分第--个码元三码编码
第--种切分第--个码元补码编码
第--种切分第二二个码元两码编码
第--种切分第二二个码元三码编码
第--种切分第二二个码元补码编码
第--种切分第三三个码元两码编码
第--种切分第三三个码元三码编码
第--种切分第三三个码元补码编码
第二二种切分第--个码元两码编码
第二二种切分第--个码元三码编码
第二二种切分第--个码元补码编码
第二二种切分第二二个码元两码编码
第二二种切分第二二个码元三码编码
第二二种切分第二二个码元补码编码
第二二种切分第三三个码元两码编码
第二二种切分第三三个码元三码编码
第二二种切分第三三个码元补码编码
}本发明将候选字的拆分码元的最可能的切分编码存储在“候选字列表”中。(e)当用户输入编码后,“候选字列表生成器”按照以下步骤,将“汉字数据库”中 的汉字添加到“候选字列表”中在“汉字数据库”中查找,“已输入编码”等于用户输入的编码的汉字;将所有符合 条件的汉字,按汉字的该“已输入编码”的“已输入编码频度”由大到小的顺序排序,添加到 “候选字列表”中;在其余未添加到“候选字列表”的汉字中查找,没有“已输入编码”的汉字;将所有 符合条件的汉字,使用“输入编码分析器”添加到“候选字列表”中;在其余未添加到“候选字列表”的汉字中查找,“已输入编码”均不等于用户输入的 编码的汉字;将所有符合条件的汉字,使用“输入编码分析器”添加到“候选字列表”中;本发明通过分析汉字的“已输入编码”的三种不同情况,依次添加到“候选字列表”中。(f)当“汉字数据库”中的汉字的没有“已输入编码”或者“已输入编码”均不等于 用户的输入的编码时,“输入编码分析器”根据这些汉字的拆分码元在“码元数据库”中所对 应的编码,将这些候选字添加到“候选字列表”中;当根据汉字的拆分码元在“码元数据库”中所对应的编码,生成“候选字列表”时, 根据“代码序值分析器”返回的“代码序值”切分输入编码,为候选字排序,并将拆分码元的 切分编码存储到“候选字列表”中;具体过程为当调用“代码序值分析器”时,将“被查询码”的相应编码频度设置为该“被查询码” 的“被查询码编码频度”,将相应拆分码元设置为“查询码元”;将输入编码的第一个代码设置为“查询码”,将该汉字相应拆分码元的相应代码设 置为“被查询码”,调用“代码序值分析器”,将“代码序值分析器”返回的“代码序值”设置为 “第一个代码序值”;将输入编码的第二个代码设置为“查询码”,将该汉字相应拆分码元的 相应代码设置为“被查询码”,调用“代码序值分析器”,将“代码序值分析器”返回的“代码 序值”设置为“第二个代码序值”;将输入编码的第三个代码设置为“查询码”,将该汉字相应 拆分码元的相应代码设置为“被查询码”,调用“代码序值分析器”,将“代码序值分析器”返 回的“代码序值”设置为“第三个代码序值”;将“第一个代码序值”加上“第二个代码序值”再加上“第三个代码序值”设置为输 入编码的切分序度;“输入编码分析器”将输入编码各种切分的切分序度的最小值,设置为 该候选字的“序度”,并将此时该汉字拆分码元的切分编码,存储到“候选字列表”中;当“汉字数据库”中的汉字的没有“已输入编码”时,将这些汉字按“序度”由小到 大的顺序排序,当这些汉字的“序度”相等时,按汉字的字频由大到小的顺序排序,将这些汉 字添加到“候选字列表”中;当“汉字数据库”中的汉字的“已输入编码”均不等于用户的输入的编码时,将这 些汉字按“序度”由小到大的顺序排序,当这些汉字的“序度”相等时,按汉字的最大的“已 输入编码频度”由小到大的顺序排序,将这些汉字添加到“候选字列表”中;本发明根据候选字的“序度”为候选字排序,将最有可能编码为该输入编码的汉字 排在“候选字列表”前面。(g) “代码序值分析器”根据“输入编码分析器”设置的“查询码”、“被查询码”、“被 查询码编码频度”和“查询码元”,计算“代码序值”,将最小的“代码序值”返回给调用者,具 体过程为在所有“被查询码”中查找等于“查询码”的搜索结果,如果所有符合条件的“被查 询码”的“被查询码编码频度”的总和,不小于“查询码元”的其他编码频度,那么将“代码序 值”设置为1 ;在所有“被查询码”中查找等于“查询码”的搜索结果,如果所有符合条件的“被查 询码”的“被查询码编码频度”的总和,小于“查询码元”的其他编码频度,那么将“代码序 值”设置为10;如果“被查询码”没有编码,那么将“代码序值”设置为100 ;如果“被查询码”均不等于“查询码”,那么将“代码序值”设置为1000 ;比较以上过程中的“代码序值”,将其中最小的“代码序值”返回给调用者;
本发明每一个序级的序值都大于前一个序级的序值3倍以上,解决了候选字“序 度”计算时的干扰问题。(h)当用户在“候选字列表”中选择候选字后,“输入编码处理器”按照以下步骤将 该候选字的输入编码存储到“汉字数据库”该汉字的“已输入编码”中,将该汉字的拆分码 元的编码存储到“码元数据库”中如果在“汉字数据库”中该汉字的“已输入编码”中已经存储了用户输入的编码, 那么将该汉字的该“已输入编码”的“已输入编码频度”加1 ;如果在“汉字数据库”中该汉字没有“已输入编码”或者“已输入编码”均不等于用 户输入的编码,那么将用户输入的编码存储到“汉字数据库”该汉字的“已输入编码”中,并 将该“已输入编码”的“已输入编码频度”设置为1 ;当在“汉字数据库”中该汉字没有“已输入编码”或者“已输入编码”均不等于用户 输入的编码时,“输入编码处理器”将“候选字列表”中存储的该候选字的拆分码元的切分编 码,存储到“码元数据库”中;如果该拆分码元在“码元数据库”中已经存储了该切分编码, 那么将该编码的编码频度加1 ;完成以上过程后,清空“候选字列表”。输入法将该候选字的拆分码元在“候选字列表”中存储的最可能的切分编码,存储 到“码元数据库”中。(i)选取650个组字部件做为对汉字字形拆分的拆分码元,具体为一、十、厂、匚、匚、、二、丁、T、,、七、5、^、t、t、士、 、土、卄、寸、大、 弋、#、干、工、升、尤、兀、艸、三、亍、于、亏、亏、卄、才、下、丌、丈、矢、尤、f、戈、φ、 乒、万、&、牛、e、王、木、犬、歹、车、戈、车、車、无、韦、少、'于、、支、牙、无、比、 瓦、Tfl、、开、井、天、夫、云、专、丐、不、巨、屯、互、_、徘、开、《、 、丰、元、 丐、廿、五、市、戸、而、石、耳、 、页、走、雨、革、頁、卓、玉、示、甘、耒、老、臣、而、而、至、 麦、县、赤、豆、辰、豕、青、靑、長、面、髟、鬲、黄、麥、黃、鼓、、末、未、击、戋、正、世、本、 丙、戊、平、东、戌、亚、吏、両、百、夹、夷、严、求、更、亜、束、两、卯、尨、i、亞、東、事、走、 ; ;、也、爾、耶、室、六、韭、ψ、ι,椏、美、世、再、朿、死、巫、甫、夾、来、 苴、來、豕、甚、柬、爽、噩、莘、亩、取、苗、现、荑、龙、西、酉、J、ι、ij>卜、门、 卜、I、fl、、小、口、口、山、巾、上、!、少、止、曰、日、水、贝、见、貝、見、疋、B、 支、少、待、冃、中、冈、内、内、内、乌、“、M、W、·H·、 、、、目、田、m、皿、严、虫、 足、夕、业、氺、肉、卤、邑、非、齿、虎、黾、韭、骨、鬥、鹵、α、鼎、%、黽、齒、卡、凸、甲、申、 电、央、史、冊、凹、四、ft、曳、网、串、果、i、早、禺、_、黾、央、电、尔、且、由、冉、由、 用、曲、B、冊、畢、里、萤、里、黑、J、 J、八、人、几、匕、勹、儿、几、η、、 入、、、乂、七、力、九、才、彡、各、欠、夕、t、夂、千、乇、川、凡、勺、夕、£、f、)山、 々、勿、及、丸、久、牛、气、4、夂、斤、W、月、百、月、、、手、毛、长、片、爪、父、允、氏、 风、欠、殳、午、壬、夭、爻、芎、农、弟、夂、片、1£、升、戶、丹、勻、正、夕、 、禾、白、鸟、金、金、鳥、生、矢、瓜、失、乍、丘、斥、乎、尔、乐、册、乒、印、用、甩、、臼、自、舟、身、角、鱼、 魚、缶、舌、竹、血、色、釆、谷、豸、龟、隹、阜、I、香、鬼、食、風、黍、鼠、鼻、P1、龜、龠、朱、豕、 行、审、乖、秉、臾、自、t、由、禹、芍、肩、※、芎、象、赃、熏、年、先、兆、我、垂、乗、重、 垂、乘、夕《、载、、、飞、、丄、、/、i、”、4、、广、门、?、个、…、、門、楚、亡、 丫、之、、v、#、文、方、火、,、、、、户、寺、心、斗、尤、为、8、、、广、立、穴、卒、羊、米、衣、 言、言、辛、_、音、首、高、高、麻、鹿、齊、龍、、然、、主、永、亦、本、产、并、关、州、羌、 半、並、酋、关、為、冡、萑、产、審、南、盖、爹、茱、餐、餐、必、交、亥、彥、兴、容、齐、 乙、1、L J、U、P、刀、力、厶、1_、 、“^、刁、H、了、乃、《、7、3、P、B、彐、尸、已、弓、 己、巳、子、女、马、馬、屮、飞、互、幺、〈〈〈、这、讲、也、双、叉、乡、;f·、氏、易、办、卫、久、 习、又、肀、另、毋、毋、尹、尺、夬、弔、刃、、办、予、f、3、丑、巴、以、广、乡、系、 、全、疋、 皮、~、矛、母、聿、糸、隶、韋、飛、童、民、弗、出、丝、臾、肃、承、目、兼、粛、g、隞、肅、 肃、彖、爾、尊、艮、羽、6。本发明依据“交重不拆”、“歧义不拆”、“难拆不拆”原则选取拆分码元。(j)当“输入编码分析器”根据汉字的拆分码元在“码元数据库”中所对应的编码, 生成“候选字列表”时,根据“代码序值分析器”返回的“代码序值”切分输入编码,为候选字 排序,并将拆分码元的切分编码存储到“候选字列表”中;具体过程为当调用“代码序值分析器”时,将“被查询码”的相应编码频度设置为该“被查询码” 的“被查询码编码频度”,将相应拆分码元设置为“查询码元”;1. 1当汉字由一个拆分码元组成,输入编码的码长等于2时,输入编码的第一种切 分将用户输入的编码的第一个代码设置为“查询码”,将该汉字的第一个拆分码元的 所有“两码编码”的第一个代码设置为“被查询码”,调用“代码序值分析器”,将“代码序值 分析器”返回的“代码序值”设置为“第一个代码序值”;将用户输入的编码的第二个代码设 置为“查询码”,将该汉字的第一个拆分码元的所有“两码编码”的第二个代码设置为“被查 询码”,调用“代码序值分析器”,将“代码序值分析器”返回的“代码序值”设置为“第二个代 码序值”;比较以上过程中的“第一个代码序值”和“第二个代码序值”,将其中的最大值乘以 2再加上最小值设置为“第一个码元两码编码序值”;将用户输入的编码的第一个代码设置 为“查询码”,将该汉字的第一个拆分码元的所有码长小于3的“补码编码”的第一个代码设 置为“被查询码”,调用“代码序值分析器”,将“代码序值分析器”返回的“代码序值”设置为 “第一个代码序值”;将用户输入的编码的第二个代码设置为“查询码”,将该汉字的第一个 拆分码元的所有码长小于3的“补码编码”的第二个代码设置为“被查询码”,调用“代码序 值分析器”,将“代码序值分析器”返回的“代码序值”设置为“第二个代码序值”;比较以上 过程中的“第一个代码序值”和“第二个代码序值”,将其中的最大值乘以2再加上最小值设 置为“第一个码元补码编码序值”;比较以上过程中的“第一个码元两码编码序值”和“第一个码元补码编码序值”,将 其中的最小值设置该候选字的“序度”;如果“第一个码元两码编码序值”不大于“第一个码元补码编码序值”,那么将该候选字的“第一种切分第一个码元两码编码”设置为该输入编 码;如果“第一个码元补码编码序值”不大于“第一个码元两码编码序值”,那么将该候选字 的“第一种切分第一个码元补码编码”设置为该输入编码;1. 2当汉字由一个拆分码元组成,输入编码的码长等于3时,输入编码的第一种切 分将用户输入的编码的第一个代码设置为“查询码”,将该汉字的第一个拆分码元的 所有“三码编码”的第一个代码设置为“被查询码”,调用“代码序值分析器”,将“代码序值 分析器”返回的“代码序值”设置为“第一个代码序值”;将用户输入的编码的第二个代码设 置为“查询码”,将该汉字的第一个拆分码元的所有“三码编码”的第二个代码设置为“被查 询码”,调用“代码序值分析器”,将“代码序值分析器”返回的“代码序值”设置为“第二个代 码序值”;将用户输入的编码的第三个代码设置为“查询码”,将该汉字的第一个拆分码元的 所有“三码编码”的第三个代码设置为“被查询码”,调用“代码序值分析器”,将“代码序值 分析器”返回的“代码序值”设置为“第三个代码序值”;将以上过程中的“第一个代码序值” 加上“第二个代码序值”再加上“第三个代码序值”,设置为“第一个码元三码编码序值”;将 用户输入的编码的第一个代码设置为“查询码”,将该汉字的第一个拆分码元的所有码长不 等于2的“补码编码”的第一个代码设置为“被查询码”,调用“代码序值分析器”,将“代码 序值分析器”返回的“代码序值”设置为“第一个代码序值”;将用户输入的编码的第二个代 码设置为“查询码”,将该汉字的第一个拆分码元的所有码长不等于2的“补码编码”的第二 个代码设置为“被查询码”,调用“代码序值分析器”,将“代码序值分析器”返回的“代码序 值”设置为“第二个代码序值”;将用户输入的编码的第三个代码设置为“查询码”,将该汉字 的第一个拆分码元的所有码长不等于2的“补码编码”的第三个代码设置为“被查询码”,调 用“代码序值分析器”,将“代码序值分析器”返回的“代码序值”设置为“第三个代码序值”; 将以上过程中的“第一个代码序值”加上“第二个代码序值”再加上“第三个代码序值”,设 置为“第一个码元补码编码序值”;比较以上过程中的“第一个码元三码编码序值”和“第一个码元补码编码序值”,将 其中的最小值设置该候选字的“序度”;如果“第一个码元三码编码序值”不大于“第一个码 元补码编码序值”,那么将该候选字的“第一种切分第一个码元三码编码”设置为该输入编 码;如果“第一个码元补码编码序值”不大于“第一个码元三码编码序值”,那么将该候选字 的“第一种切分第一个码元补码编码”设置为该输入编码;2. 1当汉字由两个拆分码元组成,输入编码的码长等于2时,输入编码的第一种切 分将用户输入的编码的第一个代码设置为“查询码”,将该汉字的第一个拆分码元的 所有“补码编码”的第一个代码设置为“被查询码”,调用“代码序值分析器”,将“代码序值 分析器”返回的“代码序值”设置为“第一个码元序值”;将用户输入的编码的第二个代码设置为“查询码”,将该汉字的第二个拆分码元的 所有“补码编码”的第一个代码设置为“被查询码”,调用“代码序值分析器”,将“代码序值 分析器”返回的“代码序值”设置为“第二个码元序值”;比较以上过程中的“第一个码元序值”和“第二个码元序值”,将其中的最大值乘以 2再加上最小值设置为该候选字的“序度”;将该候选字的“第一种切分第一个码元补码编
21码”设置为该输入编码的第一个代码;将该候选字的“第一种切分第二个码元补码编码”设 置为该输入编码的第二个代码;2. 2. 1当汉字由两个拆分码元组成,输入编码的码长等于3时,输入编码的第一种 切分将用户输入的编码的第一个代码设置为“查询码”,将该汉字的第一个拆分码元的 所有“补码编码”的第一个代码设置为“被查询码”,调用“代码序值分析器”,将“代码序值 分析器”返回的“代码序值”设置为“第一个码元序值”;将用户输入的编码的第二个代码设置为“查询码”,将该汉字的第二个拆分码元的 所有“两码编码”的第一个代码设置为“被查询码”,调用“代码序值分析器”,将“代码序值 分析器”返回的“代码序值”设置为“第二个代码序值”;将用户输入的编码的第三个代码设 置为“查询码”,将该汉字的第二个拆分码元的所有“两码编码”的第二个代码设置为“被查 询码”,调用“代码序值分析器”,将“代码序值分析器”返回的“代码序值”设置为“第三个代 码序值”;将以上过程中的“第二个代码序值”加上“第三个代码序值”设置为“第二个码元 两码编码序值”;将用户输入的编码的第二个代码设置为“查询码”,将该汉字的第二个拆分 码元的所有“三码编码”的第一个代码设置为“被查询码”,调用“代码序值分析器”,将“代 码序值分析器”返回的“代码序值”设置为“第二个代码序值”;将用户输入的编码的第三个 代码设置为“查询码”,将该汉字的第二个拆分码元的所有“三码编码”的第三个代码设置为 “被查询码”,调用“代码序值分析器”,将“代码序值分析器”返回的“代码序值”设置为“第 三个代码序值”;将以上过程中的“第二个代码序值”加上“第三个代码序值”设置为“第二 个码元三码编码序值”;比较以上过程中的“第二个码元两码编码序值”和“第二个码元三码 编码序值”,将其中的最小值设置为“第二个码元序值”;将以上过程中的“第一个码元序值”加上“第二个码元序值”,设置为该输入编码的 “第一种切分序度”;2. 2. 2当汉字由两个拆分码元组成,输入编码的码长等于3时,输入编码的第二种 切分将用户输入的编码的第一个代码设置为“查询码”,将该汉字的第一个拆分码元的 所有“两码编码”的第一个代码设置为“被查询码”,调用“代码序值分析器”,将“代码序值 分析器”返回的“代码序值”设置为“第一个代码序值”;将用户输入的编码的第二个代码设 置为“查询码”,将该汉字的第一个拆分码元的所有“两码编码”的第二个代码设置为“被查 询码”,调用“代码序值分析器”,将“代码序值分析器”返回的“代码序值”设置为“第二个代 码序值”;将以上过程中的“第一个代码序值”加上“第二个代码序值”,设置为“第一个码元 两码编码序值”;将用户输入的编码的第一个代码设置为“查询码”,将该汉字的第一个拆分 码元的所有“三码编码”的第一个代码设置为“被查询码”,调用“代码序值分析器”,将“代 码序值分析器”返回的“代码序值”设置为“第一个代码序值”;将用户输入的编码的第二个 代码设置为“查询码”,将该汉字的第一个拆分码元的所有“三码编码”的第二个代码设置为 “被查询码”,调用“代码序值分析器”,将“代码序值分析器”返回的“代码序值”设置为“第 二个代码序值”;将以上过程中的“第一个代码序值”加上“第二个代码序值”,设置为“第一 个码元三码编码序值”;比较以上过程中的“第一个码元两码编码序值”和“第一个码元三码 编码序值”,将其中的最小值设置为“第一个码元序值”;
将用户输入的编码的第三个代码设置为“查询码”,将该汉字的第二个拆分码元的 所有“两码编码”的第二个代码设置为“被查询码”,调用“代码序值分析器”,将“代码序值分 析器”返回的“代码序值”设置为“第二个码元两码编码序值”;将用户输入的编码的第三个 代码设置为“查询码”,将该汉字的第二个拆分码元的所有“三码编码”的第三个代码设置为 “被查询码”,调用“代码序值分析器”,将“代码序值分析器”返回的“代码序值”设置为“第二 个码元三码编码序值”;将用户输入的编码的第三个代码设置为“查询码”,将该汉字的第二 个拆分码元的所有“补码编码”的第一个代码设置为“被查询码”,调用“代码序值分析器”, 将“代码序值分析器”返回的“代码序值”设置为“第二个码元补码编码序值”;比较以上过 程中的“第二个码元两码编码序值”、“第二个码元三码编码序值”和“第二个码元补码编码 序值”,将其中的最小值设置为“第二个码元序值”;将以上过程中的“第一个码元序值”加上“第二个码元序值”,设置为该输入编码的 “第二种切分序度”;2. 2. 3比较以上过程中的输入编码的“第一种切分序度”和“第二种切分序度”,将
其中最小值设置为该候选字的“序度”;当该输入编码的“第一种切分序度”不大于“第二种切分序度”时,输入编码第二种 切分时候选字的相应设置将该候选字的“第一种切分第一个码元补码编码”设置为该输入 编码的第一个代码;如果“第二个码元两码编码序值”不大于“第二个码元三码编码序值”, 那么将该候选字的“第一种切分第二个码元两码编码”设置为该输入编码的第二个和第三 个代码;如果“第二个码元三码编码序值”不大于“第二个码元两码编码序值”,那么将该候 选字的“第一种切分第二个码元三码编码”的第一个代码设置为该输入编码的第二个代码, 第二个代码设置为“未定义”,第三个代码设置为该输入编码的第三个代码;当该输入编码的“第二种切分序度”不大于“第一种切分序度”时,输入编码第一 种切分时候选字的相应设置如果“第一个码元两码编码序值”不大于“第一个码元三码编 码序值”,那么将该候选字的“第二种切分第一个码元两码编码”设置为该输入编码的第一 个和第二个代码;如果“第一个码元三码编码序值”不大于“第一个码元两码编码序值”,那 么将该候选字的“第二种切分第一个码元三码编码”设置为该输入编码的第一个和第二个 代码;如果“第二个码元两码编码序值”不大于“第二个码元三码编码序值”和“第二个码 元补码编码序值”,那么将该候选字的“第二种切分第二个码元两码编码”的第一个代码设 置为“未定义”,第二个代码设置为该输入编码的第三个代码;如果“第二个码元三码编码序 值”不大于“第二个码元两码编码序值”和“第二个码元补码编码序值”,那么将该候选字的 “第二种切分第二个码元三码编码”的第一个和第二个代码设置为“未定义”,第三个代码设 置为该输入编码的第三个代码;如果“第二个码元补码编码序值”不大于“第二个码元两码 编码序值”和“第二个码元三码编码序值”,那么将该候选字的“第二种切分第二个码元补码 编码”设置为该输入编码的第三个代码;3. 1当汉字由三个拆分码元组成,输入编码的码长等于3时,输入编码的第一种切 分将用户输入的编码的第一个代码设置为“查询码”,将该汉字的第一个拆分码元的 所有“两码编码”的第一个代码设置为“被查询码”,调用“代码序值分析器”,将“代码序值 分析器”返回的“代码序值”设置为“第一个代码序值”;将用户输入的编码的第二个代码设置为“查询码”,将该汉字的第一个拆分码元的所有“两码编码”的第二个代码设置为“被查 询码”,调用“代码序值分析器”,将“代码序值分析器”返回的“代码序值”设置为“第二个代 码序值”;将以上过程中的“第一个代码序值”加上“第二个代码序值”,设置为“第一个码元 两码编码序值”;将用户输入的编码的第一个代码设置为“查询码”,将该汉字的第一个拆分 码元的所有“三码编码”的第一个代码设置为“被查询码”,调用“代码序值分析器”,将“代 码序值分析器”返回的“代码序值”设置为“第一个代码序值”;将用户输入的编码的第二个 代码设置为“查询码”,将该汉字的第一个拆分码元的所有“三码编码”的第二个代码设置为 “被查询码”,调用“代码序值分析器”,将“代码序值分析器”返回的“代码序值”设置为“第 二个代码序值”;将以上过程中的“第一个代码序值”加上“第二个代码序值”,设置为“第一 个码元三码编码序值”;比较以上过程中的“第一个码元两码编码序值”和“第一个码元三码 编码序值”,将其中的最小值设置为“第一个码元序值”;将用户输入的编码的第三个代码设置为“查询码”,将该汉字的第三个拆分码元的 所有“两码编码”的第二个代码设置为“被查询码”,调用“代码序值分析器”,将“代码序值分 析器”返回的“代码序值”设置为“第三个码元两码编码序值”;将用户输入的编码的第三个 代码设置为“查询码”,将该汉字的第三个拆分码元的所有“三码编码”的第三个代码设置为 “被查询码”,调用“代码序值分析器”,将“代码序值分析器”返回的“代码序值”设置为“第三 个码元三码编码序值”;将用户输入的编码的第三个代码设置为“查询码”,将该汉字的第三 个拆分码元的所有“补码编码”的第一个代码设置为“被查询码”,调用“代码序值分析器”, 将“代码序值分析器”返回的“代码序值”设置为“第三个码元补码编码序值”;比较以上过 程中的“第三个码元两码编码序值”、“第三个码元三码编码序值”和“第三个码元补码编码 序值”,将其中的最小值设置为“第三个码元序值”;将以上过程中的“第一个码元序值”加上“第三个码元序值”,设置为该输入编码的 “第一种切分序度”;3. 2当汉字由三个拆分码元组成,输入编码的码长等于3时,输入编码的第二种切 分将用户输入的编码的第一个代码设置为“查询码”,将该汉字的第一个拆分码元的 所有“补码编码”的第一个代码设置为“被查询码”,调用“代码序值分析器”,将“代码序值 分析器”返回的“代码序值”设置为“第一个码元序值”;将用户输入的编码的第二个代码设置为“查询码”,将该汉字的第二个拆分码元的 所有“两码编码”的第一个代码设置为“被查询码”,调用“代码序值分析器”,将“代码序值分 析器”返回的“代码序值”设置为“第二个码元两码编码序值”;将用户输入的编码的第二个 代码设置为“查询码”,将该汉字的第二个拆分码元的所有“三码编码”的第一个代码设置为 “被查询码”,调用“代码序值分析器”,将“代码序值分析器”返回的“代码序值”设置为“第二 个码元三码编码序值”;将用户输入的编码的第二个代码设置为“查询码”,将该汉字的第二 个拆分码元的所有“补码编码”的第一个代码设置为“被查询码”,调用“代码序值分析器”, 将“代码序值分析器”返回的“代码序值”设置为“第二个码元补码编码序值”;比较以上过 程中的“第二个码元两码编码序值”、“第二个码元三码编码序值”和“第二个码元补码编码 序值”,将其中的最小值设置为“第二个码元序值”;将用户输入的编码的第三个代码设置为“查询码”,将该汉字的第三个拆分码元的所有“两码编码”的第二个代码设置为“被查询码”,调用“代码序值分析器”,将“代码序值分 析器”返回的“代码序值”设置为“第三个码元两码编码序值”;将用户输入的编码的第三个 代码设置为“查询码”,将该汉字的第三个拆分码元的所有“三码编码”的第三个代码设置为 “被查询码”,调用“代码序值分析器”,将“代码序值分析器”返回的“代码序值”设置为“第三 个码元三码编码序值”;将用户输入的编码的第三个代码设置为“查询码”,将该汉字的第三 个拆分码元的所有“补码编码”的第一个代码设置为“被查询码”,调用“代码序值分析器”, 将“代码序值分析器”返回的“代码序值”设置为“第三个码元补码编码序值”;比较以上过 程中的“第三个码元两码编码序值”、“第三个码元三码编码序值”和“第三个码元补码编码 序值”,将其中的最小值设置为“第三个码元序值”;将以上过程中的“第一个码元序值”加上“第二个码元序值”再加上“第三个码元 序值”,设置为该输入编码的“第二种切分序度”;3. 3比较以上过程中的输入编码的“第一种切分序度”和“第二种切分序度”,将其 中最小值设置为该候选字的“序度”;当该输入编码的“第一种切分序度”不大于“第二种切分序度”时,输入编码第一 种切分时候选字的相应设置如果“第一个码元两码编码序值”不大于“第一个码元三码编 码序值”,那么将该候选字的“第一种切分第一个码元两码编码”设置为该输入编码的第一 个和第二个代码;如果“第一个码元三码编码序值”不大于“第一个码元两码编码序值”,那 么将该候选字的“第一种切分第一个码元三码编码”设置为该输入编码的第一个和第二个 代码;如果“第三个码元两码编码序值”不大于“第三个码元三码编码序值”和“第三个码 元补码编码序值”,那么将该候选字的“第一种切分第三个码元两码编码”的第一个代码设 置为“未定义”,第二个代码设置为该输入编码的第三个代码;如果“第三个码元三码编码序 值”不大于“第三个码元两码编码序值”和“第三个码元补码编码序值”,那么将该候选字的 “第一种切分第三个码元三码编码”的第一个和第二个代码设置为“未定义”,第三个代码设 置为该输入编码的第三个代码;如果“第三个码元补码编码序值”不大于“第三个码元两码 编码序值”和“第三个码元三码编码序值”,那么将该候选字的“第一种切分第三个码元补码 编码”设置为该输入编码的第三个代码;当该输入编码的“第二种切分序度”不大于“第一种切分序度”时,输入编码第二 种切分时候选字的相应设置将该候选字的“第二种切分第一个码元补码编码”设置为该 输入编码的第一个代码;如果“第二个码元两码编码序值”不大于“第二个码元三码编码序 值”和“第二个码元补码编码序值”,那么将该候选字的“第二种切分第二个码元两码编码” 设置为该输入编码的第二个代码;如果“第二个码元三码编码序值”不大于“第二个码元两 码编码序值”和“第二个码元补码编码序值”,那么将该候选字的“第二种切分第二个码元三 码编码”设置为该输入编码的第二个代码;如果“第二个码元补码编码序值”不大于“第二 个码元两码编码序值”和“第二个码元三码编码序值”那么将该候选字的“第二种切分第二 个码元补码编码”设置为该输入编码的第二个代码;如果“第三个码元两码编码序值”不大 于“第三个码元三码编码序值”和“第三个码元补码编码序值”,那么将该候选字的“第二种 切分第三个码元两码编码”的第一个代码设置为“未定义”,第二个代码设置为该输入编码 的第三个代码;如果“第三个码元三码编码序值”不大于“第三个码元两码编码序值”和“第 三个码元补码编码序值”,那么将该候选字的“第二种切分第三个码元三码编码”的第一个和第二个代码设置为“未定义”,第三个代码设置为该输入编码的第三个代码;如果“三个码 元补码编码序值”不大于“三个码元两码编码序值”和“三个码元三码编码序值”,那么将该 候选字的“第二种切分第三个码元补码编码”设置为该输入编码的第三个代码;本发明为输入编码的每一位代码调用“代码序值分析器”,分析该输入编码最可能 对应的候选字。(k)当在“汉字数据库”中该汉字没有“已输入编码”或者“已输入编码”均不等于 用户输入的编码时,“输入编码处理器”将“候选字列表”中存储的该候选字的拆分码元的切 分编码,存储到“码元数据库”中,具体过程为当该候选字的“第一种切分第一个码元两码编码”中的编码不为空时,如果该汉字 的第一个拆分码元在“码元数据库”中已经存储了等于该编码的“两码编码”,那么将相应编 码的编码频度加1,如果该拆分码元在“码元数据库”中没有等于该编码的“两码编码”,那 么将该编码存储到该拆分码元的“两码编码”中,将相应的编码频度设置为1 ;当该候选字 的“第一种切分第一个码元三码编码”中的编码不为空时,如果该汉字的第一个拆分码元在 “码元数据库”中已经存储了等于该编码的“三码编码”,那么将相应编码的编码频度加1,如 果该拆分码元在“码元数据库”中没有等于该编码的“三码编码”,那么将该编码存储到该拆 分码元的“三码编码”中,将相应的编码频度设置为1 ;当该候选字的“第一种切分第一个码 元补码编码”中的编码不为空时,如果该汉字的第一个拆分码元在“码元数据库”中已经存 储了等于该编码的“补码编码”,那么将相应编码的编码频度加1,如果该拆分码元在“码元 数据库”中没有等于该编码的“补码编码”,那么将该编码存储到该拆分码元的“补码编码” 中,将相应的编码频度设置为1 ;当该候选字的“第一种切分第二个码元两码编码”中的编码不为空时,如果该汉字 的第二个拆分码元在“码元数据库”中已经存储了等于该编码的“两码编码”,那么将相应编 码的编码频度加1,如果该拆分码元在“码元数据库”中没有等于该编码的“两码编码”,那 么将该编码存储到该拆分码元的“两码编码”中,将相应的编码频度设置为1 ;当该候选字 的“第一种切分第二个码元三码编码”中的编码不为空时,如果该汉字的第二个拆分码元在 “码元数据库”中已经存储了等于该编码的“三码编码”,那么将相应编码的编码频度加1,如 果该拆分码元在“码元数据库”中没有等于该编码的“三码编码”,那么将该编码存储到该拆 分码元的“三码编码”中,将相应的编码频度设置为1 ;当该候选字的“第一种切分第二个码 元补码编码”中的编码不为空时,如果该汉字的第二个拆分码元在“码元数据库”中已经存 储了等于该编码的“补码编码”,那么将相应编码的编码频度加1,如果该拆分码元在“码元 数据库”中没有等于该编码的“补码编码”那么将该编码存储到该拆分码元的“补码编码” 中,将相应的编码频度设置为1 ;当该候选字的“第一种切分第三个码元两码编码”中的编码不为空时,如果该汉字 的第三个拆分码元在“码元数据库”中已经存储了等于该编码的“两码编码”,那么将相应编 码的编码频度加1,如果该拆分码元在“码元数据库”中没有等于该编码的“两码编码”,那 么将该编码存储到该拆分码元的“两码编码”中,将相应的编码频度设置为1 ;当该候选字 的“第一种切分第三个码元三码编码”中的编码不为空时,如果该汉字的第三个拆分码元在 “码元数据库”中已经存储了等于该编码的“三码编码”,那么将相应编码的编码频度加1,如 果该拆分码元在“码元数据库”中没有等于该编码的“三码编码”,那么将该编码存储到该拆分码元的“三码编码”中,将相应的编码频度设置为1 ;当该候选字的“第一种切分第三个码 元补码编码”中的编码不为空时,如果该汉字的第三个拆分码元在“码元数据库”中已经存 储了等于该编码的“补码编码”,那么将相应编码的编码频度加1,如果该拆分码元在“码元 数据库”中没有等于该编码的“补码编码”,那么将该编码存储到该拆分码元的“补码编码” 中,将相应的编码频度设置为1 ;当该候选字的“第二种切分第一个码元两码编码”中的编码不为空时,如果该汉字 的第一个拆分码元在“码元数据库”中已经存储了等于该编码的“两码编码”,那么将相应编 码的编码频度加1,如果该拆分码元在“码元数据库”中没有等于该编码的“两码编码”,那 么将该编码存储到该拆分码元的“两码编码”中,将相应的编码频度设置为1 ;当该候选字 的“第二种切分第一个码元三码编码”中的编码不为空时,如果该汉字的第一个拆分码元在 “码元数据库”中已经存储了等于该编码的“三码编码”,那么将相应编码的编码频度加1,如 果该拆分码元在“码元数据库”中没有等于该编码的“三码编码”,那么将该编码存储到该拆 分码元的“三码编码”中,将相应的编码频度设置为1 ;当该候选字的“第二种切分第一个码 元补码编码”中的编码不为空时,如果该汉字的第一个拆分码元在“码元数据库”中已经存 储了等于该编码的“补码编码”,那么将相应编码的编码频度加1,如果该拆分码元在“码元 数据库”中没有等于该编码的“补码编码”,那么将该编码存储到该拆分码元的“补码编码” 中,将相应的编码频度设置为1 ;当该候选字的“第二种切分第二个码元两码编码”中的编码不为空时,如果该汉字 的第二个拆分码元在“码元数据库”中已经存储了等于该编码的“两码编码”,那么将相应编 码的编码频度加1,如果该拆分码元在“码元数据库”中没有等于该编码的“两码编码”,那 么将该编码存储到该拆分码元的“两码编码”中,将相应的编码频度设置为1 ;当该候选字 的“第二种切分第二个码元三码编码”中的编码不为空时,如果该汉字的第二个拆分码元在 “码元数据库”中已经存储了等于该编码的“三码编码”,那么将相应编码的编码频度加1,如 果该拆分码元在“码元数据库”中没有等于该编码的“三码编码”,那么将该编码存储到该拆 分码元的“三码编码”中,将相应的编码频度设置为1 ;当该候选字的“第二种切分第二个码 元补码编码”中的编码不为空时,如果该汉字的第二个拆分码元在“码元数据库”中已经存 储了等于该编码的“补码编码”,那么将相应编码的编码频度加1,如果该拆分码元在“码元 数据库”中没有等于该编码的“补码编码”,那么将该编码存储到该拆分码元的“补码编码” 中,将相应的编码频度设置为1 ;当该候选字的“第二种切分第三个码元两码编码”中的编码不为空时,如果该汉字 的第三个拆分码元在“码元数据库”中已经存储了等于该编码的“两码编码”,那么将相应编 码的编码频度加1,如果该拆分码元在“码元数据库”中没有等于该编码的“两码编码”,那 么将该编码存储到该拆分码元的“两码编码”中,将相应的编码频度设置为1 ;当该候选字 的“第二种切分第三个码元三码编码”中的编码不为空时,如果该汉字的第三个拆分码元在 “码元数据库”中已经存储了等于该编码的“三码编码”,那么将相应编码的编码频度加1,如 果该拆分码元在“码元数据库”中没有等于该编码的“三码编码”,那么将该编码存储到该拆 分码元的“三码编码”中,将相应的编码频度设置为1 ;当该候选字的“第二种切分第三个码 元补码编码”中的编码不为空时,如果该汉字的第三个拆分码元在“码元数据库”中已经存 储了等于该编码的“补码编码”,那么将相应编码的编码频度加1,如果该拆分码元在“码元数据库”中没有等于该编码的“补码编码”,那么将该编码存储到该拆分码元的“补码编码” 中,将相应的编码频度设置为1 ;(1)用户可以在输入汉字的字形编码之后,继续输入该汉字的汉语拼音编码;当用户输入编码后,“候选字列表生成器”按照以下步骤,将“汉字数据库”中的汉 字添加到“候选字列表”中在“汉字数据库”中查找,“已输入编码”等于用户输入的编码的汉字;将所有符合 条件的汉字,按汉字的该“已输入编码”的“已输入编码频度”由大到小的顺序排序,添加到 “候选字列表”中;在其余未添加到“候选字列表”的汉字中查找,汉语拼音为用户输入的汉语拼音并 且没有“已输入编码”的汉字;将所有符合条件的汉字,使用“输入编码分析器”添加到“候 选字列表”中;在其余未添加到“候选字列表”的汉字中查找,汉语拼音为用户输入的汉语拼音并 且“已输入编码”均不等于用户输入的编码的汉字;将所有符合条件的汉字,使用“输入编码 分析器”添加到“候选字列表”中。刚开始使用本发明输入汉字的时候,需要在候选窗口中翻页查找候选字,这时可 以输入汉字的汉语拼音,以缩小查找范围。(m)可以在“码元数据库”中为拆分码元预设编码。本发明可以为每一个拆分码元预设多个编码,也可以不必为每一个拆分码元都预
设编码。(η)可以预设一个没有汉字编码的词库;词组输入依次输入构成词组的每一个字的字形编码。本发明在词组输入时,将输入编码分别预切成2码和3码,来预判候选字的输入编码。本发明原理一当用户输入了该汉字后,输入法必然知道了该汉字的汉字编码,输 入法必然知道了该汉字拆分码元的部分或全部编码。当用户再次输入该输入编码时,输入 法候选窗口优先显示“已输入编码”等于该输入编码的汉字。本发明原理二当输入法知道了汉字的拆分码元的编码后,输入法必然知道了该 汉字的汉字编码。候选窗口优先显示最有可能编码为该输入编码的汉字。本发明原理三当输入法知道了汉字的汉字编码后,输入法必然知道了该汉字的 汉字编码不是其他编码;当输入法知道了拆分码元的编码后,输入法必然知道了该拆分码 元的编码不是其他编码。候选窗口排除最不可能编码为该输入编码的汉字,优先显示相对 可能编码为该输入编码的汉字。已有汉字输入法都是对汉字进行编码,这样汉字的汉字编码之间是孤立的没有联 系的。实际上汉字与汉字之间是有内在联系的,汉字是由组字部件组成的。当知道了汉字的 组字部件的编码后,也就必然知道了汉字的编码。当知道了一个汉字的汉字编码后,也必然 知道了由相同组字部件组成的其他汉字的汉字编码。本发明依据以下原则选取拆分部件 如果组字部件结构复杂,那么将该组字部件选取为拆分部件;如果组字部件的拆分存在歧 义,那么将该组字部件选取为拆分部件;如果组字部件无法明确的拆分为其他部件,那么将 该组字部件选取为拆分部件。这样汉字就有了明显的拆分界限,从而将对汉字进行编码的问题转化为了对拆分部件编码的问题。本发明克服输入法必须要有汉字编码的技术偏见,在“汉字数据库”中没有预设汉 字的字形编码具有实质性特点。本发明提供了一种不同构思的解决方案,输入法通过学习 拆分码元的编码,可以预判出用户没有输入过的汉字的汉字编码。本发明能够输入没有汉 字编码的汉字,取得了预料不到的技术效果。本发明让输入法学习人的输入规则,而不是让 人去学习输入法的输入规则,解决了形码输入法复杂难学的技术难题,开创了面向用户设 计输入法的技术潮流,具有显著的技术进步。


图1是本发明生成“候选字列表”时主要技术特征流程图;图2是本发明“输入编码处理器”主要技术特征流程图;图3是本发明各装置部署图。
具体实施例方式如图1所示,当用户输入编码后,“候选字列表生成器”按照以下步骤,将“汉字数 据库”中的汉字添加到“候选字列表”中在“汉字数据库”中查找,“已输入编码”等于用户输入的编码的汉字;将所有符合 条件的汉字,按汉字的该“已输入编码”的“已输入编码频度”由大到小的顺序排序,添加到 “候选字列表”中;在其余未添加到“候选字列表”的汉字中查找,没有“已输入编码”的汉字;将所有 符合条件的汉字,使用“输入编码分析器”添加到“候选字列表”中;在其余未添加到“候选字列表”的汉字中查找,“已输入编码”均不等于用户输入的 编码的汉字;将所有符合条件的汉字,使用“输入编码分析器”添加到“候选字列表”中。如图2所示,当用户在“候选字列表”中选择候选字后,“输入编码处理器”按照以 下步骤将该候选字的输入编码存储到“汉字数据库”该汉字的“已输入编码”中,将该汉字 的拆分码元的编码存储到“码元数据库”中如果在“汉字数据库”中该汉字的“已输入编码”中已经存储了用户输入的编码, 那么将该汉字的该“已输入编码”的“已输入编码频度”加1 ;如果在“汉字数据库”中该汉字没有“已输入编码”或者“已输入编码”均不等于用 户输入的编码,那么将用户输入的编码存储到“汉字数据库”该汉字的“已输入编码”中,并 将该“已输入编码”的“已输入编码频度”设置为1 ;当在“汉字数据库”中该汉字没有“已输入编码”或者“已输入编码”均不等于用户 输入的编码时,“输入编码处理器”将“候选字列表”中存储的该候选字的拆分码元的切分编 码,存储到“码元数据库”中;如果该拆分码元在“码元数据库”中已经存储了该切分编码, 那么将该编码的编码频度加1。图3是本发明各装置部署图。下面举例说明本发明输入汉字的具体过程。1输入第一个汉字用户输入编码“qdv”。
在“汉字数据库”中没有“已输入编码”等于用户输入的编码的汉字;在其余未添加到“候选字列表”的汉字中查找,没有“已输入编码”的汉字;将所有 符合条件的汉字,使用“输入编码分析器”添加到“候选字列表”中;当“汉字数据库”中的汉字的没有“已输入编码”或者“已输入编码”均不等于用户 的输入的编码时,“输入编码分析器”根据这些汉字的拆分码元在“码元数据库”中所对应的 编码,将这些候选字添加到“候选字列表”中;当“输入编码分析器”根据汉字的拆分码元在“码元数据库”中所对应的编码,生 成“候选字列表”时,根据“代码序值分析器”返回的“代码序值”切分输入编码,为候选字排 序,并将拆分码元的切分编码存储到“候选字列表”中;当“输入编码分析器”根据汉字的拆分码元在“码元数据库”中所对应的编码,生 成“候选字列表”时,在“候选字列表”中为这些候选字存储当候选字的“序度”最小时,该 候选字的输入编码的每一种切分每一个拆分码元的每一种编码类型的切分编码;如果用户认为“部”字的第一个拆分码元“立”应该拆分为其他码元,那么编码“qd” 可能是拆分码元“立”的两码编码,也可能是拆分码元“立”的三码编码的第一个和第二个代 码;编码“V”可能是“部”字的第三个拆分码元“卩”的两码编码的第二个代码,也可能是拆 分码元“卩”的三码编码的第三个代码,还可能是拆分码元“卩”的补码编码的第一个代码。如果用户认为“部”字的第一个拆分码元“立”是字根,不应该拆分为其他码元,那 么编码“q”就是拆分码元“立”的补码编码的第一个代码;编码“d”可能是“部”字的第二 个拆分码元“ 口 ”的两码编码的第一个代码,也可能是拆分码元“ 口 ”的三码编码的第一个代 码,还可能是拆分码元“口”的补码编码的第一个代码;编码“V”可能是“部”字的第三个拆 分码元“卩”的两码编码的第二个代码,也可能是拆分码元“卩”的三码编码的第三个代码, 还可能是拆分码元“卩,,的补码编码的第一个代码。此时“部”字输入编码的各种切分的切分序度均为“300”,所以此时候选字“部”的 切分编码为第-一种切分第一-个码元两码编码qd ;
第-一种切分第一-个码元三码编码qd ;
第-一种切分第三个码元两码编码未定义、ν ;
第-一种切分第三个码元三码编码未定义、未定义、ν ;
第-一种切分第三个码元补码编码V
第—二种切分第一-个码元补码编码q ;
第—二种切分第二-个码元两码编码d ;
第—二种切分第二-个码元三码编码d ;
第—二种切分第二ι个码元补码编码d ;
第—二种切分第三个码元两码编码未定义、ν ;
第—二种切分第三个码元三码编码未定义、未定义、ν ;
第—二种切分第三个码元补码编码Vo
当‘ ‘汉字数据库”中的汉字的没有“已输入编码”时,将这些汉字按“序度”由小至
大的顺序排序,当这些汉字的“序度”相等时,按汉字的字频由大到小的顺序排序,将这些汉 字添加到“候选字列表”中。
由于此时在“码元数据库”中拆分码元均没有编码,所以这些汉字的“序度”均为 “300”;输入法按汉字的字频排序,将这些汉字添加到候选列表中。用户在候选窗口中翻页查找想要输入的候选字。此时,可以输入该汉字的汉语拼 音以缩小查找范围。用户在“候选字列表”中选择“部”字。如果在“汉字数据库”中该汉字没有“已输入编码”或者“已输入编码”均不等于用 户输入的编码,那么将用户输入的编码存储到“汉字数据库”该汉字的“已输入编码”中,并 将该“已输入编码”的“已输入编码频度”设置为1 ;输入法将输入编码“qdv”存储到“汉字数据库” “部”字的“已输入编码”中,将 “qdv”的编码频度设置为1。以后如果用户再次输入编码“qdv”,那么“已输入编码”等于 “qdv”的“部”将优先显示于候选窗口之中。当在“汉字数据库”中该汉字没有“已输入编码”或者“已输入编码”均不等于用户 输入的编码时,“输入编码处理器”将“候选字列表”中存储的该候选字的拆分码元的切分编 码,存储到“码元数据库”中;输入法将“qd”存储到拆分码元“立”的两码编码和三码编码中,将“未定义、V”存 储到拆分码元1 ”的两码编码中,将“未定义、未定义、V”存储到拆分码元“卩”的三码编 码中,将“V”存储到拆分码元叩,,的补码编码中;将“q”存储到拆分码元“立”的补码编码 中,将“d”存储到拆分码元“ 口,,的两码编码、三码编码和补码编码中。将以上拆分码元的 编码的编码频度设置为1。第二种切分的第三个拆分码元的两码编码、三码编码、补码编码的拆分编码,在第 一种切分时已经处理过,所以不再处理。2输入第二个汉字用户输入编码“vqd”。在“汉字数据库”中没有“已输入编码”等于用户输入的编码的汉字;在其余未添加到“候选字列表”的汉字中查找,没有“已输入编码”的汉字;将所有 符合条件的汉字,使用“输入编码分析器”添加到“候选字列表”中;由一个拆分码元“卩,,组成的汉字的序度为“201” ;由第一个拆分码元“卩”、第二个拆分码元“立”两个拆分码元组成的汉字的序度为 “3”;由第一个拆分码元吓”、第二个拆分码元“立”、第三个拆分码元“ 口,,三个拆分码 元组成的汉字的序度为“3”;由于没有第一个拆分码元“卩”、第二个拆分码元“立”两个拆分码元组成的汉字, 所以候选字“陪”排在“候选字列表”的最前面。由于“部”字的“已输入编码”是“qdv”,所以“部”字排在“候选字列表”最后。用户在“候选字列表”中选择“陪”字。如果在“汉字数据库”中该汉字没有“已输入编码”或者“已输入编码”均不等于用 户输入的编码,那么将用户输入的编码存储到“汉字数据库”该汉字的“已输入编码”中,并 将该“已输入编码”的“已输入编码频度”设置为1 ;输入法将输入编码“vqd”存储到“汉字数据库” “陪”字的“已输入编码”中,将“vqd”的编码频度设置为1。 此时候选字“陪”的切分编码为第二二种切分第--个码元补码编码;ν ;
第二二种切分第二二个码元两码编码:q ;
第二二种切分第二二个码元三码编码:q ;
第二二种切分第二二个码元补码编码:q ;
第二二种切分第三三个码元补码编码:d。输入法将“q”存储到拆分码元“立”的两码编码、三码编码中。如果该拆分码元在“码元数据库”中已经存储了该切分编码,那么将该编码的编码 频度加1。因为在“码元数据库”中,拆分码元“卩”的补码编码中已经存储了编码“V”,所以 将该编码的编码频度加1 ;拆分码元“立”的补码编码中已经存储了编码“q”,所以将该编码 的编码频度加1 ;拆分码元“口”的补码编码中已经存储了编码“d”,所以将该编码的编码频 度加1。3输入第三个汉字用户输入编码“qs”。在“汉字数据库”中没有“已输入编码”等于用户输入的编码的汉字;在其余未添加到“候选字列表”的汉字中查找,没有“已输入编码”的汉字;将所有 符合条件的汉字,使用“输入编码分析器”添加到“候选字列表”中;由一个拆分码元“立”组成的汉字的序度为“201” ;由第一个拆分码元为“立”的两个拆分码元组成的汉字的序度为“201” ;以上汉字排在“候选字列表”的最前面。由于“部”字、“陪”字的“已输入编码”不等于“ qdv”,所以“部”字、“陪”字排在
“候选字列表”最后。用户在候选窗口中翻页查找想要输入的候选字。此时,可以输入该汉字的汉语拼 音以缩小查找范围。用户在“候选字列表”中选择“首”字。如果在“汉字数据库”中该汉字没有“已输入编码”或者“已输入编码”均不等于用 户输入的编码,那么将用户输入的编码存储到“汉字数据库”该汉字的“已输入编码”中,并 将该“已输入编码”的“已输入编码频度”设置为1 ;输入法将输入编码“qs”存储到“汉字数据库” “首”字的“已输入编码”中,将“qs” 的编码频度设置为1。此时候选字“首”的切分编码为第一种切分第一个码元两码编码qs ;第一种切分第一个码元补码编码;qs。输入法将“qs”存储到拆分码元“首”的两码编码、补码编码中。将相应的编码频 度设置为1。4输入第四个汉字用户输入编码“qe”。
在“汉字数据库”中没有“已输入编码”等于用户输入的编码的汉字;在其余未添加到“候选字列表”的汉字中查找,没有“已输入编码”的汉字;将所有 符合条件的汉字,使用“输入编码分析器”添加到“候选字列表”中;由一个拆分码元“立”组成的汉字的序度为“201” ;由第一个拆分码元为“立”的两个拆分码元组成的汉字的序度为“201” ;由第一个拆分码元为“首”的两个拆分码元组成的汉字的序度为“201” ;以上汉字排在“候选字列表”的最前面。由于“部”字、“陪”字、“首”字的“已输入编码”不等于“qdv”,所以“部”字、“陪”
字、“首”字排在“候选字列表”最后。用户在候选窗口中翻页查找想要输入的候选字。因为“道”字的第一个拆分码元“首”的编码已知,所以“道”字排在候选窗口前面。用户在“候选字列表”中选择“道”字。如果在“汉字数据库”中该汉字没有“已输入编码”或者“已输入编码”均不等于用 户输入的编码,那么将用户输入的编码存储到“汉字数据库”该汉字的“已输入编码”中,并 将该“已输入编码”的“已输入编码频度”设置为1 ;输入法将输入编码“qe”存储到“汉字数据库” “道”字的“已输入编码”中,将“qe” 的编码频度设置为1。此时候选字“道”的切分编码为第一种切分第一个码元补码编码q ;第一种切分第二个码元补码编码;S。输入法将“q”存储到拆分码元“首”的补码编码中,将“S”存储到拆分码元“1_”的
补码编码中。通过以上实施例可以得出当输入法知道了该汉字的全部拆分码元的编码后,输 入法必然知道了该汉字的汉字编码;当输入法知道了该汉字的部分拆分码元的编码后,输 入法可以将该汉字优先显示于候选窗口之中。本发明结合拼音辅助码和预设拆分码元编 码,可以有效地提高候选窗口首页命中率。5输入词组用户输入编码“qdvqs”。在“汉字数据库”中,“部”字的“已输入编码”中已经存储了编码“qdv”; “首”字的 “已输入编码”中已经存储了编码“qs”。如果在预设的词库中有“部首”这个词组,那么词组“部首”的编码必然是“qdvqs”。如果在预设的词库中没有“部首”这个词组,输入法先将编码预切为“qd”和“qdv” 查找该词组的第一个汉字,当判定第一个汉字后,继续切分余下的编码,直到词组输入完 毕。
权利要求
1. 一种计算机汉字输入法,其特征在于(a)本发明包括以下装置用于存储汉字的“已输入编码”、“已输入编码频度”和汉字的拆分码元的“汉字数据库”;用于存储拆分码元的编码和该编码的编码频度的“码元数据库”; 用于存储候选字拆分码元的切分编码的“候选字列表”;用于根据“汉字数据库”中汉字的“已输入编码”或该汉字的拆分码元在“码元数据库” 中所对应的编码,生成“候选字列表”的“候选字列表生成器”;当“汉字数据库”中的汉字没有“已输入编码”或者“已输入编码”均不等于用户输入 的编码时,用于根据这些汉字的拆分码元在“码元数据库”中所对应的编码,生成“候选字列 表”的“输入编码分析器”;当根据汉字的拆分码元在“码元数据库”中所对应的编码,生成“候选字列表”时,用于 分析输入编码每一种切分的切分序度的“代码序值分析器”;用于将用户选择的候选字的输入编码存储到“汉字数据库”该汉字的“已输入编码”中, 将该候选字的拆分码元的切分编码存储到“码元数据库”中的“输入编码处理器”; 本发明各装置如下关系当用户输入编码后,“候选字列表生成器”根据“汉字数据库”中汉字的“已输入编码”, 生成“候选字列表”;当“汉字数据库”中的汉字没有“已输入编码”或者“已输入编码”均不 等于用户输入的编码时,“输入编码分析器”根据这些汉字的拆分码元在“码元数据库”中所 对应的编码,生成“候选字列表”;当“输入编码分析器”根据汉字的拆分码元在“码元数据 库”中所对应的编码,生成“候选字列表”时,根据“代码序值分析器”返回的“代码序值”切 分输入编码,为候选字排序,并将拆分码元的切分编码存储到“候选字列表”中;当用户在“候选字列表”中选择候选字后,“输入编码处理器”将该候选字的输入编码存 储到“汉字数据库”该汉字的“已输入编码”中,将“候选字列表”中存储的该候选字的拆分 码元的切分编码,存储到“码元数据库”中;(b)依笔顺将汉字拆分为第一个、第二个和最末一个拆分码元三个拆分码元;当汉字 的字形由两个拆分码元组成时,依笔顺将汉字拆分为第一个和第二个拆分码元两个拆分 码元;当汉字的字形由一个拆分码元组成时,在这个拆分码元之后添加一个或两个补码码 元;在“汉字数据库”中,为每一个汉字记录,设置“第一个拆分码元”、“第二个拆分码元”、 “第三个拆分码元”字段并设置多组“已输入编码”和“已输入编码频度”字段,可以如下结 构{第一个拆分码元; 第二个拆分码元; 第三个拆分码元; 已输入编码1 ;已输入编码频度1 ; 已输入编码2 ;已输入编码频度2 ; (c)当拆分码元的全码码长等于2,编码不包含补码码元的编码时,将该编码定义为该 拆分码元的“两码编码”,将该编码的频度定义为“两码编码频度”;当拆分码元的全码码长等于3,编码不包含补码码元的编码时,将该编码定义为该拆分 码元的“三码编码”,将该编码的频度定义为“三码编码频度”;当拆分码元的全码编码包含补码码元的编码时,将该编码定义为该拆分码元的“补码 编码”,将该编码的频度定义为“补码编码频度”;在“码元数据库”中,为每一个拆分码元记录,设置多组“两码编码”、“两码编码频度”字 段、多组“三码编码”、“三码编码频度”字段、多组“补码编码”、“补码编码频度”字段,可以如下结构{两码编码1 ;两码编码频度1 ; 三码编码1 ;三码编码频度1 ; 补码编码1 ;补码编码频度1 ; 两码编码2 ;两码编码频度2 ; 三码编码2 ;三码编码频度2 ; 两码编码3 ;两码编码频度3 ;}(d)当“输入编码分析器”根据汉字的拆分码元在“码元数据库”中所对应的编码,生成 “候选字列表”时,在“候选字列表”中为这些候选字存储当候选字的“序度”最小时,该候 选字的输入编码的每一种切分每一个拆分码元的每一种编码类型的切分编码;可以如下结 构{第-种切分第-个码元两码编码第-种切分第-个码元三码编码第-种切分第-个码元补码编码第-种切分第二个码元两码编码第-种切分第二个码元三码编码第-种切分第二个码元补码编码第-种切分第三个码元两码编码第-种切分第三个码元三码编码第-种切分第三个码元补码编码第二种切分第-个码元两码编码第二种切分第-个码元三码编码第二种切分第-个码元补码编码第二种切分第二个码元两码编码第二种切分第二个码元三码编码第二种切分第二个码元补码编码第二种切分第三个码元两码编码; 第二种切分第三个码元三码编码;第二种切分第三个码元补码编码;(e)当用户输入编码后,“候选字列表生成器”按照以下步骤,将“汉字数据库”中的汉 字添加到“候选字列表”中在“汉字数据库”中查找,“已输入编码”等于用户输入的编码的汉字;将所有符合条件 的汉字,按汉字的该“已输入编码”的“已输入编码频度”由大到小的顺序排序,添加到“候 选字列表”中;在其余未添加到“候选字列表”的汉字中查找,没有“已输入编码”的汉字;将所有符合 条件的汉字,使用“输入编码分析器”添加到“候选字列表”中;在其余未添加到“候选字列表”的汉字中查找,“已输入编码”均不等于用户输入的编码 的汉字;将所有符合条件的汉字,使用“输入编码分析器”添加到“候选字列表”中;(f)当“汉字数据库”中的汉字的没有“已输入编码”或者“已输入编码”均不等于用户 的输入的编码时,“输入编码分析器”根据这些汉字的拆分码元在“码元数据库”中所对应的 编码,将这些候选字添加到“候选字列表”中;当根据汉字的拆分码元在“码元数据库”中所对应的编码,生成“候选字列表”时,根据 “代码序值分析器”返回的“代码序值”切分输入编码,为候选字排序,并将拆分码元的切分 编码存储到“候选字列表”中;具体过程为当调用“代码序值分析器”时,将“被查询码”的相应编码频度设置为该“被查询码”的 “被查询码编码频度”,将相应拆分码元设置为“查询码元”;将输入编码的第一个代码设置为“查询码”,将该汉字相应拆分码元的相应代码设置为 “被查询码”,调用“代码序值分析器”,将“代码序值分析器”返回的“代码序值”设置为“第 一个代码序值”;将输入编码的第二个代码设置为“查询码”,将该汉字相应拆分码元的相应 代码设置为“被查询码”,调用“代码序值分析器”,将“代码序值分析器”返回的“代码序值” 设置为“第二个代码序值”;将输入编码的第三个代码设置为“查询码”,将该汉字相应拆分 码元的相应代码设置为“被查询码”,调用“代码序值分析器”,将“代码序值分析器”返回的 “代码序值”设置为“第三个代码序值”;将“第一个代码序值”加上“第二个代码序值”再加上“第三个代码序值”设置为输入编 码的切分序度;“输入编码分析器”将输入编码各种切分的切分序度的最小值,设置为该候 选字的“序度”,并将此时该汉字拆分码元的切分编码,存储到“候选字列表”中;当“汉字数据库”中的汉字的没有“已输入编码”时,将这些汉字按“序度”由小到大的 顺序排序,当这些汉字的“序度”相等时,按汉字的字频由大到小的顺序排序,将这些汉字添 加到“候选字列表”中;当“汉字数据库”中的汉字的“已输入编码”均不等于用户的输入的编码时,将这些汉 字按“序度”由小到大的顺序排序,当这些汉字的“序度”相等时,按汉字的最大的“已输入 编码频度”由小到大的顺序排序,将这些汉字添加到“候选字列表”中;(g)“代码序值分析器”根据“输入编码分析器”设置的“查询码”、“被查询码”、“被查 询码编码频度”和“查询码元”,计算“代码序值”,将最小的“代码序值”返回给调用者,具体过程为在所有“被查询码”中查找等于“查询码”的搜索结果,如果所有符合条件的“被查询码” 的“被查询码编码频度”的总和,不小于“查询码元”的其他编码频度,那么将“代码序值”设 置为1 ;在所有“被查询码”中查找等于“查询码”的搜索结果,如果所有符合条件的“被查询码” 的“被查询码编码频度”的总和,小于“查询码元”的其他编码频度,那么将“代码序值”设置 为10 ;如果“被查询码”没有编码,那么将“代码序值”设置为100 ; 如果“被查询码”均不等于“查询码”,那么将“代码序值”设置为1000 ; 比较以上过程中的“代码序值”,将其中最小的“代码序值”返回给调用者; (h)当用户在“候选字列表”中选择候选字后,“输入编码处理器”按照以下步骤将该候 选字的输入编码存储到“汉字数据库”该汉字的“已输入编码”中,将该汉字的拆分码元的 编码存储到“码元数据库”中如果在“汉字数据库”中该汉字的“已输入编码”中已经存储了用户输入的编码,那么 将该汉字的该“已输入编码”的“已输入编码频度”加1 ;如果在“汉字数据库”中该汉字没有“已输入编码”或者“已输入编码”均不等于用户输 入的编码,那么将用户输入的编码存储到“汉字数据库”该汉字的“已输入编码”中,并将该 “已输入编码”的“已输入编码频度”设置为1 ;当在“汉字数据库”中该汉字没有“已输入编码”或者“已输入编码”均不等于用户输入 的编码时,“输入编码处理器”将“候选字列表”中存储的该候选字的拆分码元的切分编码, 存储到“码元数据库”中;如果该拆分码元在“码元数据库”中已经存储了该切分编码,那么 将该编码的编码频度加1 ;完成以上过程后,清空“候选字列表”。
2.根据权利要求1所述的汉字输入法,其特征在于 选取650个组字部件做为对汉字字形拆分的拆分码元,具体为 一、十、厂、匚、匚、、二、丁、T、,、七、5、弓、t、t、士、 、土、廿、 寸、大、弋、“11"、干、工、升、尤、兀、艸、三、亍、于、亏、亏、卄、才、下、丌、丈、 矢、尤、子、戈、牛、Φ、万、E、 、e、王、木、犬、歹、车、戈、车、車、无、韦、少、 *、支、牙、无、比、瓦、朮、、开、井、天、夫、云、专、丐、不、巨、屯、互、产、■ ·、元、《、 、丰、元、丐、廿、五、市、戸、Π!、石、耳、 、页、走、雨、革、頁、卓、玉、示、甘、耒、老、臣、而、 而、至、麦、县、赤、豆、辰、豕、青、靑、長、面、髟、鬲、黄、麥、黃、鼓、、末、未、击、戋、正、 世、本、丙、戊、平、东、戌、亚、吏、両、百、夹、夷、严、求、更、亜、束、两、卯、尨、塞、亞、東、事、 走、共、龙、_、而、直、内、愈、严、臣、椏、 、世、再、朿、死、巫、甫、夾、 来、宜、來、豕、甚、柬、爽、噩、举、亩、取、锚、I,糞、龙、西、酉、J、1、Ij>卜、门、 卜、I、Il,、小、口、口、山、巾、上、!、少、止、曰、日、水、贝、见、貝、見、疋、sr、 支、少、待、冃、中、冈、内、内、内、乌、“、M、W、·β·、 、、、目、田、m、皿、严、虫、足、 夕、业、氺、肉、卤、邑、非、齿、虎、黾、韭、骨、鬥、鹵、逝、鼎、&、黽、齒、卡、凸、甲、申、电、央、史、冊、凹、四、ft、曳、网、串、果、i、早、禺、M、黾、央、电、尔、且、由、冉、由、 闬、曲、吕、冊、畢、里、宙、里、黑、)、J、八、人、几、匕、勹、儿、几、Π、、 入、、、乂、七、刀、九、才、彡、各、欠、夕、t、夂、千、乇、川、凡、勺、岁、£、I、瓜、 &、勿、及、丸、久、牛、气、4、夂、斤、W、月、目、月、、、手、毛、长、片、爪、父、允、氏、 风、欠、殳、午、壬、夭、爻、《%、舣、弟、兗、片、氏、升、戶、丹、勻、正、夕、 、禾、白、 鸟、I、金、鳥、生、矢、瓜、失、乍、丘、斥、乎、尔、乐、册、乒、印、用、甩、、臼、自、舟、身、角、 鱼、魚、缶、舌、竹、血、色、釆、谷、豸、龟、隹、阜、食、香、鬼、食、風、黍、鼠、鼻、61、龜、龠、 朱、豕、行、审、乖、秉、臾、自、轰、申、禹、芍、晨、效、象、细、熏、年、先、兆、 我、垂、乗、重、垂、乘、夕t、_、、、飞、\、7、丄、v、i、"、4、j、4、广、门、?、个、 、!_、門、楚、亡、丫、之、、ν、ι、文、方、火、,、、、户、寺、心、斗、尤、为、Μ、、、广、立、 穴、卒、羊、米、衣、言、言、辛、_、音、首、高、高、麻、鹿、齊、龍、、然、、主、永、亦、沐、 产、并、关、州、宪、半、並、酋、芙、為、冡、萑、产、兹、_、盖、赛、茱、餐、餐、必、 交、亥、彥、兴、容、齐、乙、ι、L、p、U、P、刀、力、厶、1_、 、“^、刁、H、了、乃、《、义、 二、P、驗、3、尸、已、弓、己、巳、子、女、马、馬、屮、飞、互、幺、〈〈〈、3、W、也、匁、叉、 乡、:Γ、氏、i、也、卫、久、习、又、肀、另、毋、毋、尹、尺、夬、吊、刃、、办、予、肀、I、丑、 巴、以、Γ、乡、系、 、圭、疋、皮、八、矛、母、聿、糸、隶、韋、飛、艇、民、弗、出、丝、夹、肃、承、目、兼、粛、3、隞、肅、肃、彖、窜、!、艮、羽、g。
3.根据权利要求1所述的汉字输入法,其特征在于当“输入编码分析器”根据汉字的拆分码元在“码元数据库”中所对应的编码,生成“候 选字列表”时,根据“代码序值分析器”返回的“代码序值”切分输入编码,为候选字排序,并 将拆分码元的切分编码存储到“候选字列表”中;具体过程为当调用“代码序值分析器”时,将“被查询码”的相应编码频度设置为该“被查询码”的 “被查询码编码频度”,将相应拆分码元设置为“查询码元”;1. 1当汉字由一个拆分码元组成,输入编码的码长等于2时,输入编码的第一种切分将用户输入的编码的第一个代码设置为“查询码”,将该汉字的第一个拆分码元的所有 “两码编码”的第一个代码设置为“被查询码”,调用“代码序值分析器”,将“代码序值分析 器”返回的“代码序值”设置为“第一个代码序值”;将用户输入的编码的第二个代码设置 为“查询码”,将该汉字的第一个拆分码元的所有“两码编码”的第二个代码设置为“被查询 码”,调用“代码序值分析器”,将“代码序值分析器”返回的“代码序值”设置为“第二个代码 序值”;比较以上过程中的“第一个代码序值”和“第二个代码序值”,将其中的最大值乘以2 再加上最小值设置为“第一个码元两码编码序值”;将用户输入的编码的第一个代码设置为 “查询码”,将该汉字的第一个拆分码元的所有码长小于3的“补码编码”的第一个代码设置 为“被查询码”,调用“代码序值分析器”,将“代码序值分析器”返回的“代码序值”设置为 “第一个代码序值”;将用户输入的编码的第二个代码设置为“查询码”,将该汉字的第一个拆分码元的所有码长小于3的“补码编码”的第二个代码设置为“被查询码”,调用“代码序 值分析器”,将“代码序值分析器”返回的“代码序值”设置为“第二个代码序值”;比较以上 过程中的“第一个代码序值”和“第二个代码序值”,将其中的最大值乘以2再加上最小值设 置为“第一个码元补码编码序值”;比较以上过程中的“第一个码元两码编码序值”和“第一个码元补码编码序值”,将其中 的最小值设置该候选字的“序度”;如果“第一个码元两码编码序值”不大于“第一个码元补 码编码序值”,那么将该候选字的“第一种切分第一个码元两码编码”设置为该输入编码;如 果“第一个码元补码编码序值”不大于“第一个码元两码编码序值”,那么将该候选字的“第 一种切分第一个码元补码编码”设置为该输入编码;1.2当汉字由一个拆分码元组成,输入编码的码长等于3时,输入编码的第一种切分 将用户输入的编码的第一个代码设置为“查询码”,将该汉字的第一个拆分码元的所有“三码编码”的第一个代码设置为“被查询码”,调用“代码序值分析器”,将“代码序值分析 器”返回的“代码序值”设置为“第一个代码序值”;将用户输入的编码的第二个代码设置 为“查询码”,将该汉字的第一个拆分码元的所有“三码编码”的第二个代码设置为“被查询 码”,调用“代码序值分析器”,将“代码序值分析器”返回的“代码序值”设置为“第二个代码 序值”;将用户输入的编码的第三个代码设置为“查询码”,将该汉字的第一个拆分码元的所 有“三码编码”的第三个代码设置为“被查询码”,调用“代码序值分析器”,将“代码序值分 析器”返回的“代码序值”设置为“第三个代码序值”;将以上过程中的“第一个代码序值”加 上“第二个代码序值”再加上“第三个代码序值”,设置为“第一个码元三码编码序值”;将用 户输入的编码的第一个代码设置为“查询码”,将该汉字的第一个拆分码元的所有码长不等 于2的“补码编码”的第一个代码设置为“被查询码”,调用“代码序值分析器”,将“代码序 值分析器”返回的“代码序值”设置为“第一个代码序值”;将用户输入的编码的第二个代码 设置为“查询码”,将该汉字的第一个拆分码元的所有码长不等于2的“补码编码”的第二个 代码设置为“被查询码”,调用“代码序值分析器”,将“代码序值分析器”返回的“代码序值” 设置为“第二个代码序值”;将用户输入的编码的第三个代码设置为“查询码”,将该汉字的 第一个拆分码元的所有码长不等于2的“补码编码”的第三个代码设置为“被查询码”,调用 “代码序值分析器”,将“代码序值分析器”返回的“代码序值”设置为“第三个代码序值”;将 以上过程中的“第一个代码序值”加上“第二个代码序值”再加上“第三个代码序值”,设置 为“第一个码元补码编码序值”;比较以上过程中的“第一个码元三码编码序值”和“第一个码元补码编码序值”,将其中 的最小值设置该候选字的“序度”;如果“第一个码元三码编码序值”不大于“第一个码元补 码编码序值”,那么将该候选字的“第一种切分第一个码元三码编码”设置为该输入编码;如 果“第一个码元补码编码序值”不大于“第一个码元三码编码序值”,那么将该候选字的“第 一种切分第一个码元补码编码”设置为该输入编码;2.1当汉字由两个拆分码元组成,输入编码的码长等于2时,输入编码的第一种切分 将用户输入的编码的第一个代码设置为“查询码”,将该汉字的第一个拆分码元的所有“补码编码”的第一个代码设置为“被查询码”,调用“代码序值分析器”,将“代码序值分析 器”返回的“代码序值”设置为“第一个码元序值”;将用户输入的编码的第二个代码设置为“查询码”,将该汉字的第二个拆分码元的所有“补码编码”的第一个代码设置为“被查询码”,调用“代码序值分析器”,将“代码序值分析 器”返回的“代码序值”设置为“第二个码元序值”;比较以上过程中的“第一个码元序值”和“第二个码元序值”,将其中的最大值乘以2再 加上最小值设置为该候选字的“序度”;将该候选字的“第一种切分第一个码元补码编码”设 置为该输入编码的第一个代码;将该候选字的“第一种切分第二个码元补码编码”设置为该 输入编码的第二个代码;.2.2.1当汉字由两个拆分码元组成,输入编码的码长等于3时,输入编码的第一种切分将用户输入的编码的第一个代码设置为“查询码”,将该汉字的第一个拆分码元的所有 “补码编码”的第一个代码设置为“被查询码”,调用“代码序值分析器”,将“代码序值分析 器”返回的“代码序值”设置为“第一个码元序值”;将用户输入的编码的第二个代码设置为“查询码”,将该汉字的第二个拆分码元的所有 “两码编码”的第一个代码设置为“被查询码”,调用“代码序值分析器”,将“代码序值分析 器”返回的“代码序值”设置为“第二个代码序值”;将用户输入的编码的第三个代码设置 为“查询码”,将该汉字的第二个拆分码元的所有“两码编码”的第二个代码设置为“被查询 码”,调用“代码序值分析器”,将“代码序值分析器”返回的“代码序值”设置为“第三个代码 序值”;将以上过程中的“第二个代码序值”加上“第三个代码序值”设置为“第二个码元两 码编码序值”;将用户输入的编码的第二个代码设置为“查询码”,将该汉字的第二个拆分码 元的所有“三码编码”的第一个代码设置为“被查询码”,调用“代码序值分析器”,将“代码序 值分析器”返回的“代码序值”设置为“第二个代码序值”;将用户输入的编码的第三个代码 设置为“查询码”,将该汉字的第二个拆分码元的所有“三码编码”的第三个代码设置为“被 查询码”,调用“代码序值分析器”,将“代码序值分析器”返回的“代码序值”设置为“第三个 代码序值”;将以上过程中的“第二个代码序值”加上“第三个代码序值”设置为“第二个码 元三码编码序值”;比较以上过程中的“第二个码元两码编码序值”和“第二个码元三码编码 序值”,将其中的最小值设置为“第二个码元序值”;将以上过程中的“第一个码元序值”加上“第二个码元序值”,设置为该输入编码的“第 一种切分序度”;.2. 2.2当汉字由两个拆分码元组成,输入编码的码长等于3时,输入编码的第二种切分将用户输入的编码的第一个代码设置为“查询码”,将该汉字的第一个拆分码元的所有 “两码编码”的第一个代码设置为“被查询码”,调用“代码序值分析器”,将“代码序值分析 器”返回的“代码序值”设置为“第一个代码序值”;将用户输入的编码的第二个代码设置 为“查询码”,将该汉字的第一个拆分码元的所有“两码编码”的第二个代码设置为“被查询 码”,调用“代码序值分析器”,将“代码序值分析器”返回的“代码序值”设置为“第二个代码 序值”;将以上过程中的“第一个代码序值”加上“第二个代码序值”,设置为“第一个码元两 码编码序值”;将用户输入的编码的第一个代码设置为“查询码”,将该汉字的第一个拆分码 元的所有“三码编码”的第一个代码设置为“被查询码”,调用“代码序值分析器”,将“代码序 值分析器”返回的“代码序值”设置为“第一个代码序值”;将用户输入的编码的第二个代码 设置为“查询码”,将该汉字的第一个拆分码元的所有“三码编码”的第二个代码设置为“被查询码”,调用“代码序值分析器”,将“代码序值分析器”返回的“代码序值”设置为“第二个 代码序值”;将以上过程中的“第一个代码序值”加上“第二个代码序值”,设置为“第一个码 元三码编码序值”;比较以上过程中的“第一个码元两码编码序值”和“第一个码元三码编码 序值”,将其中的最小值设置为“第一个码元序值”;将用户输入的编码的第三个代码设置为“查询码”,将该汉字的第二个拆分码元的所有 “两码编码”的第二个代码设置为“被查询码”,调用“代码序值分析器”,将“代码序值分析 器”返回的“代码序值”设置为“第二个码元两码编码序值”;将用户输入的编码的第三个代 码设置为“查询码”,将该汉字的第二个拆分码元的所有“三码编码”的第三个代码设置为 “被查询码”,调用“代码序值分析器”,将“代码序值分析器”返回的“代码序值”设置为“第二 个码元三码编码序值”;将用户输入的编码的第三个代码设置为“查询码”,将该汉字的第二 个拆分码元的所有“补码编码”的第一个代码设置为“被查询码”,调用“代码序值分析器”, 将“代码序值分析器”返回的“代码序值”设置为“第二个码元补码编码序值”;比较以上过 程中的“第二个码元两码编码序值”、“第二个码元三码编码序值”和“第二个码元补码编码 序值”,将其中的最小值设置为“第二个码元序值”;将以上过程中的“第一个码元序值”加上“第二个码元序值”,设置为该输入编码的“第 二种切分序度”;·2.2. 3比较以上过程中的输入编码的“第一种切分序度”和“第二种切分序度”,将其中 最小值设置为该候选字的“序度”;当该输入编码的“第一种切分序度”不大于“第二种切分序度”时,输入编码第二种切 分时候选字的相应设置将该候选字的“第一种切分第一个码元补码编码”设置为该输入编 码的第一个代码;如果“第二个码元两码编码序值”不大于“第二个码元三码编码序值”,那 么将该候选字的“第一种切分第二个码元两码编码”设置为该输入编码的第二个和第三个 代码;如果“第二个码元三码编码序值”不大于“第二个码元两码编码序值”,那么将该候选 字的“第一种切分第二个码元三码编码”的第一个代码设置为该输入编码的第二个代码,第 二个代码设置为“未定义”,第三个代码设置为该输入编码的第三个代码;当该输入编码的“第二种切分序度”不大于“第一种切分序度”时,输入编码第一种切 分时候选字的相应设置如果“第一个码元两码编码序值”不大于“第一个码元三码编码序 值”,那么将该候选字的“第二种切分第一个码元两码编码”设置为该输入编码的第一个和 第二个代码;如果“第一个码元三码编码序值”不大于“第一个码元两码编码序值”,那么将 该候选字的“第二种切分第一个码元三码编码”设置为该输入编码的第一个和第二个代码; 如果“第二个码元两码编码序值”不大于“第二个码元三码编码序值”和“第二个码元补码 编码序值”,那么将该候选字的“第二种切分第二个码元两码编码”的第一个代码设置为“未 定义”,第二个代码设置为该输入编码的第三个代码;如果“第二个码元三码编码序值”不大 于“第二个码元两码编码序值”和“第二个码元补码编码序值”,那么将该候选字的“第二种 切分第二个码元三码编码”的第一个和第二个代码设置为“未定义”,第三个代码设置为该 输入编码的第三个代码;如果“第二个码元补码编码序值”不大于“第二个码元两码编码序 值”和“第二个码元三码编码序值”,那么将该候选字的“第二种切分第二个码元补码编码” 设置为该输入编码的第三个代码;·3.1当汉字由三个拆分码元组成,输入编码的码长等于3时,输入编码的第一种切分将用户输入的编码的第一个代码设置为“查询码”,将该汉字的第一个拆分码元的所有 “两码编码”的第一个代码设置为“被查询码”,调用“代码序值分析器”,将“代码序值分析 器”返回的“代码序值”设置为“第一个代码序值”;将用户输入的编码的第二个代码设置 为“查询码”,将该汉字的第一个拆分码元的所有“两码编码”的第二个代码设置为“被查询 码”,调用“代码序值分析器”,将“代码序值分析器”返回的“代码序值”设置为“第二个代码 序值”;将以上过程中的“第一个代码序值”加上“第二个代码序值”,设置为“第一个码元两 码编码序值”;将用户输入的编码的第一个代码设置为“查询码”,将该汉字的第一个拆分码 元的所有“三码编码”的第一个代码设置为“被查询码”,调用“代码序值分析器”,将“代码序 值分析器”返回的“代码序值”设置为“第一个代码序值”;将用户输入的编码的第二个代码 设置为“查询码”,将该汉字的第一个拆分码元的所有“三码编码”的第二个代码设置为“被 查询码”,调用“代码序值分析器”,将“代码序值分析器”返回的“代码序值”设置为“第二个 代码序值”;将以上过程中的“第一个代码序值”加上“第二个代码序值”,设置为“第一个码 元三码编码序值”;比较以上过程中的“第一个码元两码编码序值”和“第一个码元三码编码 序值”,将其中的最小值设置为“第一个码元序值”;将用户输入的编码的第三个代码设置为“查询码”,将该汉字的第三个拆分码元的所有 “两码编码”的第二个代码设置为“被查询码”,调用“代码序值分析器”,将“代码序值分析 器”返回的“代码序值”设置为“第三个码元两码编码序值”;将用户输入的编码的第三个代 码设置为“查询码”,将该汉字的第三个拆分码元的所有“三码编码”的第三个代码设置为 “被查询码”,调用“代码序值分析器”,将“代码序值分析器”返回的“代码序值”设置为“第三 个码元三码编码序值”;将用户输入的编码的第三个代码设置为“查询码”,将该汉字的第三 个拆分码元的所有“补码编码”的第一个代码设置为“被查询码”,调用“代码序值分析器”, 将“代码序值分析器”返回的“代码序值”设置为“第三个码元补码编码序值”;比较以上过 程中的“第三个码元两码编码序值”、“第三个码元三码编码序值”和“第三个码元补码编码 序值”,将其中的最小值设置为“第三个码元序值”;将以上过程中的“第一个码元序值”加上“第三个码元序值”,设置为该输入编码的“第 一种切分序度”;·3. 2当汉字由三个拆分码元组成,输入编码的码长等于3时,输入编码的第二种切分 将用户输入的编码的第一个代码设置为“查询码”,将该汉字的第一个拆分码元的所有 “补码编码”的第一个代码设置为“被查询码”,调用“代码序值分析器”,将“代码序值分析 器”返回的“代码序值”设置为“第一个码元序值”;将用户输入的编码的第二个代码设置为“查询码”,将该汉字的第二个拆分码元的所有 “两码编码”的第一个代码设置为“被查询码”,调用“代码序值分析器”,将“代码序值分析 器”返回的“代码序值”设置为“第二个码元两码编码序值”;将用户输入的编码的第二个代 码设置为“查询码”,将该汉字的第二个拆分码元的所有“三码编码”的第一个代码设置为 “被查询码”,调用“代码序值分析器”,将“代码序值分析器”返回的“代码序值”设置为“第二 个码元三码编码序值”;将用户输入的编码的第二个代码设置为“查询码”,将该汉字的第二 个拆分码元的所有“补码编码”的第一个代码设置为“被查询码”,调用“代码序值分析器”, 将“代码序值分析器”返回的“代码序值”设置为“第二个码元补码编码序值”;比较以上过 程中的“第二个码元两码编码序值”、“第二个码元三码编码序值”和“第二个码元补码编码序值”,将其中的最小值设置为“第二个码元序值”;将用户输入的编码的第三个代码设置为“查询码”,将该汉字的第三个拆分码元的所有 “两码编码”的第二个代码设置为“被查询码”,调用“代码序值分析器”,将“代码序值分析 器”返回的“代码序值”设置为“第三个码元两码编码序值”;将用户输入的编码的第三个代 码设置为“查询码”,将该汉字的第三个拆分码元的所有“三码编码”的第三个代码设置为 “被查询码”,调用“代码序值分析器”,将“代码序值分析器”返回的“代码序值”设置为“第三 个码元三码编码序值”;将用户输入的编码的第三个代码设置为“查询码”,将该汉字的第三 个拆分码元的所有“补码编码”的第一个代码设置为“被查询码”,调用“代码序值分析器”, 将“代码序值分析器”返回的“代码序值”设置为“第三个码元补码编码序值”;比较以上过 程中的“第三个码元两码编码序值”、“第三个码元三码编码序值”和“第三个码元补码编码 序值”,将其中的最小值设置为“第三个码元序值”;将以上过程中的“第一个码元序值”加上“第二个码元序值”再加上“第三个码元序值”, 设置为该输入编码的“第二种切分序度”;,3. 3比较以上过程中的输入编码的“第一种切分序度”和“第二种切分序度”,将其中最 小值设置为该候选字的“序度”;当该输入编码的“第一种切分序度”不大于“第二种切分序度”时,输入编码第一种切 分时候选字的相应设置如果“第一个码元两码编码序值”不大于“第一个码元三码编码序 值”,那么将该候选字的“第一种切分第一个码元两码编码”设置为该输入编码的第一个和 第二个代码;如果“第一个码元三码编码序值”不大于“第一个码元两码编码序值”,那么将 该候选字的“第一种切分第一个码元三码编码”设置为该输入编码的第一个和第二个代码; 如果“第三个码元两码编码序值”不大于“第三个码元三码编码序值”和“第三个码元补码 编码序值”,那么将该候选字的“第一种切分第三个码元两码编码”的第一个代码设置为“未 定义”,第二个代码设置为该输入编码的第三个代码;如果“第三个码元三码编码序值”不大 于“第三个码元两码编码序值”和“第三个码元补码编码序值”,那么将该候选字的“第一种 切分第三个码元三码编码”的第一个和第二个代码设置为“未定义”,第三个代码设置为该 输入编码的第三个代码;如果“第三个码元补码编码序值”不大于“第三个码元两码编码序 值”和“第三个码元三码编码序值”,那么将该候选字的“第一种切分第三个码元补码编码” 设置为该输入编码的第三个代码;当该输入编码的“第二种切分序度”不大于“第一种切分序度”时,输入编码第二种切分 时候选字的相应设置将该候选字的“第二种切分第一个码元补码编码”设置为该输入编码 的第一个代码;如果“第二个码元两码编码序值”不大于“第二个码元三码编码序值”和“第 二个码元补码编码序值”,那么将该候选字的“第二种切分第二个码元两码编码”设置为该 输入编码的第二个代码;如果“第二个码元三码编码序值”不大于“第二个码元两码编码序 值”和“第二个码元补码编码序值”,那么将该候选字的“第二种切分第二个码元三码编码” 设置为该输入编码的第二个代码;如果“第二个码元补码编码序值”不大于“第二个码元两 码编码序值”和“第二个码元三码编码序值”,那么将该候选字的“第二种切分第二个码元补 码编码”设置为该输入编码的第二个代码;如果“第三个码元两码编码序值”不大于“第三 个码元三码编码序值”和“第三个码元补码编码序值”,那么将该候选字的“第二种切分第三 个码元两码编码”的第一个代码设置为“未定义”,第二个代码设置为该输入编码的第三个代码;如果“第三个码元三码编码序值”不大于“第三个码元两码编码序值”和“第三个码元 补码编码序值”,那么将该候选字的“第二种切分第三个码元三码编码”的第一个和第二个 代码设置为“未定义”,第三个代码设置为该输入编码的第三个代码;如果“三个码元补码编 码序值”不大于“三个码元两码编码序值”和“三个码元三码编码序值”,那么将该候选字的 “第二种切分第三个码元补码编码”设置为该输入编码的第三个代码;
4.根据权利要求1所述的汉字输入法,其特征在于当在“汉字数据库”中该汉字没有“已输入编码”或者“已输入编码”均不等于用户输入 的编码时,“输入编码处理器”将“候选字列表”中存储的该候选字的拆分码元的切分编码, 存储到“码元数据库”中,具体过程为当该候选字的“第一种切分第一个码元两码编码”中的编码不为空时,如果该汉字的第 一个拆分码元在“码元数据库”中已经存储了等于该编码的“两码编码”,那么将相应编码的 编码频度加1,如果该拆分码元在“码元数据库”中没有等于该编码的“两码编码”,那么将该 编码存储到该拆分码元的“两码编码”中,将相应的编码频度设置为1 ;当该候选字的“第一 种切分第一个码元三码编码”中的编码不为空时,如果该汉字的第一个拆分码元在“码元数 据库”中已经存储了等于该编码的“三码编码”,那么将相应编码的编码频度加1,如果该拆 分码元在“码元数据库”中没有等于该编码的“三码编码”,那么将该编码存储到该拆分码元 的“三码编码”中,将相应的编码频度设置为1 ;当该候选字的“第一种切分第一个码元补码 编码”中的编码不为空时,如果该汉字的第一个拆分码元在“码元数据库”中已经存储了等 于该编码的“补码编码”,那么将相应编码的编码频度加1,如果该拆分码元在“码元数据库” 中没有等于该编码的“补码编码”,那么将该编码存储到该拆分码元的“补码编码”中,将相 应的编码频度设置为1 ;当该候选字的“第一种切分第二个码元两码编码”中的编码不为空时,如果该汉字的第 二个拆分码元在“码元数据库”中已经存储了等于该编码的“两码编码”,那么将相应编码的 编码频度加1,如果该拆分码元在“码元数据库”中没有等于该编码的“两码编码”,那么将该 编码存储到该拆分码元的“两码编码”中,将相应的编码频度设置为1 ;当该候选字的“第一 种切分第二个码元三码编码”中的编码不为空时,如果该汉字的第二个拆分码元在“码元数 据库”中已经存储了等于该编码的“三码编码”,那么将相应编码的编码频度加1,如果该拆 分码元在“码元数据库”中没有等于该编码的“三码编码”,那么将该编码存储到该拆分码元 的“三码编码”中,将相应的编码频度设置为1 ;当该候选字的“第一种切分第二个码元补码 编码”中的编码不为空时,如果该汉字的第二个拆分码元在“码元数据库”中已经存储了等 于该编码的“补码编码”,那么将相应编码的编码频度加1,如果该拆分码元在“码元数据库” 中没有等于该编码的“补码编码”,那么将该编码存储到该拆分码元的“补码编码”中,将相 应的编码频度设置为1 ;当该候选字的“第一种切分第三个码元两码编码”中的编码不为空时,如果该汉字的第 三个拆分码元在“码元数据库”中已经存储了等于该编码的“两码编码”,那么将相应编码的 编码频度加1,如果该拆分码元在“码元数据库”中没有等于该编码的“两码编码”,那么将该 编码存储到该拆分码元的“两码编码”中,将相应的编码频度设置为1 ;当该候选字的“第一 种切分第三个码元三码编码”中的编码不为空时,如果该汉字的第三个拆分码元在“码元数 据库”中已经存储了等于该编码的“三码编码”,那么将相应编码的编码频度加1,如果该拆分码元在“码元数据库”中没有等于该编码的“三码编码”,那么将该编码存储到该拆分码元 的“三码编码”中,将相应的编码频度设置为1 ;当该候选字的“第一种切分第三个码元补码 编码”中的编码不为空时,如果该汉字的第三个拆分码元在“码元数据库”中已经存储了等 于该编码的“补码编码”,那么将相应编码的编码频度加1,如果该拆分码元在“码元数据库” 中没有等于该编码的“补码编码”,那么将该编码存储到该拆分码元的“补码编码”中,将相 应的编码频度设置为1 ;当该候选字的“第二种切分第一个码元两码编码”中的编码不为空时,如果该汉字的第 一个拆分码元在“码元数据库”中已经存储了等于该编码的“两码编码”,那么将相应编码的 编码频度加1,如果该拆分码元在“码元数据库”中没有等于该编码的“两码编码”,那么将该 编码存储到该拆分码元的“两码编码”中,将相应的编码频度设置为1 ;当该候选字的“第二 种切分第一个码元三码编码”中的编码不为空时,如果该汉字的第一个拆分码元在“码元数 据库”中已经存储了等于该编码的“三码编码”,那么将相应编码的编码频度加1,如果该拆 分码元在“码元数据库”中没有等于该编码的“三码编码”,那么将该编码存储到该拆分码元 的“三码编码”中,将相应的编码频度设置为1 ;当该候选字的“第二种切分第一个码元补码 编码”中的编码不为空时,如果该汉字的第一个拆分码元在“码元数据库”中已经存储了等 于该编码的“补码编码”,那么将相应编码的编码频度加1,如果该拆分码元在“码元数据库” 中没有等于该编码的“补码编码”,那么将该编码存储到该拆分码元的“补码编码”中,将相 应的编码频度设置为1 ;当该候选字的“第二种切分第二个码元两码编码”中的编码不为空时,如果该汉字的第 二个拆分码元在“码元数据库”中已经存储了等于该编码的“两码编码”,那么将相应编码的 编码频度加1,如果该拆分码元在“码元数据库”中没有等于该编码的“两码编码”,那么将该 编码存储到该拆分码元的“两码编码”中,将相应的编码频度设置为1 ;当该候选字的“第二 种切分第二个码元三码编码”中的编码不为空时,如果该汉字的第二个拆分码元在“码元数 据库”中已经存储了等于该编码的“三码编码”,那么将相应编码的编码频度加1,如果该拆 分码元在“码元数据库”中没有等于该编码的“三码编码”那么将该编码存储到该拆分码元 的“三码编码”中,将相应的编码频度设置为1 ;当该候选字的“第二种切分第二个码元补码 编码”中的编码不为空时,如果该汉字的第二个拆分码元在“码元数据库”中已经存储了等 于该编码的“补码编码”,那么将相应编码的编码频度加1,如果该拆分码元在“码元数据库” 中没有等于该编码的“补码编码”,那么将该编码存储到该拆分码元的“补码编码”中,将相 应的编码频度设置为1 ;当该候选字的“第二种切分第三个码元两码编码”中的编码不为空时,如果该汉字的第 三个拆分码元在“码元数据库”中已经存储了等于该编码的“两码编码”,那么将相应编码的 编码频度加1,如果该拆分码元在“码元数据库”中没有等于该编码的“两码编码”,那么将该 编码存储到该拆分码元的“两码编码”中,将相应的编码频度设置为1 ;当该候选字的“第二 种切分第三个码元三码编码”中的编码不为空时,如果该汉字的第三个拆分码元在“码元数 据库”中已经存储了等于该编码的“三码编码”,那么将相应编码的编码频度加1,如果该拆 分码元在“码元数据库”中没有等于该编码的“三码编码”,那么将该编码存储到该拆分码元 的“三码编码”中,将相应的编码频度设置为1 ;当该候选字的“第二种切分第三个码元补码 编码”中的编码不为空时,如果该汉字的第三个拆分码元在“码元数据库”中已经存储了等于该编码的“补码编码”,那么将相应编码的编码频度加1,如果该拆分码元在“码元数据库” 中没有等于该编码的“补码编码”,那么将该编码存储到该拆分码元的“补码编码”中,将相 应的编码频度设置为1 ;
5.根据权利要求1所述的汉字输入法,其特征在于用户可以在输入汉字的字形编码之后,继续输入该汉字的汉语拼音编码;当用户输入编码后,“候选字列表生成器”按照以下步骤,将“汉字数据库”中的汉字添 加到“候选字列表”中在“汉字数据库”中查找,“已输入编码”等于用户输入的编码的汉字;将所有符合条件 的汉字,按汉字的该“已输入编码”的“已输入编码频度”由大到小的顺序排序,添加到“候 选字列表”中;在其余未添加到“候选字列表”的汉字中查找,汉语拼音为用户输入的汉语拼音并且没 有“已输入编码”的汉字;将所有符合条件的汉字,使用“输入编码分析器”添加到“候选字 列表”中;在其余未添加到“候选字列表”的汉字中查找,汉语拼音为用户输入的汉语拼音并且 “已输入编码”均不等于用户输入的编码的汉字;将所有符合条件的汉字,使用“输入编码分 析器”添加到“候选字列表”中。
6.根据权利要求1所述的汉字输入法,其特征在于可以在“码元数据库”中为拆分码元预设编码。
7.根据权利要求1所述的汉字输入法,其特征在于可以预设一个没有汉字编码的词库;词组输入依次输入构成词组的每一个字的字形编码。
全文摘要
本发明属于计算机汉字输入法领域,特别涉及一种带有拼音辅助码的形码输入法。当用户输入编码后,“候选字列表生成器”根据“汉字数据库”中汉字的“已输入编码”,生成“候选字列表”;当“汉字数据库”中的汉字没有“已输入编码”或者“已输入编码”均不等于用户输入的编码时,“输入编码分析器”根据这些汉字的拆分码元在“码元数据库”中所对应的编码,生成“候选字列表”;当“输入编码分析器”根据汉字的拆分码元在“码元数据库”中所对应的编码,生成“候选字列表”时,根据“代码序值分析器”返回的“代码序值”切分输入编码,为候选字排序,并将拆分码元的切分编码存储到“候选字列表”中。本发明解决了汉字输入法复杂难学的技术难题。
文档编号G06F17/30GK101995958SQ200910070280
公开日2011年3月30日 申请日期2009年8月28日 优先权日2009年8月28日
发明者王雅弟 申请人:王雅弟
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1