亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

通用語言輸入的制作方法

文檔序號:6593323閱讀:163來源:國知局
專利名稱:通用語言輸入的制作方法
技術領域
本說明書涉及語言輸入方法。
背景技術
語言輸入方法允許用戶使用輸入方法編輯器(IME)提供語言輸入。IME是允許使 用輸入方法的語言輸入方法應用。輸入方法允許用戶使用源語言的鍵盤(例如,QWERTY鍵 盤)提供目標語言(例如,非拉丁語言)的輸入。所述IME將目標語言的表意文字映射到 源語言鍵盤上的鍵(例如,以輸入語言按壓特定鍵或鍵組合根據映射產生目標語言的相應 表意文字)。然而,傳統(tǒng)的IME簡單地替代所映射的字符;它們不對輸入進行翻譯(例如, 解釋源語言輸入文本的含義并且提供具有基本相同意思的目標語言的翻譯文本)。

如果用戶想要以源語言提供輸入并且將輸入翻譯為目標語言,用戶通常使用分立 的字典或翻譯應用。用戶向所述字典或翻譯應用提供源語言輸入。用戶接著復制來自所述 字典或翻譯應用的翻譯輸入(例如,翻譯為目標語言的輸入)并且將翻譯輸入粘貼在期望 位置。此外,如果用戶想要翻譯文本的分立部分(例如,輸入聊天對話的不同行),則用戶通 常將文本的每個部分提供到所述字典或翻譯應用。接著,用戶復制來自字典或翻譯應用的 翻譯文本的每個部分并且將其粘貼在期望位置(例如,在聊天界面中)。

發(fā)明內容
提供了用于通用語言輸入的系統(tǒng)、方法以及裝置,包括計算機程序產品,具體地是 用于翻譯輸入。通常,在一個方面,提供了一種方法。所述方法包括使用第一應用或操作系 統(tǒng)組件檢測對第二應用的應用界面的用戶輸入。所述方法還包括當在應用界面中檢測到輸 入時,自動使用第一應用提供所述輸入的一個或多個翻譯,包括將輸入發(fā)送到翻譯模型,從 所述翻譯模型接收所翻譯的輸入,并且將所翻譯的輸入發(fā)送到第二應用的應用界面。該方 面的其它實施例包括系統(tǒng)、裝置和計算機程序產品。所述方面的實施方式可以包括以下特征中的一個或多個。檢測用戶輸入可以包括 向界面應用鉤子(hook),并且監(jiān)視對所述界面的調用,其中所述界面可操作地與操作系統(tǒng) 以及一個或多個應用通信。所述調用可以包括系統(tǒng)調用或應用程序界面調用。所述第一應 用或操作系統(tǒng)組件可以包括輸入方法編輯器。提供輸入的一個或多個翻譯可以包括在用戶 界面中呈現(xiàn)所述一個或多個翻譯,并且將所選擇的翻譯復制到文本瀏覽器或編輯器中。所 選擇的翻譯可以通過用戶對一個或多個翻譯的選擇來識別。所述翻譯模型可以位于遠程翻 譯服務器。第一應用可以使用更新服務器進行更新。所述翻譯模型能夠使用可選擇的語言 模型。能夠實施本說明書中所描述主題的特定實施例以實現(xiàn)以下優(yōu)勢中的一個或多個。 通用語言輸入方法編輯器允許用戶在不執(zhí)行翻譯的應用(即需要使用分立應用來執(zhí)行翻 譯的應用)中自動翻譯輸入文本,由此節(jié)省了用戶的時間和鍵擊。通用語言輸入方法編輯 器能夠使用遠程翻譯服務器和更新服務器,這允許更大的翻譯覆蓋(例如,訪問在本地翻譯模型中不可獲取的額外語言、詞和短語)。此外,由于翻譯模型的組件能夠遠程存儲,因此 使用翻譯服務器減少了輸入方法編輯器的存儲器大小。本說明書中所描述主題的一個或多個實施例的細節(jié)在附圖和以下描述中闡述。根 據描述、附圖和權利要求,所述主題的其它特征、方面和優(yōu)勢將是顯而易見的。


圖1是包括所接收的翻譯輸入的應用界面的示例性截屏。圖2示出了用于在檢測到輸入時將輸入翻譯到應用界面中的示例性計算機系統(tǒng) 的概念框圖。圖3示出了用于在檢測到輸入時將輸入翻譯到應用界面中的示例性過程。圖4是一般計算機系統(tǒng)的示意圖。
具體實施例方式圖1是包括所接收的翻譯輸入155 (例如,對應用界面100的用戶輸入的一個或 多個翻譯)的應用界面100的示例性截屏。例如,應用界面100可以是文本瀏覽器或編輯 器(例如,聊天應用、文字處理器、電子郵件應用或Web瀏覽器)。在一些實施方式中,應用 界面100包括顯示區(qū)域110、用戶輸入區(qū)域120和翻譯窗口 130。翻譯窗口 130包括搜索域 140 ( “搜索”意味著“search”)和翻譯輸入區(qū)域150。例如,應用界面100表示聊天客戶端應用(例如,Google Talk)的聊天窗口。顯 示區(qū)域110顯示聊天參與者的聊天內容(例如,表示聊天參與者之間例如根據輸入時間的 對話行的文本)。用戶輸入區(qū)域120允許用戶對要作為聊天內容的文本進行瀏覽、輸入和編 輯。用戶輸入區(qū)域120包括待翻譯的示例輸入125(例如,“hello”)。在一些實施方式中, 待翻譯的輸入可加下劃線(例如,示例輸入125 “hello”),向用戶指示該輸入可以被來自 翻譯輸入155的翻譯所替代。在一些實施方式中,用戶在用戶輸入區(qū)域120中提供待翻譯的輸入125。如圖2_4 所述,通用語言輸入方法編輯器能夠檢測所述輸入并且自動提供輸入的一個或多個翻譯。 例如,通用語言輸入方法編輯器能夠檢測作為輸入的“hello”,自動在搜索域140中呈現(xiàn)待 翻譯的輸入125,并且允許用戶繼續(xù)提供待翻譯的輸入145。通用語言輸入方法編輯器自動 在翻譯輸入區(qū)域150中提供所翻譯的輸入155。在一些實施方式中,例如在存在給定輸入的 多種翻譯方式時,通用語言輸入方法編輯器提供多于一個的可能翻譯。例如,所翻譯的輸入 155包括第一翻譯“你好”和第二翻譯“嗨”,這都是英文單詞“hello”的中文翻譯。在一些實施方式中,通用語言輸入方法編輯器作為后臺過程運行。例如,通用語言 輸入方法編輯器能夠在可操作以使用輸入方法編輯器的應用運行時作為后臺過程運行。如 另一個示例,通用語言輸入方法編輯器在操作系統(tǒng)啟動時作為后臺過程加載。特別地,翻譯 窗口能夠利用使用輸入方法的應用自動地被呈現(xiàn)在用戶界面中。在一些實 施方式中,用戶 在搜索域140中直接提供輸入以便進行翻譯。在一些實施方式中,通用語言輸入方法編輯器由用戶手動啟動并操作。例如,用戶 能夠將所述通用語言輸入方法編輯器作為后臺過程加載。具體地,所述通用語言輸入方法 編輯器能夠響應于用戶切換(例如,鍵盤的快捷鍵以及切換按鈕上的鼠標點擊)而打開翻譯窗口。在一些實施方式中,顯示控制160允許用戶根據用戶的偏好隱藏或顯示翻譯窗口。圖2示出了用于在檢測到輸入時將輸入翻譯到應用界面中的示例性計算機系統(tǒng) 200的概念框圖。計算機系統(tǒng)200包括用戶界面202和軟件204。用戶201能夠通過用戶 界面202訪問計算機系統(tǒng)200。軟件204包括應用205、通用語言輸入方法編輯器206和操 作系統(tǒng)(OS) 207。操作系統(tǒng)207是能夠在軟件204 (例如,應用205和通用語言輸入方法編 輯器206)與用戶201之間提供用戶界面202的特定軟件片段。通用語言輸入方法編輯器206包括翻譯模型209以及一個或多個語言模型210 。 可替選地,翻譯模型209可以分立于通用語言輸入方法編輯器206。一個或多個語言模型 210也可以分立于通用語言輸入方法編輯器206。例如,方法可以作為分立的軟件組件包括 在軟件(例如,軟件204)內,或者模型可以位于遠程位置(例如,模型可以位于遠程翻譯服 務器212)。語言模型210可以進一步包括字典(例如,Google字典)。軟件204還可以包 括鉤子模塊208。例如,鉤子模塊208能夠解釋對特定應用205的輸入并且將所解釋的輸入 發(fā)送到通用語言輸入方法編輯器206。在一些實施方式中,鉤子模塊208是通用語言輸入方 法編輯器206的組件。如圖3中所描述的,系統(tǒng)200能夠在檢測到輸入時將所述輸入翻譯 到應用界面中。在一些實施方式中,通用語言輸入方法編輯器206使用更新服務器211進行更新。 更新服務器211能夠與計算機系統(tǒng)200進行通信以更新軟件204。例如,計算機系統(tǒng)200能 夠使用導出的應用程序接口(API)管理器來與更新者應用進行通信。更新者應用從更新服 務器211下載更新并且將所述更新(例如,語言模型的新短語)導入到通用語言輸入方法 編輯器206中。具體地,所導入的短語被添加到一個或多個語言模型210的字典中。此外,更新服務器211能夠被用來下載或安裝通用語言輸入方法編輯器206,包括 翻譯模型(例如,翻譯模型209)、語言模型210和鉤子模塊208。更新服務器211還能夠被 用來對這些組件中的每一個進行更新。例如,用戶能夠下載與額外的目標語言相對應的額 外語言模型。 在一些實施方式中,通用語言輸入方法編輯器206使用翻譯服務器(例如,遠程翻 譯服務器212)提供所接收輸入的翻譯。例如,翻譯服務器212能夠與計算機系統(tǒng)200進行 通信以將所翻譯的輸入發(fā)送到通用語言輸入方法編輯器206。例如,通用語言輸入方法編輯器206能夠使用導出的API管理器來與翻譯服務器 212進行通信。翻譯服務器212包括翻譯模型以及一個或多個語言模型,用于將源語言的 輸入翻譯為一種或多種目標語言。在一些實施方式中,如果本地翻譯模型(例如,翻譯模型 209)不能執(zhí)行特定翻譯(例如,翻譯模型209的字典不包括特定詞或短語,或者翻譯模型不 包括適當?shù)恼Z言模型),則通用語言輸入方法編輯器206使用翻譯服務器212。圖3示出了用于在檢測到輸入時將所述輸入翻譯到應用界面中的示例性過程 300。為了方便,將關于執(zhí)行翻譯的系統(tǒng)來描述檢測到翻譯時對到應用界面中的輸入進行翻 譯。所述系統(tǒng)使用310第一應用(例如,圖2的通用語言輸入方法編輯器206)或操作系統(tǒng) 組件(例如,鉤子模塊208)檢測到第二應用的應用界面(例如,圖1的應用界面100)的用 戶輸入。所述鉤子模塊能夠包括在軟件(例如,軟件204)內。在一些實施方式中,鉤子模 塊可以是通用語言輸入方法編輯器的一部分。在一些實施方式中,鉤子模塊是安裝到操作系統(tǒng)中的組件。通用語言輸入方法編輯器能夠使用鉤子模塊來檢測到第二應用的應用界面 的用戶輸入。鉤子模塊(例如,鉤子模塊208)被應用來鉤住能夠與操作系統(tǒng)(例如,操作系統(tǒng) 207)以及一個或多個應用(例如,應用205和通用語言輸入方法編輯器206)進行通信的界 面。鉤子能夠允許用戶或程序能夠監(jiān)視對所述界面的調用。具體地,鉤子模塊能夠對針對 界面的系統(tǒng)調用或API調用(例如,例如Windows Message Handler的事件處理機所接收 到的鍵盤事件)進行監(jiān)視。所述鉤子模塊能夠解釋輸入并且將輸入重新定向到不同的軟件組件(例如,通用 語言輸入方法編輯器206)。例如,鉤子將其自己的地址登記為事件的處理機,并且允許系統(tǒng) 在檢測到輸入時將所述輸入發(fā)送320到翻譯模型(例如,翻譯模型209)。所述翻譯模型使 用一個或多個語言模型來將所述輸入翻譯為翻譯輸入。在一些實施方式中,如圖2中所描 述的,系統(tǒng)將輸入發(fā)送320到翻譯服務器212以便進行翻譯。 在一些實施方式中,輸入包括從剪切板復制的內容。例如,如果用戶將輸入 “hello”從內容源(例如,網頁)復制到應用界面(例如,應用界面100)中,系統(tǒng)使用第一 應用或操作系統(tǒng)組件來檢測被復制到應用界面的輸入“hello”。在一些實施方式中,輸入包 括來自遠程源的到來輸入(例如,表示來自其它聊天參與者的聊天對話的到來文本,以及 表示來自網頁的數(shù)據的到來文本)。在一些實施方式中,所述第一應用或操作系統(tǒng)組件將用戶輸入解釋到第二應用 (例如,聊天客戶端應用)的應用界面的特定結構化元件(例如,圖1的用戶輸入區(qū)域120)。 例如,鉤子模塊208對用戶輸入區(qū)域120中提供的用戶輸入進行解釋。替選地,鉤子模塊 208不對例如提供到搜索域用于聊天客戶端應用的幫助特征的用戶輸入進行解釋。在一些實施方式中,一旦檢測到輸入,通用語言輸入方法編輯器206自動將所述 輸入識別為待翻譯的輸入。此外,通用語言輸入方法編輯器206能夠向用戶指示該輸入能 夠被翻譯。例如,通用語言輸入方法編輯器206能夠使用視覺提示(例如,突出輸入,或者 對輸入加下劃線)作為指示符。用于翻譯輸入的一種示例性技術是統(tǒng)計機器翻譯。統(tǒng)計機器翻譯試圖識別相對于 源語言的特定輸入的最可能的目標語言翻譯。例如,當將句子從法語翻譯為英語時,統(tǒng)計機 器翻譯識別相對于法語句子的最可能的英語句子。這種最大似然翻譯可以被寫為argmaXjP(e|/)
e其描述了所有可能句子中提供P (e |f)的最高值的英文句子e。此外,貝葉斯法則 提供了
m , ,、P(e)P(f I e)P{e I /) 二 ;(義使用貝葉斯法則,該最可能的句子可以被重寫為arg max p(e I /) = arg max P(e)P(f | e)
ee結果,最可能的e (即最可能的英語翻譯)是e出現(xiàn)的概率和e將被翻譯為f的概 率(即給定的英語句子將被翻譯為法語句子的概率)的乘積最大化的e。另一種示例性技術識別具有大于指定閾值量的P (e |f)值的所有可能翻譯。該技術允許系統(tǒng)提供包括輸入的一個或多個翻譯的翻譯輸入。
在一些實施方式中,用戶選擇一個或多個語言模型210中的一個或多個。例如,如 果用戶想要將第一語言的輸入(例如,英語單詞“hello”)翻譯為第二語言(例如,中文短 語“你好”),則用戶將會選擇第二語言,由此選擇與第二語言相對應的語言模型(例如,中 文語言模型)。如另一個示例,如果用戶想要將第一語言的輸入(例如,英語單詞“hello”) 翻譯為第三語言(例如,西班牙語單詞“hola”),則用戶可以選擇第三語言,由此選擇對應 于第三語言的語言模型(例如,西班牙語語言模型)。在一些實施方式中,所述系統(tǒng)自動選擇一個或多個語言模型210中的一個或多 個。例如,通用語言輸入方法編輯器206能夠包括上下文識別模塊。所述上下文識別模塊 能夠識別出第二應用中的用戶輸入的上下文(例如,其它聊天參與者在web聊天中所使用 的語言,或者與網站或電子郵件接收者相關聯(lián)的地理區(qū)域)。例如,如果其它聊天參與者正 以中文進行聊天,用戶正在訪問中文網站(例如,www. google, cn),或者用戶正在向中文電 子郵件地址(例如,exampleligmail. cn)發(fā)送電子郵件,則通用語言輸入方法編輯器206能 夠自動從可選語言模型中選擇中文語言模型。在一些實施方式中,所翻譯的輸入包括一種或多種語言的一個或多個翻譯。例如, 用戶或系統(tǒng)能夠選擇兩個或更多語言模型由翻譯模型使用。替選地,系統(tǒng)能夠自動選擇兩 個或更多語言模型由翻譯模型使用。特別地,如果web聊天中的一個聊天參與者正在以西 班牙語打字,而另一個聊天參與者在以中文進行打字,并且用戶提供了輸入“hello”,則西 班牙語語言模型和中文語言模型可以被選擇,并且所翻譯的輸入(例如,“hola”、“嗨”和 “你好”)可以被發(fā)送到第二應用的應用界面(例如,圖1的應用界面100的翻譯輸入區(qū)域 150)。系統(tǒng)從翻譯模型(例如,翻譯模型209 ;或者,在如圖2所描述的具體情形中,為遠 程翻譯服務器212處的翻譯模型)接收330所翻譯的輸入,并且將所翻譯的輸入發(fā)送340 到第二應用的應用界面(例如,應用205之一的應用界面)。例如,鉤子模塊通過調用原始 處理機(例如,Windows Message Handler)來取消鉤子的登記,包括向原始處理機發(fā)送所 翻譯的輸入,這將所翻譯的輸入發(fā)送340到第二應用的應用界面。在一些實施方式中,系統(tǒng)在用戶界面(例如,用戶界面202)中呈現(xiàn)350所翻譯的 輸入以便進行選擇。所翻譯的輸入能夠包括待翻譯的輸入的一個或多個翻譯。在一些實 施方式中,用戶選擇在用戶界面中呈現(xiàn)的一個或多個翻譯之一作為所選擇的翻譯。在一些 實施方式中,一個或多個翻譯根據它們作為正確翻譯的可能性在用戶界面中進行呈現(xiàn)(例 如,以作為正確翻譯的可能性的降序的數(shù)字列表進行呈現(xiàn))。例如,作為正確翻譯的可能性 可以取決于上下文(例如,之前所翻譯的輸入)。在一些實施方式中,一個或多個翻譯根據 翻譯在訓練數(shù)據中出現(xiàn)的頻率呈現(xiàn)在用戶界面中。在一些實施方式中,翻譯模型209自動選擇一個或多個翻譯之一作為所選擇的翻 譯。例如,一個或多個語言模型210能夠包括字典,所述字典進一步包括詞或短語在訓練數(shù) 據中出現(xiàn)的相對頻率。翻譯模型209能夠自動選擇最可能出現(xiàn)的翻譯(例如,使用統(tǒng)計機 器翻譯)作為所選擇的翻譯。系統(tǒng)將所選擇的翻譯復制360到第二應用的文本瀏覽器或編輯器中,并且繼續(xù)監(jiān) 視370附加的用戶輸入。如果系統(tǒng)檢測到附加的用戶輸入(步驟370中的“是”分支),則系統(tǒng)執(zhí)行包括320、330、340以及可選地包括350、360和370的步驟。否則,該過程結束380。在一些實施方式中,所述鉤子模塊并不取消鉤子的登記,直至用戶退出第二應用 或者第二應用不再被用戶所關注(例如,用戶將注意力轉移到第三應用,或者用戶使得第 二應用在圖形用戶界面中最小化)。在一些實施方式中,所述鉤子模塊并不取消鉤子的登記 直至用戶手動失能(例如,退出)第一應用。此外,在一些實施方式中,所述鉤子模塊在第 二應用重新獲得用戶的關注或者如果用戶重新啟動第二應用時自動重新鉤住能夠與操作 系統(tǒng)以及一個或多個應用進行通信的界面。例如,用戶初始地提供了英文字符“water”作為輸入。當系統(tǒng)檢測到該輸入時,該 輸入被發(fā)送到翻譯模型。從翻譯模型接收意思是“water”的中文字符“水”作為所翻譯的輸 入,并且將其發(fā)送到第二應用的應用界面。此外,隨著用戶繼續(xù)提供輸入,英文字符“water” 的原始序列輸入會變成英文字符序列“waterfall”。當系統(tǒng)檢測到該輸入(例如,所輸入 的每個字符)時,該輸入被發(fā)送到翻譯模型以便進行翻譯。例如,在用戶鍵入最后一個字符 “1”之后,系統(tǒng)能夠自動將意思是“waterfall”的“瀑布”發(fā)送到第二應用的應用界面。在一 些實施方式中,通用語言輸入方法編輯器206提供預測性翻譯。例如,在用戶鍵入字符“f” 之后,系統(tǒng)可以向第二應用的應用界面自動發(fā)送“瀑布”、意思是 aterfowl”的“水禽”以 及意思是“waterfront”的“海濱”。在用戶鍵入字符“a”之后,系統(tǒng)自動發(fā)送“瀑布”。例如,如圖1和2所示,用戶能夠在應用界面100(例如,Google Talk客戶端應用 界面或者其它聊天或消息發(fā)送應用界面)中鍵入“hello”。在運行Windows操作系統(tǒng)的計 算機系統(tǒng)中,包括輸入“hello”的鍵盤事件被發(fā)送到Win32API。具體地,Windows Message Handler能夠對所述鍵盤事件進行處理。然而,通用語言輸入方法編輯器206能夠使用鉤子 模塊208來鉤住Win32 API,解釋所述輸入,并且將輸入發(fā)送到翻譯模型209。翻譯模型209使用一個或多個語言模型之一(例如,中文翻譯模型)翻譯所述輸 入,并且所翻譯的輸入發(fā)送至Ij Windows Message Handler。Windows Message Handler 所翻譯的輸入發(fā)送到應用界面100。可選地,通用語言輸入方法編輯器206能夠在用戶界面 (例如,包括翻譯輸入155的翻譯窗口 130)中呈現(xiàn)所翻譯的輸入以用于用戶選擇。所述系統(tǒng)接著將所選擇的翻譯(例如,中文短語“你好”或中文詞“嗨”)復制到文 本瀏覽器或編輯器(例如,用戶輸入區(qū)域120)中。例如,“你好”可以被復制到用戶輸入區(qū) 域120中以替代“hello”。替選地,“嗨”可以被復制到用戶輸入區(qū)域120中以替代“hello”。 通用語言輸入方法編輯器206能夠繼續(xù)監(jiān)視370附加的用戶輸入(例如,用戶輸入區(qū)域120 中所提供的附加輸入)。圖4是一般計算機系統(tǒng)400的示意圖。系統(tǒng)400能夠被用于實踐與通用語言輸入 方法編輯器206相關聯(lián)描述的操作。系統(tǒng)400可以包括處理器410、存儲器420、存儲設備 430和輸入/輸出設備440。每個組件410、420、430和440使用系統(tǒng)總線450進行互連。 處理器410能夠處理指令以便在系統(tǒng)400內執(zhí)行。這樣執(zhí)行的指令能夠實現(xiàn)例如通用語言 輸入方法編輯器206的一個或多個組件。在一種實施方式中,處理器410是單線程處理器。 在另一種實施方式中,處理器410是多線程處理器。處理器410能夠處理存儲在存儲器420 中或者存儲設備430上的指令以便在輸入/輸出設備440上顯示用戶界面(例如,用戶界 面202)的圖形信息。存儲器420是諸如存儲系統(tǒng)400內的信息的易失性或非易失性的計算機可讀介質。例如,存儲器420可存儲通用語言輸入方法編輯器206。存儲設備430能夠為系統(tǒng)400 提供持久存儲。存儲設備430可以是軟盤設備、硬盤設備、光盤設備、帶設備或者其它適當 的持久存儲器件。輸入/輸出設備440為系統(tǒng)400提供輸入/輸出操作。在一種實施方式 中,輸入/輸出設備440包括鍵盤和/或指示設備。在另一種實施方式中,輸入/輸出設備 440包括用于顯示圖形用戶界面的顯示單元。輸入/輸出設備440能夠為通用語言輸入方法編輯器206提供輸入/輸出操作。 通用語言輸入方法編輯器206能夠檢測用戶輸入并且將所翻譯的輸入發(fā)送到應用,所述應 用例如聊天應用(例如,聊天窗口 100)、文本編輯器或瀏覽器應用(例如,文字處理器、電子 郵件應用或web瀏覽器)、翻譯應用或者能夠使用翻譯輸入的其它應用(例如,包括聊天特 征的游戲應用)。通用語言輸入方法編輯器206能夠包括諸如翻譯模型209以及一個或多 個語言模型210的組件。通用語言輸入方法編輯器206還能夠使用服務器以便進行更新和 翻譯。這樣的組件的示例包括更新服務器211和翻譯服務器212。舉出幾個示例,這樣的組 件209、210、211和212可以存在于存儲設備430、存儲器420中,或者可以通過網絡連接獲 得。本說明書中所描述的主題和功能操作的實施例可以以數(shù)字電子電路來實施,或者 以計算機軟件、固件或硬件或者它們中一個或多個的組合來實施,所述軟件、固件或硬件包 括該說明書中所公開的結構和其結構等同物。本發(fā)明書中所描述主題的實施例可以被實現(xiàn) 為一個或多個計算機程序產品,即在有形程序載體上編碼以便由數(shù)據處理裝置執(zhí)行或者控 制數(shù)據處理裝置的操作的計算機程序指令的一個或多個模塊。所述有形程序載體可以是傳 播信號或計算機可讀介質。所述傳播信號是人為生成的信號,例如,機器生成的電、光或電 磁信號,其被生成以對信息進行編碼以便傳輸?shù)竭m當?shù)慕邮掌餮b置供計算機執(zhí)行。所述計 算機可讀介質可以是機器可讀存儲設備、機器可讀存儲基片、存儲器設備、影響機器可讀傳 播信號的物體組合物或者它們中一個或多個的組合。術語“數(shù)據處理裝置”涵蓋用于處理數(shù)據的所有裝置、設備和機器,例如包括可編 程處理器、計算機或者多個處理器或計算機。除硬件之外,裝置可包括為所討論的計算機程 序創(chuàng)建執(zhí)行環(huán)境的代碼,例如構成處理器固件、協(xié)議棧、數(shù)據庫管理系統(tǒng)、操作系統(tǒng)或者它 們中一個或多個的組合的代碼。計算機程序(也被稱作程序、軟件、軟件應用、腳本或代碼)可以以任意形式的編 程語言書寫,包括編譯和解釋語言,或者聲明語言或過程語言,并且其能夠以任意形式被部 署,包括作為獨立程序或者作為模塊、組件、子程序或者適于在計算環(huán)境中使用的其它單 元。計算機程序不必對應于文件系統(tǒng)中的文件。程序可以存儲在保持其它程序或數(shù)據的文 件的一部分之中(例如,存儲在標記語言文檔中的一個或多個腳本),存儲在專用于所討論 程序的單個文件中,或者存儲在多個協(xié)同文件中(例如,存儲一個或多個模塊、子程序或代 碼部分的文件)。計算機程序可被部署為在一個或多個計算機上執(zhí)行,所述多個計算機位于 一個地點或者分布于多個地點并且通過通信網絡進行互連。該說明書中所描述的過程和邏輯流程可由一個或多個可編程處理器執(zhí)行,所述可 編程處理器執(zhí)行一個或多個計算機程序而通過對輸入數(shù)據進行操作并生成輸出來執(zhí)行功 能。所述過程和邏輯流程還可以由專用邏輯電路執(zhí)行,并且裝置也可以實現(xiàn)為專用邏輯電 路,例如FPGA (現(xiàn)場可編程門陣列)或ASIC (專用集成電路)。
例如,適于執(zhí)行計算機程序的處理器包括通用和專用微處理器,以及任意類型的 數(shù)字計算機的任意一個或多個處理器。通常,處理器將從只讀存儲器或隨機存取存儲器或 者其二者接收指令和數(shù)據。計算機的關鍵元件為用于執(zhí)行指令的處理器以及一個或多個用 于存儲指令和數(shù)據的存儲器設備。通常,計算機還將包括一個或多個用于存儲數(shù)據的大型 存儲設備,或者可操作地耦合到所述大型存儲設備以便從其接收數(shù)據或者對其傳送數(shù)據或 者其二者,所述大型存儲設備例如磁盤、磁-光盤或光盤。然而,計算機無需具有這樣的設 備。此外,計算機能夠被嵌入另一設備中,舉出幾個示例,所述設備例如移動電話、個人數(shù)字 助理(PDA)、移動音頻或視頻播放器、游戲控制臺、全球定位系統(tǒng)(GPS)接收器。適于存儲計算機程序指令和數(shù)據的計算機可讀媒體包括所有形式的非易失性存 儲器、媒體和存儲器設備,例如包括例如EPROM、EEPROM和閃存設備的半導體存儲器設備; 例如內部硬盤或可移動盤的磁盤;磁-光盤;以及⑶-ROM和DVD-ROM盤。處理器和存儲器 可以以專用邏輯電路進行補充或者集成在專用邏輯電路中。 為了提供與用戶的交互,本說明書中所描述主題的實施例可以實現(xiàn)在具有用于向 用戶顯示信息的顯示設備以及鍵盤和指示設備的計算機上,所述顯示設備例如CRT(陰極 射線管)或LCD (液晶顯示器),所述指示設備例如鼠標或軌跡球,用戶能夠利用其向計算機 提供輸入。也可使用其它類型的設備來提供與用戶的交互;例如,提供給用戶的反饋可以為 任意形式的感官反饋,例如視覺反饋、聲音反饋或觸覺反饋;并且來自用戶的輸入可以以任 意形式被接收,包括聲音、語音或觸覺輸入。本說明書中所描述主題的實施例可以在計算系統(tǒng)中實施,所述計算系統(tǒng)包括例如 數(shù)據服務器的后端組件,或者所述計算系統(tǒng)包括例如應用服務器的中間件組件,或者所述 計算系統(tǒng)包括例如客戶端計算機的前端組件,所述客戶端計算機具有圖形用戶界面或web 瀏覽器,用戶能夠通過其與本說明書所描述主題的實施方式進行交互,或者所述計算系統(tǒng) 包括一個或多個這樣的后端、中間件或前端組件的任意組合。所述系統(tǒng)的組件可以通過 任意形式或介質的數(shù)字數(shù)據通信進行互連,例如通信網絡。通信網絡的示例包括局域網 (“LAN”)和廣域網(“WAN”),例如互聯(lián)網。所述計算系統(tǒng)可以包括客戶端和服務器。客戶端和服務器通常彼此遠離并且典型 地通過通信網絡進行交互。客戶端和服務器的關系源于在各自計算機上運行并且彼此具有 客戶端_服務器關系的計算機程序。雖然該說明書包含許多特定實施方式的細節(jié),但是這些內容不應被理解為對要求 保護的或任意發(fā)明的范圍的限制,相反應理解為對特定于特定發(fā)明的特定實施例的特征的 描述。該說明書中在分立實施例背景下所描述的特定特征也可以在單個實施例中組合實 施。相反,在單個實施例背景下描述的各種特征也可以在多個實施例中分立實施或者以適 當?shù)娜我庾咏M合來實施。此外,雖然特征在以上可被描述為以特定組合進行作用并且甚至 最初如此要求,但是來自所要求組合的一個或多個特征在一些情況下可脫離組合,并且所 要求的組合可針對子組合或者子組合的變化形式。類似地,雖然在附圖中以特定順序對操作進行了描述,但是這不應被理解為要求 這些操作以所示順序或連續(xù)順序執(zhí)行,或者要執(zhí)行所圖示的所有操作才能實現(xiàn)期望的結 果。在特定情況下,多任務和并行處理會是有利的。此外,以上實施例中所描述的各系統(tǒng)組 件的劃分不應當被理解為在所有實施例中要求這樣的劃分,并且其應當被理解為所描述的程序組件和系統(tǒng)一般可以在單個軟件產品中集成在一起或者封裝到多個軟件產品中。
已經對本發(fā)明書中所描述主題的特定實施例進行了描述。其它實施例處于所附權 利要求的范圍之內。例如,權利要求中所引用的動作可以以不同順序來執(zhí)行并且仍然獲得 期望的結果。作為一個示例,附圖中所描繪的過程不必要求所示的特定順序或者連續(xù)順序 來能獲得期望的結果。在特定實施方式中,多任務和并行處理會是有利的。
權利要求
1.一種方法,包括使用第一應用或操作系統(tǒng)組件檢測對第二應用的應用界面的用戶輸入;以及 當在所述應用界面中檢測到輸入時,自動使用所述第一應用提供所述輸入的一個或多 個翻譯,包括將所述輸入發(fā)送到翻譯模型;從所述翻譯模型接收所翻譯的輸入;以及將所翻譯的輸入發(fā)送到所述第二應用的所述應用界面。
2.如權利要求1所述的方法,其中檢測用戶輸入包括向界面應用鉤子,其中所述界面可操作以與操作系統(tǒng)以及一個或多個應用通信;并且 監(jiān)視對所述界面的調用。
3.如權利要求2所述的方法,其中所述調用包括系統(tǒng)調用或應用程序界面調用。
4.如權利要求1所述的方法,其中所述第一應用或操作系統(tǒng)組件包括輸入方法編輯器。
5.如權利要求1所述的方法,其中自動使用所述第一應用提供所述輸入的一個或多個 翻譯進一步包括在用戶界面中呈現(xiàn)所述一個或多個翻譯;并且 將所選擇的翻譯復制到文本瀏覽器或編輯器中。
6.如權利要求5所述的方法,其中所選擇的翻譯通過對所述一個或多個翻譯的用戶選 擇來識別。
7.如權利要求1所述的方法,其中所述翻譯模型位于遠程翻譯服務器。
8.如權利要求1所述的方法,其中所述第一應用能夠使用更新服務器進行更新。
9.如權利要求1所述的方法,其中所述翻譯模型使用可選擇的語言模型。
10.一種用于向第一應用的應用界面提供輸入的一個或多個翻譯的裝置,包括 操作系統(tǒng);和第二應用或操作系統(tǒng)組件,其可操作以檢測對所述第一應用的所述應用界面的用戶輸 入,包括當在所述應用界面中檢測到輸入時,自動使用所述第二應用提供所述輸入的一個或多 個翻譯,包括將所述輸入發(fā)送到翻譯模型;從所述翻譯模型接收所翻譯的輸入;以及將所翻譯的輸入發(fā)送到所述第一應用的所述應用界面。
11.如權利要求10所述的裝置,進一步包括可操作以與所述操作系統(tǒng)以及一個或多個應用通信的界面;和 可操作以創(chuàng)建鉤子的鉤子模塊,所述鉤子可操作以監(jiān)視對所述界面的調用。
12.如權利要求11所述的裝置,所述第二應用被配置為使用所述鉤子模塊。
13.一種有形地存儲在計算機可讀介質上包括指令的計算機程序產品,所述指令可操 作以使得可編程處理器使用第一應用或操作系統(tǒng)組件檢測對第二應用的應用界面的用戶輸入;以及 當在所述應用界面中檢測到輸入時,自動使用所述第一應用提供所述輸入的一個或多個翻譯,包括將所述輸入發(fā)送到翻譯模型;從所述翻譯模型接收所翻譯的輸入;以及將所翻譯的輸入發(fā)送到所述第二應用的所述應用界面。
14.如權利要求13所述的計算機程序產品,其中使用第一應用或操作系統(tǒng)組件檢測用 戶輸入的指令進一步包括指令以對界面應用鉤子,其中所述界面可操作以與操作系統(tǒng)以及一個或多個應用通信;并且 監(jiān)視對所述界面的調用。
15.如權利要求14所述的計算機程序產品,其中所述調用包括系統(tǒng)調用或應用程序界 面調用。
16.如權利要求13所述的計算機程序產品,其中所述第一應用或操作系統(tǒng)組件包括輸 入方法編輯器。
17.如權利要求13所述的計算機程序產品,其中自動使用所述第一應用提供所述輸入 的一個或多個翻譯的指令進一步包括指令以在用戶界面中呈現(xiàn)所述一個或多個翻譯;并且 將所選擇的翻譯復制到文本瀏覽器或編輯器中。
18.如權利要求17所述的計算機程序產品,其中所選擇的翻譯通過對所述一個或多個 翻譯的用戶選擇來識別。
19.如權利要求13所述的計算機程序產品,其中所述翻譯模型位于遠程翻譯服務器。
20.如權利要求13所述的計算機程序產品,其中所述第一應用能夠使用更新服務器進 行更新。
21.如權利要求13所述的計算機程序產品,其中所述翻譯模型使用可選擇的語言模型。
22.—種系統(tǒng),包括 處理器;耦合到所述處理器并且在其上包含有指令的計算機可讀介質,當被所述處理器執(zhí)行 時,所述指令使得所述處理器執(zhí)行以下操作使用第一應用或操作系統(tǒng)組件檢測對第二應用的應用界面的用戶輸入;以及 當在所述應用界面中檢測到輸入時,自動使用所述第一應用提供所述輸入的一個或多 個翻譯,包括將所述輸入發(fā)送到翻譯模型;從所述翻譯模型接收所翻譯的輸入;以及將所翻譯的輸入發(fā)送到所述第二應用的所述應用界面。
23.如權利要求22所述的系統(tǒng),其中檢測用戶輸入包括對界面應用鉤子,其中所述界面可操作以與操作系統(tǒng)以及一個或多個應用通信;并且 監(jiān)視對所述界面的調用。
24.如權利要求22所述的系統(tǒng),其中所述第一應用或操作系統(tǒng)組件包括輸入方法編輯ο
25.如權利要求22所述的系統(tǒng),其中自動使用所述第一應用提供所述輸入的一個或多個翻譯進一步包括在用戶界面中呈現(xiàn)所述一個或多個翻譯;并且 將所選擇的翻譯復制到文本瀏覽器或編輯器中 。
全文摘要
提供了用于通用語言輸入的系統(tǒng)、方法和裝置,包括計算機程序產品。在一種實施方式中,提供了一種方法。所述方法包括使用第一應用或操作系統(tǒng)組件檢測對第二應用的應用界面的用戶輸入。所述方法還包括當在應用界面中檢測到輸入時,自動使用第一應用提供所述輸入的一個或多個翻譯,其包括將輸入發(fā)送到翻譯模型,從所述翻譯模型接收所翻譯的輸入,并且將所翻譯的輸入發(fā)送到第二應用的應用界面。
文檔編號G06F17/30GK102007493SQ200980113212
公開日2011年4月6日 申請日期2009年2月11日 優(yōu)先權日2008年2月19日
發(fā)明者張蕾, 錢江 申請人:谷歌公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1