減少基于觸摸的鍵盤的錯誤率的制作方法
【專利說明】減少基于觸摸的鍵盤的錯誤率
[0001] 對相關申請的交叉引用
[0002] 本申請要求2013年4月29日提交的美國專利申請No.13/873, 078的優(yōu)先權,其是 2013年3月14日提交的美國專利申請No.13/830, 674的繼續(xù)申請,其要求2013年1月14 日提交的美國臨時申請No.61/752, 431的優(yōu)先權,其每一個都通過引用被完整結合于此。
【背景技術】
[0003] 現代的鍵盤作為從人到機器的輸入文本的主要方法的起源可追溯到19世紀的早 期的打字機。隨著計算機被開發(fā),運是一個自然的演進,W適應打字機鍵盤用作輸入文本的 主要方法。對于熟練的打字員,它仍可能是輸入文本到計算機或其它數據處理裝置的最快 的方式。
[0004] 隨著正在進行的使計算機更小、更輕便的努力,物理鍵盤已成為設備可W是多么 小的最顯著的限制因素之一:人的手指的物理尺寸不是計算機設計者可W改變。其結果是, 某些便攜式應用的計算機已設計為無需物理鍵盤,并且使用觸摸屏或其他輸入法作為人機 界面的主要形式。運也是某些應用的情況,其中人的身體狀況使他們無法使用鍵盤,如身體 有殘疾者的人。
[0005] 物理和虛擬鍵盤輸入方法存在各種要求,如用于移動設備或其他計算設備的方 法,其經?;ハ鄾_突。輸入的方法應該是盡可能快的且打字錯誤校正應該是有效的和容易 執(zhí)行的,而輸入接口應具有盡可能小地占用顯示屏。不幸的是,因可用的空間被減小,提高 速度且不會不利地影響準確性可能變得困難。
[000引因此,需要一種克服了上述問題且提供額外好處的系統(tǒng)??傮w而言,本文的實施例 的一些現有或相關的系統(tǒng)及其相關局限性旨在是說明性的而不是排他性的。在閱讀下面的 詳細說明后,現有的或之前的系統(tǒng)的其它局限性對本領域技術人員而言將變得明顯。
【附圖說明】
[0007] 圖1示出了本發(fā)明的一些方面可W在其中被利用的計算環(huán)境的一個例子。
[0008] 圖2示出了用于本地輸入和語言處理系統(tǒng)的一組部件。
[0009] 圖3示出了主處理系統(tǒng)的一組部件。
[0010] 圖4是示出了移動設備或其他合適的計算設備的部件的框圖。
[0011] 圖5是示出了由預期的接觸部件系統(tǒng)所使用的部件的框圖。
[0012] 圖6A是流程圖,其示出了用于基于候選鍵與W完全覆蓋被接觸的鍵而完全沒有 覆蓋任何相鄰的鍵的被接觸的鍵的中屯、為圓屯、的圓的重疊,在接觸事件期間確定預期的接 觸概率的例程。
[0013] 圖6B是示出了遵循圖6A的例程的示例性實施例的被識別的候選鍵的示意圖。
[0014] 圖7A示出了在第一鍵盤的一部分上的基于連續(xù)概率密度的鍵輸入方案的一個例 子。
[0015] 圖7B示出了基于圖7A的離散概率密度。
[0016] 圖8是示出了用于更新根據本文描述的偏差輸入模型的鍵盤全景的例程的流程 圖。
[0017] 圖9是示出了用于確定預測的下一個鍵和放大鍵盤上的預測的下一個鍵的例程 的流程圖。
[0018] 圖10示出了根據本發(fā)明的實施例的觸摸鍵盤。
[0019] 圖11-15示出了具有能產生一組預期的相鄰鍵的觸摸區(qū)域的觸摸鍵盤。
[0020] 圖16示出了具有相對重的偏差的例詞的輸入。
[0021] 圖17代表在運行了沒有應用語言模型反饋的英語測試后產生的結果的中性圖。 具體實施例
[0022] 本技術提供了系統(tǒng)和方法,用于輸入偏差模型和語言模型,其動態(tài)地改變虛擬鍵 盤輸入區(qū)域或全景。所公開的輸入偏差模型動態(tài)地改變虛擬鍵盤全景,使得鍵盤不一定會 為相同的敲擊坐標產生相同的結果。相反,鍵盤全景適于說明鍵的偏移偏差,其發(fā)生在當用 戶有傾向選擇將W其他方式返回不被預期的鍵的敲擊坐標的時候(例如,鍵入更靠近V鍵, 但B鍵是被預期的)。所公開的語言反饋模型提供了用于下一個敲擊坐標的條件概率,并增 大了對應于最可能的下一個敲擊坐標的鍵的有效尺寸,由此允許用戶更容易地選擇正確的 鍵。通過結合輸入偏差模式與語言模式,產生了被大大改進的用戶的輸入鍵盤的結果。
[0023] 在下面將詳細描述一種系統(tǒng),其采用收集輸入到鍵盤的數據的第一動作或步驟, 處理輸入,然后提供輸出給用戶。該系統(tǒng)能W動態(tài)方式重新分配在鍵(加上一些)之間的 虛擬區(qū)域,其中鍵的"精確的"或受保護的虛擬中屯、區(qū)域可W在概率中被改變。例如,首先, 在一個鍵的最中屯、具有該鍵的最大概率,但在使用(如本文所解釋的偏移)后該點可W從 中屯、移開,但仍保留具有現在更大的區(qū)域的中屯、受保護的區(qū)域。該系統(tǒng)提供反饋給用戶,W 反映該系統(tǒng)從用戶的輸入解釋出的當前字符。
[0024] 在不限制本詳細說明的范圍的情況下,根據本發(fā)明的實施例的系統(tǒng)、設備、方法和 相關的結果的例子將在下面給出。除非另有定義,本文使用的所有技術和科學術語具有如 在本公開內容設及的領域內的普通技術人員通常理解相同的含義。在沖突的情況下,W本 文件,包括定義,為準。在此詳細描述中所使用的術語通常具有其在本領域中的,本公開的 范圍內的,W及在其中每個術語被使用的特定情況下的普通含義。為了方便起見,某些術語 可W被突出顯示,例如使用斜體字和/或引號。突出顯示對術語的范圍和含義沒有影響;在 同樣的背景下術語的范圍和含義是一樣的,無論其是否被突出顯示??蒞理解的是,同樣的 內容可-種W上的方式來表示。
[0025]因此,替代語和同義詞可用于任何一個或多個在此討論的術語,術語是否在此被 被闡述或論述也不具有任何特殊的意義。某些術語的同義詞被提供。一個或一個W上的同 義詞的列舉不排除使用其他同義詞。在本說明書中任何地方的例子的使用,包括本文所討 論的任何術語的例子,僅是說明性的且不旨在進一步限制本公開或任何示例性術語的范圍 和含義。同樣地,本發(fā)明并不限定于在本說明書中給出的各種實施例。
[0026] 系統(tǒng)概述
[0027] 從圖1開始,在此的討論提供合適的計算環(huán)境的簡短的、一般的描述,在該計算環(huán) 境中,本發(fā)明的各方面可W被執(zhí)行。雖然不是必需的,但該系統(tǒng)的各方面在計算機可執(zhí)行指 令中的通常的上下文中被描述,如由通用的計算機,例如,移動設備、服務器計算機、或個人 計算機執(zhí)行的例程。相關領域技術人員將會理解,該系統(tǒng)可W用其他通信、數據處理,或計 算機系統(tǒng)配置實施,包括:互聯(lián)網設備、手持設備(包括個人數字助理(PDA))、各種形式的 蜂窩或移動電話、多處理器系統(tǒng)、基于微處理器的或可編程的消費電子產品、機頂盒、網絡 PC、小型計算機、大型計算機,等等。事實上,術語"計算機"、"主機"、"主計算機"和"移動設 備及"手提電話"在本文中通常是可互換使用的,并可指上述的任何設備和系統(tǒng),W及任 何數據處理器。
[0028] 系統(tǒng)的各方面可W體現在專用目的計算設備或數據處理器中,該數據處理器被進 行特殊編程、配置或構造W執(zhí)行在此詳細解釋的計算機可執(zhí)行指令中的一個或多個。系統(tǒng) 的各方面可在分布式計算環(huán)境中實行,其中任務或模塊由遠程處理設備執(zhí)行,并通過通信 網絡連接,如局域網(LAN)、廣域網(WAN),或互聯(lián)網。在分布式計算環(huán)境中,程序模塊可W 位于本地和遠程內存存儲設備中。
[0029]系統(tǒng)的各方面可W被存儲在計算機可讀介質上或分布在計算機可讀介質上,計算 機可讀介質包括可讀計算機光盤或磁盤、硬連線或預編程的忍片(例如,EEPR0M或閃存半 導體忍片)、納米技術存儲器、生物存儲器,或其它數據存儲介質。實際上,計算機執(zhí)行指 令,數據結構,屏幕顯示,和系統(tǒng)各方面的其它數據可在一段時間內通過互聯(lián)網或其他網絡 (包括無線網絡),在傳播介質的傳播信號上(例如,電磁波,聲波等等)分布,或者它們也 可W在任何模擬或數字網絡(分組交換,電路交換,或其他方案)上提供。相關領域技術人 員將認識到部分的系統(tǒng)位于服務器計算機上,而相應的部分位于客戶端計算機上,如移動 或便攜式設備。因此,雖然某些硬件平臺被描述于此,但系統(tǒng)的各方面同樣適用于網絡上的 節(jié)點。在另一個實施例中,移動設備或便攜式設備可代表服務器部分,而服務器可代表客戶 端部分。
[0030] 本發(fā)明的各個方面現在將被描述,開始于本發(fā)明可在其中被實踐的合適的或有代 表性的環(huán)境,包括本地和/或遠程/中央模型,其中所述一個或多個模型提供輸入偏差和語 言反饋模型。其后,輸入偏差和語言反饋模型的細節(jié)被提供。
[00引]代表系統(tǒng)環(huán)培
[0032]圖1示出的計算環(huán)境100的例子,其中本發(fā)明的實施例可W在其中實施。如圖1所 示,輸入偏差和語言反饋模型r輸入和語言系統(tǒng)")可W在一個或多個移動設備llOa-n(諸 如,移動電話、平板電腦、移動媒體設備、移動游戲設備、電子閱讀器、媒體瀏覽器、基于車輛 的計算機,等等),一個或多個計算設備(如,計算機120),W及能夠接收用戶輸入的其他設 備(例如,如導航系統(tǒng)130)上操作。運些設備的每個可包括各種輸入機制(例如,麥克風, 鍵盤,和/或觸摸屏),W接收用戶的交互(例如,語音,文本,和/或手寫輸入)。
[0033] 本說明書中提及的"一個實施例"或"實施例"意味著在實施例中所描述的特定的 特征、結構,或特性被包括在本發(fā)明的至少一個實施例中。在說明書中各個地方的"在一個 實施例中"的短語的出現不一定都指的是同一實施例,分開的或替代的實施例也不是與其 他實施例互相排斥。此外,各種特征被描述,其可W由一些實施例而不是其他實施例所展 示。同樣,各種要求被描述,其可W是對于某些實施例而不是其它實施例的要求。
[0034] 如圖1所示,設備可W通過一個或多個有線或無線、公共或私人的網絡150與主語 言和輸入處理設備140通信。根據一個實施例,本地設備的靜態(tài)模型160、輸入偏差模型170 和語言模型180可W經由本地設備上的虛擬鍵盤與主語言模型通信,其本身可W包括多個 模型,例如靜態(tài)模型160、輸入偏差模型170、和動態(tài)語言模型180,W及其他模型,如任何改 進數據輸入的模型,所有運些都在下面更詳細地描述。靜態(tài)模型160是基于一般使用的語 言為語言生成的字列表,包括概率或其它類型的上下文中的字的用法的模型(例如,上下 文中的字,而不是單個字)。與此相反,輸入偏差模型170接收并基于檢測用戶傾向來選擇 敲擊坐標,而不是鍵的中屯、,來反映模型。語言模型180接收并基于來自與終端用戶相關聯(lián) 的每個設備的改變事件(例如,增加一個字,刪除一個字,字的校正,n元語法(n-gram),和 字計數)來反映模型。改變事件通常按它們發(fā)生的順序處理,W更新語言模型(例如,實時 或接近實時)。然而,在一些實施方案中,改變事件可W不按順序來處理W更新語言模型。 例如,更重要的改變事件可能在不太重要的改變事件之前優(yōu)先進行處理。
[0035] 圖2示出了用于本地輸入和語言處理系統(tǒng)200的一組部件。根據圖2中所示的實 施例,本地處理系統(tǒng)200可W包括存儲器205、一個或多個處理器210、電源215、輸入設備 220、事件檢測模塊225、事件匯總模塊230、本地模型235、優(yōu)先化模塊240、同步模塊245、通 信模塊250、排隊模塊255,和圖形用戶界面(GUI)生成模塊260。該系統(tǒng)的其它實施例可包 括運些模塊的一些、全部、或沒有任何的模塊W及連同其它模塊、應用的部件,和/或部件。 還是,運一些實施例可結合兩個或多個運樣的模塊和部件成一個單一的模塊和/或將一個 或多個的運些模塊的功能性的一部分與不同的模塊相關聯(lián)。例如,在一個實施例中,優(yōu)先化 模塊240和排隊模塊255可W被組合成用于優(yōu)先事件的數據傳輸的單個模塊。
[0036]存儲器205可W是任何設備、機構,或用于存儲信息的填充的數據結構。根據本系 統(tǒng)的一些實施例,存儲器205可包括任何類型的,但不限于,易失性存儲器,非易失性存儲 器,和動態(tài)存儲器。例如,存儲器205可W是隨機存取存儲器、存儲器存儲設備、光存儲設 備、媒體磁介質、軟盤、磁帶、硬盤驅動器、SDRAM、畑RAM、孤RRAM、可擦除可編程只讀存儲器 (EPROM)、電可擦除可編程只讀存儲器巧EPROM)、閃存、光盤、DVD光盤,和/或類似物。根 據一些實施方案,存儲器205可W包括一個或多個盤驅動器、閃存驅動器、一個或多個數據 庫,一個或多個表,一個或多個文件、本地高速緩沖存儲器、處理器高速緩沖存儲器、關系數 據庫、平面數據庫,和/或類似物。此外,本領域普通技術人員將了解,用于存儲信息的許多 額外的設備和技術可被用作存儲器