知曉上下文的輸入引擎的制作方法
【專利摘要】提供了知曉上下文的輸入引擎。通過使用這些引擎,可基于分析上下文來確定各輸入元素。在確定輸入元素時可分析各種上下文。上下文可包括例如,通信收件人、位置、先前用戶交互、所使用的計算設備、或其任何組合。這些上下文可被分析以向用戶有利地提供輸入元素。輸入元素可包括例如特定布局的屏上鍵盤、特定語言的屏上鍵盤、特定按鈕、語音識別模塊、或文本選擇選項。可基于所分析的上下文來向用戶提供一個或多個這樣的輸入元素。
【專利說明】知曉上下文的輸入引擎
[0001]背景
[0002]獲取用戶輸入是計算的一個重要方面。可通過多種接口來獲取用戶輸入,如鍵盤、鼠標、語音識別、或觸摸屏。一些設備允許可從中獲取用戶輸入的多個接口。例如,觸摸屏設備允許同時或分開地呈現不同的圖形界面。這樣的圖形觸摸屏界面包括屏上鍵盤和文本選擇域。因此,計算設備可具有提供用于從用戶獲取輸入的不同輸入界面的能力。
[0003]概述
[0004]提供本概述是為了以簡化的形式介紹將在以下詳細描述中進一步描述的一些概念。本概述并不旨在標識出所要求保護的主題的關鍵特征或必要特征,也不旨在用于幫助確定所要求保護的主題的范圍。
[0005]本發明的各實施例涉及基于分析上下文來向用戶提供輸入元素。可被分析的上下文包括但不限于一個或多個預期通信收件人、語言選擇、應用選擇、位置、以及設備。上下文可與一個或多個輸入元素相關聯。上下文可被分析以確定用于優先提供給用戶以獲取輸入的一個或多個輸入元素。該一個或多個輸入元素隨后可被提供給用戶以供顯示。用戶可經由該輸入元素提供輸入,或可進行交互以指示該輸入元素不是所需要的。用戶交互可被分析以確定輸入元素與上下文之間的關聯。這樣的關聯可被分析以確定向用戶提供一個或多個輸入元素。
[0006]附圖簡述
[0007]下面參考附圖詳細描述本發明,其中:
[0008]圖1是適用于實現本發明的實施例的示例性計算環境的框圖;
[0009]圖2是示出用于向用戶提供知曉上下文的輸入元素的方法的流程圖;
[0010]圖3是示出適于與本發明的各實施例一起使用的上下文的示圖;
[0011]圖4是示出用于向用戶提供知曉上下文的輸入元素的方法的另一流程圖;
[0012]圖5是示出用于向用戶提供知曉上下文的輸入元素的系統的示圖;
[0013]圖6是示出本發明的一實施例的屏幕顯示;以及
[0014]圖7是示出本發明的一實施例的另一屏幕顯示。
[0015]詳細描述
[0016]此處用細節來描述本發明的主題以滿足法定要求。然而,該描述本身并非旨在限制本專利的范圍。相反,發明人已設想所要求保護的主題還可結合其它當前或未來技術以其它方式來實施,以包括不同的步驟或類似于本文中所描述的步驟的步驟組合。此外,盡管術語“步驟”和/或“框”可在此處用于指示所采用的方法的不同元素,但除非而且僅當明確描述了各個步驟的順序時,該術語不應被解釋為意味著此處公開的各個步驟之中或之間的任何特定順序。
[0017]本發明的各實施例一般涉及基于對上下文的分析來向用戶提供輸入元素。如本文所使用的,術語“上下文”一般指可被計算設備感測的條件。上下文可包括電子郵件、SMS、或即時消息的預期通信收件人。上下文還可包括例如位置、當前所使用的應用、先前使用的應用、或用戶與應用的先前交互。另外,如本文所使用的,術語“輸入元素”指接口、接口的一部分、或用于接收輸入的接口的配置。例如,屏上鍵盤可以是輸入元素。屏上鍵盤的特定按鈕也可以是輸入元素。文本選擇域可以是輸入元素的另一示例,文本選擇域內包括的詞語也可以是輸入元素。如本文所使用的,術語“詞語”指的是詞、縮寫、或任何文本片段。如本文所使用的,術語“字典”一般指一組詞語。字典可包括例如英文單詞的默認字典、通過接收到的用戶輸入而構建的字典、將一組詞語與特定上下文進行關聯的一個或多個標簽、或其任何組合。專用字典一般指已經與一個或多個上下文至少部分地進行了關聯的字典。寬泛字典一般指尚未與一個或多個上下文進行明確關聯的字典。
[0018]根據本發明的各實施例,在要獲取用戶輸入時,向用戶提供特定輸入元素是有意義的。例如,用戶可能正利用屏上鍵盤在觸摸屏上鍵入。在檢測到可能的拼寫錯誤后,向用戶呈現從中進行選擇的詞語列表是有意義的。在確定向用戶提供什么輸入元素時分析上下文也是有意義的。例如,在特定上下文中,用戶可更可能期望一個詞語而非另一詞語。在這種情況下,向用戶呈現更可能的詞語而非較不可能的詞語是有利的。或者,可利用反映它們的可能性的排名來呈現這兩個詞語。
[0019]給定上下文可以與給定輸入元素相關聯。上下文與輸入元素之間的關聯可按多種方式發生。例如,在第一次打開電子郵件應用時,可向用戶呈現英文鍵盤。用戶可采取各個步驟來選擇西班牙文鍵盤。因此,打開電子郵件應用的上下文可以與輸入元素“西班牙文鍵盤”相關聯。稍后,可分析電子郵件應用上下文來確定向用戶提供西班牙文鍵盤。在進一步使用電子郵件應用時,可以確定在撰寫發送到電子郵件地址“markOlive.com”的電子郵件時,用戶通常從西班牙文鍵盤切換到英文鍵盤。因此,“markOlive.com”電子郵件地址可被確定為在確定向用戶提供適當的輸入元素時有用的上下文。
[0020]在任何給定情況下,可存在多個要分析的上下文。例如,在確定要提供的適當的輸入元素時,當前使用的應用與預期通信收件人一起可被分析。在以上情況下,例如,可確定在使用電子郵件應用時向用戶默認地呈現西班牙文鍵盤。然而,在用戶撰寫發給“markOlive, com”的消息時,可以確定向用戶提供英文鍵盤。在使用另一應用時,如文字處理應用,可以確定向用戶默認地提供語音識別接口,而不論所撰寫的文檔的預期收件人是誰。因而,在某些情況下,多個上下文可被分析以確定呈現給用戶的一個或多個適當的輸入元素。
[0021]在一些實施例中,可通過利用API來標識適當的輸入元素。例如,應用可從用戶接收要與特定通信收件人進行通信的指示。該應用可將這一上下文提交給例如操作系統所提供的API。該API隨后可通過向該應用提供適當的輸入元素來進行響應。例如,該API可向該應用提供在撰寫發給該特定通信收件人的通信時中文鍵盤是要使用的適當輸入元素的指示。該API還可獲得與將輸入元素同特定上下文進行關聯有關的信息。例如,該API可被請求呈現特定輸入元素。該API可分析在其中作出該請求的上下文,以將特定上下文與特定輸入元素相關聯。稍后,當在給定上下文中被請求向用戶提供輸入元素時,該API可利用這一信息。以此方式,多個應用可得到將特定上下文與特定輸入元素進行關聯的益處。
[0022]因此,在一個方面中,本發明的一實施例針對存儲計算機可使用指令的一個或多個計算機存儲介質,當這些指令由一個或多個計算設備使用時使該一個或多個計算設備執行一種方法。該方法包括分析用戶交互以將一輸入元素與第一上下文進行關聯。該方法還包括分析第二上下文以確定要向第一用戶提供該輸入元素。該方法還包括將該輸入元素提供給該第一用戶。[0023]在另一方面,本發明的實施例涉及一種計算設備。該計算設備包括用于從用戶接收輸入的輸入設備。該計算設備還包括被配置成執行一種方法的一個或多個處理器。該方法包括分析第一上下文以確定與該第一上下文相關聯的第一字典。該方法還包括分析從輸入設備獲得的數據以從該第一字典選擇第一詞語。該方法還包括將該第一詞語提供給用戶作為選擇選項。該計算設備還包括被配置成向用戶呈現該第一選擇選項的顯示設備。
[0024]在又一方面,本發明的另一實施例涉及包括具有一個或多個處理器和一個或多個計算機存儲介質的一個或多個計算設備的輸入元素呈現系統。該輸入元素呈現系統包括上下文標識組件。該輸入元素呈現系統還包括用于將一個或多個上下文與一個或多個輸入元素進行關聯的關聯組件。該輸入元素呈現系統還包括用于基于分析上下文來標識輸入元素的輸入元素標識組件。該輸入元素呈現系統還包括用于向用戶呈現輸入元素的呈現組件。
[0025]在簡要描述了本發明各實施方式的概覽之后,以下描述其中可實現本發明的各實施方式的示例性操作環境,以便為本發明各方面提供通用上下文。首先具體參考圖1,示出了用于實現本發明的各實施方式的示例性操作環境,并將其概括地指定為計算設備100。計算設備100只是合適的計算環境的一個示例,并且不旨在對本發明的使用范圍或功能提出任何限制。也不應該將計算設備100解釋為對所示出的任一組件或其組合有任何依賴性或要求。
[0026]本發明可以在由計算機或諸如個人數據助理或其他手持式設備之類的其他機器執行的計算機代碼或機器可使用指令(包括諸如程序模塊之類的計算機可執行指令)的一般上下文中描述。一般而言,包括例程、程序、對象、組件、數據結構等的程序模塊指的是執行特定任務或實現特定抽象數據類型的代碼。本發明可以在各種系統配置中實施,這些系統配置包括手持式設備、消費電子產品、通用計算機、專用計算設備等等。本發明也可以在其中任務由通過通信網絡鏈接的遠程處理設備執行的分布式計算環境中實施。
[0027]參考圖1,計算設備100包括直接或間接耦合以下設備的總線110:存儲器112、一個或多個處理器114、一個或多個呈現組件116、輸入/輸出(I/O)端口 118、輸入/輸出組件120、和說明性電源122。總線110表示可以是一條或多條總線(諸如地址總線、數據總線、或其組合)。雖然為了清楚起見利用線條示出了圖1的各框,但是實際上,各組件的輪廓并不是那樣清楚,并且比喻性地來說,線條更精確地將是灰色的和模糊的。例如,可以將諸如顯示設備等呈現組件認為是I/O組件。而且,處理器具有存儲器。發明人認識到這是本領域的特性,并重申,圖1的圖示只是例示可以結合本發明的一個或多個實施方式來使用的示例性計算設備。諸如“工作站”、“服務器”、“膝上型計算機”、“手持式設備”等分類之間沒有區別,它們全部都被認為是在圖1的范圍之內的并且被稱為“計算設備”。
[0028]計算設備100通常包括各種計算機可讀介質。計算機可讀介質可以是可由計算設備100訪問的任何可用介質,而且包含易失性和非易失性介質、可移動和不可移動介質。作為示例而非限制,計算機可讀介質可包括計算機存儲介質和通信介質。計算機存儲介質包括以用于存儲諸如計算機可讀指令、數據結構、程序模塊或其他數據的信息的任何方法和技術實現的易失性和非易失性、可移動和不可移動介質。計算機存儲介質包括但不限于,RAM、ROM、EEPR0M、閃存或其他存儲器技術、CD-ROM、數字多功能盤(DVD)或其他光學存儲、磁帶盒、磁帶、磁盤存儲或其他磁存儲設備、或能用于存儲所需信息且可以由計算設備100訪問的任何其他介質。通信介質通常以諸如載波或其他傳輸機制之類的已調制數據信號來體現計算機可讀指令、數據結構、程序模塊或其他數據,并且包括任何信息傳送介質。術語“已調制數據信號”是指使得以在信號中編碼信息的方式來設定或改變其一個或多個特征的信號。作為示例而非限制,通信介質包括諸如有線網絡或直接線連接之類的有線介質,以及諸如聲學、RF、紅外及其他無線介質之類的無線介質。上述的任意組合也應包含在計算機可讀介質的范圍內。
[0029]存儲器112包括易失性和/或非易失性存儲器形式的計算機存儲介質。存儲器可以是可移動的,不可移動的,或兩者的組合。示例性硬件設備包括固態存儲器、硬盤驅動器、光盤驅動器等。計算設備100包括從諸如存儲器112或I/O組件120等各種實體讀取數據的一個或多個處理器。呈現組件116向用戶或其他設備呈現數據指示。示例性呈現組件包括顯示設備、揚聲器、打印組件、振動組件等等。
[0030]I/O端口 118允許計算設備100邏輯上耦合至包括I/O組件120的其他設備,其中某些設備可以是內置的。說明性組件包括話筒、操縱桿、游戲手柄、圓盤式衛星天線、掃描儀、打印機、無線設備等等。
[0031]現在參考圖2,提供了示出用于向用戶提供知曉上下文的輸入元素的方法200的流程圖。如在框202所示,用戶向計算設備輸入拼音。該計算設備可以確定一個或多個上下文。例如,用戶可能正使用移動設備向朋友撰寫電子郵件消息。如在框204所示,可分析專用于該通信收件人的字典以定位該拼音的匹配。如在框206所示,可找出該拼音的匹配。例如,一些詞語可對特定通信收件人優先使用,并且這些詞語可與該通信收件人相關聯。通信收件人與對該特定通信收件人使用的詞語之間的關聯是一種類型的專用字典。在一些情況下,可能沒有找到匹配,在這種情況下,可分析寬泛字典,如在框210所示。寬泛字典可以是非專用的,或可僅僅比第一字典較非專用(例如,專用于一組通信收件人)。在一些情況下,可在框206找出匹配。在這種情況下,如在框208所示,向來自專用字典的各匹配分配排名。如在框210所示,也可分析寬泛字典以確定該拼音的匹配。如在框212所示,向來自寬泛字典的各匹配分配排名。通常,出現在專用字典中的詞語的排名將高于只出現在寬泛字典中的詞語的排名,因為來自專用字典的詞語可能與該上下文明確相關。如在框214所示,將各詞語提供給用戶以供顯示。
[0032]例如,用戶可實例化電子郵件應用并被提供收件人域。用戶可將通信收件人輸入到收件人域中——例如,與用戶的名為“Mark”的朋友相關聯的電子郵件地址。在框202,用戶隨后可開始向消息域輸入拼音。可存在與Mark相關聯的專用字典。因而,在框204,分析這一專用字典以確定該拼音的匹配。在框206,確定存在該拼音的兩個匹配。在框208,將這兩個匹配進行排名。在框210,寬泛字典被分析以確定該拼音的進一步匹配。在這種情況下,寬泛字典是非Mark專用的字典。在框212,將來自寬泛字典的各匹配進行排名。在這種情況下,因為存在來自專用于Mark的字典的匹配,所以來自寬泛字典的匹配將排名低于來自專用字典的匹配。如在框214所示,將各匹配提供給用戶。用戶最可能需要的匹配被排名在較高位置,因為它們專用于該上下文。
[0033]現在參考圖3,描繪了示出適于與本發明的各實施例一起使用的上下文的示圖。描繪了寬泛字典300。在該寬泛字典中和之間存在各專用字典,包括“朋友I”專用字典302、“朋友3”專用字典304、“母親”專用字典306、以及“表親”專用字典308。盡管這些專用字典被示為不同的且是寬泛字典200的各子集,但它們之間可包括重疊并可延伸出寬泛字典300之外。例如,一些詞語可以與“母親”專用字典306和“表親”專用字典308相關聯。另夕卜,一些詞語可以與“母親”專用字典306相關聯但不與寬泛字典300相關聯。詞語與上下文之間的關聯也可被加權。例如,詞語“家”可與“母親”專用字典306強關聯,但只與“表親”專用字典308弱關聯。詞語“家”可根本不與“朋友I”專用字典302相關聯,并且可甚至與“朋友3”專用字典304否定關聯。這些關聯權重可被用于分析上下文來確定提供什么輸入元素。這些關聯權重也可被用來確定兩個或更多個上下文之間的相似度水平,并且因而創建這些上下文之間的關聯。關聯強度可按多種方式用算法來確定。例如,關聯強度可通過給定上下文內的使用頻率或通過概率或推斷來確定。
[0034]寬泛字典300可以是例如普遍使用的英文單詞的默認字典。用戶可以使用SMS應用來鍵入給各通信收件人的消息。這些消息可包含各詞語。這些詞語中的一些在特定上下文中可出現得比在其他上下文中更頻繁。例如,用戶可能對她的表親普遍使用詞語“Lol”。然而,這一詞語很少對她母親使用。詞語“Lol”因而可與表親作為通信收件人的上下文相關聯,并且可例如變成“表親”專用字典308的一部分。詞語“Lol”也可與使用SMS應用的上下文相關聯。稍后,撰寫“表親”作為通信收件人的消息的上下文可被分析以確定提供詞語“Lol ”作為文本選擇域的輸入元素。這可發生在SMS應用的上下文內,或可發生在電子郵件應用的上下文內。應當注意,詞語“Lol”可能已經存在于寬泛字典300中,并且僅變得與表親作為通信收件人的上下文相關聯,或該詞語可能尚未存在于寬泛字典300中并且在用戶使用了先前輸入的該詞語之后被添加。
[0035]現在參考圖4,提供了示出用于向用戶提供知曉上下文的輸入元素的方法400的流程圖。一開始,如在框402所示,分析用戶交互以將輸入元素與第一上下文進行關聯。例如,用戶交互可以是選擇輸入元素一例如,選擇中文屏上鍵盤。這一用戶交互可在中國北京使用地理標簽應用時發生。因此,中文屏上鍵盤與對地理標簽應用的使用相關聯,如在框402所示。還應當注意,中文屏上鍵盤可以與中國北京相關聯,作為與地理標簽應用相關聯的替換或補充。如在框404所示,分析第二上下文以確定向第一用戶提供輸入元素。應當注意,第二上下文可以與第一上下文相同或不同。例如,第二上下文可以是中國北京的位置,并且因此確定向第一用戶提供中文屏上鍵盤。或者,可以確定位置是加利福尼亞州舊金山市,但用戶處于舊金山市的中文區域。在該后一種情況下,可以確定雖然第二上下文與第一上下文不同,但這兩者之間存在關聯,使得向用戶提供中文鍵盤是有意義的,如在框406所
/Jn ο
[0036]應注意,存在可將第一上下文與輸入元素進行關聯的多種方式。例如,第一用戶在撰寫他母親作為通信收件人的電子郵件消息時可以使用某些詞語。這樣的用戶交互可被分析以將輸入元素與上下文進行關聯。例如,用戶在撰寫給他母親的電子郵件消息時可能通常鍵入他阿姨的名字“Sally”。這一用戶交互可被分析以將輸入元素“Sally”與該用戶的母親作為通信收件人的上下文進行關聯,如在框402所示。稍后,用戶可在撰寫給他母親的即時消息時開始鍵入字母“SA”。該第二上下文可被分析以確定向用戶提供詞語“Sally”作為選擇選項,如在框404所示。因而,“Sally”被作為輸入元素呈現給用戶,如在框406所
/Jn ο
[0037]還應當認為,多個輸入元素可被提供給用戶。例如,在以上示例中,在撰寫給他母親的消息時,用戶還可能通常鍵入詞語“saliboat”。在撰寫給他朋友Bill的消息時,用戶可能還鍵入了詞語“Samir”,但在撰寫給他母親的消息時從未鍵入該詞語。可以基于通信收件人“母親”來確定,用戶最可能旨在鍵入詞語“Sally”。還可以確定下一最可能的是用戶旨在鍵入詞語“sailboat”,并且因為在與“母親”通信時用戶先前尚未使用詞語“Samir”,用戶不太可能旨在鍵入詞語“Samir”。這些詞語中的每一個根據用戶意圖的可能性被排名,并且呈現給用戶以供根據它們的排名來顯示。
[0038]一般而言,多種類型的輸入元素可被標識并呈現給用戶。例如,用戶在撰寫電子郵件時可能通常使用英文鍵盤,但在撰寫SMS消息時有時可能選擇中文鍵盤。除此之外,用戶在與他兄弟通信時可能利用特定一組詞語。例如,用戶在與他兄弟通信時可能通常使用詞語“werd”。這些用戶交互中的每一個可被分析以將輸入元素與上下文進行關聯。稍后,用戶可撰寫給他兄弟的電子郵件消息。這一上下文可被分析,并且英文鍵盤可被呈現。當仍然使用電子郵件應用來撰寫給他兄弟的電子郵件時,用戶可能錄入輸入序列“we”。該附加的一層上下文可被分析,并且詞語“werd”可被確定要作為文本選擇域中的輸入元素來呈現。因而,英文屏上鍵盤和“werd”文本選擇域可同時或并發地作為輸入元素來被呈現。
[0039]還應當注意,多個用戶交互可被分析以將輸入元素與上下文進行關聯。例如,在首次使用電子郵件應用時用戶可能選擇英文鍵盤。這一用戶交互可通過API被提供給操作系統。該API可將電子郵件應用的上下文與英文鍵盤的輸入元素進行關聯。用戶第二次與電子郵件應用交互,然而,他可能選擇中文鍵盤。這一用戶交互也可被提供給操作系統API以進行關聯。因而,將存在兩個用戶交互可被分析來確定要提供給用戶的適當輸入元素。在文本應用的100次使用的過程中,用戶可能選擇中文鍵盤80次而可選擇英文鍵盤20次。該API可分析這一信息來確定在首次打開SMS應用時向用戶提供中文鍵盤。用戶可輸入指示特定通信收件人的信息,并且這一信息可被提供給該API。可以確定在撰寫給該特定通信收件人的20個電子郵件消息中,20個被使用英文鍵盤來撰寫。因而,該API可通知SMS應用應當向用戶提供英文鍵盤。因而,多個用戶 行為可被分析以確定提供給用戶的最適當的輸入元素。
[0040]另外,在將上下文與輸入元素進行關聯時,來自多個用戶的用戶行為可被分析。例如,用戶行為可被傳送到web服務器。在一特定示例中,移動電話應用可允許用戶向互聯網張貼消息。對于每一帖子,移動電話應用可傳送消息和移動電話位置兩者。接收這一數據的web服務器可將消息內包含的某些詞語與某些位置進行關聯。例如,第一用戶可處于洛杉磯新奧爾良,并且可使用該應用來撰寫消息“At CafeDu Monde!”。web服務器因而可將詞語序列“Caf6DuMonde”與洛杉磯新奧爾良的位置進行關聯。第二用戶可以在法國巴黎,并且可使用該應用來撰寫消息“Caf6Du Marche is the best bistro in France”。web服務器因而可將詞語序列“Caf6Du Monde”與法國巴黎的位置進行關聯。稍后,第三用戶可處于洛杉磯新奧爾良,并且可開始撰寫具有字母序列“Caf6Du Μ”的消息.這一序列可被發送給web服務器,web服務器可分析這一序列和洛杉磯新奧爾良的位置來確定向該第三用戶提供輸入元素“Monde”。
[0041]現在參考圖5,提供了示出在其中可以采用本發明的各實施例的示例性輸入元素呈現系統500的框圖。應當理解,此處所描述的這一和其他安排僅作為示例來闡明。除了所示的安排和元素之外,或作為其替代,可使用其他安排和元素(例如,機器、接口、功能、次序、組件以及功能組等),并且可完全省略某些元素。此外,本文所描述的許多元素是可以實現為分立或分布式組件或結合其他組件的、以及以任何合適的組合和在任何合適的位置的功能實體。此處被描述為由一個或多個實體執行的各種功能可由硬件、固件和/或軟件來執行。例如,各種功能可由執行存儲在存儲器中的指令的處理器來執行。
[0042]輸入元素呈現系統500可包括上下文標識組件502、關聯組件504、輸入元素標識組件506、以及呈現組件508。該系統可包括單個計算設備,或可涵蓋經由通信網絡鏈接在一起的多個計算設備。另外,各組件中的每一個都可包括任何類型的計算設備,諸如例如參考圖1描述的計算設備100。
[0043]一般而言,上下文標識組件502標識可與輸入元素相關聯的上下文。例如,上下文標識組件502可以標識通信收件人、位置、使用中的應用、行進方向、通信收件人編組等。輸入元素標識組件506可以標識多個輸入元素。例如,可存在被配置成用于英文輸入、西班牙文輸入、中文輸入等的鍵盤。另外,取決于所需輸入的類型,或者如果使用觸摸屏設備,則取決于該設備是按縱向模式還是橫向模式來定向,可存在用于這些鍵盤中的每一個的多個配置。還可存在可從中標識詞語來作為輸入元素的各種專用字典或寬泛字典。輸入元素的類別也可被標識,如“英文”輸入元素。輸入元素的這些類別可被用來將各類輸入元素編組在一起。上下文標識組件502所標識的上下文可經由關聯組件504與輸入元素標識組件506所標識的一個或多個輸入元素相關聯。呈現組件508隨后可被用來向用戶提供一個或多個輸入元素以供顯示。
[0044]例如,用戶可使用具有“共享”特征的應用,并且可指示該用戶希望與她的朋友Mary共享某一信息。該應用的“共享”特征可被上下文標識組件502標識為上下文。另外,朋友Mary可被上下文標識組件502標識為上下文。用戶隨后可進至“消息”域并且向該用戶呈現英文鍵盤。英文鍵盤可被輸入元素標識組件506標識為輸入元素。用戶可選擇使用西班牙文鍵盤。西班牙文鍵盤也被輸入元素標識組件506所標識。關聯組件504可將西班牙文鍵盤與Mary作為通信收件人的上下文進行關聯。關聯組件504還可將西班牙文鍵盤與該應用的“共享”特征的上下文進行關聯。因而,可確定適當的輸入元素。例如,在稍后的時間,用戶可能利用該應用的“共享”特征。該“共享”特征可被上下文標識組件502標識為上下文。該上下文可被輸入元素標識組件506用來標識西班牙文鍵盤可被有利地呈現給用戶。隨后西班牙文鍵盤可經由呈現組件508呈現給用戶。
[0045]現在參考圖6,提供了例示了示出本發明一實施例的示例性屏幕顯示的圖示。該屏幕顯示包括消息域602、用戶輸入604、文本選擇域606以及收件人域608。例如,用戶可進入移動電子郵件應用并被呈現了類似于圖6所示的屏幕的屏幕。用戶可在收件人域608中指示通信收件人。該通信收件人信息提供可被分析并與一個或多個輸入元素相關聯的上下文。另外,這一上下文可被分析以標識有利地提供給用戶的一個或多個輸入元素。用戶還可在撰寫消息時錄入用戶輸入604。用戶輸入604和收件人域608中的通信收件人可被分析以確定提供輸入元素一例如,與文本選擇域606 —起顯示的各個選擇。
[0046]例如,用戶可能希望與他朋友通信,并且可能已經實例化了電子郵件應用來完成這一任務。電子郵件應用可以呈現類似于圖6中所示的屏幕顯示的屏幕顯示。用戶可以指示通信收件人將是朋友,如收件人域608所示。用戶隨后可開始在消息域602中輸入數據。在確定輸入元素時,朋友作為預期通信收件人的上下文可被分析以確定利用與該朋友相關聯的專用字典。該專用字典可被利用用戶輸入604來進行分析,以確定多個輸入元素。在該情況下,輸入元素“LOL”、“LOUD”、“LOUIS”以及“LAPTOP”可已被確定為要呈現給用戶以
供顯示。
[0047]這些詞語中的一些可能先前已經與這一朋友作為通信收件人的上下文相關聯,并且因而可已被確定為要有利地提供給用戶。例如,在與特定朋友通信時,或與被標記為處于“朋友”類別的各通信收件人通信時,用戶可能頻繁使用詞語“L0L”。類似地,在與特定朋友通信時,用戶可能頻繁使用詞語“LOUD”。另外,盡管在與該特定通信收件人通信時用戶可能尚未使用詞語“L0UIS”,但用戶可能已經對其他通信收件人使用了該詞語。盡管如此,“LOUIS”可與文本選擇域606—起顯示。最后,在給任何通信收件人的任何通信中用戶可能從未使用詞語“LAPTOP”,但該詞語可能出現在默認寬泛字典中。該詞語也可被包括作為連同文本選擇域606 —起的輸入元素。這些輸入元素因而可與文本選擇域606 —起顯示。用戶可鍵入詞語的剩余部分,或可選擇輸入元素之一以指示所需輸入。
[0048]參考圖7,提供了例示了示出本發明的另一實施例的示例性屏幕顯示的另一示圖。該屏幕顯示包括消息域702、用戶輸入704、文本選擇域706以及收件人域708。例如,用戶可進入移動電子郵件應用并被呈現了類似于圖7所示的屏幕的屏幕。用戶可指示通信收件人,如收件人域708中示出的。該通信收件人提供可被分析并與一個或多個輸入元素相關聯的上下文。另外,這一上下文可被分析以標識有利地提供給用戶的一個或多個輸入元素。用戶還可在撰寫消息時錄入用戶輸入704。用戶輸入704和收件人域708中的通信收件人可被分析以確定提供輸入元素一例如,文本選擇域706中顯示的各個選擇。
[0049]在圖7所示出的實例中,用戶可能希望與他母親通信,并且可能已經實例化了電子郵件應用來完成這一任務。電子郵件應用可以呈現類似于圖7中所示的屏幕顯示的屏幕顯示。用戶指示通信收件人將是他母親,如收件人域708所示。用戶隨后可開始在消息域702中輸入數據。在確定輸入元素時,母親作為預期通信收件人的上下文可被分析以確定利用與母親一起使用的專用字典。該專用字典可被利用用戶輸入704來進行分析,以確定多個輸入元素。在該情況下,輸入元素“L0UIS”、“L0UD”、“L0CAL”以及“LOW”可已被確定為要呈現給用戶以供顯示。這些詞語中的一些先前已經與母親作為通信收件人的上下文相關聯。例如,用戶在與他母親通信時可能通常使用詞語“L0UIS”。或者,通信收件人“母親”可已經與通信收件人“父親”相關聯,并且盡管用戶尚未對“母親”使用詞語“L0UIS”,但他已經對“父親”使用了詞語“L0UIS”。因而,雖然輸入元素“LOUIS”沒有與上下文“母親”明確地相關聯,但該詞語仍然可被顯示,因為它與上下文“父親”相關聯(上下文“父親”進而與上下文“母親”相關聯)。因而,上下文可與另一上下文相關聯以確定輸入元素。
[0050]應當注意,雖然用戶輸入704與用戶輸入604相同,但詞語“L0L”沒有像在圖6中那樣被示為圖7中的輸入元素。這可能是因為確定用戶沒有對“母親”使用詞語“L0L”。例如,在先前交互中,可能已經向用戶呈現了 “L0L”作為文本選擇域706中的選項,但用戶可能沒有選擇“L0L”。因此,詞語“L0L”可與上下文“母親”否定關聯。類似地,在撰寫給通信收件人母親的電子郵件的上下文中,用戶可能已經指示詞語“L0L”不要被呈現。這一否定關聯可被分析以確定不要在該上下文中向用戶呈現“L0L”。
[0051]此外,詞語“L0UD”出現在文本選擇域706中。盡管在與母親作為通信收件人進行通信時,用戶可能尚未使用詞語“L0UD”,但其他用戶交互可能已經被分析以確定呈現這一詞語。例如,用戶可能處于音樂會舉辦地的位置。其他用戶可能接近該用戶,并且這些用戶可能已經撰寫了通信。這些用戶交互可能以比通常發生在用戶通信中的更高的概率來包含了詞語“LOUD”。這些用戶交互可能已被分析,可能在中央計算機系統處,以確定向用戶呈現詞語“LOUD”連同文本選擇域706。應當注意,在該示例中,“LOUD”可從中央服務器傳送到圖7中所示的計算設備,或中央服務器可僅僅提供用來對詞語“LOUD”進行排名的信息,使得它出現在文本選擇域706中它的位置處。因而,在確定向用戶提供輸入元素時,第三方用戶交互可被分析。
[0052]在一些實施例中,多個上下文和/或多個輸入元素可以彼此相關聯。在這些實施例中,輸入元素可基于上下文和/或與用戶的相關性來相對彼此進行排名。在一些實施例中,用戶交互可被分析以將第一輸入元素與第一上下文進行關聯,將第二輸入元素與第二上下文進行關聯,且將第一上下文與第二上下文進行關聯。因而,在這樣的實施例中,第一上下文可被分析以向用戶呈現第二輸入元素。
[0053]如可理解的,本發明的各實施例涉及知曉上下文的輸入引擎。參考各具體實施例描述了本發明,各具體實施例在所有方面都旨在是說明性的而非限制性的。不偏離本發明范圍的情況下,各替換實施例對于本發明所屬領域的技術人員將變得顯而易見。
[0054]從前面的描述可以看出,本發明很好地適用于實現上文所闡述的所有目的和目標,并且具有對于該系統和方法是顯而易見且固有的其他優點。可理解的是,某些特征和子組合是有用的,并且可以加以利用而無需參考其它特征和子組合。這由權利要求所構想的,并在權利要求的范圍內。
【權利要求】
1.一個或多個存儲計算機可使用指令的計算機存儲介質,所述計算機可使用指令在被一個或多個計算設備使用時,使得所述一個或多個計算設備執行一種方法,所述方法包括: 分析用戶交互以將輸入元素與第一上下文進行關聯; 分析第二上下文以確定要將所述輸入元素提供給第一用戶;以及 將所述輸入元素提供給所述第一用戶。
2.如權利要求1所述的一個或多個計算機存儲介質,其特征在于,所述第一上下文等于所述第二上下文。
3.如權利要求1所述的一個或多個計算機存儲介質,其特征在于,所述第一上下文包括通信收件人。
4.如權利要求1所述的一個或多個計算機存儲介質,其特征在于,所述輸入元素包括文本選擇接口。
5.如權利要求4所述的一個或多個計算機存儲介質,其特征在于,所述文本選擇接口包括來自字典的文本,所述字典與所述第一上下文相關聯。
6.一種計算設備,包括: 用于從用戶接收輸入的輸入設備; 被配置成執行一種方法的一個或多個處理器,所述方法用于分析第一上下文以確定與所述第一上下文相關聯的第一字典、分析從所述輸入設備獲得的數據以從所述第一字典中選擇第一詞語、以及將所述第一詞語提供給所述用戶作為選擇選項;以及 被配置成向所述用戶呈現所述第一選擇選項的顯示設備。
7.如權利要求6所述的計算設備,其特征在于,所述第一字典包括將一個或多個詞語與一個或多個上下文進行關聯的標簽。
8.如權利要求6所述的計算設備,其特征在于,所述第一詞語包括用戶生成的詞語,并且其中所述第一上下文包括通信收件人。
9.如權利要求6所述的計算設備,其特征在于,所述一個或多個處理器被配置成確定第二字典、分析所述輸入以從所述第二字典選擇第二詞語、以及向所述第一詞語分配第一排名并向所述第二詞語分配第二排名。
10.一種包括具有一個或多個處理器和一個或多個計算機存儲介質的一個或多個計算設備的輸入元素呈現系統,所述輸入元素呈現系統包括: 上下文標識組件; 用于將上下文與輸入元素進行關聯的關聯組件; 用于基于分析上下文來標識輸入元素的輸入元素標識組件;以及 用于向用戶呈現輸入元素的呈現組件。
【文檔編號】G06F3/14GK103547980SQ201280025149
【公開日】2014年1月29日 申請日期:2012年5月21日 優先權日:2011年5月23日
【發明者】L·陳, J·C·馮, I·阿爾莫格, H·庫 申請人:微軟公司