欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

電子設(shè)備的文本輸入系統(tǒng)及文本輸入方法

文檔序號:6349311閱讀:355來源:國知局
專利名稱:電子設(shè)備的文本輸入系統(tǒng)及文本輸入方法
技術(shù)領(lǐng)域
本發(fā)明涉及電子設(shè)備的文本輸入系統(tǒng)及文本輸入方法,特別是指用于生成文本預(yù)測以供顯示和用戶選擇的系統(tǒng)以及與此相關(guān)的方法。
背景技術(shù)
時下,充斥著種類繁多的電子設(shè)備文本輸入技術(shù)。標(biāo)準(zhǔn)鍵盤是在臺式電腦和筆記本電腦上進行文本輸入的標(biāo)準(zhǔn)。從1878年將標(biāo)準(zhǔn)機鍵盤在打字機上的布局設(shè)計成為雙手操作、多指鍵入時起,標(biāo)準(zhǔn)鍵盤的布局被沿用至今。通過以往的訓(xùn)練和/或經(jīng)驗的評估,已證明標(biāo)準(zhǔn)鍵盤布局的高效性。尺寸縮小的標(biāo)準(zhǔn)鍵盤經(jīng)常用于諸如PDA、移動電話等移動設(shè)備的文本輸入。這樣的鍵盤通常由雙手的拇指進行操作,而其優(yōu)點在于幾乎所有用戶都熟悉標(biāo)準(zhǔn)鍵盤布局。諸如黑莓、諾基亞N810等設(shè)備都使用這種鍵盤樣式。然而,對于移動電話的文本輸入主要集中于使用9數(shù)位數(shù)字鍵盤輸入字母字符的方法。其中,每個按鍵通常代表3或4個字符?,F(xiàn)在,已開發(fā)出大量用于根據(jù)需要減少按鍵次數(shù)的技術(shù)。手寫識別已經(jīng)廣泛應(yīng)用于基于手寫筆進行輸入的PDA的市場。雖然手寫識別為用戶帶來基于紙張進行手寫的體驗。但是,與大多數(shù)基于鍵盤的輸入方法相比,相對較慢的輸入速度使手寫識別技術(shù)在最近幾年中逐漸衰弱。另外,還有語音識別文本輸入系統(tǒng)應(yīng)用于標(biāo)準(zhǔn)和移動電腦設(shè)備中。但是,由于受到準(zhǔn)確度及環(huán)境噪音不利影響的限制,語音識別文本輸入技術(shù)并未被廣泛采用。觸摸屏式設(shè)備可以提供適用于不同類型文本輸入的靈活度較高的平臺,而且現(xiàn)在已有一些模型可供使用。傳統(tǒng)標(biāo)準(zhǔn)鍵盤式“軟”鍵盤已應(yīng)用于諸如蘋果iPhone和一些觸摸屏式PDA等運行移動視窗的設(shè)備上。其他的設(shè)備,諸如黑莓風(fēng)暴手機使用支持多種消除歧義和單詞補全方法的多字符軟鍵盤。此外,還有一些第三方系統(tǒng)為觸摸屏式設(shè)備提供文本輸入的替代方法。具體實例有(Siapwriter有限公司開發(fā)的yShapefeiter”,該系統(tǒng)基于在標(biāo)準(zhǔn)鍵盤背景上由字母間滑動形成的形狀的識別;ExIdea開發(fā)的“Messagefese”,該系統(tǒng)利用經(jīng)優(yōu)化的鍵盤布局實現(xiàn)基于手寫筆和手指的文本輸入。劍橋大學(xué)提供了一種略微不同的文本輸入模型,“Dasher”系統(tǒng),通過利用自然、連續(xù)的指點手勢替代敲擊鍵盤來驅(qū)動文本輸入。這一系統(tǒng)主要依賴于基于高級語言模型的字符預(yù)測。盡管該系統(tǒng)能夠用于移動電話和基于語音識別的應(yīng)用中,但其主要致力于為殘疾用戶提高文本輸入的使用便利性。上述文本輸入模型使用了文本預(yù)測技術(shù)。公知的用于提高文本輸入的預(yù)測模型具有兩種主要功能1)消除多字符按鍵的歧義;2)盡可能地補全只有部分輸入的序列。上述文本預(yù)測技術(shù)的實例包括特捷通訊(Tegic Communications)的“T9”,摩托羅拉的 “iTap”,Nuance 的 “XT9”,黑莓的 “SureType”,以及字源公司(Zi Technology)的“eZiType”和“eZiText”。在這些輸入法中,都需要維護具有正當(dāng)詞條的詞典,為具有正當(dāng)詞條的詞典提供特定的輸入序列,上述輸入法從所述詞典中選擇一條(或一組)正當(dāng)?shù)脑~條,并將該詞條作為潛在的補全候選詞條呈現(xiàn)給用戶?!癟9”需要用戶輸入數(shù)量與目標(biāo)輸入序列長度相同的字符。因此,“T9”僅提供上述功能1),而其他系統(tǒng)可以提供全部上述功能 1)和 2)。在上述的這些技術(shù)中,都可以通過用戶輸入新詞條來擴增基礎(chǔ)詞典。而這一擴增僅受設(shè)備的有效內(nèi)存容量限制?!癟9”使用靜態(tài)詞典,這意味著永遠(yuǎn)以同樣地順序向用戶提供共享同一鍵序列的單詞。相反地,摩托羅拉的“iTap”使用動態(tài)詞典,這意味著在每次輸入鍵序列時,給定鍵序列的預(yù)測首字都不相同。此外,這一方法按照近期的使用次數(shù)推薦補全。然而,這一方法并不能保證最大可能的補全,而僅能選取最近一次使用的補全。黑莓的“SureType”,Nuance的“XT9”和字源公司的“eZiType”提供更為復(fù)雜的模型,其中,根據(jù)使用頻率統(tǒng)計挑選出候選的補全詞條。此外,字源公司的“eZiText”同樣具有通過瀏覽用戶以前的輸入鑒別出高頻率詞組來預(yù)測多字補全候選(提供適當(dāng)輸入)的能力。

發(fā)明內(nèi)容
本發(fā)明展現(xiàn)出一種由基于字符的文本輸入過渡到基于詞條或短語的文本輸入的
顯著變化。本發(fā)明提供了一種系統(tǒng),包括用于接收用戶文本輸入的用戶界面,具有多個語言模型的文本預(yù)測引擎,該文本預(yù)測引擎用于從用戶界面接收輸入文本并利用所述語言模型同時生成文本預(yù)測。其中,所述文本預(yù)測引擎還用于向所述用戶界面提供文本預(yù)測,以供顯示和用戶選擇。優(yōu)選地,在接收輸入文本的同時從所述語言模型中實時生成所述文本預(yù)測。優(yōu)選地,所述語言模型包括人類語言模型和至少一種專用語言模型。較為優(yōu)選地,所述專用語言模型包括一種以上的Email、短信息、新聞電訊、學(xué)術(shù)研究、日志或產(chǎn)品評測的專用語言模型??蛇x地,所述專用的語言模型包括Email和短信息的專用語言模型,以及通過使用 Email和短信息的專用語言模型的中一個或兩個而生成的文本預(yù)測。所述語言模型還包括至少一個附加語言模型,例如該附加語言模型可以為用戶組專用語言模型。在本發(fā)明的一個實施例中,所述系統(tǒng)包括比較機構(gòu),該比較機構(gòu)用于將存儲在語言模型中的詞條序列與存儲在一個或多個其他語言模型中的詞條序列進行比較,以刪除重復(fù)的或多次輸入的詞條,僅保留概率最高的重復(fù)或多次輸入的詞條。在本發(fā)明的另一實施例中,所述語言模型包括基于η元語法語言模型的用戶專用語言模型。通過更新η元語法語言模型,在η元語法模型圖中記錄下由用戶輸入的η元語法模型路徑出現(xiàn)的頻率。優(yōu)選地,所述用戶專用語言模型用于響應(yīng)未在其中出現(xiàn)的文本輸入,以便向所述語言模型內(nèi)的所述η元語法模型圖中插入新路徑。在一優(yōu)選實施例中,所述文本預(yù)測引擎包括用于合并由各個語言模型生成的文本預(yù)測的合并機構(gòu)。優(yōu)選地,所述合并機構(gòu)用于將文本預(yù)測插入到有序相聯(lián)結(jié)構(gòu)或標(biāo)準(zhǔn)模板庫(Mandard Template Library, STL) “多重映射”結(jié)構(gòu)中,并返回最可能詞條ρ作為文本預(yù)測提供給所述用戶界面。
優(yōu)選地,在缺少任何文本輸入和/或在句子結(jié)尾輸入標(biāo)點之后和/或在換行之后, 所述語言模型利用序列起始標(biāo)識確定詞條或短語預(yù)測。在本發(fā)明所述系統(tǒng)的一個實施例中,每個語言模型使用近似單詞查找樹和η元語法模型圖。其中,所述近似單詞查找樹是標(biāo)準(zhǔn)單詞查找樹的擴展,在其每個節(jié)點上存儲有一組用于表示各個節(jié)點之后的允許字符序列的數(shù)值。在本發(fā)明所述系統(tǒng)的另一個實施例中,每種語言模型使用概率單詞查找樹和η元語法模型圖。其中,所述概率單詞查找樹是標(biāo)準(zhǔn)單詞查找樹的擴展,在其每個節(jié)點上存儲有一組用于表示各個節(jié)點之后的允許字符序列的數(shù)值。優(yōu)選地,所述語言模型用于檢索所述η元語法模型圖,以根據(jù)在前文本輸入的η-1 個詞條,確定下一個詞條的單詞或短語預(yù)測。優(yōu)選地,所述語言模型用于檢索所述近似單詞查找樹或所述概率單詞查找樹,以根據(jù)至少一個輸入字符確定單詞預(yù)測。此外,所述語言模型包括近似單詞查找樹,以及候選詞過濾器,以縮小由所述近似單詞查找樹確定的單詞預(yù)測的范圍;所述候選詞過濾器用于丟棄所有當(dāng)前輸入為非其子字符串的候選字符串。所述語言模型還包括計算機構(gòu),該計算機構(gòu)用于通過檢索由所述近似單詞查找樹、所述候選詞過濾器和所述概率單詞查找樹中的一種確定的單詞預(yù)測集合以及由η元語法模型圖確定的單詞預(yù)測集合,并僅保留存在于這兩個單詞預(yù)測集合中的相同標(biāo)識符,計算出這兩個單詞預(yù)測集合之間的交集。在一個實施例中,所述語言模型還包括具有η+1元語法模型圖的布隆過濾器。所述布隆過濾器用于檢索所述η+1元語法模型圖,并根據(jù)下列語境之一返回新的預(yù)測集合;1)用于檢索所述η元語法模型圖的在先文本輸入的η-1個詞條的語境;2)已確定的所述交集中預(yù)測詞條的語境;以及3)在用于檢索所述η元語法模型圖的η-1個詞條之前的額外詞條的語境。在一個實施例中,所述語言模型還包括主題過濾器。所述主題過濾器用于預(yù)測當(dāng)前輸入文本的主題分類,預(yù)測所述預(yù)測集合中詞條的主題分類,以及根據(jù)所述主題分類的預(yù)測調(diào)整所述預(yù)測集合中的預(yù)測的概率。本發(fā)明還提供了一種觸摸屏式界面,該界面包括單/多字符輸入機構(gòu),單詞預(yù)測屏面和用于顯示已輸入文本的打字屏面。優(yōu)選地,所述觸摸屏式界面包括用于切換單詞預(yù)測屏面、數(shù)字和標(biāo)點屏面以及標(biāo)點屏面的菜單按鈕。優(yōu)選地,所述觸摸屏式界面包括用于向Email程序發(fā)送輸入文本的發(fā)送按鈕。優(yōu)選地,所述用戶界面用于輸入依賴于給定單詞序列中被選中的輸入詞條的單詞或短語。優(yōu)選地,所述單詞預(yù)測屏面包括一個或多個顯示預(yù)測單詞的單詞鍵。其中,所述用戶界面在所述打字屏面上顯示由點擊所述單詞鍵而生成的所述單詞。優(yōu)選地,所述用戶界面還包括刪除按鈕和/或撤銷按鈕。其中,作為對于點擊撤銷按鈕或在所述刪除按鈕上做出的從左至右的手勢的響應(yīng),所述用戶界面通過擦除所述打字屏面上的單詞來撤銷上一個單詞選擇,并回到之前的單詞預(yù)測屏面。優(yōu)選地,所述文本預(yù)測屏面包括一個或多個顯示預(yù)測字的單詞鍵;其中,所述用戶界面在所述打字屏面上顯示由點擊所述單詞鍵而輸入的所述單詞,并且將包含所述單詞的當(dāng)前輸入序列作為語境輸入傳遞給所述文本預(yù)測引擎。
優(yōu)選地,作為對于點擊單詞鍵以及在所述單詞鍵上做出按壓或由左至右的手勢的響應(yīng),所述用戶界面在所述打字屏面上顯示所述單詞,并且將不包含所述單詞的當(dāng)前輸入序列作為語境輸入傳遞給所述文本預(yù)測引擎,并且將所述單詞的字符作為當(dāng)前單詞輸入傳遞給所述文本預(yù)測引擎。優(yōu)選地,所述用戶界面還包括一個或多個顯示標(biāo)點符號的標(biāo)點鍵, 以及回車鍵。其中,作為對于序列結(jié)尾標(biāo)點或點擊回車鍵的響應(yīng),所述用戶界面將當(dāng)前序列傳遞給所述文本預(yù)測引擎;其中,所述文本預(yù)測引擎包括用于拆分當(dāng)前序列并將拆分后的序列傳遞給所述用戶專用語言模型的拆分機構(gòu);其中,所述用戶專用語言模型為拆分后的序列分配數(shù)字標(biāo)識符,并更新其η元語法模型圖。本發(fā)明還提供了一種用于處理用戶文本輸入并生成供用戶選擇的文本預(yù)測的方法。所述方法包括以下步驟接收輸入至用戶界面的文本,同時使用包括多個語言模型的文本預(yù)測引擎從所述多個語言模型中生成文本預(yù)測,然后將所述文本預(yù)測提供給所述用戶界面,以供用戶選擇。在一個實施例中,所述語言模型包括η元語法模型圖以及近似單詞查找樹或者概率單詞查找樹。所述方法包括根據(jù)在先文本輸入的η-1個詞條檢索所述η元語法模型圖, 以確定下一個詞條的單詞預(yù)測或短語預(yù)測的步驟。在一個實施例中,所述語言模型包括η元語法模型圖以及近似單詞查找樹或者概率單詞查找樹。所述方法包括根據(jù)至少一個輸入字符檢索所述近似單詞查找樹或者所述概率單詞查找樹,以確定單詞預(yù)測。優(yōu)選地,所述語言模型包括近似單詞查找樹,還包括候選詞過濾器;所述方法還包括通過丟棄所有當(dāng)前輸入為非其子字符串的候選字符串,縮小由所述近似單詞查找樹確定的單詞預(yù)測的范圍。優(yōu)選地,所述語言模型包括計算機構(gòu),該計算機構(gòu)用于計算由所述近似單詞查找樹、所述候選詞過濾器和所述概率單詞查找樹中的一種以及η元語法模型圖所確定的兩個單詞預(yù)測的交集;所述方法還包括計算這兩個所述單詞預(yù)測的交集的步驟。較為優(yōu)選地,所述計算機構(gòu)檢索并僅保留存在于這兩個單詞預(yù)測集合中的相同標(biāo)識符。在一個實施例中,所述語言模型還包括具有η+1元語法模型圖的布隆過濾器;所述方法還包括根據(jù)下列語境返回一個新的預(yù)測集合的步驟;1)用于檢索所述η元語法模型圖的在先文本輸入的η-1個詞條的語境;2)已確定的所述交集中預(yù)測詞條的語境;以及3)在用于檢索所述η元語法模型圖的η-1個詞條之前的額外詞條的語境。在一個實施例中,所述語言模型還包括主題過濾器;所述方法還包括預(yù)測當(dāng)前輸入文本的主題分類,預(yù)測所述預(yù)測集合中詞條的主題分類,以及根據(jù)所述主題分類的預(yù)測調(diào)整所述預(yù)測集合中的預(yù)測概率的步驟。在一個較優(yōu)的實施例中,所述語言模型包括基于η元語法語言模型的用戶專用語言模型;所述方法還包括更新在η元語法模型圖中由用戶輸入的η元語法模型路徑出現(xiàn)的頻率的步驟。優(yōu)選地,為了響應(yīng)未在所述語言模型中出現(xiàn)的文本輸入,所述方法包括向所述 η元語法模型內(nèi)插入新路徑的步驟。優(yōu)選地,所述文本預(yù)測引擎包括用于合并由所述語言模型生成的所述預(yù)測的合并機構(gòu)。所述方法還包括合并所述預(yù)測的步驟,其中所述合并優(yōu)選地包括將所述預(yù)測插入到有序相聯(lián)結(jié)構(gòu)或標(biāo)準(zhǔn)模板庫(Mandard Template Library, STL) “多重映射”結(jié)構(gòu)中,并返回最可能詞條P提供給所述用戶界面。本發(fā)明還提供了一種計算機程序產(chǎn)品,包括存儲有使處理器執(zhí)行本發(fā)明方法的計算機程序的計算機可讀介質(zhì)。本發(fā)明預(yù)測文本輸入系統(tǒng)及方法具有能夠克服上述現(xiàn)有技術(shù)缺點的顯著優(yōu)勢。 “T9”、“iTap”、“SUreType”等是基于詞條詞典的系統(tǒng),而本發(fā)明系統(tǒng)則基于自適應(yīng)概率語言模型技術(shù),顧及多種語境詞條,以數(shù)學(xué)為依據(jù)利用高效的計算方式合并來自于多語言域的信息。因此,本發(fā)明的文本輸入系統(tǒng)減少了用戶文本輸入的勞動量,實現(xiàn)了技術(shù)上的改進。下面,將結(jié)合下述附圖詳細(xì)介紹本發(fā)明。


圖1為本發(fā)明的高層預(yù)測結(jié)構(gòu)示意圖;圖加 d為本發(fā)明預(yù)測結(jié)構(gòu)的兩種不同語言模型的示意圖;圖3為標(biāo)準(zhǔn)單詞查找樹的示意圖;圖如為被壓縮的近似單詞查找樹的示意圖;圖4b為概率單詞查找樹的示意圖;圖如為被壓縮的概率單詞查找樹的示意圖;圖5為η元語法模型圖的示意圖;圖6為動態(tài)η元語法模型圖的示意圖;圖7為本發(fā)明處理用戶文本輸入并生成文本預(yù)測以供用戶選擇的方法流程圖;圖8為本發(fā)明用戶界面的示意圖;圖為本發(fā)明可供選擇的用戶界面的示意圖。
具體實施例方式一般來說,可按照但不僅限于圖1來實施本發(fā)明系統(tǒng)。圖1為本發(fā)明高層文本預(yù)測結(jié)構(gòu)的框圖。本發(fā)明系統(tǒng)包括用于從多語言模型中生成文本預(yù)測20的文本預(yù)測引擎 100。在一個實施例中,所述系統(tǒng)包括人類語言模型3 (在本實施例中該語言為英語),以及至少一個專用語言模型4(在其他實施例中僅需要人類語言模型3和專用語言模型4中的一個)。在其他實施例中,所述人類語言模型具有除英語之外的其他語言。所述語言模型從語言文本中產(chǎn)生。因此,英語模型3從英語文本1中產(chǎn)生。所述英語文本1通常但不必構(gòu)成來源于種類繁多的風(fēng)格和語言人口統(tǒng)計的龐大英語文本語料庫。同樣地,專用語言模型 4從來自于專用語言文本2中產(chǎn)生。舉例來說,如果所述系統(tǒng)為計算機或類似設(shè)備,其中的目標(biāo)應(yīng)用為email,則專用語言模型4將是一種從包含大量來自于多個作者的email消息的語言文本2中生成的模型。同樣地,以移動設(shè)備為例,所述專用語言模型4將從移動短信語言文本2中生成。在本系統(tǒng)的某些實施例中,需要使用多種專用語言模型4。例如,可以用來發(fā)送email和短信息的移動設(shè)備需要短信息專用語言模型和email專用語言模型。其他需要使用多種專用語言模型4的所述系統(tǒng)的實例包括用于處理文字、通過因特網(wǎng)向移動設(shè)備發(fā)送email和短信息的電腦需要三種專用語言模型4。當(dāng)然,其他的組合還可能具有更多的專用語言模型4實例,例如包括從新聞電訊、博客、學(xué)術(shù)論文、文字處理和專利技術(shù)中生成的專用語言模型。
在某些實施例中,所述系統(tǒng)還包括附加語言模型6。例如,可以有效地構(gòu)造一公司專用語言模型,以便在某一特定組織中使用。這包括諸如在文本輸入期間能夠進行首選或標(biāo)準(zhǔn)措詞預(yù)測的組織專用語言模型。然而較佳地,所述附加語言模型6還可以包括任意“用戶組”專用語言模型。例如,所述“用戶組”專用語言模型可以包括方言或利益集團專用語言模型。之前所述的語言模型均為靜態(tài)語言模型。即,所述靜態(tài)語言模型從文本代表體中生成后就不會改變。當(dāng)然,可以生成并使用新的語言模型,但是已存在于本發(fā)明所述系統(tǒng)中的語言模型會保持不變,除非替換或刪除該語言模型。所述系統(tǒng)使用靜態(tài)修剪機構(gòu)5對所有靜態(tài)語言模型進行全面的靜態(tài)修剪,以減少所述系統(tǒng)中存儲的信息量。如果檢測到重復(fù)的輸入或多個輸入(在所述系統(tǒng)包括三種以上語言模型的情況下),所述靜態(tài)修剪機構(gòu)5修剪所述靜態(tài)語言模型,并只保留概率最高的輸入。對于靜態(tài)修剪的描述,參照本說明書后面部分中的單語言模型。所述文本預(yù)測引擎100用于從現(xiàn)有的多個語言模型中地生成文本預(yù)測20。通過使用多語言模型8,將來自于多個語言模型中的文本預(yù)測20與生成的、供用戶界面顯示和用戶選擇的最終預(yù)測9合并。所述最終預(yù)測9為一組(即,規(guī)定的數(shù)量)概率最高的預(yù)測 (預(yù)測集合)。所述多語言模型8通過將從多個語言模型中生成的文本預(yù)測20插入到可為標(biāo)準(zhǔn)模板庫“多重映射”結(jié)構(gòu)的有序相聯(lián)結(jié)構(gòu)中,生成所述最終預(yù)測9。所述有序相聯(lián)結(jié)構(gòu)是一種由一些唯一鍵和數(shù)值構(gòu)成的抽象數(shù)據(jù)類型。其中,每個鍵對應(yīng)一個(或一組)數(shù)值。所述有序相聯(lián)結(jié)構(gòu)可以用來存儲作為有序節(jié)點樹的元素序列。 其中,每個節(jié)點存儲一個元素。元素由用于排序的鍵和映射值組成。在本系統(tǒng)的一個有序相聯(lián)結(jié)構(gòu)中,預(yù)測是一種映射到概率值的字符串值,基于所述概率執(zhí)行所述該映射,即,使用所述預(yù)測字符串作為有序相聯(lián)結(jié)構(gòu)中的鍵值,使用所述概率值作為有序相聯(lián)結(jié)構(gòu)中的數(shù)值。在本系統(tǒng)中,所述有序相聯(lián)結(jié)構(gòu)按照所述數(shù)值(而非本身是預(yù)測字符串的所述鍵值) 進行排序。查找與鍵值對應(yīng)的數(shù)值的操作被稱為查表或索引。標(biāo)準(zhǔn)模板庫“多重映射”結(jié)構(gòu)是一種特殊的有序相聯(lián)結(jié)構(gòu),其中允許存在重復(fù)鍵值。在本系統(tǒng)的標(biāo)準(zhǔn)模板庫“多重映射”結(jié)構(gòu)中,預(yù)測是一種映射到概率值的字符串值,基于概率執(zhí)行所述該映射,使用所述概率值作為所述標(biāo)準(zhǔn)模板庫“多重映射”結(jié)構(gòu)中的鍵值, 使用所述字符串值作為所述多重映射”結(jié)構(gòu)中的數(shù)值。因此,使用所述鍵值對所述標(biāo)準(zhǔn)模板庫“多重映射”結(jié)構(gòu)進行排序,所述標(biāo)準(zhǔn)模板庫“多重映射”結(jié)構(gòu)也就是應(yīng)當(dāng)按照所述概率值進行排序的。舉例來說,假設(shè)由第一語言模型生成預(yù)測“a” 一 0. 2和“the” 一 0. 3,并由第二語言模型生成預(yù)測“an”一 0. 1和“these”一 0. 2。由所述多語言模型8將這些預(yù)測插入到有序相聯(lián)結(jié)構(gòu)或標(biāo)準(zhǔn)模板庫“多重映射”結(jié)構(gòu),以便利用這些預(yù)測的概率為輸入的這些預(yù)測進行排序((0. 1 — “an”),(0.2-"a"), (0. 2 - "these"), (0· 3 — “the”))。隨即從高值開始讀取所述有序相聯(lián)結(jié)構(gòu)或標(biāo)準(zhǔn)模板庫“多重映射”結(jié)構(gòu),并以獲得一組最終概率最高的預(yù)測9結(jié)束。在一個優(yōu)選實施例中,所述系統(tǒng)還包括用戶專用語言模型7。該用戶專用語言模型 7具有由用戶輸入逐步訓(xùn)練出的動態(tài)語言模型。用戶輸入文字串流10引用由用戶生成的發(fā)展中的文本數(shù)據(jù),然后作為逐步訓(xùn)練出的數(shù)據(jù)被返回給動態(tài)的用戶專用語言模型,作為
11對于句子末尾的標(biāo)點或回車符的響應(yīng),或者在其他預(yù)定時間將用戶輸入的文本序列傳遞給所述多語言模型8,并由所述多語言模型8將所述文本序列劃分為將在下文描述的“標(biāo)記”。 然后,將標(biāo)記化的序列數(shù)據(jù)12傳遞給所述用戶專用語言模型7。將在下文參照單語言模型的結(jié)構(gòu)描述動態(tài)語言模型的更新。通過更新所述用戶專用語言模型7,所述用戶專用語言模型7伴隨著用戶輸入10 逐步發(fā)展,并以此形成了一個反饋循環(huán)。在該反饋循環(huán)中,由用戶專用語言模型7生成的預(yù)測依賴于由所述文本預(yù)測引擎生成的或由初始階段未在所述系統(tǒng)中的(由字符輸入的)附加單詞生成的、用戶的在先預(yù)測9的選擇。因此,所述系統(tǒng)使用了兩種語言模型,即靜態(tài)語言模型和動態(tài)語言模型。所述用戶專用語言模型7是動態(tài)語言模型的一個實例。本發(fā)明的所述系統(tǒng)是根據(jù)預(yù)測語言模型推論原理建立的。在所述預(yù)測語言模型推論原理中,通過語言中所有詞條的特定語境,來預(yù)測特定詞條的概率P(詞條I語境)。通過所述系統(tǒng)的動態(tài)應(yīng)用,從訓(xùn)練的觀測數(shù)據(jù)中預(yù)測出所述概率。此處,“語境”用來表示序列中在先出現(xiàn)的兩個詞條,不難理解“語境”還可以表示所述系統(tǒng)具有的關(guān)于當(dāng)前詞條的任意理解(例如,當(dāng)前詞條以特定字符或字符串開頭,或者當(dāng)前詞條用來表示某一主題)。考慮到特定語境,所述系統(tǒng)通過使用概率預(yù)測P (詞條I語境),預(yù)測出隨后最有可能出現(xiàn)的單詞。所述文本預(yù)測引擎具有短語預(yù)測的能力。例如,如果需要預(yù)測下兩個詞條,則需要的概率預(yù)測為P (詞條1 I詞條2,語境),并可重新整理為P (詞條1 I詞條2,語境)*P (詞條2|語境)。概率預(yù)測的格式為P(詞條I語境)的P(詞條11詞條2,語境)就是P(詞條2|語境)。P (詞條2 I語境)的概率預(yù)測格式同樣為P (詞條I語境)。因此,所述文本預(yù)測引擎具有完成短語預(yù)測的必要信息。短語預(yù)測會在很大程度上增加上層計算成本。因此,所述文本預(yù)測引擎必須立刻在詞條組合空間(0(nm),其中m為短語的長度)中進行檢索。然而,所述系統(tǒng)使用了有效的補償方法,使計算成本比較容易得到控制。所述系統(tǒng)將詞條組合的空間限制為完整nm的很小一部分。因此,降低了計算費用。為了實現(xiàn)這一點,假設(shè)預(yù)測詞條為ti;即預(yù)測短語中的第i個詞條,如果聯(lián)合概率P(tQ, t1 …,、)超出了當(dāng)前預(yù)測集合中的最低概率值,則僅僅能夠預(yù)測出后面的詞條tj+1。可通過將每個個體的概率相乘來取得聯(lián)合概率的預(yù)測。因此,在進行短語預(yù)測之前,需要具有相當(dāng)大的把握。此外,如果聯(lián)合概率降到闕值之下,則不能進行短語預(yù)測?,F(xiàn)在,參照圖h d本發(fā)明預(yù)測結(jié)構(gòu)的兩種不同的語言模型的示意圖,介紹如何從單語言模型中生成預(yù)測。有兩種輸入進入給定的語言模型,一種是當(dāng)前詞條輸入11,一種是語境輸入12。 所述當(dāng)前詞條輸入11包括所述系統(tǒng)嘗試預(yù)測的所述系統(tǒng)的詞條信息,也就是用戶想要輸入的詞條。該詞條可以是多字符按鍵序列,單字符按鍵序列或著是單、多字符按鍵混合的序列。例如,如果用戶想要輸入詞條“overt”,并在多字符按鍵鍵盤上敲擊兩次,則當(dāng)前詞條輸入11為集合{o/p,ν/χ/ζ},表明使用了 2-字符鍵“ο/ρ”和3-字符鍵“ν/χ/ζ”。如圖2c、2d所示,所述系統(tǒng)可以由當(dāng)前詞條輸入11生成按鍵響應(yīng)矢量31。所述按鍵響應(yīng)矢量表現(xiàn)為字符序列概率分布的指數(shù)序列形式。例如,如果用戶已經(jīng)使用單字符按鍵輸入字符“ i ”和“m”,則所述按鍵響應(yīng)矢量整理出用戶可能打算輸入的備選字符,例如im, Im 或者 I'm。所述按鍵響應(yīng)矢量31具有數(shù)量與用戶按鍵次數(shù)相同的元素,在本實例中元素的數(shù)量為2。預(yù)留出上述備選字符的按鍵響應(yīng)矢量的一個實例為{[(i —0.7),(1 — 0.3)], [(m —0.7),(’m —0.3)],}。此時,所述按鍵響應(yīng)矢量的兩個元素分別為[(i — 0. 7), (I — 0. 3) ],[ (m — 0. 7),(,m — 0. 3)]。其中,第一個元素表示用戶打算輸入字符“i”的概率為0. 7,打算輸入字符“I”的概率為0. 3。第二個元素表示用戶打算輸入字符“m”的概率為0. 7,打算輸入字符序列“’m” 的概率為0.3。由此可知,所述按鍵響應(yīng)矢量的實施例并不局限于單字符按鍵,同樣也適用于多字符按鍵。在多字符按鍵的情況下,所述按鍵響應(yīng)矢量31的第一元素包括與單次多字符按鍵產(chǎn)生的多個字符相關(guān)的概率值。如果用戶將要按下代表字符g、h和i的鍵,則所述按鍵響應(yīng)矢量31的第一元素包括g、h和i的概率值,所述按鍵響應(yīng)矢量31的第一元素為 [(g — 0. 33) ],[ (h — 0. 33) ],[ (i — 0. 33)],則共享同一次按鍵的各個字符具有相同的概率??赏ㄟ^大量方法生成每次按鍵的概率分布。作為一個非限定性實例,給定標(biāo)準(zhǔn)黑莓鍵盤布局,假設(shè)如果用戶輸入了一個特定字符,則存在這樣的可能,用戶實際上想要輸入與這個字符鄰近的其他字符。通過一個非限定性實例,如果用戶輸入了字符“k”,則所述按鍵響應(yīng)矢量分別為字符“ j ”、“ i ”、“ 1,,和“m”分配一個小概率,因為這幾個字符在黑莓鍵盤上距“k”最近。可選地,可根據(jù)字符距觸摸屏式設(shè)備上觸摸點的距離向字符分配概率值。例如,假設(shè)用戶觸摸了 “h”字符鍵,則從觸摸點到周圍鍵的鍵心的距離如下l)h 0. 052)j :03.3)g :0. 254)y :0. 55)η :0. 456)b :0. 77)u:0.7可以使用這些距離的標(biāo)準(zhǔn)倒數(shù)(即,ρ = (l/d)/D,其中ρ為結(jié)果概率;d為觸摸點到特定字符的距離;D = Σ 1/d,為所有距離值倒數(shù)之和)來生成所述按鍵響應(yīng)矢量的概率, 例如Dh =2C)/34. 41 = 0. 58
2)j =3.33/χ34. 41 = 0.1
3)g =4/'34.41 = 0. 12
4)y =2/'34.41 = 0. 06
5)n =2.22/χ34. 41 = 0.65
6)b =1.43/χ34. 41 = 0.04
7)u =1.43/χ34. 41 = 0.04 更為復(fù)雜、精確的生成所述按鍵響應(yīng)矢量中概率的方法具有提高概率準(zhǔn)確度的優(yōu)點,但不利地是通常它們的計算成本比較高。字符序列諸如’ t(可以用來在字符“t”前自動添加撇號“ ’”)的概率必須先驗地建立。每種語言模型都使用近似單詞查找樹13 (如圖2a、2c所示)或者概率單詞查找樹 33(如圖2b、2d所示)來生成基于所述當(dāng)前詞條輸入11或所述按鍵響應(yīng)矢量31的單詞預(yù)測。近似單詞查找樹13或者概率單詞查找樹33均為標(biāo)準(zhǔn)單詞查找樹的擴展版本。標(biāo)準(zhǔn)單詞查找樹或前綴樹是本領(lǐng)域的公知技術(shù),是一種有序的樹狀數(shù)據(jù)結(jié)構(gòu),用于存儲字符序列的關(guān)聯(lián)數(shù)組。圖3示出了一個用于存儲一組小文本字符串集合的標(biāo)準(zhǔn)單詞查找樹的實例。 每個節(jié)點21都具有指向后續(xù)節(jié)點的指針22。終端節(jié)點(即終結(jié)單詞的節(jié)點)還具有當(dāng)前路徑值。在上述的單詞查找樹中,給定節(jié)點的字符按照字母表順序排列,并根據(jù)路徑的字母表順序為節(jié)點分配值。每個節(jié)點的路徑數(shù)量上限由字母表中的字符個數(shù)決定。具有高效存儲能力的標(biāo)準(zhǔn)單詞查找樹能夠促進快速檢索。圖4示出了本發(fā)明中的近似單詞查找樹13,該近似單詞查找樹13用于存儲與圖3 中標(biāo)準(zhǔn)單詞查找樹存儲的文本字符串集合相同的文本字符串集合。所述近似單詞查找樹13 并不在各個路徑節(jié)點21上存儲單值,而是存儲所有后續(xù)允許序列的值的集合。從標(biāo)準(zhǔn)單詞查找樹演變來的這一擴展優(yōu)化了計算效率和內(nèi)存管理,并能夠使所述文本預(yù)測引擎快速識別所有由給定前綴產(chǎn)生的序列。此外,這一擴展還允許所述文本預(yù)測引擎指定內(nèi)部樹結(jié)構(gòu)的最大路徑(深度),并且對于任意給定序列還保證如果向所述近似單詞查找樹中添加一指定字符序列及該序列的相關(guān)值,則在檢索給定序列時,返回值集合必須包括序列各自的相關(guān)值。舉例來說,將與數(shù)字標(biāo)識“9”映射的詞條“investigate”添加到某一語言模型的深度為4的近似單詞查找樹中。在所述近似單詞查找樹中,所述語言模型首先沿著路徑到達(dá)由字符“i”表示的節(jié)點,接著將標(biāo)識“9”添加到該節(jié)點上的數(shù)值集合中(因為每個節(jié)點都存儲有后續(xù)允許序列的數(shù)值集合)。然后,沿著路徑到達(dá)由字符“η”表示的節(jié)點并將標(biāo)識 “9”添加到該節(jié)點上的數(shù)值集合中。對于字符“v”、“e”進行同樣的操作。在由字符“e”表示的節(jié)點上時,已到達(dá)所述近似單詞查找樹的最深層,由此結(jié)束上述過程。隨后,如果利用某一語言模型檢索“investigate”,則該語言模型將沿著路徑‘i,一 ‘η’ 一 ‘V’ 一 ‘e’進行所述近似單詞查找樹的二分查找,然后返回表示‘e’的節(jié)點上的數(shù)值集合,該節(jié)點必然包含數(shù)值‘9’。然而,表示‘e’的節(jié)點上的數(shù)值集合同樣還會包含其他被插入的、以“irwe”開頭的字符串的數(shù)值。因此,在當(dāng)前詞條輸入超過所述近似單詞查找樹的最大深度時,所述語言模型并不能夠保證不返回與給定檢索序列不相匹配的附加序列的數(shù)值。因為上述查詢返回的是近似精確的數(shù)值集合,所以將標(biāo)準(zhǔn)單詞查找樹的這種擴展稱為“近似單詞查找樹”。圖4b示出了一種可替代近似單詞查找樹的概率單詞查找樹。如圖4b所示,所述概率單詞查找樹用于存儲下列完整的詞條序列:Τ,“Ι11,,,“Γ 1Γ,,“Γ m,,,以及諸如“II”, “I’ 1”等子字符串。圖中箭頭闡明的是假設(shè)一特定的按鍵響應(yīng)矢量31,如何查詢所述概率單詞查找樹。在圖如中,所述按鍵響應(yīng)矢量具有與三個按鍵對應(yīng)的三個元素1)[(I — 1.0)]2) [(1 — 0. 5),( ‘1 — 0. 5)]3) [(1 — 0.2)]
注意,在本實施例中為了簡單起見,所述按鍵響應(yīng)矢量的第三個元素由概率為0. 2 的單一元素組成。實際上,每個元素都是由一個共計為1的真實概率分布構(gòu)成。此外,為了簡單起見,本實施例描述了一個單字符輸入按鍵。圖4b中的每個箭頭表示的是對于所述按鍵響應(yīng)矢量(與由按鍵輸入的字符有關(guān)) 中的序列的識別,而且查詢過程試圖遍歷所述按鍵響應(yīng)矢量中每條可能路徑,因此所述查詢過程向下遍歷了整個概率單詞查找樹。如果找到了匹配,則將所述序列的概率值與當(dāng)前累積概率值相乘,然后繼續(xù)處理。所述概率單詞樹查詢的輸出結(jié)果是一個標(biāo)識符映射到概率值的詞條序列。每個詞條標(biāo)識符代表一個詞條,所述按鍵響應(yīng)矢量的單一路徑為(可能不恰當(dāng)?shù)?該詞條的子字符串。在本實施例中,如果以所述按鍵響應(yīng)矢量查詢所述概率單詞查找樹,則所述系統(tǒng)將在根節(jié)點40處開始嘗試沿包含在所述按鍵響應(yīng)矢量第一元素的第一項中的序列(在本例中為字符“I”)而行進。離開所述根節(jié)點40的唯一路徑包含字符“I”,因此所述系統(tǒng)沿這條路徑而行并將概率狀態(tài)(累計概率值)更新為1.0。因為所述按鍵響應(yīng)矢量的第一元素中不存在其他項,因此所述系統(tǒng)移動至下一元素,先嘗試沿字符“1”行進,然后沿序列“’ 1” 行進。這兩種選擇都匹配所述概率單詞查找樹結(jié)構(gòu),因此沿著這兩條路徑行進,并將概率狀態(tài)分成需要進行相關(guān)乘法運算的兩份。分別將這兩條路徑的當(dāng)前概率狀態(tài)(累計概率值) 乘以0.5,得到結(jié)果為0.5。注意,所述系統(tǒng)在所述概率單詞查找樹中沿著“’ 1”路徑橫跨兩個概率狀態(tài),但僅被當(dāng)做由所述按鍵響應(yīng)矢量指定的單一概率進行處理,因為用戶并沒有輸入撇號“ ’”。然后,所述系統(tǒng)移至所述按鍵響應(yīng)矢量中的結(jié)尾元素,并嘗試從兩種當(dāng)前概率狀態(tài)中匹配字符“1”。所述匹配是成功的,在字符“1”和序列“’ 1”這兩條路徑上都進行了相關(guān)的概率乘法運算,最終得到的當(dāng)前概率狀態(tài)為0. 1。因為在所述按鍵響應(yīng)矢量中不存在其他元素,因此所述系統(tǒng)將各個末端節(jié)點上的值連同這些值各自的概率狀態(tài)值一起返回。在本例中,系統(tǒng)返回各個末端節(jié)點上的值為映射概率值均為0. 1的標(biāo)識符2和4。為了提高存儲效率,所述系統(tǒng)使用本領(lǐng)域公知技術(shù)壓縮整個概率單詞查找樹,并以同樣的方式壓縮如圖如所示的近似單詞查找樹。通過將相鄰的非分叉點連接在一起來壓縮所述概率單詞查找樹33。圖如示出了圖4b中的概率單詞查找樹的壓縮過程。這樣的話,所述概率單詞查找樹中的路徑就包含了多個字符,而且有些箭頭在同一節(jié)點上起始和終結(jié)。優(yōu)選地,本發(fā)明的所述系統(tǒng)使用的是概率單詞查找樹33,而非近似單詞查找樹 13。所述概率單詞查找樹33具有將概率值映射到字符串的優(yōu)點。此外,所述概率單詞查找樹33并不受指定的最大深度的限制。然而,對于單詞查找樹的選擇取決于諸如可用內(nèi)存大
小等因素。由此可知,本發(fā)明中的所述按鍵響應(yīng)矢量31和概率單詞查找樹33除了可以用來糾正遺漏標(biāo)點符號的錯誤之外,還可以用來糾正單詞字符輸入中的錯誤。與用戶遺忘插入標(biāo)點符號的實例相似,本系統(tǒng)可以用來插入被用戶遺漏的重復(fù)的字符。例如,如果用戶想要輸入‘a(chǎn)ccommodation’,但僅輸入了 ‘a(chǎn)_c-0’,則本系統(tǒng)將通過插入字符‘C’來解決遺漏字符‘C’的問題。舉例來說,該字符序列的按鍵響應(yīng)矢量31可以是[(“a”一 1),(“c”一 0. 9, “cc”一 0. 1),(“ο”一 1)]。該按鍵響應(yīng)矢量對于單輔音字母輸入的這種特殊情況按照單輔音字母輸入對應(yīng)雙單輔音字母進行編碼,例如c — cc,d — dd,m — mm等。
可以將所述按鍵響應(yīng)矢量31歸納成在將每個字符輸入系統(tǒng)后對遺漏的字符進行負(fù)責(zé)。例如可將所述按鍵響應(yīng)矢量歸納為[(“a”一0.9,“a*”一0.1),(“c”一0.9, “c*”一 0. 1),( “ο”一 0.9,“ο*”一 0. 1)]。在按鍵響應(yīng)矢量31的這一實例中,每個單字符都與一潛在的雙字符輸入聯(lián)系在一起,但是雙字符輸入中的第二個字符是不確定的。通過在概率單詞查找樹中沿來自于當(dāng)前節(jié)點的具有一定概率的所有可能路徑行進,來補充不確定字符的符號“*”。因此,在上述例子中,假設(shè)第一元素為(“a”一0.9,“a*”一0.1),與字符“a”對應(yīng)的所述路徑的概率為0. 9 ;所有與身后跟隨有其他字符的字符“a”對應(yīng)的現(xiàn)有路徑的概率為0. 1,這樣的路徑實例包括“ab”、“aC”、“ad”、“a-”等。使用類似的方法插入空字符,即忽略用戶輸入的字符。例如,如果在用戶想要輸入 ‘necessary’時,插入了字符‘n-e-c-c’,此時所述系統(tǒng)可以忽略掉重復(fù)輸入的單輔音字母, 即只檢索出序列‘n-e-c’。因此,對于字符輸入‘n-e-c-c’的按鍵響應(yīng)矢量31的一個實例可以為[(“n”一 l,“e*”一 1),( “c”一 l,“c”一0.9,“”一0· 1)],其中“‘”一0· 1,相當(dāng)于匹配(假設(shè))概率為0. 1的“空”字符串。通過在每個已輸入的字符后面插入具有一定概率的空字符,將所述按鍵響應(yīng)矢量歸納成“忽略”由用戶輸入的每個字符。經(jīng)過歸納的按鍵響應(yīng)矢量 31 可以是[(“η”一 0.9,“”一 0. 1),( “e”一 0.9,“”一 0. 1),( “C”一 0.9, “”一0.1),( “C”一0.9,“”一0.1)]。在概率單詞查找樹中,由保留在當(dāng)前節(jié)點上的按鍵響應(yīng)矢量來實施所述空字符“”。上述方法的使用范圍可以擴及至一些例如由用戶輸入的序列中的每個字符完成輸入后,用戶遺漏了字符或插入了一個錯誤的字符等小概率事件。很明顯,上述操作將增加所述系統(tǒng)的運算成本(所述符號“*”會明顯影響被跟隨路徑的數(shù)量)。然而,上述操作會使所述系統(tǒng)更善于糾正用戶拼寫或輸入的錯誤。再回到圖加或2c,所述語言模型可以通過使用候選詞過濾器15來縮小由所述近似單詞查找樹返回的預(yù)測集合的范圍,以使所述預(yù)測集合僅僅包含完全由當(dāng)前字輸入允許的候選標(biāo)識符。僅在當(dāng)前輸入的長度超過近似單詞查找樹的最大深度時,候選過濾才是必需的。而此時在任意候選過濾的應(yīng)用中,至少要使用一次候選過濾,而使用3 5次候選過濾通常是比較適當(dāng)?shù)?。除此之外,不必使用候選過濾。為每個語言模型指定先驗的近似單詞查找樹的深度。所述候選詞過濾器查找出由近似單詞查找樹返回的數(shù)字標(biāo)識符集合中的數(shù)字標(biāo)識符表示的實際候選詞條字符串值后,通過將各個實際候選詞條字符串值與當(dāng)前輸入進行比較,逐個處理這些實際候選詞條字符串值。對于一個給定的候選字符串s,如果當(dāng)前輸入不是該候選字符串s的子字符串,則丟棄這個不是真候選的候選字符串S。由此可知,并不需要使用候選詞過濾器縮小由概率單詞查找樹33 (參見圖2b、2d) 返回的預(yù)測的范圍,因為所述概率單詞查找樹33不受指定的最大深度的限制。所述語境輸入12包括截至到目前由用戶輸入的、在當(dāng)前單詞之前的序列。由所述多語言模型8將所述序列拆分為多個“標(biāo)記”,其中的標(biāo)記可以是單個詞條、標(biāo)點符號、數(shù)字等。所述多語言模型8將標(biāo)記化的序列數(shù)據(jù)作為語境輸入提供給各個語言模型。如果所述系統(tǒng)為第η個詞條生成預(yù)測,則所述語境輸入12包含已被選中且由用戶輸入系統(tǒng)的在先的 η-1個詞條。所述語言模型使用η元語法模型圖14生成基于所述語境12的單詞和/或短語預(yù)測。如圖5所示,η元語法模型圖14是一種相關(guān)映射結(jié)構(gòu)。在所述η元語法模型圖14中, 詞匯表中的詞條帶有數(shù)字標(biāo)識符(短整型),這些帶有概率值的數(shù)字標(biāo)識符存儲在η元語法模型圖14中。單個父節(jié)點的子節(jié)點合并概率之和總是為1。將作為從用于訓(xùn)練語言模型的訓(xùn)練數(shù)據(jù)中估計出的標(biāo)識符分配給詞條,以便產(chǎn)生由最高頻率至最低頻率的排序結(jié)果。因此,所述標(biāo)識符由P(詞條)定義排序,其中,P為語言模型中詞條的一元語法模型概率。所述標(biāo)識符由P定義排序是十分重要的,因為這樣可以優(yōu)化文本預(yù)測引擎通過將P(詞條I語境)近似為P(詞條)來進行η元語法模型圖檢索的效率。通過為在給定的η元語法模型圖層級上的詞條排序來進行所述近似操作。所述η元語法模型圖層級是由P(詞條)給定的,而非詞條概率排序P (詞條I語境)。在所述系統(tǒng)中,以壓縮方式存儲η-元語法模型概率,以便幫助有限的存儲設(shè)備實現(xiàn)廣泛的作用范圍和快速的存取速度。優(yōu)選地,由離散(衰減)過程來壓縮概率值,其中, 離散化所述概率值,并將所述概率值散布于單字節(jié)內(nèi)存中有效的概率值范圍。假設(shè)概率值為P,使用下列公式將概率值P映射到單字節(jié)內(nèi)存:b = int(abS (log(p) )*10),其中int(x) 求出具有小數(shù)位的數(shù)值χ的整數(shù)部分,abs(x)求出數(shù)值χ的絕對值。還可以通過將字符串?dāng)?shù)值表示為短整型數(shù)值,并將高層級輸入存儲在低層級輸入之上,來壓縮所述η元語法模型圖。因此,例如三元語法模型“in the morning”存儲在與二元語法模型“in the”相同的位置上,但是該三元語法模型與額外的η元語法模型首詞條 “morning”鏈接,也就是,將后續(xù)允許序列的一組數(shù)字值(標(biāo)識符)存儲在所述η元語法模型圖中的每個節(jié)點上。為了由η元語法模型圖14生成預(yù)測,在每個圖節(jié)點21上,語言模型執(zhí)行二分查找以定位指定的后續(xù)子節(jié)點。例如,如果上下文包括詞條1和詞條2,則語言模型先定位詞條 1的節(jié)點,然后指定詞條2的、將被檢索的子節(jié)點。為了幫助該檢索,在每個父節(jié)點上,利用子節(jié)點的標(biāo)識符對所述子節(jié)點進行數(shù)字排序。需要檢索的節(jié)點可能包含大量子節(jié)點,但僅對高概率候選感興趣。因為,這些子節(jié)點是由P(詞條)自動排序的,所述語言模型僅僅返回第一批k個子節(jié)點,其中k為預(yù)設(shè)值。本方法假設(shè)只要k足夠大,P(詞條ι語境)下的最大概率候選存在于P (詞條)下的具有k個最大概率候選的集合中。利用P (詞條I語境) 為子節(jié)點排序并不可行,因為利用P(詞條I語境)為每個子節(jié)點排序需要使用不同的η元語法模型圖,由此會極大地增加內(nèi)存管理費用。下面將進一步描述如何由η元語法模型圖14生成預(yù)測。如果語言模型正在檢索最大概率詞條候選,假設(shè)兩個語境詞條為“in”和“the”,則所述語言模型將檢索最大化3元語法模型概率P(t|in the)的詞條t。所述語言模型首先查找“in”的標(biāo)識符,然后在所述 η元語法模型圖的第一層級中進行二分查找以定位標(biāo)識符(如果存在的話)。從“in”節(jié)點下來,所述語言模型查找“the”的標(biāo)識符,然后在所述η元語法模型圖的下一層級中進行二分查找以定位標(biāo)識符。由于“in the”是一種普通前綴,因此這個節(jié)點很可能有許多子節(jié)點。 因此,所述語言模型返回可能與“11101^叫”、“打1^”、“偽如1^”、“^^”、“幼1^”等詞條對應(yīng)的第一批k個子節(jié)點(由P (詞條)反向排序)。上述η元語法模型圖結(jié)構(gòu)目前應(yīng)用于靜態(tài)語言模型。一旦靜態(tài)語言模型被構(gòu)建, 并存儲了被壓縮的η元語法模型圖概率后,靜態(tài)語言模型就是不可改變的。靜態(tài)語言模型由已有數(shù)據(jù)生成,然后被編譯成在運轉(zhuǎn)時間為可讀的二進制格式的文件。相反地,可以在任何時候更新例如所述用戶專用語言模型7的動態(tài)語言模型,并且從動態(tài)語言模型中成的預(yù)測經(jīng)常變?yōu)楸患庸ぬ幚淼男聰?shù)據(jù)。
更新動態(tài)語言模型的兩種方式之一為將之前不在動態(tài)語言模型詞匯表中的詞條列入;然后更新特定η元語法模型語境中已存在詞條的頻率。動態(tài)η元語法模型圖存儲由用戶出入的η元語法模型路徑的頻率,其中“η元語法模型路徑”引用一特定詞條,以及多達(dá) η-1個在先語境詞條。對于當(dāng)前詞條t,當(dāng)前語境c以及動態(tài)語言模型D,如果當(dāng)前詞條t不在動態(tài)語言模型D的詞匯表中,則所述動態(tài)語言模型D將所述詞條t映射到一個新標(biāo)識符后將其插入所述近似單詞查找樹或所述概率單詞查找樹。為了輸入一個不在所述動態(tài)語言模型D詞匯表中的詞匯,用戶可以在所述系統(tǒng)的用戶界面通過依次輸入該詞條字符的方式插入該詞條。然后,所述動態(tài)語言模型D沿著由當(dāng)前詞條t以及當(dāng)前詞條t在η元語法模型圖中的當(dāng)前語境c表示的路徑行進。如果沒有新節(jié)點,則建立新節(jié)點。由此,根據(jù)所述當(dāng)前詞條t 的在先語境c,在所述動態(tài)語言模型D中建立新η元語法模型圖路徑。將這些路徑加入到所述動態(tài)η元語法模型圖中,用于在從零語境詞條到η-1個語境詞條范圍內(nèi)改變語境的長度。 其中,η是所述動態(tài)語言模型的最大η元語法模型次序。當(dāng)用戶在過一段時間后輸入所述詞條t時,所述動態(tài)語言模型D將存儲在用于表示該詞條t的所述η元語法模型圖節(jié)點上的計數(shù)值加1,并將該節(jié)點父節(jié)點上的總計數(shù)值也加1。這樣,就完成了包括詞條t和詞條 t的在零語境詞條到η-1個語境詞條之間變化的語境的η元語法模型路徑輸入頻率在所述 η元語法模型圖中的更新。不直接存儲動態(tài)語言模型的η元語法模型概率,而是存儲頻率統(tǒng)計。圖6示出了動態(tài)η元語法模型圖的實例。每個節(jié)點存儲有包括其子節(jié)點組合頻率(表示為“Τ=”)的頻率值,而非概率。從所述頻率值中,通過將特定詞條的計數(shù)值除以特定詞條父節(jié)點上的總計數(shù)值,高速計算出概率。優(yōu)選地,將平滑常數(shù)加入每個父節(jié)點中以避免不合理地過高估計稀疏事件。平滑常數(shù)值選擇得越高,用戶專用語言模型中的概率就會虛增得越慢(因為特定詞匯的概率是通過將特定詞條的計數(shù)值除以其父節(jié)點上的總計數(shù)值而得到的)。在一優(yōu)選實施例中,選擇的平滑常數(shù)為500。然而,這個平滑常數(shù)值僅是選擇之一。所述動態(tài)語言模型的優(yōu)點是允許快速更新。然而,此類語言模型的缺點是相對于靜態(tài)語言模型,具有更高的內(nèi)存和計算要求。由上所述,每種語言模型都具有兩個輸入源,當(dāng)前詞條輸入11和語境輸入12。其中,當(dāng)前詞條輸入11可以用來生成按鍵響應(yīng)矢量31。為了生成給定語言模型的單組文本預(yù)測20,所述語言模型必須計算出由所述近似單詞查找樹12、可選的候選詞過濾器15返回的候選集合與由所述η元語法模型圖14返回的候選集合之間的交集??蛇x地,所述語言模型必須計算出由所述概率單詞查找樹33返回的候選集合與由所述η元語法模型圖14返回的候選集合之間的交集。候選集合由一組數(shù)字標(biāo)識符表示。為了計算出分別由所述近似單詞查找樹和所述η元語法模型圖返回的候選集合之間的交集,邏輯乘法機構(gòu)16首先確定所述兩個集合中哪個集合較小。將較小的標(biāo)識符集合作為基本集合。所述邏輯乘法機構(gòu)16遍歷所述標(biāo)識符基本集合,并在另一集合中找出還存在于該基本集合中的每個標(biāo)識符。如果找到了問題中所述標(biāo)識符的匹配,則所述邏輯乘法機構(gòu)16將該標(biāo)識符放入一個用來表示所述兩集合之間交集的新集合中。在本實施例中, 所述新集合中的標(biāo)識符的概率就是存儲在所述η元語法模型圖中的概率。這是因為由所述近似單詞查找樹返回的候選并沒有相關(guān)的概率值。通過查詢所述近似單詞查找樹僅返回合適的候選。為了計算出分別由所述概率單詞查找樹33和所述η元語法模型圖返回的候選集合之間的交集,所述邏輯乘法機構(gòu)16使用了與上述近似單詞查找樹相關(guān)的相同步驟。然而,在計算分別由所述概率單詞查找樹33和所述η元語法模型圖返回的候選集合之間交集的這種情況下,由所述概率單詞查找樹33返回的候選包含概率值。因此,如果在由所述 η元語法模型圖返回的候選和由所述概率單詞查找樹33返回的候選之間找到匹配,則所述邏輯乘法機構(gòu)16計算出兩個概率的結(jié)果,并將映射到結(jié)果概率的標(biāo)識符放入一個用來表示所述兩集合之間交集的新集合中。所述語言模型使用一個或多個過濾器過濾由所述邏輯乘法機構(gòu)16生成的預(yù)測。 在一個實施例中,使用的第一過濾器為布隆過濾器17,其后為主題過濾器18和可選的附加過濾器19,以生成給定語言模型的輸出預(yù)測20。然而,在其他實施例中,可以改變所使用過濾器的次序或類型。布隆過濾器17是一種隨機化數(shù)據(jù)結(jié)構(gòu),用于以高效方式使用位數(shù)組及散列函數(shù)組合來存儲對象集合。本系統(tǒng)通過操作多位數(shù)組布隆過濾器17來為預(yù)測候選重新排序。該預(yù)測候選是在所述邏輯乘法機構(gòu)16上根據(jù)出于內(nèi)存原因不能存儲在所述η元語法模型圖 14中的高層級η元語法模型統(tǒng)計生成的。本系統(tǒng)使用了在所述布隆過濾器中將η元語法模型圖14與概率值結(jié)合在一起的技術(shù)。將布隆過濾器的輸入詞條與概率值結(jié)合在一起的技術(shù)已在塔伯特和奧斯本編著的《2007年自然語言處理和計算學(xué)自然語言學(xué)習(xí)中經(jīng)驗方法聯(lián)合會議的會議記錄》,第 468 至 479 頁(Talbot and Osborne, 2007, Proceedings of the 2007 Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning, pp. 468-479.)中&JF。對于給定的一組預(yù)測候選和一定數(shù)量的語境詞條,所述布隆過濾器17為所述預(yù)測重新排序以反映新概率。本系統(tǒng)采用了將一組η元語法模型輸入詞條映射到各自頻率概數(shù)上的對數(shù)式頻率布隆過濾器(塔伯特和奧斯本)。在本系統(tǒng)中,所述語言模型根據(jù)一組數(shù)量為η-1的語境詞條C生成了預(yù)測集合P。將η+1元語法模型詞條序列與概率概數(shù)結(jié)合在一起的對數(shù)式頻率布隆過濾器F用于生成新預(yù)測集合。在先預(yù)測在新預(yù)測集合被重新排序。對于預(yù)測集合P中的每個詞條預(yù)測t,所述語言模型根據(jù)c+C+t的語境檢索F,以生成新概率值ν。其中C包含用于檢索η元語法模型圖的在先輸入文本的η-1個詞條;t包含預(yù)測集合P中的詞條預(yù)測(在已確定的交集中);c包含在η-1個用于檢索所述η元語法模型圖的詞條之前的語境的額外詞條。因此,通過檢索所述布隆過濾器的η+1元語法模型圖獲取每個η+1元詞條序列、c+C+t,以便確定是否存在η+1元語法模型路徑。如果存在η+1元語法模型路徑,則將概率與η+1元語法模型路徑結(jié)合。然后,使用新概率構(gòu)造新預(yù)測集合。 一般地,如果P是要求的預(yù)測的最終數(shù)量,則執(zhí)行過濾過程的次數(shù)超過P (先驗確定的)次, 以使重新排序過程能夠產(chǎn)生返回給用戶的、不同的預(yù)測集合。在一些實施例中,所述語言模型還使用了主題過濾器18。N元語法模型統(tǒng)計根據(jù)局部語境生成了預(yù)測候選概率概數(shù),但全局語境任輝影響候選概率。本系統(tǒng)使用能夠積極識別給定書寫片段的最可能主題、并相應(yīng)地重新排列候選預(yù)測的主題過濾器18。所述主題過濾器18能夠顧及主題語境會影響詞條使用率的這一事實。例如,給定序列“was awarded a”,隨后的詞條“penalty”或“grant”出現(xiàn)的可能性很大程度上取決于討論的題目是“足球”還是“金融”。在主題過濾器考慮整個文本片段有可能出現(xiàn)的語境時, 局部η元語法模型語境卻經(jīng)常無法闡明這一事實。所述主題過濾器的作用是接收預(yù)測集合,并生成改變了預(yù)測詞條的概率值的該集合的變體。因此所述主題過濾器必然能夠改變該預(yù)測集合中預(yù)測的排序。給定一輸入預(yù)測集合P和當(dāng)前輸入文本Τ,所述主題過濾器執(zhí)行下列操作預(yù)測在當(dāng)前輸入文本T中表示最可能主題的分類的加權(quán)集合;預(yù)測在預(yù)測集合P中詞條/短語主題分類的加權(quán)集合;并修改預(yù)測集合P,以便相對于同當(dāng)前輸入文本T主題分類不相同的預(yù)測,提高與當(dāng)前輸入文本 T主題分類相似的預(yù)測的概率。通過由某一結(jié)構(gòu)構(gòu)成的分類的機器學(xué)習(xí)范型,完成文本任意片段的主題分類預(yù)測。在該結(jié)構(gòu)內(nèi),一機械“學(xué)習(xí)者”歸納出在特定樣本空間中抽取的元素與指定目標(biāo)類集合之間的函數(shù)映射(更多關(guān)于分類概念和方法的詳細(xì)介紹,參考B. Medlock編寫的、VDM Verlag于2008年出版的《自然語言處理任務(wù)的調(diào)查分類》,“B. Medlock, ‘‘ Investigating Classification for Natural Language Processing Tasks" , VDM Verlag 2008,,)。根據(jù)必須首先收集大量訓(xùn)練數(shù)據(jù)并為訓(xùn)練數(shù)據(jù)分配用于表示主題分類的標(biāo)簽的監(jiān)督式學(xué)習(xí)原理,在所述主題過濾器18中使用分類器。從訓(xùn)練數(shù)據(jù)中,所述分類器學(xué)習(xí)推斷新數(shù)據(jù)的可能主題分類標(biāo)簽。在本例中,個體數(shù)據(jù)樣本為文本片段。例如,在構(gòu)建分類器以在新聞域中標(biāo)注數(shù)據(jù)時,必須要有一些新聞報道,其中各個新聞報道已被預(yù)先分配了表示其主導(dǎo)主題的主題分類標(biāo)簽,例如“體育”、“金融”、“娛樂”等。預(yù)先定義主題分類集合, 并且該主題分類集合是分層次等級的,例如“足球”是“體育”的子類。一旦所述分類器通過已有數(shù)據(jù)的訓(xùn)練,它就能夠預(yù)測出文本新聞片段最有可能的主題分類。所述最有可能的主題分類連同每個預(yù)測的用于構(gòu)成該預(yù)測的表示置信度的數(shù)字值一起構(gòu)成所述預(yù)測。例如,給定如下文本片段,“David Beckham will stay at AC Milan until the end of the season after a 'times hare' deal was finally agreed with Los Angeles Galaxy”,經(jīng)過訓(xùn)練的分類器可以生成如下分類預(yù)測‘sport’ 一 0. 8 ; 'finance' — 0. 3,其中,數(shù)字值用于表示在上述預(yù)測中各分類的置信度。可將所述數(shù)字值解釋為對于給定文本片段中特定主題表達(dá)程度的估計??赏ㄟ^使用所述分類器輸入文本片段,完成來自于預(yù)測集合P的個體詞條/短語的主題分類的預(yù)測。由此生成預(yù)測集合P中每個詞條/短語預(yù)測的加權(quán)主題分類預(yù)測集合。預(yù)測集合P中預(yù)測概率的修改需要在主題分類預(yù)測集合之間定義“相似度標(biāo)準(zhǔn)”。 如此得到函數(shù)形式sim(S,S’)= v,其中S和S’為主題分類預(yù)測集合;ν為函數(shù)sim產(chǎn)生的實數(shù)值,用來表示S和S’之間的相似度。執(zhí)行函數(shù)sim的方法有多種,并且每種方法都很合適。例如,可將主題分類預(yù)測集合解釋為m維空間中的矢量,其中m為主題分類的數(shù)量。 在這種解釋之下,由所述分類器分配給特定分類c的權(quán)重為c維空間矢量的外延。可使用完善的技術(shù)例如通過應(yīng)用量級標(biāo)準(zhǔn)化和采用內(nèi)(點)積矢量運算,來估計矢量的相似度。一旦確定了相似度標(biāo)準(zhǔn),所述主題過濾18內(nèi)運行的最后階段是通過使用相似度數(shù)值來修改預(yù)測集合P中的概率??蛇x用一些技術(shù)來實現(xiàn)這一修改,但是會有這樣一種可能,即在預(yù)測集合P中的概率由帶有頻率值T的主題相似度排序時,會與預(yù)測集合P中的概率的排列次數(shù)成反比地少量虛增所述概率。以公式Pfinal = Pinitiai+k/r為例,其中P為從預(yù)測集合P中取得的預(yù)測概率;當(dāng)以sim(Sp,。(rank 1 =最高相似度)進行排序時,r為與P有關(guān)的詞條的排列次數(shù);k為預(yù)先定義的常數(shù)。本系統(tǒng)的語言模型的結(jié)構(gòu)便于使用許多附加過濾器19來為候選概率重新排序。 在各個階段中,所述語言模型已具有一候選預(yù)測集合,并且如果超過計算時間闕值,則所述候選預(yù)測集合會被返回,并且附加過濾器19會被輕易地繞過。所述語言模型返回其作為映射到概率值的詞條/短語集合的預(yù)測20。如圖1中所闡明的,通過多語言模型8聚集由各個語言模型輸出的預(yù)測20,以生成提供給用戶界面以供顯示和用戶選擇的最終預(yù)測集合10。從圖加 2d中可以看出,缺少了當(dāng)前詞條輸入11并同樣缺少了按鍵響應(yīng)矢量 31,所述預(yù)測僅僅建立在輸入的語境12的基礎(chǔ)之上。在一些實施例中,所述系統(tǒng)在不存在任意在先用戶輸入的情況下,使用序列的起始標(biāo)記來生成單詞或短語9的列表,以使用戶能夠通過選擇單詞或短語來著手句子的輸入。所述系統(tǒng)還可以使用“序列起點”(beginning of sequence,BOS)標(biāo)記確定在句子末尾標(biāo)點和/或在換行之后的單詞或短語預(yù)測。所述語言模型在缺少任意在先用戶輸入的情況下使用作為語境12的BOS標(biāo)記。在缺少在先用戶輸入的情況下,所述語言模型會生成某些詞條,例如“見”、“0盼1~”、“《冊”、“1” 等,因為這些詞條的出現(xiàn)概率要比高概率的一元語法模型詞條諸如“of ”、“to”、“a”等更高。 在BOS標(biāo)記的基礎(chǔ)上從各個語言模型20中生成預(yù)測。在所述η元語法模型圖第一層級上的其中一個輸入為所述BOS標(biāo)記,并且以和標(biāo)準(zhǔn)輸入詞條相同的方式將該BOS標(biāo)記作為語境來使用。例如,如果所述BOS標(biāo)記為‘~’,則所述η元語法模型圖可以包括(除其他)如下路徑“~Dear”一 0. 2 ; “"Hi”一 0. 25 ; “"How”一 0. 1 ;以及 “~1” 一 0. 15。優(yōu)選地,在用戶輸入句子結(jié)尾標(biāo)點(句號、感嘆號、問號)或輸入“回車”符時,可將BOS標(biāo)記自動插入到語境中。在用戶指定語言模型7為動態(tài)語言模型時,隨著時間的流逝,語言模型7將學(xué)習(xí)用戶的語言風(fēng)格,由此生成更有可能反映特殊用戶語言風(fēng)格的預(yù)測。然而,如果文本預(yù)測引擎生成了未能列入用戶想要詞的單詞或短語列表,則用戶可以利用所述用戶界面輸入字符11 來調(diào)整由所述文本預(yù)測引擎生成的所述詞條或短語列表。然后,所述語言模型利用近似單詞查找樹13會或概率單詞查找樹33,連同η元語法模型圖一起生成基于當(dāng)前單詞輸入11 的單詞預(yù)測列表。如上所述,參考圖1,本系統(tǒng)使用靜態(tài)修剪機構(gòu)5對所有靜態(tài)語言模型進行全面的靜態(tài)修剪,以減少所述系統(tǒng)中存儲的信息量。下文中描述的靜態(tài)修剪涉及到單語言模型的修剪。給定兩個語言模型Ll和L2,通過與參考語言模型L2進行比較來完成對于語言模型Ll的修剪。每個語言模型包括η元語法模型圖,在該η元語法模型圖中,詞匯表中的詞條具有存儲在η元語法模型圖中、與概率值聯(lián)系在一起的數(shù)字標(biāo)識符。因為將所述數(shù)字標(biāo)識符分配給詞條便于產(chǎn)生由最高頻率至最低頻率的排序結(jié)果,分配給在某一語言模型中的指定詞條的標(biāo)識符不必與分配給在其他語言模型中的同一指定詞條的標(biāo)識符相匹配。因此, 為了完成靜態(tài)修剪,所述靜態(tài)修剪機構(gòu)5在語言模型Ll的詞匯表標(biāo)識符與語言模型L2的詞匯表標(biāo)識符之間生成一轉(zhuǎn)換表。所述轉(zhuǎn)換表將語言模型Ll中的給定詞條t的標(biāo)識符映射到語言模型L2中的給定詞條t的標(biāo)識符。例如,如果在語言模型Ll中詞條“the”由數(shù)字標(biāo)識符1標(biāo)識,在語言模型L2中詞條“the”由數(shù)字標(biāo)識符2標(biāo)識,則給定語言模型Ll的數(shù)字標(biāo)識符為1,所述轉(zhuǎn)換表將為語言模型L2生成數(shù)字標(biāo)識符2。所述靜態(tài)修剪機構(gòu)5遍歷語言模型Ll的η元語法模型圖,以便使每個節(jié)點都被確切地訪問過一次。對于語言模型Ll中的每條跟隨路徑,嘗試將語言模型L2中的對應(yīng)路徑通過使用所述轉(zhuǎn)換表將語言模型Ll中的路徑標(biāo)識符轉(zhuǎn)換為語言模型L2中的路徑標(biāo)識符。 所述靜態(tài)修剪機構(gòu)5進行二分查找以找出指定的后續(xù)子節(jié)點。例如,如果語境包括詞條1 和詞條2,所述靜態(tài)修剪機構(gòu)5首先找到詞條1的節(jié)點。詞條2是接下來需要檢索的指定子節(jié)點。通過在語言模型L2中執(zhí)行上述檢索,可識別出同樣的路徑。如果在所述語言模型 L2中沒有同樣的路徑,則所述靜態(tài)修剪機構(gòu)5在語言模型L2中查找與語言模型Ll中的下條路徑相同的路徑。如果在語言模型L2中存在同樣的路徑,則所述靜態(tài)修剪機構(gòu)5對各節(jié)點上的概率進行比較。如果語言模型Ll中詞條1、詞條2所在各節(jié)點上的概率小于語言模型L2中詞條1、詞條2所在各節(jié)點上的概率,并且詞條1所在的節(jié)點為末節(jié)點,則所述靜態(tài)修剪機構(gòu)5將從語言模型Ll中移除該節(jié)點?,F(xiàn)在參照為本發(fā)明處理用戶文本輸入并生成文本預(yù)測以供用戶選擇的方法流程圖的圖7,詳細(xì)介紹本發(fā)明提供的電子設(shè)備的文本輸入方法。在上述方法中,第一步驟包括接受文本輸入。與之前本發(fā)明提供的電子設(shè)備的文本輸入系統(tǒng)的討論類似,所述文本輸入包括當(dāng)前單詞輸入11 (可被表示為按鍵響應(yīng)矢量31)和/或語境輸入12。因此,所述輸入流可以包含字符、單詞和/或短語輸入和/或標(biāo)點輸入。在具體實施例中,預(yù)測文本引擎同樣用于預(yù)測存儲在η元語法模型圖中伴隨文本詞條出現(xiàn)的標(biāo)點、標(biāo)點項。將單標(biāo)點項 ('!','?')以及一組標(biāo)點(‘!!!!!!!‘,‘…‘)作為一個預(yù)測單元進行處理。所述方法還包括通過使用包含多個語言模型的文本預(yù)測引擎從多語言模型中生成文本預(yù)測;并為用戶提供文本預(yù)測選擇的步驟。如圖7中的方法流程所示,在用戶輸入序列時,因為該包含從在先預(yù)測集合中選擇的詞條的序列用于更新促成下一組預(yù)測9的動態(tài)語言模型,由此形成一循環(huán)。例如,可通過在序列末尾插入標(biāo)點符號或“回車”符形成該循環(huán)。因此,基于上述在先序列輸入可以不斷地更新預(yù)測。舉例來說,加入用戶已經(jīng)輸入了序列“Hope to see you”,并想要以如下詞條順序輸入詞條“very”以及“soon”。由文本預(yù)測引擎100提供給用戶界面以供顯示和用戶選擇的最終預(yù)測集合 9 包括 ‘a(chǎn)ll,、‘soon,、‘there,、‘a(chǎn)t,、W、‘in,。想要輸入的下一詞條“very”并不在當(dāng)前預(yù)測出的詞條列表里。用戶可以輸入多字符‘ν/χ/ζ’以提示所述文本預(yù)測引擎100提供更貼切的預(yù)測。將與當(dāng)前語境“Hope to see you”有關(guān)的信息和當(dāng)前輸入的多字符‘ν/χ/ζ’ 一并轉(zhuǎn)給所述文本預(yù)測引擎100,由所述文本預(yù)測引擎100中的多語言模型8將所述語境拆分,并加入序列起始標(biāo)記“~”“H0pe to see you” —“"” “Hope” “to” “see” “you,,。然后,所述多語言模型8將被拆分的序列數(shù)據(jù)12以及多字符當(dāng)前單詞輸入11傳遞給各個語言模型。每個語言模型接收到所述當(dāng)前詞條輸入11和被拆分語境12的副本。在各個語言模型內(nèi),將所述當(dāng)前單詞輸入(可表示為按鍵響應(yīng)矢量31)送入近似單詞查找樹13或概率單詞查找樹33。在這種情況下,近似單詞查找樹13或概率單詞查找樹33會返回所有以‘v’、x’或‘ζ’開頭的詞條的標(biāo)識符集合。這一過程是由如下步驟完成的通過沿著初始路徑到達(dá)字符ν’、x’和‘ζ’相應(yīng)的節(jié)點;合并在各個所述節(jié)點上找到的標(biāo)識符數(shù)值集合并返回合并后的集合。在由近似單詞查找樹13返回標(biāo)識符的情況下,可使用候選詞過濾器15來縮小標(biāo)識符集合的范圍。然而在本例中并不需要過濾器,這是因為當(dāng)前詞條輸入的長度小于所述近似單詞查找樹的最大深度。因此,僅在使用近似單詞查找樹13、 且所述當(dāng)前詞條輸入的長度超過所述近似單詞查找樹的最大深度時,才有使用候選過濾的必要。如之前記載的,在所有應(yīng)用之中,所述近似單詞查找樹的最大深度至少為1,通常為 3 5。各個語言模型的近似單詞查找樹深度是先驗指定的。使用被拆分的語境12,由所述語言模型查詢所述η元語法模型圖14以獲取給定的 η元語法模型的階次,即若干語境詞條。各個語言模型都包括取決于η的最大值的η元語法模型。例如,某一特定語言模型包括1、2、3元語法模型,其最高η元語法模型階次為3。所述系統(tǒng)先取得語境的最大可能數(shù)量并查詢所述η元語法模型,以查看是否存在用于表示語境的路徑輸入。因此,例如,如果給定語言模型的η元語法模型最高階次為3,則在本例中所述系統(tǒng)先查詢與語境短語“see you”對應(yīng)的路徑。然后,所述系統(tǒng)摘取出對應(yīng)于該路徑的第一批k個子節(jié)點。其中,k為所述系統(tǒng)的先驗參數(shù)。在靜態(tài)語言模型中,每個子節(jié)點包含有詞條標(biāo)識符和被壓縮的概率數(shù)值??蓪⒃摫粔嚎s的概率數(shù)值提取出來以便在預(yù)測排序中使用。在動態(tài)語言模型中,每個子節(jié)點包含有頻率值。必須使用子節(jié)點所屬父節(jié)點上的頻率總值規(guī)范化該頻率值以生成概率。給定一組來自于所述近似單詞查找樹13的標(biāo)識符的集合或映射到來自于所述概率單詞查找樹33的概率值的標(biāo)識符的集合,以及一組映射到來自于η元語法模型圖14的概率值的標(biāo)識符的集合,由邏輯乘法機構(gòu)16計算上述集合間的交集。如果結(jié)果集合中的預(yù)測數(shù)量小于P,或為P的一定倍數(shù)(其中,P為必需的預(yù)測數(shù)量),所述系統(tǒng)則返回所述η元語法模型圖14并考慮更小的語境繼續(xù)查詢其他預(yù)測。在本例中,如果語境“see you”沒有生成足夠的預(yù)測,所述系統(tǒng)則考慮語境“you” (所述η元語法模型中的第二層級),而且如果仍然沒有生成必需的預(yù)測數(shù)量,所述系統(tǒng)則將語境還原成空白語境(所述η元語法模型中的第一層級)。在本例中,所述系統(tǒng)在先檢索與所述語境短語“see you”對應(yīng)的路徑。在這一步驟中,所述語言模型獲得了與所述語境和當(dāng)前單詞輸入(可表示為按鍵響應(yīng)矢量31)相匹配的、并按照來自于所述η元語法模型圖的預(yù)測詞條的各自概率值排列的預(yù)測詞條集合。例如,所述預(yù)測集合可以包括與詞條“very”、“ViSit”和“X”對應(yīng)的標(biāo)識符。通過使用布隆過濾器17對在先預(yù)測進行重新排序,生成新預(yù)測集合。在這種情況下,所述布隆過濾器包括與概率估計有關(guān)的4元語法模型序列。所述語言模型使用包含用于檢索η元語法模型圖的在先語境(“see you”)、當(dāng)前預(yù)測集合(“very”、“visit”和“X”)以及可選的附加語境詞條(在本例中為“to”)的新語境來查詢所述布隆過濾器。因此,在本例中可使用如下序列:"to see you very","to see you visit,,和"to see you x,,來查詢所述布隆過濾器。然后,可使用由所述布隆過濾器返回的概率值替換在當(dāng)前預(yù)測集合中映射到詞條 “Very”、“Visit”和“X”的概率值,因此上述詞條必然會被重新排序。附加過濾器以相同述的方式進行工作。一般地,如果P是必需預(yù)測的最終數(shù)量,則需要執(zhí)行的過濾過程次數(shù)需要大于P (先驗指定的),從而使重新排序過程能夠產(chǎn)生不同的預(yù)測集合以返回給用戶。一旦應(yīng)用了所有過濾器,預(yù)測集合(詞條+概率值)20由各個單語言模型返回給所述多語言模型8。接著由所述多語言模型8通過將所有的預(yù)測插入有序相聯(lián)結(jié)構(gòu)或STL
23多重映射結(jié)構(gòu)來使所述預(yù)測聚合,并且選擇最可能詞條P作為最終的預(yù)測集合9返回。在本實例中,顯示給用戶的預(yù)測集合9為‘very’、‘via’、‘view’、‘χ’。想要輸入的詞條“very”現(xiàn)出現(xiàn)在預(yù)測列表中,并可被選中。一旦選中該詞條,則包含詞條“very”的語境變?yōu)椤癏ope to see you very”,而當(dāng)前詞條輸入為空。接著除繞過所述近似單詞查找樹或概率單詞查找樹(因為此時無字符輸入,即無當(dāng)前詞條輸入),以及從所述η元語法模型圖中單獨摘出預(yù)測候選集合這兩步驟之外,以相同方式重復(fù)前述方法步驟。如此將會生成下列預(yù)測集合‘much,、‘soon,、‘good,、‘many,、‘well,。詞條“soon”出現(xiàn)在預(yù)測集合中,因此用戶可以選擇這一詞條.而當(dāng)再次更新語境時,此時包含新詞條的所述語境為“Hope to see you very soon”,并設(shè)置當(dāng)前詞條輸入為空。隨著輸入進展,連續(xù)重復(fù)這一過程。當(dāng)用戶通過點擊‘回車’或輸入序列結(jié)尾標(biāo)點符號結(jié)束序列時,所述用戶界面將當(dāng)前序列傳遞給所述文本預(yù)測引擎100,其中,所述多語言模型8拆分當(dāng)前序列,然后將被拆分后的序列傳遞給所述用戶專用語言模型7。動態(tài)語言模型7為被拆分的輸入12分配數(shù)字標(biāo)識符,并更新所述η元語法語言模型圖14。利用相同的例子,認(rèn)為用戶隨后在所述序列結(jié)尾加入了感嘆號,從而生成“Hope to see you very soon ! ”。下面的步驟包括所述多語言模型8拆分了所述序列,并且插入了 BOS標(biāo)記,例如“Hope to see you very soon ! ” 變?yōu)?“ -,,、“Hope,,、“ tQ,,、“ see,,、“y0U,,、“ very,,、“ soon,,、“ ! ” ;對于所述序列中的每一詞條 (及其各自的語境),所述動態(tài)語言模型將η元語法模型路徑加入到所述動態(tài)η元語法模型圖中,構(gòu)成不同的語境長度,從空語境詞條到η-1個語境詞條。其中,η為所述語言模型的最高η元語法模型階次。舉例說明上述情況,假η = 4,加入下列路徑
0169]“"”0170]“Hope”0171]“Hope”0172]"to,,0173]“Hope” “to”0174]“Hope” ‘'to,,0175]“see”0176]“to” “see”0177]“Hope” “to”“see”0178]“”,“Hope” ‘(to” “see”0179]“you,,0180]“see” “you”0181]“to” “see” ‘W,0182]“Hope” “to”"see" "you0183]“”,“Hope” ‘(j yy u ” < to see0184]"very"0185]'you,,"very0186]“see” “you”“very”0187]“to” “see” ‘'you,,"very
"soon,,
"very""soon"
‘you,,"very" "soon
“see”"you" "very"“ !,,“soon”"!”“very” “soon” “ ! ”“you” "very" “soon” “ !,,對于每條η元語法模型路徑,所述動態(tài)語言模型7將相應(yīng)節(jié)點的頻率值加1,同時還將相應(yīng)節(jié)點所屬父節(jié)點上的頻率總值加1。如果一給定詞條未存在于所述動態(tài)語言模型的詞匯表中,則由所述語言模型將該詞條加入其詞匯表并為該詞條分配新標(biāo)識符。本發(fā)明還涉及一種用戶界面。特別涉及一種觸摸屏式用戶界面??赏ㄟ^該界面來操作本發(fā)明系統(tǒng)。圖8示出了普通用戶界面。圖8a示出了可供選擇的普通用戶界面。如圖8所示,基本用戶界面包括打字屏面23,可位于所述界面中央的文本預(yù)測屏面25,以及位于所述文本預(yù)測屏面25兩側(cè)的兩個相同的、用于單/多字符、標(biāo)點或符號輸入的側(cè)屏面M、 26。在一可選實施例中,如圖8a所示,所述基本用戶界面包括打字屏面27、預(yù)測屏面觀以及用于單/多字符、標(biāo)點或符號輸入的單屏面29。所述預(yù)測屏面觀優(yōu)選地包括實際字符輸入按鈕38,最可能單詞按鈕48以及可選單詞按鈕58。在如圖8示出的實施例中,所述預(yù)測屏面25包括一組按鈕,每個按鈕顯示一來自于由文本預(yù)測引擎預(yù)測出的單詞或短語集合的單詞。所述打字屏面23包括一可以顯示用戶輸入文本的屏面。所述側(cè)屏面對、26包括一組與字符、標(biāo)點或數(shù)字按鍵對應(yīng)的按鈕。在默認(rèn)設(shè)置屏幕的情況下,所述側(cè)屏面對、26包括字符按鈕。然而,在其他配置條件下,屏面 M、25J6全部用作字符、標(biāo)點和數(shù)字按鈕,而且可切換所述屏幕以使用戶能夠在預(yù)測、數(shù)字和標(biāo)點屏幕之間往來。上述實施例中兩種用戶界面的區(qū)別點在于預(yù)測屏面25、28。在可選實施例中,所述預(yù)測屏面觀包括能使用戶輸入他們實際錄入所述系統(tǒng)的字符序列(并非向系統(tǒng)中輸入由系統(tǒng)的文本預(yù)測引擎預(yù)測出的詞條)的實際字符輸入按鈕38。這一特點能夠使用戶輸入那些并非由系統(tǒng)識別出的、因此也不是由所述系統(tǒng)預(yù)測出的單詞。所述預(yù)測屏面觀還包括用于顯示由文本預(yù)測引擎預(yù)測出的單詞或短語集合中具有最大概率的單詞的最可能單詞按鈕48,所述預(yù)測屏面觀還包括用于顯示除最大概率詞條之外的其他單詞的可選單詞按鈕 58 (即具有第二高概率的單詞)點擊所述按鈕48或58將輸入相關(guān)的詞條。在用戶界面的這兩個實施例中,所述打字屏面23顯示由用戶輸入的文本。用戶可以向上或向下滾動顯示于所述打字屏面上的在先輸入文本,以便用戶查看和編輯所述文本。所述打字屏面還包括可移動的、以幫助編輯輸入文本的光標(biāo)。設(shè)置用戶界面,以便在點擊預(yù)測屏面25、觀上的文本按鈕時,使被選中的文本呈現(xiàn)在所述打字屏面23、27上。將已更新的、包括選中文本及選中文本在先語境的輸入序列傳遞給所述文本預(yù)測引擎,以生成新的預(yù)測。優(yōu)選地,在圖8a示出的實施例中,用戶可通過點擊最可能單詞按鈕48或輸入空格來輸入最可能單詞。在圖8示出的實施例中,在按住文本按鈕(一定時間)或?qū)τ谟勺笾劣业氖謩葸M行響應(yīng)時,將除問題詞條之外的當(dāng)前輸入序列傳遞給所述文本預(yù)測引擎,并將當(dāng)前輸入序列中的無問題詞條顯示在打字屏面上。這時的文本并不是完整的(即每個詞條后面并沒有自動輸入空格),但是可將字母作為用于進一步預(yù)測的輸入。例如,如果按住單詞‘not’,則所述文本預(yù)測引擎生成包括諸如‘note’、‘nothing’等單詞的單詞預(yù)測9列表。將該列表提供給所述用戶界面以供顯示和在所述預(yù)測屏面25中選擇。如果語言模型預(yù)測出了標(biāo)點, 則標(biāo)點項會呈現(xiàn)在與預(yù)測出的單詞或短語在所述預(yù)測屏面25底部相同的位置上,由此保證用戶使用的一致性。在圖8a示出的可選的用戶界面中,當(dāng)前輸入序列實時顯示在所述打字屏面27上。所述實際字符輸入按鈕38同樣顯示所述當(dāng)前輸入序列,并將所述當(dāng)前輸入序列顯示在所述最可能單詞按鈕48和可選單詞按鈕58的旁邊。如果用戶想要選擇已輸入的所述當(dāng)前輸入序列,而非預(yù)測詞條,則用戶可點擊實際字符輸入按鈕38輸入作為已完成單詞的所述當(dāng)前輸入序列。圖8示出的用戶界面可以用于輸入多詞條(短語)。下面,以預(yù)測短語“and the” 為例,討論雙詞條短語輸入。在所述預(yù)測屏面25中部,包含詞條“and”的按鈕在包含詞條 “the”的按鈕左側(cè)緊鄰該包含詞條“the”的按鈕。如果用戶選擇了詞條“the”,則輸入序列 "and the”輸入。然而,如果用戶選擇了詞條“and”,則僅輸入詞條“and”。同樣的原理可以應(yīng)用于任意長度短語的預(yù)測中。所述同樣的原理可以應(yīng)用于圖8a示出的用戶界面,其中所述最可能單詞按鈕48可以用來顯示短語輸入。例如,如果最可能預(yù)測為具有兩個以上詞條的短語,并且所述可選單詞按鈕58可以顯示下一條最可能短語預(yù)測,則可將所述最可能單詞按鈕48分成兩個以上按鈕。字符按鈕可顯示于兩個側(cè)屏面24 J6或者單主屏面29。所述字符按鈕可以具有二元或三元字符行為。這意味著,會出現(xiàn)兩個或三個字符同時提交給預(yù)測器(即文本預(yù)測引擎)的情況(例如,如果點擊‘A|B’按鈕,則同時提交了 ‘A’和‘B’)。在一個實施例中,在默認(rèn)設(shè)置的屏幕上,上述情形是一種默認(rèn)的行為。將雙字符按鈕設(shè)計有多區(qū)域行為。例如, 點擊‘A|B,按鈕的左側(cè)將輸入‘A,;點擊‘A|B,按鈕的中部將輸入‘A’和‘B,;點擊‘A|B’ 按鈕的右側(cè)將輸入‘B’(這種組合能夠獲得更大、更容易使用的多字符按鍵,與此同時,允許經(jīng)驗豐富的用戶從單字符輸入中獲得準(zhǔn)確度更高的預(yù)測)。在一個實施例中,在默認(rèn)設(shè)置的屏幕上,上述情形為一種可選的行為。在需要毫無遲疑地輸入字符時(例如,輸入一個未列入語言模型詞匯表中的新詞條),可以使用多字符按鈕。在一個需要毫無遲疑地輸入字符的實施例中,用戶點擊切換按鈕進入數(shù)字/標(biāo)點屏幕,其中所有的按鈕都是多字符按鈕。所有數(shù)字或標(biāo)點按鈕都是多字符按鈕。以三字符按鈕為例,用戶點擊一次該按鈕可以輸入(三字符按鈕中的)第一項,點擊兩次該按鈕可以輸入第二項,或者點擊三次該按鈕以輸入第三項。所述用戶界面還包括下面全部或其中一個附加技術(shù)特征用于切換預(yù)測屏面、數(shù)字和標(biāo)點屏面以及標(biāo)點屏面的菜單按鈕;用于文本換行的回車按鈕;用于在被單擊時輸入空格或在被按住時不停輸入空格的空格按鈕;用于在被單擊時刪除單個字符或在被按住時不停刪除字符或詞條的刪除按鈕;用于切換“Abe” (僅首字母為大寫字母)、“ABC” (所有字母都是大寫字母)和“abc”(所有字母都是小寫字母)的大寫按鈕;以及用于向諸如電子郵件程序(針對于電子郵件應(yīng)用)發(fā)送輸入文本的發(fā)送按鈕。此外,所述用戶界面還包括撤銷按鈕,或者所述用戶界面能夠?qū)υ趧h除按鈕上做出的“撤銷”手勢(例如,在刪除按鈕上從左至右的動作)進行響應(yīng)。對于所述手勢或者按鈕點擊動作的響應(yīng),所述用戶界面會撤銷在先詞條選擇,并使用戶返回至先前的詞條選擇位置。例如,如果用戶通過字符輸入,輸入了 ‘us’,則將會基于這一輸入為用戶呈現(xiàn)出詞條預(yù)測選擇。假設(shè)用戶意外選擇了詞條“usually”而非想要的詞條“useful”,那么所述撤銷手勢允許用戶撤銷先前的詞條選擇,并返回初始基于‘us’的詞條預(yù)測。由此可使用戶選擇‘useful’。這一撤銷過程可將用戶從不停地點擊刪除按鈕以刪掉意外輸入的非正確詞條選擇中解放出來。所述系統(tǒng)包括序列首字母自動大寫功能。然而,在“ABC”、“Abc”和“abc”之間進行切換意味著語言模型僅能預(yù)測適當(dāng)形式的詞條,即如果大寫切換鍵設(shè)置為“Abc”,則所述文本預(yù)測引擎將按照下列諸如‘Jon’、‘Ben’、‘Cambridge’等大寫格式來檢索詞條。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種電子設(shè)備的文本輸入系統(tǒng),包括 用戶界面,用于接收由用戶輸入的文本;具有多個語言模型的文本預(yù)測引擎,用于接收來自于所述用戶界面的文本,并利用所述語言模型同時生成文本預(yù)測;其中,所述文本預(yù)測引擎還用于向所述用戶界面提供文本預(yù)測,以供顯示和用戶選擇。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,從所述語言模型中實時生成所述文本預(yù)測。
3.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述語言模型包括人類語言模型以及至少一個專用語言模型。
4.根據(jù)權(quán)利要求3所述的系統(tǒng),其特征在于,所述專用模型至少為以下之一電子郵件專用語言模型,短信息專用語言模型,新聞電訊專用語言模型,學(xué)術(shù)專用語言模型,博客專用語言模型,產(chǎn)品評測專用語言模型。
5.根據(jù)權(quán)利要求3所述的系統(tǒng),其特征在于,所述專用語言模型包括電子郵件專用語言模型和短信息專用語言模型,由電子郵件專用語言模型和短信息專用語言模型或者兩者之一生成所述文本預(yù)測。
6.根據(jù)權(quán)利要求3所述的系統(tǒng),其特征在于,所述語言模型包括至少一個附加語言模型。
7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述附加語言模型包括用戶組專用語言模型。
8.根據(jù)權(quán)利要求3或7所述的系統(tǒng),其特征在于,還包括比較機構(gòu),用于將存儲在語言模型中的詞條序列與存儲在一個或多個其他語言模型中的詞條序列進行比較,以刪除重復(fù)的或多次輸入的詞條,僅保留概率最高的重復(fù)或多次輸入的詞條。
9.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述語言模型包括基于η元語法語言模型的用戶專用語言模型,通過更新η元語法語言模型,在η元語法模型圖中記錄下由用戶輸入的η元語法模型路徑出現(xiàn)的頻率。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述用戶專用語言模型用于響應(yīng)未在其中出現(xiàn)的文本輸入,以便向所述語言模型內(nèi)的所述η元語法模型圖中插入新路徑。
11.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述文本預(yù)測引擎包括合并機構(gòu),用于合并由各個語言模型生成的文本預(yù)測。
12.根據(jù)權(quán)利要求11所述的系統(tǒng),其特征在于,所述合并機構(gòu)用于將所述文本預(yù)測插入到有序相聯(lián)結(jié)構(gòu)或標(biāo)準(zhǔn)模板庫多重映射結(jié)構(gòu)中,并返回最可能詞條作為文本預(yù)測提供給所述用戶界面。
13.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,在缺少任何文本輸入和/或在句子結(jié)尾輸入標(biāo)點之后和/或在換行之后,所述語言模型利用序列起始標(biāo)識確定詞條或短語預(yù)測。
14.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述語言模型使用近似單詞查找樹和η 元語法模型圖;其中,所述近似單詞查找樹是標(biāo)準(zhǔn)單詞查找樹的擴展,在其每個節(jié)點上存儲有一組用于表示各個節(jié)點之后的允許字符序列的數(shù)值。
15.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述語言模型使用概率單詞查找樹和η元語法模型圖;其中,所述概率單詞查找樹是標(biāo)準(zhǔn)單詞查找樹的擴展,在其每個節(jié)點上存儲有一組用于表示各個節(jié)點之后的允許字符序列的數(shù)值。
16.根據(jù)權(quán)利要求14或15所述的系統(tǒng),其特征在于,所述語言模型用于檢索所述η元語法模型圖,以根據(jù)在前文本輸入的η-1個詞條確定下一個詞條的單詞或短語預(yù)測。
17.根據(jù)權(quán)利要求14或15所述的系統(tǒng),其特征在于,所述語言模型用于檢索所述近似單詞查找樹或所述概率單詞查找樹,以根據(jù)至少一個輸入字符確定單詞預(yù)測。
18.根據(jù)權(quán)利要求17所述的基于權(quán)利要求14的系統(tǒng),其特征在于,包括近似單詞查找樹的所述語言模型包括候選詞過濾器,以縮小由所述近似單詞查找樹確定的單詞預(yù)測的范圍;所述候選詞過濾器用于丟棄所有當(dāng)前輸入為非其子字符串的候選字符串。
19.根據(jù)權(quán)利要求16、17或18所述的系統(tǒng),其特征在于,所述語言模型包括 計算機構(gòu),用于通過檢索由所述近似單詞查找樹、所述候選詞過濾器和所述概率單詞查找樹中的一種確定的單詞預(yù)測集合以及由η元語法模型圖確定的單詞預(yù)測集合,并僅保留存在于這兩個單詞預(yù)測集合中的相同標(biāo)識符,計算出這兩個單詞預(yù)測集合之間的交集。
20.根據(jù)權(quán)利要求19所述的系統(tǒng),其特征在于,所述語言模型還包括具有η+1元語法模型圖的布隆過濾器,用于檢索所述η+1元語法模型圖,并根據(jù)下列語境之一返回新的預(yù)測集合;用于檢索所述η元語法模型圖的在先文本輸入的η-1個詞條的語境; 已確定的所述交集中預(yù)測詞條的語境;以及在用于檢索所述η元語法模型圖的η-1個詞條之前的額外詞條的語境。
21.根據(jù)權(quán)利要求20所述的系統(tǒng),其特征在于,所述語言模型還包括主題過濾器,用于預(yù)測當(dāng)前輸入文本的主題分類,預(yù)測所述預(yù)測集合中詞條的主題分類,以及根據(jù)主題分類的預(yù)測調(diào)整所述預(yù)測集合中的預(yù)測的概率。
22.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述用戶界面是一種觸摸屏式界面,包括單/多字符輸入機構(gòu);單詞預(yù)測屏面;以及用于顯示已輸入文本的打字屏面。
23.一種觸摸屏式用戶界面,其特征在于,包括 單/多字符輸入機構(gòu); 單詞預(yù)測屏面;以及用于顯示已輸入文本的打字屏面。
24.根據(jù)權(quán)利要求23所述的用戶界面,其特征在于,所述單詞預(yù)測屏面包括一個或多個顯示預(yù)測單詞的單詞鍵;其中,所述用戶界面在所述打字屏面上顯示由點擊所述單詞鍵而輸入的所述單詞。
25.根據(jù)權(quán)利要求M所述的用戶界面,其特征在于,還包括刪除按鈕和/或撤銷按鈕;其中,作為對于點擊撤銷按鈕或在所述刪除按鈕上做出的從左至右的手勢的響應(yīng),所述用戶界面通過擦除所述打字屏面上的單詞來撤銷上一個單詞選擇,并回到之前的單詞預(yù)測屏面。
26.根據(jù)權(quán)利要求22所述的系統(tǒng)或權(quán)利要求23所述的用戶界面,其特征在于,所述用戶界面還包括菜單按鈕,用于切換單詞預(yù)測屏面、數(shù)字和標(biāo)點屏面以及標(biāo)點屏面。
27.根據(jù)權(quán)利要求22所述的系統(tǒng)或權(quán)利要求23所述的用戶界面,其特征在于,所述用戶界面還包括發(fā)送按鈕,用于向電子郵件程序發(fā)送輸入的文本。
28.根據(jù)權(quán)利要求22所述的系統(tǒng)或權(quán)利要求23所述的用戶界面,其特征在于,所述用戶界面用于輸入依賴于給定單詞序列中被選中的輸入詞條的單詞或短語。
29.根據(jù)權(quán)利要求22所述的系統(tǒng),其特征在于,所述單詞預(yù)測屏面包括一個或多個用于顯示預(yù)測單詞的單詞鍵;其中,所述用戶界面在所述打字屏面上顯示由點擊所述單詞鍵而輸入的所述單詞,并且將包含所述單詞的當(dāng)前輸入序列作為語境輸入傳遞給所述文本預(yù)測引擎。
30.根據(jù)權(quán)利要求22所述的系統(tǒng),其特征在于,所述單詞預(yù)測屏面包括一個或多個用于顯示預(yù)測單詞的單詞鍵;其中,作為對于點擊所述單詞鍵以及在所述單詞鍵上做出按壓或由左至右的手勢的響應(yīng),所述用戶界面在所述打字屏面上顯示所述單詞,并且將不包含所述單詞的當(dāng)前輸入序列作為語境輸入傳遞給所述文本預(yù)測引擎,并且將所述單詞的字符作為當(dāng)前單詞輸入傳遞給所述文本預(yù)測引擎。
31.根據(jù)權(quán)利要求22所述的系統(tǒng),其特征在于,所述用戶界面還包括一個或多個顯示標(biāo)點符號的標(biāo)點鍵,以及回車鍵;其中,作為對于序列結(jié)尾標(biāo)點或點擊回車鍵的響應(yīng),所述用戶界面將當(dāng)前序列傳遞給所述文本預(yù)測引擎;其中,所述文本預(yù)測引擎包括用于拆分當(dāng)前序列并將拆分后的序列傳遞給所述用戶專用語言模型的拆分機構(gòu);其中,所述用戶專用語言模型為拆分后的序列分配數(shù)字標(biāo)識符,并更新其η元語法模型圖。
32.一種用于處理用戶文本輸入并生成供用戶選擇的文本預(yù)測的方法,其特征在于,包括以下步驟接收輸入至用戶界面的文本;同時使用具有多個語言模型的文本預(yù)測引擎從所述多個語言模型中生成文本預(yù)測,然后將所述文本預(yù)測提供給所述用戶界面,以供用戶選擇;以及將所述文本預(yù)測提供給所述用戶界面,以供用戶選擇。
33.根據(jù)權(quán)利要求32所述的方法,其特征在于,所述語言模型包括η元語法模型圖和近似單詞查找樹或概率單詞查找樹;所述方法還包括根據(jù)在先文本輸入的η-1個詞條檢索所述η元語法模型圖,以確定下一個詞條的單詞預(yù)測或短語預(yù)測。
34.根據(jù)權(quán)利要求32所述的方法,其特征在于,所述語言模型包括η元語法模型圖和近似單詞查找樹或概率單詞查找樹;所述方法還包括根據(jù)至少一個已輸入的字符檢索所述近似單詞查找樹或所述概率單詞查找樹,以確定單詞預(yù)測。
35.根據(jù)權(quán)利要求34所述的方法,其特征在于,所述語言模型包括近似單詞查找樹和候選詞過濾器;所述方法還包括通過丟棄所有當(dāng)前輸入為非其子字符串的候選字符串,縮小由所述近似單詞查找樹確定的單詞預(yù)測的范圍。
36.根據(jù)權(quán)利要求33至35所述的方法,其特征在于,所述語言模型包括計算機構(gòu),用于計算由所述近似單詞查找樹、所述候選詞過濾器和所述概率單詞查找樹中的一種以及η元語法模型圖所確定的兩個單詞預(yù)測的交集;所述方法還包括計算這兩個所述單詞預(yù)測的交集。
37.根據(jù)權(quán)利要求36所述的方法,其特征在于,所述計算機構(gòu)檢索并僅保留存在于這兩個所述單詞預(yù)測集合中的相同標(biāo)識符。
38.根據(jù)權(quán)利要求36或37所述的方法,其特征在于,所述語言模型包括具有η+1元語法模型圖的布隆過濾器;所述方法還包括根據(jù)下列語境返回一個新的預(yù)測集合;用于檢索所述η元語法模型圖的在先文本輸入的η-1個詞條的語境;已確定的所述交集中預(yù)測詞條的語境;以及在用于檢索所述η元語法模型圖的η-1個詞條之前的額外詞條的語境。
39.根據(jù)權(quán)利要求38所述的方法,其特征在于,所述語言模型還包括主題過濾器;所述方法還包括預(yù)測當(dāng)前輸入文本的主題分類,預(yù)測所述預(yù)測集合中詞條的主題分類,以及根據(jù)所述主題分類的預(yù)測調(diào)整所述預(yù)測集合中的預(yù)測的概率。
40.根據(jù)權(quán)利要求31所述的方法,其特征在于,所述語言模型包括基于η元語法語言模型的用戶專用語言模型;所述方法還包括更新在η元語法模型圖中由用戶輸入的η元語法模型路徑出現(xiàn)的頻率。
41.根據(jù)權(quán)利要求40所述的方法,其特征在于,為了響應(yīng)未在所述語言模型中出現(xiàn)的文本輸入,所述方法還包括向所述η元語法模型內(nèi)插入新路徑的步驟。
42.根據(jù)權(quán)利要求32所述的方法,其特征在于,所述文本預(yù)測引擎包括合并機構(gòu),用于合并由所述語言模型生成的預(yù)測所述方法還包括合并所述預(yù)測。
43.根據(jù)權(quán)利要求42所述的方法,其特征在于,所述合并預(yù)測的步驟包括將所述預(yù)測插入到有序相聯(lián)結(jié)構(gòu)或標(biāo)準(zhǔn)模板庫多重映射結(jié)構(gòu)中,并返回最可能詞條提供給所述用戶界面。
44.一種計算機程序產(chǎn)品,包括計算機可讀介質(zhì),其特征在于,所述計算機可讀介質(zhì)存儲有使處理器執(zhí)行如權(quán)利要求32至43中任意一項所述的方法的計算機程序。
45.一種參照附圖在上文中描述的電子設(shè)備的文本輸入系統(tǒng)。
46.一種參照附圖在上文中描述的用于處理用戶文本輸入并生成供用戶選擇的文本預(yù)測的方法。
47.一種參照附圖8在上文中描述的觸摸屏式用戶界面。
全文摘要
本發(fā)明提供了一種電子設(shè)備的文本輸入系統(tǒng),包括用戶界面,用于接收由用戶輸入的文本;具有多個語言模型的文本預(yù)測引擎,用于接收來自于所述用戶界面的文本,并利用所述語言模型同時生成文本預(yù)測;其中,所述文本預(yù)測引擎還用于向所述用戶界面提供文本預(yù)測,以供顯示和用戶選擇。此外,本發(fā)明還提供了一種電子設(shè)備的文本輸入方法以及在所述系統(tǒng)和方法中使用的一種用戶界面。
文檔編號G06F3/023GK102439542SQ201080022530
公開日2012年5月2日 申請日期2010年3月30日 優(yōu)先權(quán)日2009年3月30日
發(fā)明者喬納森·保羅·雷諾茲, 本杰明·威廉·麥德洛克 申請人:觸摸式有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
伊通| 大渡口区| 会理县| 辽中县| 仪陇县| 扬中市| 沁水县| 建宁县| 安泽县| 车险| 寻乌县| 楚雄市| 五常市| 磐安县| 米脂县| 托克逊县| 朔州市| 库尔勒市| 宜昌市| 荆门市| 广河县| 绥阳县| 洪湖市| 普定县| 天水市| 区。| 合作市| 云和县| 金门县| 淄博市| 泸水县| 若尔盖县| 扶风县| 文山县| 福海县| 信阳市| 隆化县| 禄丰县| 克拉玛依市| 大余县| 焦作市|