文本輸入系統(tǒng)及方法
【技術領域】
[0001] 本發(fā)明涉及計算機實現(xiàn)的方法、計算裝置、計算指令集以及計算機可讀介質。
【背景技術】
[0002] 從US 7, 098, 096知道提供了一種使用觸敏屏幕上的虛擬鍵盤來輸入字母文本的 方法和系統(tǒng)。該方法和系統(tǒng)檢測與觸敏屏幕的連續(xù)的接觸。用戶由此能夠追蹤連續(xù)輸入圖 案,并且識別一個或更多個候選詞以便選擇。然而,必須從詞的第一個字母到最后一個字母 來追蹤輸入圖案,以生成適當?shù)暮蜻x詞。
[0003] 針對該背景,已經(jīng)開發(fā)了本發(fā)明。至少在特定實施方式中,本發(fā)明能夠克服或改進 現(xiàn)有技術的系統(tǒng)的問題或缺點中的至少一些。
【發(fā)明內容】
[0004] 本發(fā)明的方面涉及計算機實現(xiàn)的方法、計算裝置、計算指令集以及計算機可讀介 質。
[0005] 根據(jù)本發(fā)明的另外的方面,提供了一種用于將文本輸入到電子裝置中的計算機實 現(xiàn)的方法,所述方法包括以下步驟:
[0006] 在顯示屏上顯示包括多個鍵的虛擬鍵盤,一個或更多個字符與所述鍵中的每一個 關聯(lián);以及
[0007] 檢測由用戶生成的輸入圖案,并且識別位于所述輸入圖案上或者鄰近于所述輸入 圖案的所述鍵中的一個或更多個;
[0008] 其中,所述虛擬鍵盤中的所述鍵被分配給預定組,所述預定組各自包括多個所述 鍵;
[0009] 所述方法包括以下步驟:根據(jù)排列有一個或更多個所識別的鍵中的每一個的所述 預定組來對所述輸入圖案進行編碼;以及基于經(jīng)編碼的輸入圖案來識別要被輸入到所述電 子裝置中的一個或更多個候選詞。
[0010] 所述方法包括以下步驟:對所述輸入圖案進行編碼,以利于識別候選詞以供用戶 選擇。
[0011] -個或更多個字符能夠與所述鍵中的每一個關聯(lián)。所述方法能夠包括以下步驟: 生成由與位于所述輸入圖案上或者鄰近于所述輸入圖案的每個鍵關聯(lián)的字符組成的字符 串。所述字符串中的字符被順序地排列,以與所述輸入圖案追蹤所述一個或更多個鍵的序 列匹配。
[0012] 能夠從數(shù)據(jù)庫中選擇所述一個或更多個候選詞。所述數(shù)據(jù)庫可以例如包括一個或 更多個詞典。所述數(shù)據(jù)庫能夠被存儲在諸如易失性存儲器或非易失性存儲器這樣的存儲裝 置上。能夠從數(shù)據(jù)庫中存儲的詞的一個或更多個集合來識別所述候選詞。所述數(shù)據(jù)庫內的 每個集合中存儲的詞能夠包括由預定的串組合或者由預定的串組合組成。因此,能夠基于 預定的串組合來將所述詞分類成組。所述方法能夠包括以下步驟:基于與所述輸入圖案的 至少一部分對應的串組合來識別所述集合中的一個或更多個。例如基于頻率和/或上下文 數(shù)據(jù)來對所述一個或更多個集合中的詞進行預排名(pre-rank)。
[0013] 所述輸入圖案的所述部分能夠是所述輸入圖案的初始部分。因此,所述串組合能 夠對應于所述候選詞開始處的字符串。所述串組合能夠包括雙字母組(bigram)或三字母 組(trigram),或者由雙字母組或三字母組組成。能夠參照所述輸入圖案的起始點以及一個 或更多個后續(xù)的角點(corner point)來識別所述雙字母組或三字母組。能夠基于離線的 和得知的用戶輸入數(shù)據(jù)來離線地或者在運行時存儲所述雙字母組或三字母組。
[0014] 所述方法能夠包括以下步驟:確定所述輸入圖案的長度。能夠從所述輸入圖案測 量所述輸入圖案的長度,或者能夠例如基于從所述輸入圖案導出的字符串來計算所述輸入 圖案的長度。能夠基于所測量的輸入圖案長度來計算閥值輸入圖案長度。能夠通過去除具 有小于輸入圖案長度下閥值的輸入圖案長度和/或大于輸入圖案長度上閥值的輸入圖案 長度的詞來選擇詞的候選列表。能夠通過長度上閥值和/或長度下閥值來限定輸入圖案長 度。
[0015] 鍵的預定組能夠各自對應于所述虛擬鍵盤中的一區(qū)域或群集(cluster)。例如,所 述預定組能夠對應于所述虛擬鍵盤中的所述鍵的一行。
[0016] 唯一標識符能夠與所述預定組中的每一個關聯(lián)。所述唯一標識符能夠例如包括整 數(shù)或字符。能夠基于與排列有一個或更多個經(jīng)識別的鍵中的每一個的所述預定組關聯(lián)的唯 一標識符來對所述輸入圖案進行編碼。
[0017] 所述數(shù)據(jù)庫包括多個詞,并且能夠針對每個詞來存儲輸入序列碼。能夠從針對排 列有所述詞的每個字母的所述預定組而限定的所述唯一標識符來導出所述輸入序列碼。能 夠針對每個詞來計算所述輸入序列碼,而不是存儲所述輸入序列碼。例如,能夠至少基本上 實時地計算所述輸入序列碼。
[0018] 所述方法還能夠包括以下步驟:測量所述輸入圖案的長度,并且基于所測量的長 度來確定長度上閥值和/或長度下閥值。所述方法能夠隨后包括以下步驟:基于所述長度 上閥值和/或所述長度下閥值來選擇所述一個或更多個候選詞。所述方法能夠例如包括以 下步驟:排除具有大于所述長度上閥值和/或小于所述長度下閥值的輸入長度的任何詞。 另選地,所述方法能夠包括以下步驟:選擇具有在所述長度上閥值與所述長度下閥值之間 的輸入長度的任何詞。
[0019] 根據(jù)本發(fā)明的又一方面,提供了一種用于將文本輸入到電子裝置中的計算機實現(xiàn) 的方法,所述方法包括以下步驟:
[0020] 在顯示屏上顯示包括多個鍵的虛擬鍵盤,所述鍵排列在預定組中,并且一個或更 多個字符與每個鍵關聯(lián);
[0021] 檢測由用戶生成的輸入圖案,并且識別位于連續(xù)輸入圖案上或者鄰近于所述連續(xù) 輸入圖案的所述鍵中的一個或更多個;
[0022] 確定所述輸入圖案的長度,并且基于所測量的長度來計算長度上閥值和/或長度 下閥值;以及
[0023] 基于所述長度上閥值和/或所述長度下閥值來識別要被輸入到所述電子裝置中 的一個或更多個候選詞。對于候選串,所述方法能夠包括以下步驟:識別所述串的落入路徑 長度上閥值和/或路徑長度下閥值范圍內的部分,然后識別所述串的提供適當(或最佳) 匹配的部分。所述方法能夠例如包括以下步驟:排除具有大于所述長度上閥值和/或小于 所述長度下閥值的輸入長度的任何詞。
[0024] 所述輸入圖案包括:起始點,該起始點例如對應于由用戶在觸摸屏上進行的初始 接觸;以及結束點,該結束點例如對應于由用戶在觸摸屏上進行的最終接觸。本文中描述 的方法能夠包括以下步驟:形成各自由與位于所述輸入圖案上或者鄰近于所述輸入圖案的 每個鍵關聯(lián)的字符組成的一個或更多個字符串。能夠針對每個輸入圖案形成多個字符串, 所述字符串對應于串的不同的組合。所述方法能夠包括以下步驟:識別字符串的全部可能 的組合,所述字符串包括:所述起始點以及在所述起始點中或在所述起始點周圍的任何事; 和/或所述結束點以及在所述結束點中或在所述結束點周圍的任何事。能夠對所述字符 串進行過濾,以識別用于輸入到所述電子裝置中的一個或更多個候選詞。過濾所述字符串 的步驟能夠包括:從所述字符串中去除與所述字符串中的其它字符不形成有效的組合的字 符。
[0025] 根據(jù)本發(fā)明的又一方面,提供了一種用于將文本輸入到電子裝置中的計算機實現(xiàn) 的方法,所述方法包括以下步驟:
[0026] 在顯示屏上顯示包括多個鍵的虛擬鍵盤,一個或更多個字符與所述鍵中的每一個 關聯(lián);
[0027] 檢測由用戶生成的輸入圖案,并且形成由與位于所述輸入圖案上或者鄰近于所述 輸入圖案的每個鍵關聯(lián)的字符組成的一個或更多個字符串;以及
[0028]過濾所述一個或更多個字符串,以識別用于輸入到所述電子裝置中的一個或更多 個候選詞;
[0029] 其中,過濾所述字符串的步驟包括:識別每個字符串內的有效的串組合和/或無 效的串組合。過濾所述字符串的步驟能夠包括:從所述字符串中消除不能形成有效的組合 的字符。所述過濾能夠例如包括消除任何無效的字符組合。然后能夠利用詞典來對經(jīng)過濾 的字符串(通常包括串的組合)進行比較,以識別候選詞。根據(jù)規(guī)則設置,能夠預限定或者 能夠確定有效的組合和/或無效的組合。因此,能夠潛在地離線生成有效的組合和/或無 效的組合。
[0030] 能夠在候選詞內的任何地方識別有效的串組合和/或無效的串組合。另選地,過 濾字符串的步驟能夠包括:在候選詞的開始處識別有效的串組合和/或無效的串組合。
[0031] 所述字符串能夠包括檢查所述字符串中的特定字符與所述字符串中的每個后續(xù) 的字符的結合是否形成有效的組合。過濾所述字符串能夠從所述字符串中的第一個字符 (BP,對應于所述輸入圖案的起始點)開始。能夠針對所述字符串中剩余的每個后續(xù)的字符 來重復所述過濾。
[0032] 字符的組合能夠包括雙字母組或三字母組,或者由雙字母組或三字母組組成。
[0033] 能夠將所述字符串與存儲的候選串進行比較。所述比較能夠包括確定所述字符串 和所存儲的候選串之間的串距離。所述串距離能夠基于所述輸入圖案中識別的角點。例如, 能夠對候選串的角點進行限定或模型化(如果連接布局上的串的字符而繪制線,則角點是 將存在角度和/或方向上的變化的這些點)。能夠將候選串的起始字符和/或結束字符解 釋成經(jīng)模型化的輸入圖案的角點。然后能夠執(zhí)行比較,以將所述候選串的一個或更多個角 點與所述輸入圖案的一個或更多個角點匹配。能夠使用例如動態(tài)時間規(guī)整(DTW)來執(zhí)行所 述比較。DTW算法中的序列能夠例如是所述候選串的角點的第一集合以及所述輸入圖案的 角點的第二集合。
[0034]所述方法能夠包括以下步驟:識別所述輸入圖案中的一個或更多個角點。所述角 點能夠包括:所述輸入圖案的方向(即,所述輸入圖案中的頂點)上的點變化;和/或所述 輸入圖案的曲率(通常為局部最大曲率)的局部變化。能夠在所述一個或更多個角點處測 量夾角和/或曲率。能夠基于在每個角點處所測量的夾角和/或曲率來應用加權。例如, 能夠為更小的角點角度來分配更高的加權。能夠將所述輸入圖案的起始點和/或結束點解 釋為所述輸入圖案的角點。
[0035] 所述方法能夠包括以下步驟:應用圖案匹配算法,以確定所述輸入圖案和針對候 選詞的經(jīng)模型化的輸入圖案之間的相關性。能夠針對數(shù)據(jù)庫中存儲的一個或更多個候選詞 來對所述輸入圖案進行模型化。能夠例如基于用戶輸入的歷史來動態(tài)地創(chuàng)建和/或修改經(jīng) 模型化的輸入圖案。模型能夠例如識別將在針對給定的候選詞而追蹤的輸入圖案中存在的 一個或更多個角點的位置和/或夾角。所述圖案匹配算法能夠確定由用戶追蹤的所述輸入 圖案和與候選詞關聯(lián)的經(jīng)模型化的(虛擬的)輸入圖案之間的相關性。所述圖案匹配算法 能夠確定由用戶追蹤的所述輸入圖案的一部分和針對所述候選詞的經(jīng)模型化的輸入圖案 之間的相關性。所述圖案匹配算法能夠確定由用戶追蹤的所述輸入圖案和與所述候選詞的 前綴關聯(lián)的經(jīng)模型化的輸入圖案之間的相關性。
[0036] 根據(jù)本發(fā)明的又一方面,提供了一種用于將文本輸入到電子裝置中的計算機實現(xiàn) 的方法,所述方法包括以下步驟:
[0037] 在顯示屏上顯示包括多個鍵的虛擬鍵盤,所述鍵排列在預定組中,并且一個或更 多個字符與每個鍵關聯(lián);
[0038]檢測由用戶生成的輸入圖案,并且識別位于連續(xù)輸入圖案上或者鄰近于所述連續(xù) 輸入圖案的所述鍵中的一個或更多個;
[0039] 應用圖案匹配算法,以確定所述輸入圖案和針對候選詞的經(jīng)模型化的輸入圖案之 間的相關性;以及
[0040] 基于所述相關性來識別要被輸入到所述電子裝置中的所述候選詞的一個或更多 個。經(jīng)模型化的輸入圖案是針對數(shù)據(jù)庫中存儲的一個或更多個候選詞而生成的輸入圖案的 虛擬模型。能夠參照鍵盤中的相應鍵的已知位置從所述候選詞中的字符的序列來創(chuàng)建所述 經(jīng)模型化的輸入圖案。所述圖案匹配算法能夠確定由用戶追蹤的所述輸入圖案和與候選詞 關聯(lián)的經(jīng)模型化的輸入圖案之間的相關性。能夠例如基于用戶輸入的歷史來動態(tài)地創(chuàng)建和 /或修改經(jīng)模型化的輸入圖案。能夠基于與所述輸入圖案追蹤的所述虛擬鍵盤相同的鍵盤 信息(例如,尺寸和布局)來生成所述經(jīng)模型化的輸入圖案。
[0041] 所述經(jīng)模型化的輸入圖案能夠例如識別將在針對給定的候選詞追蹤的輸入圖案 中存在的一個或更多個角點的位置和/或夾角。所述方法能夠包括以下步驟:識別所述輸 入圖案中的角點的第一集合;以及識別所述經(jīng)模型化的輸入圖案中的角點的第二集合。所 述圖形匹配算法能夠確定角點的所述第一集合和所述第二集合之間的相關性。能夠基于夾 角(測量的或者模型化的)來對所述第一集合和/或所述第二集合中的每個角點應用加 權。
[0042] 所述圖案匹配算法能夠確定完整的輸入圖案(例如,參照起始點和結束點確定 的)和針對所述候選詞的完整的經(jīng)模型化的輸入圖案之間的相關性。所述圖案匹配算法能 夠確定由用戶追蹤的所述輸入圖案的一部分和針對所述候選詞的經(jīng)模型化的輸入圖案的 一部分之間的相關性。例如,所述圖案匹配算法能夠確定形成所述候選詞的一部分的字符 的序列(例如,雙字母組、三字母組或n字母組)之間的相關性。所述圖案匹配算法能夠確 定由用戶追蹤的所述輸入圖案和與所述候選詞的前綴關聯(lián)的經(jīng)模型化的輸入圖案之間的 相關性。
[0043] 所述圖案匹配算法能夠是動態(tài)時間規(guī)整算法。
[0044] 能夠將所述候選詞存儲在詞典中。所述方法能夠包括以下步驟:選擇所述候選詞, 然后使所選擇的候選詞的所述輸入圖案模型化。能夠使用例如本文中描述的其它技術來選 擇所述候選詞。
[0045] 根據(jù)本發(fā)明的又一方面,提供了一種用于將文本輸入到電子裝置中的計算機實現(xiàn) 的方法,所述方法包括以下步驟:
[0046] 在顯示屏上顯示包括多個鍵的虛擬鍵盤,一個或更多個字符與所述鍵中的每一個 關聯(lián);
[0047] 檢測由用戶生成的輸入圖案;以及
[0048] 識別所述輸入圖案中的一個或更多個角點;
[0049] 其中,在所述角點處測量夾角和/或曲率,并且基于所測量的夾角和/或曲率來應 用加權。
[0050] 根據(jù)本發(fā)明的又一方面,提供了一種用于將文本輸入到電子裝置中的計算機實現(xiàn) 的方法,所述方法包括以下步驟:
[0051] 使要在虛擬鍵盤上被追蹤的輸入圖案模型化,以輸入候選詞;
[0052] 經(jīng)模型化的輸入圖案包括與所述虛擬鍵盤相關的一個或更多個角點的位置。所述 經(jīng)模型化的輸入圖案還能夠確定所述一個或更多個角點中的每一個處的夾角。所述方法還 能夠包括以下步驟:基于經(jīng)模型化的夾角來對每個角點應用加權。能夠利用所述方法來針 對詞典中的一個或更多個候選詞使虛擬輸入圖案模型化。能夠例如使用圖案匹配算法來將 經(jīng)模型化的輸入圖案與追蹤的輸入圖案進行比較,以測量相關性。