【发明内容】
基于此,有必要提供一种既能设置模糊音又不会影响输入效率的中文拼音输入方法。
一种中文拼音输入方法,包括以下步骤:
获取用来建立原音和变音之间的映射关系的映射表;
接收用户输入的拼音串;
判断所述拼音串中是否包含所述映射表中的变音以及判断所述拼音串中是否包含所述映射表中的原音;
若所述拼音串中包含所述映射表中的变音,则将所述拼音串中与所述变音相同的字符串标识为所述变音及与所述变音对应的原音;
若所述拼音串中包含所述映射表中的原音,则在所述拼音串中与所述原音相同的字符串中加入分隔符;
根据变化后的拼音串输出候选词列表。
优选的,在获取映射表之前还包括在映射表中按地区分别建立不同地区对应的原音与变音之间的映射关系的步骤。
优选的,所述方法还包括步骤:
获取用户位置信息;
根据用户位置信息查找映射表中相应的地区;
获取映射表中该地区所对应的原音和变音之间的映射关系;
所述判断拼音串是否包含所述映射表中的变音是判断所述拼音串中是否包含该地区对应的变音;
所述判断拼音串中是否包含所述映射表中的原音是判断所述拼音串中是否包含该地区所对应的原音。
优选的,所述方法还包括当未获取到用户位置信息时则判断所述拼音串中是否包含默认的地区所对应的变音,以及判断所述拼音串中是否包含默认的地区所对应的原音的步骤。
优选的,所述方法还包括接收用户对映射表的设置操作并按照用户标识号存储设置后的映射表的步骤;获取映射表的步骤为获取用户标识号并根据用户标识号获取对应的映射表。
此外,还有必要提供一种既能设置模糊音又不会影响输入效率的中文拼音输入系统。
一种中文拼音输入系统,包括:
映射表获取模块,获取用来建立原音和变音之间的映射关系的映射表;
拼音串接收模块,用于接收用户输入的拼音串;
判断模块,用于判断所述拼音串是否包含所述映射表中的变音,及判断所述拼音串是否包含所述映射表中的原音;
拼音串处理模块,用于当拼音串中包含映射表中的变音时,将所述拼音串中与所述变音相同的字符串标识为所述变音及与所述变音对应的原音,以及当拼音串中包含映射表中的原音时,在所述拼音串中与所述原音相同的字符串加入分隔符;
候选词输出模块,根据变化后的拼音串输出候选词列表。
优选的,还包括在映射表中按地区分别建立不同地区对应的原音与变音之间的映射关系的映射表生成模块。
优选的,还包括:
位置信息获取模块,用于获取用户位置信息;
查找模块,根据用户位置信息查找到映射表中的相应的地区,获取映射表中该地区所对应的原音和变音之间的映射关系;
所述判断模块用于判断所述拼音串中是否包含该地区所对应的变音,以及判断所述拼音串中是否包含该地区所对应的原音。
优选的,所述判断模块还用于当所述位置信息获取模块未获取到用户位置信息时,则判断所述拼音串中是否包含默认的地区所对应的变音,以及判断所述拼音串中是否包含默认的地区所对应的原音。
优选的,还包括接收用户对映射表的设置操作并按照用户标识号存储设置后的映射表的映射表存储模块;所述映射表获取模块用于获取用户标识号并根据用户标识号获取对应的映射表。
上述中文拼音输入方法和中文拼音输入系统,通过映射表建立原音和变音之间的映射关系,原音可以是标准读音中的韵母或声母,变音可以是符合用户读音习惯所设置的韵母或声母,若用户输入的拼音串中含有映射表中的变音,则作为模糊音处理,即将拼音串中与该变音相同的字符串标识为变音及与该变音对应的原音,若用户输入的拼音串中含有映射表中的原音,则在拼音串中与该原音相同的字符串中加入分隔符。由于变音符合用户读音习惯所设置的韵母或声母,则默认为用户不会再拼写原音,直接对原音进行断字。相对于传统的中文拼音输入方法,在模糊音存在的情况下,明确断字后所提供的读音则减少,相应提供给用户选择的候选词在满足用户需求的情况下也减少,减少了用户选择候选词的困难,能设置模糊音又不会影响输入效率。
【具体实施方式】
图1示出了一个实施例中的中文拼音输入方法流程,该方法流程包括:
在步骤S102中,获取用来建立原音和变音之间的映射关系的映射表。在输入法中维护一个映射表,该映射表中记录了原音和变音之间的映射关系,其中原音通常为标准读音的声母或韵母,变音是符合用户读音习惯的声母或韵母,在输入法的设置界面中,用户可以对自身的读音习惯进行设置。如表1所示,为一个实施例中的映射表。
表1
原音 |
变音 |
是否设置 |
zh |
z |
是 |
ch |
c |
是 |
sh |
s |
是 |
ang |
an |
否 |
eng |
en |
是 |
ing |
in |
是 |
... |
... |
... |
如表1所示,在每个原音与变音的映射关系中,还增加了一个字段,确定是否设置该映射关系,该字段可以是一个二进制变量,表示用户是否启用对应的映射关系。用户可以通过输入法的界面设置对上述映射表进行增加、删除或修改,输入法则接收用户对映射表的设置操作并按照用户标识号存储该映射表。该映射表可以存储在本地输入法设置中,也可以上传至服务器进行存储。在用户通过标识号登录输入法后,则根据用户标识号从本地或从服务器获取到对应的映射表。
在另一个实施例中,还可以在映射表中增加地区字段,在映射表中按地区分别建立不同地区所对应的原音和变音之间的映射关系。由于不同地区的用户发音习惯会不同,特别是使用地区的方言的用户,其发音往往不标准,通过该映射表可以记录出不同地区的用户读音习惯。表2示出了该实施例中的映射表。
表2
在步骤S104中,接收用户输入的拼音串。
在步骤S106中,判断用户输入的拼音串中是否包含映射表中的变音,若是,则进入步骤S108,否则进入步骤S110。在一个实施例中,用户通过标识号登录输入法,则根据用户标识号获取对应的映射表,在该映射表中获取用户设置启用的映射关系,并判断用户输入的拼音串中是否包含了启用的映射关系中的变音。
在另一个实施例中,用户登录输入法,输入法获取用户位置信息,例如通过获取用户的IP地址、GPS定位信息或用户通过输入法提供的地区信息等获取到用户位置信息,根据用户位置信息从映射表中查找到相应的地区,根据该地区则可获取映射表中该地区对应的原音和变音的映射关系。在接收到用户输入的拼音串后,则判断用户输入的拼音串是否包含该地区对应的变音。该实施例中,若未获取到用户位置信息,则获取默认的地区(事先可设置默认的地区)所对应的原音和变音的映射关系,判断用户输入的拼音串是否包含该默认的地区对应的变音。此外,还可以将默认的地区显示给用户,待用户确认正确后,再获取默认的地区所对应的原音和变音的映射关系,并判断用户输入的拼音串是否包含该默认的地区对应的变音。若默认的地区不正确,用户还可通过输入法设置更改默认的地区。
在步骤S108中,将用户输入的拼音串中与变音相同的字符串标识为变音及该变音对应的原音。当用户输入的拼音串中含有变音,则将拼音串中与变音相同的字符串作为模糊音处理,例如用户输入“han”,在映射表中查找到用户设置了原音“ang”和变音“an”的映射关系,则将用户输入的“an”识别为“ang”和“an”,返回对应“hang”和“han”的所有候选词。
步骤S110中,判断用户输入的拼音串中是否包含映射表中的原音,若是,则进入步骤S112,否则进入步骤S114。在一个实施例中,用户通过标识号登录输入法,则根据用户标识号获取对应的映射表,在该映射表中获取用户设置启用的映射关系,并判断用户输入的拼音串中是否包含了启用的映射关系中的原音。
在另一个实施例中,获取用户位置信息,例如通过获取用户的IP地址、GPS定位信息或用户通过输入法提供的地区等获取到用户位置信息,根据用户位置信息从映射表中查找相应的地区,并获取映射表中该地区对应的原音和变音的映射关系,判断用户输入的拼音串是否包含该地区对应的原音。该实施例中,若未获取到用户位置信息,则获取默认的地区(事先可设置默认的地区)所对应的原音和变音的映射关系,判断用户输入的拼音串是否包含该默认的地区对应的原音。此外,还可以将默认的地区显示给用户,待用户确认正确后,再获取默认的地区所对应的原音和变音的映射关系,并判断用户输入的拼音串是否包含该默认的地区对应的原音。若默认的地区不正确,用户还可通过输入法设置更改默认的地区。
步骤S112,在拼音串中与原音相同的字符串中加入分隔符。当用户输入的拼音串中含有原音时,由于用户设置启用的或者根据用户位置信息确定的原音不符合用户的发音习惯,因此认为用户不会拼写该原音,例如原音“ang”和变音“an”,用户习惯将“ang”发音为“an”,则用户不可能再输入韵母“ang”。当用户输入的拼音串中含有“ang”,则将其进行断字处理,即将“ang”标识为“an’g”,使得该韵母的末尾字母作为声母与其后面的字符串组合成拼音。
步骤S114中,输出候选词列表。若用户输入的拼音串中不包含映射表中的原音或变音,则直接输出用户输入的拼音串所对应的所有候选词。若对用户输入的拼音串进行了处理,则按照变化后的拼音串返回相应的候选词。例如,用户输入拼音串“hangan”,映射表中记录有原音“ang”和变音“an”的映射关系,并为用户启用的设置或符合用户位置信息,则将“hangan”中的变音“an”标识为“ang”和“an”,在“hangan”中的原音“ang”中加入分隔符,最后需要判断“han’gan”、“hang’gan”、“han’gang”、“hang’ang”这些读音,并返回这些读音在词库中对应的所有候选词。
应当说明的是,上述步骤S106和步骤S110的执行顺序可以调整,可以先执行步骤S110后再执行步骤S1106,即先判断拼音串是否包含映射表中的原音,若是,则进入步骤S112,然后再判断拼音串中是否包含映射表中的变音,若是,则进入步骤S108。相对于传统的中文拼音输入方法,上述方法在模糊音存在的情况下,明确断字后所提供的读音则减少,相应提供给用户选择的候选词在满足用户需求的情况下也减少,减少了用户选择候选词的困难,能设置模糊音又不会影响输入效率。
图2示出了一个实施例中的中文拼音输入系统,该系统包括映射表获取模块102、拼音串接收模块104、判断模块106、拼音串处理模块108和候选词输出模块110,其中:
映射表获取模块102,用于获取用来建立原音和变音之间的映射关系的映射表。在输入法中维护一个映射表,该映射表中记录了原音和变音之间的映射关系,其中原音通常为标准读音的声母或韵母,变音是符合用户读音习惯的声母或韵母。
拼音串接收模块104,用于接收用户输入的拼音串。
判断模块106,用于判断用户输入的拼音串是否包含映射表中的变音,及判断用户输入的拼音串是否包含映射表中的原音。判断模块106可以先判断用户输入的拼音串是否包含映射表中的变音,然后再判断拼音串是否包含映射表中的原音,也可以先判断拼音串是否包含映射表中的原音,然后再判断拼音串是否包含映射表中的变音。
拼音处理模块108,用于当用户输入的拼音串中包含映射表中的变音时,将拼音串中与变音相同的字符串标识为变音及与变音对应的原音,以及当用户输入的拼音串中包含映射表中的原音时,在拼音串中与原音相同的字符串加入分隔符。
在一个实施例中,当用户输入的拼音串中含有变音,则将拼音串中与变音相同的字符串作为模糊音处理,例如用户输入“han”,在映射表中查找到用户设置了原音“ang”和变音“an”的映射关系,则将用户输入的“an”识别为“ang”和“an”,返回对应“hang”和“han”的所有候选词。
在另一个实施例中,当用户输入的拼音串中含有原音时,由于用户设置启用的或者根据用户位置信息确定的原音不符合用户的发音习惯,因此认为用户不会拼写该原音,例如原音“ang”和变音“an”,用户习惯将“ang”发音为“an”,则用户不会再输入韵母“ang”。当用户输入的拼音串中含有“ang”,则将其进行断字处理,即将“ang”标识为“an’g”,使得该韵母的末尾字母作为声母与其后面的字符串组合成拼音。
候选词输出模块110,用于根据变化后的拼音串输出候选词列表。若用户输入的拼音串中不包含映射表中的原音或变音,则直接输出用户输入的拼音串所对应的所有候选词。若对用户输入的拼音串进行了处理,则按照变化后的拼音串返回相应的候选词。例如,用户输入拼音串“hangan”,映射表中记录有原音“ang”和变音“an”的映射关系,并为用户启用的设置或符合用户位置信息,则将“hangan”中的变音“an”标识为“ang”和“an”,在“hangan”中的原音“ang”中加入分隔符,最后需要判断“han’gan”、“hang’gan”、“han’gang”、“hang’ang”这些读音,并返回这些读音在词库中对应的所有候选词。
图3示出了另一个实施例中的中文拼音输入系统,该系统除了包括上述映射表获取模块102、拼音串接收模块104、判断模块106、拼音串处理模块108和候选词输出模块110外,还包括映射表生成模块112、映射表存储模块114、位置信息获取模块116和查找模块118,其中:
映射表生成模块112,用于在映射表中按地区分别建立不同地区对应的原音与变音之间的映射关系。如表2所示,在映射表中增加地区字段,按地区分别建立不同地区所对应的原音和变音之间的映射关系。由于不同地区的用户发音习惯会不同,特别是不同地区使用方言的用户,其发音往往不标准,通过该映射表可以记录出不同地区的用户读音习惯。
映射表存储模块114,用于接收用户对映射表的设置操作并按照用户标识号存储设置后的映射表。如表1所示,在输入法的设置界面中,用户可以对自身的读音习惯进行设置,表示用户是否启用对应的映射关系。用户可以通过输入法的界面设置对上述映射表进行增加、删除或修改,输入法则接收用户对映射表的设置操作并按照用户标识号存储该映射表。映射表存储模块114可以位于本地输入法设置中,也可以位于服务器端。在用户通过标识号登录输入法后,则根据用户标识号从映射表存储模块114中获取到对应的映射表。
位置信息获取模块116,用于获取用户位置信息。例如通过获取用户的IP地址、GPS定位信息或用户通过输入法提供的地区等获取到用户位置信息
查找模块118,用于根据用户位置信息查找到映射表中的相应的地区,获取映射表中该地区所对应的原音和变音之间的映射关系。在一个实施例中,当位置信息获取模块116获取到用户位置信息时,所述判断模块106用于判断所述拼音串中是否包含该地区所对应的变音,以及判断所述拼音串中是否包含该地区所对应的原音。
在另一个实施例中,当位置信息获取模块116未获取到用户位置信息时,判断模块106用于判断所述拼音串中是否包含默认的地区所对应的变音,以及判断所述拼音串中是否包含默认的地区(事先可设置默认的地区)所对应的原音。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。