一种汉字拼形输入法的智能输入处理方法

文档序号:6576321阅读:424来源:国知局
专利名称:一种汉字拼形输入法的智能输入处理方法
技术领域
本发明涉及一种汉字拼形输入法的智能输入处理方法,可以应用在五笔、郑码、表形码、仓颉等汉字拼形或类拼形输入法中。
拼音输入为了克服其重码率高的缺点,随着计算机技术的不断向前发展,不断地引入各种智能处理技术,以提高汉字输入的速度。先有“智能ABC”实现计算机自动分词,以词组为输入单位,降低重码率,加快输入速度,再而有“微软拼音”、“智能狂拼”等以句子为输入单位的智能输入法。“微软拼音”输入法的推出被誉为“划时代”的贡献,其强大的智能处理,计算机自动进行分词,无须人工去做,使拼音输入变得更加容易,更加方便,输入速度大大提升。
拼音输入的智能语句输入处理方法主要原理是通过两个工序来完成1)以声母作为识别一个字单元的分隔点,然后找出每个字单元的编码所对应的所有汉字;2)以字单元作为交通网络图的一个节点,每个字单元抽出一个对应的汉字作为一个路径,用任意两节点之间所跨越的节点的各个编码串组成词拼音编码串进行词的匹配。找出词频最高的词,将其作为节点与节点之间的一条通路。计算由起节点到终节点的最短路径,得出最短路径所经过的通路上对应的字词所组成的句子,用该句子作为用户输入的拼音编码串所对应的汉字句子。
为形象说明这一原理,下面以拼音输入为例。
如用户用拼音输入今天是星期五jin-tian-shi-xing-qi-wu今天是星期五对于计算机来说,如果每个字词没有词频的话,并不知道用户具体输入的是什么内容。
如以上的输入语句计算机可能会识别出以下这些字、词、句,其中数字代表这些词的词频级,值越小代表词频越高-今天(6)——天时(7)- -星期(7)--欺侮(9)-尽(4)--天(4)--是(2)--行(4)--期(5)--五(5)---实行(7)-——星期五(12)-----以上的字词可以代表如下句子今天是星期五尽天时行欺侮今天实行欺侮尽天时星期五如果将句子的开始到结尾连成一条通路,将各字或词代表其中一段可行的通路,以上的这些句子就是其中一条由开始到结尾的可行的路径。例如“尽天时星欺侮”这一句的路径是“尽”+“天时”+“行”+“欺侮”;“今天实行欺侮”这一句的路径是“今天”+“实行”+“欺侮”等等。
如果用词的词频级来表示每一通路的路径长度,并适当调整每一可行通路的长度,使得由开始到结尾的最短路径只有一条,那么我们可以定义这一条由开始到结尾的最短路径所组成的句子就是我们所要输入的句子。我们就可以根据用户的输入,通过查找最短路径的算法,来确定用户的输入是什么句子。例如以上的句子的路径长度分别是今天是星期五=“今天”+是+“星期五”=6+2+12=20尽天时行欺侮=“尽”+“天时”+“行”+“欺侮”=4+7+4+9=24今天实行欺侮=“今天”+“实行”+“欺侮”=6+7+9=22尽天时星期五=“尽”+“天时”+“星期五”=4+7+12=23其中路径最短的一句话是“今天是星期五”=6+2+12=20所以计算机通过这一结论可以确定用户是要输入“今天是星期五”这一句话。
相反,对于拼形输入来说,在智能处理方面就大大逊色,“王码五笔”和“幸福五笔”依然的和刚推出时一样,一点改进也没有,可以讲得上一点儿智能处理也没有,如自动调频,自动造词等。近来推出的“智能陈桥输入法”虽然有很大改进,如自动调频、造词、变形的语句输入、显示简码等,博得了不少传统的用户的青睐。但和微软拼音的强大语句输入的智能处理相比,还差一大截。
拼形输入出现这种局面的原因,主要是由于如下原因所造成。(一)传统认识上的误区认为只要有优秀的汉字键盘编码方案就能使重码率接近零,大大提高输入的速度,根本无须要智能处理,只有拼音这种重码率大高的编码方案才需要智能处理。殊不知,为了追求这个重码率为零的目标,其代价是将汉字的编码规则搞得复杂到令人难以接受,使许多初学者被拒之门外。这就是为什么传统的拼音输入法还是成为主流输入法的原因。最流行的拼形输入法——五笔字型也只占了小部分的用户群,使用其它拼形输入法的人则凤毛麟角。(二)关键的原因是技术没有解决由于拼音输入法可以通过声韵母进行字和字的划分,所以可以识别到用户是进行字输入还是词的输入,进而可以识别到整句话的输入。而拼形输入就不能根据输入的编码进行字词的识别。
例如用拼音输入法输入“今天是星期五”,可以整个语句进行输入jin’tian’shi’xing’qi’wu。计算机通过对声韵母的划分可以判断出用户要输入多少个字,进而可以进行词的匹配,再进而通过各词的使用词频进行运算,得出输入的句子。如“微软拼音”输入法就是这样处理的。而对于拼形输入来说,以五笔为例,输入以上的字需要输入输入编码wynb gd j jtg adwegghg由于每字(含词)的取码,由1至4码不等,各字具体的取码是均匀分布的,字和字的具体的编码之间没有特征来区分,进而限制了拼形输入法以语句输入的发展。
所以要使拼形输入可以向语句输入的方向发展,关键就是解决通过输入的编码来分隔字的问题。而这就是本输入法的核心专利技术之一。
本发明是通过如下技术方案来实现的它包括两个步骤(I)输入的拼形编码串与每个字单元的对应的识别方法采用奇偶位识别汉字句子编码串,即在汉字句子输入过程中每字单元取两码的方法来进行输入,通过判断输入的汉字编码的奇偶数来进行字单元的分隔,识别到输入编码串中所代表的字单元的个数,即字的个数,第一个字单元对应第1编码和第2编码,第二字单元将对应第3编码、第4编码,第N个的单元第2N-1编码和第2N编码。(II)遍历字词,用匹配的字词组成一个交通网络图,然后查找该交通网络图的最短路径,得出最短路径所对应的汉字组合成的句子(a)定交通网络图的各个节点,即利用步骤(I)分隔出的每个字单元,以字单元作为交通网络图的一个节点,每一个节点由两码组成;(b)用各个节点的编码串以及任意两个节点之间所跨越的节点共同组成的一个编码串进行字词的匹配,匹配是用编码串在词库中进行查找,查找出和编码串相符且词频最高的字词,两码为字的匹配,两码以上为词的匹配,凡存在匹配的字词,就将其作为节点与节点之间的一条通路,并根据词频的大小赋予该通路一长度值,词频越大,长度越短,反之亦然;(C)通过步骤(a)和步骤(b),我们就将用户输入语句对应的编码串转化为一带权值的交通网络图,该交通网络图的节点数为编码串的长度/2,每一条通路对应一个字词,计算由起节点到终节点的最短路径,得出最短路径所经过的通路上对应的字词所组成的句子,用该句子作为用户输入的编码串所对应的汉字句子。
本发明在输入过程中还含有快速修正步骤(III),包括回退修正和边输入边修正,回退修正是指当输入一句话后,发现前面出现的字或词不是所需的可以移动光标,每次移动两个字母,即一个字,进行正确字,词的选取,选取时可以由左至右或由右至左进行,当字单元的两个码不能识别出正确的汉字时,通过输入第三码快速找出合适的汉字;边输入边修正是指在输入过程中,当出现的字词不是所需的,可以从重码列表中选择正确的字词或进行分词。
本发明在进行汉字输入过程中,实行动态调整词频步骤(IV),即当输入过程中或在回退修正时,出现重码的字词时,如果第一个出现最高频的字词就是所需的字,用户无需进行选择继续输入其它编码;如果不是用户所需的字词,用户必须进行选择,用户进行了选择后,计算机则自动将选择的词的词频调整成该重码词组中的最高频,在下次输入时,就不用再选择了,调频还包括分词处理,即降低词组的词频,使得系统选择单字而非词组。
本发明还包括动态增加、删除词句步骤(V),即当用户进行选择字词时或用了第三码进行修正或在最后一字加上了第三码作较验时,系统自动将该句话作为词组或将句拆分成词增加到词库中,同时存放简码及智能语句输入码;当用户选择了某组重码词其中的一个时,系统自动将其它重码词的词频降低一级,并对这些重码词进行检查,删除词频达到最低警戒线的词。
本发明与现有技术相比具有如下优点1)本发明采用通过奇偶位识别汉字编码串中汉字或词的技术,实现每字两键的字、词、句混合输入,通过电脑自动调频,动态组词的辅助功能,保证了整句输入的正确率接近100%,语句输入过程中计算机自动分词,无须输入空格键,使输入的过程非常连贯,输入速度更快,输入更轻松;2)本智能输入法只需每字打两键就可以,输入规则简单易学,容易掌握,输入速度高,而且该输入法所具有强大智能功能,不用人工分词,免除了在输入过程中要经常打空格的弊端,用户所需的字词语句乎之欲出,汉字输入的感觉有如何云流水,非常流畅,将汉字输入的变成了一种艺术享受;3)由于本发明的强大的智能处理使得简化现有的汉字键盘编码方案成为可能,通过简化现有的字型键盘编码体系,可以使用户更加容易学习;4)快速修正步骤、动态调整词频步骤、动态增加、删除词句步骤只是本智能处理的辅助功能。这些辅助功能的目的是使用户经过一定时间的磨合,就能实现“每字两码的整句输入的正确率达到100%”目标。


图1是本发明输入编码串例子1对应的交通网络图;图2是本发明输入编码串例子2对应的交通网络图;图3是本发明输入编码串例子3对应的交通网络图;图4是图3中用汉字和词组代替输入编码串后对应的交通网络图。
3、码长为3码的汉字编码已足够根据以上第四码使用率极少的特点,我们可以去掉汉字编码的第四码,只取汉字前三码。其实这三码的编码空间为25+25×25+25×25×25>15000,相对于GB汉字集的6763个汉字来说,编码空间已足够大,更何况常用的汉字只有3000。即使有重码,但重码出现可能性比较低,且重码的字数并不多,通过选择,也很易进行输入。对于一般性文章,基本上三码即可以打出想要的字。关键的问题是视乎能否找到一种比较均衡的汉字编码方案。
4、智能造句的原理采用类似于微软拼音输入法的语句处理技术。了解几个概念语料指用于词频统计的语言资料。词频即词频度在一定数量的语料中同一个词语出现的频度,一般用词语的出现次数或覆盖率来表示。在这里用出现次数来表示。词频级根据词的词频的大小由高至低按一定的标准将词分成一定的等级,假设分为20级,该等级就是词的词频级。级别的数值越少表示词的词频越大,级别数值越大表示词的词频越小。如级别为0表示词频最大,级别20表示词频最小。词频和词频级的关系词频越大,词频级的值就大,反之越小。为简单起见,将词频看成和词频级相对应的整数,如词的频度为20,则词频级为0,频度为19,则词频级为1....如词的频度为0,则词频级为20。由于每个字词有一词频,所以可以将用户的输入编码串进行字词的匹配,转化为交通网络图,然后计算最短路径来得出输入的句子。
5、通过奇偶位识别汉字编码串中汉字或词,实现每字两笔的字、词、句混合输入。根据两键的字在单字输入的中所占汉字的词频最高的特点,以及词组输入均为4键的特点,我们采用在句子的输入过程中每字取两码的方法来进行输入,第三码只作为单字输入和进行修正时用。由于字与词的键数均为偶数键,这样我们就可以仿照“微软拼音”输入法通过声韵母来分隔字一样,通过判断输入的汉字编码的奇偶数来进行字或词的分隔,识别到句子对应的编码串中所代表的字或词的个数,并结合类似于“微软拼音”的语句处理技术,进而实现每字两笔的字、词、句混合输入。
以下详细介绍字、词、句混合输入处理过程当用户输入的编码少于四码,为单字输入模式,和传统输入的方式一致。
高频字(一级字)一码+空格键次高频字(二级字)一二码+空格键三级字一二三码+空格键当连续输入四码以上时自动切换到智能词组语句输入。
1、智能处理的具体要求及具有的功能(1)每字取一二两码。智能算法是以奇数位作为一字词的开始码。
(2)第三码用于回退修正、语句输入的最后一字的较验、以及动态增加词句的标志用。
(3)输入窗口分两行显示,上面一行显示汉字,下面一行显示编码。
(4)遇到断点自动完成全句话的输入。断点是指非汉字编码,包括各种标点符号、英文字母、空格、回车等非汉字编码的输入。
(4)修正。包括回退修正和边输入边修正。回退修正是指当输入一句话后,发现前面出现的字或词不是所需的可以移动光标进行正确字,每次移动两个字母即一个字,词的选取,选取时可以由左至右或由右至左进行。边输入边修正是指在输入过程中,当出现的字词不是所需的,可以从重码列表中选择正确的词。边输入边修正的好处是不需要移动光标,缺点的在整个句子输全完成之前不能确定是否需要选词。重码提示窗口根据当前光标所在的位置依次显示该光标之前的四字三字两字一字的重码字,如果光标当前位置在最后,且输入的编码数为奇数,则用三码匹配重码字。选取重码词时可以输入第三码进行快速选取。进行选取重码的字词后该字词就作为固定字,汉字显示栏根据选字情况自动重新进行修正。对于重码字词的选择系统自动调频。将选中的词的词频调为与该重码组中词频最高的词的词频,将原词频最高的重码词的词频降低一度。
(5)也可以移动光标至编码输入错误的地方进行编码修正或删除插入。汉字显示栏自动进行修正。
(6)动态调整词频。当输入过程中或在回退修正时,出现重码的字词时,如果第一个出现最高频的字词就是所需的字,用户无需进行选择继续输入其它编码;如果不是用户所需的字词,用户必须进行选择,可以用数字0-9进行选择。用户进行了选择后,计算机则自动将选择的词的词频调整成该重码词组中的最高频,在下次输入时,就不用再选择了。
(7)通过降低词频来进行拆词。输入过程中可能出现一个词组,而该词组并不是所需的,用户真正需要的是字。例如用户想输入“又小”两个字,假设“又小”这两个字和“更小”这一词重码,且“更小”的词频比“又小”两字加起来的词频高,则智能处理会认为用户要输入的是“更小”一词,而非“又小”。在重码提示窗口会出现“更小,小”等的重码选择,这时用户可以通过选择“小”字来进行拆词,系统判断出用户选择单字,而非词组,则会将“更小”的词频降低,这时“又小”两字相加的词频就会高于“更小”这一词,计算机就会自动选择“又小”这两个字作为输入而非“更小”这一词。
(8)动态增加词句。
当用户进行选择字词时或用了第三码进行修正或在最后一字加上了第三码作较验时,系统自动将该句话为词组增加到词库中。同时存放简码,即每词四键及智能语句输入码,每字两键。
(9)能够识别到三字词、四字词、以及四字词以上取四码的输入。完全可以做到,因为词的输入和单字输入一样都是偶数码,且三字以上的词和两字词一样都是取四码。
(10)引入固定字。固定字是在组词的过程中不再改变的字,即该字已确定了不再变更。固定字的作用可以降低语句处理时计算的复杂度。
固定字在出现重码时通过选择而确定的字词。在语句输入过程中,用户一但选择了某个词,则该词在整个语句输入过程中不再变更。只能用该词进行前后的组词,而不是通过该词对应的编码进行前后组词。
(11)智能学习。不同的用户来自不同的专业领域,而不同的专业领域中存在着大量的重码的字词。在不同的专业领域,这些重码字词的使用词频是各自不相同的,在某一专业领域中是常用词,但在另一个专业领域中并不是常用词,甚至是生僻词。例如五笔字型的词“程序设计”和词“行为主义”是重码词,编码都为“tyyy”。但“程序设计”在计算机领域中是常用词,而“行为主义”在计算机领域中是生僻字;“行为主义”在社会学或行为学中是常用词,而在计算机领域中是生僻字。我们可以通过对相关文章,即某专业类进行学习,自动调整词库中各字词的词频以适应该专业类的文章。学习的过程就是用计算机模拟手工输入的过程。通过学习之后,既调整了词频,也组成新词,以后人工进行相关专业类文章的输入时,就能使对相关文章的输入的正确率大大提高。例如,如果某用户是一位在政府机关从事有关党政工作,则可以选择一类党政文章进行学习。学习后输入党政性的文章,就可以无须进行重码选择,正确率也非常高;如果某用户是从事金融方面工作的,可以选择有关金融方面的文章进行学习,学习后输入金融方面的文章时,正确率就非常高。
下面举一个例子具体说明本发明的内容。以输入“中国人民解放军”来说明(1)词库结构(索引传统编码+路径,智能输入编码+路径,词)词最大长度为8,词传统编码智能输入编码路径长度(越小代表词越常用,词频越高)中 k kl 3叫 klj kl 7听 klt kl 8唱 kqkq 9是 q qn 3日 qwqw 5国 qwqw 6人 a aw 6釜 awf aw 7命 aeae 7民 fzfz 7咸 fzx fz 10多 x xw 4解 xoxo 6为 d df 4文 dcdc 5放 dcf dc 7定 b bn 5军 bsj bs 9罕 bsh bs 10宰 bsz bs 11觎 abab 13中国 klqw klqw 7中日 klqw klqw 9国人 qwawqwar 10人民 awfzawfz 9全民 awfzawfz 10中国人民 klafklqwawfz 13解放 xodcxodc 9解放军 xdbsxodcbs10*中国人民解放军 kqrbklqtrwfzxsdobs19打“*”的为计算机自动造词(2)输入过程。
以输入“中国人民解放军”这一句为例,演示本智能输入法的具体处理过程,对输入的编码进行每两码一字进行划分输入编码k输出结果中重码列表1中输入第一键,显示高频字“中”输入编码kl输出结果中重码列表1中2叫2听....
编码为“kl”的最高频的字为“中”输入编码klq输出结果中是重码列表1是输入第一键q,显示高频字“是”输入编码klqw输出结果中国重码列表1中国2中日3日4国....
“中国”一词的词频最高输入编码klqwa输出结果中国人重码列表1人输入第一键a,显示高频字“人”输入编码klqwaw输出结果中国人重码列表1国人2人3入句子分为“中国”+“人”词频最高输入编码klqwawf输出结果中国釜重码列表1釜句子分为“中国”+“人”+“釜”词频最高输入编码klqwawfz输出结果中国人民重码列表1人民2全民3民句子分为“中国”+“人民”词频最高输入编码klqwawfzx输出结果中国人咸重码列表1咸句子分为“中国”+“人”+“咸”词频最高输入编码klqwawfzxo输出结果中国人民解重码列表1解句子分为“中国”+“人民”+“解”词频最高输入编码klqwawfzxod输出结果中国人民解为重码列表1为句子分为“中国”+“人民”+“解”+“为”词频最高输入编码klqwawfzxodc输出结果中国人民解放重码列表1解放2文3放句子分为“中国”+“人民”+“解放”词频最高输入编码klqwawfzxodcb输出结果中国人民解放定重码列表1定句子分为“中国”+“人民”+“解放”+“定”词频最高,“定”为高频字输入编码klqwawfzxodcbs输出编码中国人民解放军重码列表1解放军2军3罕4宰句子分为“中国”+“人民”+“解放军”词频最高输入编码klqwawfzxodcbs+空格(或标点符号或回车或其他非编码输入)输出编码中国人民解放军(输出)至此我们输入了klqwawfzxodcbs+空格,这串编码后计算机就会输出中国人民解放军这一句话,平均每字的键盘击键数为2。(3)回退修正。
●当输入的过程中发现某个字如不是所需的字或某个编码误时,如误将“w”输为“e”时,如下图所示。
klqwaefzxodcbs中国命人解放军可以移动光标至e,按删除键将e删除。删除后输入由klqwaefzxodcbs中国命人解放军变成klqwafzxodcbs中国第骤拆苋(暂时变乱)在删除e处输入w则变回正确klqtrwfzxsdcbs中国人民解放军●选字修正。回退修正由右到左移动光标,在移动光标的同时显示光标对应的字的所有重码字(如为重码的词,则词优先显示),如出现某个不正确,则可以通过输入数字进行选择。例如输入完整个句子后发展,输入编码“klqw”所对应的输出结果中出现了“中日”而非“中国”时,就可以移动光标至“klqw”后,输入重码列表“中国”对应的数字进行选择。一经选择后,“中国”的词频就调到比“中日”的高,在下一次输入时就会自动出“中国”,而非“中日”了。也可以边输入边修正当输入编码“klqw”时,如果发现输出结果中出现了“中日”而非“中国”时,输入重码列表“中国”对应的数字进行选择,选择完后,继续进行输入。●用第三码快速修正。当进行重码字的选择时,可以输入第三编码快速定位选择的字。例如假如在以上输入过程中,输入了“放”字的编码“dc”后如果计算机出现“文”而非“放”字时,可以将光标移到“文”字对应编码的地方,输入“放”字的第三码“f”,则计算机自动将“文”字改为“放”字。●动态造词。当发生过选择重码字或有第三码修正时,在最后输出该语句时自动对该词句进行组词,并追加到词库中。例如,如果以上“中国人民解放军”在输入过程中发生了重码的选择,则输出该语句时自动将其追加到词库中。
词 传统编码 智能方式编码 路径中国人民解放军 kqab klqwawfzxodcbs12+字数=19(默认为值)“kqab”码为前三字第一码+最后一字的首码(4) 当第二次输入“中国人民解放军解放中国”的语句时,由于词库中存在“中国人民解放军”一词,我们可以以词组输入该词。整个输过程简单演示为如下k中“中”为编码k对应的高频字kq唱“kq”对应的最高频字为“唱”kqa唱人句子分为“唱”+“人”词频最高kqab中国人民解放军
“kqab”对应词库的中词组“中国人民解放军”,且词频最高kqabx中国人民解放军多句子分为“中国人民解放军”+“多”词频最高kqabxo中国人民解放军解句子分为“中国人民解放军”+“解”词频最高kqabxod中国人民解放军解为句子分为“中国人民解放军”+“解”+“为”词频最高kqabxodc中国人民解放军解放句子分为“中国人民解放军”+“解放”词频最高kqabxodck中国人民解放军解放中句子分为“中国人民解放军”+“解放”+“中”词频最高kqabxodckl中国人民解放军解放中句子分为“中国人民解放军”+“解放”+“中”词频最高kqabxodcklq中国人民解放军解放中是句子分为“中国人民解放军”+“解放”+“中”+“是”词频最高kqabxodcklqw中国人民解放军解放中国句子分为“中国人民解放军”+“解放”+“中国”词频最高kqabxodcklqw+空格(或标点符号或回车或其他非编码输入)中国人民解放军解放中国(输出)至此我们完成了字、词、句的混合输入。我们输入“中国人民解放军解放中国”这一句话,共11个字,我们只需输入编码“kqabxodcklqw”,共12个编码,就可以完成整个输入,平均每字的击键数为1.1键。(三)具体实现(一)算法具体说明1、总体设计思路(1)词库设计词库中记录了每个字词的编码,包括传统的编码和智能编码及各个字词对应的路径值,即词频信息,传统的编码是对字1,2,3码,对词四码;智能编码是每字两码。
(2)根据用户输入的编码,查找遍历所有可行的通路,即字词匹配,记录其路径长度。将所有字词的信息组成一个网络交通图。
(3)在所有字词所组成的网络交通图中找出一条由开始到结尾的最短路径。
(4)由开始到结尾的最短路径所组成的句子就是所需的。然后输出该句子2、本智能输入法需要遍历的可能通路以输入句子长度为10字,最大词长8字为例,由于每字为2码,所以总共有20个编码。
假如我们输入的编码为ab cd ef gh ij kl mn op qr st。要求每字两码输入,对于系统已有的三字词取码为4码(11+12+21+31),已有四字以上的词取码也为4码(11+21+31+n11),所以可以确定字或词的首码肯定为偶数码。所以对于以上的输入编码,我们要遍历的通路数(即搜索可能的字词个数)为一字词10个(每字两码,20/2)二字词9个三个字(每字取两码的情况)8个四个字(每字取两码的情况)7个五字词(每字取两码的情况)6个六字词(每字取两码的情况)5个七字词(每字取两码的情况)4个八字词(每字取两码的情况)3个三字词(取四码一词的情况)同两字词一样,9个四字词(取四码一词的的情况)同两字词一样9个五字词(取四码一词的的情况)同两字词一样9个六字词(取四码一词的的情况)同两字词一样9个七字词(取四码一词的的情况)同两字词一样9个八字词(取四码一词的的情况)同两字词一样9个以上三字以上的词取四码一词的情况,由于和两字词取两码的情况一样,所以将其忽略。总共要搜索的词个数共为52计算公式为(句子字数+句子字数-MIN(最大词长,句子字数)+1)×MIN(最大词长,句子字数)/2=(10+10-8+1)×MIN(最大词长,句子字数)/2=13×8/2=52如果输入的句子长度为6字则一字词6个二字词5个三个字(每字取两码的情况)4个四个字(每字取两码的情况)3个五字词(每字取两码的情况)2个六字词(每字取两码的情况)1个三字词(每字取一码的情况)同两字词5个四字词(每字取一码的情况)同两字词5个总共要搜索的词个数共为21=(句子字数+句子字数-MIN(最大词长,句子字数)+1)×MIN(最大词长,句子字数)/2=(6+6-6+1)×6/2=21如输入的句子长度为25字,则要搜索的词个数共为(25+25-8+1)×8/2=172由以上可以看出用户输入一句话系统需要搜索的字词数是非常多的,为提高遍历的速度,在用户输入完每一偶数键时,递增都做一次遍历。将整个句子的字词数的搜索分摊到每一字中。另外为了降低计算最短路径的复杂程度,引入固定字,固定字是用户选择的重码字,当用户选择了某个重码字,则该字就作为词中的固定字,例如在上面输入“今天是星期五”的句子时,当用户选择了重码字“星”而非“行”时则有“实行”这条路径是不可行的,这样可以简化查找最短路径的计算。3、词库设计(1)词库中要包括的信息字词,字词的编码包括传统的编码(对字1,2,3码,词四码)和智能编码(每字两码)、各个字词对应的路径值(词频信息)。
(2)词库具有5万条常用的词已足够。因为本智能设计准确率很高(政治、经济、计算机方面达到98以上),且可以动态造词,所以无须象智能狂拼一样把词库搞得太大。当然词数越多,准确率相对就高,但超过了5万条后准确率增加不是很明显,为提高系统的速度,减少空间,系统词库5万条常用的词已足够。
(3)为加快遍历速度和降低词库的所占的存储空间,可以采用字词分开存放、智能编码和传统编码分开存放、四字词以下的词库和四字以上的词库分开存放的方法。
(4)另外还必须为词库建立各种索引,方便快速查找(按词,按编码,按智能编码,按词频)。
系统词库和用户词库分开存放。因为系统词库中数据量大,如增加、删除涉及到大量的排序、数据移动等,所以系统词库不能进行增加、删除、只能进行词频的调整,而用户词库词数量少,一般设定数量在5000条为宜,增加、删除词相对方便。用户词库满了之后,可以采用某种算法删除不常用的词,增加新的词。这些算法中可以采取不常用先淘汰、排在最后的先淘汰等方法。排在最后的先淘汰的方法,最容易实现,不常用先淘汰最合理,但系统开销会很大。4、查找最短路径的算法说明我们将用户由键盘输入的一串汉字编码由开始到结尾,顺序取每两码作为一个点,这些点作为一个单字词,用线顺序连起来,如果每个点同点之间的编码串连成一起可以组成词组的话,也用线连起来。这样,对于用户所输入的编码串就转化为一个交通网络图。每两个点之间的通路表示这两个点之间的编码组成的编码串和某个词组的编码串相匹配。
例如输入编码串ab cd ef gh ij kl mn op qr st只有单字而没有词的情况下的交通网络图如图1所示,由头到尾的路径只有一条。
假如存在如下编码的词组两字词cdef ghij三字词mnopqr四字词qrst(取四码匹配,每字两码的情况不匹配)则交通网络图如图2所示我们用词代替上图中的编码串,并为每一个词赋予一个路径长度值,这一长度值代表交通网络图中每一结点之间的每一条可行的通路的路径长度。这样我们就可以通过求交通图中的源点到最后一个结点的最短路径所组成的通路来得出用户输入的编码中所代表的句子。
例如句子“中国人民解放军”(句子对应的编码串为”klqwawfzxodcbx”)的网络图如图3所示,用编码匹配字词后网络图如图4所示。可以看出最短的路径为“中国”+人民”+“解放军”=7+9+10=2权利要求
1.一种汉字拼形输入法的智能输入处理方法,其特征在于它包括两个步骤(I)输入的拼形编码串与每个字单元的对应的识别方法采用奇偶位识别汉字句子编码串,即在汉字句子输入过程中每字单元取两码的方法来进行输入,通过判断输入的汉字编码的奇偶数来进行字单元的分隔,识别到输入编码串中所代表的字单元的个数,即字的个数,第一个字单元对应第1编码和第2编码,第二字单元将对应第3编码、第4编码,第N个的单元第2N-1编码和第2N编码;(II)遍历字词,用匹配的字词组成一个交通网络图,然后查找该交通网络图的最短路径,得出最短路径所对应的汉字组合成的句子(a)确定交通网络图的各个节点,即利用步骤(I)分隔出的每个字单元,以字单元作为交通网络图的一个节点,每一个节点由两码组成;(b)用各个节点的编码串以及任意两个节点之间所跨越的节点共同组成的一个编码串进行字词的匹配,匹配是用编码串在词库中进行查找,查找出和编码串相符且词频最高的字词,两码为字的匹配,两码以上为词的匹配,凡存在匹配的字词,就将其作为节点与节点之间的一条通路,并根据词频的大小赋予该通路一长度值,词频越大,长度越短,反之亦然;(c)通过步骤(a)和步骤(b),我们就将用户输入语句对应的编码串转化为一带权值的交通网络图,该交通网络图的节点数为编码串的长度/2,每一条通路对应一个字词,计算由起节点到终节点的最短路径,得出最短路径所经过的通路上对应的字词所组成的句子,用该句子作为用户输入的编码串所对应的汉字句子。
2.根据权利要求1所述的一种汉字拼形输入法的智能输入处理方法,其特征在于输入过程中还含有快速修正步骤(III),它包括回退修正和边输入边修正,回退修正是指当输入一句话后,发现前面出现的字或词不是所需的可以移动光标,每次移动两个字母,即一个字,进行正确字,词的选取,选取时可以由左至右或由右至左进行,当字单元的两个码不能识别出正确的汉字时,通过输入第三码快速找出合适的汉字;边输入边修正是指在输入过程中,当出现的字词不是所需的,可以从重码列表中选择正确的字词或进行分词。
3.根据权利要求1或2所述的一种汉字拼形输入法的智能输入处理方法,其特征在于进行汉字输入过程中还包括实行动态调整词频步骤(IV),即当输入过程中或在回退修正时,出现重码的字词时,如果第一个出现最高频的字词就是所需的字,用户无需进行选择继续输入其它编码;如果不是用户所需的字词,用户必须进行选择,用户进行了选择后,计算机则自动将选择的词的词频调整成该重码词组中的最高频,在下次输入时,就不用再选择了;调频还包括分词处理,即降低词组的词频,使得系统选择单字而非词组。
4.根据权利要求3所述的一种汉字拼形输入法的智能输入处理方法,其特征在于它还包括动态增加、删除词句步骤(V),即当用户进行选择字词时或用了第三码进行修正或在最后一字加上了第三码作较验时,系统自动将该句话作为词组或将句拆分成词增加到词库中,同时存放简码及智能语句输入码;当用户选择了某组重码词其中的一个时,系统自动将其它重码词词频降低一级,并对这些重码词进行检查,删除词频达到最低警戒线的词。
全文摘要
一种汉字拼形输入法的智能输入处理方法,它包括两个步骤(I)输入的拼形编码串与每个字单元的对应的识别方法在汉字句子输入过程中每字单元取两码的方法来进行输入,通过判断输入的汉字编码的奇偶数来进行字单元的分隔,识别到输入编码串中所代表的字单元的个数,(II)遍历字词,用匹配的字词组成一个交通网络图,然后查找该交通网络图的最短路径,得出最短路径所对应的汉字组合成的句子。它解决拼形输入法以语句输入的技术问题,实现每字两键的字、词、句混合输入,整句输入的正确率接近100%,输入的过程非常连贯,输入速度更快,输入更轻松;输入规则简单易学,容易掌握,输入速度高,并带有强大智能功能,不用人工分词,免除了在输入过程中要经常打空格的弊端。
文档编号G06F3/023GK1453692SQ0211514
公开日2003年11月5日 申请日期2002年4月23日 优先权日2002年4月23日
发明者刘恒林 申请人:刘恒林
网友询问留言 已有1条留言
  • 访客 来自[中国] 2021年09月09日 18:01
    厉害了,这个专利
    0
1