專利名稱:帶有隱含用戶意圖挖掘的動態搜索的制作方法
帶有隱含用戶意圖挖掘的動態搜索
背景技術:
Web和桌面搜索己經證明是受歡迎的但又是困難的應用。為提高搜索準 確性,已經為改進按照相關性排列頁面投入了努力。盡管有了這些努力,然而 在搜索返回的結果與用戶所需的結果之間仍存在很大的差距。
用戶經常不得不嘗試與搜索目標有關的多個搜索關鍵詞和/或多次搜索重 復以取得適當相關的結果。這對于在用戶沒有搜索目標的精確描述時尤其如 此,諸如在用戶想要搜索象是音樂和圖像等多媒體內容時,要使用書面搜索項 來充分描述這些內容,即便不是不可能也是困難的。
概述
提供本概述以便以簡化形式介紹將在以下的詳細描述中進一步描述的一 些概念。本概述并不旨在標識要求保護的主題的關鍵特征或必要特征,也不旨 在用于幫助確定要求保護的主題的范圍。
根據上面所述,在用戶發起的搜索返回結果之后,意圖挖掘引擎收集來自 用戶對這些結果的自然反應的信息。這些信息用于改進搜索。
圖1例示用于帶有隱含用戶意圖挖掘的動態搜索的示例性系統。該示例性 系統包括用戶意圖挖掘引擎。
圖2是按照一個實現的示例性用戶意圖挖掘引擎駐留在其上的計算設備 的框圖。
圖3例示按照一個實現的初級窗口和示例性更新窗口。 圖4例示初級窗口和示例性更新窗口的另一個示例性實現。 圖5是動態改進搜索的示例性方法的流程圖。
圖6是基于用戶與返回的搜索結果交互來動態地改進搜索的示例性方法 的流程圖。
圖7例示其中可動態地改進搜索的合適計算環境的示例。
具體實施方式
概覽
下面的公開描述用于執行帶有隱含用戶意圖挖掘的動態搜索的系統與方 法。在一個實施例中,用戶發起的搜索是使用有關用戶偏好的信息來改進的。 該信息是在發起搜索之前收集的。在另一實施例中,用戶發起的搜索是使用從 用戶對搜索結果的反應挖掘得到的信息來改進的。在又一實施例中,用戶發起 的搜索是使用在發起搜索之前從用戶收集的信息以及從用戶對搜索結果的反 應挖掘得到的信息連同在搜索時可獲得的有關用戶的其它信息來改進的。
現在更詳細地描述用于執行帶有隱含用戶意圖挖掘的動態搜索的系統與 方法的這些和其它方面。
示例性系統
盡管不是必要的,但用于執行帶有隱含用戶意圖挖掘的動態搜索的系統與 方法是在由諸如個人計算機的計算機設備執行的計算機可執行指令(程序模 塊)的一般上下文中描述的。程序模塊通常包括例程、程序、對象、組件、數 據結構等,它們執行特定任務或實現特定抽象數據類型。盡管在上述上下文 中描述這些系統與方法,但會理解,下文描述的動作和操作可用任何合適的硬 件、軟件、固件或其組合來實現。還會理解,在本文所使用的術語"自然反應" 可包括用戶所作的有意識的選擇、用戶的有意識或無意識行為以及可獲得的有 關用戶的興趣、偏好和/或行為的信息。
圖1例示按照一個實施例用于執行帶有隱含用戶意圖挖掘的動態搜索的
系統IOO。在一個實現中,系統100包括計算機102諸如個人計算機(PC), 它具有常規的用戶接口組件諸如圖形顯示器或監示器104、鍵盤106以及鼠標 或其它定點設備108。計算機102還包括用戶意圖挖掘(UIM)引擎110。如 在下面將更詳細地討論的,UIM引擎110可用于基于用戶的自然反應動態地改 進用戶發起的搜索。
在圖1的示例中,計算機102是臺式計算機。然而可替換地,計算機102
可包括各種其它類型的計算機和類似計算機的設備,諸如筆記本或便攜式計算
機、寫字板PC、蜂窩電話、個人數字助理(PDA)、工作站、大型計算機、
服務器、因特網裝置、機頂盒及其組合等等。
一般而言,計算機102具有各種功能性,讓用戶能完成許多任務。例如, 計算機102可用于運行標準計算機程序(字詞處理、電子表格等)和游戲的主 機、發送與接收電子郵件和即時消息、瀏覽因特網等等。用戶一般通過一或多 種類型的用戶輸入接口與計算機102交互,諸如通過用鼠標108移動屏幕上的 光標以及通過在鍵盤106上打字來交互。用戶還可通過使用生物測量輸入設備 諸如用于輸入語音命令的話筒或者本領域已知的任何其它生物測量輸入設備 (為了附圖清晰而未示出)來將命令或數據輸入到計算機102。
在該實現中,計算機102通過本領域已知的任何可能的連接類型(包括電 話線和ISDN線)耦合至諸如因特網的網絡112。 一或多個其它計算機114和 服務器116也可連接至網絡112。以此方式,(諸)計算機114和服務器116 可相互或者與計算機102共享數據和指令。在另一實現中,計算機102直接連 接至(諸)計算機114和/或服務器116而不必通過網絡112。
如圖l所示,UIM引擎110可駐留在計算機102上。然而應當理解,UIM 引擎110也可駐留在(諸)計算機114和/或服務器116上。而且,UIM引擎 110的不同部分在不同的時間可駐留在計算機102、(諸)計算機114和服務 器116上。例如,在一個實現中,在計算機102處的用戶可通過鍵盤106將搜 索項輸入到計算機102中來執行本地桌面搜索以試圖找出計算機102上的所需 文件。在此示例中,UIM引擎110駐留在計算機102上。在另一個可能的實現 中,在計算機102處的用戶可通過鍵盤106將用于Web搜索的搜索項輸入到 計算機102中。可將該搜索項直接或者通過網絡112發送到服務器116,并且 該搜索可由駐留在諸如服務器116的不同計算機上的UIM引擎110的實例來 改進。可替換地,在又一可能的實現中,用于桌面或Web搜索的搜索項可輸 入到計算機102中并且來自計算機102、(諸)計算機114和服務器116的UIM 引擎110的各部分可用于改進該搜索。還會理解,在計算機102上的桌面搜索 可通過(諸)計算機114或服務器116上的UIM引擎110的實例來改進。類 似地,Web搜索可由計算機102上的UIM引擎110的實例來改進。
計算設備
圖2例示包含程序模塊202和程序數據204的示例性計算設備200。程序 模塊202包括搜索應用206,它可包含用戶意圖挖掘(UIM)引擎110。程序 模塊202也可包含其它程序模塊208,諸如象是操作系統,以及象是字詞處理、 即時消息收發、web瀏覽、電子郵件等的一或多個應用。程序數據204可包含 各種程序數據,諸如原始搜索數據、改進的搜索數據、用戶簡檔、電子郵件記 錄、即時消息收發(IM)記錄、網站訪問記錄等等。
UIM引擎110的示例性操作
圖3例示由用戶發起的Web搜索的示例性結果300。如在初級窗口 302 中所示,用戶已經通過將搜索項輸入面板304并選擇搜索按鈕306發起了搜索。 該搜索項已經由搜索引擎諸如搜索應用206處理,并且已經返回了包含結果 308(1)-(4)的搜索結果。在此例中,搜索項"Winston Groovy"是由用戶輸入到 面板304中以試圖查找有關同名的著名音樂人最近公開出現的信息。該搜索項 包括下面兩個詞"Winston"和"Groovy"。因而,可以預期結果308(1)-(4)包 括含有這些搜索項詞之一或兩者的項。如圖3所示,用戶發起的搜索的結果 308(1)-(4)是不同的,其中結果308(1)引用牙科學校,結果308(2)引用紀念基金, 結果308(3)引用智庫而引用308(4)引用搖滾樂站點。這些不同結果是典型的, 并且反映了這一概念,即搜索引擎諸如搜索應用206可遇到許多引用,它們包 含全部或部分搜索項的提述。給出可由搜索引擎找到的這些眾多的引用,用戶 在正常搜索的首次重復中實際找到其所搜索的信息的機會可能性很小。
挖掘當前搜索之外的自然反應
在一個實現中,UIM引擎110可通過利用自然反應來改進當前示例中的 搜索,這些自然反應包括有關在該搜索之外可獲得的用戶興趣、偏好和行為的 信息。例如,UIM引擎110可監視用戶運行的包括即時信使應用、電子郵件應 用、Web瀏覽應用以及字詞處理應用的應用中由該用戶通常使用的項。在一個 方面,UIM引擎110可監視用戶發送和接收的即時消息或電子郵件中復現的項 或主題。該信息可用于匯編該用戶的用戶簡檔,或者用于創建該用戶的一般偏 好和/或行為模型。
而且,UIM引擎110可通過監視用戶使用的諸如Web瀏覽器應用的應用
來跟蹤用戶訪問的網站,包括用戶在發起搜索之前剛訪問的網站。關于被訪問 網站的信息(包括在網站上包含的諸如元數據的數據)的重要性可由各種因素 來測量,諸如用戶訪問該網站的次數,用戶在該網站上停留的時間,用戶在該 網站上作出的點擊數量(例如,跟隨指向該站點內包含的信息的各種鏈接), 用戶跟隨從該網站到其它網站的鏈接的數量,以及用戶從該網站下載的文件數
量。用戶與網站發生的交互越多,則UIM引擎110可認為包含在該網站中的 數據(包括其元數據)與用戶的偏好和/或行為的相關性越大。
UIM引擎110還可匯編來自用戶先前發起的搜索的記錄。如此,用戶輸 入的原始搜索項和改進的搜索項可與用戶在前一搜索的發展過程中訪問的網 站相關。而且,原始搜索項和改進搜索項還可與用戶在前一搜索結束時訪問的 一或多個網站相關。
有了上述web行為,UIM引擎110還可通過編目與用戶同這些先前訪問 的網站交互有關的若干因素,來確定這些網站與引用它們的搜索項的相關性 (以及一般而言與用戶的興趣、偏好和行為的相關性)。例如,UIM引擎llO 可編目用戶訪問給定網站的次數,用戶在給定網站停留的時間,用戶在給定網 站上作出點擊的數量(例如,跟隨該站點上的各種鏈接),用戶跟隨來自給定 網站的鏈接的數量,以及用戶從給定網站下載的文件數量。 一般而言,用戶與 給定網站的交互越多,UIM引擎110就判斷包含在該網站上所包含的信息(包 括元數據)與用戶的興趣、偏好和行為越相關,以及與用戶輸入的、引至這些 網站的搜索項越相關。
另外,UIM引擎110可監視與用戶正執行搜索的同時用戶使用的應用。 例如,如果用戶正在打游戲,諸如Microsoft⑧公司出售的Hak),并且如果用戶 發起其中帶有項"halo"的搜索,則UIM引擎110可偏向于為用戶呈現關聯于 視頻游戲Halo的引用。同樣,可以挖掘用戶在搜索時使用的其它應用(諸如 字詞處理應用、電子郵件應用以及即時消息收發應用)——或者在搜索的時候 具有可用于UIM引擎110的數據——,可在這些應用中挖掘用于指示用戶當 前興趣的項和數據。以此方式,搜索可使用來自在用戶對返回結果的這些自然 反應來改進,使之與由用戶的自然反應所指示的用戶興趣、偏好和行為更相符
返回到上面的搜索示例,在用戶輸入搜索項"WinstonGroovy"并且選擇 搜索按鈕306之后,搜索應用206使用UIM引擎110改進搜索。UIM引擎110 可檢查如上所述的有關用戶偏好而匯編的用戶文件,以査看用戶是否已經與具 有包含輸入的搜索項的組成部分的信息(包含元數據)的網站交互過。而且, UIM引擎110可檢査用戶文件以查看來自應用諸如電子郵件應用、IM應用或 字詞處理應用的其它信息是否包含搜索項的組成部分。UIM引擎110還可檢查 其中可能包含搜索項組成部分的數據源,諸如己歸檔和保存的與用戶相關聯的 文件。如果發現任何這些源包含搜索項的組成部分,則可在源中包含該部分搜 索項的部分中進一步檢查可用于改進搜索的上下文。
例如,如果UIM引擎110發現用戶已經頻繁地瀏覽包含有關Winston Groovy與搖滾樂的信息的網站,則UIM引擎110可改進搜索以將返回的結果 308的范圍縮小到包含對Winston Groovy和音樂引用的站點。同樣,如果UIM 引擎110找到用戶收發的已保存或活動的電子郵件或即時消息中有結合音樂 會、錄音或演出討論的Winston Groovy,則UIM引擎110可同樣使用該信息 來改進搜索以僅包括具有對有關演出、名人或音樂上下文的Winston Groovy 的引用的站點。
更新窗口 310例示在UIM引擎110改進的搜索中返回的可能結果 312(l)-(4)。將會理解,在一個可能的實施例中, 一旦用戶輸入搜索項"Winston Groovy"并且選擇搜索按鈕306,則搜索應用206可使用UIM引擎110來改進 搜索并且返回結果312(l)-(4),而不是進行諸如會返回結果308(1)-(4)的未經改 進的搜索。在這樣一個實施例中,僅向用戶呈現更新窗口 310。
作為替換地,可進行未經改進的和經改進的搜索兩者,并且可向用戶呈現 初級窗口 302和更新窗口 310。將會理解,如果向用戶呈現初級窗口 302和更 新窗口310,則可以并排、 一個在另一個之上、相互重疊、 一個在另一個之內 或者在本領域己知的其它配置中呈現它們。
如圖3所示,更新窗口 310中的結果312(1)-(4)更集中于演藝人員和名人 Winston Groovy。例如,結果312(1)和312(2)分別引用吉他手Winston Groovy 的挪威和德國歌迷站點。同樣,結果312(3)引用一新聞站點上有關著名吉他手 Winston Groovy的文章,而結果312(4)引用銷售明星Winston GroovyCD的在
線音樂商店。實際上,UIM引擎110已經采用用戶發起的搜索并且改進它以返 回縮小范圍的結果,它們反映出如從上述各種應用、文件和數據源中挖掘出來 的用戶對演藝人員Winston Groovy的興趣和偏好。
更新窗口310中改進的結果312可基于時間經過或者基于用戶在經過的時 間中的動作周期性地更新。可替換地,只有UIM引擎110找到有關用戶的興 趣、偏好或行為的相關信息,就實時更新結果312。
例如, 一旦在更新窗口310中向用戶呈現改進的結果312,如果用戶收到 包含有關Winston Groovy的新信息的電子郵件消息,則UIM引擎110可自動 采用該信息并且改進搜索使得搜索結果312反映該新信息。在一個示例性實現 中,如果從朋友收到詢問其是否聽說Winston Groovy最近在冰島公開出現的電 子郵件,則UIM引擎110可改進搜索以返回反映Winston Groovy名人和演藝 人員以及最近在冰島的出現。可替換地,UIM引擎110可在改進搜索以反映該 新信息之前等待一段預編程的時間,或者等待預編程數量的用戶動作。在又一 示例性實現中,可向用戶提供按鈕或其它設備,在用戶希望UIM引擎110改 進搜索的時候用戶可選擇該按鈕或其它設備。
即使結果312在圖3中例示為與網站的鏈接,但將會理解在本文中使用的 術語結果指包含査詢和普通元數據項的其它對象,它們可在初級窗口 302和更 新窗口 310中同時顯示。
挖掘來自搜索的自然反應
除了能夠如上所述通過挖掘搜索之外用戶的自然反應以改進搜索之外, UIM引擎110還可通過挖掘來自用戶對搜索本身的自然反應來改進搜索。例 如,返回至上面結合圖3討論的示例性搜索, 一旦用戶已經輸入了搜索項 "WinstonGroovy"并且收到結果308、 312,則用戶具有可選項來輸入更多的 搜索項或是更接近地檢查返回結果308、 312。如果選擇后者,并且用戶探索一 或多個結果308、 312,則UIM引擎110可檢査用戶有關結果308、 312的自然 反應并且從其挖掘出有關用戶關于該搜索的偏好的有價值信息。例如,假設用 戶對吉他手和演藝人員Winston Groovy感興趣,則可強迫用戶在結果308(4) 上點擊。
UIM引擎110可跟蹤用戶在結果308(4)上的點擊并且從用戶的自然反應挖
掘出用于進一步改進搜索的信息。例如, 一旦用戶選擇結果308(4), UIM引擎 110就可檢查和編目用戶在結果308(4)指示的網站上作出點擊的數量,以及在 使用來自結果308(4)指示的網站的鏈接到達的網站上作出的點擊數量。而且, UIM引擎110還可檢查和編目用戶在觀看結果308(4)指示的網站時花費的時間 長度,或者用戶在跟隨來自從結果308(4)指示的網站的鏈接所到達的網站上花 費的時間長度。同樣,UIM引擎110可檢查用戶的行為以查看是否從結果308(4) 指示的網站下載了任何內容,或者是否從通過跟隨來自結果308(4)指示的網站 的鏈接所到達的網站下載了任何內容。
通過該行為數據,UIM引擎110可向包含在這些網站上以及包含在下載 中的各種信息(包含元數據)分配用戶偏好權重。 一般而言,用戶與一個站點 交互越多(即,用戶在該站點花的時間越多,用戶在該站點作出的點擊越多, 用戶從該站點下載的信息越多,等等),則隱含著該站點上的信息與該用戶的 相關性越大,于是在改進的搜索中可更多地反映這一信息。
而且,UIM引擎110也可向用戶呈現一個附加窗口,其中包括用戶在搜 索期間訪問過的所有站點的元數據中找到的共同項。可替換地,這些項可包括 在更新窗口310中。這些共同項可由用戶選擇或使用以改進搜索。而且,UIM 引擎110可在包含共同的元數據項的同一窗口中、在更新窗口 310中或在一個 單獨窗口中呈現在搜索期間用戶訪問過的網站上找到的圖片或其它圖形。
UIM引擎110也可考慮用戶未選擇的結果308。由于這些結果308未被選 擇,因此UIM引擎110可推斷由這些結果308引用的網站以及包含在這些網 站上的信息(包括元數據)對于用戶不太重要。因此,在將來對搜索的改進中, UIM引擎110可不考慮來自這些未被選擇站點的信息的價值,并且避免返回引 用包含與包含在未被選擇結果308中相似的元數據和信息的結果。
另外,UIM引擎110可考慮搜索項本身的長度。在上述示例中,UIM引 擎110看到簡短兩個詞的搜索項"Winston Groovy"并且推斷用戶對于搜索項 的準確性不太有信心,因而需要返回較大范圍的搜索結果。相反,如果用戶輸 入包括多個詞的搜索項,諸如"Winston Groovy在籌款晚宴上被捕",則UIM 引擎110可合理地推斷用戶對于該搜索項有較大的信心并且用戶正在尋求更集 中的結果。在此基礎上,UIM引擎110可通過將搜索項中的所有詞與包含在由 UIM引擎110匯編的簡檔內的信息相關或者與對于UIM引擎110可獲得的用 戶興趣、偏好和行為的數據相關,來返回其中包含這些詞的更集中的結果308。
而且,通過如上所述對在當前搜索之外的用戶自然反應的挖掘,在更新窗 口 310中呈現的改進結果312可實時更新,或者基于預置的時間經過或預置經 過的用戶動作來周期性地更新。例如,如果需要實時,則更新窗口310中的結 果312可在每次用戶點擊結果308時或者在采取與包含在結果308內的信息相 關的動作時得到進一步改進。可替換地,UIM引擎110可保存用戶的自然反應 并且每30秒或者在其它預置的時間段使用它們以改進搜索。
在又一示例性實現中,UIM引擎110可在改進搜索之前等待預定數量的 自然反應。在另一示例性實現中,可向用戶提供用戶在其希望UIM引擎110 改進搜索時能選擇的按鈕或其它設備。
挖掘所有自然反應
UIM引擎110還可組合上述方法并且從用戶在搜索之前與搜索期間所作 的自然反應挖掘信息。使用上面的示例, 一旦用戶輸入"Winston Groovy", 則UIM引擎110可査閱有關用戶的現有信息,諸如如上所述的用戶簡檔、用 戶的一般偏好和/或行為的模型或者其它現有的有關用戶偏好和行為的數據源。 通過該信息,UIM引擎110可縮小搜索的范圍并且返回改進的結果312(1)-(4), 如更新窗口 310所示。
UIM引擎110隨后可檢査用戶與初級窗口 302中返回的搜索結果308或 者與更新窗口 310中返回的改進結果312進行的交互,并且如上所述地挖掘用 戶的自然反應,以確定用戶的興趣和偏好。該信息連同現有的有關用戶的興趣、 偏好和行為的信息隨后可用于產生進一步改進的結果。
切換初級窗口和更新窗口
在所有上述搜索改進實現中,也有可能在初級搜索窗口與更新搜索窗口之 間切換。圖4例示這種切換的一種可能的實現,它示出用戶發起的Web搜索 的示例性改進結果400。在圖4中,圖3的更新窗口 310在包含進一步改進的 搜索結果402的初級窗口 302旁邊示出。這些進一步改進的結果402可由UIM 引擎310響應于來自用戶在其選擇并與結果312交互時的自然反應而創建。
在呈現這些進一步改進的結果402時,其中出現進一步改進的結果402
的窗口可稱為更新窗口,而其中發現用戶正在交互的結果312的窗口可以稱為 初級窗口。
還要理解,如果用戶開始與窗口 302中進一步改進的結果402交互,則可 在窗口 310中呈現基于這些交互的改進結果。如此,初級窗口和更新窗口可來 回觸發。
還會理解,可使用多于兩個窗口來顯示搜索結果以及更多改進的搜索結 果。可替換地,結果與改進的結果可在同一窗口中顯示。而且將會理解,即使 上面討論了Web搜索,但UIM引擎110也可結合其它搜索(包括桌面搜索) 來使用,并且可在計算機102上、在(諸)計算機114上或在服務器116上完 成挖掘。另外,UIM引擎IIO可從計算機102、(諸)計算機114或服務器116 執行挖掘,并且UIM引擎110的各部分可以位于計算機102、(諸)計算機 114和服務器116的任意組合上。在一個示例性實施例中,服務器116或(諸) 計算機114協助通過貢獻其它人進行的流行搜索結果來改進搜索。在上面的示 例中,如果服務器116的許多用戶曾經搜索過有關Winston Groovy最近公開出 現的新聞,則當用戶在計算機102上輸入"Winston Groovy"時,服務器116 可用于返回服務器116的用戶在輸入相同或相似搜索項之后選定的結果。
而且,服務器116可接受來自計算機102的搜索項"WinstonGroovy"并 且返回包括一些經常使用的査詢的類別,這些查詢是服務器116和(諸)計算 機114的其它用戶針對"Winston Groovy"己經輸入的査詢。
另外,還會理解,UIM引擎110可監視由用戶添加到原始搜索項的搜索 項,或者監視由用戶輸入的用于代替原始搜索項搜索項。例如,對現有搜索項 的簡單改進可隱含著推斷出用戶對收到的搜索結果基本滿意,但希望細調搜索 以縮小其范圍。因而,UIM引擎110可適當地作出反應,并且在較窄地給出新 搜索項的情況下縮小來自現有搜索的結果。
可替換地,如果用戶用新搜索項代替一個搜索項,或者用一個與在前使用 的那些完全不同的搜索項來代替,則UIM引擎110可推斷用戶不滿意先前的 搜索并且期望擴大搜索范圍或者接收新的結果類型。因此,UIM引擎110可努 力向用戶提供對應于新搜索結果的更多種類和/或更寬種類的結果。
將會理解, 一通常可以對UIM引擎110挖掘的所有數據施加本領域已知 的各種學習算法,以便確定用戶在發起搜索時的意圖。以該方式使用學習算法
可幫助UIM引擎110更快地向用戶提供對應于用戶搜索的信息或數據的結果。
動態改進搜索的示例性過程
圖5示出示例性過程500,用于基于用戶的自然反應改進由該用戶發起的 搜索。為易于理解,方法500在圖5中示出為由獨立框表示的獨立步驟;然而, 這些獨立示出的步驟不應解釋為必須依賴于其執行的順序。另外,為了討論的 目的,參考圖1-4中的元素描述方法500。該流程圖可用任何合適的硬件、軟 件、固件或其組合來實現。在軟件和固件的情形中,該圖表示實現為計算機可 執行指令的操作集合。組件標號的最左位標識該組件在其中首次出現的具體附 圖。
在框502,用戶可輸入搜索項以發起搜索。例如,與用戶感興趣的話題相 關的一或多個詞可輸入到搜索引擎諸如搜索應用206中。在一個實現中,可基 于搜索項進行初始搜索(框504)并且將初始搜索的結果向用戶呈現(框506)。 隨后在用戶與搜索結果交互時所作的自然反應中挖掘指示用戶對結果感興趣 或不感興趣的信息。在一個可能的實現中,該挖掘是由UIM引擎110來完成。 例如,可跟蹤用戶在每一改進結果上的點擊以及用戶在各個網站上所花的時 間。同樣,可跟蹤從站點下載的資料量。
一般而言,用戶顯現出的與站點的交互越多,則可認為在該站點上與用戶 的興趣、偏好和行為明顯有關的信息(包括元數據)就越多。另外,可檢査搜 索項本身的長度,短搜索項隱含著用戶正在查找較寬范圍的結果,而較長的搜 索項隱含著用戶正在查找較窄范圍的結果。
還可挖掘來自搜索之外的其它源的自然反應,包括現有數據諸如用戶簡 檔、用戶的一般偏好和/或行為的模型或者其它現有的有關用戶的偏好和行為的 數據源。另外,可挖掘來自用戶以前使用過的應用和/或用戶在搜索時使用的應 用的自然反應。這可包括檢查可歸因于該用戶的電子郵件、即時消息和字詞處 理文件。
自然反應挖掘的結果隨后可用于改進搜索(框508)。這樣的改進可由 UIM引擎110或由計算機102、(諸)計算機114或服務器116上的獨立程序 或應用來執行。改進搜索可包括對挖掘得到的信息施加學習算法,以便確定用
戶發起搜索的意圖。
一旦改進了搜索,就可以向用戶呈現更接近地符合用戶興趣、偏好和/或
行為的新改進結果(框510)。用戶可與這些改進結果交互(返回至框508)。
隨后挖掘來自這些交互的自然反應以更進一步地改進搜索,使得可以向用戶呈
現新改進的搜索結果(框510)。這一交互/改進循環(框508-510)可繼續, 直至用戶疲于搜索,或者最終找到了要搜索的結果。
還會理解,可跳過方法500中的若干框。例如, 一旦用戶輸入搜索項(框 502),就可使用來自該搜索之外的現有數據的自然反應(諸如上述的用戶簡 檔、用戶一般偏好和/或行為的模型以及其它現有的有關用戶偏好和行為的數據 源)來生成改進搜索(框510),從而將用戶直接置于由框508和510創建的 循環內。
基于用戶交互改進搜索的示例性過程
圖6示出示例性過程600,它基于用戶與返回的搜索結果的交互改進搜索。 參考圖1-4中的元素描述方法600。組件標號中最左邊的數字標識該組件在其 中首次出現的具體附圖。方法600在圖6中示出為由獨立框表示的獨立步驟。 這些獨立示出的步驟不應解釋為必須依賴于其執行的順序。過程600的操作可 用任何合適的硬件、軟件、固件或其組合來實現。
在用戶已經輸入了初始搜索項之后,進行初始搜索(框602)。搜索可使 用搜索引擎諸如搜索應用206來進行。 一旦完成初始搜索,返回搜索結果(框 604)。
隨后在用戶與返回的搜索結果的交互中檢查用戶意圖。在一個實施例中, 使用UIM引擎110進行該檢査。例如,可向用戶提供與每一搜索結果交互的 選項(框606)。如果用戶拒絕與給定結果交互(自框606的"否"路徑), 這就隱含著該結果沒有很好地與用戶搜索所需的最終結果相關,于是可以向被 拒絕的結果以及被拒絕結果中包含的信息(-包括元數據)分配一個較小的權 重(框608)。方法600隨后可改進在框604中呈現的搜索結果并且排除與在 框606處拒絕的結果相似的結果(框610)。
可替換地,如果用戶決定與搜索結果交互(自框606的"是"路徑),則 方法600監視用戶在該結果中指示的站點處作出的點擊數量(框612)。用戶
在該站點上所作的點擊越多,則可推斷用戶對該站點以及包含在該站點中的信
息(包括元數據)的興趣越大。方法600還可跟蹤用戶在所選結果上遇到的鏈
接上的點擊。以相似的方式,用戶在這些被鏈接站點上作出的點擊越多,則可 推斷用戶對這些站點以及包含在這些站點中的信息的興趣越大。
方法600還可監視用戶在所選結果指示的站點上花費的時間量(框614)。 可推斷在站點上的時間越多表示用戶對包含在該站點中的信息(包括元數據) 的興趣越大。同樣,方法600可監視用戶查看通過跟隨來自所選站點的鏈接所 到達的站點所花的時間,以便推斷用戶對包含在這些站點中的信息的感興趣程 度。
一旦方法600已經收集了這些用戶興趣信息,就將反映這些站點與用戶搜 索相關性的權重分配給用戶訪問的不同站點以及在這些站點中所含的信息(框 616)。
隨后使用加權的用戶興趣信息產生改進的搜索結果(框610),這些結果 與在框612-614處測量的用戶興趣的相關性較高。將會理解,可在框610結合 從框612-616以及從框608匯編的信息使用一或多個學習算法,以嘗試揭示用 戶在發起搜索時的真正意圖。
一旦進行了改進搜索,隨后在框604返回生成的改進搜索結果,在這些結 果中向用戶提供進一步與這些結果交互的可選項以繼續改進搜索。
示例性操作環境
圖7例示在其中進行帶有隱含用戶意圖挖掘的動態搜索的合適計算環境 的示例。示例性計算環境700僅是用于上面參考圖l-6描述的示例性組件和操 作的合適計算環境的一個示例。圖7并不旨在建議對有關本文描述的系統和方 法的用途或功能性范圍作出任何限制。也不應該把計算環境700解釋為對計算 環境700中示出的任一組件或其組合有任何依賴性或要求。
本文描述的方法和系統可與眾多其它通用或專用計算系統、環境或配置一 起運行。適于使用的眾知的計算系統、環境和/或配置的示例包括但不限于,個 人計算機、服務器計算機、多處理器系統、基于微處理器的系統、網絡PC、 小型機、大型計算機、包括任何上述系統或設備的分布式計算環境,等等。也 可在有限資源的客戶機中實現該架構的緊湊或子集版本,諸如手持計算機或其
它計算設備。本發明可在分布式計算環境中實踐,在其中任務由通過通信網絡 鏈接的遠程處理設備執行。在分布式計算環境中,程序模塊可位于本地和遠程 兩者的存儲器存儲設備中。
參考圖7,基于PQ噪聲模型計算強度相似性測量的示例性系統包括以計 算機710的形式實現例如圖2所示計算設備200的通用計算設備。計算機710 的下述方面是計算設備200、計算機102、(諸)計算機114和服務器116的 示例性實現。計算機710的組件可包括但不限于,處理單元720、系統存儲器 730和系統總線721,系統總線721將包括系統存儲器在內的各種系統組件耦 合至處理單元720。系統總線721可以是任何若干類型的總線結構,包括存儲 器總線或存儲器控制器、外圍總線和使用任意各種總線架構的局部總線。作為 示例而非限制,這些架構可包括工業標準架構(ISA)總線、微通道架構(MCA) 總線、增強型ISA (EISA)總線、視頻電子標準協會(VESA)局部總線以及 外圍組件互連(PCI),它也稱為夾層(Mezzanine)總線。
計算機710 —般包括各種計算機可讀介質。計算機可讀介質可以是可由計 算機710訪問的任何可用介質,并且包括易失性與非易失性介質、可移動與不 可移動介質兩者。作為示例而非限制,計算機可讀介質可包括計算機存儲介質 和通信介質。計算機存儲介質包括易失性與非易失性、可移動與不可移動介質, 它們以用于存儲諸如計算機可讀指令、數據結構、程序模塊或其它數據的信息 的任何方法或技術來實現。計算機存儲介質包括但不限于,RAM、 ROM、 EEPROM、閃存或其它存儲器技術,CDROM、數字多功能盤(DVD)或其它 光盤存儲,磁帶盒、磁帶、磁盤存儲或其它磁存儲設備,或者可用于存儲所需 信息以及可由計算機710訪問的任何其它介質。
通信介質一般包含在經調制數據信號諸如載波或其它傳輸機制中的計算 機可讀指令、數據結構、程序模塊或其它數據,并且包括任何信息傳遞介質。 術語"經調制數據信號"表示具有一或多個特性的信號,這一或多個特性是以 將信息編碼在該信號中的方式來設置或改變的。作為示例而非限制,通信介質 包括布線介質諸如布線網絡或直接布線連接以及無線介質諸如聲音、RF、紅外 和其它無線介質。任意上述的組合也應包括在計算機可讀介質的范圍內。
系統存儲器730包括易失性和/或非易失性存儲器形式的計算機存儲介質,
諸如只讀存儲器(ROM) 731和隨機存取存儲器(RAM) 732。基本輸入/輸出 系統733 (BIOS) —般存儲在ROM 731中,它包含諸如在啟動時幫助在計算 機710內的元件之間傳送信息的基本例程。RAM 732 —般包含處理單元720 立即可訪問和/或當前正在操作的數據和/或程序模塊。作為示例而非限制,圖 7例示操作系統734、應用程序735、其它程序模塊736和程序數據737。
計算機710還可包括可移動/不可移動、易失性/非易失性計算機存儲介質。 僅作為示例,圖7例示讀寫不可移動非易失性磁介質的硬盤驅動器741、讀寫 可移動非易失性磁盤752的磁盤驅動器751以及讀寫可移動非易失性光盤756 諸如CD ROM或其它光介質的光盤驅動器755。可在示例性操作環境中使用的 其它可移動/不可移動、易失性/非易失性存儲介質包括但不限于磁帶盒、閃存 卡、數字多功能盤、數字視頻帶、固態RAM、固態ROM等等。硬盤驅動器 741 —般通過不可移動存儲器接口諸如接口 740連接至系統總線721,而磁盤 驅動器751和光盤驅動器755 —般通過可移動存儲器接口諸如接口 750連接至 系統總線721。
上述且在圖7中例示的這些驅動器及其相關聯的計算機存儲介質為計算 機710提供計算機可讀指令、數據結構、程序模塊和其它數據的存儲。在圖7 中,例如,硬盤驅動器741示為存儲操作系統744、應用程序745、其它程序 模塊746和程序數據747。注意,這些組件可以與操作系統734、應用程序735、 其它程序模塊736和程序數據737相同或不同。應用程序735包括例如圖1的 計算設備102或104的程序模塊。程序數據737包括例如圖1的計算設備102 或104的程序數據。操作系統744、應用程序745、其它程序模塊746和程序 數據747在這里被標注了不同的標號是為了說明至少它們是不同的副本。
用戶可通過輸入設備諸如鍵盤762和定點設備761 (通常指鼠標、軌跡球 或觸摸板)將命令和信息輸入到計算機710中。其它輸入設備(未示出)可包 括話筒、操縱桿、游戲墊、衛星天線、掃描儀等等。這些和其它輸入設備通常 通過耦合到系統總線721的用戶輸入接口 760連接到處理單元720,但可通過 其它接口和總線結構諸如并行端口、游戲端口或通用串行總線(USB)來連接。
監示器791或其它類型的顯示設備也通過接口諸如視頻接口 790連接至系 統總線721。除了監示器,計算機還可包括其它外圍輸出設備諸如打印機796
和音頻設備797,它們可通過輸出外圍接口 795來連接。
計算機710使用與一或多個遠程計算機諸如遠程計算機780的邏輯連接在 網絡化環境中運行。在一個實現中,遠程計算機780表示圖1的計算設備102 或網絡化計算機104。遠程計算機780可以是個人計算機、服務器、路由器、 網絡PC、對等設備或其它普通網絡節點,并且按照其具體實現的功能,可包 括上面相對于計算機710所述的許多或全部元素,盡管在圖7中僅例示了存儲 器存儲設備781。圖7所示的邏輯連接包括局域網(LAN)771和廣域網(WAN) 773,但還可包括其它網絡。這樣的連網環境在辦公室、企業級計算機網絡、 內聯網和因特網中是常見的。
當在LAN連網環境中使用時,計算機710通過網絡接口或適配器770連 接到LAN 771。當在WAN連網環境中使用時,計算機710—般包括調制解調 器772或用于建立通過WAN 773諸如因特網的通信的其它裝置。調制解調器 772可以是內置或外置的,可以通過用戶輸入接口 760或其它合適的機制連接 至系統總線721。在網絡化環境中,相對于計算機710所示的程序模塊或其部 分可存儲在遠程存儲器存儲設備中。作為示例而非限制,圖7例示遠程應用程 序785駐留在存儲器設備781上。所示的網絡連接是示例性的并且可使用建立 計算機之間的通信鏈接的其它手段。
結論
盡管已經以專用于結構特征和/或方法學動作的語言描述了主題,但要理 解,所附權利要求書中定義的主題不必受限于所述的這些特定的特征或動作。 相反地,特定特征和動作作為實現權利要求的本發明的示例性形式而公開。例 如,盡管圖2示出引擎110駐留在搜索應用206內,但UIM引擎110也可駐 留在搜索應用206之外。例如,UIM引擎IIO可包含在操作系統內。可替換地, UIM引擎110可作為獨立應用存在。因此,這些特定的特征和動作是作為實現 要求保護的本發明的示例性形式公開的。
權利要求
1.一種計算機(200)包括處理器(720);與所述處理器(720)耦合的存儲器(730),其中,所述存儲器(730)包含由所述處理器(720)執行的計算機程序指令(202),所述計算機程序指令(202)包括用戶意圖挖掘引擎(110)以收集來自用戶對由其發起的搜索所返回的搜索結果的自然反應的信息并使用所述信息改進所述搜索。
2. 如權利要求1所述的計算機,其特征在于,所述用戶意圖挖掘模塊還 收集來自用戶自然反應的信息,所述信息包含有可在所述搜索之外獲得的有關 所述用戶興趣、偏好和行為的信息。
3. 如權利要求2所述的計算機,其特征在于,所述來自用戶自然反應的 信息包括來自由所述用戶訪問的網站的元數據或其它信息。
4. 如權利要求1所述的計算機,其特征在于,所述來自用戶自然反應的 信息包括以下各項之一用戶在所述搜索返回的特定結果上作出的用戶點擊 數、所述用戶選擇所述搜索返回的哪些結果、以及用戶在審閱特定返回結果時 花費的時間長度。
5. 如權利要求1所述的計算機,其特征在于,所述用戶意圖挖掘模塊還 收集包含有由所述用戶輸入的搜索項的長度的用戶自然反應的信息。
6. 如權利要求1所述的計算機,其特征在于,所述用戶意圖挖掘模塊還 收集包含有所述用戶輸入的初始和后續搜索項的用戶自然反應的信息。
7. 如權利要求1所述的計算機,其特征在于,所述用戶意圖挖掘模塊還 收集來自自然反應的信息,所述信息包括以下各項之一來自由所述用戶訪問 的文件的信息、來自由所述用戶在所述計算機上收發的電子郵件和即時消息的 信息,以及由所述用戶輸入所述計算機的信息。
8. 包括可由處理器(720)執行的計算機程序指令(202)的一或多個計 算機可讀介質,所述計算機程序指令(202)包括用于以下步驟的指令獲得來自用戶的搜索項(502); 基于所述搜索項執行搜索(504, 602);在初級窗口 (302)中呈現基于所述搜索項的搜索結果(506); 挖掘用戶對所述搜索項的自然反應(612, 614); 基于所述自然反應改進所述搜索(508, 610); 返回改進的搜索結果(510);以及 向用戶顯示所述改進搜索的結果(510, 604)。
9. 如權利要求8所述的一或多個計算機可讀介質,其特征在于,還包括 收集可在所述搜索之外獲得的有關用戶興趣、偏好和行為的信息。
10. 如權利要求8所述的一或多個計算機可讀介質,其特征在于,還包括 收集來自用戶已在其上活動過的服務器與客戶設備兩者的有關用戶偏好的信 息。
11. 如權利要求8所述的一或多個計算機可讀介質,其特征在于,改進包 括在所述用戶作出每一自然反應之后改進所述搜索。
12. 如權利要求8所述的一或多個計算機可讀介質,其特征在于,改進包 括以下各項之一在所述用戶作出預置數量的自然反應之后改進所述搜索,以 及在預置的時間段已經過之后改進所述搜索。
13. 如權利要求8所述的一或多個計算機可讀介質,其特征在于,返回包 括在更新窗口中呈現所述改進的搜索結果。
14. 如權利要求8所述的一或多個計算機可讀介質,其特征在于,還包括 收集來自所述用戶在所述搜索期間與之交互的其它應用的信息。
15. —種基于計算機的方法,包括-在第一窗口 (506)中顯示由用戶通過輸入一或多個搜索項發起的搜索的 結果;使所述用戶能夠與所述搜索結果交互(606);從所述用戶與所述搜索結果的交互挖掘有關所述用戶的興趣與行為信息 (612, 614, 616);以及基于所述自然反應返回改進的搜索結果(510)。
16. 如權利要求15所述的方法,其特征在于,挖掘包括跟蹤由所述用戶 在特定搜索結果上作出的點擊數量。
17. 如權利要求15所述的方法,其特征在于,挖掘包括監視在一搜索結 果上的點擊與在另一搜索結果上點擊之間經去的時間量。
18. 如權利要求15所述的方法,其特征在于,還包括審閱在所述搜索之 外的用戶文件和用戶動作來導出用戶的興趣和行為信息。
19. 如權利要求14所述的方法,其特征在于,返回包括基于所述自然反 應在第二窗口中返回改進的搜索結果。
20. 如權利要求19所述的方法,其特征在于,還包括 允許所述用戶與所述第二窗口中的結果交互;從用戶與所述第二窗口中的所述搜索結果的交互挖掘有關所述用戶的興 趣和行為信息;以及在所述第一窗口中呈現來自進一步改進搜索的結果。
全文摘要
在用戶發起的搜索(502)返回結果(506)之后,意圖挖掘引擎(110)收集來自用戶對結果的自然反應的信息(612,614)。該信息用于改進搜索(508,610)。
文檔編號G06F17/40GK101351798SQ200680049901
公開日2009年1月21日 申請日期2006年12月20日 優先權日2005年12月29日
發明者G·B·沈, S·李 申請人:微軟公司