发明名称 模糊编码输入法
摘要 本发明属于计算机汉字输入法领域,特别涉及一种带有拼音辅助码的形码输入法。当用户输入编码后,“输入编码分析器”将编码为形码编码的候选字存储到“形码候选字列表”中,将编码为形码编码和拼音编码的候选字存储到“拼音候选字列表”中;“候选字序级分析器”根据汉字的“形码码元”在“码元数据库”中所对应的码元编码,生成候选字的“序级”;当用户选择候选字后,“输入编码处理器”将输入编码中的形码编码做为该汉字“形码码元”的码元编码存储到“码元数据库”中,将输入编码做为“已输入编码”存储到“汉字数据库”该汉字的“已输入编码”中。本发明解决了形码输入法复杂难学的技术难题,开创了模糊编码的技术潮流,具有显著的技术进步。
申请公布号 CN102023712A 申请公布日期 2011.04.20
申请号 CN200910070554.8 申请日期 2009.09.23
申请人 王雅弟 发明人 王雅弟
分类号 G06F3/023(2006.01)I 主分类号 G06F3/023(2006.01)I
代理机构 代理人
主权项 一种计算机汉字输入法,其特征在于:(a)本发明包括以下装置:用于存储汉字的“形码码元”、“拼音编码”、“拼音字频”、“已输入编码”、“已输入编码频度”的“汉字数据库”;用于存储“形码码元”的码元编码和码元编码频度的“码元数据库”;用于存储编码为形码编码的候选字的“形码候选字列表”;用于存储编码为形码编码和拼音编码的候选字的“拼音候选字列表”;当用户输入编码后,用于切分输入编码,将编码为形码编码的候选字存储到“形码候选字列表”中,将编码为形码编码和拼音编码的候选字存储到“拼音候选字列表”中的“输入编码分析器”;用于根据汉字的“形码码元”在“码元数据库”中所对应的码元编码,生成候选字的“序级”的“候选字序级分析器”;当用户选择候选字后,用于将输入编码中的形码编码做为该汉字的“形码码元”的码元编码存储到“码元数据库”中,将输入编码做为“已输入编码”存储到“汉字数据库”该汉字的“已输入编码”中的“输入编码处理器”;(b)依笔顺将汉字拆分为第一个、第二个和最末一个“形码码元”三个“形码码元”;当汉字的字形由两个“形码码元”组成时,依笔顺将汉字拆分为第一个和第二个“形码码元”两个“形码码元”;当汉字的字形由一个“形码码元”组成时,在这个“形码码元”之后添加一个或两个补码码元;在“汉字数据库”中,为每一个汉字记录,设置“第一个形码码元”、“第二个形码码元”、“第三个形码码元”字段,设置多组“拼音编码”、“拼音字频”字段,设置多组“已输入编码”、“已输入编码频度”字段;(c)当“形码码元”的全码码长等于2,编码不包含补码码元的编码时,将该编码定义为该“形码码元”的“两码编码”,将该编码的频度定义为“两码编码频度”;当“形码码元”的全码码长等于3,编码不包含补码码元的编码时,将该编码定义为该“形码码元”的“三码编码”,将该编码的频度定义为“三码编码频度”;当“形码码元”的全码编码包含补码码元的编码时,将该编码定义为该“形码码元”的“补码编码”,将该编码的频度定义为“补码编码频度”;在“码元数据库”中,为每一个“形码码元”记录,设置多组“两码编码”、“两码编码频度”字段,设置多组“三码编码”、“三码编码频度”字段,设置多组“补码编码”、“补码编码频度”字段;(d)“输入编码分析器”将编码为形码编码的候选字存储到“形码候选字列表”中,其特征在于包含以下步骤:在“汉字数据库”中查找,“已输入编码”等于输入编码的汉字;将该“已输入编码”的“已输入编码频度”设置为该候选字的“序度”;将所有符合条件的汉字,按“序度”由大到小的顺序排序,添加到“形码候选字列表”中;在其余未添加到“形码候选字列表”的汉字中查找,“已输入编码”中的形码编码等于输入编码中的形码编码的汉字;将相应“已输入编码”的“已输入编码频度”总和的值设置为该候选字的“序度”;将所有符合条件的汉字,按“序度”由大到小的顺序排序,添加到“形码候选字列表”中;将其余未添加到“形码候选字列表”的汉字,使用“候选字序级分析器”生成“序级”;将候选字的“拼音字频”总和的值设置为该候选字的“序度”;将所有符合条件的汉字,按“序级”由大到小的顺序排序,当“序级”相等时,按“序度”由大到小的顺序排序,按添加到“形码候选字列表”中;(e)“输入编码分析器”将编码为形码编码和拼音编码的候选字存储到“拼音候选字列表”中,其特征在于包含以下步骤:在“汉字数据库”中查找,“已输入编码”等于输入编码的汉字;将该“已输入编码”的“已输入编码频度”设置为该候选字的“序度”;将所有符合条件的汉字,按“序度”由大到小的顺序排序,添加到“拼音候选字列表”中;在其余未添加到“拼音候选字列表”的汉字中查找,“拼音编码”等于输入编码中的拼音编码或者“拼音编码”的前几个代码等于输入编码中的拼音编码,并且“已输入编码”中的形码编码等于输入编码中的形码编码的汉字;将相应“已输入编码”的“已输入编码频度”设置为该候选字的“序度”;将所有符合条件的汉字,按“序度”由大到小的顺序排序,添加到“拼音候选字列表”中;在其余未添加到“拼音候选字列表”的汉字中查找,“拼音编码”等于输入编码中的拼音编码或者“拼音编码”的前几个代码等于输入编码中的拼音编码的汉字;将相应的“拼音字频”设置为该候选字的“序度”;将所有符合条件的汉字,使用“候选字序级分析器”生成“序级”,按“序级”由大到小的顺序排序,当“序级”相等时,按“序度”由大到小的顺序排序,按添加到“拼音候选字列表”中;(f)当“候选字序级分析器”根据汉字的“形码码元”在“码元数据库”中所对应的码元编码,生成候选字的“序级”时,其特征在于包含以下步骤:1.1当汉字由一个“形码码元”组成,输入编码中的形码编码码长等于2时,候选字“序级”的计算:在“码元数据库”中查找,该汉字的“第一个形码码元”的第一个代码等于输入编码中的形码编码的第一个代码,并且第二个代码等于输入编码中的形码编码的第二个代码的“两码编码”,如果符合条件的“两码编码”的“两码编码频度”不小于该“形码码元”其他的码元编码频度,那么将该候选字的“第一个码元两码编码序值”设置为3;在“码元数据库”中查找,该汉字的“第一个形码码元”的第一个代码等于输入编码中的形码编码的第一个代码,并且第二个代码等于输入编码中的形码编码的第二个代码的全码码长等于2的“补码编码”,如果符合条件的“补码编码”的“补码编码频度”不小于该“形码码元”其他的码元编码频度,那么将该候选字的“第一个码元补码编码序值”设置为3;比较以上过程中的“第一个码元两码编码序值”和“第一个码元补码编码序值”,将其中的最大值设置该候选字的“序级”;1.2当汉字由一个“形码码元”组成,输入编码中的形码编码码长等于3时,候选字“序级”的计算:在“码元数据库”中查找,该汉字的“第一个形码码元”的第一个代码等于输入编码中的形码编码的第一个代码,并且第二个代码等于输入编码中的形码编码的第二个代码,并且第三个代码等于输入编码中的形码编码的第三个代码的“三码编码”,如果符合条件的“三码编码”的“三码编码频度”不小于该“形码码元”其他的码元编码频度,那么将该候选字的“第一个码元三码编码序值”设置为3;在“码元数据库”中查找,该汉字的“第一个形码码元”的第一个代码等于输入编码中的形码编码的第一个代码,并且第二个代码等于输入编码中的形码编码的第二个代码,并且第三个代码等于输入编码中的形码编码的第三个代码的全码码长等于3的“补码编码”,如果符合条件的“补码编码”的“补码编码频度”不小于该“形码码元”其他的码元编码频度,那么将该候选字的“第一个码元补码编码序值”设置为3;比较以上过程中的“第一个码元三码编码序值”和“第一个码元补码编码序值”,将其中的最大值设置该候选字的“序级”;2.1当汉字由两个“形码码元”组成,输入编码中的形码编码码长等于2时,候选字“序级”的计算:在“码元数据库”中查找,该汉字的“第一个形码码元”的第一个代码等于输入编码中的形码编码的第一个代码的“补码编码”,如果符合条件的“补码编码”的“补码编码频度”不小于该“形码码元”其他的码元编码频度,那么将该候选字的“第一个码元编码序值”设置为1;在“码元数据库”中查找,该汉字的“第二个形码码元”的第一个代码等于输入编码中的形码编码的第二个代码的“补码编码”,如果符合条件的“补码编码”的“补码编码频度”不小于该“形码码元”其他的码元编码频度,那么将该候选字的“第二个码元编码序值”设置为1;比较以上过程中的“第一个码元编码序值”和“第二个码元编码序值”,将其中的最小值乘以2再加上最大值设置为该候选字的“序级”;2.2.1当汉字由两个“形码码元”组成,输入编码中的形码编码码长等于3时,候选字“序级”的第一种切分计算:在“码元数据库”中查找,该汉字的“第一个形码码元”的第一个代码等于输入编码中的形码编码的第一个代码的“补码编码”,如果符合条件的“补码编码”的“补码编码频度”不小于该“形码码元”其他的码元编码频度,那么将该候选字第一种切分的“第一个码元编码序值”设置为1;在“码元数据库”中查找,该汉字的“第二个形码码元”的第一个代码等于输入编码中的形码编码的第二个代码,并且第二个代码等于输入编码中的形码编码的第三个代码的“两码编码”,如果符合条件的“两码编码”的“两码编码频度”不小于该“形码码元”其他的码元编码频度,那么将该候选字第一种切分的“第二个码元两码编码序值”设置为2;在“码元数据库”中查找,该汉字的“第二个形码码元”的第一个代码等于输入编码中的形码编码的第二个代码,并且第三个代码等于输入编码中的形码编码的第三个代码的“三码编码”,如果符合条件的“三码编码”的“三码编码频度”不小于该“形码码元”其他的码元编码频度,那么将该候选字第一种切分的“第二个码元三码编码序值”设置为2;比较以上过程中的“第二个码元两码编码序值”和“第二个码元三码编码序值”,将其中的最大值设置为“第二个码元编码序值”;将以上过程中的“第一个码元编码序值”加上“第二个码元编码序值”,设置为该候选字的“第一种切分序级”;2.2.2当汉字由两个“形码码元”组成,输入编码中的形码编码码长等于3时,候选字“序级”的第二种切分计算:在“码元数据库”中查找,该汉字的“第一个形码码元”的第一个代码等于输入编码中的形码编码的第一个代码,并且第二个代码等于输入编码中的形码编码的第二个代码的“两码编码”,如果符合条件的“两码编码”的“两码编码频度”不小于该“形码码元”其他的码元编码频度,那么将该候选字第二种切分的“第一个码元两码编码序值”设置为2;在“码元数据库”中查找,该汉字的“第一个形码码元”的第一个代码等于输入编码中的形码编码的第一个代码,并且第二个代码等于输入编码中的形码编码的第二个代码的“三码编码”,如果符合条件的“三码编码”的“三码编码频度”不小于该“形码码元”其他的码元编码频度,那么将该候选字第二种切分的“第一个码元三码编码序值”设置为2;比较以上过程中的“第一个码元两码编码序值”和“第一个码元三码编码序值”,将其中的最大值设置为“第一个码元编码序值”;在“码元数据库”中查找,该汉字的“第二个形码码元”的第二个代码等于输入编码中的形码编码的第三个代码的“两码编码”,如果符合条件的“两码编码”的“两码编码频度”不小于该“形码码元”其他的码元编码频度,那么将该候选字第二种切分的“第二个码元两码编码序值”设置为1;在“码元数据库”中查找,该汉字的“第二个形码码元”的第三个代码等于输入编码中的形码编码的第三个代码的“三码编码”,如果符合条件的“三码编码”的“三码编码频度”不小于该“形码码元”其他的码元编码频度,那么将该候选字第二种切分的“第二个码元三码编码序值”设置为1;在“码元数据库”中查找,该汉字的“第二个形码码元”的第一个代码等于输入编码中的形码编码的第三个代码的“补码编码”,如果符合条件的“补码编码”的“补码编码频度”不小于该“形码码元”其他的码元编码频度,那么将该候选字第二种切分的“第二个码元补码编码序值”设置为1;比较以上过程中的“第二个码元两码编码序值”、“第二个码元三码编码序值”和“第二个码元补码编码序值”,将其中的最大值设置为“第二个码元编码序值”;将以上过程中的“第一个码元编码序值”加上“第二个码元编码序值”,设置为该候选字的“第二种切分序级”;2.2.3比较以上过程中的输入编码的“第一种切分序级”和“第二种切分序级”,将其中最大值设置为该候选字的“序级”;3.1当汉字由三个“形码码元”组成,输入编码中的形码编码码长等于3时,候选字“序级”的第一种切分计算:在“码元数据库”中查找,该汉字的“第一个形码码元”的第一个代码等于输入编码中的形码编码的第一个代码,并且第二个代码等于输入编码中的形码编码的第二个代码的“两码编码”,如果符合条件的“两码编码”的“两码编码频度”不小于该“形码码元”其他的码元编码频度,那么将该候选字第一种切分的“第一个码元两码编码序值”设置为2;在“码元数据库”中查找,该汉字的“第一个形码码元”的第一个代码等于输入编码中的形码编码的第一个代码,并且第二个代码等于输入编码中的形码编码的第二个代码的“三码编码”,如果符合条件的“三码编码”的“三码编码频度”不小于该“形码码元”其他的码元编码频度,那么将该候选字第一种切分的“第一个码元三码编码序值”设置为2;比较以上过程中的“第一个码元两码编码序值”和“第一个码元三码编码序值”,将其中的最大值设置为“第一个码元编码序值”;在“码元数据库”中查找,该汉字的“第三个形码码元”的第二个代码等于输入编码中的形码编码的第三个代码的“两码编码”,如果符合条件的“两码编码”的“两码编码频度”不小于该“形码码元”其他的码元编码频度,那么将该候选字第一种切分的“第三个码元两码编码序值”设置为1;在“码元数据库”中查找,该汉字的“第三个形码码元”的第三个代码等于输入编码中的形码编码的第三个代码的“三码编码”,如果符合条件的“三码编码”的“三码编码频度”不小于该“形码码元”其他的码元编码频度,那么将该候选字第一种切分的“第三个码元三码编码序值”设置为1;在“码元数据库”中查找,该汉字的“第三个形码码元”的第一个代码等于输入编码中的形码编码的第三个代码的“补码编码”,如果符合条件的“补码编码”的“补码编码频度”不小于该“形码码元”其他的码元编码频度,那么将该候选字第一种切分的“第三个码元补码编码序值”设置为1;比较以上过程中的“第三个码元两码编码序值”、“第三个码元三码编码序值”和“第三个码元补码编码序值”,将其中的最大值设置为“第三个码元编码序值”;将以上过程中的“第一个码元编码序值”加上“第三个码元编码序值”,设置为该候选字的“第一种切分序级”;3.2当汉字由三个“形码码元”组成,输入编码中的形码编码码长等于3时,候选字“序级”的第二种切分计算:在“码元数据库”中查找,该汉字的“第一个形码码元”的第一个代码等于输入编码中的形码编码的第一个代码的“补码编码”,如果符合条件的“补码编码”的“补码编码频度”不小于该“形码码元”其他的码元编码频度,那么将该候选字第二种切分的“第一个码元编码序值”设置为1;在“码元数据库”中查找,该汉字的“第二个形码码元”的第一个代码等于输入编码中的形码编码的第二个代码的“两码编码”,如果符合条件的“两码编码”的“两码编码频度”不小于该“形码码元”其他的码元编码频度,那么将该候选字第二种切分的“第二个码元两码编码序值”设置为1;在“码元数据库”中查找,该汉字的“第二个形码码元”的第一个代码等于输入编码中的形码编码的第二个代码的“三码编码”,如果符合条件的“三码编码”的“三码编码频度”不小于该“形码码元”其他的码元编码频度,那么将该候选字第二种切分的“第二个码元三码编码序值”设置为1;在“码元数据库”中查找,该汉字的“第二个形码码元”的第一个代码等于输入编码中的形码编码的第二个代码的“补码编码”,如果符合条件的“补码编码”的“补码编码频度”不小于该“形码码元”其他的码元编码频度,那么将该候选字第二种切分的“第二个码元补码编码序值”设置为1;比较以上过程中的“第二个码元两码编码序值”、“第二个码元三码编码序值”和“第二个码元补码编码序值”,将其中的最大值设置为“第二个码元编码序值”;在“码元数据库”中查找,该汉字的“第三个形码码元”的第二个代码等于输入编码中的形码编码的第三个代码的“两码编码”,如果符合条件的“两码编码”的“两码编码频度”不小于该“形码码元”其他的码元编码频度,那么将该候选字第二种切分的“第三个码元两码编码序值”设置为1;在“码元数据库”中查找,该汉字的“第三个形码码元”的第三个代码等于输入编码中的形码编码的第三个代码的“三码编码”,如果符合条件的“三码编码”的“三码编码频度”不小于该“形码码元”其他的码元编码频度,那么将该候选字第二种切分的“第三个码元三码编码序值”设置为1;在“码元数据库”中查找,该汉字的“第三个形码码元”的第一个代码等于输入编码中的形码编码的第三个代码的“补码编码”,如果符合条件的“补码编码”的“补码编码频度”不小于该“形码码元”其他的码元编码频度,那么将该候选字第二种切分的“第三个码元补码编码序值”设置为1;比较以上过程中的“第三个码元两码编码序值”、“第三个码元三码编码序值”和“第三个码元补码编码序值”,将其中的最大值设置为“第三个码元编码序值”;将以上过程中的“第一个码元编码序值”加上“第二个码元编码序值”再加上“第三个码元编码序值”,设置为该候选字的“第二种切分序级”;3.3比较以上过程中的输入编码的“第一种切分序级”和“第二种切分序级”,将其中最大值设置为该候选字的“序级”;(g)当用户选择候选字后,如果用户选择的候选字没有“已输入编码”或者“已输入编码”中的形码编码均不等于该输入编码中的形码编码,那么“输入编码处理器”将该输入编码中的形码编码做为该汉字的“形码码元”的码元编码存储到“码元数据库”中;(h)当用户选择候选字后,如果该汉字在“汉字数据库”中已经存储了等于该输入编码的“已输入编码”,那么将该“已输入编码”的“已输入编码频度”加1;如果该汉字在“汉字数据库”中没有“已输入编码”或者“已输入编码”均不等于该输入编码,那么将该输入编码存储为该汉字的“已输入编码”,并将该“已输入编码”的“已输入编码频度”设置为1。
地址 300250 天津市河北区革新道颂光里2-8-105室