发明内容
为了解决现有技术中的字词库只能针对普遍情况而无法针对不同用户的使用习惯,本发明实施例提出了一种拼音输入法及拼音输入法的用户词添加方法和***。所述技术方案如下:
本发明实施例提出了一种拼音输入法的用户词添加方法,包括:
获取用户通过拼音输入法输入时输入错误的字符串;
获取用户输入正确的字符串时选择的字词;
将所述输入错误的字符串与所述字词对应存储在词库中。
作为上述技术方案的优选,所述获取用户通过拼音输入法输入时输入错误的字符串包括:
读取预置的日志,获取日志中用户输入的所有字符串;
获取日志中用户选择的两个字词之间输入的所有字符串,并获取其中的所有删除操作;并以该删除操作作为分隔,获取其中的每一段字符串。
作为上述技术方案的优选,所述方法还包括:
判断所述每一字符串在所述词库中是否有相同的记录,如果是则忽略该字符串。
作为上述技术方案的优选,所述方法还包括:
判断所述词库中的字符串的使用次数,当使用次数低于预设阈值时,将所述字符串删除。
本发明实施例还提出了一种拼音输入法的用户词添加***,包括:
获取模块,用于获取用户通过拼音输入法输入时输入错误的字符串;
记录模块,用于获取用户输入正确的字符串时选择的字词;
词库更新模块,用于将所述输入错误的字符串与所述字词对应存储。
作为上述技术方案的优选,所述获取模块包括:
日志单元,用于读取预设的日志,获取日志中用户输入的所有字符串;
拆分单元,用于获取日志中用户选择的两个字词之间输入的所有字符串,以获取其中的所有删除操作;并以该删除操作作为分隔,获取其中的每一段字符串。
作为上述技术方案的优选,所述获取模块还包括:
匹配单元,用于判断所述每一字符串在所述词库中是否有相同的记录,如果是则忽略该字符串。
作为上述技术方案的优选,所述***还包括:
删除模块,用于获取所述词库中添加的字符串及对应的字词使用的次数;当所述次数低于预设阈值时,将所述字符串删除。
本发明实施例还提出了一种拼音输入法,包括:输入模块、显示模块、词库;还包括:
获取模块,用于获取用户通过拼音输入法输入时输入错误的字符串;
记录模块,用于获取用户输入正确的字符串时选择的字词;
词库更新模块,用于将所述输入错误的字符串与所述字词对应存储。
作为上述技术方案的优选,所述获取模块包括:
日志单元,用于读取预设的日志,获取日志中用户输入的所有字符串;
拆分单元,用于获取日志中用户选择的两个字词之间输入的所有字符串,以获取其中的所有删除操作;并以该删除操作作为分隔,获取其中的每一段字符串。
作为上述技术方案的优选,所述获取模块还包括:
匹配单元,用于判断所述每一字符串在所述词库中是否有相同的记录,如果是则忽略该字符串。
作为上述技术方案的优选,所述拼音输入法还包括:
删除模块,用于获取所述词库中添加的字符串及对应的字词使用的次数;当所述次数低于预设阈值时,将所述字符串删除。
本发明实施例提供的技术方案的有益效果是:本发明实施例通过将用户输入错误的字符串存储起来,并将其与用户输入正确的字词对应存储在词库中。这样可以使拼音输入法无需预先设置多个模糊词以及易错词,以降低拼音输入法的词库所占用的空间,提高输入时检索的效率。同时,又可以针对不同用户的使用习惯生成个人的词库,以更贴近用户的个性使用习惯。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例的设计思路是:用户在输入时,如果输入的字符串错误导致显示的候选字词中没有所需的字词,会将输入的字符串删除,并重新输入其他字符串,并选择所需的字词。 例如:蔡智恒的《槲寄生》中的“槲”字(hu)很多人一开始都错拼成“jie”。用户一般会做如下的删除重写行为:输入jie->候选字中找不到“槲”->删除jie->输入hu->选择目标字“槲”。本发明实施例中就是利用了这一过程来更新用户的词库,即:记录用户删除的字符串,并将该删除的字符串与正确的目标词对应起来并存储到词库中。这样生成的词库更为接近用户的使用习惯,
以下通过实施例对本发明进行进一步的说明。
实施例1
本发明第一实施例提出了一种拼音输入法的用户词添加方法,其流程如图1所示,包括:
步骤101、获取用户通过拼音输入法输入时输入错误的字符串;
步骤102、获取用户输入正确的字符串时选择的字词;
步骤103、将所述输入错误的字符串与所述字词对应存储在词库中。
本发明实施例通过将用户输入错误的字符串存储起来,并将其与用户输入正确的字词对应存储在词库中。这样可以使拼音输入法无需预先设置多个模糊词以及易错词,以降低拼音输入法的词库所占用的空间,提高输入时检索的效率。同时,又可以针对不同用户的使用习惯生成个人的词库,以更贴近用户的个性使用习惯。
实施例2
本发明第二实施例提出了一种拼音输入法的用户词添加方法,是在第一实施例基础上改进而来,其流程如图2所示,包括:
步骤201、获取用户通过拼音输入法输入时输入错误的字符串。其中,输入错误的字符串可以通过以下方式获得:
获取用户通过拼音输入法输入时的字符串,以及选择的字词。这样可以获得两个用户选择的字词之间的所有字符串。如果该字符串中包含用户的删除操作,则可以认为该字符串中包含了用户输入错误的字符串。
在本发明的一个实施例中,可以在拼音输入法中设置一个日志,以记录用户输入的字符串。例如:在该拼音输入法启动时,同时启动一个监控用户键盘输入的进程。该进程在日志中存储用户通过键盘输入的所有字符串。
这是由于用户在通过拼音输入法输入时,如果出现由于输入的字符串不准确导致显示出的字词中没有用户所需的字词时,删除键删除已输入的字符串。用户删除该字符串的方法可 以为:
当用户输入一段字符串时,例如用户输入“ze”,显示的是“贼”,而用户实际所需要选择的字词是“这”,则用户会通过删除键删除已输入的“ze”,或是只删除其中的“e”。由于键盘的每一个按键都对应有标准的键值,***通过该键值将用户对于键盘的操作翻译成***可设别的电信号,因此本发明实施例中可以采用现有技术中的方式获取用户输入的按键。
其中,该删除键可以为键盘上的ESC键、或delete键、或backspace键。即:用户输入一段字符串后,发现输入的该段字符串是错误的,可以按ESC键取消输入的所有字符串;可以通过delete键删除其中的一段字符串,或是通过backspace键删除其中的一段字符串。
其中,如果用户只输错了一次,则删除的字符串只有一段。例如,用户输入“ze”,然后发现输入错误时,通过backspace键删除了“e”并重新输入“he”。则在日志中记录的结果为:
ze
←backspace
he
这
此时就可以确定,用户输入的ze为输入错误的字符串,其所对应的字词应为“这”。
由于用户可能存在多次输入错误的情况,这样就需要将用户多次删除的字符串都分别与用户选择字词对应起来,并存储在词库中。例如,接续上例,用户输入完“这”字后,又要输入字词“槲”。输入字符串“jie”后发现输入错误,通过backspace键删除了“jie”;然后重新输入“xie”后发现仍为错误的,通过backspace键删除了“xie”;重新输入“hu”并选择所需的字词“槲”。则在日志中记录的结果为:
ze
←backspace
he
这
jie
←backspace
xie
←backspace
hu
槲
则步骤201可以具体为:
步骤2011、读取预置的日志,获取日志中用户输入的所有字符串;
步骤2012、获取日志中用户选择的两个字词之间输入的所有字符串,以获取其中的所有删除操作;并以该删除操作作为分隔,获取其中的每一段字符串;
以前面的例子为例,两个字词“这”和“槲”之间包括了两个删除操作,将所有字符串分割为三段,分别为“jie”、“xie”、“hu”。这样就可以将该三段字符串分别都对应“槲”字。
进一步的,在步骤2032中获取的最后一段字符串“hu”是最后输入的正确的字符串,因此可以将该段字符串忽略。
步骤2013、判断所述每一字符串在所述词库中是否有相同的记录,如果是则忽略该字符串。
这样可以防止词库中被存储多条相同的记录,造成词库过于臃肿,以提高词库检索的效率。
当然,上述步骤只是举例说明,本发明实施例中还可以采用其他方式获取用户删除的多段字符串,例如:当用户删除时***一个标记,这样也可以很方便的将多段字符串区分开。
步骤202、获取用户输入正确的字符串时选择的字词。
同样以上例为例说明,其中的“槲”即为输入正确的字词。
步骤203、将所述用户删除的字符串,以及用户选择的字词对应存储在词库中。该词库可以为拼音输入法的用户词库,或是拼音输入法的单独的一个模糊词词库,也可以为操作***中的其他词库,本发明实施例并不对此做出限定。
针对步骤201中所述的用户删除的字符串为多个时,则步骤203可以具体为:
步骤203’、将所述每一段字符串分别与所述用户选择的字词对应起来,并存储到词库中。
即:可以将“hu”忽略后,将“jie”、“xie”分别与“槲”对应起来,并存储在词库中。
上述实施例可以通过日志的方式将用户删除的所有字符串存储,并通过获取用户选择的正确的字词,以将这些删除的字符串与该字词对应存储在词库中。这样相比较现有技术中的预置用户词库中存储模糊词的方式,既可以降低拼音输入法的大小及用户词库,又可以根据不同用户的使用习惯生成相应的词库,以提高用户的输入效率。
进一步的,上述实施例还包括:
步骤204、获取所述词库中根据前述步骤201-203添加的字符串及对应的字词使用的次数;当所述次数低于预设阈值时,将所述字符串删除。
这是由于用户可能是偶然出现输错字符串导致该字符串被添加到词库中,这样会造成词库过于臃肿。因此本发明实施例中通过将长时间不使用的字符串删除的方式对词库进行更新,更新可以是每间隔一预设时间。
本发明实施例中由于增加了删除机制,相比较现有技术中预示大量模糊词的方式,可以极大地降低输入法占用的存储空间,同时降低检索用户词库时的***开销并提高检索效率。
实施例3
本发明第三实施例提出了一种拼音输入法的用户词添加***,其结构如图2所示,包括:
获取模块1,用于获取用户通过拼音输入法输入时输入错误的字符串;
记录模块2,用于获取用户输入正确的字符串时选择的字词;
词库更新模块3,用于将所述输入错误的字符串与所述字词对应存储。
本发明实施例通过将用户输入错误的字符串存储起来,并将其与用户输入正确的字词对应存储在词库中。这样可以使拼音输入法无需预先设置多个模糊词以及易错词,以降低拼音输入法的词库所占用的空间,提高输入时检索的效率。同时,又可以针对不同用户的使用习惯生成个人的词库,以更贴近用户的个性使用习惯。
实施例4
本发明第四实施例提出了一种拼音输入法的用户词添加***,是在第三实施例基础上改进而来,其结构如图4所示,包括:
获取模块1,用于获取用户通过拼音输入法输入时输入错误的字符串。其中,输入错误的字符串可以通过以下方式获得:
获取用户通过拼音输入法输入时的字符串,以及选择的字词。这样可以获得两个用户选择的字词之间的所有字符串。如果该字符串中包含用户的删除操作,则可以认为该字符串中包含了用户输入错误的字符串。
在本发明的一个实施例中,可以在拼音输入法中设置一个日志,以记录用户输入的字符串。例如:在该拼音输入法启动时,同时启动一个监控用户键盘输入的进程。该进程在日志中存储用户通过键盘输入的所有字符串。
这是由于用户在通过拼音输入法输入时,如果出现由于输入的字符串不准确导致显示出 的字词中没有用户所需的字词时,删除键删除已输入的字符串。用户删除该字符串的方法可以为:
当用户输入一段字符串时,例如用户输入“ze”,显示的是“贼”,而用户实际所需要选择的字词是“这”,则用户会通过删除键删除已输入的“ze”,或是只删除其中的“e”。由于键盘的每一个按键都对应有标准的键值,***通过该键值将用户对于键盘的操作翻译成***可设别的电信号,因此本发明实施例中可以采用现有技术中的方式获取用户输入的按键。
其中,该删除键可以为键盘上的ESC键、或delete键、或backspace键。即:用户输入一段字符串后,发现输入的该段字符串是错误的,可以按ESC键取消输入的所有字符串;可以通过delete键删除其中的一段字符串,或是通过backspace键删除其中的一段字符串。
其中,如果用户只输错了一次,则删除的字符串只有一段。例如,用户输入“ze”,然后发现输入错误时,通过backspace键删除了“e”并重新输入“he”。则在日志中记录的结果为:
ze
←backspace
he
这
此时就可以确定,用户输入的ze为输入错误的字符串,其所对应的字词应为“这”。
由于用户可能存在多次输入错误的情况,这样就需要将用户多次删除的字符串都分别与用户选择字词对应起来,并存储在词库中。例如,接续上例,用户输入完“这”字后,又要输入字词“槲”。输入字符串“jie”后发现输入错误,通过backspace键删除了“jie”;然后重新输入“xie”后发现仍为错误的,通过backspace键删除了“xie”;重新输入“hu”并选择所需的字词“槲”。则在日志中记录的结果为:
ze
←backspace
he
这
jie
←backspace
xie
←backspace
hu
槲
则获取模块1可以具体为:
日志单元11,用于读取预设的日志,获取日志中用户输入的所有字符串;
拆分单元12,用于获取日志中用户选择的两个字词之间输入的所有字符串,以获取其中的所有删除操作;并以该删除操作作为分隔,获取其中的每一段字符串;
以前面的例子为例,两个字词“这”和“槲”之间包括了两个删除操作,将所有字符串分割为三段,分别为“jie”、“xie”、“hu”。这样就可以将该三段字符串分别都对应“槲”字。
进一步的,拆分单元12获取的最后一段字符串“hu”是最后输入的正确的字符串,因此可以将该段字符串忽略。
匹配单元13、判断所述每一字符串在所述词库中是否有相同的记录,如果是则忽略该字符串。
这样可以防止词库中被存储多条相同的记录,造成词库过于臃肿,以提高词库检索的效率。
当然,上述***只是举例说明,本发明实施例中还可以采用其他方式获取用户删除的多段字符串,例如:当用户删除时***一个标记,这样也可以很方便的将多段字符串区分开。
记录模块2,用于获取用户输入正确的字符串时选择的字词。
同样以上例为例说明,其中的“槲”即为输入正确的字词。
词库更新模块3,用于将所述用户删除的字符串,以及用户选择的字词对应存储在词库中。该词库可以为拼音输入法的用户词库,或是拼音输入法的单独的一个模糊词词库,也可以为操作***中的其他词库,本发明实施例并不对此做出限定。
针对所述的用户删除的字符串为多个时,则词库更新模块3还用于将所述每一段字符串分别与所述用户选择的字词对应起来,并存储到词库中。
即:可以将“hu”忽略后,将“jie”、“xie”分别与“槲”对应起来,并存储在词库中。
上述实施例可以通过日志的方式将用户删除的所有字符串存储,并通过获取用户选择的正确的字词,以将这些删除的字符串与该字词对应存储在词库中。这样相比较现有技术中的预置用户词库中存储模糊词的方式,既可以降低拼音输入法的大小及用户词库,又可以根据不同用户的使用习惯生成相应的词库,以提高用户的输入效率。
进一步的,上述实施例还包括:
删除模块4,用于获取所述词库中添加的字符串及对应的字词使用的次数;当所述次数低于预设阈值时,将所述字符串删除。
这是由于用户可能是偶然出现输错字符串导致该字符串被添加到词库中,这样会造成词库过于臃肿。因此本发明实施例中通过将长时间不使用的字符串删除的方式对词库进行更新,更新可以是每间隔一预设时间。
本发明实施例中由于增加了删除机制,相比较现有技术中预示大量模糊词的方式,可以极大地降低输入法占用的存储空间,同时降低检索用户词库时的***开销并提高检索效率。
本发明实施例第三和第四实施例的***,与前述的第一和第二实施例的方法构思和原理相同,因此在第三和第四实施例中对与第一和第二实施例中相同的部分不再赘述。
实施例5
本发明第五实施例提出了一种拼音输入法,其结构如图5所示,包括:输入模块5、显示模块6、词库7,还包括:
获取模块1,用于获取用户通过拼音输入法输入时输入错误的字符串;
记录模块2,用于获取用户输入正确的字符串时选择的字词;
词库更新模块3,用于将所述输入错误的字符串与所述字词对应存储。
本发明实施例通过将用户输入错误的字符串存储起来,并将其与用户输入正确的字词对应存储在词库中。这样可以使拼音输入法无需预先设置多个模糊词以及易错词,以降低拼音输入法的词库所占用的空间,提高输入时检索的效率。同时,又可以针对不同用户的使用习惯生成个人的词库,以更贴近用户的个性使用习惯。
实施例6
本发明第六实施例提出了一种拼音输入法的用户词添加***,是在第五实施例基础上改进而来,其结构如图6所示,包括:输入模块5、显示模块6、词库7,还包括:
获取模块1,用于获取用户通过拼音输入法输入时输入错误的字符串。其中,输入错误的字符串可以通过以下方式获得:
获取用户通过拼音输入法输入时的字符串,以及选择的字词。这样可以获得两个用户选择的字词之间的所有字符串。如果该字符串中包含用户的删除操作,则可以认为该字符串中包含了用户输入错误的字符串。
在本发明的一个实施例中,可以在拼音输入法中设置一个日志,以记录用户输入的字符串。例如:在该拼音输入法启动时,同时启动一个监控用户键盘输入的进程。该进程在日志中存储用户通过键盘输入的所有字符串。
这是由于用户在通过拼音输入法输入时,如果出现由于输入的字符串不准确导致显示出的字词中没有用户所需的字词时,删除键删除已输入的字符串。用户删除该字符串的方法可以为:
当用户输入一段字符串时,例如用户输入“ze”,显示的是“贼”,而用户实际所需要选择的字词是“这”,则用户会通过删除键删除已输入的“ze”,或是只删除其中的“e”。由于键盘的每一个按键都对应有标准的键值,***通过该键值将用户对于键盘的操作翻译成***可设别的电信号,因此本发明实施例中可以采用现有技术中的方式获取用户输入的按键。
其中,该删除键可以为键盘上的ESC键、或delete键、或backspace键。即:用户输入一段字符串后,发现输入的该段字符串是错误的,可以按ESC键取消输入的所有字符串;可以通过delete键删除其中的一段字符串,或是通过backspace键删除其中的一段字符串。
其中,如果用户只输错了一次,则删除的字符串只有一段。例如,用户输入“ze”,然后发现输入错误时,通过backspace键删除了“e”并重新输入“he”。则在日志中记录的结果为:
ze
←backspace
he
这
此时就可以确定,用户输入的ze为输入错误的字符串,其所对应的字词应为“这”。
由于用户可能存在多次输入错误的情况,这样就需要将用户多次删除的字符串都分别与用户选择字词对应起来,并存储在词库中。例如,接续上例,用户输入完“这”字后,又要输入字词“槲”。输入字符串“jie”后发现输入错误,通过backspace键删除了“jie”;然后重新输入“xie”后发现仍为错误的,通过backspace键删除了“xie”;重新输入“hu”并选择所需的字词“槲”。则在日志中记录的结果为:
ze
←backspace
he
这
jie
←backspace
xie
←backspace
hu
槲
则获取模块1可以具体为:
日志单元11,用于读取预设的日志,获取日志中用户输入的所有字符串;
拆分单元12,用于获取日志中用户选择的两个字词之间输入的所有字符串,以获取其中的所有删除操作;并以该删除操作作为分隔,获取其中的每一段字符串;
以前面的例子为例,两个字词“这”和“槲”之间包括了两个删除操作,将所有字符串分割为三段,分别为“jie”、“xie”、“hu”。这样就可以将该三段字符串分别都对应“槲”字。
进一步的,拆分单元12获取的最后一段字符串“hu”是最后输入的正确的字符串,因此可以将该段字符串忽略。
匹配单元13、判断所述每一字符串在所述词库中是否有相同的记录,如果是则忽略该字符串。
这样可以防止词库中被存储多条相同的记录,造成词库过于臃肿,以提高词库检索的效率。
当然,上述***只是举例说明,本发明实施例中还可以采用其他方式获取用户删除的多段字符串,例如:当用户删除时***一个标记,这样也可以很方便的将多段字符串区分开。
记录模块2,用于获取用户输入正确的字符串时选择的字词。
同样以上例为例说明,其中的“槲”即为输入正确的字词。
词库更新模块3,用于将所述用户删除的字符串,以及用户选择的字词对应存储在词库中。该词库可以为拼音输入法的用户词库,或是拼音输入法的单独的一个模糊词词库,也可以为操作***中的其他词库,本发明实施例并不对此做出限定。
针对所述的用户删除的字符串为多个时,则词库更新模块3还用于将所述每一段字符串分别与所述用户选择的字词对应起来,并存储到词库中。
即:可以将“hu”忽略后,将“jie”、“xie”分别与“槲”对应起来,并存储在词库中。
上述实施例可以通过日志的方式将用户删除的所有字符串存储,并通过获取用户选择的 正确的字词,以将这些删除的字符串与该字词对应存储在词库中。这样相比较现有技术中的预置用户词库中存储模糊词的方式,既可以降低拼音输入法的大小及用户词库,又可以根据不同用户的使用习惯生成相应的词库,以提高用户的输入效率。
进一步的,上述实施例还包括:
删除模块4,用于获取所述词库中添加的字符串及对应的字词使用的次数;当所述次数低于预设阈值时,将所述字符串删除。
这是由于用户可能是偶然出现输错字符串导致该字符串被添加到词库中,这样会造成词库过于臃肿。因此本发明实施例中通过将长时间不使用的字符串删除的方式对词库进行更新,更新可以是每间隔一预设时间。
本发明实施例中由于增加了删除机制,相比较现有技术中预示大量模糊词的方式,可以极大地降低输入法占用的存储空间,同时降低检索用户词库时的***开销并提高检索效率。
本发明实施例第五和第六实施例的***,是使用前述的第一和第二实施例的方法以及第三和第四实施例的***的拼音输入法,其构思和原理与第一、第二、第三、第四实施例相同,因此其中相同的部分不再赘述。
本发明实施例所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。