基于上下文的搜索查詢構成的制作方法
【專利摘要】通過將從文檔選擇文本識別為用戶希望基于該所選文本發(fā)起搜索的指示來輔助搜索?;谒x文本向用戶提供查詢建議,查詢建議基于該文檔所提供的上下文來進行排名。用戶可通過使用鼠標、在觸屏上圍繞文本繪制環(huán)、或通過其他輸入技術來選擇文本。查詢建議可基于應用于所選文本的查詢重制定或查詢擴展技術。該文檔所提供的上下文被語言模型和/或人工智能系統(tǒng)用來基于所選文本和該上下文以預測的相關性順序對查詢建議進行排名。
【專利說明】基于上下文的搜索查詢構成
【背景技術】
[0001] 許多因特網搜索是由用戶正在瀏覽的網頁觸發(fā)的。也就是說,在消費網頁上的內 容之后,用戶決定發(fā)起搜索。為了實現該搜索,用戶必須離開網頁以訪問搜索引擎。用戶可 從網頁將單詞復制并粘貼到搜索框中,或手動地構成一搜索查詢來輸入到搜索框或搜索引 擎網頁中。用于生產該搜索查詢的任一種技術可能遭受到以下缺陷,例如缺乏特異性、具有 多個含義的搜索項、以及搜索項之間的含糊關系。
[0002] 在搜索結果被返回之后,用戶可離開搜索界面并返回到web瀏覽。網頁和搜索界 面之間的這種交替是低效的。而且,與各種用戶界面的交互(如文本選擇、復制、粘貼等) 可能變得乏味,尤其是在小形狀因子設備或具有有限的輸入文本的能力的設備上,例如移 動電話、平板計算機、游戲控制臺、電視機等。隨著越來越多的用戶通過除了傳統(tǒng)計算機之 外的設備訪問網頁和其他電子文檔,將越來越需要平滑地集成文檔消費和搜索。能夠這么 做并額外地提供改進的搜索查詢的系統(tǒng)將有益于用戶。
【發(fā)明內容】
[0003] 提供本
【發(fā)明內容】
以便以簡化形式介紹將在以下【具體實施方式】中進一步描述的一 些概念。本
【發(fā)明內容】
并不旨在標識所要求保護主題的關鍵特征或必要特征,也不旨在用于 限制所要求保護主題的范圍。
[0004] 本公開解釋了用于使用網頁或其他文檔上用戶關注的區(qū)域以及周圍上下文來生 成多個搜索查詢并對其進行排名的技術。在瀏覽網頁時,用戶從網頁選擇文本。對文本的 選擇還生成一命令以使用該文本作為生成候選查詢(可產生與所選文本相關的結果的搜 索查詢)的起始點??蓱枚喾N類型的搜索查詢擴展或搜索查詢重制定技術來從所選文本 生成多個候選查詢。用戶然后可選擇這些搜索查詢中的一個來提交給搜索引擎。從而,瀏 覽動作與搜索動作相組合,創(chuàng)建了一種通過簡單地從網頁選擇文本然后選擇候選查詢之一 來允許"Browsing to Search"(瀏覽以搜索)的接口。
[0005] 為了將用戶引導到該組候選查詢中的一搜索查詢,文檔的上下文被考慮。根據所 瀏覽的網頁所提供的上下文對候選查詢進行的評估被用于對各個候選查詢進行排名??紤] 周圍上下文有助于對候選查詢進行排名,因為所瀏覽的網頁可能包含可被使用來消歧候選 查詢中的搜索項的單詞(可能帶有修改)并可將候選查詢和與同一網頁相關的先前的搜索 查詢相比較。
[0006] 對候選查詢的排名可由語言模型、分類方法或兩者的組合來執(zhí)行。語言模型可被 實現為在給定所選文本和周圍上下文的情況下確定一候選查詢的概率的模型。分類方法使 用包含網頁上的所選文本以及相關聯的查詢的訓練數據。人類審閱者確定網頁的所選文本 是否可能導致用戶作出該相關聯的搜索查詢。如果是,則所選文本和查詢的對被機器學習 系統(tǒng)使用來學習在給定所選文本和上下文的情況下預測一候選查詢的置信度水平的函數。
【專利附圖】
【附圖說明】
[0007] 參考附圖描述【具體實施方式】。在附圖中,附圖標記最左邊的數字標識該附圖標記 首次出現于其中的的附圖。在不同附圖中使用相同的附圖標記指示相似或相同的項。
[0008] 圖1是示出包括查詢制定器的信息處理系統(tǒng)的說明性架構。
[0009] 圖2示出來自圖1的架構的說明性數據和組件的示意表示。
[0010] 圖3示出具有所選文本的說明性文檔。
[0011] 圖4示出用于選擇文本的兩個說明性用戶界面。
[0012] 圖5是示出響應于對文本的用戶選擇提供候選查詢的排名列表的說明性方法的 說明性流程圖。
【具體實施方式】
[0013] 說明性架構
[0014] 圖1示出一架構100,其中用戶102可與本地計算設備104交互來獲得搜索查詢。 本地計算設備104可以是任何類型的計算設備,如臺式計算機、筆記本計算機、平板計算 機、智能電話、游戲控制臺、電視機等。本地計算設備104可經網絡106與一個或多個網絡 可訪問的計算設備108通信。網絡106可以是任何一種或多種類型的數據通信網絡,如局 域網、廣域網、因特網、電話網絡、有線網絡、對等網絡、網狀網絡等。網絡可訪問的計算設備 108可以被實現為多種類型的計算設備中的任何類型或組合,如網絡服務器、Web服務器、 文件服務器、超級計算機、臺式計算機等等。網絡可訪問的計算設備108可包括或可通信上 連接到一個或多個搜索引擎110。搜索引擎110可在由提供搜索服務的某一實體所維護的 一個或多個專用計算設備上實現。
[0015] 信息處理系統(tǒng)112包含在一個或多個位置上分布的一個或多個處理元件114以及 存儲器116。處理元件114可包括中央處理單元(CPU)、圖形處理單元(GPU)、單核處理器、 多核處理器、專用集成電路(ASIC)等等的任何組合。除了硬件實現之外,一個或多個處理 元件114可用軟件和/或固件實現。處理元件114的軟件或固件實現可包括用任何合適的 編程語言編寫的用于執(zhí)行所述各種功能的計算機或機器可執(zhí)行指令。處理元件114的軟件 實現可整體上或部分地存儲在存儲器116中。
[0016] 存儲器116可以存儲可在處理元件114上加載并執(zhí)行的指令的程序,以及在這些 程序的執(zhí)行期間生成的數據。存儲在存儲器116上的程序和數據的示例可以包括用于控制 對本地計算設備104、網絡可訪問的計算設備108可用的硬件和軟件資源的操作的操作系 統(tǒng)、用于與硬件設備交互的驅動程序、用于向網絡106以及其它計算設備發(fā)送數據和/或從 網絡106和其它計算設備接收數據的通信協(xié)議,以及另外的軟件應用。取決于本地計算設 備104和/或網絡可訪問的計算設備108的配置和類型,存儲器116可以是易失性的(如 RAM)和/或非易失性的(如ROM、閃存等)。
[0017] 信息處理系統(tǒng)112還可包括附加的計算機可讀介質,如可移動存儲、不可移動存 儲、本地存儲和/或遠程存儲。存儲器116及任何相關聯的計算機可讀介質可提供對計算 機可讀指令、數據結構、程序模塊以及其它數據的存儲。計算機可讀介質包括至少兩種類型 的計算機可讀介質,即計算機存儲介質和通信介質。
[0018] 計算機存儲介質包括以用于存儲諸如計算機可讀指令、數據結構、程序模塊或其 他數據之類的信息的任何方法或技術實現的易失性和非易失性、可移動和不可移動介質。 計算機存儲介質包括但不限于,RAM、ROM、EEPROM、閃存或其他存儲器技術、CD-ROM、數字多 功能盤(DVD)或其他光存儲、磁帶盒、磁帶、磁盤存儲或其他磁存儲設備,或者可用于存儲 信息以供計算設備訪問的任何其他非傳輸介質。
[0019] 相反,通信介質可在諸如載波之類的已調制數據信號或其他傳輸機制中體現計算 機可讀指令、數據結構、程序模塊或其他數據。如本文所定義的,計算機存儲介質不包括通 信介質。
[0020] 信息處理系統(tǒng)112可整體上或部分地存在于本地計算設備104和網絡可訪問的計 算設備108中的任一個或兩者上。從而,信息處理系統(tǒng)112可以是分布式系統(tǒng),其中各種物 理和數據組件存在于一個或多個位置處且一起作用來執(zhí)行信息處理系統(tǒng)112的角色。在某 些實現中,信息處理系統(tǒng)112的所有特征可存在于本地計算設備104上。在其他實現中,本 地計算設備104可以是瘦客戶機,瘦客戶機僅接收顯示數據并將用戶輸入信號傳送到諸如 網絡可訪問的計算設備108之類的另一設備,該另一設備包含信息處理系統(tǒng)112。
[0021] 信息處理系統(tǒng)112可包含為用戶102制定搜索查詢的查詢制定器118。在某些實 現中,查詢制定器118可以整體上或部分地存儲在存儲器116中。在其他實現中,查詢制定 器118可以被實現為處理元件114的一部分,如ASIC的一部分。與信息處理系統(tǒng)112本身 類似,查詢制定器118可整體上或部分地存在于本地計算設備104和網絡可訪問的計算設 備108中的任一個或兩者上。在查詢制定器118的全部或部分冗余地位于多個計算設備上 的實現中,選擇哪個計算設備來用于實現查詢制定器118可基于相對處理速度、跨網絡106 的信息傳送速度、和/或其他因素。
[0022] 圖2示出通過圖1中所示的架構100的查詢制定器118以及其他部分的信息和數 據流。當用戶102從一文檔選擇文本時,這為查詢制定器118提供了輸入來制定查詢。所選 文本202和上下文204由搜索發(fā)起模塊206接收。所選文本202可由與本地計算設備104 交互的用戶102選擇,以通過用于從一文檔選擇文本的任何常規(guī)機制選擇或指示出文本的 一個段落或多個段落。上下文204可包括該文檔中圍繞所選文本202或在所選文本202 附近的其他文本。上下文204還可包括基于文檔的預期用途或可能用途的對文檔的分類。 例如,如果該文檔是網頁且該網頁被標識為用于銷售商品和服務的商家網頁,則上下文204 可識別出用戶102可能正在搜索某一商品或服務來購買。用戶102在選擇文本202之前的 先前動作也可提供上下文204。例如,用戶102提交的近期的搜索查詢可提供關于用戶102 當前正在搜索的話題或區(qū)域的上下文204。
[0023] 搜索發(fā)起模塊206可將來自用戶的選擇所選文本202的單個輸入解釋為對文本的 選擇以及解釋為基于所選文本202生成搜索查詢的命令。例如,如果用戶102移動光標來 從一文檔選擇連續(xù)的一連串文本,則用戶102不需要將該文本粘貼或移動到一不同的界面 來接收搜索查詢建議。對文本本身的選擇可由搜索發(fā)起模塊206解釋為生成一個或多個搜 索查詢的命令。搜索發(fā)起模塊206的這種雙重角色允許用戶僅用與本地計算設備104的單 個輸入或交互來既選擇文本又請求搜索查詢。
[0024] 搜索發(fā)起模塊206將所選文本202、上下文204、以及生成搜索查詢的該命令傳遞 給查詢制定器118。查詢制定器118可包括從所選文本202生成候選查詢的候選查詢生成 器208。候選查詢生成器208可向所選文本202應用查詢擴展或查詢重制定技術。候選查詢 生成器208可通過包含同義字、添加單詞的替代語形學形式、錯誤拼寫的單詞的正確拼寫、 和/或提供單詞的替代拼寫來從所選文本202創(chuàng)建候選查詢。當用戶不能精確地選擇感興 趣的文本時,如當該文本是通過在其周圍(用手指)繪制橢圓來被選擇時,某一單詞或短語 可能被意外地拆分成兩部分。后處理工作可包括從所選文本中去除無關字符,或前置/附 加相關字符。在某些實現中,與該文檔相關聯的查詢的查詢日志被用于生成候選查詢。使 用查詢日志的查詢擴展技術可包括向查詢日志應用K均值算法,對通過解析查詢日志生成 的二分查詢一文檔圖進行隨機游走,對從查詢日志中生成的查詢一流圖運行PageRank(頁 面排名)算法,或從查詢日志中挖掘搜索項關聯模式。
[0025] 候選查詢生成器208可直接生成候選查詢,或者候選查詢生成器208可將所選文 本202傳遞給查詢制定器118外部的另一模塊或系統(tǒng)(如與搜索引擎相關聯的查詢重制定 器模塊)。候選查詢生成器208可通過將所選文本202傳遞給另一系統(tǒng)或模塊然后從該外 部模塊或系統(tǒng)接收候選查詢來有效地生成候選查詢。候選查詢生成器208可從所選文本 202生成任何數量的查詢。在某些實現中,候選查詢生成器208生成的候選查詢的數量可被 限于預定數量,如3個查詢、10個查詢等。
[0026] -旦獲得了若干候選查詢,查詢排名模塊210可基于那些查詢對應于所選文本 202和上下文204的似然性或概率來對候選查詢進行排名。查詢制定器118可執(zhí)行候選查 詢的生成和那些候選查詢的排名這兩者,而不用向搜索引擎110提交詢問,從而減少搜索 引擎110的負擔。
[0027] 查詢排名模塊210可基于一個或多個排名技術來對該一個或多個候選查詢進行 排名??杀皇褂玫呐琶夹g包括語言模型212和人工智能(AI)系統(tǒng)214。每一個可被單獨 地或組合地使用。
[0028] 語言模型212可創(chuàng)建上下文204和所選文本202的二元(bi-gram)表示。上下文 204可包括該文檔的包括所選文本202的一部分文本。從而,上下文204可以是所選文本 202加上來自該文檔的附加文本。語言模型212可基于每一個相應候選查詢中的單詞數量、 所選文本202中的單詞數量、構成上下文204的該部分文本中的單詞數量,來確定來自候選 查詢生成器208的候選查詢的相對排名。語言模型212的一個實現的細節(jié)在下文討論。
[0029] 人工智能系統(tǒng)214可被實現為任何類型的人工智能或機器系統(tǒng),如支持向量機、 神經網絡、專家系統(tǒng)、貝葉斯置信網絡、模糊邏輯引擎、數據融合引擎等等。人工智能系統(tǒng) 214可從人類標記的訓練數據中創(chuàng)建。表示文檔以及與那些文檔相關聯的從一個或多個用 戶的過去文檔消耗和搜索行為獲得的查詢的〈文檔,查詢〉元組的語料庫可充當訓練數據 的全部或一部分。在某些實現中,元組可從來自搜索引擎110的來自已選擇向搜索引擎110 提供他們的瀏覽和搜索行為的用戶的搜索日志獲得。瀏覽和搜索數據可被匿名化,以保護 選擇貢獻他們的數據的用戶的隱私。人類標記者審閱這些元組,以確定文檔和查詢之間是 否有因果關系。換言之,人類標記者基于他們對某一元組中的文檔的內容引起用戶提交該 元組中的查詢的概率的主觀評估來向每個元組分配標記。人工智能系統(tǒng)214的一個實現的 細節(jié)在下文討論。
[0030] 一旦查詢制定器118制定了查詢并對這些查詢進行排名,就可向用戶102呈現查 詢的排名列表。與具有較低排名的那些查詢相比,具有更高排名的查詢可被更早地列出或 處于列表中更顯著的位置。用戶102可選擇候選查詢之一來基于該查詢在一個或多個搜索 引擎110上發(fā)起搜索。
[0031] 搜索引擎110可將該查詢提交到網絡106或另一數據存儲,以及基于搜索算法、所 選的查詢以及網絡106中可用的數據來接收搜索結果216。搜索引擎110可使用任何常規(guī) 搜索技術來處理所選搜索查詢。
[0032] 說明性語言模型
[0033] 語言模型212基于上下文204對候選查詢進行排名。候選查詢按照條件概率 P(q|s,c)進行排名,該條件概率表示來自候選查詢的查詢之一(查詢q)在給定所選文本 202(表示為s)和上下文204(表示為c)的情況下要被生成的概率。語言模型212假設
【權利要求】
1. 一種方法,包括: 接收一用戶作出的對一文檔中的文本的選擇; 獲得多個候選查詢,所述多個候選查詢包括至少部分地通過向所選文本應用一種或多 種查詢擴展技術而生成的查詢;以及 由一個或多個處理元件對所述多個候選查詢進行排名,所述排名至少部分地基于(i) 從一上下文導出的語言模型,該上下文包括所述文檔中包含所選文本和附加文本中的部分 或全部的文本,或(2)用一組文檔和查詢對訓練的人工智能系統(tǒng),所述文檔和查詢對已被 人類審閱者標識為具有一查詢,該查詢和與該查詢配對的一文檔的內容有關。
2. 如權利要求1所述的方法,其特征在于,所述查詢擴展技術包括以下至少之一:向 一查詢日志應用K均值算法、對通過解析一查詢日志生成的二分查詢一文檔圖進行隨機游 走、對從一查詢日志中生成的查詢一流圖運行頁面排名算法、或從一查詢日志中挖掘搜索 項關聯模式。
3. 如權利要求1所述的方法,其特征在于,所述上下文包括所述文檔中具有預定數量 的單詞或字符的一部分文本,該部分文本位于所述文檔中使得所選文本大致位于該部分文 本的中間。
4. 如權利要求1所述的方法,其特征在于,所述排名至少部分地基于所述語言模型,所 述語言模型至少部分地基于所述多個候選查詢中的一個候選查詢中的單詞數量、所選文本 中的單詞數量、以及所述上下文中的單詞數量。
5. 如權利要求1所述的方法,其特征在于,所述排名至少部分地基于所述語言模型,所 述語言模型包括二元語言模型,在所述二元語言模型中,來自所述多個候選查詢的一查詢 中的一單詞依賴于該查詢中的緊接在前的單詞。
6. 如權利要求1所述的方法,其特征在于,還包括: 在至少部分地根據所述排名進行排序的列表中向所述用戶呈現所述多個候選查詢; 接收所述用戶對所述多個候選查詢中的一個候選查詢的選擇;以及 將所選的一個候選查詢提交給搜索引擎。
7. 具有計算機可執(zhí)行指令的一個或多個計算機可讀介質,所述計算機可執(zhí)行指令在由 處理器執(zhí)行時使得計算系統(tǒng): 將用戶對一文檔中的文本的選擇解釋為至少部分地基于所選文本向所述用戶提供一 個或多個搜索查詢的命令; 至少部分地基于所選文本獲得多個候選查詢; 至少部分地基于由所述文檔提供的上下文來對所述候選查詢進行排名。
8. 如權利要求7所述的一個或多個計算機可讀介質,其特征在于,對文本的選擇包括: 所述用戶跨觸屏顯示器上顯示的文本來拖動定點工具,或 所述用戶繞觸摸屏顯示器上顯示的文本以大致環(huán)形或橢圓形移動定點工具。
9. 如權利要求7所述的一個或多個計算機可讀介質,其特征在于,所述上下文包括來 自所述文檔的包括所選文本的至少一部分的文本部分,所述排名包括使用二元語言模型, 所述二元語言模型至少部分地基于所述候選查詢之一以及查詢語料庫中的單詞數量來對 候選查詢進行排名。
10. 如權利要求7所述的一個或多個計算機可讀介質,其特征在于,所述上下文包括來 自所述文檔的包括所選文本的文本部分,所述排名包括使用人工智能系統(tǒng),所述人工智能 系統(tǒng)使用文檔/查詢元組的數據集,每個文檔/查詢元組中文檔和查詢之間的對應性已被 人類審閱者驗證。
【文檔編號】G06F3/0488GK104145269SQ201380011778
【公開日】2014年11月12日 申請日期:2013年2月1日 優(yōu)先權日:2012年2月29日
【發(fā)明者】P·白, Z·陳, X·D·黃, X·倪, J-T·孫, Z·張 申請人:微軟公司