專利名稱:字符糾錯方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及輸入法領(lǐng)域,尤其涉及-種字符糾錯方法及系統(tǒng)。
背景技術(shù):
對于中文、日文、韓文等用戶而言,一般都需要通過輸入法程序與計算機進(jìn)行交 互用戶通過鍵盤輸入編碼字符串,然后由輸入法程序依據(jù)其預(yù)置的標(biāo)準(zhǔn)映射規(guī)則將其變 換為相應(yīng)語言的候選項,進(jìn)而由用戶確認(rèn)輸入所需信息。 但是人們在輸入編碼字符串時,很容易會輸入錯誤的編碼字符串,進(jìn)而難以得到 該用戶所需的候選項結(jié)果。例如,對于中文拼音輸入法而言,在用戶輸入漢字所對應(yīng)的拼音 時,可能發(fā)生的錯誤主要有以下三種 —種是漏輸入字母,如用戶想輸入詞語"今天"所對應(yīng)的拼音"jin' tian(本處以 及后文的編碼字符串中的單引號"'"僅僅為了觀看方便,并非由用戶輸入)",但是,卻漏掉 了 "tian"中的字母"i",使得輸入結(jié)果為"jin, tan"; 第二種是多輸入字母,如用戶想輸入"jin'tian",但是,卻錯誤的多輸入了一個字 母"n",使得輸入結(jié)果為"jin' n, t.ian"; 第三種是輸入的字母順序顛倒,如用戶想輸入"jin' tian",但是,卻錯誤的將"i " 在"t"之前輸入,使得輸入結(jié)果為"j in , i tan "; 上述三種情況下,由于輸入拼音的錯誤,用戶都無法直接獲得想輸入的漢字"今 天",而必須對輸入的編碼字符串進(jìn)行糾錯,以輸入詞語"今天"正確的拼音"jin' t.ian"。
當(dāng)前的輸入法中,如果用戶的拼音輸入錯誤時, 一種用戶糾錯方法為由用戶通過 鍵盤中的左右方向鍵移動光標(biāo),定位光標(biāo)到錯誤字符處,通過鍵盤上的backspace、 Delete 等按鍵,逐個刪掉錯誤的字符或字符串,之后,再定位光標(biāo)到相應(yīng)的位置,插入正確的字符 或字符串。例如,輸入"今天"的拼音為"jin' itan"的情況下,用戶需要首先將光標(biāo)定位 到字母"i"處,刪除該字母,之后,再定位光標(biāo)到字母t和a之間,輸入字母i。而當(dāng)用戶一
次輸入的字符串過長且字符串中出現(xiàn)的輸入錯誤過多時,這一糾錯過程將更為復(fù)雜,從而 消耗用戶更多的時間?;蛘撸脩暨€可以按Esc鍵或其他刪除鍵整體刪除用戶輸入的字符 串,之后,再重新輸入正確的字符串,但是,當(dāng)用戶輸入的字符串過長時,整體刪除字符串再 重新輸入正確的字符串的過程也會消耗用戶的很多時間。 通過以上分析,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中用戶因輸入字符錯誤而進(jìn)行糾錯時,糾錯 效率低。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明要解決的技術(shù)問題是,提供一種字符糾錯方法及系統(tǒng),能夠提高
字符糾錯效率。為此,本發(fā)明實施例采用如下技術(shù)方案 本發(fā)明實施例提供一種字符糾錯方法,包括
確定需要進(jìn)行字符糾錯的編碼字符串; 接收糾錯指示事件,根據(jù)所述糾錯指示事件確定所述編碼字符串中需要被修改的 第一編碼字符集; 接收糾錯指令,對所述第一編碼字符集進(jìn)行所述糾錯指令指示的糾錯操作。 其中,根據(jù)所述糾錯指示事件確定編碼字符串中需要被修改的第一編碼字符集具 體為 根據(jù)所述糾錯指示事件確定輸入焦點在編碼字符串中的位置;根據(jù)輸入焦點在編
碼字符串中的位置確定所述需要被修改的第一編碼字符集;
或者, 根據(jù)所述糾錯指示事件選中的編碼字符形成第二編碼字符集;根據(jù)所述第二編碼
字符集確定所述需要被修改的第一編碼字符集。 所述接收用戶輸入的編碼字符串之后,進(jìn)一步包括 對接收到的編碼字符串進(jìn)行字符切分,得到至少一個第三編碼字符集; 相應(yīng)的,所述根據(jù)輸入焦點在編碼字符串中的位置確定所述需要被修改的第一編
碼字符集具體為 確定編碼字符串中與輸入焦點關(guān)聯(lián)的至少一個第三編碼字符集為所述第一編碼 字符集,所述第一編碼字符集中的至少一個字符與所述輸入焦點相鄰。 所述根據(jù)輸入焦點在編碼字符串中的位置確定所述需要被修改的第一編碼字符 集具體為 對預(yù)設(shè)切分范圍內(nèi)的編碼字符串進(jìn)行字符切分,得到至少一個第三編碼字符集;
確定編碼字符串中與輸入焦點關(guān)聯(lián)的至少--個第三編碼字符集為所述第--編碼 字符集,所述第一編碼字符集中的至少一個字符與所述輸入焦點相鄰。 所述預(yù)設(shè)切分范圍為接收到的所述用戶輸入的編碼字符串,或者,輸入焦點之后 的所有編碼字符串,或者,輸入焦點之后的預(yù)設(shè)數(shù)量個編碼字符串。 所述根據(jù)輸入焦點在編碼字符串中的位置確定所述需要被修改的第--編碼字符 集具體為 確定輸入焦點之前或者之后的一個編碼字符為所述需要被修改的第一編碼字符 集;或者, 確定輸入焦點之前和Z或之后的預(yù)設(shè)數(shù)量個編碼字符為所述需要被修改的第--編碼字符集。 所述確定編碼字符串中與輸入焦點關(guān)聯(lián)的至少一個第三編碼字符集為所述第一 編碼字符集具體為 確定輸入焦點所在的第三編碼字符集為所述第一編碼字符集;或者, 確定輸入焦點之前和/或之后的預(yù)設(shè)數(shù)量個第三編碼字符集為所述第一編碼字符集。
所述根據(jù)所述糾錯指示事件確定輸入焦點在編碼字符串中的位置具體為 所述糾錯指示事件為焦點移動事件時,根據(jù)焦點移動事件指示的輸入焦點的移動
方向確定輸入焦點在編碼字符串中的位置;或者, 所述糾錯指示事件為字母定位事件時,檢測編碼字符串中是否存在所述字母定位事件中指示的字母,如果是,根據(jù)該字母確定輸入焦點在編碼字符串中的位置;或者,
所述糾錯指示事件為鼠標(biāo)點擊事件時,根據(jù)鼠標(biāo)在字符串輸入窗口中的點擊位置 確定輸入焦點在編碼字符串中的位置。 所述接收用戶輸入的編碼字符串之后,進(jìn)一步包括 對接收到的編碼字符串進(jìn)行字符切分,得到至少一個第三編碼字符集; 相應(yīng)的,所述根據(jù)所述糾錯指示事件指示的第二編碼字符集確定所述需要被修改
的第一編碼字符集具體為 確定所述第二編碼字符集所在的至少一個第三編碼字符集為所述第一編碼字符 集。 所述根據(jù)所述糾錯指示事件確定編碼字符串中需要被修改的第一編碼字符集具 體為 根據(jù)糾錯指示事件中的自動檢測指示,檢測編碼字符串中不符合預(yù)設(shè)輸入規(guī)則的 字符或字符串,根據(jù)檢測得到的所述不符合預(yù)設(shè)輸入規(guī)則的字符或字符串對應(yīng)形成至少一 個第四編碼字符集; 根據(jù)預(yù)設(shè)選擇規(guī)則,從檢測得到的至少一個所述第四編碼字符集中選擇至少一個 第四編碼字符集,將選擇得到的至少一個所述第四編碼字符集作為所述第一編碼字符集。
還包括再次接收到包含自動檢測指示的糾錯指示事件時,將檢測得到的第四編 碼字符集中,被選擇的所述第四編碼字符集的下一個第四編碼字符集作為所述第一編碼字 符集。 所述編碼字符串為拼音字符串,所述輸入規(guī)則為拼音規(guī)則時,所述檢測編碼字符 串中不符合預(yù)設(shè)輸入規(guī)則的字符或字符串具體為 檢測所述編碼字符串中是否存在聲母和韻母顛倒的音節(jié),如果是,則所述聲母和 韻母顛倒的音節(jié)為不符合預(yù)設(shè)拼音規(guī)則的音節(jié);和/或, 檢測所述編碼字符串中是否存在非聲母字母或非簡拼字母開頭的音節(jié),如果是, 則所述非聲母字母或非簡拼字母開頭的音節(jié)為不符合預(yù)設(shè)拼音規(guī)則的音節(jié);和Z或,
檢測所述編碼字符串中是否存在全拼音節(jié)中夾雜的簡拼字母,如果是,所述簡拼 字母為不符合預(yù)設(shè)拼音規(guī)則的音節(jié)。 對所述第一編碼字符集進(jìn)行所述糾錯指令指示的糾錯操作具體為
所述糾錯指令為刪除指令時,刪除所述第-編碼字符集;或者, 所述糾錯指令包括用戶輸入的第五編碼字符集時,用所述第五編碼字符集替換所 述第一編碼字符集。 所述確定第一編碼字符集之后,進(jìn)一步包括 向用戶展現(xiàn)所述第一編碼字符集。 所述確定需要進(jìn)行字符糾錯的編碼字符串具體為 接收用戶輸入的編碼字符串,將接收到的所述編碼字符串作為所述需要進(jìn)行字符 糾錯的編碼字符串;或者, 接收用戶輸入的編碼字符串;將接收到的編碼字符串中,用戶已確認(rèn)的候選項所
對應(yīng)的編碼字符串之外的編碼字符串作為所述需要進(jìn)行字符糾錯的編碼字符串。
本發(fā)明實施例還提供一種字符糾錯系統(tǒng),包括
第-一確定單元,用于確定需要進(jìn)行字符糾錯的編碼字符串; 第二確定單元,用于接收糾錯指示事件,根據(jù)糾錯指示事件確定編碼字符串中需 要被修改的第一編碼字符集; 其中,第二確定單元包括 第一確定子單元,用于接收用戶的糾錯指示事件,根據(jù)所述糾錯指示事件確定輸 入焦點在編碼字符串中的位置; 第二確定子單元,用于根據(jù)輸入焦點在編碼字符串中的位置確定所述需要被修改 的第一編碼字符集; 或者,所述第二確定單元包括 第三確定子單元,用于根據(jù)所述糾錯指示事件選中的編碼字符形成第二編碼字符 集; 第四確定子單元,用于根據(jù)所述第二編碼字符集確定所述需要被修改的第一編碼 字符集,所述第一編碼字符集至少包括所述第二編碼字符集。 該系統(tǒng)還包括切分單元,用于對接收到的編碼字符串進(jìn)行字符切分,得到至少一 個第三編碼字符集; 相應(yīng)的,第二確定子單元具體用于確定編碼字符串中與輸入焦點關(guān)聯(lián)的至少一 個第三編碼字符集為所述第一編碼字符集,所述第一編碼字符集中的至少一個字符與所述 輸入焦點相鄰。 第二確定子單元包括 切分子模塊,用于對預(yù)設(shè)切分范圍內(nèi)的編碼字符串進(jìn)行字符切分,得到至少一個 第三編碼字符集; 確定子模塊,用于確定編碼字符串中與輸入焦點關(guān)聯(lián)的至少一個第三編碼字符集 為所述第一編碼字符集,所述第--編碼字符集中的至少一個字符與所述輸入焦點相鄰。
所述第二確定子單元具體用于確定輸入焦點之前或者之后的一個編碼字符為所 述需要被修改的第一編碼字符集;或者,確定輸入焦點之前和/或之后的第二預(yù)設(shè)數(shù)量個 編碼字符為所述需要被修改的第一編碼字符集。
第一確定子單元包括 第一位置確定子模塊,用于接收焦點移動事件,根據(jù)焦點移動事件指示的輸入焦 點的移動方向確定輸入焦點在編碼字符串中的位置;或者, 第二位置確定子模塊,用于接收字母定位事件,檢測編碼字符串中是否存在所述 字母定位事件中指示的字母,如果是,根據(jù)該字母確定輸入焦點在編碼字符串中的位置;或 者, 第三位置確定子模塊,用于接收鼠標(biāo)點擊事件,根據(jù)鼠標(biāo)在字符串輸入窗口中的
點擊位置確定輸入焦點在編碼字符串中的位置。 該系統(tǒng)進(jìn)--步包括 切分單元,用于對接收到的編碼字符串進(jìn)行字符切分,得到至少一個第三編碼字 符集;
相應(yīng)的,所述第四確定子單元具體用于確定所述第二編碼字符集所在的至少一
個第三編碼字符集為所述第一編碼字符集。 第二確定單元包括 第五確定子單元,用于根據(jù)糾錯指示事件中的自動檢測指示,檢測編碼字符串中 不符合預(yù)設(shè)輸入規(guī)則的字符或字符串,根據(jù)檢測得到的所述不符合預(yù)設(shè)輸入規(guī)則的字符或 字符串對應(yīng)形成至少一個第四編碼字符集; 第六確定子單元,用于根據(jù)預(yù)設(shè)選擇規(guī)則,從檢測得到的所述第四編碼字符集中 選擇至少一個第四編碼字符集,將選擇得到的至少一個所述第四編碼字符集作為所述第一 編碼字符集。
第六確定子單元還用于再次接收到包含自動檢測指示的糾錯指示事件時,將檢 測得到的第四編碼字符集中,被選擇的所述第四編碼字符集的下一個第四編碼字符集作為 所述第一編碼字符集。
糾錯單元包括 刪除子單元,用于接收用戶的刪除指令,刪除所述第一編碼字符集;或者, 替換子單元,用于接收用戶輸入的第五編碼字符集,用所述第五編碼字符集替換
所述第一編碼字符集。
進(jìn)-一步包括 展現(xiàn)單元,用于向用戶展現(xiàn)所述第一編碼字符集。
第一確定單元具體用于 接收用戶輸入的編碼字符串,將接收到的所述編碼字符串作為所述需要進(jìn)行字符
糾錯的編碼字符串;
或者, 第一確定單元具體用于接收用戶輸入的編碼字符串;將接收到的編碼字符串 中,用戶已確認(rèn)的候選項所對應(yīng)的編碼字符串之外的編碼字符串作為所述需要進(jìn)行字符糾 錯的編碼字符串。。 對于上述技術(shù)方案的技術(shù)效果分析如下 接收用戶輸入的編碼字符串,通過用戶的糾錯指示事件,直接從編碼字符串中確 定需要被修改的第一編碼字符集,進(jìn)而通過用戶的糾錯指令對整個第一編碼字符集進(jìn)行整 體的糾錯操作,從而可以將多個輸入錯誤的編碼字符--次性的糾錯完成,不再需要用戶逐 個編碼字符地進(jìn)行刪除等操作,相對減少了用戶的操作次數(shù),從而提高了用戶在輸入過程 中的字符糾錯效率。 進(jìn)而,所述糾錯指示事件存在鍵盤快捷操作、鼠標(biāo)操作等多種觸發(fā)方法,方便用戶 的靈活選擇,從而減少了用戶操作成本,進(jìn)-步提高了用戶在輸入過程中的字符糾錯效率。
圖1為本發(fā)明實施例一種字符糾錯方法流程示意圖; 圖2為本發(fā)明實施例另--種字符糾錯方法流程示意圖; 圖3為本發(fā)明實施例第三種字符糾錯方法流程示意圖; 圖3a為本發(fā)明實施例同時選中兩個第一編碼字符集的實現(xiàn)實例;
圖4為本發(fā)明實施例第四種字符糾錯方法流程示意圖; 圖5a 圖5d為現(xiàn)有技術(shù)中字符糾錯方法示例圖; 圖6a 圖6e為本發(fā)明實施例字符糾錯方法示例圖; 圖7a為本發(fā)明實施例注音輸入法中的注音字符與按鍵之間的映射關(guān)系表; 圖7b和圖7c為本發(fā)明實施例日文輸入法中假名與字符集之間的映射關(guān)系表; 圖7為本發(fā)明實施例一種字符糾錯系統(tǒng)結(jié)構(gòu)示意圖; 圖8為本發(fā)明實施例字符糾錯系統(tǒng)中第二確定單元的一種結(jié)構(gòu)示意圖; 圖9為本發(fā)明實施例字符糾錯系統(tǒng)中第二確定單元的第二種結(jié)構(gòu)示意圖; 圖10為本發(fā)明實施例字符糾錯系統(tǒng)中第二確定單元的第三種結(jié)構(gòu)示意圖。
具體實施例方式
以下,結(jié)合附圖詳細(xì)說明本發(fā)明輸入過程中字符糾錯方法及系統(tǒng)的實現(xiàn)。 本發(fā)明輸入過程中字符糾錯方法及系統(tǒng)根據(jù)用戶的糾錯指示事件,相應(yīng)確定編碼
字符串中需要被操作的第一編碼字符集,進(jìn)而對第一編碼字符集進(jìn)行整體修改,從而不再由用戶逐個字符進(jìn)行字符糾錯,提高了字符糾錯效率。
圖1為本發(fā)明實施例字符糾錯方法流程示意圖,如圖1所示,包括
步驟101 :確定需要進(jìn)行字符糾錯的編碼字符串。
本歩驟可以通過以下兩種方式實現(xiàn) a)直接將用戶輸入的編碼字符串作為所述需要進(jìn)行字符糾錯的編碼字符串,此
時,本步驟的實現(xiàn)可以為 接收用戶輸入的編碼字符串,將接收到的用戶輸入的編碼字符串作為所述需要進(jìn)行字符糾錯的編碼字符串; (2)在接收到的用戶輸入的編碼字符串的基礎(chǔ)上,用戶進(jìn)行前邊若干個正確候選項的確認(rèn),之后,只要將用戶確認(rèn)的候選項對應(yīng)的編碼字符串之外的編碼字符串作為需要進(jìn)行字符糾錯的編碼字符串即可;此時,本步驟的實現(xiàn)可以為
接收用戶輸入的編碼字符串; 將接收到的所述編碼字符串中,用戶己確認(rèn)的候選項所對應(yīng)的編碼字符串之外的編碼字符串作為所述需要進(jìn)行字符糾錯的編碼字符串。 其中,所述接收用戶輸入的編碼字符串,以及用戶如何確認(rèn)候選項等可以使用現(xiàn)
有技術(shù)中的相關(guān)技術(shù)完成,這里不贅述。 對于本步驟舉例來說 所期望輸入的為"我和朋友去游樂園"的拼音串"wo, he,peng,you, qu'you, le,yuan",而實際輸入的是"wo' he' pen' you' qi, you' le' yuan",貝U,本步驟中使用(1)的方法實現(xiàn)時會將"wo' he' pen' you' qi' you' le' yuan"作為需要進(jìn)行糾錯處理的編碼字符串;而使用(2)的方法實現(xiàn)時,則用戶可以先確認(rèn)"wo' he"對應(yīng)的候選項"我和",從而,本步驟中所需要進(jìn)行字符糾錯的編碼字符串就為"pen' you' qi' you' le' y體"。 步驟102 :接收用戶的糾錯指示事件,根據(jù)糾錯指示事件確定所述編碼字符串中需要被修改的第一編碼字符集。 所述第一編碼字符集中包括至少一個編碼字符,且第一編碼字符集中的字符為所述編碼字符串中的若干個連續(xù)編碼字符。 步驟103 :接收用戶的糾錯指令,對所述第一編碼字符集進(jìn)行所述糾錯指令指示的糾錯操作。
所述糾錯操作可以包括刪除或替換等。 因此,本步驟的實現(xiàn)可以為接收到的用戶的糾錯指令為刪除指令時,刪除所述第一編碼字符集;或者,接收到的用戶的糾錯指令為用戶輸入的第五編碼字符集時,用所述第五編碼字符集替換所述第一編碼字符集。 其中,用戶的刪除指令可以通過用戶按下某一預(yù)設(shè)的快捷鍵觸發(fā),所述預(yù)設(shè)的快捷鍵可以在實際應(yīng)用中具體設(shè)定,這里并不限制。例如,一般可以設(shè)定刪除指令的快捷鍵為Delete鍵或者Backspace鍵,則,當(dāng)輸入法檢測到用戶按F Delete鍵或者Backspace鍵時,輸入法認(rèn)定接收到了用戶輸入的刪除指令。 用戶輸入的所述第五編碼字符集中包括至少一個編碼字符。 優(yōu)選地,在圖1所示的本發(fā)明實施例字符糾錯方法中,步驟102和步驟103之間,
還可以進(jìn)一步包括以下步驟 步驟102,:向用戶展現(xiàn)所述第一編碼字符集。 通過增加本步驟,可以使輸入法明確向用戶展現(xiàn)用戶所需要修改的第一編碼字符集中的字符,從而增加用戶糾錯操作的準(zhǔn)確性和目的性。 另外,如果用戶手動為輸入法提供確定第一編碼字符集的依據(jù),如圖2和圖3所示的本發(fā)明實施例中,可以不執(zhí)行該步驟,但是,在輸入法通過自動檢測確定第一編碼字符集時,例如圖4所示的本發(fā)明實施例中,則輸入法最好執(zhí)行該步驟,以便用戶能準(zhǔn)確獲知輸入法確定的第一編碼字符集,執(zhí)行正確的后續(xù)操作。 這里,輸入法可以預(yù)先設(shè)置第一編碼字符集的展現(xiàn)方式,從而在本步驟中可以以預(yù)設(shè)方式向用戶展現(xiàn)所述第一編碼字符集,具體的,所述展現(xiàn)可以為在字符串輸入窗口進(jìn)行第一編碼字符集的展現(xiàn)時,使用與其他編碼字符不同的顏色,或者,不同的背景顏色等,這里并不限定,只要能夠使用戶從編碼字符串中區(qū)別出所述第一編碼字符集,以便用戶明確獲知第一編碼字符集已經(jīng)選定完畢,從而開始后續(xù)的操作即可。 圖1所示的本發(fā)明實施例字符糾錯方法,通過用戶的糾錯指示事件,直接從編碼字符串中確定需要被修改的第一編碼字符集,進(jìn)而通過用戶的糾錯指令對所述第一編碼字符集進(jìn)行整體操作,從而只需要 -次操作就可以同時處理若干個編碼字符,不需要用戶多次移動光標(biāo)并逐個對編碼字符進(jìn)行刪除、重新輸入等操作,從而提高了用戶的字符糾錯效率。 使用本發(fā)明實施例所述字符糾錯方法的輸入法,可以認(rèn)為包括兩種狀態(tài),一為插入字符狀態(tài),也即通常意義上的輸入拼音字符的狀態(tài);一為替換字符狀態(tài),也即本發(fā)明的字符糾錯方法所在的狀態(tài),在該狀態(tài)下,用戶可以選定需要被修改的第一編碼字符集,以使用戶能夠?qū)Φ谝痪幋a字符集進(jìn)行替換、刪除等操作的狀態(tài)。在圖l所示的實施例中,可以認(rèn)為輸入法自動執(zhí)行了上述兩種狀態(tài)的轉(zhuǎn)換。即當(dāng)用戶觸發(fā)糾錯指示事件時,輸入法自動從插入字符狀態(tài)轉(zhuǎn)換為替換字符狀態(tài);而當(dāng)用戶觸發(fā)糾錯指令,按下刪除快捷鍵,刪除第一編碼字符集或輸入第五編碼字符集,替換掉第一編碼字符集時,輸入法自動從替換字符狀態(tài)轉(zhuǎn)換為插入字符狀態(tài);或者,當(dāng)用戶沒有觸發(fā)操作指令,而是執(zhí)行了其他操作時,輸入法一般也會退出替換字符狀態(tài),執(zhí)行用戶指示的其他操作,這里不贅述。 在實際應(yīng)用中,輸入法的上述狀態(tài)轉(zhuǎn)換也可以由用戶手動完成,以防止產(chǎn)生用戶在不知情的情況下的誤糾錯現(xiàn)象。此時,可以預(yù)先設(shè)置用戶觸發(fā)狀態(tài)轉(zhuǎn)換的方式,如快捷鍵、鼠標(biāo)點擊某一指定位置等,從而當(dāng)用戶執(zhí)行上述操作時,輸入法認(rèn)定用戶提交了狀態(tài)轉(zhuǎn)換指令,輸入法將從插入字符狀態(tài)轉(zhuǎn)換到替換字符狀態(tài),或者,從替換字符狀態(tài)轉(zhuǎn)換到插入字符狀態(tài)。也即圖l所示的本發(fā)明實施例還可以包括步驟接收用戶的狀態(tài)轉(zhuǎn)換指令,進(jìn)行插入字符狀態(tài)和替換字符狀態(tài)的狀態(tài)轉(zhuǎn)換。 其中,從插入字符狀態(tài)轉(zhuǎn)換到替換字符狀態(tài),或者,從替換字符狀態(tài)轉(zhuǎn)換為插入字符狀態(tài)可以使用不同的觸發(fā)方法,也可以使用相同的觸發(fā)方法。 例如,可以設(shè)定當(dāng)用戶按下Ctrl+右方向鍵時,輸入法將自身的狀態(tài)從當(dāng)前狀態(tài)(如插入字符狀態(tài))轉(zhuǎn)換到另一狀態(tài)(替換字符狀態(tài));或者,也可以設(shè)定當(dāng)用戶按下Ctrl+右方向鍵時,輸入法將自身的狀態(tài)從插入字符狀態(tài)轉(zhuǎn)換到替換字符狀態(tài),而當(dāng)用戶按下Ctrl+左方向鍵時,輸入法將自身的狀態(tài)從替換字符狀態(tài)轉(zhuǎn)換到插入字符狀態(tài)等。
當(dāng)用戶輸入了一連串的編碼字符后,如果發(fā)現(xiàn)輸入的編碼字符串存在錯誤,則手動進(jìn)行插入字符狀態(tài)到替換字符狀態(tài)的轉(zhuǎn)換,在替換字符狀態(tài)下才允許用戶執(zhí)行后續(xù)的第一編碼字符集選定以及相應(yīng)的替換或刪除等操作。 而當(dāng)用戶希望結(jié)束替換字符狀態(tài)時,則可以通過對應(yīng)的觸發(fā)方式,手動進(jìn)行替換字符狀態(tài)到插入字符狀態(tài)的轉(zhuǎn)換。上述兩種狀態(tài)之間的切換可以在用戶進(jìn)行編碼字符操作的任意時刻由用戶進(jìn)行觸發(fā),這里并不限定。 如圖2所示為本發(fā)明實施例另一種字符糾錯方法,在該方法下,用戶手動指示輸入焦點(所述輸入焦點在實際應(yīng)用中一般以光標(biāo)的形式向用戶展現(xiàn))在編碼字符串中的位置,并根據(jù)該輸入焦點的位置確定所述第一編碼字符集,從而對所述第一編碼字符集進(jìn)行糾錯操作。如圖2所示,該方法包括
步驟2()1 :接收用戶輸入的編碼字符串。 當(dāng)所述糾錯指示事件為輸入法指定輸入焦點的位置時,步驟102可以通過以下的步驟202和歩驟203實現(xiàn)。 步驟202 :接收用戶的糾錯指示事件,根據(jù)所述糾錯指示事件確定輸入焦點在編碼字符串中的位置。 本步驟中用戶的糾錯指示事件可以由用戶通過多種方式實現(xiàn),例如,鼠標(biāo)點擊事件,即用戶在字符串輸入窗口中進(jìn)行鼠標(biāo)點擊,從而輸入法可以在編碼字符串中定位輸入焦點到鼠標(biāo)點擊位置;或者,焦點移動事件,即用戶通過左右方向鍵指示輸入焦點在編碼字符串中的移動方向,每次用戶按下左方向鍵或右方向鍵時,輸入焦點將按照字符相應(yīng)移動;或者,字母定位事件,即用戶通過按下快捷鍵+字母的方式定位輸入焦點到編碼字符串中字母所在的位置等。 具體的,本步驟中的根據(jù)所述糾錯指示事件確定輸入焦點在編碼字符串中的位置的具體實現(xiàn)可以為 (1)當(dāng)輸入法接收到用戶的糾錯指示事件為鼠標(biāo)點擊事件時,根據(jù)鼠標(biāo)在字符串輸入窗口中的點擊位置確定輸入焦點在編碼字符串中的位置。
(2)當(dāng)輸入法接收到用戶的糾錯指示事件為焦點移動事件時,根據(jù)焦點移動事件指示的輸入焦點的移動方向確定輸入焦點在編碼字符串中的位置。 其中,一般可以按照通常的做法,設(shè)定觸發(fā)焦點移動事件的快捷鍵為左、右方向鍵,用戶通過按下左、右方向鍵移動光標(biāo),進(jìn)行光標(biāo)的定位,進(jìn)而達(dá)到指示輸入法移動輸入焦點的目的。--般的,每次用戶按下左或右方向鍵,指示了輸入焦點的新位置后,步驟203中都需要根據(jù)輸入焦點的新位置確定第一編碼字符集。 (3)當(dāng)輸入法接收到用戶的糾錯指示事件為字母定位事件時,檢測編碼字符串中是否存在所述字母定位事件中指示的字母,如果是,根據(jù)該字母確定輸入焦點在編碼字符串中的位置。 其中,所述根據(jù)該字母確定輸入焦點在編碼字符串中的位置可以為確定輸入焦點位于所述字母之前,或者,確定輸入焦點位于所述字母之后等,可以預(yù)先設(shè)置,這里并不限制。 另外,觸發(fā)字母定位事件的快捷鍵可以自主設(shè)置,只要能將該字母定位事件與輸入法中的觸發(fā)其他事件的快捷鍵區(qū)別開即可。例如可以設(shè)定用戶按下特定按鍵+字母時觸發(fā)所述字母定位事件,所述特定按鍵可以為Ctrl、 Space等。 而且,當(dāng)檢測到編碼字符串中存在至少兩個所述字母定位事件所指示的字母時,可以設(shè)定當(dāng)用戶再次觸發(fā)所述字母定位事件時,輸入法將所述輸入焦點移動到其他某一個所述字母的位置,從而可以在步驟203中選定用戶希望被修改的第一編碼字符集,這里不贅述。 步驟203 :根據(jù)輸入焦點在編碼字符串中的位置確定所述需要被修改的第一編碼字符集。
具體的,本步驟的實現(xiàn)可以包括 (1)根據(jù)輸入焦點與對編碼字符串進(jìn)行切分之后得到的第三編碼字符集之間的位置關(guān)系確定 A、步驟201需要進(jìn)-一步包括步驟對接收到的編碼字符串進(jìn)行字符切分,得到至少一個第三編碼字符集。其中,具體如何實現(xiàn)對編碼字符串的字符切分在本發(fā)明方法實施例的最后進(jìn)行了詳細(xì)說明,這里不贅述。每個第三編碼字符集中包括至少一個編碼字符。
此時,本步驟的實現(xiàn)具體為 確定編碼字符串中與輸入焦點關(guān)聯(lián)的至少--個第三編碼字符集為所述第--編碼字符集,所述第一編碼字符集中的至少一個字符與所述輸入焦點相鄰。 其中,可以預(yù)先設(shè)定以下情況下的第三編碼字符集是與輸入焦點關(guān)聯(lián)的第三編碼字符集輸入焦點所在的第三編碼字符集,或者,輸入焦點之前和/或之后的預(yù)設(shè)數(shù)量個第三編碼字符集。具體的預(yù)設(shè)數(shù)量可以在實際應(yīng)用中自主設(shè)定,這里并不限制。
舉例來說 假設(shè)輸入焦點位于第三編碼字符集所包含字符的中間,如第三編碼字符集X1包括字符"jUn",輸入焦點位置在字符"j"和"i"之間,則確定第三編碼字符集Xl作為所述第一編碼字符集; 又或者,假設(shè)設(shè)定輸入焦點之前的1個第三編碼字符集為與輸入焦點關(guān)聯(lián)的字符集,則如果輸入焦點位于兩個第三編碼字符集X2和X3之間,如{X2} I 3},則確定第三編碼字符集X2作為所述第一編碼字符集,其他情況與此類似,這里不再列舉。 這種實現(xiàn)方法可以應(yīng)用于進(jìn)行拼音字符輸入的情況,此時,步驟201中進(jìn)行編碼
字符的切分時,將根據(jù)音節(jié)進(jìn)行切分,則, 例如,預(yù)先設(shè)定將輸入焦點所在的音節(jié)所包含的編碼字符串作為所述第一編碼字符集,例如,編碼字符串為"jin' tan",而輸入焦點位于字母t和a之間,則確定字節(jié)"tan"為所述第一編碼字符集; 或者,預(yù)先設(shè)定將輸入焦點之后的一個音節(jié)所包含的編碼字符串作為所述第一編碼字符集,例如,編碼字符串為"jin' tan",而輸入焦點位于字母j之前,則確定字節(jié)"jin"為第一編碼字符集; 或者,預(yù)先設(shè)定當(dāng)編碼字符串中大部分為全拼音節(jié),而輸入焦點之后存在連續(xù)的
至少兩個簡拼音節(jié)時,則將所述連續(xù)的至少兩個簡拼音節(jié)同時作為所述第一編碼字符集,例如,編碼字符串為"jin' tian' w, ra, qu' jiao' you",而光標(biāo)位于w之前,則確定"w' m"
為第-一編碼字符集。 這里,在實際應(yīng)用中還可以使用其他的根據(jù)輸入焦點的位置確定第一編碼字符集的方法,這里不再贅述。 B、所述切分操作也可以不在步驟201中執(zhí)行,而是在本步驟中執(zhí)行,此時,本步驟的實現(xiàn)具體為 對預(yù)設(shè)切分范圍內(nèi)的編碼字符串進(jìn)行字符切分,得到至少一個第三編碼字符集;
確定編碼字符串中與輸入焦點關(guān)聯(lián)的至少一個第三編碼字符集為所述第一編碼字符集,所述第一編碼字符集中的至少一個字符與所述輸入焦點相鄰。 所述預(yù)設(shè)切分范圍可以為接收到的所述用戶輸入的編碼字符串,也即對接收到的整個編碼字符串進(jìn)行切分;或者,輸入焦點之后的所有編碼字符串,也即對輸入焦點之后的所有編碼字符串進(jìn)行切分;或者,輸入焦點之后的預(yù)設(shè)數(shù)量個編碼字符串,也即預(yù)先設(shè)定一個數(shù)量,則輸入法獲取輸入焦點之后的預(yù)設(shè)數(shù)量個編碼字符串,對獲取到的編碼字符串進(jìn)行切分。這里,具體的預(yù)設(shè)數(shù)量并不限制,可以在實際應(yīng)用中自主設(shè)置。
其他參見A中的說明,這里不再贅述。 (2)預(yù)先設(shè)定與輸入焦點關(guān)聯(lián)的編碼字符為輸入焦點之前和/或之后的一個或多個編碼字符為與輸入焦點關(guān)聯(lián)的編碼字符,作為所述第一編碼字符集,此時,本步驟的實現(xiàn)可以為 確定輸入焦點之前或者之后的一個編碼字符為所述需要被修改的第一編碼字符集;或者, 確定輸入焦點之前和/或之后的預(yù)設(shè)數(shù)量個編碼字符為所述需要被修改的第一編碼字符集。這里,所述預(yù)設(shè)數(shù)量可以在實際應(yīng)用中自主設(shè)置,并不限定。
舉例來說 假設(shè)設(shè)定輸入焦點之前和之后的分別2個編碼字符作為第一編碼字符集,則,如果輸入焦點位置為"yi I ersan",則,將確定第一編碼字符集為"yier"。
步驟204 :向用戶展現(xiàn)所述第 一編碼字符集。 本步驟的實現(xiàn)參考圖1所示本發(fā)明實施例中的相關(guān)描述,這里不再贅述。 步驟205 :接收用戶的糾錯指令,對所述第一編碼字符集進(jìn)行所述糾錯指令指示的糾錯操作。 本歩驟的實現(xiàn)可以參考步驟103,這里不再贅述。 其中,在步驟201中用戶輸入一串編碼字符串后,如果發(fā)現(xiàn)多處輸入錯誤,步驟 202 步驟205可以多次循環(huán)執(zhí)行。 圖2所示的本發(fā)明實施例中,用戶可以通過鼠標(biāo)點擊事件、字母定位事件等不同 方法指示輸入焦點的位置,輸入法根據(jù)輸入焦點的位置確定需要被修改的第一編碼字符 集,進(jìn)而再根據(jù)用戶的糾錯指令對第一編碼字符集進(jìn)行整體的糾錯操作,從而使得用戶可 以靈活的選擇最便捷輸入焦點的指示方法,選擇到需要修改的第一編碼字符集進(jìn)行糾錯操 作,使得用戶可以便捷、快速的完成編碼字符串中錯誤編碼字符的修改,提高了用戶輸入過 程中的字符糾錯效率。 圖3為本發(fā)明實施例另一種字符糾錯方法流程示意圖,在該方法中,用戶直接選
擇編碼字符串中一定數(shù)量的連續(xù)編碼字符,輸入法將根據(jù)用戶選擇的編碼字符確定需要被
修改的第-一編碼字符集。如圖3所示,該方法包括 歩驟301 :接收用戶輸入的編碼字符串。 步驟102通過步驟302和步驟303實現(xiàn),具體為 步驟3()2 :接收用戶的字符選擇事件,根據(jù)所述字符選擇事件選擇的編碼字符形 成第二編碼字符集。所述第二編碼字符集中包括至少一個編碼字符。 其中,所述字符選擇事件可以通過鼠標(biāo)選擇事件或者鍵盤選擇事件實現(xiàn)。所述鼠 標(biāo)選擇事件為用戶在字符串輸入窗口中的第一期望位置開始點擊鼠標(biāo)的左鍵(或右鍵), 并按住不放,進(jìn)行鼠標(biāo)移動直到第二期望位置松開鼠標(biāo)的左鍵(或右鍵),則第一期望位置 和第二期望位置之間的編碼字符即為鼠標(biāo)選擇事件選中的編碼字符。鍵盤選擇事件為用 戶通過鍵盤按鍵操作,例如,通過Ctrl+Shif t.+左右方向鍵(或其他組合鍵、快捷鍵),或者, 通過快捷鍵+雙字母(所述雙字母一般為用戶期望選中的字符串的首字母和尾字母)等方 式,從編碼字符串中選擇一部分字符串作為第一編碼字符集;例如,在快捷鍵+雙字母的方 式中,假設(shè)所述快捷鍵為Ctrl,且用戶將"wo' qu' you' le"錯誤的輸入為'、o' qu' yuo' le", 則,用戶通過按下快捷鍵+ "y"+ "o",輸入法自動將"y"和"o"之間的字符串"yuo"作為用 戶選擇的字符串。另外,當(dāng)所述編碼字符串為拼音字符串時,還可以進(jìn)一步定義Ctrl+方向 鍵的作用是按照音節(jié)移動光標(biāo),3^1^+方向鍵是增加/減少選定的一個字母,(^14+5^1^+ 方向鍵是按照音節(jié)長度增加Z減少所選擇的音節(jié)等,從而用戶可以通過鍵盤操作快速選擇 到期望的編碼字符或編碼字符串,從而作為步驟303中第一編碼字符集的確定基礎(chǔ)。
步驟303 :根據(jù)所述第二編碼字符集確定所述需要被修改的第一編碼字符集。
所述第一編碼字符集一般至少包括所述第二編碼字符集。
本步驟的實現(xiàn)可以為 A、確定所述第二編碼字符集為所述第一編碼字符集;或者, B、確定所述第二編碼字符集所在的至少一個第三編碼字符集為所述第一編碼字 符集(在該種情況下,步驟3()1中也需要進(jìn)行對接收到的編碼字符串進(jìn)行字符切分,得到至 少一個第三編碼字符集的操作)。 對于情況B舉例假設(shè)對于編碼字符串進(jìn)行了拆分之后得到第三編碼字符集(以 單引號區(qū)分)"jin, tan' wo, qu",用戶通過鼠標(biāo)選中"tanw" 4個編碼字符,而由于選中的4個編碼字符位于兩個第三編碼字符集中,則確定第三編碼字符集"tan" "wo"同時作為第 一編碼字符集,即此時確定的第一編碼字符集為"t.anwo"。
步驟304 :向用戶展現(xiàn)所述第一編碼字符集。 本步驟的實現(xiàn)參考圖1所示本發(fā)明實施例中的相關(guān)描述,這里不再贅述。 步驟305 :接收用戶的糾錯指令,對所述第-一編碼字符集進(jìn)行所述糾錯指令指示
的糾錯操作。 本步驟的實現(xiàn)可以參考步驟103,這里不再贅述。 其中,在步驟301中用戶輸入一串編碼字符串后,如果發(fā)現(xiàn)多處輸入錯誤,步驟 302 步驟305可以多次循環(huán)執(zhí)行。 圖3所示的本發(fā)明實施例字符糾錯方法,通過用戶選擇的第二編碼字符集確定需 要被修改的第一編碼字符集,進(jìn)而再根據(jù)用戶的糾錯指令對第一編碼字符集進(jìn)行整體的糾 錯操作,為用戶提供了另一種第一編碼字符集的確定方法,且該方法也能夠使得用戶快捷 的完成編碼字符中錯誤編碼字符的指示和修改,從而提高了用戶輸入過程中的字符糾錯效
沖《.。 在上述的圖1 圖3所示的本發(fā)明實施例中,一般都是用戶每次選中一個第一編 碼字符集,然后進(jìn)行第一編碼字符集的糾錯后,再選中下一個第一編碼字符集,繼續(xù)進(jìn)行糾 錯處理,在實際應(yīng)用中,也可以由用戶將編碼字符串中所需要糾錯的第一編碼字符集-一一 確定后,再分別對每個第一編碼字符集進(jìn)行糾錯處理,這里并不限制。如圖3a所示,所希望 輸入的是拼音串是"jin' tian' de' tian' qi' bu' cuo(今天的天氣不錯)",但是,用戶錯誤 的輸入為"jin' tan' de' tian' qu' bu' cuo (金壇的田區(qū)不錯)",從而,用戶可以通過快捷 鍵同時選中"tan "和"qu ",之后,再分別修改這兩個音節(jié)。 以上方法均為用戶手動為輸入法提供確定第一編碼字符集的依據(jù),而在實際應(yīng)用 中,還可以通過用戶的快捷鍵操作指示輸入法自動確定需要被修改的第一編碼字符集。如 圖4所示,該方法包括 步驟401 :接收用戶輸入的編碼字符串。 步驟402 :接收用戶的自動檢測事件,檢測編碼字符串中不符合預(yù)設(shè)輸入規(guī)則的 字符或字符串,根據(jù)檢測得到的所述不符合預(yù)設(shè)輸入規(guī)則的字符或字符串對應(yīng)形成至少一 個第四編碼字符集。每個第四編碼字符集中包括至少一個編碼字符。 自動檢測事件是指用戶直接按下預(yù)設(shè)的快捷鍵,指示輸入法自動檢測并選擇編 碼字符串中不符合輸入規(guī)則的至少一個字符作為第一編碼字符集。 其中,所述自動檢測事件一般由用戶按下某一預(yù)設(shè)的快捷鍵觸發(fā),具體所使用的 快捷鍵可以自主設(shè)定,例如為Ctrl +左方向鍵等,這里并不限定,只要能將該自動檢測事件 與輸入法中觸發(fā)其他事件的快捷鍵區(qū)別開即可。 其中,在不同的輸入目的和輸入法下,用戶輸入的編碼字符串不同,例如,可以為 拼音字符串,或者五筆輸入法下的編碼字符串等。在不同的輸入法下,所述輸入規(guī)則也不相同。 在本步驟中,也可以首先為輸入法指定所需要進(jìn)行自動檢測的編碼字符串的范 圍。具體的,可以通過上述字符選擇事件等選擇一部分編碼字符串作為所需進(jìn)行自動檢測 的編碼字符串的范圍?;蛘?,也可以預(yù)先設(shè)置所需進(jìn)行檢測的編碼字符串范圍,例如預(yù)先設(shè)置編碼字符串中的前ml個或后nl個編碼字符串為需要進(jìn)行自動檢測的編碼字符串,其 中,l <ml <編碼字符串的總個數(shù),1 <nl <編碼字符串的總個數(shù);或者,也可以在對編碼 字符串進(jìn)行字符切分后,根據(jù)字符切分得到的第三編碼字符集,確定前m2個或者后n2個第 三編碼字符集所包括的編碼字符串為需要進(jìn)行自動檢測的編碼字符串范圍,l <m2 <第三 編碼字符集的總個數(shù),1 < n2 <第三編碼字符集的總個數(shù);或者,還可以從進(jìn)行字符切分得 到的所述第三編碼字符集中確定包含編碼字符數(shù)最多或最少的第三編碼字符集,以該第三 編碼字符集為基準(zhǔn),確定其之前和./或之后的預(yù)設(shè)數(shù)目個第三編碼字符集所包含的編碼字 符串為所需進(jìn)行自動檢測的編碼字符串范圍。從而通過以上編碼字符串范圍的確定,輸入 法只需要對編碼字符串范圍內(nèi)的編碼字符進(jìn)行所述自動檢測即可。 步驟403 :根據(jù)預(yù)設(shè)選擇規(guī)則,從檢測得到的所述第四編碼字符集中選擇至少一 個第四編碼字符集,將選擇得到的至少一個所述第四編碼字符集作為所述第一編碼字符 集。 進(jìn)一步地,該方法還可以包括當(dāng)再次接收到所述自動檢測事件時,將檢測得到的 第四編碼字符集中,被選擇的所述第四編碼字符集的下一個第四編碼字符集作為所述第一 編碼字符集。 所述選擇規(guī)則可以在實際應(yīng)用中自主設(shè)定,例如,可以設(shè)定選擇第四編碼字符集 中位置在編碼字符串中最靠前的一個第四編碼字符集為第--編碼字符集等,這里不贅述。
例如,當(dāng)所述編碼字符串為拼音字符串,所述輸入規(guī)則為拼音規(guī)則時,....匕述步驟 402和步驟403,的實現(xiàn)一般可以與編碼字符串的音節(jié)切分過程相關(guān)聯(lián),也即步驟401中 還需要包括對接收到的編碼字符串進(jìn)行字符切分的操作,從而得到若干個音節(jié)。此時,步驟 402和步驟403的實現(xiàn)可以具體為 檢測編碼字符串中不符合預(yù)設(shè)拼音規(guī)則的音節(jié); 根據(jù)預(yù)設(shè)選擇規(guī)則,從檢測得到的音節(jié)中選擇至少一個音節(jié),將選擇得到的至少 一個音節(jié)所包含的編碼字符串作為所述第一編碼字符集。 或者,所述字符切分步驟也可以放在步驟402中執(zhí)行,即在接收用戶的自動檢測
事件后,先對編碼字符串進(jìn)行字符切分,之后,再執(zhí)行所述檢測步驟。
所述檢測編碼字符串中不符合預(yù)設(shè)拼音規(guī)則的音節(jié)具體可以為 檢測所述編碼字符串中是否存在聲母和韻母顛倒的音節(jié),如果是,則所述聲母和
韻母顛倒的音節(jié)為不符合預(yù)設(shè)拼音規(guī)則的音節(jié);例如,用戶希望輸入"shen' me",但是卻錯
誤的輸入為"shen' em",則"em"即為聲母和韻母顛倒的音節(jié); 和/或,檢測所述編碼字符串中是否存在非聲母字母或非簡拼字母開頭的音節(jié), 如果是,則所述非聲母字母或非簡拼字母開頭的音節(jié)為不符合預(yù)設(shè)拼音規(guī)則的音節(jié);例如, 用戶錯誤的輸入"xiao' vl"(應(yīng)為xiao' lv),或者,用戶錯誤的輸入"xiao' ul"(應(yīng)為 xiao, lu),或者,用戶錯誤的輸入"xiao' il"(應(yīng)為xiao' li),....匕述u、 v、 i為非聲母字母 且非簡拼字母,因此,字節(jié)"vl" "ul"以及"il"即為所述非聲母字母或非簡拼字母開頭的 音節(jié); 和/或,檢測所述編碼字符串中是否存在全拼音節(jié)中夾雜的簡拼字母, 如果是,所述簡拼字母為不符合預(yù)設(shè)拼音規(guī)則的音節(jié);例如,用戶輸入字符串 "wo, j, n, tian, qu, you' le' yuan",明顯地,中間的字母jn不是全拼音節(jié),而是連續(xù)的兩個簡拼字母,則"j' n"即為全拼音節(jié)中夾雜的簡拼字母。 對于上述說明舉實例如下假設(shè)用戶輸入的編碼字符串為"jin' tian'wo'he'peng ,you , j , s T t , j in, itan, qu , 1 e , you , 1 e , yuan",用戶通過快捷鍵Ctr 1+左方向鍵觸發(fā)了自 動檢測事件,輸入法檢測上述編碼字符串中是否存在不符合預(yù)設(shè)拼音規(guī)則的音節(jié),并從其 中選擇位置在編碼字符串中最靠前的一個或多個音節(jié)為第一編碼字符集,則,根據(jù)上述編 碼字符串可知檢測到的音節(jié)應(yīng)為"j" "s" "1" "t."以及"itan"共五個音節(jié)均為所述第四 編碼字符集,其中,"j" "s" "1" "t"均為全拼音節(jié)"you" "jin"之間的簡拼音節(jié),則輸入 法首先選定"j' s' 1' t"共4個連續(xù)的簡拼音節(jié)作為第一編碼字符集;而如果用戶再次按 下快捷鍵Ct.rl+左方向鍵,則輸入法選擇"it.an"作為第一編碼字符集,從而實現(xiàn)用戶對于 檢測到的不符合預(yù)設(shè)拼音規(guī)則音節(jié)的自主選擇和修改。
步驟404 :向用戶展現(xiàn)所述第一編碼字符集。 本步驟的實現(xiàn)參考圖1所示本發(fā)明實施例中的相關(guān)描述,這里不再贅述。 步驟405:接收用戶的糾錯指令,對所述第--編碼字符集進(jìn)行所述糾錯指令指示
的糾錯操作。 本步驟的實現(xiàn)可以參考步驟103,這里不再贅述。 在圖4所示的本發(fā)明實施例字符糾錯方法中,用戶通過觸發(fā)自動檢測事件,輸入
法即可自動檢測得到需要修改的第 -編碼字符集,無需用戶進(jìn)行其他操作,即可完成所需
修改字符的確定,進(jìn)一步提高了用戶進(jìn)行編碼字符串中錯誤字符的糾錯效率。 以下,根據(jù)現(xiàn)有的各種操作涉及到的鍵盤區(qū)域、手的移動距離的不同,設(shè)定不同大
小的數(shù)值來表示各個操作的成本,成本范圍為0 l()(): 1.用鼠標(biāo)定位需要把手移動到鼠標(biāo),此時一只手被鼠標(biāo)獨占,并且移動距離很
大,同時涉及到了移動光標(biāo)去定位的成本,因此設(shè)定用鼠標(biāo)的成本是100; 2.通過按鍵盤的左右方向鍵由于用方向鍵多數(shù)情況下不能一次達(dá)到目的,需要
連續(xù)重復(fù)一個操作,但是手指從主鍵盤區(qū)域移動到方向鍵區(qū)域成本比鼠標(biāo)要小,因此設(shè)定
移動 -次的成本是10 ; 3.通過聲母組合鍵快速定位組合鍵的按鍵設(shè)定大多在主鍵盤區(qū)域,因此成本更 小,設(shè)定按一次的成本是8; 4.按一次Delete或者Backspace的成本是5 ; 5.輸入字母(或者按主鍵盤在手掌覆蓋區(qū)域中的按鍵)的成本是3。 以下,基于以....匕操作成本的定義,給出一種更為具體的實例,對現(xiàn)有編碼字符串糾
錯方法與本發(fā)明實施例的字符糾錯方法進(jìn)行效果對比。 例如,用戶預(yù)期輸入"我和朋友今天去了游樂園",則應(yīng)該輸入編碼字符串"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,,,如圖所?];
則使用現(xiàn)有技術(shù)中的字符糾錯方法,糾錯步驟為 首先移動光標(biāo)到j(luò)i i an處(依據(jù)個人習(xí)慣),刪除多余的字母"a",如圖5b所示; 然后將光標(biāo)右移到tang|的位置,刪除字母"g",如圖5c所示;最后,將光標(biāo)移動到t|an的 位置,插入字母"i ",如圖5d所示;至此,糾錯過程完成。 在上例中,已經(jīng)盡量把各種操作都用成本最小的操作來完成,計算其操作的總成本 1.首先Ctrl+T定位到| tan ; (8)
2.向左移動光標(biāo)一次;(10)
3.刪除字母"a";(5) 4.右移光標(biāo)兩次,使其位于11 ang ; (10*2)
5.插入字母"i";(3) 6.右移光標(biāo)2次,使其位于tian | g ; (10*2)
7.刪除字母"g"。 (5)
經(jīng)計算,總成本為71 。 而對于本發(fā)明的字符糾錯方法,輸入情形同前例,則本發(fā)明實施例字符糾錯方法 下的操作為 1.Ctrl+J,定位到錯誤音節(jié)處(8),如圖6a所示;
2.按下狀態(tài)轉(zhuǎn)換快捷鍵Alt (3),如圖6b所示;
3.輸入字符串"jin" (3*3),如圖6c所示;
4.按下狀態(tài)轉(zhuǎn)換快捷鍵Alt (3),如圖6d所示;
5.輸入字符串"tian" (3*4),如圖6e所示。
經(jīng)計算,總成本為35 。 通過以....匕的舉例可以對比出,使用本發(fā)明實施例的字符糾錯方法進(jìn)行字符糾錯的 成本更低,也即字符糾錯效率更高。 最后,在這里詳細(xì)介紹上述的對編碼字符串的字符切分操作以及確定不符合輸入 規(guī)則的字符集的操作。 從用戶輸入編碼字符串到根據(jù)用戶輸入的編碼字符串得到對應(yīng)的候選項之間,需 要經(jīng)過的一環(huán)就是對編碼字符串進(jìn)行字符切分,得到若干個字符集,以便根據(jù)字符集獲取 候選項,以供用戶進(jìn)行選擇確認(rèn)。 對于不同的輸入法,對輸入的編碼字符串進(jìn)行字符切分的方法不同。在字符切分 后即可確定不符合對應(yīng)的輸入規(guī)則的字符集。其中,所述不符合輸入規(guī)則可以認(rèn)為是切分 得到的字符集無法在該輸入法中找到對應(yīng)的候選項。因此,當(dāng)對編碼字符串進(jìn)行了字符切 分后,即可較為容易的檢測出不符合輸入規(guī)則的字符集。 以拼音字符串的字符切分為例。大多的拼音輸入法一般根據(jù)《漢語拼音方案》 (1958年2月11日第一屆全國人民代表大會第五次會議通過并頒布)所述的拼音規(guī)則進(jìn)行 拼音字符串的切分,目前所有的正確拼音音節(jié)有413個(為方便下面引用,稱為集合A)。
在進(jìn)行字符切分時,從用戶輸入的拼音字符串的起始位置向后匹配,匹配到符合 正確拼音音節(jié)后插入例如單引號等作為分隔標(biāo)記(也可以使用其他方法分隔——在程序上 實現(xiàn)方法眾多,這里只作為舉例),并把該位置作為新的起點,重復(fù)上述過程,直到到達(dá)拼音 字符串的末尾。 由于用戶輸入的拼音字符可能有誤,因此上述字符切分涉及到許多細(xì)節(jié),下面依 次用各種例子作為講解 (1)用戶輸入正確的拼音字符串nimenhao 起始字母是n,循環(huán)比對集合A中以n開頭并且長度遞減的音節(jié),如果匹配則完成本次匹配。本例中匹配上ni,則將輸入串變?yōu)閚i' menhao,并設(shè)定新的起始字母為m;
匹配到音節(jié)men,因此輸入串標(biāo)記為ni, men' hao,并將起始字母設(shè)置為h ;(請注 意此過程中過濾掉了 me這一音節(jié),因為me的長度比men短;) 匹配到音節(jié)hao,因此輸入串標(biāo)記為ni' men' hao'(本操作可以忽略,因為到了末
尾)。同時因為已經(jīng)到達(dá)輸入串末尾,匹配結(jié)束。 (2)用戶輸入存在錯誤的拼音字符串niiimenhao 匹配到ni,并設(shè)定新的起始字母是i (ni' iimenhao); 無法匹配到正確音節(jié),因此向后推移一個字母,并且不增加分隔符,現(xiàn)在起始字母 為i(第三個); 仍然無法匹配,繼續(xù)向后推移一個字母,現(xiàn)在起始字母是m ; 匹配到men,將men前后各加一個分隔符(ni , ii' men' hao),并設(shè)定起始位置是 h ; 匹配到音節(jié)hao,匹配結(jié)束。 至此,已經(jīng)得到了一個按照拼音規(guī)則切分后的拼音字符串,一般認(rèn)為所有被分隔 符分隔開的部分都是一個音節(jié),即使有些音節(jié)是不完整或錯的。 這時,對拼音字符串自動檢測其中不符合拼音規(guī)則的音節(jié)時,將循環(huán)檢測拼音字 符串中的每--個音節(jié),并按照如下規(guī)則處理 如果是正確的音節(jié)(即在集合A中),則不進(jìn)行特殊處理,繼續(xù)進(jìn)行F—音節(jié)的 檢測; 用聲母表進(jìn)行匹配,如果是純聲母,則當(dāng)作簡拼處理(一般認(rèn)為單個聲母是正確 的,當(dāng)然也可以作為錯誤的,如在多個全拼的音節(jié)之間夾雜的簡拼); 或者,還可以檢測音節(jié)中是否存在聲母韻母顛倒的情況等,這里不贅述,直到檢測 到達(dá)拼音字符串的末尾,則結(jié)束檢測。 另外,在注音輸入法和日文輸入法等輸入法中也可以使用類似的切分方法和確定 不符合輸入規(guī)則的字符集的方法。 在注音輸入法中,注音輸入法通過如圖7a所示的多個單個按鍵(包括但不限于 鍵盤上的字母鍵、數(shù)字鍵等)映射到所有可能用到的聲母、韻母。用戶通過輸入這些字符 串,可以完成音節(jié)乃至句子的輸入。例如要輸入"你好",那么就應(yīng)該輸入字符串"SU3CL3"。 此時,對應(yīng)輸入的字符也可以使用與拼音輸入法中的切分方法相類似的方法進(jìn)行切分,把 所有符合正常發(fā)音的音節(jié)用對應(yīng)的字符集表示,所有正確的字符集形成注音集合,在接收 到用戶輸入的字符串后4艮據(jù)所述集合中的字符集從用戶輸入的字符串的起始位置向后匹 配,匹配到正確的字符集后插入例如單引號等作為分隔標(biāo)記,從而實現(xiàn)對字符串的切分。之 后,在確定每個音節(jié)是否符合輸入規(guī)則時,只要驗證該音節(jié)是否存在于所述注音集合內(nèi)即 可。 而在日本假名的輸入中,日文中有五十音圖,50個平假名+50個片假名就是日語 里的基本"字母"。在該輸入法中定義了一系列的"字符集-〉假名"的映射關(guān)系(在圖7b 和7c中給出了部分映射關(guān)系),從而通過輸入對應(yīng)的字符串即可完成日本假名的輸入。當(dāng) 輸入法獲取到用戶輸入的字符串后,也需要根據(jù)所述映射關(guān)系對所述字符串進(jìn)行拆分,從 而使得拆分后的各個字符集能夠?qū)?yīng)相應(yīng)的平假名或片假名。對于該輸入法而言,所述映射關(guān)系中沒有出現(xiàn)的字符集即為不符合輸入規(guī)則的字符集。當(dāng)輸入法對用戶輸入的字符串 進(jìn)行切分后,只要分別判斷各個切分后得到的字符集是否存在于所述映射關(guān)系中,即可確
定不符合輸入規(guī)則的字符集。例如"iy"就不對應(yīng)任何假名,因此可以認(rèn)為當(dāng)切分得到的字 符集為"iy"時,該字符集為不符合輸入規(guī)則的字符集。 相應(yīng)的,在上述字符糾錯方法的基礎(chǔ)上,本發(fā)明實施例對應(yīng)提供了字符糾錯系統(tǒng), 如圖7所示,為本發(fā)明實施例一種字符糾錯系統(tǒng)結(jié)構(gòu)示意圖,包括
第一確定單元710,用于接收用戶輸入的編碼字符串; 第二確定單元720,用于接收用戶的糾錯指示事件,根據(jù)糾錯指示事件確定編碼字 符串中需要被修改的第一編碼字符集; 糾錯單元730,用于接收用戶的糾錯指令,對所述第一編碼字符集進(jìn)行所述糾錯指 令指示的糾錯操作。
優(yōu)選地,第一確定單元710具體可以用于 接收用戶輸入的編碼字符串,將接收到的所述編碼字符串作為所述需要進(jìn)行字符 糾錯的編碼字符串;或者, 第一確定單元710具體可以用于接收用戶輸入的編碼字符串;將接收到的編碼 字符串中,用戶已確認(rèn)的候選項所對應(yīng)的編碼字符串之外的編碼字符串作為所述需要進(jìn)行 字符糾錯的編碼字符串。 優(yōu)選地,如圖7所示,該系統(tǒng)進(jìn)一步包括 展現(xiàn)單元740,用于向用戶展現(xiàn)所述第一編碼字符集。
優(yōu)選地,該系統(tǒng)還可以包括 狀態(tài)轉(zhuǎn)換單元,用于接收用戶的狀態(tài)轉(zhuǎn)換指令,進(jìn)行輸入法的插入字符狀態(tài)和替 換字符狀態(tài)之間的轉(zhuǎn)換。 如圖7所示,糾錯單元730可以通過刪除子單元7301或替換子單元7302實現(xiàn)
刪除子單元73()1,用于接收用戶的刪除指令,刪除所述第一編碼字符集;或者,
替換子單元7302,用于接收用戶輸入的第五編碼字符集,用所述第五編碼字符集 替換所述第一編碼字符集。 如圖8所示,第二確定單元720可以通過以下結(jié)構(gòu)實現(xiàn),包括 第一確定子單元810,用于接收用戶的糾錯指示事件,根據(jù)所述糾錯指示事件確定
輸入焦點在編碼字符串中的位置; 第二確定子單元820,用于根據(jù)輸入焦點在編碼字符串中的位置確定所述需要被 修改的第一編碼字符集。 具體的,第二確定子單元82()可以用于確定編碼字符串中與輸入焦點關(guān)聯(lián)的至 少--個第三編碼字符集為所述第一編碼字符集,所述第--編碼字符集中的至少一個字符與 所述輸入焦點相鄰;此時,該系統(tǒng)還包括 切分單元,用于對接收到的編碼字符串進(jìn)行字符切分,得到至少一個第三編碼字 符集。所述切分單元可以位于第一確定單元中,或者,第一確定單元與第二確定單元之間。
或者,所述第二確定子單元820可以用于確定輸入焦點之前或者之后的一個編 碼字符為所述需要被修改的第一編碼字符集;或者,確定輸入焦點之前和/或之后的第二 預(yù)設(shè)數(shù)量個編碼字符為所述需要被修改的第一編碼字符集。
或者,如圖8所示,第二確定子單元820還可以通過以下結(jié)構(gòu)實現(xiàn) 切分子模塊8201,用于對預(yù)設(shè)切分范圍內(nèi)的編碼字符串進(jìn)行字符切分,得到至少
一個第三編碼字符集; 確定子模塊8202,用于確定編碼字符串中與輸入焦點關(guān)聯(lián)的至少一個第三編碼 字符集為所述第--編碼字符集,所述第一編碼字符集中的至少一個字符與所述輸入焦點相 鄰。
第一確定子單元810可以通過以下結(jié)構(gòu)實現(xiàn),包括 第一位置確定子模塊,用于接收焦點移動事件,根據(jù)焦點移動事件指示的輸入焦 點的移動方向確定輸入焦點在編碼字符串中的位置;或者, 第二位置確定子模塊,用于接收字母定位事件,檢測編碼字符串中是否存在所述 字母定位事件中指示的字母,如果是,根據(jù)該字母確定輸入焦點在編碼字符串中的位置;或 者, 第三位置確定子模塊,用于接收鼠標(biāo)點擊事件,根據(jù)鼠標(biāo)在字符串輸入窗口中的 點擊位置確定輸入焦點在編碼字符串中的位置。 如圖9所示,第二確定單元720可以通過以下結(jié)構(gòu)實現(xiàn),包括 第三確定子單元91(),用于根據(jù)所述糾錯指示事件選中的編碼字符形成第二編碼
字符集; 第四確定子單元920,用于根據(jù)所述第二編碼字符集確定所述需要被修改的第一 編碼字符集,所述第一編碼字符集至少包括所述第二編碼字符集。 優(yōu)選地,第四確定子單元92()可以用于確定所述第二編碼字符集為所述第一編 碼字符集。 或者,所述第四確定子單元920可以用于確定所述第二編碼字符集所在的至少 一個第三編碼字符集為所述第一編碼字符集;此時,該系統(tǒng)還包括 切分單元,用于對接收到的編碼字符串進(jìn)行字符切分,得到至少一個第三編碼字 符集。 如圖10所示,第二確定單元720可以通過以下結(jié)構(gòu)實現(xiàn),包括 第五確定子單元IOIO,用于根據(jù)糾錯指示事件中的自動檢測指示,檢測編碼字符
串中不符合預(yù)設(shè)輸入規(guī)則的字符或字符串,根據(jù)檢測得到的所述不符合預(yù)設(shè)輸入規(guī)則的字
符或字符串對應(yīng)形成至少一個第四編碼字符集; 第六確定子單元1020,用于根據(jù)預(yù)設(shè)選擇規(guī)則,從檢測得到的所述第四編碼字符 集中選擇至少一個第四編碼字符集,將選擇得到的至少一個所述第四編碼字符集作為所述 第一編碼字符集。 優(yōu)選地,第六確定子單元1020還用于再次接收到包含自動檢測指示的糾錯指示 事件時,將檢測得到的第四編碼字符集中,被選擇的所述第四編碼字符集的F—個第四編 碼字符集作為所述第一編碼字符集。 圖7 圖10所示的輸入過程中字符糾錯系統(tǒng)的結(jié)構(gòu)中,第一確定單元接收用戶輸 入的編碼字符串,第二確定單元通過用戶的糾錯指示事件,從編碼字符串中確定需要被修 改的第一編碼字符集,進(jìn)而糾錯單元通過用戶的糾錯指令對整個第一編碼字符集進(jìn)行整體 的糾錯操作,從而不再需要用戶逐個編碼字符地進(jìn)行刪除、替換等操作,減少了用戶操作次數(shù),提高了用戶的字符糾錯效率。 本領(lǐng)域普通技術(shù)人員可以理解,實現(xiàn)上述實施例字符糾錯方法的過程可以通過程
序指令相關(guān)的硬件來完成,所述的程序可以存儲于可讀取存儲介質(zhì)中,該程序在執(zhí)行時執(zhí)
行上述方法中的對應(yīng)步驟。所述的存儲介質(zhì)可以如R(遍/RAM、磁碟、光盤等。 以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人
員來說,在不脫離本發(fā)明原理的前提下,還可以做出若千改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)
視為本發(fā)明的保護范圍。
權(quán)利要求
一種字符糾錯方法,其特征在于,包括確定需要進(jìn)行字符糾錯的編碼字符串;接收糾錯指示事件,根據(jù)所述糾錯指示事件確定所述編碼字符串中需要被修改的第一編碼字符集;接收糾錯指令,對所述第一編碼字符集進(jìn)行所述糾錯指令指示的糾錯操作。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,根據(jù)所述糾錯指示事件確定編碼字符串 中需要被修改的第一編碼字符集具體為根據(jù)所述糾錯指示事件確定輸入焦點在編碼字符串中的位置;根據(jù)輸入焦點在編碼字 符串中的位置確定所述需要被修改的第一編碼字符集; 或者,根據(jù)所述糾錯指示事件選中的編碼字符形成第二編碼字符集;根據(jù)所述第二編碼字符 集確定所述需要被修改的第一編碼字符集。
3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述接收用戶輸入的編碼字符串之后,進(jìn) 一步包括對接收到的編碼字符串進(jìn)行字符切分,得到至少一個第三編碼字符集; 相應(yīng)的,所述根據(jù)輸入焦點在編碼字符串中的位置確定所述需要被修改的第一編碼字 符集具體為確定編碼字符串中與輸入焦點關(guān)聯(lián)的至少-一個第三編碼字符集為所述第一編碼字符 集,所述第一編碼字符集中的至少一個字符與所述輸入焦點相鄰。
4. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)輸入焦點在編碼字符串中的位 置確定所述需要被修改的第一編碼字符集具體為對預(yù)設(shè)切分范圍內(nèi)的編碼字符串進(jìn)行字符切分,得到至少-一個第三編碼字符集; 確定編碼字符串中與輸入焦點關(guān)聯(lián)的至少一個第三編碼字符集為所述第一編碼字符 集,所述第一編碼字符集中的至少一個字符與所述輸入焦點相鄰。
5. 根據(jù)權(quán)利要求4所述的方法,其特征在于,所述預(yù)設(shè)切分范圍為接收到的所述用戶 輸入的編碼字符串,或者,輸入焦點之后的所有編碼字符串,或者,輸入焦點之后的預(yù)設(shè)數(shù) 量個編碼字符串。
6. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)輸入焦點在編碼字符串中的位 置確定所述需要被修改的第一編碼字符集具體為確定輸入焦點之前或者之后的一個編碼字符為所述需要被修改的第一編碼字符集;或者,確定輸入焦點之前和/或之后的預(yù)設(shè)數(shù)量個編碼字符為所述需要被修改的第一編碼 字符集。
7. 根據(jù)權(quán)利要求3至5任一項所述的方法,其特征在于,所述確定編碼字符串中與輸入 焦點關(guān)聯(lián)的至少一個第三編碼字符集為所述第一編碼字符集具體為確定輸入焦點所在的第三編碼字符集為所述第一編碼字符集;或者, 確定輸入焦點之前和/或之后的預(yù)設(shè)數(shù)量個第三編碼字符集為所述第一編碼字符集。
8. 根據(jù)權(quán)利要求2至6任 -項所述的方法,其特征在于,所述根據(jù)所述糾錯指示事件確 定輸入焦點在編碼字符串中的位置具體為所述糾錯指示事件為焦點移動事件時,根據(jù)焦點移動事件指示的輸入焦點的移動方向 確定輸入焦點在編碼字符串中的位置;或者,所述糾錯指示事件為字母定位事件時,檢測編碼字符串中是否存在所述字母定位事件 中指示的字母,如果是,根據(jù)該字母確定輸入焦點在編碼字符串中的位置;或者,所述糾錯指示事件為鼠標(biāo)點擊事件時,根據(jù)鼠標(biāo)在字符串輸入窗口中的點擊位置確定 輸入焦點在編碼字符串中的位置。
9. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述接收用戶輸入的編碼字符串之后,進(jìn) 一步包括對接收到的編碼字符串進(jìn)行字符切分,得到至少一個第三編碼字符集; 相應(yīng)的,所述根據(jù)所述糾錯指示事件指示的第二編碼字符集確定所述需要被修改的第 一編碼字符集具體為確定所述第二編碼字符集所在的至少一個第三編碼字符集為所述第一編碼字符集。
10. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述糾錯指示事件確定編碼字 符串中需要被修改的第一編碼字符集具體為根據(jù)糾錯指示事件中的自動檢測指示,檢測編碼字符串中不符合預(yù)設(shè)輸入規(guī)則的字符 或字符串,根據(jù)檢測得到的所述不符合預(yù)設(shè)輸入規(guī)則的字符或字符串對應(yīng)形成至少一個第 四編碼字符集;根據(jù)預(yù)設(shè)選擇規(guī)則,從檢測得到的至少一個所述第四編碼字符集中選擇至少一個第四 編碼字符集,將選擇得到的至少一個所述第四編碼字符集作為所述第一編碼字符集。
11.根據(jù)權(quán)利要求l()所述的方法,其特征在于,還包括再次接收到包含自動檢測指示的糾錯指示事件時,將檢測得到的第四編碼字符集中, 被選擇的所述第四編碼字符集的下一個第四編碼字符集作為所述第一編碼字符集。
12. 根據(jù)權(quán)利要求10或11所述的方法,其特征在于,所述編碼字符串為拼音字符串,所 述輸入規(guī)則為拼音規(guī)則時,所述檢測編碼字符串中不符合預(yù)設(shè)輸入規(guī)則的字符或字符串具 體為檢測所述編碼字符串中是否存在聲母和韻母顛倒的音節(jié),如果是,則所述聲母和韻母 顛倒的音節(jié)為不符合預(yù)設(shè)拼音規(guī)則的音節(jié);和/或,檢測所述編碼字符串中是否存在非聲母字母或非簡拼字母開頭的音節(jié),如果是,則所 述非聲母字母或非簡拼字母開頭的音節(jié)為不符合預(yù)設(shè)拼音規(guī)則的音節(jié);和/或,檢測所述編碼字符串中是否存在全拼音節(jié)中夾雜的簡拼字母,如果是,所述簡拼字母 為不符合預(yù)設(shè)拼音規(guī)則的音節(jié)。
13. 根據(jù)權(quán)利要求1至6、9至11任一項所述的方法,其特征在于,對所述第一編碼字符 集進(jìn)行所述糾錯指令指示的糾錯操作具體為所述糾錯指令為刪除指令時,刪除所述第一編碼字符集;或者,所述糾錯指令包括用戶輸入的第五編碼字符集時,用所述第五編碼字符集替換所述第 一編碼字符集。
14. 根據(jù)權(quán)利要求1至6、9至11任 -項所述的方法,其特征在于,所述確定第 -編碼字 符集之后,進(jìn)一步包括向用戶展現(xiàn)所述第一編碼字符集。
15. 根據(jù)權(quán)利要求1至6、9至11任 -項所述的方法,其特征在于,所述確定需要進(jìn)行字 符糾錯的編碼字符串具體為接收用戶輸入的編碼字符串,將接收到的所述編碼字符串作為所述需要進(jìn)行字符糾錯 的編碼字符串;或者,接收用戶輸入的編碼字符串;將接收到的編碼字符串中,用戶已確認(rèn)的候選項所對應(yīng) 的編碼字符串之外的編碼字符串作為所述需要進(jìn)行字符糾錯的編碼字符串。
16. —種字符糾錯系統(tǒng),其特征在于,包括 第一確定單元,用于確定需要進(jìn)行字符糾錯的編碼字符串;第二確定單元,用于接收糾錯指示事件,根據(jù)糾錯指示事件確定編碼字符串中需要被 修改的第一編碼字符集;糾錯單元,用于接收糾錯指令,對所述第一編碼字符集進(jìn)行所述糾錯指令指示的糾錯 操作。
17. 根據(jù)權(quán)利要求16所述的系統(tǒng),其特征在于,第二確定單元包括第一確定子單元,用于接收用戶的糾錯指示事件,根據(jù)所述糾錯指示事件確定輸入焦 點在編碼字符串中的位置;第二確定子單元,用于根據(jù)輸入焦點在編碼字符串中的位置確定所述需要被修改的第 一編碼字符集;或者,所述第二確定單元包括第三確定子單元,用于根據(jù)所述糾錯指示事件選中的編碼字符形成第二編碼字符集; 第四確定子單元,用于根據(jù)所述第二編碼字符集確定所述需要被修改的第一編碼字符 集,所述第一編碼字符集至少包括所述第二編碼字符集。
18. 根據(jù)權(quán)利要求17所述的系統(tǒng),其特征在于,該系統(tǒng)還包括切分單元,用于對接收到的編碼字符串進(jìn)行字符切分,得到至少一個第三編碼字符集;相應(yīng)的,第二確定子單元具體用于確定編碼字符串中與輸入焦點關(guān)聯(lián)的至少--個第 三編碼字符集為所述第一編碼字符集,所述第一編碼字符集中的至少一個字符與所述輸入 焦點相鄰。
19. 根據(jù)權(quán)利要求17所述的系統(tǒng),其特征在于,第二確定子單元包括 切分子模塊,用于對預(yù)設(shè)切分范圍內(nèi)的編碼字符串進(jìn)行字符切分,得到至少 -個第三編碼字符集;確定子模塊,用于確定編碼字符串中與輸入焦點關(guān)聯(lián)的至少一個第三編碼字符集為所 述第一編碼字符集,所述第一編碼字符集中的至少一個字符與所述輸入焦點相鄰。
20. 根據(jù)權(quán)利要求17所述的系統(tǒng),其特征在于,所述第二確定子單元具體用于確定輸 入焦點之前或者之后的一個編碼字符為所述需要被修改的第一編碼字符集;或者,確定輸 入焦點之前和/或之后的第二預(yù)設(shè)數(shù)量個編碼字符為所述需要被修改的第一編碼字符集。
21. 根據(jù)權(quán)利要求17至20任一項所述的系統(tǒng),其特征在于,第一確定子單元包括 第--位置確定子模塊,用于接收焦點移動事件,根據(jù)焦點移動事件指示的輸入焦點的移動方向確定輸入焦點在編碼字符串中的位置;或者,第二位置確定子模塊,用于接收字母定位事件,檢測編碼字符串中是否存在所述字母定位事件中指示的字母,如果是,根據(jù)該字母確定輸入焦點在編碼字符串中的位置;或者,第三位置確定子模塊,用于接收鼠標(biāo)點擊事件,根據(jù)鼠標(biāo)在字符串輸入窗口中的點擊位置確定輸入焦點在編碼字符串中的位置。
22. 根據(jù)權(quán)利要求17所述的系統(tǒng),其特征在于,該系統(tǒng)進(jìn)一步包括切分單元,用于對接收到的編碼字符串進(jìn)行字符切分,得到至少 -個第三編碼字符集;相應(yīng)的,所述第四確定子單元具體用于確定所述第二編碼字符集所在的至少一個第三編碼字符集為所述第一編碼字符集。
23. 根據(jù)權(quán)利要求16所述的系統(tǒng),其特征在于,第二確定單元包括第五確定子單元,用于根據(jù)糾錯指示事件中的自動檢測指示,檢測編碼字符串中不符合預(yù)設(shè)輸入規(guī)則的字符或字符串,根據(jù)檢測得到的所述不符合預(yù)設(shè)輸入規(guī)則的字符或字符串對應(yīng)形成至少一個第四編碼字符集;第六確定子單元,用于根據(jù)預(yù)設(shè)選擇規(guī)則,從檢測得到的所述第四編碼字符集中選擇至少一個第四編碼字符集,將選擇得到的至少一個所述第四編碼字符集作為所述第一編碼字符集。
24. 根據(jù)權(quán)利要求23所述的系統(tǒng),其特征在于,第六確定子單元還用于再次接收到包含自動檢測指示的糾錯指示事件時,將檢測得到的第四編碼字符集中,被選擇的所述第四編碼字符集的下一個第四編碼字符集作為所述第一編碼字符集。
25. 根據(jù)權(quán)利要求16至20、22至24所述的系統(tǒng),其特征在于,糾錯單元包括刪除子單元,用于接收用戶的刪除指令,刪除所述第一編碼字符集;或者,替換子單元,用于接收用戶輸入的第五編碼字符集,用所述第五編碼字符集替換所述第一編碼字符集。
26. 根據(jù)權(quán)利要求16至20、22至24任一項所述的系統(tǒng),其特征在于,進(jìn)一步包括展現(xiàn)單元,用于向用戶展現(xiàn)所述第一編碼字符集。
27. 根據(jù)權(quán)利要求16至20、22至24任 -項所述的系統(tǒng),其特征在于,第--確定單元具體用于接收用戶輸入的編碼字符串,將接收到的所述編碼字符串作為所述需要進(jìn)行字符糾錯的編碼字符串;或者,第一確定單元具體用于接收用戶輸入的編碼字符串;將接收到的編碼字符串中,用戶已確認(rèn)的候選項所對應(yīng)的編碼字符串之外的編碼字符串作為所述需要進(jìn)行字符糾錯的編碼字符串。
全文摘要
本發(fā)明公開了一種字符糾錯方法及系統(tǒng),所述方法包括確定需要進(jìn)行字符糾錯的編碼字符串;接收糾錯指示事件,根據(jù)所述糾錯指示事件確定所述編碼字符串中需要被修改的第一編碼字符集;接收糾錯指令,對所述第一編碼字符集進(jìn)行所述糾錯指令指示的糾錯操作。所述方法及系統(tǒng)能夠提高輸入過程中的字符糾錯效率。
文檔編號G06F3/048GK101710262SQ20091024264
公開日2010年5月19日 申請日期2009年12月11日 優(yōu)先權(quán)日2009年12月11日
發(fā)明者何立濤 申請人:北京搜狗科技發(fā)展有限公司