发明内容
本发明的目的是提供一种计算机汉字输入方法,该方法在获取到的拼音串不是简拼字符串或者全拼字符串时,能够实现候选词的输出,方便用户使用,增强用户体验。
本发明的目的还提供一种计算机汉字输入系统,该系统在获取到的拼音串不是简拼字符串和全拼字符串时,能够实现候选词的输出,方便用户使用。
为解决上述技术问题,本发明实施例提供一种计算机汉字输入方法,包括以下步骤:
按音节划分接收到的拼音串;
提取每个音节的首字母组成简拼字符串;
在预先建立的简拼字符串到全拼字符串映射表中查找出所述简拼字符串对应的所有全拼字符串;
根据所述全拼字符串输出对应的候选词。
优选地,在预先建立的简拼字符串到全拼字符串映射表中查找出所述简拼字符串对应的所有全拼字符串后包括步骤:
确定上述所有全拼字符串与该接收的拼音串相匹配的各全拼字符串;
根据上述各全拼字符串输出对应的候选词。
优选地,所述所有候选词是按照词频由大到小的顺序排列。
优选地,所述词频是预先用文本统计所述候选词的出现频率。
优选地,所述简拼字符串到全拼字符串映射表具体为简拼字符串与通过所述简拼字符串扩展的全部全拼字符串之间的关系对照表。
优选地,所述按音节划分接收的拼音串具体为按动态规划算法划分该接收到的拼音串的音节。
优选地,所述确定上述所有全拼字符串与该接收的拼音串相匹配的各全拼字符串,具体为:
将查找到的所述简拼字符串对应的所有全拼字符串逐个与该接收到的拼音串相比较,确定与该接收的拼音串相匹配的各全拼字符串。
本发明实施例提供一种计算机汉字输入系统,该系统包括:
存储单元,用于存储简拼字符串到全拼字符串映射表和全拼字符串到候选词映射表;
接收单元,用于接收用户输入的拼音串;
音节划分单元,用于按音节划分所述接收单元接收的拼音串;
简拼提取单元,用于提取所述音节划分单元划分后的拼音串中的每个音节的首字母,组成简拼字符串;
第一查找单元,用于根据所述存储单元中存储的简拼字符串到全拼字符串映射表,查找出与所述简拼提取单元生成的简拼字符串对应的所有全拼字符串;
第二查找单元,用于根据所述存储单元中存储的全拼字符串到候选词映射表,查找出所述第一查找单元确定的所有全拼字符串对应的所有候选词;
输出单元,用于输出所述第二查找单元确定的所有候选词。
优选地,所述系统进一步包括比较单元;
所述比较单元,用于比较所述接收单元接收的拼音串与所述第一查找单元查找出的所有全拼字符串,确定相匹配的各全拼字符串;
所述第二查找单元,用于根据所述存储单元中存储的全拼字符串到候选词映射表,查找出所述比较单元确定的各全拼字符串对应的所有候选词;
所述输出单元,用于输出所述第二查找单元确定的各全拼字符串对应的所有候选词。
优选地,该系统还包括:
词频单元,用于记录候选词的词频;
所述输出单元将所述第二查找单元确定的所有候选词按照所述词频单元记录的候选词词频顺序进行输出。
优选地,所述音节划分单元是按动态规划算法进行音节划分。
由于本发明实施例所述方法,预先建立了简拼字符串到全拼字符串映射表。当接收到拼音串后,对该拼音串按音节划分,并提取每个音节的首字母组成简拼字符串。然后对照简拼字符串到全拼字符串的映射表查找到所有该简拼字符串对应的所有全拼字符串。最后输出所有全拼字符串对应的候选词。因此,该方法在获取到拼音串不是简拼字符串或者全拼字符串时,能够实现候选词的输出,方便用户使用。
由于本发明实施例所述系统,存储单元中存储了预先建立了简拼字符串到全拼字符串的映射表和全拼字符串到候选词的映射表。当接收单元接收到的拼音串后,音节划分单元对该拼音串按音节进行划分。简拼提取单元提取每个音节的首字母组成简拼字符串。第一查找单元对照存储单元中存储的简拼字符串到全拼字符串的映射表查找到所有该简拼字符串对应的全部全拼字符串。第二查找单元对照全拼字符串到候选词的映射表,查找到所述第一查找单元确定的全部全拼字符串对应的候选词。所述输出单元输出所述第二查找单元确定的候选词。因此,该系统在接收单元接收到的拼音串不是简拼字符串或者全拼字符串时,仍能够实现候选词的输出,增强了用户体验。
具体实施方式
本发明提供一种计算机汉字输入方法,用于实现灵活的输入。当接收到的拼音串不是简拼字符串或者全拼字符串时,仍能够实现候选词的输出。
为了使本技术领域的技术人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
参见图1,该图为本发明所述方法一种实施方式流程图。
S10、按音节划分接收到的拼音串。
此时接收到的拼音串可能是全拼字符串或者简拼字符串或者是不完整的全拼字符串。
将接收到的拼音串按照音节进行划分。对于完整的音节按照一个音节处理。对于不完整的音节,则要判断是否为音节开始的一部分,若是则按一个音节处理。
S20、提取每个音节的首字母组成简拼字符串。
由于已经对接收的字符串进行了音节划分,可以很方便的提取每个音节的首字母,这样就组成了简拼字符串。
S30、在预先建立的简拼字符串到全拼字符串映射表中查找出所述简拼字符串对应的所有全拼字符串。
对照预先建立的简拼字符串到全拼字符串映射表,可以得到与该简拼字符串对应的所有全拼字符串。
S40、根据所述全拼字符串输出对应的候选词。
对照预先建立的全拼字符串与候选词映射表,输出所有全拼字符串对应的候选词。
由于本发明第一种实施方式所述方法,预先建立了简拼字符串到全拼字符串映射表。当接收到拼音串后,对该拼音串按音节进行划分,并提取每个音节的首字母组成简拼字符串。然后对照简拼字符串到全拼字符串映射表查找到所有该简拼字符串对应的全部全拼字符串。最后输出所有全拼字符串对应的候选词。因此,该方法在获取到的拼音串不是简拼字符串和全拼字符串时,仍能够实现候选词的输出,方便用户使用。
下面结合图2具体说明本发明建立简拼字符串与全拼字符串映射表的过程。参见图2,该图为本发明建立简拼字符串与全拼字符串映射表的流程图。
S101、预先建立一个声母到音节的映射表。
声母到音节的映射表具体如下:
b对应ba bai bao be ben beng bu......
c对应ca cai can cang ce cen ceng......
zh对应zha zhai zhe zhen zheng......
S102、通过该声母到音节映射表,将各简拼字符串对应的每个字母进行扩展,形成多个全拼串。
例如简拼字符串“zg”,对于“z”和“g”分别进行扩展,可以分别得出全拼字符串集合{za zan ze zen zeng......zhe zhen zheng zhizhong zhou zhu zhua zhuan......}和{ga gai gao gan gang ge gen......},这两个集合相乘得出很多种组合方案,即形成了多个全拼字符串集合。
{zaga zagai zagao......zanga zangai zangao......}
S103、将上述全部全拼字符串与候选词全拼字符串相对应,确定能够组成候选词的全拼字符串。
例如:全拼字符串集合{zaga zagai zagao......zanga zangaizangao......}与候选词全拼字符串相对应后,得到下列全拼字符串。
“zao’gao”、“zao’gui”、“zao’guo”、“zha’gang”、“zhan’gui”、“zhan’guo”、“zhao’gu”、“zhe’ge”、“zhen’gui”、“zheng’ge”、“zhong’gan”、“zhong’gu”、“zhong’guo”、“zhong’gong”、“zhou’gong”、“zhou’guang”、“zhou’gun”、“zhu’ge”、“zhu’gan”、“zhu′guan”、“zu’ge”、“zu’guo”、“zun’gui”。
S104、将每个简拼字符串与步骤S103确定的全拼字符串建立映射表。
通过上述方法,就可以建立每个简拼字符串与全拼字符串映射表。当步骤S20提取每个音节的首字母组成简拼字符串后,步骤S30就可以根据该简拼字符串与全拼字符串映射表,查找出所述简拼字符串对应的所有全拼字符串。
下面结合具体实施例对本发明所述方法第一种实施方式进行详细描述。参见图3和图4,图3本发明所述简拼字符串到全拼字符串映射表示意图;图4为本发明所述全拼字符串到候选词映射表示意图。
首先,接收到的拼音串为“zhog”,按音节划分后为“zho’g”和“zh’o’g”。
然后,提取上述音节划分后的拼音串“zho’g” 和“zh’o’g”中的每个音节的首字母,组成具体的简拼字符串“zg” 和“zog”。
根据图3所示的简拼字符串到全拼字符串映射表,则简拼字符串“zg”对应的全拼字符串有“zao’gao”、“zao’gui”、“zao’guo”、“zha’gang”、“zhan’gui”、“zhan’guo”、“zhao’gu”、“zhe’ge”、“zhen’gui”、“zheng’ge”、“zhong’gan”、“zhong’gu”、“zhong’guo”、“zhong’gong”、“zhou’gong”、“zhou’guang”、“zhou’gun”、“zhu’ge”、“zhu’gan”、“zhu′guan”、“zu’ge”、“zu’guo”、“zun’gui”。
“zog”没有对应的全拼字符串。
根据上述所有全拼字符串输出对应的候选词。
本发明优选实施方式,在确定简拼字符串对应的全拼字符串后,还需要将所述全拼字符串与接收到的拼音串比较。具体过程参见图5和下文的本发明第二种具体实施方式部分的描述。
以上面的例子进行说明,在确定简拼字符串对应的全拼字符串后,将上述“zg”对应的全拼字符串与接收到的拼音串“zhog”比较,确定匹配的全拼字符串。
具体过程为:将上述“zg”对应的全拼字符串逐个与“zhog”比较,确定与“zhog”匹配的全拼字符串。具体有“zhong’gan”、“zhong’gong”、“zhong’gu”、“zhong’guo”、“zhou’gong”、“zhou’guang”、“zhou’gun”。
根据图4所示的全拼字符串到候选词映射表,得出上述全拼字符串“zhong’gan”、“zhong’gong”、“zhong’gu”、“zhong’guo”、“zhou’gong”、“zhou’guang”、“zhou’gun”分别对应的候选词。
“zhong′gan”对应“中干”;“zhong’gong”对应“中共”;“zhong’gu”对应“中古、中骨、钟鼓、终古”;“zhong’guo”对应“中国、种过”;“zhou’gong”对应“周公、轴功”;“zhou’guang”对应“昼光”;“zhou’gun”对应“纣棍”。
则输出的候选词为“中干、中共、中古、中骨、钟鼓、终古、中国、种过、周公、轴功、昼光、纣棍”。
参见图5,该图为本发明所述方法第二种实施方式流程图。
本发明所述方法第二种实施方式相对于第一种实施方式,在步骤S30和S40之间增加了步骤S35。
S35、确定步骤S30中所有全拼字符串与步骤S10中接收的拼音串相匹配的各全拼字符串。
将步骤S30确定的全部全拼字符串逐个与步骤S10接收的拼音串进行比较,确定与该接收的拼音串匹配的各全拼字符串。
S40、根据上述各全拼字符串输出对应的候选词。
对照预先建立的全拼字符串与候选词映射表,输出所有符合接收到的拼音串的各全拼字符串对应的候选词。
由于本发明第二种实施方式所述方法能够确定符合接收到的拼音串的所有全拼字符串。最后输出符合接收到的拼音串的所有全拼字符串对应的候选词。因此,本发明第二种实施方式所述方法在获取到的拼音串不是简拼字符串和全拼字符串时,能够实现候选词的有效输出,方便用户使用。
参见图6,该图为本发明所述方法第三种实施方式流程图。
本发明所述方法第三种实施方式相对于第二种实施方式,所述步骤S40根据上述各全拼字符串输出对应的候选词具体为:
S41、在预先建立的全拼字符串到选词典映射表中查找出步骤S35确定的各全拼字符串对应的所有候选词。
S42、输出上述所有候选词。
关于全拼字符串到候选词映射表的建立过程可以参见上述步骤S103,具体建立过程在此不再赘述。
参见图7,该图为本发明所述方法第四种实施方式流程图。
本发明所述方法第四种实施方式,相对于第三种实施方式,所述步骤S35确定上述所有全拼字符串与该接收的拼音串相匹配的各全拼字符串包括:
S351、逐个比较所述所有全拼字符串与该接收到的拼音串。
S352、记录与该接收的拼音串相匹配的全拼字符串。
将上述所有全拼字符串通过逐个判断,比较是否与该接收的拼音串相匹配。这样就可以防止漏掉与该接收的拼音串相匹配的全拼字符串。从而防止漏掉用户需要的候选词对应的全拼字符串。
本发明优选实施方式,所述步骤S40输出的候选词是可以按照词频由大到小的顺序排列的。词频是预先通过文本统计所述各个候选词的出现频率进行确定的。
当本发明所述方法实施例按照词频由大到小的顺序输出候选词时,这样用户需要的词出现在所有候选词的前面的概率就比较大。相对减小了用户在查找候选词时的翻页次数,更加有利于用户的使用,进一步增强了用户体验。
本发明优选实施方式,所述按音节划分接收的拼音串具体为按动态规划算法划分该接收到的拼音串的音节。
下面简单介绍一下动态规划算法:
设M矩阵的元素Mij记录i到j之间的分割代价。
考察当拼音字符串C1C2......Cn的子串Ci......Cj,用以下分段函数来表示该子串作为一个整体音节的分割代价值V(i,j)。
这里的0、1和2,不仅是一个用于区分的编号,还是根据动态规划求最小分割代价的需要。这种设定的大小数值的区别,能够从下面的递归公式中得到验证。
动态规划算法能够有效地避免重复运算,关键在于设有矩阵M,保存有子问题的分析结果,能够在处理其他更大的子问题时直接访问,要求分割效果最好,可得出递归公式:
下面还以拼音串“zhog”为例,说明采用动态规划算法进行音节划分的过程。
“z”、“h”、“g”都可以作为一个音节的开始部分,“o”可以作为一个整体音节。
“z”的分割代价值V(i,j)=1;
“h”的分割代价值V(i,j)=1;
“g”的分割代价值V(i,j)=1;
“o”的分割代价值V(i,j)=0
此时,Mij=““z”的分割代价值”+““h”的分割代价值”+““g”的分割代价值”+““o”的分割代价值”=3。
如果把“zhog”划分为“zh”、“o”和“g”,那么拼音串“zhog”的分割代价值V(i,j)=1+0+1=2。
如果把“zhog”划分为“zho”和“g”,那么拼音串“zhog”的分割代价值V(i,j)=1+1=2。
所以整个拼音串“zhog”的最小分割代价的分割方式有两种:分割“zh”、“o”和“g”以及分割为“zho”和“g”。
当然,本发明实施例所述按音节划分还可以同时采用动态规划算法和音节数量最少原则进行划分。即保留采用动态规划算法进行音节划分后的拼音串,也保留采用音节数量最少原则进行音节划分后的拼音串。
本发明还提供一种计算机汉字输入系统,用于实现灵活的输入。当接收到的拼音串,既不是简拼字符串又不是全拼字符串时,仍能够实现候选词的输出。
参见图8,该图为本发明所述系统第一种实施方式结构图。
本发明所述系统第一种实施方式的计算机汉字输入系统,包括存储单元1、接收单元2、音节划分单元3、简拼提取单元4、第一查找单元5、第二查找单元7、输出单元8。
存储单元1,用于存储简拼字符串到全拼字符串映射表和全拼字符串到候选词映射表。
简拼字符串到全拼字符串映射表和全拼字符串到候选词映射表的建立过程在前文中均已描述,在此不再赘述。
接收单元2,用于接收用户输入的拼音串。
音节划分单元3,用于按音节划分所述接收单元2接收的拼音串。
简拼提取单元4,用于提取所述音节划分单元3划分后的拼音串中的每个音节的首字母组成简拼字符串。
第一查找单元5,用于根据所述存储单元1中存储的简拼字符串到全拼字符串映射表,查找出与所述简拼提取单元4生成的简拼字符串对应的所有全拼字符串。
第二查找单元7,用于根据所述存储单元1中存储的全拼字符串到候选词映射表,查找出所述第一查找单元5确定的各全拼字符串对应的所有候选词。
输出单元8,用于输出所述第二查找单元7确定的所有候选词。
由于本发明实施例所述系统,存储单元1中存储预先建立了简拼字符串到全拼字符串映射表和全拼字符串到候选词映射表。当接收单元2接收到的拼音串后,音节划分单元3对该拼音串按音节进行划分。简拼提取单元4提取每个音节的首字母组成简拼字符串。第一查找单元5对照存储单元1中存储的简拼字符串到全拼字符串映射表,查找到该简拼字符串对应的所有全拼字符串。第二查找单元7对照存储单元1中存储的全拼字符串到候选词映射表。输出单元8输出第二查找单元7确定的候选词。因此,该系统在接收单元2接收到的拼音串不是简拼字符串或者全拼字符串时,仍能够实现候选词的输出,方便用户使用。
参见图9,该图为本发明所述系统第二种实施方式结构图。
本发明所述系统第二种实施方式的计算机汉字输入系统,相对第一种实施方式,增加了比较单元6。
比较单元6,用于比较所述接收单元2接收的拼音串与所述第一查找单元5查找出的所有全拼字符串比较,确定相匹配的各全拼字符串。
第二查找单元7,用于根据所述存储单元1中存储的全拼字符串到候选词映射表,查找出所述比较单元6确定的各全拼字符串对应的所有候选词。
输出单元8,用于输出所述第二查找单元7确定的所有候选词。
由于本发明实施例所述系统,存储单元1中存储预先建立了简拼字符串到全拼字符串映射表和全拼字符串到候选词映射表。当接收单元2接收到的拼音串后,音节划分单元3对该拼音串按音节进行划分。简拼提取单元4提取每个音节的首字母组成简拼字符串。第一查找单元5对照存储单元1中存储的简拼字符串到全拼字符串映射表,查找到该简拼字符串对应的所有全拼字符串。比较单元6比较所述接收单元2接收的拼音串与所述第一查找单元5查找出的所有全拼字符串,确定符合接收到的拼音串的全部全拼字符串。第二查找单元7对照存储单元1中存储的全拼字符串到候选词映射表。输出单元8输出第二查找单元7确定的候选词。因此,该系统在接收单元2接收到的拼音串不是简拼字符串或者全拼字符串时,仍能够实现候选词的输出,方便用户使用。
参见图10,该图为本发明所述系统第三种实施方式结构图。
本发明所述系统第三种实施方式相对第二种实施方式增加了词频单元9。
词频单元9,用于记录每个候选词的词频。所述输出单元8将所述第二查找单元7确定的所有候选词按照所述词频单元9记录的候选词词频顺序进行输出。
当本发明所述方法实施例按照词频单元9记录候选词的词频,当由大到小的顺序输出候选词时,用户需要的词出现在所有候选词前面的概率就比较大,相对减小了用户查找候选词的翻页次数,更加有利于用户的使用,增强了用户体验。
当然还可以在存储单元1存储每个候选词的词频,而不需要增加词频单元9。输出单元8同样可以将所述第二查找单元7确定的所有候选词按照存储单元1存储的词频由大到小的顺序输出。
本发明所述系统优选实施方式,所述音节划分单元是按动态规划算法进行音节划分。当然,本发明实施例所述按音节划分还可以同时采用动态规划算法和音节数量最少原则进行划分。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。