專利名稱:一種提供糾錯(cuò)提示的方法、裝置及輸入法系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及字符信息輸入領(lǐng)域,特別是涉及一種提供糾錯(cuò)提示的方法、裝置及輸
入法系統(tǒng)。
背景技術(shù):
輸入法用戶在進(jìn)行非母語字符的輸入時(shí)常常會(huì)遇到一些困難,例如,非英文用戶(如中文、日文、韓文等)在進(jìn)行英文詞條的輸入時(shí)經(jīng)常會(huì)出現(xiàn)輸入錯(cuò)誤等。這主要是因?yàn)橛⒄Z的拼讀、單詞構(gòu)成方式、語法等方面與用戶通常使用的母語相比存在巨大差異,用戶往往會(huì)有英文單詞"記不全"、"拼錯(cuò)詞"、"不會(huì)用"或"用錯(cuò)單詞"的情況。因此,用戶通常會(huì)希望在使用輸入法開始輸入英文單詞的同時(shí),輸入法能夠提供候選的單詞,并能夠在用戶輸入錯(cuò)誤時(shí)能夠自動(dòng)糾錯(cuò)。這樣用戶一旦在輸入法提供的候選詞中發(fā)現(xiàn)需要的單詞,便可以直接選中該單詞完成輸入,節(jié)省輸入時(shí)間的同時(shí),可以避免記不全、拼錯(cuò)詞等造成的錯(cuò)誤。
現(xiàn)有的輸入法通過記錄用戶當(dāng)前正在輸入的字符,可以實(shí)現(xiàn)針對用戶當(dāng)前輸入的動(dòng)態(tài)補(bǔ)全及糾錯(cuò)提示。其中,動(dòng)態(tài)補(bǔ)全是指,根據(jù)用戶輸入的字母給出候選詞,并隨著用戶輸入字母的增加,動(dòng)態(tài)調(diào)整候選詞。例如,用戶輸入字母"b",則輸入法提供的候選詞為輸入法詞庫中以"b"為首字母的單詞;接下來,如果用戶輸入字母"a",則輸入法提供的候選詞為前兩個(gè)字母為"ba"的單詞,以此類推;用戶可以通過選中輸入法提供的某個(gè)候選詞完成輸入;糾錯(cuò)提示是指,如果輸入法詞庫中不存在與用戶當(dāng)前輸入相匹配的單詞,則會(huì)根據(jù)拼寫及讀音給出修改提示。例如,用戶當(dāng)前輸入了"bagy",輸入法可以根據(jù)其拼寫及讀音等,向用戶做出修改為"baggy"、"baby"等糾錯(cuò)提示。 但是該現(xiàn)有輸入法只能記錄用戶當(dāng)前輸入的字符,因此其動(dòng)態(tài)補(bǔ)全及糾錯(cuò)功能都是在輸入法當(dāng)前正在處理的字符基礎(chǔ)上進(jìn)行的,即只能針對用戶當(dāng)前正在輸入欄輸入的文字進(jìn)行處理,而不能處理已經(jīng)展現(xiàn)在顯示屏上的文本。比如,如果用戶打開的某文檔中有存在錯(cuò)誤的單詞,或者用戶完成一段文本的輸入進(jìn)行檢查時(shí),該現(xiàn)有輸入法就無法向用戶做出提示,用戶必須根據(jù)自己的判斷來修改。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的在于提供一種提供糾錯(cuò)提示的方法、裝置及輸入法系統(tǒng),以解決現(xiàn)有輸入法系統(tǒng)無法對已經(jīng)展現(xiàn)在顯示屏上的需要處理的文本進(jìn)行提示的問題。
為實(shí)現(xiàn)上述目的,本發(fā)明提供了如下方案
—種提供糾錯(cuò)提示的方法,包括
獲取顯示屏上光標(biāo)位置的字符串; 分析獲取的字符串,判斷所獲取的字符串是否需要處理;
將需要處理的字符串提示給用戶。
優(yōu)選的,還包括 根據(jù)預(yù)置詞庫,為所述需要處理的字符串提供候選字符串供用戶選擇。
5
優(yōu)選的,所述根據(jù)預(yù)置詞庫,為所述需要處理的字符串提供候選字符串供用戶選擇包括 根據(jù)預(yù)置詞庫及光標(biāo)位置的字符串前綴或后綴對所述需要處理的字符串進(jìn)行補(bǔ)全,生成補(bǔ)全候選,并將所述補(bǔ)全候選提示給用戶。 優(yōu)選的,所述預(yù)置詞庫中的字符串按照預(yù)置順序形成前綴樹或后綴樹結(jié)構(gòu),使用前綴樹或后綴樹結(jié)構(gòu)生成所述補(bǔ)全候選。 優(yōu)選的,所述根據(jù)預(yù)置詞庫,為所述需要處理的字符串提供候選字符串供用戶選擇包括 根據(jù)預(yù)置詞庫對所述需要處理的字符串進(jìn)行編輯操作,生成糾錯(cuò)候選,并將所述
糾錯(cuò)候選提示給用戶;所述編輯操作包括插入、刪除、替換或交換字符順序。 優(yōu)選的,所述預(yù)置詞庫中的字符串按照預(yù)置順序形成前綴樹結(jié)構(gòu),基于預(yù)置容錯(cuò)
機(jī)制在前綴樹中進(jìn)行所述糾錯(cuò)候選的查找。
優(yōu)選的,所述判斷獲取的字符串是否需要處理包括 將獲取的字符串與預(yù)置詞庫中的字符串進(jìn)行比較,判斷預(yù)置詞庫中是否存在與該獲取的字符串完全匹配的字符串,如果不存在,則該獲取的字符串需要處理。
優(yōu)選的,所述判斷獲取的字符串是否需要處理包括
獲取顯示屏上光標(biāo)位置的字符串的上下文; 分析所述上下文,判斷該獲取的字符串是否存在用詞錯(cuò)誤,如果存在,則該字符串需要處理。 優(yōu)選的,還包括 獲取用戶對所述提示的響應(yīng),在用戶處理完一需要處理的字符串后,自動(dòng)定位到
下一需要處理的字符串。
—種提供糾錯(cuò)提示的裝置,包括 取詞單元,用于獲取顯示屏光標(biāo)位置的字符串; 判斷單元,用于分析獲取的字符串,判斷字符串是否需要處理; 提示單元,用于將需要處理的字符串提示給用戶。 優(yōu)選的,還包括 候選提示單元,用于根據(jù)預(yù)置詞庫,為所述需要處理的字符串提供候選字符串供用戶選擇。 優(yōu)選的,所述候選提示單元包括 補(bǔ)全子單元,用于根據(jù)預(yù)置詞庫及光標(biāo)位置的字符串前綴或后綴,對所述需要處理的字符串進(jìn)行補(bǔ)全,并生成補(bǔ)全候選; 第一提示子單元,用于將所述補(bǔ)全候選提示給用戶。 優(yōu)選的,所述預(yù)置詞庫中的字符串按照預(yù)置順序形成前綴樹或后綴樹結(jié)構(gòu),所述
補(bǔ)全子單元使用前綴樹或后綴樹結(jié)構(gòu)生成所述補(bǔ)全候選。 優(yōu)選的,所述候選提示單元包括 糾錯(cuò)子單元,用于根據(jù)預(yù)置詞庫對所述需要處理的字符串進(jìn)行編輯操作,生成糾錯(cuò)候選;所述編輯操作包括插入、刪除、替換或交換字符順序;
第二提示子單元,用于將所述糾錯(cuò)候選提示給用戶。
6
優(yōu)選的,所述預(yù)置詞庫中的字符串按照預(yù)置順序形成前綴樹結(jié)構(gòu),所述糾錯(cuò)子單
元基于預(yù)置容錯(cuò)機(jī)制在前綴樹中進(jìn)行所述糾錯(cuò)候選的查找。 優(yōu)選的,還包括 用戶響應(yīng)獲取單元,用于獲取用戶對所述提示的響應(yīng),在用戶處理完一需要處理的字符串后,自動(dòng)定位到下一需要處理的字符串。
優(yōu)選的,所述判斷單元包括 比較子單元,用于將獲取的字符串與預(yù)置詞庫中的字符串進(jìn)行比較,判斷預(yù)置詞庫中是否存在與該獲取的字符串完全匹配的字符串; 第一確定子單元,用于將所述與預(yù)置詞庫中的字符串均不完全匹配的字符串確定
為所述需要處理的字符串。 優(yōu)選的,所述判斷單元包括 上下文獲取子單元,用于獲取顯示屏上光標(biāo)位置的字符串的上下文; 分析子單元,用于分析所述展現(xiàn)在顯示屏上的字符串的上下文,判斷是否存在用
詞錯(cuò)誤的字符串; 第二確定子單元,用于將所述用詞錯(cuò)誤的字符串確定為所述需要處理的字符串。 —種提供糾錯(cuò)提示的輸入法系統(tǒng),包括 取詞模塊,用于獲取顯示屏上光標(biāo)位置的字符串; 判斷模塊,用于分析獲取的字符串,判斷字符串是否需要處理; 提示模塊,用于將需要處理的字符串提示給用戶。 優(yōu)選的,還包括 候選提示模塊,用于根據(jù)預(yù)置詞庫,為所述需要處理的字符串提供候選字符串供用戶選擇。 優(yōu)選的,所述候選提示模塊包括 補(bǔ)全子模塊,用于根據(jù)預(yù)置詞庫及光標(biāo)位置的字符串前綴或后綴,對所述需要處理的字符串進(jìn)行補(bǔ)全,并生成補(bǔ)全候選; 第一提示子模塊,用于將所述補(bǔ)全候選提示給用戶。 優(yōu)選的,所述預(yù)置詞庫中的字符串按照預(yù)置順序形成前綴樹或后綴樹結(jié)構(gòu),所述
補(bǔ)全子模塊使用前綴樹或后綴樹結(jié)構(gòu)生成所述補(bǔ)全候選。 優(yōu)選的,所述候選提示模塊包括 糾錯(cuò)子模塊,用于根據(jù)預(yù)置詞庫對所述需要處理的字符串進(jìn)行編輯操作,生成糾錯(cuò)候選;所述編輯操作包括插入、刪除、替換或交換字符順序;
第二提示子模塊,用于將所述糾錯(cuò)候選提示給用戶。 優(yōu)選的,所述預(yù)置詞庫中的字符串按照預(yù)置順序形成前綴樹結(jié)構(gòu),所述糾錯(cuò)子模
塊基于預(yù)置容錯(cuò)機(jī)制在前綴樹中進(jìn)行所述糾錯(cuò)候選的查找。 優(yōu)選的,還包括 用戶響應(yīng)獲取模塊,用于獲取用戶對所述提示的響應(yīng),在用戶處理完一需要處理的字符串后,自動(dòng)定位到下一需要處理的字符串。
優(yōu)選的,還包括 用戶詞庫管理模塊,用于當(dāng)用戶響應(yīng)獲取模塊確定用戶對所述需要處理的字符串
7進(jìn)行處理時(shí),判斷用戶詞庫中是否存在之前已判斷出需要處理的字符串,如果存在,將用戶詞庫中存在的需要處理的字符串替換為處理后的字符串;所述用戶詞庫用于記錄用戶的輸入歷史,在用戶進(jìn)行字符串輸入時(shí),為用戶提供字符串候選;
所述處理后的字符串由所述用戶響應(yīng)獲取模塊獲取。
優(yōu)選的,還包括 記錄模塊,用于當(dāng)用戶響應(yīng)獲取模塊確定用戶對所述需要處理的字符串進(jìn)行處理時(shí),記錄用戶處理前及處理后的字符串的對應(yīng)關(guān)系;
所述判斷模塊優(yōu)先根據(jù)所述對應(yīng)關(guān)系進(jìn)行判斷。
優(yōu)選的,還包括 新詞發(fā)現(xiàn)模塊,用于當(dāng)所述用戶響應(yīng)獲取模塊確定用戶忽略同一需要處理的字符串的次數(shù)超過預(yù)置閾值時(shí),將該需要處理的字符串記錄為用戶新詞;
所述判斷模塊將再次出現(xiàn)的所述用戶新詞確定為不需要處理。
優(yōu)選的,所述判斷模塊包括 比較子模塊,用于將獲取的字符串與預(yù)置詞庫中的字符串進(jìn)行比較,判斷預(yù)置詞庫中是否存在與該獲取的字符串完全匹配的字符串; 第一確定子模塊,用于將所述與預(yù)置詞庫中的字符串均不完全匹配的字符串確定
為所述需要處理的字符串。 優(yōu)選的,所述判斷模塊包括 上下文獲取子模塊,用于獲取顯示屏上光標(biāo)位置的字符串的上下文; 分析子模塊,用于分析所述展現(xiàn)在顯示屏上的字符串的上下文,判斷是否存在用
詞錯(cuò)誤的字符串; 第二確定子模塊,用于將所述用詞錯(cuò)誤的字符串確定為所述需要處理的字符串。
根據(jù)本發(fā)明提供的具體實(shí)施例,本發(fā)明公開了以下技術(shù)效果 第一,本發(fā)明通過獲取顯示屏上光標(biāo)位置的字符串,并對獲取的字符串進(jìn)行分析,發(fā)現(xiàn)其中需要處理的字符串,并將需要處理的字符串提示給用戶,可見,本發(fā)明不僅可以提示用戶正在輸入的文字,還可以將已經(jīng)展現(xiàn)在顯示屏上的需要處理的字符串提示給用戶,以此來幫助用戶快速、準(zhǔn)確地發(fā)現(xiàn)需要處理的字符串并完成文本的輸入及修改,使得輸入過程更加流暢。 第二,可以對需要處理的字符串進(jìn)行補(bǔ)全或糾錯(cuò),將生成的候選提示給用戶,進(jìn)一步加快了字符串的處理效率。由于還可以獲取字符串的上下文,因此不僅能夠獲取到存在拼寫錯(cuò)誤的字符串,還可以獲取到存在使用錯(cuò)誤的字符串,然后可以對需要處理的字符串進(jìn)行糾錯(cuò)或補(bǔ)全,以處理本身拼寫正確但存在用詞錯(cuò)誤的情況。比如通過光標(biāo)取詞獲取文字片段"please fill the frombefore you check out from the hotel ,,后,快速定位至lj其中的第一個(gè)from,并給出"form"的糾錯(cuò)提示。另外,補(bǔ)全單元可以根據(jù)獲取的字符串中的正確部分的前綴或后綴做出補(bǔ)全候選。例如,在用戶進(jìn)行退格操作時(shí),由于可以獲取已展現(xiàn)在顯示屏上的單詞的前綴部分,因此可以根據(jù)該前綴部分在預(yù)置詞庫中匹配并進(jìn)行動(dòng)態(tài)補(bǔ)全,而不需要用戶從頭輸入這部分單詞前綴。 第三,可以使用前綴樹或后綴樹結(jié)構(gòu)進(jìn)行補(bǔ)全候選或糾錯(cuò)候選的查找匹配,查找效率高。
8
第四,具有用戶詞學(xué)習(xí)功能,能夠?qū)崿F(xiàn)對用戶反饋的能動(dòng)適應(yīng)。處理前后的字符串對(錯(cuò)誤形式,正確形式)經(jīng)用戶確認(rèn)后記錄下來(如放入緩存),在之后的應(yīng)用中可進(jìn)行優(yōu)先查找和匹配,提升效率。如果多次提示同一個(gè)"錯(cuò)誤"拼寫或"使用錯(cuò)誤"的字符串,用戶都不予以修改,學(xué)習(xí)這個(gè)詞條并記錄下來,下次再出現(xiàn)這個(gè)詞條時(shí)可不予提示。從而實(shí)現(xiàn)了針對用戶的個(gè)性化糾錯(cuò)提示。 第五,通過輸入法系統(tǒng)來提供對已經(jīng)展現(xiàn)在顯示屏上的文本糾錯(cuò)提示功能,用戶可以基于輸入法完成對已展現(xiàn)在顯示屏上的文本的糾錯(cuò),從而緩解了對文本編輯環(huán)境(如Microsoft Word等文本編輯軟件)的依賴。
圖1是本發(fā)明提供的方法的流程圖; 圖2是現(xiàn)有輸入法對已經(jīng)展現(xiàn)在顯示屏上的字符串的補(bǔ)全示意圖; 圖3是本發(fā)明使用的前綴樹結(jié)構(gòu)詞庫的示意圖; 圖4是本發(fā)明提供的第一裝置的示意圖; 圖5是本發(fā)明提供的第二裝置的示意圖; 圖6是本發(fā)明提供的第三裝置的示意圖; 圖7是本發(fā)明提供的第一輸入法系統(tǒng)的示意圖; 圖8是本發(fā)明提供的第二輸入法系統(tǒng)的示意圖; 圖9是本發(fā)明提供的第三輸入法系統(tǒng)的示意圖。
具體實(shí)施例方式
為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式
對本發(fā)明作進(jìn)一步詳細(xì)的說明。
參見圖l,本發(fā)明實(shí)施例提供的糾錯(cuò)提示的方法包括以下步驟
S101 :獲取顯示屏上光標(biāo)位置的字符串; 在使用現(xiàn)有的輸入法進(jìn)行字符輸入時(shí),所述顯示屏上光標(biāo)位置的字符串已經(jīng)不受輸入法控制處理,即便某些字符串需要處理(如,存在拼寫錯(cuò)誤、使用錯(cuò)誤等),現(xiàn)有的輸入法也無法做出任何提示,因?yàn)楝F(xiàn)有的輸入法只能記錄用戶當(dāng)前輸入的字符,并根據(jù)當(dāng)前記錄的字符進(jìn)行提示。因此,在本發(fā)明實(shí)施例提供的方法中,首先要獲取顯示屏上光標(biāo)位置的字符串,在此基礎(chǔ)上來進(jìn)行后續(xù)的分析判斷步驟。 其中,所述獲取顯示屏上光標(biāo)位置的字符串的具體實(shí)現(xiàn)可以有多種,例如,在Windows系統(tǒng)下,當(dāng)光標(biāo)移動(dòng)到某位置時(shí),可以強(qiáng)制重繪窗口來獲取文本信息,根據(jù)光標(biāo)位置通過函數(shù)鉤子來取得當(dāng)前字符串;或者記錄輸入歷史,在需要獲取光標(biāo)位置展現(xiàn)在顯示屏上的字符串時(shí),直接將當(dāng)前輸入的輸入歷史取回,等等。 關(guān)于字符串的邊界,以英文輸入為例,可以有以下兩種情況如果是純英文輸入,可以通過前后的空格或結(jié)束符來確定;如果是中英文混合輸入等情況,則非英文字符、空格、結(jié)束符等都可以用于字符串邊界的判定。
S102 :分析獲取的字符串,判斷所獲取的字符串是否需要處理; 所述需要處理通常可以包括存在拼寫錯(cuò)誤或用詞錯(cuò)誤等,對于存在拼寫錯(cuò)誤的字
9符串,可以通過以下方式判斷將獲取的字符串與預(yù)置詞庫中的字符串進(jìn)行比較,判斷預(yù)置詞庫中是否存在與該獲取的字符串相匹配的字符串,如果不存在,說明該字符串存在拼寫錯(cuò)誤,那么該獲取的字符串需要處理。 其中,所述預(yù)置詞庫中保存了所有可能用到的字符串,例如,對于英文而言,該預(yù)置詞庫相當(dāng)于英文詞典,可以保存所有的英文單詞。在本發(fā)明實(shí)施例中,所述預(yù)置詞庫不僅可以用于對顯示屏上的字符串是否需要進(jìn)行處理的判斷過程,還可以用于為需要處理的字符串提供候選字符串的過程,后者會(huì)在后續(xù)的部分進(jìn)行詳細(xì)地介紹。 對于存在用詞錯(cuò)誤的字符串,需要在獲取光標(biāo)位置展現(xiàn)在顯示屏上的字符串時(shí),還獲取該字符串的前后若干個(gè)字符串作為該字符串的上下文,則可以通過分析所述上下文,判斷該獲取的字符串是否存在用詞錯(cuò)誤,如果存在,則該字符串需要處理。例如,通過獲取文字片段"please fill the from before youcheck out from the hotel,,后,對該片段進(jìn)行分析后,可以判斷出其中的第一個(gè)from存在用詞錯(cuò)誤(雖然其不存在拼寫錯(cuò)誤),則該字符串需要處理。 S103 :將需要處理的字符串提示給用戶。 將需要處理的字符串提示給用戶,可以幫助用戶定位到需要處理的字符串,并進(jìn)行必要的修改,而無需用戶親自去查找,節(jié)省了用戶的時(shí)間。 在實(shí)際應(yīng)用中,還可以對需要處理的字符串給出 一些修改的候選項(xiàng),這樣如果候選項(xiàng)中存在用戶認(rèn)為正確的字符串,則用戶可以直接選擇來完成修改,進(jìn)一步節(jié)省了用戶的時(shí)間;另一方面,用戶可能會(huì)由于忘記了正確的拼寫方式或其他原因而不知如何修改,因此,從這一點(diǎn)來講,提供修改的候選項(xiàng)能夠?yàn)橛脩籼峁└蟮谋憷?。下面就對本發(fā)明實(shí)施例采用的提供修改候選項(xiàng)的方法進(jìn)行詳細(xì)地描述。 實(shí)施例一、可以通過對光標(biāo)位置的字符串前綴或后綴進(jìn)行補(bǔ)全,生成補(bǔ)全候選,并提示給用戶。其中所述補(bǔ)全的過程可以是在用戶正在修改需要處理的字符串時(shí)進(jìn)行的。為了更好地體現(xiàn)出本發(fā)明的效果,現(xiàn)在與現(xiàn)有輸入法進(jìn)行對比并舉例進(jìn)行說明。
在用戶使用現(xiàn)有的輸入法(以英文輸入法為例)時(shí),當(dāng)用戶需要修改(包括字母的插入、刪除、替換等)單詞時(shí),現(xiàn)有輸入法只會(huì)以用戶新輸入的字母為起點(diǎn)給出補(bǔ)全內(nèi)容。比如用戶在搜索引擎中輸入單詞"bagy",點(diǎn)擊搜索后發(fā)現(xiàn)該單詞少了一個(gè)字母"g",當(dāng)用戶開始從字母"y"起退格,或者直接將光標(biāo)移到字母"g"之前或之后時(shí),輸入法不會(huì)做出任何提示,而當(dāng)用戶開始插入字母"g"時(shí),該輸入法會(huì)認(rèn)為用戶是在進(jìn)行以當(dāng)前輸入的字母"g"為首字母的新的輸入,并開始進(jìn)行以"g"為首字母的動(dòng)態(tài)補(bǔ)全,同時(shí)將輸入法詞庫中以"g"為首字母的單詞提供給用戶,參見圖2。 而在使用本發(fā)明實(shí)施例提供的方法時(shí),如果用戶需要修改單詞,則會(huì)以光標(biāo)位置的單詞前綴和/或后綴進(jìn)行補(bǔ)全。仍以上述例子為例,使用本發(fā)明實(shí)施例提供的方法,當(dāng)用
戶開始從字母"y"起退格,或者直接將光標(biāo)移到字母"g"之前或之后時(shí),本發(fā)明實(shí)施例會(huì)根
據(jù)光標(biāo)位置的單詞前綴"bag"給出補(bǔ)全候選,因此,其中有非常大的可能性包括"baggy"這個(gè)候選,此時(shí),用戶便可以通過直接選擇該候選來完成輸入了。當(dāng)前,生成的補(bǔ)全候選可能有很多個(gè),因此可以預(yù)設(shè)容錯(cuò)查找范圍,例如將編輯距離限定在某閾值之內(nèi)等。其中,編輯距離是指將一個(gè)字符串轉(zhuǎn)變?yōu)榱硪粋€(gè)字符串所需要的編輯開銷。這里涉及的字符串可以是英語字母、漢字和/或標(biāo)點(diǎn)符號等。編輯開銷如全部定義為1,那么將zipo轉(zhuǎn)變?yōu)閦ippo的
10編輯距離是l,將englsi轉(zhuǎn)變?yōu)閑nglish的編輯距離是2,反過來也是如此。 實(shí)施例二、可以根據(jù)所述預(yù)置詞庫對所述需要處理的字符串進(jìn)行編輯操作,生成
糾錯(cuò)候選,并將所述糾錯(cuò)候選提示給用戶,其中,所述編輯操作包括插入、刪除、替換或交
換字符順序等。例如,對于錯(cuò)誤拼寫"zipo",可以做出"zi卯"、"zip"、"zi卯y"等糾錯(cuò)候
選。其中,所述交換字符順序通常是指兩個(gè)字母在輸入順序上發(fā)生錯(cuò)誤的情況,例如經(jīng)常將
"what"輸入成"waht",這時(shí)就需要將字符a和字符h的順序進(jìn)行交換,將"what"作為糾錯(cuò)
候選提示給用戶。與生成補(bǔ)全候選時(shí)類似,由于這些編輯操作可能會(huì)生成非常多的候選,因
此,可以預(yù)先規(guī)定生成糾錯(cuò)候選的限制條件,在一定容錯(cuò)查找范圍內(nèi)進(jìn)行,例如在一定編輯
距離內(nèi)進(jìn)行編輯操作等。 上述實(shí)施例一及實(shí)施例二給出了兩種為用戶提供修改候選項(xiàng)的方法,包括補(bǔ)全及糾錯(cuò),可以在用戶開始輸入退格時(shí),或直接根據(jù)光標(biāo)位置,或當(dāng)光標(biāo)位置發(fā)生變化時(shí)進(jìn)行補(bǔ)全或糾錯(cuò)的提示。在實(shí)際應(yīng)用中,補(bǔ)全候選或糾錯(cuò)候選可以通過在預(yù)置的詞庫中進(jìn)行查找獲得。因此可以通過一定的策略來提高查找的效率。以生成糾錯(cuò)候選的過程為例,對于錯(cuò)誤的拼寫"zipo",最普通的做法是將z ipo與所述預(yù)置詞庫中所有的條目比較一遍,這顯然比較浪費(fèi)時(shí)間。 一個(gè)改進(jìn)的辦法可以是,在zipo的每個(gè)位置上進(jìn)行26個(gè)字母的插入、刪除、替換和交換操作,查看生成的詞條是否在所述預(yù)置詞庫中存在。例如,其中一條路徑是假設(shè)zipo沒有錯(cuò)誤,則可以在第三個(gè)字母p之后插入一個(gè)字母,生成zip〈x〉Q等26個(gè)候選,再分別將這26個(gè)候選與預(yù)置詞庫中的詞條進(jìn)行比較,查找可能正確的詞條,
在本發(fā)明的優(yōu)選實(shí)施例中,采用了更加有效、更加節(jié)省計(jì)算量的方法,即首先將所述預(yù)置詞庫中的詞條按照預(yù)置順序排列,形成前綴樹的結(jié)構(gòu),然后在前綴樹結(jié)構(gòu)下進(jìn)行查找。以英文單詞詞庫為例,則該詞庫中的單詞可以按照字母順序形成前綴樹結(jié)構(gòu)。參見圖3所示的一個(gè)以字母z開頭的前綴樹結(jié)構(gòu),〈S〉表示開始,〈E〉表示單詞結(jié)束,因僅為示意,所以只顯示了 z字母開頭的zinc、zorro、zip、zippo等幾個(gè)單詞。仍以上述假設(shè)zipo沒有錯(cuò)誤為例,在前綴樹結(jié)構(gòu)的詞庫中可以發(fā)現(xiàn)以zip為前綴的單詞只存在〈E〉和p兩條路徑,這樣就不用再進(jìn)行除P以外的25個(gè)字母的查找匹配過程了,從而大大減少了計(jì)算量。圖3中紅色箭頭顯示的是另外一個(gè)例子,即在zi-處進(jìn)行插入一個(gè)字母的插入操作,針對zi-下的n、p進(jìn)行跨字母匹配首先在zin-后查看是否存在zinpo,結(jié)果查找失??;接下來在zip-后查看是否存在zi卯o,查找成功,這時(shí)就可以把zippo選取出來作為一個(gè)zipo的糾錯(cuò)候選。同樣,刪除、替換及交換操作也可以通過類似的辦法,通過前綴樹結(jié)構(gòu)來實(shí)現(xiàn)快速高效地查找。當(dāng)然,利用前綴樹結(jié)構(gòu)進(jìn)行查找匹配也適用于生成補(bǔ)全候選的過程,而且,如果是針對當(dāng)前字符串后綴的前向補(bǔ)全,則可以使用后綴樹結(jié)構(gòu),也就是將詞庫中的詞條逐字母倒過來存入后綴樹中。生成補(bǔ)全候選時(shí),可以將當(dāng)前字符串后綴從后向前逐字母與詞庫中的詞條進(jìn)行比對。 當(dāng)然,其他語種的詞庫也可以使用前綴樹、后綴樹結(jié)構(gòu),例如,對于漢語詞庫,可以形成兩萬多漢字的漢語"字母表"。因此本發(fā)明同樣適用于漢字等其他文字的補(bǔ)全和糾錯(cuò),比如漢語成語的補(bǔ)全等。 另外,本發(fā)明實(shí)施例中的補(bǔ)全不一定是針對用戶當(dāng)前的輸入片段或用戶正在修改的字符串,也可以是為單詞提供其復(fù)合詞形式,例如,可以為單詞"English"提供"Englishman"、"Englishwomen"、"non-English"等。基于這種原因,補(bǔ)全操作的容錯(cuò)查找
11范圍通常要比糾錯(cuò)操作的查找范圍要大一些。例如,補(bǔ)全時(shí),所述需要處理的字符串與生成的候選字符串之間的編輯距離要大于糾錯(cuò)操作中限定的閾值。 對于糾錯(cuò)候選,雖然不能直接利用前綴樹生成,但是可以采用基于預(yù)置的容錯(cuò)策略在前綴樹中進(jìn)行糾錯(cuò)候選的查找,從而縮小了編輯操作的查找范圍,節(jié)省了處理時(shí)間。
與本發(fā)明實(shí)施例提供的糾錯(cuò)提示的方法相對應(yīng),本發(fā)明實(shí)施例還提供了一種提供糾錯(cuò)提示的裝置,參見圖4,該裝置包括 取詞單元U401,用于獲取顯示屏上光標(biāo)位置的字符串; 判斷單元U402,用于分析獲取的字符串,判斷字符串是否需要處理; 提示單元U403,用于將需要處理的字符串提示給用戶。 取詞單元U401可以獲取顯示屏上光標(biāo)位置的字符串,然后判斷單元U402便可以判斷該獲取的字符串是否需要進(jìn)行處理,如果需要處理,則將需要處理的字符串提示給用戶。這樣用戶便可以根據(jù)提示,快速知悉哪個(gè)字符串是需要處理的,然后開始對其進(jìn)行必要的處理。因此,提高了處理字符串的效率。 其中,參見圖5,判斷單元U502可以包括以下子單元 比較子單元U5021,用于將獲取的字符串與預(yù)置詞庫中的字符串進(jìn)行比較,判斷是否存在與預(yù)置詞庫中的字符串均不匹配的字符串; 第一確定子單元U5022,用于將所述與預(yù)置詞庫中的字符串均不匹配的字符串確定為所述需要處理的字符串。 通過上述兩個(gè)子單元,可以發(fā)現(xiàn)存在拼寫錯(cuò)誤的字符串,在本發(fā)明的優(yōu)選實(shí)施例中,也可以發(fā)現(xiàn)存在用詞錯(cuò)誤的字符串,因此,該裝置的判斷單元U502也可以包括以下子單元 上下文獲取子單元U5023,用于獲取顯示屏上光標(biāo)位置的字符串的上下文;
分析子單元U5024,用于分析所述展現(xiàn)在顯示屏上的字符串的上下文,判斷是否存在用詞錯(cuò)誤的字符串; 第二確定子單元U5025,用于將所述用詞錯(cuò)誤的字符串確定為所述需要處理的字符串。判斷單元U502可以同時(shí)包括比較子單元U5021到第二確定子單元U5025這五個(gè)
子單元,這樣判斷單元U502既可以判斷出拼寫錯(cuò)誤,又可以判斷出用詞錯(cuò)誤。其中,圖5中的取詞單元U501、提示單元U503與圖4中的取詞單元U401、提示單
元U403相同。 在實(shí)際應(yīng)用中,除了將需要處理的字符串提示給用戶外,還可以在用戶開始修改字符串時(shí)或尚未修改時(shí),向用戶做出修改候選提示,這樣,如果修改提示中包含用戶需要的正確的字符串,則用戶便可以通過直接選擇來完成輸入,從而進(jìn)一步提高了處理字符串的效率。因此,參見圖6,該裝置還可以包括 候選提示單元U604,用于根據(jù)預(yù)置詞庫,為所述需要處理的字符串提供候選字符串供用戶選擇。 其中,候選提示單元U604可以提示的候選可以包括補(bǔ)全候選及糾錯(cuò)候選,提示補(bǔ)全候選時(shí),候選提示單元U604可以包括以下子單元 補(bǔ)全子單元U6041,用于在用戶開始修改字符串時(shí),根據(jù)預(yù)置的詞庫及光標(biāo)位置的
12字符串前綴或后綴(字符串中正確的部分),對所述需要處理的字符串進(jìn)行補(bǔ)全,并生成補(bǔ)全候選; 第一提示子單元U6042,用于將生成的補(bǔ)全候選提示給用戶。
提示糾錯(cuò)候選時(shí),候選提示單元U604可以包括以下子單元 糾錯(cuò)子單元U6043,用于在判斷出存在需要處理的字符串后,在用戶開始修改前,便可以根據(jù)預(yù)置的詞庫,對所述需要處理的字符串進(jìn)行編輯操作,生成糾錯(cuò)候選;所述編輯操作可以包括插入、刪除、替換或交換字符順序等; 第二提示子單元U6044,用于將生成的糾錯(cuò)候選提示給用戶,以供用戶選擇。
其中,候選提示單元U604可以同時(shí)包括用于提示補(bǔ)全候選的子單元和用于提示糾錯(cuò)候選的子單元,這樣候選提示單元U604既可以向用戶做出補(bǔ)全提示,又能夠做出糾錯(cuò)提示。 由于補(bǔ)全候選及糾錯(cuò)候選的生成過程都要用到預(yù)置的詞庫,因此在本發(fā)明的優(yōu)選實(shí)施例中,該預(yù)置的詞庫中的字符串采用按照預(yù)置順序(如英文單詞可以按照字母順序)實(shí)現(xiàn)的前綴樹結(jié)構(gòu),這樣生成補(bǔ)全或糾錯(cuò)候選時(shí),便可以使用該前綴樹結(jié)構(gòu)進(jìn)行,從而能夠?qū)崿F(xiàn)快速、高效的查找。其中,補(bǔ)全子單元U6041可以直接使用前綴樹或后綴樹結(jié)構(gòu)生成所述補(bǔ)全候選;糾錯(cuò)子單元U6043可以基于預(yù)置容錯(cuò)機(jī)制在前綴樹中進(jìn)行所述糾錯(cuò)候選的查找。 在本發(fā)明的優(yōu)選實(shí)施例中,還可以包括用戶響應(yīng)獲取單元U605,用于獲取用戶對所述提示的響應(yīng),在用戶處理完一待處理的字符串后,可以自動(dòng)定位到下一需要處理的字符串。 其中,圖6中的取詞單元U601、判斷單元U602、提示單元U603與圖4中的取詞單元U401、判斷單元U402、提示單元U403相同。 本發(fā)明旨在提供一種能夠?qū)σ呀?jīng)展現(xiàn)在顯示屏上的字符串進(jìn)行糾錯(cuò)提示的技術(shù)方案,而如果將該方案實(shí)現(xiàn)在輸入法系統(tǒng)中,則將解決現(xiàn)有輸入法系統(tǒng)無法對已經(jīng)展現(xiàn)在顯示屏上的字符串進(jìn)行糾錯(cuò)的問題。因此,本發(fā)明實(shí)施例還提供了一種提供糾錯(cuò)提示的輸入法系統(tǒng),參見圖7,該系統(tǒng)包括 取詞模塊U701,用于獲取顯示屏上光標(biāo)位置的字符串; 判斷模塊U702,用于分析獲取的字符串,判斷字符串是否需要處理; 提示模塊U703,用于將需要處理的字符串提示給用戶。 本發(fā)明實(shí)施例提供的輸入法系統(tǒng)可以具有輸入模式及糾錯(cuò)模式,在輸入模式下,與通常的輸入法系統(tǒng)基本相似;在用戶輸入完一段文字后,可以切換到糾錯(cuò)模式,則該輸入法系統(tǒng)將會(huì)通過以上各模塊進(jìn)行查找及提示。 其中,在本發(fā)明的優(yōu)選實(shí)施例中,除了將需要處理的字符串提示給用戶外,還可以在用戶開始修改字符串時(shí)或尚未修改時(shí),向用戶做出修改候選提示,這樣,如果修改提示中包含用戶需要的正確的字符串,則用戶便可以通過直接選擇來完成輸入,從而進(jìn)一步提高了處理字符串的效率。因此,參見圖8,該輸入法系統(tǒng)還可以包括 候選提示模塊U804,用于根據(jù)預(yù)置詞庫,為所述需要處理的字符串提供候選字符串供用戶選擇。 其中,候選提示模塊U804可以提示的候選可以包括補(bǔ)全候選及糾錯(cuò)候選,提示補(bǔ)全候選時(shí),候選提示模塊U804可以包括以下子模塊 補(bǔ)全子模塊U8041,用于在用戶開始修改字符串時(shí),根據(jù)預(yù)置的詞庫及光標(biāo)位置的 字符串前綴或后綴,對所述需要處理的字符串進(jìn)行補(bǔ)全,并生成補(bǔ)全候選;
第一提示子模塊U8042將生成的補(bǔ)全候選提示給用戶。而在用戶選定補(bǔ)全選項(xiàng) 后,輸入法會(huì)自動(dòng)將待補(bǔ)全前綴的后續(xù)部分補(bǔ)全,形成一個(gè)完整的單詞,節(jié)省用戶的編輯時(shí) 間。這里的方式可以是提供單詞的完整形式;或者,只提供缺失的若干前綴或后綴。如對 "Engl i sh "提供的候選項(xiàng)只有"non-"、" -man "、" ioman "等。很顯然前者對用戶而言更加 友好些。這兩種情況下當(dāng)用戶選中某選項(xiàng)時(shí)只補(bǔ)全缺失的部分。
提示糾錯(cuò)候選時(shí),候選提示模塊U804可以包括以下子模塊 糾錯(cuò)子模塊U8043,用于在判斷出存在需要處理的字符串后,在用戶開始修改前, 便可以根據(jù)預(yù)置的詞庫,對所述需要處理的字符串進(jìn)行編輯操作,生成糾錯(cuò)候選;所述編輯 操作可以包括插入、刪除、替換或交換字符順序等; 第二提示子模塊U8044也可以將生成的糾錯(cuò)候選提示給用戶,以供用戶選擇。 由于補(bǔ)全候選及糾錯(cuò)候選的生成過程都要用到預(yù)置詞庫,因此為提高查找效率,
在本發(fā)明的優(yōu)選實(shí)施例中,該預(yù)置詞庫中的字符串采用按照預(yù)置順序?qū)崿F(xiàn)的前綴樹結(jié)構(gòu),
這樣生成補(bǔ)全或糾錯(cuò)候選時(shí),便可以使用該前綴樹結(jié)構(gòu)進(jìn)行,從而能夠?qū)崿F(xiàn)快速、高效的查
找。其中,補(bǔ)全子模塊U8041可以直接使用前綴樹或后綴樹結(jié)構(gòu)生成所述補(bǔ)全候選;糾錯(cuò)子
模塊U8042可以基于預(yù)置容錯(cuò)機(jī)制在前綴樹中進(jìn)行所述糾錯(cuò)候選的查找。 在本發(fā)明的優(yōu)選實(shí)施例中,還可以包括用戶響應(yīng)獲取模塊U805,用于獲取用戶對
所述提示的響應(yīng),在用戶處理完一待處理的字符串后,可以自動(dòng)定位到下一需要處理的字符串。 本發(fā)明的優(yōu)選實(shí)施例中,可以實(shí)現(xiàn)針對特定用戶的個(gè)性化糾錯(cuò)。由于輸入法系統(tǒng) 中通常會(huì)存在用戶詞庫,用于記錄用戶的歷史輸入,在用戶使用輸入法進(jìn)行字符串的輸入 時(shí),可以根據(jù)該用戶詞庫中記錄的詞條,為用戶提供字符串候選。也就是說,只要是用戶輸 入并確定后的字符串都會(huì)記錄在該用戶詞庫中,即使輸入的某些字符串存在拼寫錯(cuò)誤等, 但只要被用戶確認(rèn),就會(huì)記錄在用戶詞庫中。顯然,根據(jù)用戶詞庫為用戶提供字符串候選 時(shí),會(huì)有較大的幾率將存在錯(cuò)誤的字符串提示給用戶,以致傷害到用戶的體驗(yàn)。因此,該輸 入法系統(tǒng)還可以包括用戶詞庫管理模塊U806,用于當(dāng)用戶在用戶響應(yīng)模塊U805中響應(yīng)了 補(bǔ)全模塊或糾錯(cuò)模塊給出的提示,或者采用手動(dòng)修改等其他方式對需要處理的字符串進(jìn)行 了修改時(shí),如果發(fā)現(xiàn)該用戶的用戶詞庫中存在這個(gè)處理前的字符串,則可以將該處理前的 字符串從用戶詞庫中刪除,并替換為用戶處理后的字符串,同時(shí)更新用戶詞庫中的記錄信 息。這樣,避免了因?yàn)橛脩舻腻e(cuò)誤輸入對用戶詞庫帶來的噪音 需要說明的是,本發(fā)明所述的預(yù)置詞庫與此處的用戶詞庫不同,所述預(yù)置詞庫是 用于在糾錯(cuò)模式下,判斷字符串是否需要處理以及提供補(bǔ)全或糾錯(cuò)候選的;而用戶詞庫是 用于在輸入模式下,為用戶提供輸入字符串候選的。 另外,該輸入法系統(tǒng)還可以包括記錄模塊U807,對于從用戶響應(yīng)模塊U805獲得的 處理前字符串及處理后字符串,該記錄模塊U807可以將其對應(yīng)關(guān)系記錄下來(如,放入緩 存中),判斷模塊U802可以優(yōu)先根據(jù)所述對應(yīng)關(guān)系進(jìn)行判斷,為查找和匹配工作節(jié)省時(shí)間。
再者,有些字符串可能是用戶自造的,或者是一些縮略語等,而預(yù)置詞庫中可能不
14包含該字符串,因此判斷模塊U802會(huì)判斷出該字符串需要處理,并由提示模塊U803提示給 用戶。但是此時(shí)用戶并不需要修改,盲目的提示會(huì)影響到用戶的體驗(yàn)。因此在本發(fā)明的優(yōu) 選實(shí)施例中,還可以包括新詞發(fā)現(xiàn)模塊U808,通過用戶響應(yīng)獲取模塊U805來判斷用戶對同 一需要處理的字符串不予理睬的次數(shù)是否超過了某預(yù)置的閾值,如果是,則可以學(xué)習(xí)這個(gè) 字符串作為用戶新詞,下次再出現(xiàn)該字符串時(shí),判斷模塊將U802所述用戶新詞確定為不需 要處理,提示模塊U803將不予提示,以此來實(shí)現(xiàn)用戶詞學(xué)習(xí)功能,更能滿足用戶的個(gè)性化 需求。 其中,圖8中的取詞模塊U801與圖7中的取詞模塊U701相同。 另外,由于該提供糾錯(cuò)提示的功能是由輸入法系統(tǒng)實(shí)現(xiàn)的,而輸入法系統(tǒng)在任何
的編輯環(huán)境下都可以使用,因此在任何輸入環(huán)境下都能夠?qū)σ呀?jīng)展現(xiàn)在顯示屏上的文字進(jìn)
行糾錯(cuò)提示。雖然一些文字編輯軟件(如Microsoft Word等)也具有對已經(jīng)展現(xiàn)在顯示屏
上的文字進(jìn)行糾錯(cuò)提示的功能,但是并不是所有的文字都是在這類文字編輯軟件輸入的,
例如,用戶正在使用某聊天工具聊天,則用戶在輸入完一段文字之后,如果想要檢查這段文
字是否存在拼寫或用詞錯(cuò)誤,則只能將這段文字拷貝到Word等編輯環(huán)境中檢查,修改完畢
后再拷貝回原來的聊天工具編輯框中??梢姡m錯(cuò)的功能主要依賴于Word等編輯環(huán)境。而
如果實(shí)現(xiàn)了本發(fā)明實(shí)施例提供的輸入法系統(tǒng),則可以直接基于輸入法對已經(jīng)展現(xiàn)在顯示屏
上的文字進(jìn)行糾錯(cuò),從而大大減少了用戶對Word等編輯環(huán)境的依賴。這樣能夠提升用戶在
不同場景(聊天、BBS發(fā)帖等非正式文字編輯場合)下輸入文字的質(zhì)量。 與提供糾錯(cuò)提示的裝置類似,參見圖9,該提供糾錯(cuò)提示的輸入法系統(tǒng)的判斷模塊
U902也可以包括以下子模塊 比較子模塊U9021,用于將獲取的字符串與預(yù)置詞庫中的字符串進(jìn)行比較,判斷判 斷預(yù)置詞庫中是否存在與該獲取的字符串完全匹配的字符串; 第一確定子模塊U9022,用于將所述與預(yù)置詞庫中的字符串均不完全匹配的字符 串確定為所述需要處理的字符串。 通過上述兩個(gè)子模塊,可以發(fā)現(xiàn)存在拼寫錯(cuò)誤的字符串,在本發(fā)明的優(yōu)選實(shí)施例 中,也可以發(fā)現(xiàn)存在用詞錯(cuò)誤的字符串,因此,該輸入法系統(tǒng)的判斷模塊U902也可以包括 以下子模塊 上下文獲取子模塊U9023,用于獲取顯示屏上光標(biāo)位置的字符串的上下文;
分析子模塊U9024,用于分析所述展現(xiàn)在顯示屏上的字符串的上下文,判斷是否存 在用詞錯(cuò)誤的字符串; 第二確定子模塊U9025,用于將所述用詞錯(cuò)誤的字符串確定為所述需要處理的字 符串。 判斷模塊U902可以同時(shí)包括用于發(fā)現(xiàn)拼寫錯(cuò)誤的子模塊及用于發(fā)現(xiàn)用詞錯(cuò)誤的
子模塊,這樣判斷模塊U902既可以判斷出拼寫錯(cuò)誤,又可以判斷出用詞錯(cuò)誤。 其中圖9中的取詞模塊U901、提示模塊U903與圖7中的取詞模塊U701、提示模塊
U703相同。 為了更好地理解本發(fā)明實(shí)施例提供的技術(shù)方案,下面通過使用輸入法系統(tǒng)進(jìn)行糾 錯(cuò)提示的具體實(shí)例進(jìn)行詳細(xì)的介紹。 小明最近找了一個(gè)澳大利亞的網(wǎng)友,偶爾跟他聊聊天,希望借此提升一下自己的
15英語水平。雖然聊天不算正式,他還是希望能盡可能少犯錯(cuò)誤,避免溝通中不必要的誤解。 因?yàn)閷Ψ搅奶齑蜃值乃俣容^快,小明由于不習(xí)慣英文輸入等原因無法在輸入過程中發(fā)現(xiàn)拼 寫錯(cuò)誤或用詞錯(cuò)誤。 這時(shí)使用本方案可以很好的解決這個(gè)問題。在輸入的過程中,可以使用該輸入法 對英文詞條的補(bǔ)全功能,在輸入完一句話復(fù)查時(shí),小明使用預(yù)置的糾錯(cuò)快捷鍵可以很快的 發(fā)現(xiàn)句子中的拼寫錯(cuò)誤或用詞錯(cuò)誤,例如,其中一個(gè)拼錯(cuò)的單詞是"Englsih"。輸入法幫助 小明定位到這個(gè)錯(cuò)誤后。小明使用退格依次刪除了h、i、s三個(gè)字母。由于這是針對之前輸 入法取得的已經(jīng)展現(xiàn)在顯示屏上的文字的修改,同時(shí)輸入法根據(jù)預(yù)加載詞庫的前綴匹配情 況判定"Engl"是合法前綴,于是給出"English"、"England"等若干候選,而不是從頭開始 接收用戶的輸入并以此作為前綴進(jìn)行匹配。 根據(jù)與原始輸入"Englsih"的匹配程度,"English"排在候選項(xiàng)第一位。小明自 己也意識到"English"才是正確的輸入,并直接選擇以完成修改。接下來他調(diào)用輸入法中 尋找錯(cuò)誤的快捷鍵,迅速定位到下一個(gè)錯(cuò)誤位置進(jìn)行修改。輸入法發(fā)現(xiàn)之前的用戶詞庫存 在"Englsih"這樣被用戶確認(rèn)的錯(cuò)誤拼寫,于是將該詞條刪除,代之以"English"并將其使 用頻率加1。接下來輸入法又定位到輸入中的下一個(gè)錯(cuò)誤。通過本方案,小明能夠很暢快地 輸入,完成與國外網(wǎng)友聊天的輸入內(nèi)容。 本發(fā)明所述輸入法系統(tǒng)是指計(jì)算機(jī)用戶使用鍵盤、手寫板等輸入工具向計(jì)算機(jī)輸 入文字、符號的編輯工具。輸入法使用一定編碼規(guī)則,將用戶輸入序列(拼音序列、五筆、手 寫板輸入等)轉(zhuǎn)化為機(jī)器可處理的文字編碼。輸入法是用戶尤其非羅馬字符文字用戶進(jìn)行 計(jì)算機(jī)信息處理的入口程序。這里涉及的輸入法系統(tǒng)是與平臺無關(guān)的,不具體到PC、無線或 其他終端設(shè)備上的任一特定操作系統(tǒng)或平臺。 本發(fā)明中的提供糾錯(cuò)提示的方法主要以英文的輸入為例進(jìn)行介紹,但是該方法同 樣適用于中文、日文、法語等其他語言文字。對于中文、日文等需要進(jìn)行字符轉(zhuǎn)換的文字而 言,區(qū)別在于字符的表示方法與英文不同,可以另外引入分詞的步驟以切分字詞邊界。而對 于法語、德語、西班牙語等羅馬字符文字,則可以直接應(yīng)用本發(fā)明提供的方法。
以上對本發(fā)明所提供的一種提供糾錯(cuò)提示的方法、裝置及輸入法系統(tǒng),進(jìn)行了詳 細(xì)介紹,本文中應(yīng)用了具體個(gè)例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說 明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對于本領(lǐng)域的一般技術(shù)人員,依據(jù) 本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處。綜上所述,本說明書內(nèi)容不 應(yīng)理解為對本發(fā)明的限制。
1權(quán)利要求
一種提供糾錯(cuò)提示的方法,其特征在于,包括獲取顯示屏上光標(biāo)位置的字符串;分析獲取的字符串,判斷所獲取的字符串是否需要處理;將需要處理的字符串提示給用戶。
2. 根據(jù)權(quán)利要求l所述的方法,其特征在于,還包括 根據(jù)預(yù)置詞庫,為所述需要處理的字符串提供候選字符串供用戶選擇。
3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)預(yù)置詞庫,為所述需要處理的字符串提供候選字符串供用戶選擇包括根據(jù)預(yù)置詞庫及光標(biāo)位置的字符串前綴或后綴對所述需要處理的字符串進(jìn)行補(bǔ)全,生 成補(bǔ)全候選,并將所述補(bǔ)全候選提示給用戶。
4. 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述預(yù)置詞庫中的字符串按照預(yù)置順序 形成前綴樹或后綴樹結(jié)構(gòu),使用前綴樹或后綴樹結(jié)構(gòu)生成所述補(bǔ)全候選。
5. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)預(yù)置詞庫,為所述需要處理的字符串提供候選字符串供用戶選擇包括根據(jù)預(yù)置詞庫對所述需要處理的字符串進(jìn)行編輯操作,生成糾錯(cuò)候選,并將所述糾錯(cuò) 候選提示給用戶;所述編輯操作包括插入、刪除、替換或交換字符順序。
6. 根據(jù)權(quán)利要求5所述的方法,其特征在于,所述預(yù)置詞庫中的字符串按照預(yù)置順序 形成前綴樹結(jié)構(gòu),基于預(yù)置容錯(cuò)機(jī)制在前綴樹中進(jìn)行所述糾錯(cuò)候選的查找。
7. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述判斷獲取的字符串是否需要處理包括將獲取的字符串與預(yù)置詞庫中的字符串進(jìn)行比較,判斷預(yù)置詞庫中是否存在與該獲取 的字符串完全匹配的字符串,如果不存在,則該獲取的字符串需要處理。
8. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述判斷獲取的字符串是否需要處理包括獲取顯示屏上光標(biāo)位置的字符串的上下文;分析所述上下文,判斷該獲取的字符串是否存在用詞錯(cuò)誤,如果存在,則該字符串需要 處理。
9. 根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括獲取用戶對所述提示的響應(yīng),在用戶處理完一需要處理的字符串后,自動(dòng)定位到下一 需要處理的字符串。
10. —種提供糾錯(cuò)提示的裝置,其特征在于,包括 取詞單元,用于獲取顯示屏光標(biāo)位置的字符串; 判斷單元,用于分析獲取的字符串,判斷字符串是否需要處理; 提示單元,用于將需要處理的字符串提示給用戶。
11. 根據(jù)權(quán)利要求10所述的裝置,其特征在于,還包括候選提示單元,用于根據(jù)預(yù)置詞庫,為所述需要處理的字符串提供候選字符串供用戶 選擇。
12. 根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述候選提示單元包括 補(bǔ)全子單元,用于根據(jù)預(yù)置詞庫及光標(biāo)位置的字符串前綴或后綴,對所述需要處理的字符串進(jìn)行補(bǔ)全,并生成補(bǔ)全候選;第一提示子單元,用于將所述補(bǔ)全候選提示給用戶。
13. 根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述預(yù)置詞庫中的字符串按照預(yù)置順 序形成前綴樹或后綴樹結(jié)構(gòu),所述補(bǔ)全子單元使用前綴樹或后綴樹結(jié)構(gòu)生成所述補(bǔ)全候 選。
14. 根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述候選提示單元包括 糾錯(cuò)子單元,用于根據(jù)預(yù)置詞庫對所述需要處理的字符串進(jìn)行編輯操作,生成糾錯(cuò)候選;所述編輯操作包括插入、刪除、替換或交換字符順序; 第二提示子單元,用于將所述糾錯(cuò)候選提示給用戶。
15. 根據(jù)權(quán)利要求14所述的裝置,其特征在于,所述預(yù)置詞庫中的字符串按照預(yù)置順 序形成前綴樹結(jié)構(gòu),所述糾錯(cuò)子單元基于預(yù)置容錯(cuò)機(jī)制在前綴樹中進(jìn)行所述糾錯(cuò)候選的查 找。
16. 根據(jù)權(quán)利要求10所述的裝置,其特征在于,還包括用戶響應(yīng)獲取單元,用于獲取用戶對所述提示的響應(yīng),在用戶處理完一需要處理的字 符串后,自動(dòng)定位到下一需要處理的字符串。
17. 根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述判斷單元包括比較子單元,用于將獲取的字符串與預(yù)置詞庫中的字符串進(jìn)行比較,判斷預(yù)置詞庫中 是否存在與該獲取的字符串完全匹配的字符串;第一確定子單元,用于將所述與預(yù)置詞庫中的字符串均不完全匹配的字符串確定為所 述需要處理的字符串。
18. 根據(jù)權(quán)利要求IO所述的裝置,其特征在于,所述判斷單元包括 上下文獲取子單元,用于獲取顯示屏上光標(biāo)位置的字符串的上下文; 分析子單元,用于分析所述展現(xiàn)在顯示屏上的字符串的上下文,判斷是否存在用詞錯(cuò)誤的字符串;第二確定子單元,用于將所述用詞錯(cuò)誤的字符串確定為所述需要處理的字符串。
19. 一種提供糾錯(cuò)提示的輸入法系統(tǒng),其特征在于,包括 取詞模塊,用于獲取顯示屏上光標(biāo)位置的字符串; 判斷模塊,用于分析獲取的字符串,判斷字符串是否需要處理; 提示模塊,用于將需要處理的字符串提示給用戶。
20. 根據(jù)權(quán)利要求19所述的輸入法系統(tǒng),其特征在于,還包括候選提示模塊,用于根據(jù)預(yù)置詞庫,為所述需要處理的字符串提供候選字符串供用戶 選擇。
21. 根據(jù)權(quán)利要求20所述的輸入法系統(tǒng),其特征在于,所述候選提示模塊包括 補(bǔ)全子模塊,用于根據(jù)預(yù)置詞庫及光標(biāo)位置的字符串前綴或后綴,對所述需要處理的字符串進(jìn)行補(bǔ)全,并生成補(bǔ)全候選;第一提示子模塊,用于將所述補(bǔ)全候選提示給用戶。
22. 根據(jù)權(quán)利要求21所述的輸入法系統(tǒng),其特征在于,所述預(yù)置詞庫中的字符串按照 預(yù)置順序形成前綴樹或后綴樹結(jié)構(gòu),所述補(bǔ)全子模塊使用前綴樹或后綴樹結(jié)構(gòu)生成所述補(bǔ) 全候選。
23. 根據(jù)權(quán)利要求20所述的輸入法系統(tǒng),其特征在于,所述候選提示模塊包括 糾錯(cuò)子模塊,用于根據(jù)預(yù)置詞庫對所述需要處理的字符串進(jìn)行編輯操作,生成糾錯(cuò)候選;所述編輯操作包括插入、刪除、替換或交換字符順序; 第二提示子模塊,用于將所述糾錯(cuò)候選提示給用戶。
24. 根據(jù)權(quán)利要求23所述的輸入法系統(tǒng),其特征在于,所述預(yù)置詞庫中的字符串按照 預(yù)置順序形成前綴樹結(jié)構(gòu),所述糾錯(cuò)子模塊基于預(yù)置容錯(cuò)機(jī)制在前綴樹中進(jìn)行所述糾錯(cuò)候 選的查找。
25. 根據(jù)權(quán)利要求19所述的輸入法系統(tǒng),其特征在于,還包括用戶響應(yīng)獲取模塊,用于獲取用戶對所述提示的響應(yīng),在用戶處理完一需要處理的字 符串后,自動(dòng)定位到下一需要處理的字符串。
26. 根據(jù)權(quán)利要求25所述的輸入法系統(tǒng),其特征在于,還包括用戶詞庫管理模塊,用于當(dāng)用戶響應(yīng)獲取模塊確定用戶對所述需要處理的字符串進(jìn)行 處理時(shí),判斷用戶詞庫中是否存在之前已判斷出需要處理的字符串,如果存在,將用戶詞庫 中存在的需要處理的字符串替換為處理后的字符串;所述用戶詞庫用于記錄用戶的輸入歷 史,在用戶進(jìn)行字符串輸入時(shí),為用戶提供字符串候選;所述處理后的字符串由所述用戶響應(yīng)獲取模塊獲取。
27. 根據(jù)權(quán)利要求25所述的輸入法系統(tǒng),其特征在于,還包括記錄模塊,用于當(dāng)用戶響應(yīng)獲取模塊確定用戶對所述需要處理的字符串進(jìn)行處理時(shí), 記錄用戶處理前及處理后的字符串的對應(yīng)關(guān)系;所述判斷模塊優(yōu)先根據(jù)所述對應(yīng)關(guān)系進(jìn)行判斷。
28. 根據(jù)權(quán)利要求25所述的輸入法系統(tǒng),其特征在于,還包括新詞發(fā)現(xiàn)模塊,用于當(dāng)所述用戶響應(yīng)獲取模塊確定用戶忽略同一需要處理的字符串的 次數(shù)超過預(yù)置閾值時(shí),將該需要處理的字符串記錄為用戶新詞; 所述判斷模塊將再次出現(xiàn)的所述用戶新詞確定為不需要處理。
29. 根據(jù)權(quán)利要求19所述的輸入法系統(tǒng),其特征在于,所述判斷模塊包括 比較子模塊,用于將獲取的字符串與預(yù)置詞庫中的字符串進(jìn)行比較,判斷預(yù)置詞庫中是否存在與該獲取的字符串完全匹配的字符串;第一確定子模塊,用于將所述與預(yù)置詞庫中的字符串均不完全匹配的字符串確定為所 述需要處理的字符串。
30. 根據(jù)權(quán)利要求19所述的輸入法系統(tǒng),其特征在于,所述判斷模塊包括 上下文獲取子模塊,用于獲取顯示屏上光標(biāo)位置的字符串的上下文; 分析子模塊,用于分析所述展現(xiàn)在顯示屏上的字符串的上下文,判斷是否存在用詞錯(cuò)誤的字符串;第二確定子模塊,用于將所述用詞錯(cuò)誤的字符串確定為所述需要處理的字符串。
全文摘要
本發(fā)明公開了一種提供糾錯(cuò)提示的方法,該方法包括獲取顯示屏上光標(biāo)位置的字符串;分析獲取的字符串,判斷所獲取的字符串是否需要處理;將需要處理的字符串提示給用戶。本發(fā)明還公開了一種提供糾錯(cuò)提示的裝置及輸入法系統(tǒng),通過本發(fā)明,不僅可以對用戶正在使用輸入法編輯的文字進(jìn)行糾錯(cuò)提示,還可以將已經(jīng)展現(xiàn)在顯示屏上的需要處理的字符串提示給用戶,并向用戶提供補(bǔ)全或糾錯(cuò)候選,以此來幫助用戶快速、準(zhǔn)確地定位到需要處理的字符串并完成文本的輸入及修改,使得輸入過程更加流暢。由于輸入法自帶糾錯(cuò)提示功能,因此減少用戶對Word等編輯環(huán)境的依賴,能夠提升用戶在不同場景下輸入文字的質(zhì)量。
文檔編號G06F17/27GK101727271SQ20081022481
公開日2010年6月9日 申請日期2008年10月22日 優(yōu)先權(quán)日2008年10月22日
發(fā)明者張揚(yáng), 王堅(jiān) 申請人:北京搜狗科技發(fā)展有限公司