专利名称:字符纠错方法及装置的制作方法
技术领域:
本发明涉及输入法领域,尤其涉及-种字符纠错方法及系统。
背景技术:
对于中文、日文、韩文等用户而言,一般都需要通过输入法程序与计算机进行交 互用户通过键盘输入编码字符串,然后由输入法程序依据其预置的标准映射规则将其变 换为相应语言的候选项,进而由用户确认输入所需信息。 但是人们在输入编码字符串时,很容易会输入错误的编码字符串,进而难以得到 该用户所需的候选项结果。例如,对于中文拼音输入法而言,在用户输入汉字所对应的拼音 时,可能发生的错误主要有以下三种 —种是漏输入字母,如用户想输入词语"今天"所对应的拼音"jin' tian(本处以 及后文的编码字符串中的单引号"'"仅仅为了观看方便,并非由用户输入)",但是,却漏掉 了 "tian"中的字母"i",使得输入结果为"jin, tan"; 第二种是多输入字母,如用户想输入"jin'tian",但是,却错误的多输入了一个字 母"n",使得输入结果为"jin' n, t.ian"; 第三种是输入的字母顺序颠倒,如用户想输入"jin' tian",但是,却错误的将"i " 在"t"之前输入,使得输入结果为"j in , i tan "; 上述三种情况下,由于输入拼音的错误,用户都无法直接获得想输入的汉字"今 天",而必须对输入的编码字符串进行纠错,以输入词语"今天"正确的拼音"jin' t.ian"。
当前的输入法中,如果用户的拼音输入错误时, 一种用户纠错方法为由用户通过 键盘中的左右方向键移动光标,定位光标到错误字符处,通过键盘上的backspace、 Delete 等按键,逐个删掉错误的字符或字符串,之后,再定位光标到相应的位置,插入正确的字符 或字符串。例如,输入"今天"的拼音为"jin' itan"的情况下,用户需要首先将光标定位 到字母"i"处,删除该字母,之后,再定位光标到字母t和a之间,输入字母i。而当用户一
次输入的字符串过长且字符串中出现的输入错误过多时,这一纠错过程将更为复杂,从而 消耗用户更多的时间。或者,用户还可以按Esc键或其他删除键整体删除用户输入的字符 串,之后,再重新输入正确的字符串,但是,当用户输入的字符串过长时,整体删除字符串再 重新输入正确的字符串的过程也会消耗用户的很多时间。 通过以上分析,发明人发现现有技术中用户因输入字符错误而进行纠错时,纠错 效率低。
发明内容
有鉴于此,本发明要解决的技术问题是,提供一种字符纠错方法及系统,能够提高
字符纠错效率。为此,本发明实施例采用如下技术方案 本发明实施例提供一种字符纠错方法,包括
确定需要进行字符纠错的编码字符串; 接收纠错指示事件,根据所述纠错指示事件确定所述编码字符串中需要被修改的 第一编码字符集; 接收纠错指令,对所述第一编码字符集进行所述纠错指令指示的纠错操作。 其中,根据所述纠错指示事件确定编码字符串中需要被修改的第一编码字符集具 体为 根据所述纠错指示事件确定输入焦点在编码字符串中的位置;根据输入焦点在编
码字符串中的位置确定所述需要被修改的第一编码字符集;
或者, 根据所述纠错指示事件选中的编码字符形成第二编码字符集;根据所述第二编码
字符集确定所述需要被修改的第一编码字符集。 所述接收用户输入的编码字符串之后,进一步包括 对接收到的编码字符串进行字符切分,得到至少一个第三编码字符集; 相应的,所述根据输入焦点在编码字符串中的位置确定所述需要被修改的第一编
码字符集具体为 确定编码字符串中与输入焦点关联的至少一个第三编码字符集为所述第一编码 字符集,所述第一编码字符集中的至少一个字符与所述输入焦点相邻。 所述根据输入焦点在编码字符串中的位置确定所述需要被修改的第一编码字符 集具体为 对预设切分范围内的编码字符串进行字符切分,得到至少一个第三编码字符集;
确定编码字符串中与输入焦点关联的至少--个第三编码字符集为所述第--编码 字符集,所述第一编码字符集中的至少一个字符与所述输入焦点相邻。 所述预设切分范围为接收到的所述用户输入的编码字符串,或者,输入焦点之后 的所有编码字符串,或者,输入焦点之后的预设数量个编码字符串。 所述根据输入焦点在编码字符串中的位置确定所述需要被修改的第--编码字符 集具体为 确定输入焦点之前或者之后的一个编码字符为所述需要被修改的第一编码字符 集;或者, 确定输入焦点之前和Z或之后的预设数量个编码字符为所述需要被修改的第--编码字符集。 所述确定编码字符串中与输入焦点关联的至少一个第三编码字符集为所述第一 编码字符集具体为 确定输入焦点所在的第三编码字符集为所述第一编码字符集;或者, 确定输入焦点之前和/或之后的预设数量个第三编码字符集为所述第一编码字符集。
所述根据所述纠错指示事件确定输入焦点在编码字符串中的位置具体为 所述纠错指示事件为焦点移动事件时,根据焦点移动事件指示的输入焦点的移动
方向确定输入焦点在编码字符串中的位置;或者, 所述纠错指示事件为字母定位事件时,检测编码字符串中是否存在所述字母定位事件中指示的字母,如果是,根据该字母确定输入焦点在编码字符串中的位置;或者,
所述纠错指示事件为鼠标点击事件时,根据鼠标在字符串输入窗口中的点击位置 确定输入焦点在编码字符串中的位置。 所述接收用户输入的编码字符串之后,进一步包括 对接收到的编码字符串进行字符切分,得到至少一个第三编码字符集; 相应的,所述根据所述纠错指示事件指示的第二编码字符集确定所述需要被修改
的第一编码字符集具体为 确定所述第二编码字符集所在的至少一个第三编码字符集为所述第一编码字符 集。 所述根据所述纠错指示事件确定编码字符串中需要被修改的第一编码字符集具 体为 根据纠错指示事件中的自动检测指示,检测编码字符串中不符合预设输入规则的 字符或字符串,根据检测得到的所述不符合预设输入规则的字符或字符串对应形成至少一 个第四编码字符集; 根据预设选择规则,从检测得到的至少一个所述第四编码字符集中选择至少一个 第四编码字符集,将选择得到的至少一个所述第四编码字符集作为所述第一编码字符集。
还包括再次接收到包含自动检测指示的纠错指示事件时,将检测得到的第四编 码字符集中,被选择的所述第四编码字符集的下一个第四编码字符集作为所述第一编码字 符集。 所述编码字符串为拼音字符串,所述输入规则为拼音规则时,所述检测编码字符 串中不符合预设输入规则的字符或字符串具体为 检测所述编码字符串中是否存在声母和韵母颠倒的音节,如果是,则所述声母和 韵母颠倒的音节为不符合预设拼音规则的音节;和/或, 检测所述编码字符串中是否存在非声母字母或非简拼字母开头的音节,如果是, 则所述非声母字母或非简拼字母开头的音节为不符合预设拼音规则的音节;和Z或,
检测所述编码字符串中是否存在全拼音节中夹杂的简拼字母,如果是,所述简拼 字母为不符合预设拼音规则的音节。 对所述第一编码字符集进行所述纠错指令指示的纠错操作具体为
所述纠错指令为删除指令时,删除所述第-编码字符集;或者, 所述纠错指令包括用户输入的第五编码字符集时,用所述第五编码字符集替换所 述第一编码字符集。 所述确定第一编码字符集之后,进一步包括 向用户展现所述第一编码字符集。 所述确定需要进行字符纠错的编码字符串具体为 接收用户输入的编码字符串,将接收到的所述编码字符串作为所述需要进行字符 纠错的编码字符串;或者, 接收用户输入的编码字符串;将接收到的编码字符串中,用户已确认的候选项所
对应的编码字符串之外的编码字符串作为所述需要进行字符纠错的编码字符串。
本发明实施例还提供一种字符纠错系统,包括
第-一确定单元,用于确定需要进行字符纠错的编码字符串; 第二确定单元,用于接收纠错指示事件,根据纠错指示事件确定编码字符串中需 要被修改的第一编码字符集; 其中,第二确定单元包括 第一确定子单元,用于接收用户的纠错指示事件,根据所述纠错指示事件确定输 入焦点在编码字符串中的位置; 第二确定子单元,用于根据输入焦点在编码字符串中的位置确定所述需要被修改 的第一编码字符集; 或者,所述第二确定单元包括 第三确定子单元,用于根据所述纠错指示事件选中的编码字符形成第二编码字符 集; 第四确定子单元,用于根据所述第二编码字符集确定所述需要被修改的第一编码 字符集,所述第一编码字符集至少包括所述第二编码字符集。 该系统还包括切分单元,用于对接收到的编码字符串进行字符切分,得到至少一 个第三编码字符集; 相应的,第二确定子单元具体用于确定编码字符串中与输入焦点关联的至少一 个第三编码字符集为所述第一编码字符集,所述第一编码字符集中的至少一个字符与所述 输入焦点相邻。 第二确定子单元包括 切分子模块,用于对预设切分范围内的编码字符串进行字符切分,得到至少一个 第三编码字符集; 确定子模块,用于确定编码字符串中与输入焦点关联的至少一个第三编码字符集 为所述第一编码字符集,所述第--编码字符集中的至少一个字符与所述输入焦点相邻。
所述第二确定子单元具体用于确定输入焦点之前或者之后的一个编码字符为所 述需要被修改的第一编码字符集;或者,确定输入焦点之前和/或之后的第二预设数量个 编码字符为所述需要被修改的第一编码字符集。
第一确定子单元包括 第一位置确定子模块,用于接收焦点移动事件,根据焦点移动事件指示的输入焦 点的移动方向确定输入焦点在编码字符串中的位置;或者, 第二位置确定子模块,用于接收字母定位事件,检测编码字符串中是否存在所述 字母定位事件中指示的字母,如果是,根据该字母确定输入焦点在编码字符串中的位置;或 者, 第三位置确定子模块,用于接收鼠标点击事件,根据鼠标在字符串输入窗口中的
点击位置确定输入焦点在编码字符串中的位置。 该系统进--步包括 切分单元,用于对接收到的编码字符串进行字符切分,得到至少一个第三编码字 符集;
相应的,所述第四确定子单元具体用于确定所述第二编码字符集所在的至少一
个第三编码字符集为所述第一编码字符集。 第二确定单元包括 第五确定子单元,用于根据纠错指示事件中的自动检测指示,检测编码字符串中 不符合预设输入规则的字符或字符串,根据检测得到的所述不符合预设输入规则的字符或 字符串对应形成至少一个第四编码字符集; 第六确定子单元,用于根据预设选择规则,从检测得到的所述第四编码字符集中 选择至少一个第四编码字符集,将选择得到的至少一个所述第四编码字符集作为所述第一 编码字符集。
第六确定子单元还用于再次接收到包含自动检测指示的纠错指示事件时,将检 测得到的第四编码字符集中,被选择的所述第四编码字符集的下一个第四编码字符集作为 所述第一编码字符集。
纠错单元包括 删除子单元,用于接收用户的删除指令,删除所述第一编码字符集;或者, 替换子单元,用于接收用户输入的第五编码字符集,用所述第五编码字符集替换
所述第一编码字符集。
进-一步包括 展现单元,用于向用户展现所述第一编码字符集。
第一确定单元具体用于 接收用户输入的编码字符串,将接收到的所述编码字符串作为所述需要进行字符
纠错的编码字符串;
或者, 第一确定单元具体用于接收用户输入的编码字符串;将接收到的编码字符串 中,用户已确认的候选项所对应的编码字符串之外的编码字符串作为所述需要进行字符纠 错的编码字符串。。 对于上述技术方案的技术效果分析如下 接收用户输入的编码字符串,通过用户的纠错指示事件,直接从编码字符串中确 定需要被修改的第一编码字符集,进而通过用户的纠错指令对整个第一编码字符集进行整 体的纠错操作,从而可以将多个输入错误的编码字符--次性的纠错完成,不再需要用户逐 个编码字符地进行删除等操作,相对减少了用户的操作次数,从而提高了用户在输入过程 中的字符纠错效率。 进而,所述纠错指示事件存在键盘快捷操作、鼠标操作等多种触发方法,方便用户 的灵活选择,从而减少了用户操作成本,进-步提高了用户在输入过程中的字符纠错效率。
图1为本发明实施例一种字符纠错方法流程示意图; 图2为本发明实施例另--种字符纠错方法流程示意图; 图3为本发明实施例第三种字符纠错方法流程示意图; 图3a为本发明实施例同时选中两个第一编码字符集的实现实例;
图4为本发明实施例第四种字符纠错方法流程示意图; 图5a 图5d为现有技术中字符纠错方法示例图; 图6a 图6e为本发明实施例字符纠错方法示例图; 图7a为本发明实施例注音输入法中的注音字符与按键之间的映射关系表; 图7b和图7c为本发明实施例日文输入法中假名与字符集之间的映射关系表; 图7为本发明实施例一种字符纠错系统结构示意图; 图8为本发明实施例字符纠错系统中第二确定单元的一种结构示意图; 图9为本发明实施例字符纠错系统中第二确定单元的第二种结构示意图; 图10为本发明实施例字符纠错系统中第二确定单元的第三种结构示意图。
具体实施例方式
以下,结合附图详细说明本发明输入过程中字符纠错方法及系统的实现。 本发明输入过程中字符纠错方法及系统根据用户的纠错指示事件,相应确定编码
字符串中需要被操作的第一编码字符集,进而对第一编码字符集进行整体修改,从而不再由用户逐个字符进行字符纠错,提高了字符纠错效率。
图1为本发明实施例字符纠错方法流程示意图,如图1所示,包括
步骤101 :确定需要进行字符纠错的编码字符串。
本歩骤可以通过以下两种方式实现 a)直接将用户输入的编码字符串作为所述需要进行字符纠错的编码字符串,此
时,本步骤的实现可以为 接收用户输入的编码字符串,将接收到的用户输入的编码字符串作为所述需要进行字符纠错的编码字符串; (2)在接收到的用户输入的编码字符串的基础上,用户进行前边若干个正确候选项的确认,之后,只要将用户确认的候选项对应的编码字符串之外的编码字符串作为需要进行字符纠错的编码字符串即可;此时,本步骤的实现可以为
接收用户输入的编码字符串; 将接收到的所述编码字符串中,用户己确认的候选项所对应的编码字符串之外的编码字符串作为所述需要进行字符纠错的编码字符串。 其中,所述接收用户输入的编码字符串,以及用户如何确认候选项等可以使用现
有技术中的相关技术完成,这里不赘述。 对于本步骤举例来说 所期望输入的为"我和朋友去游乐园"的拼音串"wo, he,peng,you, qu'you, le,yuan",而实际输入的是"wo' he' pen' you' qi, you' le' yuan",贝U,本步骤中使用(1)的方法实现时会将"wo' he' pen' you' qi' you' le' yuan"作为需要进行纠错处理的编码字符串;而使用(2)的方法实现时,则用户可以先确认"wo' he"对应的候选项"我和",从而,本步骤中所需要进行字符纠错的编码字符串就为"pen' you' qi' you' le' y體"。 步骤102 :接收用户的纠错指示事件,根据纠错指示事件确定所述编码字符串中需要被修改的第一编码字符集。 所述第一编码字符集中包括至少一个编码字符,且第一编码字符集中的字符为所述编码字符串中的若干个连续编码字符。 步骤103 :接收用户的纠错指令,对所述第一编码字符集进行所述纠错指令指示的纠错操作。
所述纠错操作可以包括删除或替换等。 因此,本步骤的实现可以为接收到的用户的纠错指令为删除指令时,删除所述第一编码字符集;或者,接收到的用户的纠错指令为用户输入的第五编码字符集时,用所述第五编码字符集替换所述第一编码字符集。 其中,用户的删除指令可以通过用户按下某一预设的快捷键触发,所述预设的快捷键可以在实际应用中具体设定,这里并不限制。例如,一般可以设定删除指令的快捷键为Delete键或者Backspace键,则,当输入法检测到用户按F Delete键或者Backspace键时,输入法认定接收到了用户输入的删除指令。 用户输入的所述第五编码字符集中包括至少一个编码字符。 优选地,在图1所示的本发明实施例字符纠错方法中,步骤102和步骤103之间,
还可以进一步包括以下步骤 步骤102,:向用户展现所述第一编码字符集。 通过增加本步骤,可以使输入法明确向用户展现用户所需要修改的第一编码字符集中的字符,从而增加用户纠错操作的准确性和目的性。 另外,如果用户手动为输入法提供确定第一编码字符集的依据,如图2和图3所示的本发明实施例中,可以不执行该步骤,但是,在输入法通过自动检测确定第一编码字符集时,例如图4所示的本发明实施例中,则输入法最好执行该步骤,以便用户能准确获知输入法确定的第一编码字符集,执行正确的后续操作。 这里,输入法可以预先设置第一编码字符集的展现方式,从而在本步骤中可以以预设方式向用户展现所述第一编码字符集,具体的,所述展现可以为在字符串输入窗口进行第一编码字符集的展现时,使用与其他编码字符不同的颜色,或者,不同的背景颜色等,这里并不限定,只要能够使用户从编码字符串中区别出所述第一编码字符集,以便用户明确获知第一编码字符集已经选定完毕,从而开始后续的操作即可。 图1所示的本发明实施例字符纠错方法,通过用户的纠错指示事件,直接从编码字符串中确定需要被修改的第一编码字符集,进而通过用户的纠错指令对所述第一编码字符集进行整体操作,从而只需要 -次操作就可以同时处理若干个编码字符,不需要用户多次移动光标并逐个对编码字符进行删除、重新输入等操作,从而提高了用户的字符纠错效率。 使用本发明实施例所述字符纠错方法的输入法,可以认为包括两种状态,一为插入字符状态,也即通常意义上的输入拼音字符的状态;一为替换字符状态,也即本发明的字符纠错方法所在的状态,在该状态下,用户可以选定需要被修改的第一编码字符集,以使用户能够对第一编码字符集进行替换、删除等操作的状态。在图l所示的实施例中,可以认为输入法自动执行了上述两种状态的转换。即当用户触发纠错指示事件时,输入法自动从插入字符状态转换为替换字符状态;而当用户触发纠错指令,按下删除快捷键,删除第一编码字符集或输入第五编码字符集,替换掉第一编码字符集时,输入法自动从替换字符状态转换为插入字符状态;或者,当用户没有触发操作指令,而是执行了其他操作时,输入法一般也会退出替换字符状态,执行用户指示的其他操作,这里不赘述。 在实际应用中,输入法的上述状态转换也可以由用户手动完成,以防止产生用户在不知情的情况下的误纠错现象。此时,可以预先设置用户触发状态转换的方式,如快捷键、鼠标点击某一指定位置等,从而当用户执行上述操作时,输入法认定用户提交了状态转换指令,输入法将从插入字符状态转换到替换字符状态,或者,从替换字符状态转换到插入字符状态。也即图l所示的本发明实施例还可以包括步骤接收用户的状态转换指令,进行插入字符状态和替换字符状态的状态转换。 其中,从插入字符状态转换到替换字符状态,或者,从替换字符状态转换为插入字符状态可以使用不同的触发方法,也可以使用相同的触发方法。 例如,可以设定当用户按下Ctrl+右方向键时,输入法将自身的状态从当前状态(如插入字符状态)转换到另一状态(替换字符状态);或者,也可以设定当用户按下Ctrl+右方向键时,输入法将自身的状态从插入字符状态转换到替换字符状态,而当用户按下Ctrl+左方向键时,输入法将自身的状态从替换字符状态转换到插入字符状态等。
当用户输入了一连串的编码字符后,如果发现输入的编码字符串存在错误,则手动进行插入字符状态到替换字符状态的转换,在替换字符状态下才允许用户执行后续的第一编码字符集选定以及相应的替换或删除等操作。 而当用户希望结束替换字符状态时,则可以通过对应的触发方式,手动进行替换字符状态到插入字符状态的转换。上述两种状态之间的切换可以在用户进行编码字符操作的任意时刻由用户进行触发,这里并不限定。 如图2所示为本发明实施例另一种字符纠错方法,在该方法下,用户手动指示输入焦点(所述输入焦点在实际应用中一般以光标的形式向用户展现)在编码字符串中的位置,并根据该输入焦点的位置确定所述第一编码字符集,从而对所述第一编码字符集进行纠错操作。如图2所示,该方法包括
步骤2()1 :接收用户输入的编码字符串。 当所述纠错指示事件为输入法指定输入焦点的位置时,步骤102可以通过以下的步骤202和歩骤203实现。 步骤202 :接收用户的纠错指示事件,根据所述纠错指示事件确定输入焦点在编码字符串中的位置。 本步骤中用户的纠错指示事件可以由用户通过多种方式实现,例如,鼠标点击事件,即用户在字符串输入窗口中进行鼠标点击,从而输入法可以在编码字符串中定位输入焦点到鼠标点击位置;或者,焦点移动事件,即用户通过左右方向键指示输入焦点在编码字符串中的移动方向,每次用户按下左方向键或右方向键时,输入焦点将按照字符相应移动;或者,字母定位事件,即用户通过按下快捷键+字母的方式定位输入焦点到编码字符串中字母所在的位置等。 具体的,本步骤中的根据所述纠错指示事件确定输入焦点在编码字符串中的位置的具体实现可以为 (1)当输入法接收到用户的纠错指示事件为鼠标点击事件时,根据鼠标在字符串输入窗口中的点击位置确定输入焦点在编码字符串中的位置。
(2)当输入法接收到用户的纠错指示事件为焦点移动事件时,根据焦点移动事件指示的输入焦点的移动方向确定输入焦点在编码字符串中的位置。 其中,一般可以按照通常的做法,设定触发焦点移动事件的快捷键为左、右方向键,用户通过按下左、右方向键移动光标,进行光标的定位,进而达到指示输入法移动输入焦点的目的。--般的,每次用户按下左或右方向键,指示了输入焦点的新位置后,步骤203中都需要根据输入焦点的新位置确定第一编码字符集。 (3)当输入法接收到用户的纠错指示事件为字母定位事件时,检测编码字符串中是否存在所述字母定位事件中指示的字母,如果是,根据该字母确定输入焦点在编码字符串中的位置。 其中,所述根据该字母确定输入焦点在编码字符串中的位置可以为确定输入焦点位于所述字母之前,或者,确定输入焦点位于所述字母之后等,可以预先设置,这里并不限制。 另外,触发字母定位事件的快捷键可以自主设置,只要能将该字母定位事件与输入法中的触发其他事件的快捷键区别开即可。例如可以设定用户按下特定按键+字母时触发所述字母定位事件,所述特定按键可以为Ctrl、 Space等。 而且,当检测到编码字符串中存在至少两个所述字母定位事件所指示的字母时,可以设定当用户再次触发所述字母定位事件时,输入法将所述输入焦点移动到其他某一个所述字母的位置,从而可以在步骤203中选定用户希望被修改的第一编码字符集,这里不赘述。 步骤203 :根据输入焦点在编码字符串中的位置确定所述需要被修改的第一编码字符集。
具体的,本步骤的实现可以包括 (1)根据输入焦点与对编码字符串进行切分之后得到的第三编码字符集之间的位置关系确定 A、步骤201需要进-一步包括步骤对接收到的编码字符串进行字符切分,得到至少一个第三编码字符集。其中,具体如何实现对编码字符串的字符切分在本发明方法实施例的最后进行了详细说明,这里不赘述。每个第三编码字符集中包括至少一个编码字符。
此时,本步骤的实现具体为 确定编码字符串中与输入焦点关联的至少--个第三编码字符集为所述第--编码字符集,所述第一编码字符集中的至少一个字符与所述输入焦点相邻。 其中,可以预先设定以下情况下的第三编码字符集是与输入焦点关联的第三编码字符集输入焦点所在的第三编码字符集,或者,输入焦点之前和/或之后的预设数量个第三编码字符集。具体的预设数量可以在实际应用中自主设定,这里并不限制。
举例来说 假设输入焦点位于第三编码字符集所包含字符的中间,如第三编码字符集X1包括字符"jUn",输入焦点位置在字符"j"和"i"之间,则确定第三编码字符集Xl作为所述第一编码字符集; 又或者,假设设定输入焦点之前的1个第三编码字符集为与输入焦点关联的字符集,则如果输入焦点位于两个第三编码字符集X2和X3之间,如{X2} I 3},则确定第三编码字符集X2作为所述第一编码字符集,其他情况与此类似,这里不再列举。 这种实现方法可以应用于进行拼音字符输入的情况,此时,步骤201中进行编码
字符的切分时,将根据音节进行切分,则, 例如,预先设定将输入焦点所在的音节所包含的编码字符串作为所述第一编码字符集,例如,编码字符串为"jin' tan",而输入焦点位于字母t和a之间,则确定字节"tan"为所述第一编码字符集; 或者,预先设定将输入焦点之后的一个音节所包含的编码字符串作为所述第一编码字符集,例如,编码字符串为"jin' tan",而输入焦点位于字母j之前,则确定字节"jin"为第一编码字符集; 或者,预先设定当编码字符串中大部分为全拼音节,而输入焦点之后存在连续的
至少两个简拼音节时,则将所述连续的至少两个简拼音节同时作为所述第一编码字符集,例如,编码字符串为"jin' tian' w, ra, qu' jiao' you",而光标位于w之前,则确定"w' m"
为第-一编码字符集。 这里,在实际应用中还可以使用其他的根据输入焦点的位置确定第一编码字符集的方法,这里不再赘述。 B、所述切分操作也可以不在步骤201中执行,而是在本步骤中执行,此时,本步骤的实现具体为 对预设切分范围内的编码字符串进行字符切分,得到至少一个第三编码字符集;
确定编码字符串中与输入焦点关联的至少一个第三编码字符集为所述第一编码字符集,所述第一编码字符集中的至少一个字符与所述输入焦点相邻。 所述预设切分范围可以为接收到的所述用户输入的编码字符串,也即对接收到的整个编码字符串进行切分;或者,输入焦点之后的所有编码字符串,也即对输入焦点之后的所有编码字符串进行切分;或者,输入焦点之后的预设数量个编码字符串,也即预先设定一个数量,则输入法获取输入焦点之后的预设数量个编码字符串,对获取到的编码字符串进行切分。这里,具体的预设数量并不限制,可以在实际应用中自主设置。
其他参见A中的说明,这里不再赘述。 (2)预先设定与输入焦点关联的编码字符为输入焦点之前和/或之后的一个或多个编码字符为与输入焦点关联的编码字符,作为所述第一编码字符集,此时,本步骤的实现可以为 确定输入焦点之前或者之后的一个编码字符为所述需要被修改的第一编码字符集;或者, 确定输入焦点之前和/或之后的预设数量个编码字符为所述需要被修改的第一编码字符集。这里,所述预设数量可以在实际应用中自主设置,并不限定。
举例来说 假设设定输入焦点之前和之后的分别2个编码字符作为第一编码字符集,则,如果输入焦点位置为"yi I ersan",则,将确定第一编码字符集为"yier"。
步骤204 :向用户展现所述第 一编码字符集。 本步骤的实现参考图1所示本发明实施例中的相关描述,这里不再赘述。 步骤205 :接收用户的纠错指令,对所述第一编码字符集进行所述纠错指令指示的纠错操作。 本歩骤的实现可以参考步骤103,这里不再赘述。 其中,在步骤201中用户输入一串编码字符串后,如果发现多处输入错误,步骤 202 步骤205可以多次循环执行。 图2所示的本发明实施例中,用户可以通过鼠标点击事件、字母定位事件等不同 方法指示输入焦点的位置,输入法根据输入焦点的位置确定需要被修改的第一编码字符 集,进而再根据用户的纠错指令对第一编码字符集进行整体的纠错操作,从而使得用户可 以灵活的选择最便捷输入焦点的指示方法,选择到需要修改的第一编码字符集进行纠错操 作,使得用户可以便捷、快速的完成编码字符串中错误编码字符的修改,提高了用户输入过 程中的字符纠错效率。 图3为本发明实施例另一种字符纠错方法流程示意图,在该方法中,用户直接选
择编码字符串中一定数量的连续编码字符,输入法将根据用户选择的编码字符确定需要被
修改的第-一编码字符集。如图3所示,该方法包括 歩骤301 :接收用户输入的编码字符串。 步骤102通过步骤302和步骤303实现,具体为 步骤3()2 :接收用户的字符选择事件,根据所述字符选择事件选择的编码字符形 成第二编码字符集。所述第二编码字符集中包括至少一个编码字符。 其中,所述字符选择事件可以通过鼠标选择事件或者键盘选择事件实现。所述鼠 标选择事件为用户在字符串输入窗口中的第一期望位置开始点击鼠标的左键(或右键), 并按住不放,进行鼠标移动直到第二期望位置松开鼠标的左键(或右键),则第一期望位置 和第二期望位置之间的编码字符即为鼠标选择事件选中的编码字符。键盘选择事件为用 户通过键盘按键操作,例如,通过Ctrl+Shif t.+左右方向键(或其他组合键、快捷键),或者, 通过快捷键+双字母(所述双字母一般为用户期望选中的字符串的首字母和尾字母)等方 式,从编码字符串中选择一部分字符串作为第一编码字符集;例如,在快捷键+双字母的方 式中,假设所述快捷键为Ctrl,且用户将"wo' qu' you' le"错误的输入为'、o' qu' yuo' le", 则,用户通过按下快捷键+ "y"+ "o",输入法自动将"y"和"o"之间的字符串"yuo"作为用 户选择的字符串。另外,当所述编码字符串为拼音字符串时,还可以进一步定义Ctrl+方向 键的作用是按照音节移动光标,3^1^+方向键是增加/减少选定的一个字母,(^14+5^1^+ 方向键是按照音节长度增加Z减少所选择的音节等,从而用户可以通过键盘操作快速选择 到期望的编码字符或编码字符串,从而作为步骤303中第一编码字符集的确定基础。
步骤303 :根据所述第二编码字符集确定所述需要被修改的第一编码字符集。
所述第一编码字符集一般至少包括所述第二编码字符集。
本步骤的实现可以为 A、确定所述第二编码字符集为所述第一编码字符集;或者, B、确定所述第二编码字符集所在的至少一个第三编码字符集为所述第一编码字 符集(在该种情况下,步骤3()1中也需要进行对接收到的编码字符串进行字符切分,得到至 少一个第三编码字符集的操作)。 对于情况B举例假设对于编码字符串进行了拆分之后得到第三编码字符集(以 单引号区分)"jin, tan' wo, qu",用户通过鼠标选中"tanw" 4个编码字符,而由于选中的4个编码字符位于两个第三编码字符集中,则确定第三编码字符集"tan" "wo"同时作为第 一编码字符集,即此时确定的第一编码字符集为"t.anwo"。
步骤304 :向用户展现所述第一编码字符集。 本步骤的实现参考图1所示本发明实施例中的相关描述,这里不再赘述。 步骤305 :接收用户的纠错指令,对所述第-一编码字符集进行所述纠错指令指示
的纠错操作。 本步骤的实现可以参考步骤103,这里不再赘述。 其中,在步骤301中用户输入一串编码字符串后,如果发现多处输入错误,步骤 302 步骤305可以多次循环执行。 图3所示的本发明实施例字符纠错方法,通过用户选择的第二编码字符集确定需 要被修改的第一编码字符集,进而再根据用户的纠错指令对第一编码字符集进行整体的纠 错操作,为用户提供了另一种第一编码字符集的确定方法,且该方法也能够使得用户快捷 的完成编码字符中错误编码字符的指示和修改,从而提高了用户输入过程中的字符纠错效
冲《.。 在上述的图1 图3所示的本发明实施例中,一般都是用户每次选中一个第一编 码字符集,然后进行第一编码字符集的纠错后,再选中下一个第一编码字符集,继续进行纠 错处理,在实际应用中,也可以由用户将编码字符串中所需要纠错的第一编码字符集-一一 确定后,再分别对每个第一编码字符集进行纠错处理,这里并不限制。如图3a所示,所希望 输入的是拼音串是"jin' tian' de' tian' qi' bu' cuo(今天的天气不错)",但是,用户错误 的输入为"jin' tan' de' tian' qu' bu' cuo (金坛的田区不错)",从而,用户可以通过快捷 键同时选中"tan "和"qu ",之后,再分别修改这两个音节。 以上方法均为用户手动为输入法提供确定第一编码字符集的依据,而在实际应用 中,还可以通过用户的快捷键操作指示输入法自动确定需要被修改的第一编码字符集。如 图4所示,该方法包括 步骤401 :接收用户输入的编码字符串。 步骤402 :接收用户的自动检测事件,检测编码字符串中不符合预设输入规则的 字符或字符串,根据检测得到的所述不符合预设输入规则的字符或字符串对应形成至少一 个第四编码字符集。每个第四编码字符集中包括至少一个编码字符。 自动检测事件是指用户直接按下预设的快捷键,指示输入法自动检测并选择编 码字符串中不符合输入规则的至少一个字符作为第一编码字符集。 其中,所述自动检测事件一般由用户按下某一预设的快捷键触发,具体所使用的 快捷键可以自主设定,例如为Ctrl +左方向键等,这里并不限定,只要能将该自动检测事件 与输入法中触发其他事件的快捷键区别开即可。 其中,在不同的输入目的和输入法下,用户输入的编码字符串不同,例如,可以为 拼音字符串,或者五笔输入法下的编码字符串等。在不同的输入法下,所述输入规则也不相同。 在本步骤中,也可以首先为输入法指定所需要进行自动检测的编码字符串的范 围。具体的,可以通过上述字符选择事件等选择一部分编码字符串作为所需进行自动检测 的编码字符串的范围。或者,也可以预先设置所需进行检测的编码字符串范围,例如预先设置编码字符串中的前ml个或后nl个编码字符串为需要进行自动检测的编码字符串,其 中,l <ml <编码字符串的总个数,1 <nl <编码字符串的总个数;或者,也可以在对编码 字符串进行字符切分后,根据字符切分得到的第三编码字符集,确定前m2个或者后n2个第 三编码字符集所包括的编码字符串为需要进行自动检测的编码字符串范围,l <m2 <第三 编码字符集的总个数,1 < n2 <第三编码字符集的总个数;或者,还可以从进行字符切分得 到的所述第三编码字符集中确定包含编码字符数最多或最少的第三编码字符集,以该第三 编码字符集为基准,确定其之前和./或之后的预设数目个第三编码字符集所包含的编码字 符串为所需进行自动检测的编码字符串范围。从而通过以上编码字符串范围的确定,输入 法只需要对编码字符串范围内的编码字符进行所述自动检测即可。 步骤403 :根据预设选择规则,从检测得到的所述第四编码字符集中选择至少一 个第四编码字符集,将选择得到的至少一个所述第四编码字符集作为所述第一编码字符 集。 进一步地,该方法还可以包括当再次接收到所述自动检测事件时,将检测得到的 第四编码字符集中,被选择的所述第四编码字符集的下一个第四编码字符集作为所述第一 编码字符集。 所述选择规则可以在实际应用中自主设定,例如,可以设定选择第四编码字符集 中位置在编码字符串中最靠前的一个第四编码字符集为第--编码字符集等,这里不赘述。
例如,当所述编码字符串为拼音字符串,所述输入规则为拼音规则时,....匕述步骤 402和步骤403,的实现一般可以与编码字符串的音节切分过程相关联,也即步骤401中 还需要包括对接收到的编码字符串进行字符切分的操作,从而得到若干个音节。此时,步骤 402和步骤403的实现可以具体为 检测编码字符串中不符合预设拼音规则的音节; 根据预设选择规则,从检测得到的音节中选择至少一个音节,将选择得到的至少 一个音节所包含的编码字符串作为所述第一编码字符集。 或者,所述字符切分步骤也可以放在步骤402中执行,即在接收用户的自动检测
事件后,先对编码字符串进行字符切分,之后,再执行所述检测步骤。
所述检测编码字符串中不符合预设拼音规则的音节具体可以为 检测所述编码字符串中是否存在声母和韵母颠倒的音节,如果是,则所述声母和
韵母颠倒的音节为不符合预设拼音规则的音节;例如,用户希望输入"shen' me",但是却错
误的输入为"shen' em",则"em"即为声母和韵母颠倒的音节; 和/或,检测所述编码字符串中是否存在非声母字母或非简拼字母开头的音节, 如果是,则所述非声母字母或非简拼字母开头的音节为不符合预设拼音规则的音节;例如, 用户错误的输入"xiao' vl"(应为xiao' lv),或者,用户错误的输入"xiao' ul"(应为 xiao, lu),或者,用户错误的输入"xiao' il"(应为xiao' li),....匕述u、 v、 i为非声母字母 且非简拼字母,因此,字节"vl" "ul"以及"il"即为所述非声母字母或非简拼字母开头的 音节; 和/或,检测所述编码字符串中是否存在全拼音节中夹杂的简拼字母, 如果是,所述简拼字母为不符合预设拼音规则的音节;例如,用户输入字符串 "wo, j, n, tian, qu, you' le' yuan",明显地,中间的字母jn不是全拼音节,而是连续的两个简拼字母,则"j' n"即为全拼音节中夹杂的简拼字母。 对于上述说明举实例如下假设用户输入的编码字符串为"jin' tian'wo'he'peng ,you , j , s T t , j in, itan, qu , 1 e , you , 1 e , yuan",用户通过快捷键Ctr 1+左方向键触发了自 动检测事件,输入法检测上述编码字符串中是否存在不符合预设拼音规则的音节,并从其 中选择位置在编码字符串中最靠前的一个或多个音节为第一编码字符集,则,根据上述编 码字符串可知检测到的音节应为"j" "s" "1" "t."以及"itan"共五个音节均为所述第四 编码字符集,其中,"j" "s" "1" "t"均为全拼音节"you" "jin"之间的简拼音节,则输入 法首先选定"j' s' 1' t"共4个连续的简拼音节作为第一编码字符集;而如果用户再次按 下快捷键Ct.rl+左方向键,则输入法选择"it.an"作为第一编码字符集,从而实现用户对于 检测到的不符合预设拼音规则音节的自主选择和修改。
步骤404 :向用户展现所述第一编码字符集。 本步骤的实现参考图1所示本发明实施例中的相关描述,这里不再赘述。 步骤405:接收用户的纠错指令,对所述第--编码字符集进行所述纠错指令指示
的纠错操作。 本步骤的实现可以参考步骤103,这里不再赘述。 在图4所示的本发明实施例字符纠错方法中,用户通过触发自动检测事件,输入
法即可自动检测得到需要修改的第 -编码字符集,无需用户进行其他操作,即可完成所需
修改字符的确定,进一步提高了用户进行编码字符串中错误字符的纠错效率。 以下,根据现有的各种操作涉及到的键盘区域、手的移动距离的不同,设定不同大
小的数值来表示各个操作的成本,成本范围为0 l()(): 1.用鼠标定位需要把手移动到鼠标,此时一只手被鼠标独占,并且移动距离很
大,同时涉及到了移动光标去定位的成本,因此设定用鼠标的成本是100; 2.通过按键盘的左右方向键由于用方向键多数情况下不能一次达到目的,需要
连续重复一个操作,但是手指从主键盘区域移动到方向键区域成本比鼠标要小,因此设定
移动 -次的成本是10 ; 3.通过声母组合键快速定位组合键的按键设定大多在主键盘区域,因此成本更 小,设定按一次的成本是8; 4.按一次Delete或者Backspace的成本是5 ; 5.输入字母(或者按主键盘在手掌覆盖区域中的按键)的成本是3。 以下,基于以....匕操作成本的定义,给出一种更为具体的实例,对现有编码字符串纠
错方法与本发明实施例的字符纠错方法进行效果对比。 例如,用户预期输入"我和朋友今天去了游乐园",则应该输入编码字符串"wo' he' peng , you , j in , t. ian' qu , le' you , 1 e , yuan ",但是,用户将上述编码字符串错误的输入成了 " w o, he, peng, you, jian, tang, qu, le, you, le, yimn,,,如图所?];
则使用现有技术中的字符纠错方法,纠错步骤为 首先移动光标到ji i an处(依据个人习惯),删除多余的字母"a",如图5b所示; 然后将光标右移到tang|的位置,删除字母"g",如图5c所示;最后,将光标移动到t|an的 位置,插入字母"i ",如图5d所示;至此,纠错过程完成。 在上例中,已经尽量把各种操作都用成本最小的操作来完成,计算其操作的总成本 1.首先Ctrl+T定位到| tan ; (8)
2.向左移动光标一次;(10)
3.删除字母"a";(5) 4.右移光标两次,使其位于11 ang ; (10*2)
5.插入字母"i";(3) 6.右移光标2次,使其位于tian | g ; (10*2)
7.删除字母"g"。 (5)
经计算,总成本为71 。 而对于本发明的字符纠错方法,输入情形同前例,则本发明实施例字符纠错方法 下的操作为 1.Ctrl+J,定位到错误音节处(8),如图6a所示;
2.按下状态转换快捷键Alt (3),如图6b所示;
3.输入字符串"jin" (3*3),如图6c所示;
4.按下状态转换快捷键Alt (3),如图6d所示;
5.输入字符串"tian" (3*4),如图6e所示。
经计算,总成本为35 。 通过以....匕的举例可以对比出,使用本发明实施例的字符纠错方法进行字符纠错的 成本更低,也即字符纠错效率更高。 最后,在这里详细介绍上述的对编码字符串的字符切分操作以及确定不符合输入 规则的字符集的操作。 从用户输入编码字符串到根据用户输入的编码字符串得到对应的候选项之间,需 要经过的一环就是对编码字符串进行字符切分,得到若干个字符集,以便根据字符集获取 候选项,以供用户进行选择确认。 对于不同的输入法,对输入的编码字符串进行字符切分的方法不同。在字符切分 后即可确定不符合对应的输入规则的字符集。其中,所述不符合输入规则可以认为是切分 得到的字符集无法在该输入法中找到对应的候选项。因此,当对编码字符串进行了字符切 分后,即可较为容易的检测出不符合输入规则的字符集。 以拼音字符串的字符切分为例。大多的拼音输入法一般根据《汉语拼音方案》 (1958年2月11日第一届全国人民代表大会第五次会议通过并颁布)所述的拼音规则进行 拼音字符串的切分,目前所有的正确拼音音节有413个(为方便下面引用,称为集合A)。
在进行字符切分时,从用户输入的拼音字符串的起始位置向后匹配,匹配到符合 正确拼音音节后插入例如单引号等作为分隔标记(也可以使用其他方法分隔——在程序上 实现方法众多,这里只作为举例),并把该位置作为新的起点,重复上述过程,直到到达拼音 字符串的末尾。 由于用户输入的拼音字符可能有误,因此上述字符切分涉及到许多细节,下面依 次用各种例子作为讲解 (1)用户输入正确的拼音字符串nimenhao 起始字母是n,循环比对集合A中以n开头并且长度递减的音节,如果匹配则完成本次匹配。本例中匹配上ni,则将输入串变为ni' menhao,并设定新的起始字母为m;
匹配到音节men,因此输入串标记为ni, men' hao,并将起始字母设置为h ;(请注 意此过程中过滤掉了 me这一音节,因为me的长度比men短;) 匹配到音节hao,因此输入串标记为ni' men' hao'(本操作可以忽略,因为到了末
尾)。同时因为已经到达输入串末尾,匹配结束。 (2)用户输入存在错误的拼音字符串niiimenhao 匹配到ni,并设定新的起始字母是i (ni' iimenhao); 无法匹配到正确音节,因此向后推移一个字母,并且不增加分隔符,现在起始字母 为i(第三个); 仍然无法匹配,继续向后推移一个字母,现在起始字母是m ; 匹配到men,将men前后各加一个分隔符(ni , ii' men' hao),并设定起始位置是 h ; 匹配到音节hao,匹配结束。 至此,已经得到了一个按照拼音规则切分后的拼音字符串,一般认为所有被分隔 符分隔开的部分都是一个音节,即使有些音节是不完整或错的。 这时,对拼音字符串自动检测其中不符合拼音规则的音节时,将循环检测拼音字 符串中的每--个音节,并按照如下规则处理 如果是正确的音节(即在集合A中),则不进行特殊处理,继续进行F—音节的 检测; 用声母表进行匹配,如果是纯声母,则当作简拼处理(一般认为单个声母是正确 的,当然也可以作为错误的,如在多个全拼的音节之间夹杂的简拼); 或者,还可以检测音节中是否存在声母韵母颠倒的情况等,这里不赘述,直到检测 到达拼音字符串的末尾,则结束检测。 另外,在注音输入法和日文输入法等输入法中也可以使用类似的切分方法和确定 不符合输入规则的字符集的方法。 在注音输入法中,注音输入法通过如图7a所示的多个单个按键(包括但不限于 键盘上的字母键、数字键等)映射到所有可能用到的声母、韵母。用户通过输入这些字符 串,可以完成音节乃至句子的输入。例如要输入"你好",那么就应该输入字符串"SU3CL3"。 此时,对应输入的字符也可以使用与拼音输入法中的切分方法相类似的方法进行切分,把 所有符合正常发音的音节用对应的字符集表示,所有正确的字符集形成注音集合,在接收 到用户输入的字符串后4艮据所述集合中的字符集从用户输入的字符串的起始位置向后匹 配,匹配到正确的字符集后插入例如单引号等作为分隔标记,从而实现对字符串的切分。之 后,在确定每个音节是否符合输入规则时,只要验证该音节是否存在于所述注音集合内即 可。 而在日本假名的输入中,日文中有五十音图,50个平假名+50个片假名就是日语 里的基本"字母"。在该输入法中定义了一系列的"字符集-〉假名"的映射关系(在图7b 和7c中给出了部分映射关系),从而通过输入对应的字符串即可完成日本假名的输入。当 输入法获取到用户输入的字符串后,也需要根据所述映射关系对所述字符串进行拆分,从 而使得拆分后的各个字符集能够对应相应的平假名或片假名。对于该输入法而言,所述映射关系中没有出现的字符集即为不符合输入规则的字符集。当输入法对用户输入的字符串 进行切分后,只要分别判断各个切分后得到的字符集是否存在于所述映射关系中,即可确
定不符合输入规则的字符集。例如"iy"就不对应任何假名,因此可以认为当切分得到的字 符集为"iy"时,该字符集为不符合输入规则的字符集。 相应的,在上述字符纠错方法的基础上,本发明实施例对应提供了字符纠错系统, 如图7所示,为本发明实施例一种字符纠错系统结构示意图,包括
第一确定单元710,用于接收用户输入的编码字符串; 第二确定单元720,用于接收用户的纠错指示事件,根据纠错指示事件确定编码字 符串中需要被修改的第一编码字符集; 纠错单元730,用于接收用户的纠错指令,对所述第一编码字符集进行所述纠错指 令指示的纠错操作。
优选地,第一确定单元710具体可以用于 接收用户输入的编码字符串,将接收到的所述编码字符串作为所述需要进行字符 纠错的编码字符串;或者, 第一确定单元710具体可以用于接收用户输入的编码字符串;将接收到的编码 字符串中,用户已确认的候选项所对应的编码字符串之外的编码字符串作为所述需要进行 字符纠错的编码字符串。 优选地,如图7所示,该系统进一步包括 展现单元740,用于向用户展现所述第一编码字符集。
优选地,该系统还可以包括 状态转换单元,用于接收用户的状态转换指令,进行输入法的插入字符状态和替 换字符状态之间的转换。 如图7所示,纠错单元730可以通过删除子单元7301或替换子单元7302实现
删除子单元73()1,用于接收用户的删除指令,删除所述第一编码字符集;或者,
替换子单元7302,用于接收用户输入的第五编码字符集,用所述第五编码字符集 替换所述第一编码字符集。 如图8所示,第二确定单元720可以通过以下结构实现,包括 第一确定子单元810,用于接收用户的纠错指示事件,根据所述纠错指示事件确定
输入焦点在编码字符串中的位置; 第二确定子单元820,用于根据输入焦点在编码字符串中的位置确定所述需要被 修改的第一编码字符集。 具体的,第二确定子单元82()可以用于确定编码字符串中与输入焦点关联的至 少--个第三编码字符集为所述第一编码字符集,所述第--编码字符集中的至少一个字符与 所述输入焦点相邻;此时,该系统还包括 切分单元,用于对接收到的编码字符串进行字符切分,得到至少一个第三编码字 符集。所述切分单元可以位于第一确定单元中,或者,第一确定单元与第二确定单元之间。
或者,所述第二确定子单元820可以用于确定输入焦点之前或者之后的一个编 码字符为所述需要被修改的第一编码字符集;或者,确定输入焦点之前和/或之后的第二 预设数量个编码字符为所述需要被修改的第一编码字符集。
或者,如图8所示,第二确定子单元820还可以通过以下结构实现 切分子模块8201,用于对预设切分范围内的编码字符串进行字符切分,得到至少
一个第三编码字符集; 确定子模块8202,用于确定编码字符串中与输入焦点关联的至少一个第三编码 字符集为所述第--编码字符集,所述第一编码字符集中的至少一个字符与所述输入焦点相 邻。
第一确定子单元810可以通过以下结构实现,包括 第一位置确定子模块,用于接收焦点移动事件,根据焦点移动事件指示的输入焦 点的移动方向确定输入焦点在编码字符串中的位置;或者, 第二位置确定子模块,用于接收字母定位事件,检测编码字符串中是否存在所述 字母定位事件中指示的字母,如果是,根据该字母确定输入焦点在编码字符串中的位置;或 者, 第三位置确定子模块,用于接收鼠标点击事件,根据鼠标在字符串输入窗口中的 点击位置确定输入焦点在编码字符串中的位置。 如图9所示,第二确定单元720可以通过以下结构实现,包括 第三确定子单元91(),用于根据所述纠错指示事件选中的编码字符形成第二编码
字符集; 第四确定子单元920,用于根据所述第二编码字符集确定所述需要被修改的第一 编码字符集,所述第一编码字符集至少包括所述第二编码字符集。 优选地,第四确定子单元92()可以用于确定所述第二编码字符集为所述第一编 码字符集。 或者,所述第四确定子单元920可以用于确定所述第二编码字符集所在的至少 一个第三编码字符集为所述第一编码字符集;此时,该系统还包括 切分单元,用于对接收到的编码字符串进行字符切分,得到至少一个第三编码字 符集。 如图10所示,第二确定单元720可以通过以下结构实现,包括 第五确定子单元IOIO,用于根据纠错指示事件中的自动检测指示,检测编码字符
串中不符合预设输入规则的字符或字符串,根据检测得到的所述不符合预设输入规则的字
符或字符串对应形成至少一个第四编码字符集; 第六确定子单元1020,用于根据预设选择规则,从检测得到的所述第四编码字符 集中选择至少一个第四编码字符集,将选择得到的至少一个所述第四编码字符集作为所述 第一编码字符集。 优选地,第六确定子单元1020还用于再次接收到包含自动检测指示的纠错指示 事件时,将检测得到的第四编码字符集中,被选择的所述第四编码字符集的F—个第四编 码字符集作为所述第一编码字符集。 图7 图10所示的输入过程中字符纠错系统的结构中,第一确定单元接收用户输 入的编码字符串,第二确定单元通过用户的纠错指示事件,从编码字符串中确定需要被修 改的第一编码字符集,进而纠错单元通过用户的纠错指令对整个第一编码字符集进行整体 的纠错操作,从而不再需要用户逐个编码字符地进行删除、替换等操作,减少了用户操作次数,提高了用户的字符纠错效率。 本领域普通技术人员可以理解,实现上述实施例字符纠错方法的过程可以通过程
序指令相关的硬件来完成,所述的程序可以存储于可读取存储介质中,该程序在执行时执
行上述方法中的对应步骤。所述的存储介质可以如R(遍/RAM、磁碟、光盘等。 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人
员来说,在不脱离本发明原理的前提下,还可以做出若千改进和润饰,这些改进和润饰也应
视为本发明的保护范围。
权利要求
一种字符纠错方法,其特征在于,包括确定需要进行字符纠错的编码字符串;接收纠错指示事件,根据所述纠错指示事件确定所述编码字符串中需要被修改的第一编码字符集;接收纠错指令,对所述第一编码字符集进行所述纠错指令指示的纠错操作。
2. 根据权利要求1所述的方法,其特征在于,根据所述纠错指示事件确定编码字符串 中需要被修改的第一编码字符集具体为根据所述纠错指示事件确定输入焦点在编码字符串中的位置;根据输入焦点在编码字 符串中的位置确定所述需要被修改的第一编码字符集; 或者,根据所述纠错指示事件选中的编码字符形成第二编码字符集;根据所述第二编码字符 集确定所述需要被修改的第一编码字符集。
3. 根据权利要求2所述的方法,其特征在于,所述接收用户输入的编码字符串之后,进 一步包括对接收到的编码字符串进行字符切分,得到至少一个第三编码字符集; 相应的,所述根据输入焦点在编码字符串中的位置确定所述需要被修改的第一编码字 符集具体为确定编码字符串中与输入焦点关联的至少-一个第三编码字符集为所述第一编码字符 集,所述第一编码字符集中的至少一个字符与所述输入焦点相邻。
4. 根据权利要求2所述的方法,其特征在于,所述根据输入焦点在编码字符串中的位 置确定所述需要被修改的第一编码字符集具体为对预设切分范围内的编码字符串进行字符切分,得到至少-一个第三编码字符集; 确定编码字符串中与输入焦点关联的至少一个第三编码字符集为所述第一编码字符 集,所述第一编码字符集中的至少一个字符与所述输入焦点相邻。
5. 根据权利要求4所述的方法,其特征在于,所述预设切分范围为接收到的所述用户 输入的编码字符串,或者,输入焦点之后的所有编码字符串,或者,输入焦点之后的预设数 量个编码字符串。
6. 根据权利要求2所述的方法,其特征在于,所述根据输入焦点在编码字符串中的位 置确定所述需要被修改的第一编码字符集具体为确定输入焦点之前或者之后的一个编码字符为所述需要被修改的第一编码字符集;或者,确定输入焦点之前和/或之后的预设数量个编码字符为所述需要被修改的第一编码 字符集。
7. 根据权利要求3至5任一项所述的方法,其特征在于,所述确定编码字符串中与输入 焦点关联的至少一个第三编码字符集为所述第一编码字符集具体为确定输入焦点所在的第三编码字符集为所述第一编码字符集;或者, 确定输入焦点之前和/或之后的预设数量个第三编码字符集为所述第一编码字符集。
8. 根据权利要求2至6任 -项所述的方法,其特征在于,所述根据所述纠错指示事件确 定输入焦点在编码字符串中的位置具体为所述纠错指示事件为焦点移动事件时,根据焦点移动事件指示的输入焦点的移动方向 确定输入焦点在编码字符串中的位置;或者,所述纠错指示事件为字母定位事件时,检测编码字符串中是否存在所述字母定位事件 中指示的字母,如果是,根据该字母确定输入焦点在编码字符串中的位置;或者,所述纠错指示事件为鼠标点击事件时,根据鼠标在字符串输入窗口中的点击位置确定 输入焦点在编码字符串中的位置。
9. 根据权利要求2所述的方法,其特征在于,所述接收用户输入的编码字符串之后,进 一步包括对接收到的编码字符串进行字符切分,得到至少一个第三编码字符集; 相应的,所述根据所述纠错指示事件指示的第二编码字符集确定所述需要被修改的第 一编码字符集具体为确定所述第二编码字符集所在的至少一个第三编码字符集为所述第一编码字符集。
10. 根据权利要求1所述的方法,其特征在于,所述根据所述纠错指示事件确定编码字 符串中需要被修改的第一编码字符集具体为根据纠错指示事件中的自动检测指示,检测编码字符串中不符合预设输入规则的字符 或字符串,根据检测得到的所述不符合预设输入规则的字符或字符串对应形成至少一个第 四编码字符集;根据预设选择规则,从检测得到的至少一个所述第四编码字符集中选择至少一个第四 编码字符集,将选择得到的至少一个所述第四编码字符集作为所述第一编码字符集。
11.根据权利要求l()所述的方法,其特征在于,还包括再次接收到包含自动检测指示的纠错指示事件时,将检测得到的第四编码字符集中, 被选择的所述第四编码字符集的下一个第四编码字符集作为所述第一编码字符集。
12. 根据权利要求10或11所述的方法,其特征在于,所述编码字符串为拼音字符串,所 述输入规则为拼音规则时,所述检测编码字符串中不符合预设输入规则的字符或字符串具 体为检测所述编码字符串中是否存在声母和韵母颠倒的音节,如果是,则所述声母和韵母 颠倒的音节为不符合预设拼音规则的音节;和/或,检测所述编码字符串中是否存在非声母字母或非简拼字母开头的音节,如果是,则所 述非声母字母或非简拼字母开头的音节为不符合预设拼音规则的音节;和/或,检测所述编码字符串中是否存在全拼音节中夹杂的简拼字母,如果是,所述简拼字母 为不符合预设拼音规则的音节。
13. 根据权利要求1至6、9至11任一项所述的方法,其特征在于,对所述第一编码字符 集进行所述纠错指令指示的纠错操作具体为所述纠错指令为删除指令时,删除所述第一编码字符集;或者,所述纠错指令包括用户输入的第五编码字符集时,用所述第五编码字符集替换所述第 一编码字符集。
14. 根据权利要求1至6、9至11任 -项所述的方法,其特征在于,所述确定第 -编码字 符集之后,进一步包括向用户展现所述第一编码字符集。
15. 根据权利要求1至6、9至11任 -项所述的方法,其特征在于,所述确定需要进行字 符纠错的编码字符串具体为接收用户输入的编码字符串,将接收到的所述编码字符串作为所述需要进行字符纠错 的编码字符串;或者,接收用户输入的编码字符串;将接收到的编码字符串中,用户已确认的候选项所对应 的编码字符串之外的编码字符串作为所述需要进行字符纠错的编码字符串。
16. —种字符纠错系统,其特征在于,包括 第一确定单元,用于确定需要进行字符纠错的编码字符串;第二确定单元,用于接收纠错指示事件,根据纠错指示事件确定编码字符串中需要被 修改的第一编码字符集;纠错单元,用于接收纠错指令,对所述第一编码字符集进行所述纠错指令指示的纠错 操作。
17. 根据权利要求16所述的系统,其特征在于,第二确定单元包括第一确定子单元,用于接收用户的纠错指示事件,根据所述纠错指示事件确定输入焦 点在编码字符串中的位置;第二确定子单元,用于根据输入焦点在编码字符串中的位置确定所述需要被修改的第 一编码字符集;或者,所述第二确定单元包括第三确定子单元,用于根据所述纠错指示事件选中的编码字符形成第二编码字符集; 第四确定子单元,用于根据所述第二编码字符集确定所述需要被修改的第一编码字符 集,所述第一编码字符集至少包括所述第二编码字符集。
18. 根据权利要求17所述的系统,其特征在于,该系统还包括切分单元,用于对接收到的编码字符串进行字符切分,得到至少一个第三编码字符集;相应的,第二确定子单元具体用于确定编码字符串中与输入焦点关联的至少--个第 三编码字符集为所述第一编码字符集,所述第一编码字符集中的至少一个字符与所述输入 焦点相邻。
19. 根据权利要求17所述的系统,其特征在于,第二确定子单元包括 切分子模块,用于对预设切分范围内的编码字符串进行字符切分,得到至少 -个第三编码字符集;确定子模块,用于确定编码字符串中与输入焦点关联的至少一个第三编码字符集为所 述第一编码字符集,所述第一编码字符集中的至少一个字符与所述输入焦点相邻。
20. 根据权利要求17所述的系统,其特征在于,所述第二确定子单元具体用于确定输 入焦点之前或者之后的一个编码字符为所述需要被修改的第一编码字符集;或者,确定输 入焦点之前和/或之后的第二预设数量个编码字符为所述需要被修改的第一编码字符集。
21. 根据权利要求17至20任一项所述的系统,其特征在于,第一确定子单元包括 第--位置确定子模块,用于接收焦点移动事件,根据焦点移动事件指示的输入焦点的移动方向确定输入焦点在编码字符串中的位置;或者,第二位置确定子模块,用于接收字母定位事件,检测编码字符串中是否存在所述字母定位事件中指示的字母,如果是,根据该字母确定输入焦点在编码字符串中的位置;或者,第三位置确定子模块,用于接收鼠标点击事件,根据鼠标在字符串输入窗口中的点击位置确定输入焦点在编码字符串中的位置。
22. 根据权利要求17所述的系统,其特征在于,该系统进一步包括切分单元,用于对接收到的编码字符串进行字符切分,得到至少 -个第三编码字符集;相应的,所述第四确定子单元具体用于确定所述第二编码字符集所在的至少一个第三编码字符集为所述第一编码字符集。
23. 根据权利要求16所述的系统,其特征在于,第二确定单元包括第五确定子单元,用于根据纠错指示事件中的自动检测指示,检测编码字符串中不符合预设输入规则的字符或字符串,根据检测得到的所述不符合预设输入规则的字符或字符串对应形成至少一个第四编码字符集;第六确定子单元,用于根据预设选择规则,从检测得到的所述第四编码字符集中选择至少一个第四编码字符集,将选择得到的至少一个所述第四编码字符集作为所述第一编码字符集。
24. 根据权利要求23所述的系统,其特征在于,第六确定子单元还用于再次接收到包含自动检测指示的纠错指示事件时,将检测得到的第四编码字符集中,被选择的所述第四编码字符集的下一个第四编码字符集作为所述第一编码字符集。
25. 根据权利要求16至20、22至24所述的系统,其特征在于,纠错单元包括删除子单元,用于接收用户的删除指令,删除所述第一编码字符集;或者,替换子单元,用于接收用户输入的第五编码字符集,用所述第五编码字符集替换所述第一编码字符集。
26. 根据权利要求16至20、22至24任一项所述的系统,其特征在于,进一步包括展现单元,用于向用户展现所述第一编码字符集。
27. 根据权利要求16至20、22至24任 -项所述的系统,其特征在于,第--确定单元具体用于接收用户输入的编码字符串,将接收到的所述编码字符串作为所述需要进行字符纠错的编码字符串;或者,第一确定单元具体用于接收用户输入的编码字符串;将接收到的编码字符串中,用户已确认的候选项所对应的编码字符串之外的编码字符串作为所述需要进行字符纠错的编码字符串。
全文摘要
本发明公开了一种字符纠错方法及系统,所述方法包括确定需要进行字符纠错的编码字符串;接收纠错指示事件,根据所述纠错指示事件确定所述编码字符串中需要被修改的第一编码字符集;接收纠错指令,对所述第一编码字符集进行所述纠错指令指示的纠错操作。所述方法及系统能够提高输入过程中的字符纠错效率。
文档编号G06F3/048GK101710262SQ20091024264
公开日2010年5月19日 申请日期2009年12月11日 优先权日2009年12月11日
发明者何立涛 申请人:北京搜狗科技发展有限公司