專利名稱:一種字符自動補充的方法、裝置和輸入法系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及輸入法技術(shù)領(lǐng)域,特別是涉及一種字符自動補充的方法、裝置和輸入法系統(tǒng)。
背景技術(shù):
用戶欲輸入一個英文單詞,需要輸入該單詞的每一個字母,因而是一件非常麻煩的事情;針對上述情形,很多輸入法軟件提供了英文補全功能,也即,當用戶輸入該單詞的前幾個字母時,軟件會提示以這些字母開頭的單詞,以方便用戶直接選擇;這樣,用戶可以不必輸入該單詞的所有字母,能夠減少擊鍵次數(shù),從而提高輸入效率;同時,對于某些難以記憶的單詞,用戶可以不必輸入單詞的全部內(nèi)容,提高單詞輸入的準確性。參照圖1,在用戶輸入“conv”時,軟件會給出補全選項^'convenient", “convertWonverse”,供用戶選擇,其中,文本用下劃線標出用戶的“已輸入字符”。傳統(tǒng)的英文補全技術(shù)大多基于詞典實現(xiàn),其中,所述詞典是一個常見單詞的集合; 這樣,在補全時,可以從所述詞典中檢索包含該“已輸入字符”內(nèi)容的單詞,例如,圖1中的補全選項“convenient ”、“convert ”和“converse”等均以用戶輸入的“conv”開頭。通常,英文單詞之間用空格進行分隔,也即,空格是前一個單詞與后一個單詞的分界線,從空格后的第一個字母開始對后一個英文單詞進行補全,這也是傳統(tǒng)的英文補全技術(shù)能夠正常工作的基礎(chǔ)。但是,實際應(yīng)用中,用戶還可能需要輸入英文復(fù)合詞。英文復(fù)合詞通常均由若干單詞按一定的規(guī)則組合起來,例如,某購物網(wǎng)站的網(wǎng)址為WWW. goshopping. com,其中的goshopping由go和shopping組合得到,用以表示“購物”的意思;論壇中的注冊賬號 crossrainbow,由cross和rainbow組合得到,用以表示“跨越彩虹”的意思;程序代碼中的變量命名NewLinePoint,由new、line和point組合得到,用以表示“新建的線段端點”的意 )思ο通用詞典中會存儲一些常用的復(fù)合詞,如secondhand、handwriting、software等等,但是,對于上述舉例的復(fù)合詞,如goshopping、crossrainbow、NewLinePoint等等,由于其用于在特殊場合進行表意,不經(jīng)常被使用,故通常不會在通用詞典中直接出現(xiàn);這樣,當用戶輸入前綴goshop (已輸入字符)時,傳統(tǒng)的英文補全技術(shù)無法從詞典中找到以上述“已輸入字符”開頭的單詞,從而導(dǎo)致補全失敗。總之,需要本領(lǐng)域技術(shù)人員迫切解決的一個技術(shù)問題就是如何能夠更好地對英文復(fù)合詞進行自動補充。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種字符自動補充的方法、裝置和輸入法系統(tǒng),用以更好地適合英文等語言的復(fù)合詞輸入,提高輸入效率。為了解決上述問題,本發(fā)明公開了一種字符自動補充的方法,包括從用戶的已輸入字符中獲取待預(yù)測片段,所述用戶已輸入字符包括非補充部分和需要補充的待預(yù)測片段;針對所述待預(yù)測片段,匹配獲取相應(yīng)的補充結(jié)果;組合非補充部分和補充結(jié)果,輸出組
合結(jié)果ο優(yōu)選的,所述從用戶的已輸入字符中獲取待預(yù)測片段的步驟包括查找所述已輸入字符中的特征字符;將所述特征字符及其之后的字符確定為待預(yù)測片段,或者,將所述特征字符之后的字符確定為待預(yù)測片段。優(yōu)選的,所述特征字符為所述已輸入字符中的最后一個大寫字母,所述待預(yù)測片段為該大寫字母及其之后的字符;或者,所述特征字符為所述已輸入字符中的最后一個標識符號,所述待預(yù)測片段為該標識符號之后的字符。優(yōu)選的,所述從用戶的已輸入字符中獲取待預(yù)測片段的步驟包括將光標所在位置之后的字符作為待預(yù)測片段。優(yōu)選的,所述從用戶的已輸入字符中獲取待預(yù)測片段的步驟包括查找所述已輸入字符中的特征字符;對于兩個相鄰特征字符,將所述兩個相鄰特征字符之間的字符確定為待預(yù)測片段,或者,將前一特征字符以及所述兩個相鄰特征字符之間的字符確定為待預(yù)測片段。優(yōu)選的,所述特征字符為所述已輸入字符中的標識符號,所述待預(yù)測片段為兩個相鄰標識符號之間的字符;或者,所述特征字符為所述已輸入字符中的大寫字母,所述待預(yù)測片段包括兩個相鄰大寫字母之間的字符,以及前一個大寫字母。優(yōu)選的,所述從用戶的已輸入字符中獲取待預(yù)測片段的步驟包括查找所述已輸入字符中的特征字符;將光標與特征字符之間的字符確定為待預(yù)測片段,或者,將光標與特征字符之間的字符以及該特征字符本身確定為待預(yù)測片段。優(yōu)選的,所述從用戶的已輸入字符中獲取待預(yù)測片段的步驟包括從所述已輸入字符的第一個字母開始,按照從前往后的順序,查找被所述已輸入字符所覆蓋的單詞或詞根,并將所述單詞或詞根作為前綴單詞;將所述前綴單詞之后的字符確定為待預(yù)測片段。優(yōu)選的,所述從用戶的已輸入字符中獲取待預(yù)測片段的步驟包括從所述已輸入字符的第一個字母開始,按照從前往后的順序,查找被所述已輸入字符所覆蓋的單詞或詞根,并將所述單詞或詞根作為前綴單詞;查找所述前綴單詞之后的第一個特征字符;將所述前綴單詞之后,該特征字符之前的字符確定為待預(yù)測片段。優(yōu)選的,所述從用戶的已輸入字符中獲取待預(yù)測片段的步驟包括從所述已輸入字符的最后一個字符開始,按照從后往前的順序,在所述已輸入字符中截取得到一個或多個待預(yù)測片段,其中,所述待預(yù)測片段包括一個或多個字符。優(yōu)選的,所述字符補充方法還可以包括對組合結(jié)果進行排序;根據(jù)排序結(jié)果對所述組合結(jié)果進行排序顯示,或者,顯示最佳組合結(jié)果。優(yōu)選的,通過以下步驟對所述組合結(jié)果進行排序根據(jù)待預(yù)測片段的長度對相應(yīng)的組合結(jié)果進行排序;或者,根據(jù)所述補充結(jié)果的屬性信息,對相應(yīng)的組合結(jié)果進行排序; 或者,根據(jù)所述已輸入字符中的非補充部分,對相應(yīng)的組合結(jié)果進行排序。優(yōu)選的,所述補充結(jié)果的屬性信息包括所述補充結(jié)果的長度,或者,所述補充結(jié)果的詞頻信息。優(yōu)選的,所述非補充部分包括一個或多個拆分單詞;所述根據(jù)已輸入字符中的非補充部分,對相應(yīng)的組合結(jié)果進行排序的步驟包括根據(jù)拆分單詞的數(shù)量,或長度,或詞頻信息,對相應(yīng)組合結(jié)果進行排序;或者,根據(jù)非補充部分的完整性,對相應(yīng)組合結(jié)果進行排序;或者,根據(jù)非補充部分與待預(yù)測片段的關(guān)聯(lián)關(guān)系,對相應(yīng)組合結(jié)果進行排序。依據(jù)本發(fā)明的另一實施例,還公開了一種字符自動補充的裝置,包括片段獲取單元,用于從用戶的已輸入字符中獲取待預(yù)測片段,所述用戶已輸入字符包括非補充部分和需要補充的待預(yù)測片段;補充結(jié)果獲取單元,用于針對所述待預(yù)測片段,匹配獲取相應(yīng)的補充結(jié)果;輸出單元,用于組合非補充部分和補充結(jié)果,得到組合結(jié)果并輸出。優(yōu)選的,所述片段獲取單元包括第一查找子單元,用于查找所述已輸入字符中的特征字符;第一確定子單元,用于將所述特征字符及其之后的字符確定為待預(yù)測片段,或者,將所述特征字符之后的字符確定為待預(yù)測片段。優(yōu)選的,所述片段獲取單元具體用于將光標所在位置之后的字符作為待預(yù)測片段。優(yōu)選的,所述片段獲取單元包括第二查找子單元,用于從所述已輸入字符的第一個字母開始,按照從前往后的順序,查找被所述已輸入字符所覆蓋的單詞或詞根,并將所述單詞或詞根作為前綴單詞;第二確定子單元,用于將所述前綴單詞之后的字符確定為待預(yù)測片段。優(yōu)選的,所述片段獲取單元包括第三查找子單元,用于查找所述已輸入字符中的特征字符;第三確定子單元,用以對于兩個相鄰特征字符,將所述兩個相鄰特征字符之間的字符確定為待預(yù)測片段,或者,將前一特征字符以及所述兩個相鄰特征字符之間的字符確定為待預(yù)測片段。優(yōu)選的,所述片段獲取單元包括第四查找子單元,用于從所述已輸入字符的第一個字母開始,按照從前往后的順序,查找被所述已輸入字符所覆蓋的單詞或詞根,并將所述單詞或詞根作為前綴單詞;第五查找子單元,用于查找所述前綴單詞之后的第一個特征字符;第四確定子單元,用于將所述前綴單詞之后,該特征字符之前的字符確定為待預(yù)測片段。優(yōu)選的,所述片段獲取單元包括第六查找子單元,用于查找所述已輸入字符中的特征字符;第五確定子單元,用以將光標與特征字符之間的字符確定為待預(yù)測片段,或者, 將光標與特征字符之間的字符以及該特征字符本身確定為待預(yù)測片段。優(yōu)選的,所述片段獲取單元包括截取子單元,用于從所述已輸入字符的最后一個字符開始,按照從后往前的順序,在所述已輸入字符中截取得到一個或多個待預(yù)測片段,其中,所述待預(yù)測片段包括一個或多個字符。優(yōu)選的,所述輸出單元包括排序子單元,用于對組合結(jié)果進行排序;顯示子單元,用于根據(jù)排序結(jié)果對所述組合結(jié)果進行排序顯示,或者,顯示最佳組合結(jié)果。優(yōu)選的,所述排序子單元包括第一排序模塊,用于根據(jù)待預(yù)測片段的長度對相應(yīng)的組合結(jié)果進行排序;或者,第二排序模塊,用于根據(jù)所述補充結(jié)果的屬性信息,對相應(yīng)的組合結(jié)果進行排序;或者,第三排序模塊,用于根據(jù)所述已輸入字符中的非補充部分,對相應(yīng)的組合結(jié)果進行排序。優(yōu)選的,所述非補充部分包括一個或多個拆分單詞;所述第三排序模塊具體用于根據(jù)拆分單詞的數(shù)量,或長度,或詞頻信息,對相應(yīng)組合結(jié)果進行排序;或者,所述第三排序模塊具體用于根據(jù)非補充部分的完整性,對相應(yīng)組合結(jié)果進行排序;或者,所述第三排序模塊具體用于根據(jù)非補充部分與待預(yù)測片段的關(guān)聯(lián)關(guān)系,對相應(yīng)組合結(jié)果進行排序。本發(fā)明還要求保護一種輸入法系統(tǒng),其包括了前述的各種字符自動補充裝置。與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點本發(fā)明能夠從用戶的已輸入字符中找到需要補充的片段,即并不是簡單的從用戶已輸入字符的開頭進行補充,而是定位到用戶已輸入字符的某個位置,將其之后的字符作為待預(yù)測片段進行補充;或者,定位到用戶已輸入字符的某兩個位置,將其之間的字符作為待預(yù)測片段進行補充。例如,用戶已輸入字符為英文復(fù)合詞的一部分,假設(shè)該復(fù)合詞由兩個單詞組成,本發(fā)明可以對該復(fù)合詞的第二個單詞進行補充,再將第一個單詞和第二個單詞組合得到所需的復(fù)合詞。即本發(fā)明對復(fù)合詞分解后,無需對現(xiàn)有詞庫進行大幅度改進,補充仍然可以采用通用詞典、本地/遠程服務(wù)器中收錄的單詞或常用復(fù)合詞等,再與非補充部分進行組合,從而可以得到各種結(jié)構(gòu)的復(fù)合詞??傊瑹o論所述英文等語言文字的復(fù)合詞的通用性和結(jié)構(gòu)組成如何,本發(fā)明都能夠在利用通用詞典、本地/遠程服務(wù)器的情況下,通過定位、匹配方式給出用戶所需的補充結(jié)果,幫助用戶更好的輸入各種英文復(fù)合詞。
圖1是現(xiàn)有技術(shù)一種英文補全的示例;圖2是本發(fā)明一種字符自動補充的方法實施例的流程圖;圖3是本發(fā)明一種英文復(fù)合詞、已輸入字符、待預(yù)測片段的結(jié)構(gòu)示意;圖4是本發(fā)明一種字符自動補充的裝置實施例的結(jié)構(gòu)框圖;圖5是本發(fā)明一種包括字符自動補充裝置的輸入法系統(tǒng)實施例的結(jié)構(gòu)框圖。
具體實施例方式為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖和具體實施方式
對本發(fā)明作進一步詳細的說明。對于復(fù)合詞goshopping,構(gòu)成它的兩個單詞go和shopping經(jīng)常被使用,故被收錄在詞典中;如果用戶單獨輸入Shop,現(xiàn)有的輸入法軟件是能夠?qū)崿F(xiàn)自動補充功能從而得到單詞limping的,其中,下劃線用于標識用戶的已輸入字符。本發(fā)明不像現(xiàn)有技術(shù)那樣對所有的已輸入字符進行自動補充輸出,而是對所述已輸入字符的一部分(例如shop或者Slop)進行自動補充輸出,那么可以完成從用戶已輸入字符goshop到組合結(jié)果g0Sh0pping的自動補充輸出。本發(fā)明實施例的核心構(gòu)思之一在于,抽象出一種待預(yù)測片段的定義,也即所述待預(yù)測片段用來標明用戶的已輸入字符中需要進行自動補充的對象,而所述已輸入字符中的非補充部分可以照原樣保留;這樣,在獲取所述待預(yù)測片段的補充結(jié)果后,可以對所述非補充部分和所述補充結(jié)果進行組合,得到用戶所需的組合結(jié)果(復(fù)合詞)。本發(fā)明的字符自動補充技術(shù)方案可以應(yīng)用在各種羅馬字符語言中,例如,英文、法文、德文等等,下面僅僅以英文為例進行說明,其他語言請參照即可。另外,還需要說明的是,本發(fā)明的自動補充方式可以為“補全”,即將待預(yù)測片段補充為一個完整的詞;同時,本發(fā)明的自動補充方式也可以僅僅向待預(yù)測片段補充一個詞根, 即補充結(jié)果并不一定是一個完整的詞。參照圖2,示出了本發(fā)明一種字符自動補充的方法實施例的流程圖,具體可以包括步驟201、從用戶的已輸入字符中獲取待預(yù)測片段,所述待預(yù)測片段為所述已輸入字符的一部分;具體的,所述用戶已輸入字符包括非補充部分和需要補充的、字詞拼寫不完整的待預(yù)測片段。本實施例可以適用于英文字符的自動補充過程,用于將用戶的已輸入字符自動補充為英文復(fù)合詞,因此可以適用于各種輸入法系統(tǒng)。當然,也可以不限定在輸入法系統(tǒng)中應(yīng)用,還可以應(yīng)用在其他需要自動補充的場景,例如,網(wǎng)址欄輸入、信息搜索框輸入、甚至word 輸入中等等;自動補充功能可以作為后者的一個附加功能。一般來說,所述用戶的已輸入字符是指用戶輸入的,位于一個英文復(fù)合詞中前面部分的字符。例如,對于復(fù)合詞 goshopping,用戶輸入的 goshop、gosho、gosh、gos、go 都是本發(fā)明的已輸入字符,并且,這些已輸入字符已覆蓋一個單詞go ;又如,對于復(fù)合詞 crossrainbow,用戶輸入的crossrainbo、crossrainb、crossrain也可以作為本發(fā)明的已輸入字符,且這些已輸入字符已覆蓋兩個單詞cross和rain。因此,可以認為本發(fā)明的已輸入字符是針對復(fù)合詞而言的,可以說它是一個復(fù)合詞的一部分;而所述待預(yù)測片段是已輸入字符的一部分。參照圖3,示出了本發(fā)明一種英文復(fù)合詞、已輸入字符、待預(yù)測片段的結(jié)構(gòu)示例,其中,所述英文復(fù)合詞由單詞1、單詞2和單詞3按一定的規(guī)則組合而成,這里沒有示出某些復(fù)合詞中各個單詞之間的連接符號,如下劃線“_”、連字符“-”等;另外,為達到復(fù)合詞自動補充的目的,斜線矩形框代表的已輸入字符35已覆蓋2個單詞,也即,用戶沒有輸入單詞3的全部字符,圖中的輸入法光標31停在在單詞3的某個字符處。由于所述已輸入字符中的單詞1和單詞2已經(jīng)完整,無需補充,故本發(fā)明優(yōu)先選取單詞1和單詞2之后的字符,也即已輸入字符中最后一個單詞的字符,作為待預(yù)測片段;圖 3中,從單詞2的結(jié)束字符到單詞3的已輸入字符,構(gòu)成了本發(fā)明一種待預(yù)測片段34的示例;其他字符構(gòu)成了所述已輸入字符35的非補充部分32 ;對應(yīng)于待預(yù)測片段34,本發(fā)明對其進行補充預(yù)測(即將圖3中的空白部分進行補充),得到和單詞3相對應(yīng)的補充結(jié)果33。 即應(yīng)用本發(fā)明,用戶無需輸入完整的復(fù)合詞(單詞1+2+3),就可以得到單詞3相對應(yīng)的補充結(jié)果33,進而得到整個復(fù)合詞。對應(yīng)此例,假設(shè)用戶的已輸入字符為NewLinePoin,則所述待預(yù)測片段34的內(nèi)容為Poin,所述非補充部分32的內(nèi)容為NewLine,所述補充結(jié)果33為Point。因此,對于包括三個單詞的復(fù)合詞,本發(fā)明可以只對其中的單詞3進行自動補充, 再將單詞1+單詞2和補充結(jié)果(單詞3)進行組合得到所需的復(fù)合詞;即在本發(fā)明將復(fù)合詞分解為待預(yù)測片段和非補充部分后,自動補充所采用的仍然是通用詞典中收錄的單詞(無需對現(xiàn)有詞庫進行大幅度改進),再與非補充部分進行拼接,從而可以得到所需的復(fù)合詞??梢岳斫?,本發(fā)明還可以對其中的單詞2+單詞3(例如LinePoin)進行自動補充,再將單詞1和補充結(jié)果(單詞2+單詞3 ;LineP0int)進行組合得到所需的復(fù)合詞(NewLinePoint),這里單詞2+單詞3為該復(fù)合詞的待預(yù)測片段;即本發(fā)明對復(fù)合詞分解后, 自動補充所采用的還可以是詞典中收錄的常用復(fù)合詞,再與非補充部分進行拼接,從而可以得到所需的復(fù)合詞。當然,本發(fā)明的復(fù)合詞不限定于三單詞結(jié)構(gòu),還可以為其它的結(jié)構(gòu)組成,例如兩單詞結(jié)構(gòu)、四單詞結(jié)構(gòu)等等??傊?,將已輸入字符中的一部分作為待預(yù)測片段,無論所述英文復(fù)合詞的通用性和結(jié)構(gòu)組成如何,本發(fā)明都能夠在利用通用詞典的情況下,通過詞典搜索方式給出用戶所需的補充結(jié)果。步驟202、針對所述待預(yù)測片段匹配獲取相應(yīng)的補充結(jié)果;由于輸入法的詞典中會存儲常用的單詞和復(fù)合詞,因此,本步驟的匹配過程可以為,搜索所述詞典并將所述待預(yù)測片段與詞典中儲存的單詞或復(fù)合詞相匹配,然后根據(jù)匹配結(jié)果得到包含所述待預(yù)測片段的單詞或復(fù)合詞,也即本發(fā)明的補充結(jié)果。例如,對于用戶的已輸入字符goshop,假設(shè)步驟201獲取到的待預(yù)測片段為shop, 那么,本步驟的執(zhí)行過程可以包括;shop — shopped, shop — shopper, shop — shopping, 其中,“一”在本發(fā)明中代表補充動作或者補充過程。即,可以得到3個補充結(jié)果,stoed、 shopper 禾口 shopping。又如,對于用戶的已輸入字符crossrainbo,假設(shè)步驟201獲取到的待預(yù)測片段為bo,那么,本步驟可以通過以下過程獲取補充結(jié)果bo —l^at,bo - book, bo - bow ; 或者,步驟201獲取到的待預(yù)測片段為rainb,本步驟可以通過以下過程獲取補充結(jié)果 rainb 一 rainbow0可以理解,本步驟的詞典僅僅為示例,可以用詞庫等其它具有單詞/復(fù)合詞存儲功能的數(shù)據(jù)結(jié)構(gòu)來代替,本發(fā)明并不需要對此加以限制;例如,所述數(shù)據(jù)結(jié)構(gòu)可以位于本地或遠程服務(wù)器上。還需要說明的是,前述的例子中,補充結(jié)果為包含所述待預(yù)測片段的單詞或復(fù)合詞;在實際應(yīng)用中,本發(fā)明的補充結(jié)果也可以不是完整的單詞或者復(fù)合詞,而僅僅是在待預(yù)測片段上增加了一個詞根而已,以幫助用戶繼續(xù)往下輸入;其中的補充結(jié)果(待預(yù)測片段+ 詞根)并不構(gòu)成一個完成的單詞。步驟203、組合所述已輸入字符中的非補充部分和補充結(jié)果,得到組合結(jié)果;由于本發(fā)明中待預(yù)測片段通常位于已輸入字符后面的部分,因此,所述非補充部分通常是指在已輸入字符中位于待預(yù)測片段前面的部分,不參與自動補充的其他字符。對于用戶的已輸入字符goshop,假設(shè)其對應(yīng)的待預(yù)測片段為shop,那么,所述非補充部分應(yīng)是go ;進一步假設(shè),該待預(yù)測片段為shop的補充結(jié)果包括shopping,那么,go 與shopping的組合結(jié)果TOshoppim則是已輸入字符goshop的一個組合結(jié)果。實際上,本發(fā)明中待預(yù)測片段還可以位于已輸入字符的中間部分,則將補充結(jié)果組合至相應(yīng)位置,可以得到所需的組合結(jié)果。例如,用戶已輸入字符為NewLi*eP0int,則待預(yù)測片段為Li*e,得到的補充結(jié)果為line,組合后的組合結(jié)果為NewLinePoint。步驟204、輸出組合結(jié)果。在得到所述組合結(jié)果后,本發(fā)明可以輸出所述組合結(jié)果。例如直接上屏至文字處理軟件,或者,僅僅展現(xiàn)補充結(jié)果,待用戶確認后將整個組合結(jié)果輸出。在本發(fā)明的另一實施例中,也可以將所述組合結(jié)果以候選項的形式,反饋展現(xiàn)給用戶進行選擇,再對用戶選擇的組合結(jié)果進行輸出。在某些應(yīng)用場景下,“展現(xiàn)組合結(jié)果”也可以作為本發(fā)明輸出的一個示例。由于所述待預(yù)測片段用來標明用戶的已輸入字符中需要進行補充的對象,故所述待預(yù)測片段的獲取是本發(fā)明的關(guān)鍵所在,本發(fā)明可以提供如下獲取待預(yù)測片段的方案方案一、在對組成英文復(fù)合詞的若干單詞進行組合時,通常會使用大寫字母,主要有兩種情況情況A,很多英文復(fù)合詞會將其中每個單詞的第一個字母大寫,以表示一個新單詞的開始,例如,用于表意某購物網(wǎng)站的復(fù)合詞Gc^hopping,這時,英文復(fù)合詞中可以包含多個大寫字母。情況B,某些英文復(fù)合詞也可能將其中的第一個單詞的第一個字母小寫,這時,英文復(fù)合詞中仍包含有大寫字母,所述大寫字母可以為一個或多個,但并不位于英文復(fù)合詞的開頭,例如 goShopping, newLinePoint 等。如果將已輸入字符中最后一個單詞的字符作為待預(yù)測片段,則所述待預(yù)測片段的終止位置為所述已輸入字符的最后一個字符,所述待預(yù)測片段的起始位置為最后一個單詞的開頭,而無論欲補充的英文復(fù)合詞屬于情況A還是情況B,所述最后一個單詞的開頭都是所述已輸入字符中的大寫字母;這樣,只需從所述已輸入字符中找出最后一個大寫字母,即可確定所述待預(yù)測片段。在對組成英文復(fù)合詞的若干單詞進行組合時,有些用戶還習慣使用標識符號,具體可以包括如下劃線“_”、連字符“_”等,所述連接符號用于表示連接所述若干單詞,并將所述單詞分割開來;例如,go_shopping, new_line_point等等。還可能應(yīng)用英文句號“.”等,例如,A. number。再例如,用戶在輸入過程中,單詞go和shopping通過“ + ”組合成復(fù)合詞 go+shopping ;擴展而言,用戶在輸入復(fù)合詞時,也可能釆用$、%、@、&等符號,例如,用戶輸入 support@sina。通常情況下,用戶希望對復(fù)合詞中的最后一個單詞進行補充,即所述已輸入字符中最后一個連接符號之后的內(nèi)容即是待預(yù)測片段;這樣,只需從所述已輸入字符中找出最后一個標識符號,即可確定所述待預(yù)測片段。對于最后一個大寫字母,或者最后一個標識符號,其均可作為所述已輸入字符中標識最后一個單詞的特征字符,因此,本方案的核心思想在于,根據(jù)從所述已輸入字符中查找得到的特征字符,來確定待預(yù)測片段。相應(yīng)地,所述步驟201可以包括以下子步驟子步驟R1、查找所述已輸入字符中的特征字符;子步驟R2、將所述特征字符及其之后的字符確定為待預(yù)測片段,或者,將所述特征字符之后的字符確定為待預(yù)測片段。
具體而言,本方案的特征字符可以包括兩種情形情形1、在所述特征字符為所述已輸入字符中的最后一個大寫字母時,所述待預(yù)測片段為該大寫字母及其之后的字符;例如,復(fù)合詞GoSiopping的已輸入字符為GoSiop,從所述已輸入字符GoSiop中找出最后一個大寫字母S,即確定本發(fā)明的待預(yù)測片段Siop ;假設(shè)接下來的步驟202獲取的補充結(jié)果為Shopping,那么,步驟203拼接得到最終的組合結(jié)果則為Gc^hopping。情形2、在所述特征字符為所述已輸入字符中的最后一個標識符號時,所述待預(yù)測片段為該標識符號之后的字符。例如,復(fù)合詞new_line_p0int的已輸入字符為neW_line_poi,從所述已輸入字符 GoShop中找出最后一個連接符號“_”,即可將該連接符號之后的字符poi確定為本發(fā)明的待預(yù)測片段;假設(shè)步驟202獲取的補充結(jié)果為point,那么,步驟203拼接得到最終的組合結(jié)果則為 new_line_point。在實際應(yīng)用中,用戶也可能在中間單詞的拼寫過程中存在困難,例如,用戶欲輸入 TotalRecorderPro,其中,Pro為professional的簡寫,但不會拼寫中間單詞Records。針對上述情形,本方案也可以對中間單詞進行補充。此時,所述步驟201可以包括以下子步驟子步驟Tl、查找所述已輸入字符中的特征字符;子步驟T2、對于兩個相鄰特征字符,將所述兩個相鄰特征字符之間的字符確定為待預(yù)測片段;例如,在用戶輸入total+rec+pro時,可以將兩個相鄰“ + ”之間的字符rec作為待預(yù)測片段;又如,在用戶輸入total+recPro時,可以將特征字符“ + ”與特征字符“P”之間的字符rec作為待預(yù)測片段?;蛘咦硬襟ET2、將前一特征字符以及所述兩個相鄰特征字符之間的字符確定為待預(yù)測片段;例如,用戶的已輸入字符為TotalRec-pro,本情形可以將特征字符“R”,以及“R” 與“_”之間的字符ec,也即Rec確定為待預(yù)測片段。在本發(fā)明的一個優(yōu)選實施例中,標識符也可以通過光標實現(xiàn)。例如,光標所在的位置視為待預(yù)測片段的起始點,則光標之后的字符就構(gòu)成了待預(yù)測片段。再例如,光標所在的位置作為待預(yù)測片段的結(jié)束點,采用本發(fā)明其他方法得到待預(yù)測片段的起始點,則起始點和結(jié)束點之間的字符就構(gòu)成了待預(yù)測片段。又或者,光標所在的位置作為待預(yù)測片段的起始點,采用本發(fā)明其他方法得到待預(yù)測片段的結(jié)束點,則起始點和結(jié)束點之間的字符就構(gòu)成了待預(yù)測片段。例如,所述從用戶的已輸入字符中獲取待預(yù)測片段的步驟具體可以包括查找所述已輸入字符中的特征字符;將光標與特征字符之間的字符確定為待預(yù)測片段,或者,將光標與特征字符之間的字符以及該特征字符本身確定為待預(yù)測片段。方案二、在英文復(fù)合詞采用上述大寫字母、連接符號等特征字符的組合規(guī)則時,方案一能夠得到好的組合結(jié)果,例如,方案一能夠很好地分別將已輸入字符Goa1QP和go-Shop自動補充為復(fù)合詞Gc^hopping和go-shopping ;但是,在英文復(fù)合詞未采用上述組合規(guī)則時,方案一無法解決問題,例如,方案一無法解決goshop到goshopping的自動補充問題。從圖3可以看出,所述已輸入字符可以包括單詞1、單詞2和單詞3的字符,而其中的單詞1和單詞2是完整的單詞,因而在詞典中有所收錄;以已輸入字符NewLinePoi為例,它包括有單詞1 (New)、單詞2 (Line)和單詞3的字符(Poi),而所述New和Line均為完整的單詞,這樣,在所述已輸入字符中剝離所述完整單詞,即可得到所述單詞3的字符,也即本發(fā)明的待預(yù)測片段。因而,本方案的核心思想在于,通過匹配查找所述已輸入字符中的前綴單詞(完整單詞),并將所述已輸入字符中位于所述前綴單詞之后的字符確定為待預(yù)測片段;此時, 所述步驟201可以包括以下子步驟子步驟Si、從所述已輸入字符的第一個字母開始,按照從前往后的順序,查找被所述已輸入字符所覆蓋的單詞或詞根,并將所述單詞或詞根作為前綴單詞;在實際中,所述前綴單詞可以包括單詞或者詞根,且所述前綴單詞的數(shù)目可以為一個,也可以為多個。例如,對于已輸入字符NewLinePoi,從字母N開始,首先在詞典中查找得到被覆蓋的前綴單詞New,而New與后面的L、Li、Lin、Line、LineP, LinePo、LinePoi均無法構(gòu)成單詞,故New可以作為一個前綴單詞;同理,可以在已輸入字符中位于單詞New以后的字符 LinePoi中,查找得到單詞Line ;也即,這里的前綴單詞為兩個,分別為New、Line。再例如,常用詞根“e”表示“電子”的意思,故可作為一些常見復(fù)合詞的前綴;例如,單詞email即由該前綴與單詞mail組合而成;另外還有ebay (“電子港灣”,網(wǎng)絡(luò)購物網(wǎng)站)也是由該前綴與單詞bay組合而成。子步驟S2、將所述前綴單詞之后的字符確定為待預(yù)測片段。以已輸入字符goshop為例,其前綴單詞為go,故可將go之后的字符shop確定為待預(yù)測片段;以NewLinePoi為例,其前綴單詞為New、Line,故可將Line之后的字符Poi確定為待預(yù)測片段。在本發(fā)明的另一些實施例中,對于已輸入字符goshop,可以從字母g開始,在詞典中查找被覆蓋的前綴單詞,由于go與后面的S或者Sh無法構(gòu)成詞典詞,故單詞go可以作為一個前綴單詞;而對于已輸入字符中位于單詞go以后的字符,雖然可以在詞典中查找得到單詞shop,但由于該單詞shop的最后一個字母與所述已輸入字符的最后一個字符重合, 如果剝離該單詞shop,所述已輸入字符中不再有字符,也即無法進行接下來的組合結(jié)果,因而單詞shop不能作為已輸入字符goshop的前綴單詞,應(yīng)該作為待預(yù)測片段。當然,如果自動補充之前就知道所需復(fù)合詞所包含單詞或詞根的數(shù)量N(N為自然數(shù)),那么,子步驟S 1所述前綴單詞的數(shù)目則為N-I ;此時對于前綴單詞的識別效率和準確的會更好,則本發(fā)明能夠起到更好的效果。對于需要對中間片段進行補充的情況,本發(fā)明可以將前綴單詞之后的第一個字母字符作為待預(yù)測片段的起始點,而將該字母字符之后的下一個特征字符作為待預(yù)測片段的結(jié)束點;此時,所述步驟201可以包括以下子步驟子步驟U1、從所述已輸入字符的第一個字母開始,按照從前往后的順序,查找被所述已輸入字符所覆蓋的單詞或詞根,并將所述單詞或詞根作為前綴單詞;
子步驟U2、查找所述前綴單詞之后的第一個特征字符;子步驟U3、將前綴單詞之后,該特征字符之前的字符確定為待預(yù)測片段。例如,對于用戶的已輸入字符為TotalRec-pro,查找得到的前綴單詞為Total,子步驟U2查找得到特征字符“_” ;子步驟U3則是將Rec確定為待預(yù)測片段。方案三、本方案的核心思想在于,從所述已輸入字符中的末尾截取待預(yù)測片段;此時,所述步驟201的執(zhí)行過程可以為從所述已輸入字符的最后一個字符開始,按照從后往前的順序,在所述已輸入字符中截取得到一個或多個待預(yù)測片段,其中,所述待預(yù)測片段可以包括一個或多個字符。以已輸入字符goshop為例,從最后一個字符ρ開始,可以截取得到3個待預(yù)測片段0p、h0p、sh0p ;進一步,獲取所述3個待預(yù)測片段的補充結(jié)果的過程可以為op —迎era, hop — hone, shop — shopping ;這樣,將所述非補充部分與所述補充結(jié)果進行拼接,即可得至丨J多個組合結(jié)果:Roshopera, Roshope, goshopping。以上對獲取待預(yù)測片段的幾種方案進行了詳細介紹,所述幾種方案對于不會在通用詞庫中直接出現(xiàn)的英文復(fù)合詞,能夠達到較好的補充效果;可以理解,本領(lǐng)域技術(shù)人員可以根據(jù)需要聯(lián)合使用所述幾種方案,或者,使用其中任一種方案,本發(fā)明對此不加以限制。當然,除了上述幾種方案,本領(lǐng)域技術(shù)人員還可以采用其它獲取待預(yù)測片段的方案,例如,只需在所述已輸入字符中找到待預(yù)測片段的兩個邊界起始點和結(jié)束點即可,本發(fā)明對此不加以限制。還需要說明的是,對于一個待預(yù)測片段,其對應(yīng)的組合結(jié)果可能為多個;以已輸入字符goshop為例,假設(shè)步驟201獲取到的待預(yù)測片段為shop,那么,其對應(yīng)的補充結(jié)果可以包括shopped, shopper, shopping也即,其對應(yīng)的組合結(jié)果可以為多個:Roshopped, Roshopper, RoshoppinR ;這些組合結(jié)果可以全部提供給用戶進行選擇。但是,在步驟201獲取到多個待預(yù)測片段時,最終得到的組合結(jié)果的數(shù)量繁多,如果將這些組合結(jié)果雜亂無章地提供給用戶,會給用戶的選擇帶來不便,同時還會影響用戶的輸入效率。針對上述情形,在本發(fā)明的一種優(yōu)選實施例中,在所述步驟204前,可以按照一定的規(guī)則對所述組合結(jié)果進行排序,或者僅提供最佳組合結(jié)果,此時,本發(fā)明還可以包括以下步驟步驟VI、對所述一個或多個待預(yù)測片段的組合結(jié)果進行排序;步驟V2、根據(jù)排序結(jié)果對所述組合結(jié)果進行排序顯示,或者,顯示最佳組合結(jié)果。在實際中,可以將排序后的組合結(jié)果以候選項的形式展現(xiàn)給用戶,供用戶選擇;或者,只顯示最佳組合結(jié)果,其中,所述最佳組合結(jié)果也即排在第一位的組合結(jié)果。當然,在排序展現(xiàn)中,也可以僅僅排序展現(xiàn)補充結(jié)果,用戶針對補充結(jié)果進行選擇后,將相應(yīng)的組合結(jié)果上屏輸出。在具體實現(xiàn)中,本發(fā)明可以包括如下排序方法方法一、根據(jù)待預(yù)測片段的長度對相應(yīng)的組合結(jié)果進行排序;例如,可以認為較長的待預(yù)測片段更優(yōu),也即,較長待預(yù)測片段的組合結(jié)果排在前面;以上述3個待預(yù)測片段0p、h0p、sh0p為例,假設(shè)其對應(yīng)的組合結(jié)果分別為=Roshopera,Roshope, RoshoppinR, tH^^Tffe, '5111 RoshoppinR<尤于 Roshope <尤于 Roshopera, 所述3個組合結(jié)果在候選項中的順序則為:goshopping, goshope, Roshopera0方法二、根據(jù)所述待預(yù)測片段的補充結(jié)果的屬性信息,對相應(yīng)的組合結(jié)果進行排序;在具體實現(xiàn)中,本方法可以包括兩種情形情形1、針對多個待預(yù)測片段的情形;以上述3個待預(yù)測片段op、hop、shop為例,假設(shè)其對應(yīng)的補充結(jié)果分別為 op — opera, hop — hope, shop — shopping,對應(yīng)的組合結(jié)果分另ll為:Roshopera, Roshope, RoshoppinR,具體可以包括兩種排序策略:策略A、按照補充結(jié)果的長度;例如,可以認為較長的補充結(jié)果更優(yōu),這樣,可認為shopping優(yōu)于迎era優(yōu)于ime,進一步,這些個組合結(jié)果在候選項中的順序可以為RoshoppinR, Roshopera, Roshopeο策略B、按照補充結(jié)果在詞典中的詞頻信息。補充結(jié)果詞頻高的,組合結(jié)果排序靠前。情形2、針對一個待預(yù)測片段的情形;在待預(yù)測片段的數(shù)量為1時,可以采用上述策略A和策略B來對該待預(yù)測片段的多個補充結(jié)果或組合結(jié)果進行排序。同時可以注意到,由于對同一個待預(yù)測片段進行補充,故該待預(yù)測片段的多個補充結(jié)果具有相同的字符部分——待預(yù)測片段,這樣,還可以按照字母排序,便于用戶查找所要的組合結(jié)果。例如,對于待預(yù)測片段bo,假設(shè)獲取到3個補充結(jié)果bo — boat,bo — book, bo — bow,按照字母排序,a在ο前面,ο在w前面,故可認為h£at優(yōu)于h£0k優(yōu)于h£W。當然,在排序展現(xiàn)中,可以僅僅排序展現(xiàn)補充結(jié)果,也可以排序展現(xiàn)組合結(jié)果。方法三、根據(jù)所述已輸入字符中的非補充部分,對相應(yīng)的組合結(jié)果進行排序。在將已輸入字符中最后一個單詞的字符作為待預(yù)測片段時,所述已輸入字符中的非補充部分可能包括完整的單詞,如單詞1或者單詞1+單詞2等。如果所述非補充部分具有可拆分性,則其對應(yīng)的待預(yù)測片段被自動補充為單詞或者常用復(fù)合詞的可能性比較大, 因而該待預(yù)測片段是較優(yōu)的,其中,所述可拆分性是指所述非補充部分為一個或多個拆分單詞的組合。例如,對于已輸入字符goshop,假設(shè)其在補充過程中自動識別了 3個待預(yù)測片段 0p、h0p、sh0p,在其對應(yīng)的3個非補充部分g0Sh、g0S、g0中,只有g(shù)o能夠獨立成詞,即具有可拆分性,故待預(yù)測片段shop優(yōu)于其它兩個待預(yù)測片段。進一步,在所述非補充部分為一個或多個拆分單詞的組合時,本方法還可以根據(jù)所述拆分單詞的數(shù)量,或者,所述拆分單詞的長度,或者,所述拆分單詞的詞頻信息,對所述待預(yù)測片段的組合結(jié)果進行排序。以已輸入字符NewLinePoi為例,假設(shè)其在補充過程中識別了 3個待預(yù)測片段Poi、 ePoi、LinePoi,則所述3個待預(yù)測片段對應(yīng)的非補充部分分別為NewLine、Newlin, New,那么,本方法的排序過程可以包括
首先,經(jīng)判斷得知,NewLine具有2個拆分單詞New和Line,NewLin不具有拆分性, New具有1個拆分單詞,故NewLine和New都優(yōu)于NewLin,即待預(yù)測片段Poi和待預(yù)測片段 LinePoi的補充結(jié)果優(yōu)于待預(yù)測片段ePoi的補充結(jié)果;進而,如果認為拆分單詞數(shù)量多的非補充部分較優(yōu),則可得出,NewLine優(yōu)于New, 即待預(yù)測片段Poi的補充結(jié)果優(yōu)于待預(yù)測片段LinePoi的補充結(jié)果。另外,在排序時,還可以考慮到所述非補充部分與待預(yù)測片段的關(guān)聯(lián)關(guān)系,例如go 和shop是具有上下文關(guān)聯(lián)關(guān)系的,或者是符合語法關(guān)系的,即主謂賓關(guān)系等,即具有關(guān)聯(lián)關(guān)系的情況,更符合用戶的實際需求,對該待預(yù)測片段的識別更為準確。另外,還可以考慮到非補充部分的完整性,例如gos不夠完整,所以非補充部分為 go,待預(yù)測片段為Sh符合用戶實際需求的可能性更大。以上對組合結(jié)果的幾種排序方法進行了詳細介紹,可以理解,本領(lǐng)域技術(shù)人員可以根據(jù)需要使用其中一種或多種方案,本發(fā)明對此不加以限制。考慮到英文中常遇到的大小寫字母轉(zhuǎn)換問題,本發(fā)明的英文自動補充方法能夠支持特定的大小寫匹配規(guī)則,可以給出適合需求的候選項。具體可以包括一、小寫匹配大寫原則;因為大寫字母輸入不方便,很多用戶喜歡用小寫代替大寫,例如,在用戶輸入 "engl"時,本發(fā)明可以自動匹配得到候選項“English” ;二、大寫匹配小寫原則;假設(shè)步驟201獲取得到的待預(yù)測片段為Siop,那么,在獲取Siop的補充結(jié)果時, 如果詞典中已經(jīng)存在大寫的Slopping,則可以直接進行補充;如果不存在,則首先需要將 Shop轉(zhuǎn)換為shop再執(zhí)行補充,獲得組合結(jié)果shopping后再還原大寫部分得到Shopping。另外,某些輸入法系統(tǒng)具有記錄用戶使用過的詞條的功能,當用戶首次輸入某個復(fù)合詞時,可以使用本發(fā)明的英文自動補充方法得到想要的復(fù)合詞詞條,同時該詞條會被記錄;這樣,當用戶第二次使用該復(fù)合詞時,就可以使用常規(guī)的詞典搜索方法直接進行匹配。與前述方法實施例相對應(yīng),本發(fā)明還給出了一種字符自動補充的裝置,具體可以包括片段獲取單元401,用于從用戶的已輸入字符中獲取待預(yù)測片段,所述待預(yù)測片段為所述已輸入字符的一部分;補充結(jié)果獲取單元402,用于針對所述待預(yù)測片段匹配獲取相應(yīng)的補充結(jié)果;輸出單元403,用于組合非補充部分和補充結(jié)果,得到組合結(jié)果并輸出。由于所述待預(yù)測片段用來標明用戶的已輸入字符中需要進行自動補充的對象,故所述待預(yù)測片段的獲取是本發(fā)明的關(guān)鍵所在,本發(fā)明可以提供如下片段獲取單元的結(jié)構(gòu)設(shè)計方案設(shè)計方案一、本方案的設(shè)計思想在于,根據(jù)所述已輸入字符中的標識字符來確定待預(yù)測片段。如果利用標識最后一個單詞的特征字符,來確定待預(yù)測片段;相應(yīng)地,可以在所述片段獲取單元中設(shè)計如下子單元第一查找子單元Cl,用于查找所述已輸入字符中的特征字符;
第一確定子單元C2,用于將所述特征字符及其之后的字符確定為待預(yù)測片段,或者,將所述特征字符之后的字符確定為待預(yù)測片段。具體而言,本方案的兩個子單元可以包括兩種工作情形情形1、在第一查找子單元Cl查找得到的特征字符為所述已輸入字符中的最后一個大寫字母時,第一確定子單元C2則將該大寫字母及其之后的字符確定為待預(yù)測片段;情形2、在第一查找子單元Cl查找得到的特征字符為所述已輸入字符中的最后一個標識符號時,第一確定子單元C2則將該標識符號之后的字符確定為待預(yù)測片段。當利用用戶已輸入字符中的標識字符對中間部分進行自動補充時,需要識別位于中間部分的待預(yù)測片段,則所述片段獲取單元也可以包括第三查找子單元,用于查找所述已輸入字符中的特征字符;第三確定子單元,用以對于兩個相鄰特征字符,將所述兩個相鄰特征字符之間的字符確定為待預(yù)測片段,或者,將前一特征字符以及所述兩個相鄰特征字符之間的字符確定為待預(yù)測片段。具體的,當所述特征字符為所述已輸入字符中的標識符號,所述待預(yù)測片段為兩個相鄰標識符號之間的字符;或者,所述特征字符為所述已輸入字符中的大寫字母,所述待預(yù)測片段包括兩個相鄰大寫字母之間的字符,以及前一個大寫字母。設(shè)計方案二、本方案的設(shè)計思想在于,可以通過詞典或本地/遠程服務(wù)器的詞庫數(shù)據(jù)查找所述已輸入字符中的前綴單詞,并將所述已輸入字符中位于前綴單詞之后的字符確定為待預(yù)測片段;相應(yīng)地,可以在所述片段獲取單元中設(shè)計如下子單元第二查找子單元D1,用于從所述已輸入字符的第一個字母開始,按照從前往后的順序,在詞典中查找被所述已輸入字符所覆蓋的單詞或詞根,并將所述單詞或詞根作為前綴單詞;第二確定子單元D2,用于將所述前綴單詞之后的字符確定為待預(yù)測片段。當利用用戶已輸入字符中的標識字符對中間部分進行自動補充時,則我們可以利用上述方案得到待預(yù)測片段的起始點,進而通過緊鄰的下一個特征字符,來確定所需的待預(yù)測片段。具體的,所述片段獲取單元也可以包括第四查找子單元,用于從所述已輸入字符的第一個字母開始,按照從前往后的順序,查找被所述已輸入字符所覆蓋的單詞或詞根,并將所述單詞或詞根作為前綴單詞;第五查找子單元,用于查找所述前綴單詞之后的第一個特征字符;第四確定子單元,用于將所述前綴單詞之后,該特征字符之前的字符確定為待預(yù)測片段。如果將光標應(yīng)用到待預(yù)測片段的獲取過程中,則所述片段獲取單元具體可以包括第六查找子單元,用于查找所述已輸入字符中的特征字符;第五確定子單元,用以將光標與特征字符之間的字符確定為待預(yù)測片段,或者,將光標與特征字符之間的字符以及該特征字符本身確定為待預(yù)測片段。設(shè)計方案三、
本方案的設(shè)計思想在于,從所述已輸入字符中的末尾截取待預(yù)測片段。當然,基于本方案,可能得到多個待預(yù)測片段?;谏鲜鏊枷?,可以在所述片段獲取單元中設(shè)計截取子單元E1,用于從所述已輸入字符的最后一個字符開始,按照從后往前的順序,在所述已輸入字符中截取得到一個或多個待預(yù)測片段,其中,所述待預(yù)測片段可以包括一個或多個字符??梢岳斫猓绢I(lǐng)域技術(shù)人員可以根據(jù)需要使用所述幾種方案中的一種或幾種,本發(fā)明對此不加以限制。針對組合結(jié)果的數(shù)量繁多,導(dǎo)致給用戶的選擇帶來不便,同時影響用戶輸入效率的情形,在本發(fā)明的一種優(yōu)選實施例中,可以在所述輸出單元中設(shè)計如下結(jié)構(gòu)排序子單元H1,用于對所述一個或多個待預(yù)測片段的組合結(jié)果進行排序;顯示子單元H2,用于根據(jù)排序結(jié)果對所述組合結(jié)果進行排序顯示,或者,顯示最佳組合結(jié)果。當然,在實際配置中,也可以將上述的排序、顯示單元作為一個新的獨立模塊存在,而不位于輸出單元中,本發(fā)明對此無需加以限制。在本發(fā)明的另一實施例中,上述的排序、顯示單元也可以針對補充結(jié)果進行排序展示,當用戶選擇所需的補充結(jié)果后,可以直接將相應(yīng)的組合結(jié)果上屏輸出。具體的,所述排序子單元Hl可以包括下述三種模塊中的一種或者多種第一排序模塊H11,用于根據(jù)待預(yù)測片段的長度對相應(yīng)的組合結(jié)果進行排序;第二排序模塊H12,用于根據(jù)所述待預(yù)測片段的補充結(jié)果的屬性信息,對相應(yīng)的組合結(jié)果進行排序;第三排序模塊H13,用于根據(jù)所述已輸入字符中的非補充部分,對相應(yīng)的組合結(jié)果進行排序。其中,在所述非補充部分為一個或多個拆分單詞的組合時,所述第三排序模塊H13 可以具體用于根據(jù)所述拆分單詞的數(shù)量,或者,所述拆分單詞的長度,或者,所述拆分單詞的詞頻信息,對所述待預(yù)測片段的組合結(jié)果進行排序。在本發(fā)明的一實施例中,所述第三排序模塊具體也可以用于根據(jù)非補充部分的完整性,對所述待預(yù)測片段的組合結(jié)果進行排序;或者,所述第三排序模塊具體用于根據(jù)非補充部分與待預(yù)測片段的關(guān)聯(lián)關(guān)系,對所述待預(yù)測片段的組合結(jié)果進行排序。上述自動補充裝置可以應(yīng)用在各種需要字符自動補充的硬件環(huán)境和網(wǎng)絡(luò)環(huán)境中。 例如,可以應(yīng)用于各種輸入法系統(tǒng)中,所述包括自動補充裝置的輸入法系統(tǒng)可以運行在多種計算設(shè)備上,例如,個人電腦、個人數(shù)字助理、移動終端設(shè)備等等。例如,參照圖5,示出了本發(fā)明一種輸入法系統(tǒng)實施例,其可以包括輸入接口單元501,用于接收用戶的輸入信息;信息轉(zhuǎn)換單元502,用于依據(jù)所接收的輸入信息,在詞庫中進行檢索,得到相應(yīng)的候選項并排序;展現(xiàn)單元503,用于依序展現(xiàn)候選項;結(jié)果輸出單元504,用于接收用戶的選擇信息,輸出指定的候選項;其還可以包括片段獲取單元505,用于從用戶的已輸入字符中獲取待預(yù)測片段,所述待預(yù)測片段為所述已輸入字符的一部分;補充結(jié)果獲取單元506,用于針對所述待預(yù)測片段匹配獲取相應(yīng)的補充結(jié)果;組合單元507,用于組合非補充部分和補充結(jié)果,得到組合結(jié)果并通過展現(xiàn)單元 503進行展現(xiàn)。圖5所示的輸入法實施例既可以用于普通的文字輸入過程(例如中文拼音輸入), 也可以用于字符自動補充方式的文字輸入過程。本發(fā)明還可以提供一種專用于字符自動補充的輸入法系統(tǒng)實施例,其可以包括輸入接口單元,用于接收用戶的輸入信息;所述輸入信息包括字符;片段獲取單元,用于從用戶的已輸入字符中獲取待預(yù)測片段,所述待預(yù)測片段為所述已輸入字符的一部分;補充結(jié)果獲取單元,用于針對所述待預(yù)測片段匹配獲取相應(yīng)的補充結(jié)果;展現(xiàn)單元,用于對補充結(jié)果進行展現(xiàn);或者,用于對組合非補充部分和補充結(jié)果得到的組合結(jié)果進行展現(xiàn);輸出單元,用于接收用戶的選擇信息,輸出指定的組合結(jié)果。 對于上述字符自動補充裝置及包括字符自動補充裝置的輸入法系統(tǒng),由于其與方法實施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
以上對本發(fā)明所提供的一種字符自動補充的方法、裝置和輸入法系統(tǒng),進行了詳細介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式
及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
20
權(quán)利要求
1.一種字符自動補充的方法,其特征在于,包括從用戶的已輸入字符中獲取待預(yù)測片段,所述用戶已輸入字符包括非補充部分和需要補充的待預(yù)測片段;針對所述待預(yù)測片段,匹配獲取相應(yīng)的補充結(jié)果;組合非補充部分和補充結(jié)果,輸出組合結(jié)果。
2.如權(quán)利要求1所述的方法,其特征在于,所述從用戶的已輸入字符中獲取待預(yù)測片段的步驟包括查找所述已輸入字符中的特征字符;將所述特征字符及其之后的字符確定為待預(yù)測片段,或者,將所述特征字符之后的字符確定為待預(yù)測片段。
3.如權(quán)利要求2所述的方法,其特征在于,所述特征字符為所述已輸入字符中的最后一個大寫字母,所述待預(yù)測片段為該大寫字母及其之后的字符;或者,所述特征字符為所述已輸入字符中的最后一個標識符號,所述待預(yù)測片段為該標識符號之后的字符。
4.如權(quán)利要求1所述的方法,其特征在于,所述從用戶的已輸入字符中獲取待預(yù)測片段的步驟包括將光標所在位置之后的字符作為待預(yù)測片段。
5.如權(quán)利要求1所述的方法,其特征在于,所述從用戶的已輸入字符中獲取待預(yù)測片段的步驟包括查找所述已輸入字符中的特征字符;對于兩個相鄰特征字符,將所述兩個相鄰特征字符之間的字符確定為待預(yù)測片段,或者,將前一特征字符以及所述兩個相鄰特征字符之間的字符確定為待預(yù)測片段。
6.如權(quán)利要求5所述的方法,其特征在于,所述特征字符為所述已輸入字符中的標識符號,所述待預(yù)測片段為兩個相鄰標識符號之間的字符;或者,所述特征字符為所述已輸入字符中的大寫字母,所述待預(yù)測片段包括兩個相鄰大寫字母之間的字符,以及前一個大寫字母。
7.如權(quán)利要求1所述的方法,其特征在于,所述從用戶的已輸入字符中獲取待預(yù)測片段的步驟包括查找所述已輸入字符中的特征字符;將光標與特征字符之間的字符確定為待預(yù)測片段,或者,將光標與特征字符之間的字符以及該特征字符本身確定為待預(yù)測片段。
8.如權(quán)利要求1所述的方法,其特征在于,所述從用戶的已輸入字符中獲取待預(yù)測片段的步驟包括從所述已輸入字符的第一個字母開始,按照從前往后的順序,查找被所述已輸入字符所覆蓋的單詞或詞根,并將所述單詞或詞根作為前綴單詞;將所述前綴單詞之后的字符確定為待預(yù)測片段。
9.如權(quán)利要求1所述的方法,其特征在于,所述從用戶的已輸入字符中獲取待預(yù)測片段的步驟包括從所述已輸入字符的第一個字母開始,按照從前往后的順序,查找被所述已輸入字符所覆蓋的單詞或詞根,并將所述單詞或詞根作為前綴單詞; 查找所述前綴單詞之后的第一個特征字符; 將所述前綴單詞之后,該特征字符之前的字符確定為待預(yù)測片段。
10.如權(quán)利要求1所述的方法,其特征在于,所述從用戶的已輸入字符中獲取待預(yù)測片段的步驟包括從所述已輸入字符的最后一個字符開始,按照從后往前的順序,在所述已輸入字符中截取得到一個或多個待預(yù)測片段,其中,所述待預(yù)測片段包括一個或多個字符。
11.如權(quán)利要求1或10所述的方法,其特征在于,還包括 對組合結(jié)果進行排序;根據(jù)排序結(jié)果對所述組合結(jié)果進行排序顯示,或者,顯示最佳組合結(jié)果。
12.如權(quán)利要求11所述的方法,其特征在于,通過以下步驟對所述組合結(jié)果進行排序 根據(jù)待預(yù)測片段的長度對相應(yīng)的組合結(jié)果進行排序;或者,根據(jù)所述補充結(jié)果的屬性信息,對相應(yīng)的組合結(jié)果進行排序; 或者,根據(jù)所述已輸入字符中的非補充部分,對相應(yīng)的組合結(jié)果進行排序。
13.如權(quán)利要求12所述的方法,其特征在于,所述補充結(jié)果的屬性信息包括所述補充結(jié)果的長度,或者,所述補充結(jié)果的詞頻信息。
14.如權(quán)利要求12所述的方法,其特征在于,所述非補充部分包括一個或多個拆分單詞;所述根據(jù)已輸入字符中的非補充部分,對相應(yīng)的組合結(jié)果進行排序的步驟包括 根據(jù)拆分單詞的數(shù)量,或長度,或詞頻信息,對相應(yīng)組合結(jié)果進行排序; 或者,根據(jù)非補充部分的完整性,對相應(yīng)組合結(jié)果進行排序; 或者,根據(jù)非補充部分與待預(yù)測片段的關(guān)聯(lián)關(guān)系,對相應(yīng)組合結(jié)果進行排序。
15.一種字符自動補充的裝置,其特征在于,包括片段獲取單元,用于從用戶的已輸入字符中獲取待預(yù)測片段,所述用戶已輸入字符包括非補充部分和需要補充的待預(yù)測片段;補充結(jié)果獲取單元,用于針對所述待預(yù)測片段,匹配獲取相應(yīng)的補充結(jié)果; 輸出單元,用于組合非補充部分和補充結(jié)果,得到組合結(jié)果并輸出。
16.如權(quán)利要求15所述的裝置,其特征在于,所述片段獲取單元包括 第一查找子單元,用于查找所述已輸入字符中的特征字符;第一確定子單元,用于將所述特征字符及其之后的字符確定為待預(yù)測片段,或者,將所述特征字符之后的字符確定為待預(yù)測片段。
17.如權(quán)利要求15所述的裝置,其特征在于,所述片段獲取單元具體用于將光標所在位置之后的字符作為待預(yù)測片段。
18.如權(quán)利要求15所述的裝置,其特征在于,所述片段獲取單元包括第二查找子單元,用于從所述已輸入字符的第一個字母開始,按照從前往后的順序,查找被所述已輸入字符所覆蓋的單詞或詞根,并將所述單詞或詞根作為前綴單詞; 第二確定子單元,用于將所述前綴單詞之后的字符確定為待預(yù)測片段。
19.如權(quán)利要求15所述的裝置,其特征在于,所述片段獲取單元包括 第三查找子單元,用于查找所述已輸入字符中的特征字符;第三確定子單元,用以對于兩個相鄰特征字符,將所述兩個相鄰特征字符之間的字符確定為待預(yù)測片段,或者,將前一特征字符以及所述兩個相鄰特征字符之間的字符確定為待預(yù)測片段。
20.如權(quán)利要求15所述的裝置,其特征在于,所述片段獲取單元包括第四查找子單元,用于從所述已輸入字符的第一個字母開始,按照從前往后的順序,查找被所述已輸入字符所覆蓋的單詞或詞根,并將所述單詞或詞根作為前綴單詞; 第五查找子單元,用于查找所述前綴單詞之后的第一個特征字符; 第四確定子單元,用于將所述前綴單詞之后,該特征字符之前的字符確定為待預(yù)測片段。
21.如權(quán)利要求15所述的裝置,其特征在于,所述片段獲取單元包括 第六查找子單元,用于查找所述已輸入字符中的特征字符;第五確定子單元,用以將光標與特征字符之間的字符確定為待預(yù)測片段,或者,將光標與特征字符之間的字符以及該特征字符本身確定為待預(yù)測片段。
22.如權(quán)利要求15所述的裝置,其特征在于,所述片段獲取單元包括截取子單元,用于從所述已輸入字符的最后一個字符開始,按照從后往前的順序,在所述已輸入字符中截取得到一個或多個待預(yù)測片段,其中,所述待預(yù)測片段包括一個或多個字符。
23.如權(quán)利要求22所述的裝置,其特征在于,所述輸出單元包括 排序子單元,用于對組合結(jié)果進行排序;顯示子單元,用于根據(jù)排序結(jié)果對所述組合結(jié)果進行排序顯示,或者,顯示最佳組合結(jié)^ ο
24.如權(quán)利要求23所述的裝置,其特征在于,所述排序子單元包括 第一排序模塊,用于根據(jù)待預(yù)測片段的長度對相應(yīng)的組合結(jié)果進行排序; 或者,第二排序模塊,用于根據(jù)所述補充結(jié)果的屬性信息,對相應(yīng)的組合結(jié)果進行排序; 或者,第三排序模塊,用于根據(jù)所述已輸入字符中的非補充部分,對相應(yīng)的組合結(jié)果進行排序。
25.如權(quán)利要求23所述的裝置,其特征在于,所述非補充部分包括一個或多個拆分單詞;所述第三排序模塊具體用于根據(jù)拆分單詞的數(shù)量,或長度,或詞頻信息,對相應(yīng)組合結(jié)果進行排序;或者,所述第三排序模塊具體用于根據(jù)非補充部分的完整性,對相應(yīng)組合結(jié)果進行排序;或者,所述第三排序模塊具體用于根據(jù)非補充部分與待預(yù)測片段的關(guān)聯(lián)關(guān)系,對相應(yīng)組合結(jié)果進行排序。
26. 一種輸入法系統(tǒng),其特征在于,包括前述15至25中任一項所述的字符自動補充裝置。
全文摘要
本發(fā)明提供了一種字符自動補充的方法、裝置和輸入法系統(tǒng),其中所述方法包括從用戶的已輸入字符中獲取待預(yù)測片段,所述用戶已輸入字符包括非補充部分和需要補充的待預(yù)測片段;針對所述待預(yù)測片段,匹配獲取相應(yīng)的補充結(jié)果;組合非補充部分和補充結(jié)果,輸出組合結(jié)果。本發(fā)明能夠從用戶的已輸入字符中找到需要補充的片段,即并不是簡單的從用戶已輸入字符的開頭進行補充,而是定位到用戶已輸入字符的某個位置,將其之后的字符作為待預(yù)測片段進行補充;或者,定位到用戶已輸入字符的某兩個位置,將其之間的字符作為待預(yù)測片段進行補充。
文檔編號G06F3/023GK102236423SQ20101016445
公開日2011年11月9日 申請日期2010年4月30日 優(yōu)先權(quán)日2010年4月30日
發(fā)明者張軍, 楊磊 申請人:北京搜狗科技發(fā)展有限公司