專利名稱:用于選擇和呈現與用戶輸入相關的回答框作為查詢建議的框架的制作方法
用于選擇和呈現與用戶輸入相關的回答框作為查詢建議的
框架相關申請的交叉引用本申請要求享有2009年8月31日提交的美國臨時申請No. 61/238,582的優先權。
背景技術:
本說明書涉及提供與用戶搜索查詢相關的信息。互聯網搜索引擎對用戶遞交的查詢做出響應識別例如網頁、圖像、文本文檔和多媒體內容的資源,并且按照對所述用戶有用的方式呈現關于所述資源的信息。搜索引擎的用戶經常查找對于特定問題的回答,而不是資源的列表。例如,用戶會想要知道特定位置處的天氣如何、特定詞語的定義是什么、如何在兩個時區之間轉換、或者兩個數的相乘之積。回答框是與所述查詢相關的內容的制定格式的呈現。例如,如果用戶的查詢涉及特定位置處的天氣,則回答框可以包括特定位置處的天氣預報。回答框具有作為類別的預定義組中的一個的類別,并且根據專用于其類別的模板來制定格式。回答框也可以與限定如何獲得對于所述回答框的內容的代碼相關聯。所述代碼例如可以是識別從其接收所述內容的后端服務器的腳本或者代碼。—些搜索引擎在所述搜索引擎確定回答框的類別和回答框的內容二者與搜索查詢相關時,對所查詢做出響應而呈現所述回答框。然而,在呈現回答框之前,這些搜索引擎要求用戶或者輸入觸發所述回答框的特定完整的短語,或者向所述搜索引擎顯式遞交搜索請求。
發明內容
本說明書描述涉及呈現回答框作為查詢建議的技術。通常,在該說明書中描述的主題的一個方面可以被實現為一種方法,所述方法包括在接收由第一用戶在搜索引擎查詢輸入字段中輸入的第一文本輸入的同時,并且在所述第一用戶已經遞交所述第一文本輸入作為搜索請求之前,在數據處理系統中根據所述第一文本輸入推導第一主要查詢;由所述系統獲得對于與所述第一主要查詢相關聯的第一回答框的內容;并且向所述第一用戶呈現所述第一回答框。該方面的其他實施方式包括分別被配置以執行所述方法的所述操作的相對應的系統、裝置以及被記錄在計算機存儲設備上的計算機程序。這些和其他實施方式可以分別可選地包括下面特征中的一個或者多個。所述第一主要查詢可以與所述第一文本輸入不同。所述第一主要查詢可以是所述第一文本輸入的完整形式。識別所述第一主要查詢可以包括接收包括對于所述第一文本輸入的一個或者多個查詢建議的查詢的組;確定對于所述查詢的組中的每一個查詢的流行性值,所述對于每一個查詢的流行性值根據一個或者多個用戶遞交所述查詢建議的次數推導;并且將從所述一個或者多個查詢中選擇的查詢識別為所述第一主要查詢,所選擇的查詢具有超出閾值的流行性值。所述查詢的組可以進一步包括所述第一文本輸入。所述對于每一個查詢的流行性值可以是如下值一個或者多個用戶遞交對于所述查詢建議的搜索的次數、除以所述一個或者多個用戶遞交對于所述多個查詢建議中的每一個查詢建議的搜索的總次數的值。所述對于每一個查詢的流行性值可以是一個或者多個用戶遞交對于所述查詢建議的搜索的次數、除以所述一個或者多個用戶遞交對于以與所述第一文本輸入相匹配的文本開始的查詢的搜索的總次數的值。所述一個或者多個用戶可以是所述第一用戶。所述一個或者多個用戶可以包括多個用戶。識別所述第一主要查詢可以包括根據對于所述第一用戶的用戶搜索歷史,識別由所述第一用戶遞交的以與所述第一文本輸入相匹配的文本開始的一個或者多個查詢;并且以所述第一主要查詢在所述用戶搜索歷史中出現滿足閾值的次數為基礎,根據所述一個或者多個查詢識別所述第一主要查詢。如果所述文本與所述第一文本輸入相同,則所述文本可以與所述第一文本輸入相匹配。如果除了停止詞語的使用所述文本與所述第一文本輸入相同,則所述文本可以與所述第一文本輸入相匹配。如果除了拼寫的區別所述文本與所述第一文本輸入相同,則所述文本可以與所述第一文本輸入相匹配。如果除了所述文本使用同義詞代替所述第一文本輸入中的項所述文本與所述第一文本輸入相同,則所述文本可以與所述第一文本輸入相匹配。如果除了詞語順序所述文本與所述第一文本輸入相同,則所述文本可以與所述第一文本輸入相匹配。如果除了前述例外的兩個或者更多的組合所述文本與所述第一文本輸入相同,則所述文本可以與所述第一文本輸入相匹配。所述閾值可以通過將用戶遞交所述一個或者多個查詢的總次數乘以預定義因數確定。識別所述第一主要查詢可以包括以所述第一主要查詢在所述用戶搜索歷史中出現滿足閾值的次數為基礎,根據對于所述第一用戶的用戶搜索歷史識別所述第一主要查詢。識別所述第一主要查詢可以包括分析對于所述第一用戶的用戶搜索歷史,以確定所述第一用戶頻繁遞交觸發具有特定類別的回答框的查詢;并且將與所述特別類別的回答框相關聯的查詢識別為所述第一主要查詢。識別所述第一主要查詢可以包括確定所述第一輸入缺失觸發回答框所需要的信息;根據對于所述第一用戶的用戶簡檔數據獲得所需要的信息;并且根據所述第一文本輸入以及所需要的信息生成所述第一主要查詢。所需要的信息可以是所述第一用戶的位置。 所需要的信息可以是所述第一用戶的語言。識別所述第一主要查詢可以包括分析對于所述第一用戶的用戶簡檔數據,以確定回答框的特定類別與所述第一用戶相關;并且將所述第一主要查詢識別為與所述特別類別的回答框相關聯的查詢。所述方法可以進一步包括在選擇所述第一回答框之前,向所述第一用戶呈現多個查詢建議,并且接收數據,所述數據表明所述第一用戶將光標放置在所述多個查詢建議中的選擇的查詢建議上方;并且將所選擇的查詢建議識別為所述第一主要查詢。所述方法可以進一步包括接收與所述第一文本輸入相對應的多個查詢建議。呈現所述第一回答框可以包括呈現包括所述查詢建議和所述第一回答框的顯示。獲得對于所述第一回答框的內容可以包括訪問將觸發短語與回答框相關聯的數據;并且獲得對于與所述數據中的所述主要查詢相關聯的所述回答框的內容。所述第一回答框可以是動態的;并且獲得對于所述第一回答框的內容可以包括獲得對于所述第一回答框的更新的內容,并且根據對于所述第一回答框的模板來對所述更新的內容制定格式。 所述第一回答框可以是靜態的;并且獲得對于所述第一回答框的內容包括從存儲對于靜態回答框的內容的數據存儲來獲得對于所述靜態第一回答框的內容。所述方法可以進一步包括在接收所述第一文本輸入的同時,并且在所述第一用戶已經遞交所述用戶文本輸入作為搜索請求之前,根據所述第一文本輸入識別第二主要查詢,所述第二主要查詢與所述第一主要查詢不同;獲得對于與所述第二主要查詢相關聯的第二回答框的內容;并且向所述第一用戶呈現所述第二回答框。通常,在本說明書中描述的主題的另一方面可以被實現為一種方法,所述方法包括行為在接收由用戶在搜索引擎查詢輸入字段中輸入的用戶輸入的同時,并且在所述用戶已經遞交所述用戶輸入作為搜索請求之前在數據處理系統中訪問歷史數據,所述歷史數據將多個輸入-回答框對中的每一個與各自呈現值相關聯,每一個輸入-回答框對將文本輸入與回答框相關聯,其中如果搜索引擎響應于以與一個文本輸入相匹配的實際輸入開始的查詢而呈現一個回答框,則所述文本輸入與所述回答框相關聯,并且其中根據所述搜索引擎響應于以與所述對中的所述文本輸入相匹配的實際輸入開始的查詢而呈現的所述對中所述回答框的次數,來推導針對每一個輸入-回答框對的所述呈現值;在所述數據處理系統中并且根據所述歷史數據,識別一個或者多個候選輸入-回答框對,其中對于每一個候選對的所述文本輸入與所述用戶輸入相匹配;由所述數據處理系統從所述一個或者多個候選對中選擇一個對,其中根據對于每一個候選對的所述呈現值選擇所述對;獲得對于位于所選擇的對中的所述回答框的內容;并且向所述用戶呈現所述回答框。該方面的其他實施方式包括分別被配置以執行所述方法的所述操作的相對應的系統、裝置以被記錄在計算機存儲設備上的計算機程序。這些和其他實施方式可以分別可選地包括下面特征中的一個或者多個。對于每一個輸入-回答框對的所述呈現值可以是如下值對所述搜索引擎響應于以與所述對中的所述文本輸入相匹配的實際輸入開始的查詢而呈現所述對中的所述回答框的次數,除以由所述搜索引擎接收的以與所述對中的所述文本輸入相匹配的實際輸入開始的查詢的總次數。 對于每一個輸入-回答框對的所述呈現值可以是如下值對所述搜索引擎響應于以與所述對中的所述文本輸入相匹配的實際輸入開始的查詢而呈現所述對中的所述回答框的次數, 除以用戶遞交對于所述對中的所述文本輸入的一個或者多個查詢建議的查詢的總次數的值。所述方法可以進一步包括對于每一個候選輸入-回答框對來接收所述對中的所述候選回答框對于遞交以與所述對中的所述文本輸入相匹配的實際輸入開始的查詢的用戶是否有用的表示。選擇所述候選回答框可以進一步以所接收的表示為基礎。所述方法可以進一步包括接收對于所述用戶輸入的多個查詢建議。呈現所述回答框可以包括呈現包括所述查詢建議和所述回答框的顯示。所述一個或者多個用戶可以是所述用戶。所述一個或者多個用戶可以包括多個用戶。可以實現在該說明書中描述的主題的特別實施方式以實現下面優點中的一個或者多個。在用戶完成他/她的搜索查詢之前可以識別相關的回答框。用戶可以在不必完成搜索查詢的情況下被呈現有信息的相關概要。用戶可以被呈現有回答用戶還沒有問的問題的回答框。用戶可以被呈現有有用格式的信息的相關概要。用戶可以被呈現有相關的回答框連同對于完成其查詢的其他建議。在附圖和下面的描述中闡述了在該說明書中描述的主題的一個或者多個實施方式的細節。根據所述描述、附圖和權利要求,所述主題的優點將變得明顯。
圖1示出了示例回答框呈現系統。圖2示出了示例選擇引擎。圖3示出了用于獲得對于回答框的內容并且向用戶呈現所述回答框的示例方法。圖4示出了另一示例選擇引擎。圖5示出了用于獲得對于回答框的內容并且向用戶呈現所述回答框的另一示例方法。圖6A-60示出了在用戶遞交搜索請求之前對用戶輸入的未遞交的文本輸入做出響應呈現的示例回答框。各附圖中類似的附圖標記和符號表明類似的元件。
具體實施例方式圖1示出了示例回答框呈現系統102。回答框呈現系統102是搜索引擎系統的一部分。搜索引擎系統使用回答框呈現系統102以獲得對于回答框104的內容,并且然后向用戶106呈現所述回答框104。回答框呈現系統102在用戶106輸入文本輸入107的同時、 并且在用戶106遞交對于所述文本輸入107的搜索請求之前,執行全部這些。即使在所述輸入107與和所述回答框104相關聯的特定完整的短語不相匹配時,回答框呈現系統102 也可以選擇內容并且呈現所述回答框104。用戶106與回答框呈現系統102交互,例如經過在用戶設備上呈現的搜索引擎用戶界面。搜索引擎用戶界面可以是搜索網頁或者應用程序界面。示例用戶設備包括計算機和移動設備。搜索引擎用戶界面包括其中用戶輸入文本輸入107的查詢輸入字段,以及用戶可以使用以遞交搜索請求的機制。查詢輸入字段例如可以是搜索引擎網頁中的字段、運行在用戶的網頁瀏覽器中的工具條中的字段、或者運行在用戶設備上的搜索應用程序中的字段。用戶106可以使用所述機制以遞交對于文本輸入的搜索請求,例如通過按壓搜索引擎用戶界面中的搜索按鈕、按壓查詢輸入字段中的“輸入”按鍵、或者以其他方式表明用戶 106完成了對輸入的輸入,并且搜索引擎將對在查詢輸入字段中的輸入做出響應識別搜索結果。搜索引擎用戶界面可以向所述用戶106進一步呈現例如查詢建議、回答框和搜索結果的信息。回答框呈現系統102包括輸入處理器108、回答框獲得器110以及呈現引擎112。 這些軟件部件可以在用戶設備上或者一個或者多個服務器(例如,經過網絡連接到用戶設備的搜索引擎服務器)上運行。輸入處理器108接收文本輸入107。例如,文本輸入107可以是由用戶106在搜索引擎查詢輸入字段中輸入的文本輸入,或者文本輸入107可以是根據從用戶接收的語音輸入生成的文本。輸入處理器108接收輸入107,并且確定是否應當將所述輸入發送到回答框獲得器110。輸入處理器108可以驗證用戶106還沒有遞交搜索請求,例如用戶還沒有使用所述搜索用戶界面中的機制,或者任何其他機制,以向所述搜索引擎發送表明所述用戶完成了對輸入的輸入、并且所述搜索引擎應當對所述查詢輸入字段中的輸入做出響應識別搜索結果的輸入。輸入處理器108還可以考慮其他因素,例如文本輸入是否具有最小數量的字符、或者自從用戶106輸入了文本輸入107的最后字符以來是否經過了預定量的時間。一旦輸入處理器108驗證了應當向回答框獲得器110發送輸入107,輸入處理器 108向回答框獲得器110發送所述輸入107。回答框獲得器110對于所述輸入107獲得對于回答框104的內容。下面參照圖2和圖4更加詳細地描述回答框獲得器110。呈現引擎112從回答框獲得器110接收對于回答框104的內容,并且將其呈現給用戶106,例如通過向用戶設備發送代表回答框104的數據用于在搜索引擎用戶界面中呈現。除了所選擇的回答框104,呈現引擎可以發送其他數據。例如,呈現引擎可以接收一組查詢建議、生成包括查詢建議的列表和選擇的回答框104的輸出,并且向用戶設備發送代表該輸出的數據用于向用戶106呈現。呈現引擎112可以從例如使用傳統技術生成對于輸入107的查詢建議的查詢建議引擎接收查詢建議。用戶設備可以例如在位于搜索引擎用戶界面中搜索引擎查詢輸入字段下方的下拉式菜單中,呈現所述建議和回答框104。即使用戶還沒有輸入表明所述用戶想要呈現所述查詢建議或者回答框104的輸入,也可以呈現所述建議和回答框104。用戶設備可以備選地使用用于向用戶106呈現輸出的其他配置。下面參照圖6A-60描述示例回答框呈現。圖2示出了示例回答框獲得器202。示例回答框獲得器202是上面參照圖1描述的回答框獲得器110的示例。回答框獲得器202包括主要(dominant)查詢引擎204和關聯引擎206。回答框獲得器202使用主要查詢引擎204推導與輸入107相對應的主要查詢,并且使用關聯引擎206 獲得對于與所述主要查詢相關聯的回答框104的內容。盡管下面示例描述了推導單個主要查詢,但是可以推導對于輸入的多個主要查詢,并且可以獲得對于多個回答框104的內容, 每一個回答框104與所述主要查詢208中的一個或者多個相關聯。主要查詢208是與輸入107相對應的查詢。主要查詢208可以是輸入107本身, 或者可以與輸入107不同。主要查詢208可以是輸入107的完整形式。例如,如果輸入107 是“weather San Fr”,則主要查詢 208 可以是 “weather San Francisco”。主要查詢 208 也可以是輸入107的變型。例如,如果輸入107是“wetaher San Francisco”,則主要查詢可以是“weather San Francisco”,因而修正了 “weather”的錯誤拼寫。主要查詢208也可以是輸入107的變型和完整形式二者。例如,如果輸入107是“wetather San Fr”,則主要查詢208可以是“weather San Francisco”。主要查詢208也可以是與輸入107相關的查詢。例如,主要查詢208可以是對于輸入107的查詢建議。作為另一示例,在輸入與和回答框的特定類別相關聯的關鍵字或者規則表達相匹配,但是不包含足夠信息以觸發特定回答框時,主要查詢208可以是與所述關鍵字或者規則表達相匹配的輸入的一部分,加上所述輸入107的剩余部分的完整形式。例如,如果輸入107是“weather San”,并且關鍵字 “weather”與天氣回答框相關聯,則系統可以通過使關鍵字“weather”與輸入“San”的剩余部分的完整形式相組合而生成主要查詢208。可以使用下面描述的用于生成主要查詢的技術生成所述完整形式。主要查詢引擎204可以根據各種啟發根據輸入107推導主要查詢208。在一些實現中,主要查詢選自對于輸入107的查詢建議的組。主要查詢引擎204可以可選地向所述查詢建議的組添加輸入107。主要查詢引擎204接收所述查詢建議的組,并且確定對于每一個查詢建議的流行性值。主要查詢引擎204從例如使用傳統技術生成查詢建議的查詢建議引擎接收查詢建議。根據一個或者多個用戶遞交對于查詢建議的搜索的次數推導對于給定查詢建議的流行性值。例如,所述流行性值可以是一個或者多個用戶遞交對于所述查詢建議的搜索的次數除以所述一個或者多個用戶遞交對于每一個查詢建議的查詢的總次數的值,例如
流行性值(Sfe)-貼■雙流仃汪值(罝詢Χ)_ Σ用戶遞交查詢i的次數
i其中查詢χ是其流行性值被計算的查詢建議,并且每一個查詢i是位于所述查詢建議的組中的查詢。所述一個或者多個用戶可以例如就是輸入所述輸入107的用戶,或者用戶的更大組。也可以使用其他公式用于確定流行性值。例如,主要查詢引擎204可以可選地通過每一個查詢的質量測量值對用戶遞交每一個查詢的次數進行加權。所述質量測量值可以例如根據用戶在發出其查詢之后選擇搜索結構的次數、用戶花多長時間瀏覽對其查詢做出響應的搜索結果、用戶細化其查詢的頻繁程度、以及用戶與在對其查詢做出響應呈現的搜索結果頁面的其他特征是否進行交互。作為另一示例,流行性值中的分母可以是用戶遞交的以與所述輸入開始的查詢的次數。主要查詢引擎204通過分析用戶搜索歷史數據識別用戶遞交每一個查詢的次數。 用戶搜索歷史數據對于在所述數據中呈現的每一個用戶描述由該用戶遞交的查詢。主要搜索引擎204分析對于該用戶的用戶搜索歷史數據,并且識別該用戶遞交與每一個搜索建議相對應的查詢的次數。用戶搜索歷史數據可以被匿名用于隱私保護。例如,用戶搜索歷史可以僅通過用戶設備的互聯網協議(IP)地址指代用戶,或者可以生成與該用戶設備的IP 地址相關聯的唯一隨機數。諸如散列法、加密和模糊法技術的其他匿名處理也可以用于確保保護用戶隱私。用戶搜索歷史數據也可以被審查以去除懷疑流量。懷疑流量例如可以是被識別為通過機器人(bot)生成的流量、被識別為垃圾郵件的流量、或者由相同用戶彼此接近連續遞交的重復查詢。一旦主要查詢引擎204確定了對于每一個查詢建議的流行性值,主要查詢引擎 204就選擇具有超出閾值的流行性值的查詢建議作為主要查詢。示例閾值包括50%、66% 和75%。可以根據經驗確定閾值。例如,閾值確定系統可以通過測試各種閾值并且確定它們是否導致所述系統的期望行為而確定合適的閾值。所述閾值確定系統可以例如通過使用顯式表明他們是否發現所呈現的回答框有用、或者將發現回答框有用的人類評估者,來確定所述系統的行為是否是期望的行為。作為另一示例,所述系統可以測量用戶間接表明他們發現所呈現的回答框有用的次數。用戶可以例如通過選擇對于文本輸入107呈現的回答框、花費長時間瀏覽回答框、點擊回答框中的鏈接、或者在呈現有回答框之后不遞交任何附加搜索,來間接表明他們發現所呈現的回答框有用。
閾值確定系統可以對上面的方案做出各種變型。例如,閾值確定系統可以確定僅對于模糊輸入的閾值,并且然后將該閾值應用到不太模糊的輸入。模糊輸入是可以觸發幾個不同的主要查詢的輸入,例如會觸發“weather San Jose”、“weather San Francisco”、 "weather Santa Fe”等等的“weather San”。作為另一示例,閾值確定系統可以確定對于回答框的特定類別的不同閾值。閾值確定系統可以選擇對于回答框的每一個類別選擇逐漸降低的寬松的閾值得分,直到對于每一個類別發現可接受的閾值。這允許閾值確定系統使所述閾值對于每一個查詢盡可能寬松。在一些實現中,所述閾值是用戶指定的。例如,如果用戶頻繁觸發特定類別的回答框,或者具有表明該用戶對特定類別的回答框感興趣的簡檔數據,則該閾值可以對于特別類別的回答框和用戶更加寬松。閾值也可以特定于用戶的類別,例如特定于相同位置處的用戶或者其搜索歷史表明他們共享搜索興趣的用戶。用戶的搜索歷史可以表明用戶共享搜索興趣,例如在搜索歷史共同具有多于查詢的閾值數量時。在其他實現中,在用戶輸入了輸入107之后,但是在用戶遞交搜索查詢之前,回答框呈現系統102向用戶呈現查詢建議。在這些實現中,主要查詢208是用戶例如通過將諸如鍵盤光標或者鼠標光標的光標放置在查詢建議上方,而表明感興趣的查詢建議的組中的查詢,而不是顯式地點擊查詢建議。在這些實現中,主要查詢引擎204接收表明用戶表明了所感興趣的查詢建議中的一個的輸入,并且然后將該查詢建議識別為主要查詢。在再一實現中,主要查詢208是在用戶發出的以與輸入107相匹配的文本開始的查詢中最經常出現的查詢。在這些實現中,主要查詢引擎204對于輸入所述輸入107的用戶分析用戶搜索歷史數據,以發現用戶先前遞交的以與所述輸入107相匹配的文本開始的一個或者多個查詢。如果文本與輸入107相同,則文本與輸入107相匹配,或者在不重要的方面與輸入107不同,例如通過搜索引擎系統確定。在文本和輸入107相同時,除了停止詞語的使用、拼寫、詞語順序或者同義詞的代替,文本在不重要的方面與輸入107不同。例如, 如果輸入107是“weather San”或者“wehather San”并且用戶先前搜索了 “weather San Franciscoweather San Jose,,、‘‘the weather Santa Fe,,禾口"weather Mountain View", 則文檔查詢引擎 204 識別"weather San Francisco ","weather San Jose,,和"weather Santa Fe”作為查詢。主要查詢引擎204忽略‘‘weather Mountain View”,由于其不以與 "weather San”類似的輸入開始。主要查詢引擎204然后選擇具有滿足閾值的出現次數的查詢。閾值可以是出現的預定次數。備選地,閾值可以根據遞交查詢的總次數確定。例如,閾值可以是所遞交的查詢的百分之五十。例如,如果用戶搜索“weather San Francisco,,十次、"weather San Jose,,五次、以及"the weather Santa Fe,,一次,閾值是用戶搜索該查詢的次數的百分之五十,則閾值為八。主要查詢引擎204選擇“weather San Francisco”作為主要查詢,由于其被遞交十次,并且十大于閾值八。主要查詢引擎204可以可選地通過自每一個查詢被遞交起的次數對每一個查詢出現的次數進行加權,較低權重給予較老的查詢。在其他實現中,主要查詢208是用戶頻繁遞交的查詢,而與輸入107無關。例如,在查詢字段包含空文本字符串作為輸入107時,用戶可以點擊查詢輸入字段。主要查詢引擎 204可以然后分析用戶搜索歷史,以識別用戶遞交最頻繁的查詢,并且選擇其中的一個作為主要查詢。例如,主要查詢引擎204可以在搜索歷史中選擇至少出現閾值次數的查詢。可以根據經驗確定閾值。在其他實現中,主要查詢208是將觸發由用戶發出的查詢頻繁觸發的類別的回答框的查詢。主要查詢引擎204可以確定用戶頻繁觸發了回答框的給定類別,例如在用戶遞交的觸發給定類別的回答框的查詢百分比比由用戶的較大組遞交的觸發給定類別的回答框的查詢百分比大閾值量時確定。備選地,主要查詢引擎204可以查看查詢的較小組,例如共享通過輸入匹配的模式的查詢。例如,在輸入包括城市名稱時,主要查詢引擎204可以計算包括城市名稱的查詢的百分比。在這些實現中,主要查詢引擎204對于輸入所述輸入107 的用戶分析用戶搜索歷史數據,以確定將由用戶遞交的先前查詢觸發的回答框的類別。例如,如果用戶頻繁搜索“weather”和各種城市名稱,則主要查詢引擎204識別用戶頻繁遞交導致呈現天氣回答框的搜索查詢。因此,如果輸入107是城市名稱“San Jose”,則查詢引擎 204可以識別主要查詢為“San Jose weather".作為另一示例,如果用戶頻繁遞交觸發提供關于各種股票的財經信息的財經回答框的查詢,并且用戶輸入識別股票的輸入107,則主要查詢引擎204可以識別主要查詢為“financial information”加股票的名稱,或者將類似地觸發財經信息回答框的一些其他查詢。在再一實現中,主要查詢208是與用戶簡檔數據最適合的查詢。用戶簡檔數據可以是由用戶輸入的顯式數據,并且可以例如包括用戶的位置、語言、時區和偏好。用戶簡檔數據也可以是根據需要確定的隱式數據,例如通過向用戶的IP地址應用地理定位而確定的用戶的位置。在這些實現中,主要查詢引擎204處理所述輸入,以確定所述輸入是否缺失了將觸發回答框的特定類別的項或者字符。如果所述輸入缺失了將觸發回答框的特定類別的項或者字符,則主要查詢引擎204可以使用簡檔數據以生成包括缺失的項或者字符的主要查詢。在一些實現中,主要查詢引擎204處理所述輸入以確定所述輸入是否可能缺失位置。例如,如果所述輸入以“weath”開始,則主要查詢引擎204可以確定用戶可能是請求天氣回答框。主要查詢引擎204可以通過將關鍵字或者規則表達匹配到所述輸入,而確定什么查詢缺失了位置。在這樣的實現中,主要查詢引擎204維持需要位置信息的關鍵字或者規則表達的列表,以與回答框相關聯,確定輸入何時與關鍵字或者規則表達相匹配但是不具有位置,并且然后從對于該用戶的用戶簡檔數據向所述輸入添加所述位置。在一些實現中,主要查詢引擎204分析用戶簡檔以確定輸入可能請求特定類別的回答框,并且選擇將觸發該特定查詢的回答框的主要查詢。例如,如果輸入是股票符號,并且用戶的簡檔數據包括表明該用戶跟蹤幾個股票的數據,則主要查詢引擎204可以確定用戶對金融信息感興趣,并且選擇將導致呈現對于股票的金融信息回答框的主要查詢。備選地,如果輸入是股票符號,并且用戶的簡檔數據包括表明該用戶跟蹤在輸入中識別的股票的數據,則主要查詢引擎204可以確定用戶對特定股票的金融細節感興趣,并且因此呈現該金融信息。用戶可以例如通過向他或她的簡檔中添加特定股票符號,并且然后要求管理該簡檔的系統為用戶提供股票更新來跟蹤該股票。其他用戶簡檔的示例包括用戶觀看的電影以及用戶的優選語言。例如,如果用戶在其簡檔中存儲了當前播放的一系列電影的電影觀看,并且用戶鍵入“showtimes”,則主要查詢引擎204可以識別包括該系列名稱的主要查詢。作為另一示例,如果用戶輸入了以“translate”開始的查詢,并且具有以與用戶的優選語言不同的語言的短語,則主要查詢引擎204可以生成請求將該短語翻譯為用戶的優選語言的主要查詢。在其他實現中,可以使用上述的一個或者多個啟發和技術的組合。例如,主要查詢引擎204可以根據查詢建議和對于輸入所述輸入107的用戶的用戶搜索歷史數據的分析, 選擇主要查詢208。主要查詢引擎204可以在用戶搜索歷史數據中過濾掉沒有出現多于閾值次數的查詢建議,或者可以通過查詢建議如何頻繁地出現在用戶搜索歷史數據中而調節對于上述的查詢建議的流行性得分。關聯引擎206接收主要查詢208并且獲得對于與主要查詢208相關聯的回答框的內容。例如,關聯引擎206可以維持回答框,觸發將回答框與對于該回答框最公共的觸發短語相關聯的短語數據庫。對于給定回答框的觸發短語是對于其做出響應而呈現所述回答框的搜索查詢。關聯引擎206可以確定對于每一個回答框最公共的觸發短語,例如通過分析描述對各種查詢做出響應多頻繁地觸發回答框的歷史數據。關聯引擎206使用該數據庫, 以通過識別數據庫中與主要查詢208相匹配的觸發短語來選擇回答框104,并且然后選擇與數據庫中的觸發短語相關聯的回答框。在新的查詢觸發回答框時,并且在創建回答框的新類別時,可以更新數據庫。作為另一示例,關聯引擎206可以確定主要查詢208與規則表達相匹配,或者包括與特定回答框104相關聯的一個或者多個關鍵字,并且然后選擇該回答框104。在一些實現中,關聯引擎206可以要求主要查詢208和輸入107 二者與規則表達相匹配,或者包含與特定回答框104相關聯的一個或者多個關鍵字。例如,如果定義回答框與跟隨有一個或者多個詞語的模式“定義”相關聯,則在選擇定義回答框用于主要查詢208之前,關聯引擎206 可以要求輸入107包括詞語“定義”、并且主要查詢208包含跟隨有一個或者多個詞語的詞語“定義”。在一些實現中,在選擇回答框104之前,關聯引擎206可以要求以下兩者主要查詢208和對于該主要查詢208被認為與相同回答框104相關聯的另一查詢。例如,如果從查詢建議的組中選擇主要查詢208,則在選擇回答框104之前,關聯引擎206可以確定主要查詢208和其他查詢建議中的一個這二者都與回答框104相關聯。如果識別多個主要查詢208,則關聯引擎206可以選擇被與主要查詢208最頻繁相關聯的回答框104,或者可以選擇對于每一主要查詢208的回答框104。一旦關聯引擎206選擇了回答框104,關聯引擎206就獲得對于該回答框104的內容。關聯引擎206如何獲得對于回答框的內容取決于該回答框是靜態或者動態。靜態回答框是其內容被預先確定的回答框。靜態回答框例如被存儲在存儲回答框的數據存儲中。相比而言,動態回答框是其內容被根據需要獲得的回答框。一些回答框可以在時間上的一些點處為靜態,并且在時間上的其他點處為動態。例如,回答框中的內容可以根據規則調度被更新。在需要更新內容時,回答框是動態回答框。然而,一旦更新了內容,則該內容被緩沖并且回答框是靜態回答框,直到用于下一個更新的時間。關聯引擎206從存儲靜態回答框的內容的數據存儲獲得對于靜態回答框的內容。在關聯引擎206正在獲得對于動態回答框的內容時,關聯引擎206對回答框的類別和參數做出響應而獲得內容,例如,根據與回答框104的類別相關聯的規則。關聯引擎 206可以從管理對于回答框104的類別的數據的后端服務器獲得內容。備選地,關聯引擎可以從緩沖對于最近獲得的回答框的內容的緩沖中接收內容。一旦關聯引擎206獲得內容,關聯引擎206就根據與該回答框104的類別相關聯的模板對該內容制定格式。圖3示出了用于獲得對于回答框的內容并且向用戶呈現該回答框的示例方法 300。出于方便,將參照執行方法300的系統描述該方法。所述系統可以例如是上面參照圖 1描述的回答框呈現系統102,包括上面參照圖2描述的選擇引擎202。在系統接收在搜索引擎查詢輸入字段中輸入的文本輸入的同時,并且在用戶遞交對于文本輸入的搜索請求之前,執行該方法。輸入可以例如按照上面參照圖1描述的被接收。系統例如按照上面參照圖2描述的推導與文本輸入相對應的主要查詢(302)。系統例如按照上面參照圖2描述的獲得對于與主要查詢相關聯的回答框的內容(304)。系統例如按照上面參照圖1描述的呈現所述回答框(306)。在一些實現中,系統呈現回答框連同對于用戶輸入的查詢建議。在這些實現中,系統可以選擇與查詢建議相關的回答框的位置。在一些實現中,系統總是在缺省位置處呈現回答框,例如在全部查詢建議之前,在全部查詢建議之后,或者緊接著與回答框相對應的主要查詢。在一些實現中,缺省定位對于回答框的類別特定或者對于主要查詢特定。例如,回答框的一些類別總是出現在查詢建議的結束處。在其他實現中,系統根據與查詢建議相關的回答框中的相關信任選擇對于該回答框的位置。該系統可以確定對于該回答框的信任得分,例如根據與回答框相關聯的主要查詢的流行性得分,或者根據其他因素。系統例如可以根據對用戶搜索歷史數據的分析確定對于查詢建議的信任得分,該用戶搜索歷史數據表明多頻繁地遞交每一個查詢、在被呈現為查詢建議時用戶多頻繁地選擇查詢建議,或者用戶多頻繁地點擊對查詢建議做出響應呈現的搜索結果。在其他實現中,系統備選地或者此外以回答框如何視覺突出或者分散為基礎選擇對于回答框的位置。例如,更加視覺突出或者分散的回答框可以被放置在查詢建議下方。視覺突出或者分散的回答框的類別、或者單獨回答框可以被例如使用經驗評估提前確定。系統可以存儲識別哪一個回答框視覺重要或者分散的數據,并且在需要時訪問該數據。圖4示出了另一示例回答框獲得器402。回答框獲得器402是上面參照圖1描述的回答框獲得器110的另一示例。回答框獲得器402包括歷史數據處理器404和選擇引擎 406。與上面參照圖2描述的回答框獲得器202不同,回答框獲得器402在不識別主要查詢的情況下獲得對于回答框104的內容。取而代之的是,回答框獲得器402根據歷史數據408 的分析獲得對于回答框104的內容。歷史數據408將輸入-回答框對與對于每一對的呈現值相關聯。每一個輸入-回答框對將文本輸入與回答框相關聯。如果對以與文本輸入相匹配的實際輸入開始的查詢做出響應而由搜索引擎呈現回答框,則該回答框被與文本輸入相關聯。查詢可以以實際輸入開始,例如在查詢是實際輸入時,或者在查詢是實際輸入的完整形式時。例如,如果實際輸入是“weather San Fr”,以該實際輸入開始的示例查詢包括“weather San Francisco”和 "weather San”。回答框可以連同對于查詢輸入的搜索結果被呈現給用戶,或者可以在遞交查詢之前例如連同對于該查詢的查詢建議被呈現,如上面參照圖1描述的。根據對用戶輸入與給定輸入-回答框對的文本輸入相匹配的實際輸入的完整形式做出響應,對于該回答框的呈現值是從搜索引擎呈現該對中回答框的次數推導得出。呈現值可以是呈現每一個回答框的次數計數。例如,歷史數據408可以表明輸入了以與
15"weather San”相匹配的文本開始的查詢的用戶被呈現表示San Francisco天氣的回答五十五次、表示San Jose天氣的回答框七十八次以及表示Santa !^天氣的回答框九十五次。所述呈現值也可以伸縮,例如通過用戶輸入以與該對中的文本輸入相匹配的實際輸入開始的查詢的總次數,或者用戶輸入與對于該對中的文本輸入的查詢建議相匹配的實際輸入的查詢的總次數。備選地或者此外,響應于作為實際輸入的完整形式的查詢匹配于輸入-回答框對、而呈現該對中的對話框時,對于該輸入-回答框的呈現值可增加,和/或響應于作為實際輸入的查詢匹配于該對中的文本輸入而呈現該對中的回答框時,對于該輸入-回答框的值可以降低。該加權允許歷史數據處理器410對于與查詢完整形式相對應的輸入-回答框對給出優先級。在輸入-回答框對中的回答框被連同對于查詢的搜索結果呈現時,也可以增加對于該對的呈現值,并且在該對中的回答框被連同對于查詢的查詢建議呈現時,也可以降低對于該對的呈現值。該加權允許歷史數據處理器410對于在用戶遞交了對于查詢的搜索之后呈現的回答框給出優先級。歷史數據408可以可選地通過用戶的各種類別進行劃分。示例類別包括用戶的地理位置、用戶的語言優選以及用戶的人口統計信息。用戶的地理位置可以例如包括城市、都市區域、州、國家或者大陸。用戶的語言優選可以包括用戶在簡檔中指定的優選、在用戶的客戶端設備上的網頁瀏覽器中指定的語言優選、或者根據用戶搜索行為確定的語言優選, 例如用戶發出的查詢的語言。人口統計信息可以包括用戶的年齡和性別。歷史數據408也可以例如通過單獨用戶被劃分。歷史數據408可以可選地包括一種表示,該表示表明對于每一個輸入-回答框對, 該對中的回答框對于輸入以與該對中的文本輸入相匹配的實際輸入開始的查詢的用戶如何有用。有用性的表示可以例如包括,用戶長時間段地瀏覽回答框或者許多用戶點擊回答框中的鏈接。有用性的表示也可以例如包括用戶頻繁地將鼠標光標放置在回答框附近、用戶在呈現回答框之后通常不細化其查詢、以及用戶經常不點擊連同回答框呈現的其他搜索結果或者查詢建議。歷史數據處理器404接收歷史數據408和輸入107,并且識別對于輸入107相關的歷史數據410。相關的歷史數據410是對于具有與輸入107相匹配的輸入的輸入-回答框對的歷史數據。在按照上述對用戶搜索歷史數據進行分類時,相關的歷史數據410可以是對于與輸入該輸入107的用戶處于相同類別中的用戶的數據。相關的歷史數據410可以備選地就是對于輸入該輸入107的用戶的數據。選擇引擎406接收相關的歷史數據410,并且根據對于每一個輸入_回答框對的呈現值選擇輸入-回答框對。例如,選擇引擎406可以選擇具有最大呈現值的輸入-回答框對。在一些實現中,在歷史數據408包括每一對中的回答框對于輸入與該對中的文本輸入相匹配的實際輸入的完整形式的用戶如何有用的表示時,選擇引擎406可以根據該有用性表示進一步選擇輸入-回答框。例如,選擇引擎406可以通過組合呈現值和有用性表示,例如通過對兩個值進行加法或者乘法運算,生成對于每一個輸入-回答框的得分,并且然后選擇具有最高得分的輸入-回答框對。選擇引擎406也可以過濾掉不滿足有用性閾值的輸入-回答框對,并且然后根據其各自呈現值從剩余的輸入-回答框對中進行選擇。有用性閾值是對于有用性表示的閾值并且可以被根據經驗確定。—旦選擇引擎406選擇了輸入-回答框對,選擇引擎406然后獲得對于在所選擇的輸入-回答框對中的回答框的內容,例如,如上面參照圖2描述的。圖5示出了用戶獲得對于回答框的內容并且向用戶呈現回答框的另一示例方法 500。出于方便,將參照執行方法500的系統描述該方法。所述系統例如可以是上面參照圖 1描述的回答框呈現系統102,包括上面參照圖4描述的選擇引擎402。在系統接收在搜索引擎輸入字段中輸入的文本輸入的同時、并且在用戶遞交對于該文本輸入的搜索請求之前執行該方法。輸入可以例如如上面參照圖1描述的被接收。系統訪問將輸入-回答框對的組中的每一個輸入-回答框對與呈現值相關聯的歷史數據(502),例如如上面參照圖4描述的。系統根據所述歷史數據識別候選輸入-回答框對 (504),例如如上面參照圖4描述的。系統根據對于每一個候選輸入-回答框對的呈現值從候選輸入-回答框對中選擇輸入-回答框對(506),例如如上面參照圖4描述的。系統獲得對于所選擇的對中的回答框的內容(508),例如如上面參照圖4描述的。系統向用戶呈現回答框(510),例如如上面參照圖1描述的。在一些實現中,系統使用方法500以驗證根據方法300選擇的回答框是對于查詢的最好回答框,例如通過驗證兩種方法選擇相同的回答框。圖6A-60示出了對未遞交的用戶輸入的文本輸入做出響應呈現的示例回答框。可以例如使用上面描述的技術獲得對于示例回答框的內容并且呈現該示例回答框。圖6A示出了對于輸入“weath”604連同查詢建議603呈現的示例天氣回答框 602。天氣回答框602以對于該用戶的用戶簡檔數據中的位置信息為基礎呈現對于San Francisco的天氣信息的概要。圖6B示出了對用戶輸入了輸入“AC 756” 608做出響應呈現的示例航班跟蹤回答框606。航班跟蹤回答框606呈現由用戶指定的航班的特定航程的概要。圖6C示出了對用戶輸入了輸入“time lond”611做出響應呈現的示例時間轉換回答框610。時間轉換回答框610呈現倫敦、英國的當前時間,盡管輸入611僅識別城市名稱的前幾個字符。圖6D示出了對用戶輸入了輸入“416 ” 614做出響應呈現的示例位置回答框612。 位置回答框612提供對于區域代碼416的位置細節,例如其是對于加拿大安大略多倫多的區域代碼。位置回答框612還包括到與區域代碼416相對應的區域的地圖的鏈接。圖6E示出了對用戶輸入了輸入“usd to au”618做出響應呈現的示例貨幣轉換回答框616。貨幣轉換回答框616呈現從美元到澳元的當前轉換匯率,盡管輸入618不完全識別澳元。圖6F示出了對用戶輸入了輸入“dow j”622做出響應呈現的示例股票信息回答框 620。股票信息回答框620呈現對于具有股票代碼“dji”的股票索引的細節的概要,并且包括對具有關于該股票索引的更多信息的網頁的鏈接。圖6G示出了對用戶輸入了輸入“how old is che” 630做出響應呈現的示例回答框628。回答框擬8呈現Cher的年齡和生日。圖6H示出了對用戶輸入了輸入“define lov” 634做出響應呈現的示例定義回答框632。定義回答框632呈現對于愛情的不同定義。圖61示出了對用戶輸入了輸入“24*7”638做出響應呈現的示例計算回答框636。 計算回答框638呈現用戶輸入的乘法的執行結果。
圖6J示出了對用戶輸入了輸入“220mileS in k”642做出響應呈現的示例轉換回答框640。示例轉換回答框640呈現220英里到千米的轉換結果。圖6K示出了對用戶輸入了輸入“slumd”646做出響應呈現的對于電影Slumdog Millionaire的示例電影放映時間回答框644。電影放映時間框644列出了對于存儲在用戶簡檔中的用戶的位置的放映時間。圖6L示出了對用戶輸入了輸入“amc mere” 650做出響應呈現的對于San Francisco的示例電影放映時間回答框648。放映時間是針對該用戶的位置。圖6M示出了對用戶輸入了輸入“movi”6M做出響應呈現的對于San Francisco 的示例電影放映時間回答框652。圖6N示出了表示“ coche ”從西班牙文到英文的翻譯的示例翻譯回答框656。對用戶輸入了輸入“ Co ” 658做出響應呈現該翻譯回答框656。圖60示出了提供關于Bostion Red Sox的細節的示例體育運動統計回答框660。 對用戶輸入了輸入“red so”662做出響應呈現體育統計回答框660。在該說明書中描述的主題的實施方式和功能操作可以被實現在數字電子電路中、 或者包括在該說明書中公開的結構及其結構等同物的計算機軟件、固件或者硬件中、或者其中的一個或者多個的組合中。在該說明書中描述的主題的實施方式可以被實現為一個或者多個計算機程序,即被編碼在用于由數據處理裝置執行的計算機存儲介質上的計算機程序指令的一個或者多個模塊,或者以控制所述數據處理裝置的操作。備選地或者此外,所述程序指令可以被編碼在作為人工生成的信號的傳播信號中,例如機器生成的電、光或者電磁信號,其被生成以編碼用于傳輸到適合接收器裝置的信息用于由數據處理裝置執行。計算機存儲介質可以是機器可讀存儲設備、機器可讀存儲基底、隨機或者串行訪問存儲器設備、或者其中的一個或者多個的組合。術語“數據處理裝置”包含用于處理數據的裝置、設備和機器的全部種類,以示例的方式包括可編程處理器、移動設備、計算機或者多個處理器或者計算機。所述裝置可以包括專用邏輯電路,例如FPGA (現場可編程門陣列)或者ASIC (專用集成電路)。除了硬件,所述裝置也可以包括對于所討論的計算機程序創建執行環境的代碼,例如構成處理器固件、 協議棧、數據庫管理系統、操作系統或者其中的一個或者多個的組合的代碼。計算機程序(也被稱為程序、軟件、軟件應用程序、腳本或者代碼)可以被以任何形式的編程語言編寫,包括編譯或者解釋語言,說明性或者過程語言,并且其可以以任何形式被采用,包括作為單機程序或者作為模塊、部件、子例程或者適合于在計算環境中使用的其他單元。計算機程序可以但是不需要與文件系統中的文件相對應。程序可以被存儲在保持其他程序或者數據(例如存儲在標記語言文檔中的一個或者多個腳本)的文件的一部分中、專用于所討論的程序的單個文件中、或者多個協同文件中(例如存儲代碼的一個或者多個模塊、子程序或者一部分的文件)。計算機程序可以被采用以在位于一個位置處或者被分布在多個位置上并且通過通信網絡互連的一個計算機上或者在多個計算機上被執行。在本說明書中描述的處理和邏輯流可以通過執行一個或者多個計算機程序的一個或者多個可編程處理器執行,以通過對輸入數據進行操作并且生成輸出來執行功能。所述處理和邏輯流也可以通過專用邏輯電路執行,并且裝置也可以被實現為所述專用邏輯電路,該專用邏輯電路例如FPGA(現場可編程門陣列)或者ASIC(專用集成電路)。
通過示例的方式,適合于計算機程序的執行的處理器包括通用微處理器和專用微處理器二者,以及任何種類的數字計算機的任意一個或者多個處理器。通常,處理器將從只讀存儲器或者隨機訪問存儲器或者二者接收指令和數據。計算機的基本元件是用于運行或者執行指令的處理器以及用于存儲指令和數據的一個或者多個存儲器設備。通常,計算機也將包括用于存儲數據的一個或者多個海量存儲設備,例如磁、磁-光盤或者光盤,或者計算機將被可操作地耦合以從所述一個或者多個海量存儲設備接收或者向所述一個或者多個海量存儲設備傳輸數據,或者上述二者。然而,計算機不需要具有這樣的設備。而且,計算機可以被嵌入在另一設備中,例如移動電話、個人數字助理(PDA)、移動音頻或者視頻播放器、游戲控制臺、全球定位系統(GPQ接收器、或者便攜式存儲設備(例如通用串行總線 (USB)閃存驅動)等等。適于存儲計算機程序指令和數據的計算機可讀介質包括非易失性存儲器、介質和存儲器設備的全部形式,通過示例的方式包括半導體存儲器設備,例如EPROM、EEPROM和閃存設備;磁盤,例如內部硬盤或者可移除盤;磁-光盤;以及⑶-ROM和DVD-ROM盤。處理器和存儲器可以通過專用邏輯電路補充或者被結合在該專用邏輯電路中。為了提供與用戶的交互,在本說明書中描述的主題的實施方式可以被實現在具有顯示設備和鍵盤以及指示設備的計算機上,該顯示設備例如是CRT(陰極射線管)或者 LCD(液晶顯示器)監視器,用于向用戶顯示信息,所述指示設備例如是用戶通過其可以向計算機提供輸入的鼠標或者軌跡球。其他種類的設備也可以用于提供與用戶交互;例如,提供到用戶的反饋可以是感測反饋的任意形式,例如視覺反饋、音頻反饋、或者可觸覺反饋; 并且來自用戶的輸入可以被以任何形式接收,包括聲學、語音或者可觸覺輸入。此外,計算機可以通過向用戶使用的設備發送文檔、或者從該設備接收文檔而與用戶交互;例如通過對從用戶的客戶端設備上的網頁瀏覽器接收的請求做出響應,向該網頁瀏覽器發送網頁。在該說明書中描述的主題的實施方式可以被實現在計算系統中,該計算系統包括例如作為數據服務器的后端部件,或者包括例如應用程序服務器的中間件部件,或者包括例如具有用戶經過其可以與在本說明書中描述的主題的實現交互的圖形用戶界面或者網頁瀏覽器的客戶端計算機的前端部件,或者包括一個或者多個這樣的后端、中間件或者前端部件的任意組合。所述系統的部件可以通過例如通信網絡的數字數據通信的任何形式或者介質互連。通信網絡的示例包括局域網(“LAN”)和例如以太網的寬域網(“WAN”)。所述計算系統可以包括客戶端和服務器。客戶端和服務器通常彼此遠離并且典型地經過通信網絡交互。客戶端和服務器的關系利用在各自計算機上運行、并且具有彼此的客戶端-服務器關系的計算機程序實現。盡管該說明書包含許多特定實現細節,但是這些將不被認為對所請求保護的任何發明的范圍的限制,而是被認為對作為特定發明的特定實施方式特定的特征的描述。在該說明書中單獨實施方式的上下文中描述的某些特征也可以被組合實現或者在單個實施方式中實現。相反,在單個實施方式的上下文中描述的各種特征也可以被單獨實現在多個實施方式中,或者在任何適合的子組合中。而且,盡管上面將特征描述為在某些實施方式中起作用,并且甚至最初以此形式請求保護,但是在某些情況下來自請求保護的組合的一個或者多個特征可以被從該組合中刪除,并且所請求保護的組合可以涉及子組合或者子組合的變體。
類似地,盡管在附圖中按照特定的順序闡述了操作,但是這不應當被理解為要求按照所示的特定順序或者按照順次的順序執行這樣的操作,或者執行全部說明的操作,以實現期望的結果。在某些情形中,多任務和并行處理會是有利的。而且,在上面描述的實施方式中各種系統部件的分離不應當被理解為在全部實施方式中要求這樣的分離,并且應當被理解為所描述的程序部件和系統可以通常被一起集成在單個軟件產品中或者被包裝在多個軟件產品中。描述了所述主題的特定實施方式。其他實施方式在下面權利要求的范圍內。例如, 回答框可以例如在數據庫中被手動與文本輸入相關聯,并且可以根據該數據庫中的相關聯對于未提交的文本輸入選擇回答框。例如,可以按照不同的順序執行在權利要求中闡述的行為并且仍然實現期望的結果。作為一個示例,在附圖中闡釋的處理不必要求所示的特定過順序,或者序列順序,以實現期望的結果。在某些實現中,多任務和并行處理會是有利的。權利要求書如所附。
權利要求
1.一種計算機實現的方法,包括在接收由第一用戶在搜索引擎查詢輸入字段中輸入的第一文本輸入的同時,并且在所述第一用戶已經遞交所述第一文本輸入作為搜索請求之前在數據處理系統中根據所述第一文本輸入推導第一主要查詢;由所述系統獲得與所述第一主要查詢相關聯的第一回答框的內容;以及向所述第一用戶呈現所述第一回答框。
2.如權利要求1所述的方法,其中所述第一主要查詢與所述第一文本輸入不同。
3.如權利要求1所述的方法,其中識別所述第一主要查詢包括接收包括針對所述第一文本輸入的一個或者多個查詢建議的查詢的組;確定對于所述查詢的組中的每一個查詢的流行性值,所述對于每一個查詢的流行性值是根據一個或者多個用戶遞交所述查詢建議的次數推導的;以及將從所述一個或者多個查詢中選擇的查詢識別為所述第一主要查詢,所選擇的查詢具有超出閾值的流行性值。
4.如權利要求3所述的方法,其中所述查詢的組進一步包括所述第一文本輸入。
5.如權利要求3所述的方法,其中所述對于每一個查詢的流行性值是如下值一個或者多個用戶遞交對于所述查詢建議的搜索的次數、除以所述一個或者多個用戶遞交對于所述多個查詢建議中的每一個查詢建議的搜索的總次數。
6.如權利要求3所述的方法,其中所述對于每一個查詢的流行性值是一個或者多個用戶遞交針對所述查詢建議的搜索的次數除以所述一個或者多個用戶遞交針對以與所述第一文本輸入相匹配的文本開始的查詢的搜索的總次數的值。
7.如權利要求1所述的方法,其中識別所述第一主要查詢包括根據所述第一用戶的用戶搜索歷史,識別由所述第一用戶遞交的、以與所述第一文本輸入相匹配的文本開始的一個或者多個查詢;以及以所述第一主要查詢在所述用戶搜索歷史中出現滿足閾值的次數為基礎,從所述一個或者多個查詢識別所述第一主要查詢。
8.如權利要求7所述的方法,其中如果所述文本與所述第一文本輸入相同,則所述文本與所述第一文本輸入相匹配。
9.如權利要求7所述的方法,其中如果除了停止詞語的使用、除了拼寫的區別、除了所述文本使用同義詞代替所述第一文本輸入中的術語項、除了詞語順序或者除了前述例外的兩個或者更多的組合,所述文本與所述第一文本輸入相同,則所述文本與所述第一文本輸入相匹配。
10.如權利要求7所述的方法,其中所述閾值通過將用戶遞交所述一個或者多個查詢的總次數乘以預定義因數來確定。
11.如權利要求1所述的方法,其中識別所述第一主要查詢包括以所述第一主要查詢在所述用戶搜索歷史中出現滿足閾值的次數為基礎,根據所述第一用戶的用戶搜索歷史來識別所述第一主要查詢。
12.如權利要求1所述的方法,其中識別所述第一主要查詢包括分析所述第一用戶的用戶搜索歷史,以確定所述第一用戶頻繁遞交觸發具有特定類別的回答框的查詢;以及識別將與所述特別類別的回答框相關聯的查詢作為識別為所述第一主要查詢。
13.如權利要求1所述的方法,其中識別所述第一主要查詢包括. 確定所述第一輸入缺失觸發回答框所需要的信息;從對于所述第一用戶的用戶簡檔數據獲得所需要的信息;以及從所述第一文本輸入以及所需要的信息生成所述第一主要查詢。
14.如權利要求13所述的方法,其中所需要的信息是所述第一用戶的位置或者所述第一用戶的語言。
15.如權利要求1所述的方法,其中識別所述第一主要查詢包括分析所述第一用戶的用戶簡檔數據,以確定回答框的特定類別與所述第一用戶相關;以及將所述第一主要查詢識別為與所述特別類別的回答框相關聯的查詢。
16.如權利要求1所述的方法,進一步包括在選擇所述第一回答框之前,向所述第一用戶呈現多個查詢建議并且接收數據,所述數據表明所述第一用戶將光標放置在所述多個查詢建議中被選擇的查詢建議上方;以及將所述被選擇的查詢建議識別為所述第一主要查詢。
17.如權利要求1所述的方法,進一步包括接收與所述第一文本輸入相對應的多個查詢建議;其中呈現所述第一回答框包括呈現包括所述查詢建議和所述第一回答框的顯示。
18.如權利要求1所述的方法,其中獲得所述第一回答框的內容包括 訪問將觸發短語與回答框相關聯的數據;以及獲得對于與所述數據中的所述主要查詢相關聯的所述回答框的內容。
19.如權利要求1所述的方法,其中 所述第一回答框是動態的;以及獲得所述第一回答框的內容包括獲得所述第一回答框的更新的內容,以及根據用于所述第一回答框的模板為所述更新的內容制定格式。
20.如權利要求1所述的方法,其中 所述第一回答框是靜態的;以及獲得所述第一回答框的內容包括從存儲靜態回答框的內容的數據存儲獲得所述靜態第一回答框的內容。
21.如權利要求1所述的方法,進一步包括在接收所述第一文本輸入的同時,并且在所述第一用戶已經遞交所述用戶文本輸入作為搜索請求之前根據所述第一文本輸入識別第二主要查詢,所述第二主要查詢與所述第一主要查詢不同;獲得與所述第二主要查詢相關聯的第二回答框的內容;以及向所述第一用戶呈現所述第二回答框。
22.—種計算機實現的方法,包括在接收由用戶在搜索引擎查詢輸入字段中輸入的用戶輸入的同時,并且在所述用戶已經遞交所述用戶輸入作為搜索請求之前在數據處理系統中訪問歷史數據,所述歷史數據將多個輸入-回答框對中的每一個與各自呈現值相關聯,每一個輸入-回答框對將文本輸入與回答框相關聯,其中如果搜索引擎響應于以與一個文本輸入相匹配的實際輸入開始的查詢而呈現一個回答框,則所述文本輸入與所述回答框相關聯,并且其中根據所述搜索引擎響應于以與所述對中的所述文本輸入相匹配的實際輸入開始的查詢而呈現的所述對中所述回答框的次數,來推導針對每一個輸入-回答框對的所述呈現值;在所述數據處理系統中并且根據所述歷史數據識別一個或者多個候選輸入-回答框對,其中對于每一個候選對的所述文本輸入與所述用戶輸入相匹配;通過所述數據處理系統從所述一個或者多個候選對中選擇一個對,其中根據對于每一個候選對的所述呈現值選擇所述對;獲得對于位于所選擇的對中的所述回答框的內容;以及向所述用戶呈現所述回答框。
23.如權利要求22所述的方法,其中對于每一個輸入-回答框對的所述呈現值是如下值對所述搜索引擎響應于以與所述對中的所述文本輸入相匹配的實際輸入開始的查詢而呈現所述對中的所述回答框的次數,除以由所述搜索引擎接收的以與所述對中的所述文本輸入相匹配的實際輸入開始的查詢的總次數。
24.如權利要求22所述的方法,其中對于每一個輸入-回答框對的所述呈現值是如下值對所述搜索引擎響應于以與所述對中的所述文本輸入相匹配的實際輸入開始的查詢而呈現所述對中的所述回答框的次數,除以用戶遞交對于所述對中的所述文本輸入的一個或者多個查詢建議的查詢的總次數的值。
25.如權利要求22所述的方法,進一步包括對于每一個候選輸入-回答框對,接收所述對中的所述候選回答框對于遞交以與所述對中的所述文本輸入相匹配的實際輸入開始的查詢的用戶是否有用的表示,其中選擇所述候選回答框進一步以所接收的表示為基礎。
26.如權利要求22所述的方法,進一步包括接收對于所述用戶輸入的多個查詢建議, 其中呈現所述回答框包括呈現包括所述查詢建議和所述回答框的顯示。
27.如權利要求22所述的方法,其中所述一個或者多個用戶是所述用戶。
28.如權利要求22所述的方法,其中所述一個或者多個用戶包括多個用戶。
29.—種系統,包括被編程以執行操作的一個或者多個計算機,所述操作包括在接收由第一用戶在搜索引擎查詢輸入字段中輸入的第一文本輸入的同時,并且在所述第一用戶已經遞交所述第一文本輸入作為搜索請求之前在數據處理系統中根據所述第一文本輸入推導第一主要查詢;通過所述系統獲得對于與所述第一主要查詢相關聯的第一回答框的內容;以及向所述第一用戶程序所述第一回答框。
30.一種系統,包括被編程以執行操作的一個或者多個計算機,所述操作包括在接收由用戶在搜索引擎查詢輸入字段中輸入的用戶輸入的同時,并且在所述用戶已經遞交所述用戶輸入作為搜索請求之前在數據處理系統中訪問歷史數據,所述歷史數據將多個輸入-回答框對的每一個與各自呈現值相關聯,每一個輸入-回答框對將輸入文本與回答框相關聯,其中如果搜索引擎響應于以與一個文本輸入相匹配的實際輸入開始的查詢而呈現一個回答框,則所述文本輸入與所述回答框相關聯,并且其中根據所述搜索引擎響應于以與所述對中的所述文本輸入相匹配的實際輸入開始的查詢而呈現的所述對中的所述回答框的次數,來推導對于每一個輸入-回答框對的所述呈現值;在所述數據處理系統中并且根據所述歷史數據,識別一個或者多個候選輸入-回答框對,其中對于每一個候選對的所述文本輸入與所述用戶輸入相匹配;通過所述數據處理系統從所述一個或者多個候選對中選擇一個對,其中根據對于每一個候選對的所述呈現值選擇所述對;獲得對于所選擇的對中的所述回答框的內容;以及向所述用戶呈現所述回答框。
全文摘要
用于識別用于呈現給用戶的回答框的方法、系統和裝置,包括被編碼在計算機存儲介質上的計算機程序。通常,在本說明書中描述的主題的一個方面可以被實現為方法,所述方法包括行為在接收由第一用戶在搜索查詢輸入字段中輸入的輸入的同時,并且在所述第一用戶已經遞交所述輸入作為搜索請求之前,獲得對于所述輸入的回答框的內容,并且向所述第一用戶呈現所述回答框。所述回答框可以是與對于所述輸入的主要查詢相關聯的回答框,或者可以是根據對于所述輸入的歷史回答框數據而識別的回答框。
文檔編號G06F17/30GK102576368SQ201080046824
公開日2012年7月11日 申請日期2010年8月31日 優先權日2009年8月31日
發明者C·R·迪哈納雷, D·E·勒孔特, J·J·埃弗拉特, O·漢松 申請人:谷歌公司