專利名稱:用于提供高級搜索結果頁面內容的系統(tǒng)和方法
技術領域:
這里描述的發(fā)明的實施例概括來說涉及提供位于搜索結果頁面(“SRP”)上的高級內容。更具體而言,本發(fā)明的實施例針對的是用于分析用戶查詢相關數據并且提供位于 SRP內的多個新穎的交互式控件或應用的系統(tǒng)和方法。
背景技術:
隨著因特網持續(xù)以指數方式擴張,搜索引擎的作用劇烈地增大了。巨大量的數據已迅速變得讓人類用戶不可能自己來操縱。從而,對搜索引擎技術的使用已成為了因特網的有用操作中的至關重要的工具。在針對響應于查詢而返回的結果的質量來優(yōu)化搜索引擎方面,已取得了很大的進展。當前存在的算法使用戶通??梢栽谔峤徊樵兒蟮臄得雰染妥R別出相關的網站。然而, 盡管有這些進步,但在分析特定或聚合用戶行為并且在SRP上直接向用戶提供容易訪問的數據方面,取得的進步仍很小。作為示例,當前的現有技術未能充分利用在搜索引擎結果頁面內存在的語義數據 (semantic data)。當前,包括幾乎所有最頻繁訪問的站點在內的許多網站都包含諸如RDF/ XML、N3等等之類的語義數據,即可被提取并解析成最終用戶容易訪問的格式的數據。此外, 許多常見的搜索查詢可能不是滿足于網站,而是滿足于直接提供給用戶的簡單應用或窗口小部件(widget)。因此,當前存在對于智能的、以用戶為中心的搜索結果頁面的需求。
發(fā)明內容
本發(fā)明針對的是用于響應于搜索請求而提供一個或多個方面的系統(tǒng)和方法,所述一個或多個方面包括搜索結果的額外精煉(refinement)以及允許用戶訪問精煉的數據和其他對象的用戶界面組件。在一個實施例中,生成搜索結果包括接收包括至少一個搜索詞語(search term) 的搜索請求并且基于此搜索請求訪問涉及web內容的數據的語料庫(corpus)以確定用于包括在搜索結果集合中的相關內容。搜索結果的生成還包括基于對搜索結果集合的審查而確定至少一個樞軸數據點(Pivot data point),該至少一個樞軸數據點與搜索結果集合是上下文相關的。對于給定的數據點,該系統(tǒng)和方法基于該數據樞軸點生成用于搜索結果集合的精煉的活動數據鏈接(active data link)并且生成用于搜索結果集合的至少一部分和活動數據鏈接的呈現的搜索結果輸出顯示。其中,該方法和系統(tǒng)支持響應于對樞軸數據點之一的活動數據鏈接的選擇而切換該搜索結果輸出顯示以呈現搜索結果集合的精煉的至少一部分。在一個實施例中,生成搜索結果包括接收包括至少一個搜索詞語的搜索請求并且基于搜索請求訪問涉及web內容的數據的語料庫以確定用于包括在結果集合中的相關內容。搜索結果的生成包括基于對搜索結果集合的審查而確定搜索結果集合中的至少一個語義對象,該語義對象是關聯并包含在web內容內的有關數據。該方法和系統(tǒng)基于該至少一個語義對象生成對象過濾器并且生成用于搜索結果集合的至少一部分和用于一個或多個語義對象的活動數據鏈接的呈現的搜索結果輸出顯示。其中,該方法和系統(tǒng)支持響應于對給定的活動數據鏈接的選擇而切換該搜索結果輸出顯示以呈現搜索結果集合的子集的至少一部分,該搜索結果的子集包括具有與之相關聯的語義對象的web內容。在一個實施例中,生成搜索結果包括接收包括至少一個搜索詞語的搜索請求并且基于搜索請求訪問涉及Web內容的數據的語料庫以確定用于包括在搜索結果集合中的相關內容。該方法和系統(tǒng)包括確定與搜索請求相關聯的多個應用并且生成用于呈現搜索結果集合的至少一部分和應用的至少一部分的搜索結果輸出顯示。于是,該方法和系統(tǒng)生成改善的搜索結果,包括上下文樞軸數據點、語義對象過濾和查詢觸發(fā)的應用顯示。
在意欲為示例性而非限制性的附圖中圖示了本發(fā)明,在附圖中相似的標號想要指代相似或相應的部件,附圖中圖1呈現了示出根據本發(fā)明一個實施例的用于提供查詢觸發(fā)的應用的系統(tǒng)的框圖;圖2呈現了示出根據本發(fā)明一個實施例的用于提供基于查詢的樞軸數據點的系統(tǒng)的框圖;圖3呈現了示出根據本發(fā)明一個實施例的用于在搜索數據庫中識別語義對象并且提供語義對象上下文鏈接的系統(tǒng)的框圖;圖4呈現了圖示根據本發(fā)明一個實施例的用于提供查詢觸發(fā)的應用的方法的流程圖;圖fe呈現了圖示根據本發(fā)明一個實施例的用于提供與搜索結果集合相關聯的樞軸數據點的方法的流程圖;圖恥呈現了圖示根據本發(fā)明一個實施例的用于檢索與樞軸數據點相關聯的搜索結果的方法的流程圖;圖6a呈現了圖示根據本發(fā)明一個實施例的用于分析搜索數據庫并且識別語義對象的方法的流程圖;圖6b呈現了圖示根據本發(fā)明一個實施例的用于從多個搜索結果中提取語義對象識別信息并且向用戶提供語義類別鏈接的方法的流程圖;圖7呈現了圖示根據本發(fā)明一個實施例的搜索結果頁面的屏幕圖;圖8呈現了圖示根據本發(fā)明一個實施例響應于對樞軸數據點的選擇而檢索到的多個搜索結果的屏幕圖;并且圖9呈現了圖示根據本發(fā)明一個實施例響應于對語義類別鏈接的選擇而檢索到的多個搜索結果的屏幕圖。
具體實施例方式在以下描述中,參考了形成描述的一部分的附圖,在附圖中以圖示方式示出了可以實現本發(fā)明的具體實施例。要理解,在不脫離本發(fā)明的范圍的情況下,可以利用其他實施例,并且可以作出結構改變。圖1呈現了示出根據本發(fā)明一個實施例的用于提供查詢觸發(fā)的應用的系統(tǒng)的框圖。如圖1的實施例所示,多個客戶端設備102、104和106經由網絡108連接到搜索提供商110。搜索提供商110包括web服務器112、搜索引擎114、搜索數據庫116、SRP應用服務器118以及SRP應用數據庫120。SRP應用服務器118包括查詢檢查器122、查詢解析器 124、數據庫接口 1 以及應用加載器128。就這里使用的而言,應用可以是任何能夠直接與其他計算機通信的軟件實現;供用戶與之交互的動態(tài)界面(以及靜態(tài)呈現);以及訪問數據的語料庫,該數據獨立于用于生成算法搜索結果的數據。客戶端設備102、104和106可以是具有中央處理單元、存儲器單元、永久存儲裝置、音頻/視頻輸出設備、網絡接口等等的通用計算設備(例如個人計算機、電視機頂盒、移動設備等等)。客戶端設備102、104和106可操作來經由網絡108通信,網絡108可以是局域網或廣域網,例如因特網。在本實施例中,客戶端設備102、104和106經由HTTP、WAP或類似的用于文本、圖像和其他數據的客戶端/服務器交換的協(xié)議向內容提供商110發(fā)送請求??蛻舳嗽O備102、104和106可操作以向搜索提供商110發(fā)送對于搜索結果的請求,這些搜索請求包括搜索詞語。這些詞語可以是用戶生成的搜索詞語,或者可以是用戶輔助的即建議的搜索詞語。在一個實施例中,客戶端設備102、104和106可操作以發(fā)送包含文本查詢串的HTTP請求。例如,操作客戶端設備102、104和106的用戶可輸入帶有搜索詞語的查詢串,例如“sushi in new york,ny”,并且經由HTML表單元素提交查詢。搜索提供商110經由web服務器112接收來自客戶端設備的查詢。在一個實施例中,web服務器112可包括各種硬件組件,這些硬件組件運行web服務器軟件,例如APACHE HTTP SERVER、MICROSOFT IIS或者任何其他適當的web服務器軟件。web服務器112提取查詢串并且生成要被發(fā)送到搜索引擎114的搜索引擎請求。 搜索引擎114可包括可操作以接收對搜索結果的請求、優(yōu)化搜索算法并從搜索數據庫116 提取數據的各種硬件和軟件組件??梢圆捎玫母鞣N搜索引擎技術是本領域中公知的,在這里為了簡明起見不作論述。搜索引擎114從搜索數據庫116檢索多個搜索結果。在一個實施例中,搜索數據庫116可包括多個索引,用于允許訪問所存儲的與給定查詢相關聯的資源識別符。在檢索到多個搜索結果之后,搜索引擎114將這些結果發(fā)送回web服務器112。除了檢索多個搜索結果以外,web服務器112還可操作以將接收到的查詢發(fā)送到 SRP應用服務器118。在一個實施例中,SRP應用服務器可包括可操作以在SRP應用數據庫 120與web服務器112之間傳送和處理數據的單個應用服務器或多個應用服務器。當SRP應用服務器118接收到來自web服務器112的查詢時,查詢檢查器122對查詢串執(zhí)行初始預處理。在一個實施例中,預處理可包括查詢串的格式化(例如去除空格、 改寫)、詞語替換(例如用適當的通用詞語替換晦澀的詞語)、查詢分類、實體識別、或者本領域中已知的其他查詢解析技術。查詢檢查器122可通信地耦合到查詢解析器124。查詢解析器IM可將經預處理的查詢分解成離散的關鍵字成分并且將這些關鍵字成分發(fā)送到數據庫接口 126。在圖示實施例中,數據庫接口 1 接收關鍵字成分并且制定正規(guī)的數據庫請求。例如,數據庫接口 1 可操作以檢索出多個預定義的請求模板以訪問SRP應用數據庫120。響應于接收到多個關鍵字,數據庫接口 1 可選擇適當的請求模板并且將請求發(fā)送至IJ SRP應用數據庫120。SRP應用數據庫120可包括一個或多個數據庫,其中每個數據庫可操作以存儲與 SRP應用有關的信息。在一個實施例中,SRP應用數據庫120包括存儲與應用相關聯的元數據(例如標題、關鍵字等等)的索引數據庫以及存儲與給定應用相關聯的可執(zhí)行代碼的應用數據庫。數據庫接口 1 可從SRP應用數據庫120接收應用數據并將接收到的數據轉發(fā)到應用加載器128。在一個實施例中,應用加載器1 可操作以將接收到的應用數據格式化并封裝成適于包括在SRP上的格式。例如,應用加載器1 可填充與應用相關聯的任何可變數據,例如廣告數據、當前時間數據或任何其他可在運行時確定的數據。應用加載器1 還可操作以將封裝的(一個或多個)應用發(fā)送回web服務器112。 作為響應,web服務器112可以將這(一個或多個)應用封裝與先前接收到的搜索結果相組合。在一個實施例中,將(一個或多個)應用與搜索結果相組合可包括識別預定義的SRP 模板的區(qū)段并將搜索結果和(一個或多個)應用置入相應的模板位置中。如下文更詳細論述的,應用在被加載時可將額外的信息利用于執(zhí)行,這在一個實施例中包括其上顯示SRP 的處理系統(tǒng)本地的數據。注意,另一實施例可包括直接顯示或啟動應用,省略搜索結果或者在次顯示或其他輔助顯示中顯示搜索結果。圖2呈現了示出根據本發(fā)明一個實施例的用于提供基于查詢的樞軸數據點的系統(tǒng)的框圖。如圖2的實施例所示,多個客戶端設備202、204和206經由網絡208連接到搜索提供商210。根據圖2的實施例,搜索提供商210包括web服務器212、搜索引擎214、搜索數據庫216以及樞軸服務器218。樞軸服務器218包括搜索結果解析器220、查詢處理器 222、樞軸度量存儲裝置224以及樞軸封裝器226??偟貋碚f,客戶端設備202、204和206關于向web服務器212、搜索引擎214和搜索數據庫216請求搜索結果的操作與關于元件102、104、106、112、114和116的操作基本上類似,為了簡明將不再重復。在圖2的實施例中,web服務器212還可操作以將檢索到的搜索結果發(fā)送到樞軸服務器218。在圖示實施例中,搜索結果可被搜索結果解析器220接收。搜索結果解析器220 對接收到的搜索結果執(zhí)行解析操作,例如按域或其他樞軸點對搜索結果分組。搜索結果解析器220隨后將經解析的結果發(fā)送到查詢處理器222。在一個實施例中,查詢處理器222接收來自web服務器212的所提交的查詢以及經解析的搜索結果。查詢處理器222可操作以基于經解析的搜索結果從樞軸度量存儲裝置 2M中提取多個樞軸度量并且生成多個樞軸數據點。例如,樞軸度量存儲裝置2M可包含將被應用到給定的樞軸數據點的域特定屬性(例如,域特定搜索查詢參數)。此外,查詢處理器222可操作以分析給定的查詢以進一步精煉所選擇的樞軸數據點。例如,查詢處理器 222可操作以將查詢的類型分類為針對購物、旅行、大眾等等。此分類可用于縮窄樞軸數據點的列表。例如,與購物有關的搜索可允許查詢處理器222在識別域特定樞軸數據點時忽略來自社交網絡站點的結果。在檢索出多個樞軸數據點之后,查詢處理器222可將這些樞軸數據點發(fā)送到樞軸封裝器226。就這里使用的而言,樞軸數據點是基于特定數據精煉搜索的數據點,例如精煉到特定的web位置的示例,這是示例性的而不是限制性的示例。在一個實施例中,樞軸封裝器2 可負責準備樞軸數據點以用于插入到SRP中。例如,樞軸封裝器2 可操作以構造樞軸數據點的表示,其中包括與數據樞軸點相關聯的圖像、JavMcript和活動數據鏈接(例如HTML超鏈接)。樞軸封裝器2 還可操作以將封裝的(一個或多個)樞軸封裝發(fā)送回web服務器 212。作為響應,web服務器212可將這(一個或多個)樞軸封裝與先前接收到的搜索結果相組合。在一個實施例中,將(一個或多個)樞軸封裝與搜索結果相組合可包括識別預定的SRP模板的區(qū)段并將搜索結果和(一個或多個)樞軸封裝置入相應的模板位置中。SRP 的示例性實施例將聯系圖7至9以及圖4的流程圖來進一步論述。圖3呈現了示出根據本發(fā)明一個實施例的用于在搜索數據庫中識別語義對象并且提供語義對象上下文鏈接的系統(tǒng)的框圖。如圖3的實施例所示,多個客戶端設備302、304 和306經由網絡308連接到搜索提供商310。根據圖3的實施例,搜索提供商310包括web 服務器312、搜索引擎314、搜索數據庫316、語義對象服務器318以及語義對象數據庫320。 語義對象服務器318包括搜索結果加載器322、語義對象提取器324、語義對象規(guī)則存儲裝置326、查詢加載器328、數據庫接口 330以及語義對象封裝器。總地來說,客戶端設備302、304和306關于向web服務器312、搜索引擎314和搜索數據庫316請求搜索結果的操作與關于元件102、104、106、112、114和116的操作基本上類似,為了簡明起見將不再重復。語義對象服務器318管理位于搜索數據庫中存儲的搜索結果內的語義對象數據。 語義對象服務器318還可操作以處理響應于包括搜索詞語的搜索查詢對語義對象數據的管理和檢索。在一個實施例中,搜索結果加載器322可操作以從搜索數據庫316接收搜索結果。 在一個實施例中,搜索數據庫316可將未經分析的搜索結果傳送到搜索結果加載器322。例如,在最終確定爬取到的搜索結果之前,搜索數據庫316可將搜索結果發(fā)送到搜索結果加載器322以便處理?;蛘?,搜索結果加載器322可從搜索數據庫316拉來搜索結果并且控制對搜索結果的分析。搜索結果加載器322將搜索結果發(fā)送到語義對象提取器324。在圖示實施例中,語義對象提取器3M從語義對象規(guī)則存儲裝置3 中檢索出語義對象定義。語義對象定義可包括根據與語義數據相關聯的已知技術描述語義數據的格式的結構化數據。例如,語義對象定義可描述語義對象內的字段和參數。在訪問語義對象定義之后,語義對象提取器3M分析給定的搜索結果并且確定在該搜索結果內是否存在一個或多個語義對象。在一個實施例中,語義對象提取器3M解析搜索結果的關聯頁面的內容(例如HTML源代碼)并且識別與語義對象定義描述的模式匹配的頁面內容。如果語義對象提取器3M檢測到與語義對象的一個或多個匹配,則語義對象提取器3M從語義對象數據庫320中檢索出預定義的語義對象。在一個實施例中,語義對象數據庫320可存儲包括圖像數據、可執(zhí)行代碼數據和標記數據的多個預定義的語義對象組件。語義對象服務器318還可通過查詢加載器3 處理用戶查詢以確定語義對象定義是否對應于用戶查詢。例如,查詢加載器3 可確定所提交的用戶查詢可能針對的是視頻搜索結果。在此實施例中,查詢加載器3 可分析查詢關鍵字并且查詢語義對象數據庫320 以確定相關聯的搜索結果是否包含適當的語義對象。例如,對“pearl jam”的用戶查詢可導致對視頻對象的語義對象匹配。在此示例中,數據庫接口 330可查詢語義對象數據庫320 以確定在針對查詢“pearl jam”的搜索結果內是否存在任何視頻對象。在替換實施例中,語義對象服務器318可分析針對給定查詢的搜索結果以在不分析用戶查詢的情況下確定是否存在語義對象。例如,語義對象服務器318可將搜索結果與語義對象數據庫320內的條目相對照,并且確定在搜索結果內存在哪些語義對象。在另一實施例中,語義對象與結果一起返回,并且系統(tǒng)在代理中使用應用邏輯來基于返回什么結果和對象確定要做什么。當語義對象服務器318確定在搜索結果集合內存在語義對象時,語義對象封裝器 332封裝語義對象過濾器。在一個實施例中,語義對象過濾器可包括多個組件,其中包括識別語義對象的活動數據鏈接、各種圖像元素以及用于描述對象過濾器的外觀的標記語言。 在替換實施例中,語義對象服務器318還可操作以確定應當或不應當示出什么對象。例如, 語義對象服務器318可利用預定的基于場景的閾值來確定要顯示的語義對象過濾器的數目?;蛘?,可以使用各種其他度量來限定所顯示的結果的數目。語義對象封裝器332還可操作以將封裝的(一個或多個)對象發(fā)送回web服務器 312。作為響應,web服務器312可將封裝的(一個或多個)對象與先前接收到的搜索結果相組合。在一個實施例中,將封裝的(一個或多個)對象與搜索結果相組合可包括識別預定義的SRP模板的區(qū)段并將搜索結果和(一個或多個)封裝的對象置入相應的模板位置中。雖然被圖示為三個不同的環(huán)境,但服務器118、218和318也可與web服務器、搜索引擎和搜索數據庫同時操作。在此實施例中,服務器118、218和318可全都通信地耦合到 web服務器、搜索引擎和搜索數據庫并且可同時執(zhí)行上述處理。在另外的環(huán)境中,圖1至3還可包括位于搜索提供商110、210和310處的拍賣服務器,用于與廣告主通信。在此實施例中,廣告主可提交應用、樞軸封裝、語義對象和要包括在SI^R上的其他對象。例如,廣告主還可對所提交的應用的置入競價,類似于關于SRP上的廣告置入的當前廣告體系結構。另外,圖1至3中描述的系統(tǒng)可與其他查詢處理技術相組合。例如,上述服務器可與諸如會話數據分析應用之類的基于歷史的處理應用協(xié)力工作。在此實施例中,系統(tǒng)可操作以分析在給定時間段中用戶的過去歷史以確定給定搜索的上下文。例如,在搜索“cars”、 “buick”和“ford”之后對“jaguar”的搜索可表明用戶不是對動物感興趣,而是對JAGUAR. 汽車感興趣。從而,系統(tǒng)可限制上述系統(tǒng)聚焦于與汽車相關聯的樞軸數據項、語義對象過濾器或應用。
圖4呈現了圖示根據本發(fā)明一個實施例的用于提供查詢觸發(fā)的應用的方法的流程圖。在一個實施例中,圖4的方法可在圖1的系統(tǒng)100內執(zhí)行。根據圖4所示的實施例, 方法400接收并解析搜索查詢,步驟400。在圖示實施例中,如本領域中已知的,方法可經由HTTP請求從利用搜索門戶的最終用戶接收搜索查詢。方法400隨后可根據預定義的一組規(guī)則來解析搜索查詢。例如,方法400可修整掉查詢中的無用或空格字符或者本領域中已知的其他預處理算法。方法400隨后識別相關查詢關鍵字,步驟404。在此步驟中,方法400通過分析關鍵字的字詞以及它們的句法放置來智能地確定用戶查詢的上下文和意圖。例如,諸如 "mortgage calculator”之類的平凡查詢可被識別為與關于抵押貸款的計算器應用相關聯。諸如“sushi restaurants in new york,ny”之類的更復雜的示例可識別三個一般關鍵字企業(yè)的類型(餐館)、企業(yè)的“種類”或行業(yè)(壽司)以及位置關鍵字(紐約市)。在替換實施例中,方法400可將這三個關鍵字進一步解析為諸如“餐館”之類的一般應用識別符。在另一實施例中,方法400可智能地將查詢變換成相關聯的主題。例如,如果用戶輸入查詢“2+2”,則方法400可確定用戶的查詢是針對數學計算器的。在識別出查詢關鍵字之后,方法400查詢應用數據庫,步驟406。在一個實施例中, 方法400可利用預定義的數據庫接口來提取數據庫內的與所識別的關鍵字相關聯或者是所識別的關鍵字的相似匹配的應用。在一個實施例中,方法400還可基于將查詢與給定應用的描述相比較來確定置信值。如果對于所識別的關鍵字沒有找到應用,步驟408,則方法只是提供匹配的搜索結果,步驟410。例如,如果用戶查詢針對的是缺乏應用的模糊主題,則方法400可能找不到任何與關鍵字相關聯的應用。如果方法400確定對于用戶查詢存在應用,則這里的方法將應用和搜索結果提供給用戶,步驟412。在一個實施例中,提供應用可包括提供嵌入在搜索結果頁面內的經封裝的應用對象。方法400提供應用和搜索結果給用戶并且監(jiān)視應用以確定用戶是否選擇了應用, 步驟414。選擇應用可包括用鼠標點擊對象、輸入鍵擊或者本領域中已知的任何用戶輸入動作。在一個實施例中,監(jiān)視用戶交互可經由諸如Jav必cript、FlaSh或類似的客戶端側技術之類的客戶端側可執(zhí)行代碼來完成。如果方法400確定用戶選擇了應用,則方法在用戶設備上執(zhí)行該應用,步驟416。 在一個實施例中,執(zhí)行應用可包括從本地存儲裝置加載應用。例如,應用可被嵌入在SRP 上,但是非活動的。響應于選擇該應用,方法400簡單地激活并顯示該應用。在替換實施例中,方法400可響應于用戶選擇而訪問遠程存儲裝置。在此實施例中,方法400可異步地檢索應用數據并且在接收到后可執(zhí)行該應用。應用可在SRP內執(zhí)行或者可在單獨的顯示中執(zhí)行。如果可能,應用的執(zhí)行可利用本地數據。例如,如果用戶有應用可使用的現有數據,例如先前輸入的信息或簡檔信息,則應用可與本地存儲裝置交互以改善用戶功能。注意,此查詢觸發(fā)應用響應可基于非web內容數據。例如,在一個實施例中,可對包括第三方數據饋送在內的數據饋送執(zhí)行搜索。在此實施例中,方法包括注冊包括第三方數據饋送在內的多個數據饋送并且創(chuàng)建用于饋送數據的持久型存儲庫,該存儲庫存儲并更
11新饋送數據。另外,饋送數據可包括但不限于給定域中的條目的列表以及關于這些條目的元數據。因此,用于生成搜索結果的方法還可包括對數據饋送提出搜索請求。在替換實施例中,搜索操作的額外精煉可包括為給定的查詢確定最適當的垂直搜索引擎。這可通過對搜索詞語的分析和/或對搜索結果的類型的分析來執(zhí)行。從而,SRP可包括來自這個最適當的垂直搜索引擎的搜索結果。圖fe呈現了圖示根據本發(fā)明一個實施例的用于提供與搜索結果集合相關聯的樞軸數據點的方法的流程圖。注意,圖如和恥的方法可在圖2的系統(tǒng)200內執(zhí)行。根據圖 5a所示的實施例,方法500a接收搜索查詢,步驟502。在圖示實施例中,如本領域中已知的, 方法500a可經由HTTP請求從利用搜索門戶的最終用戶接收搜索查詢。方法500a隨后可檢索與查詢相關聯的搜索結果,步驟504。搜索結果檢索技術是本領域中公知的,為了簡明起見不再重述。方法500a選擇給定的搜索結果并且對結果分類,步驟506。方法500a對搜索結果分類,直到其生成必要數目的搜索結果列表為止,步驟508。在一個實施例中,方法500a可對所有搜索結果分類。在替換實施例中,方法500a可基于預定的閾值量來限制分類的搜索結果的數目。在一個實施例中,對搜索結果分類可包括確定搜索結果的域名。例如,方法500a 可確定屬于“example, com”的搜索結果的數目并且可在本地存儲此分類數據。在替換實施例中,方法500a可根據任何預定的分類方案來對結果分類。在分類之后,方法500a加載樞軸度量,步驟510。在一個實施例中,樞軸度量可包括與給定的類別相關聯的任何元數據。例如,樞軸度量可基于匹配的結果的數目來約束類別的應用。即,僅當匹配的結果的數目超過預定的閾值時,才應用給定的類別?;蛘撸瑯休S度量可包括與給定的類別或域相關聯的任何元數據。方法500a隨后選擇經分類的搜索結果的子集,步驟512。選擇經分類的搜索結果的子集可包括提取預定閾值限定的前N個類別。例如,方法500a可確定只應當利用前三個類別。方法500a基于經分類的搜索結果來生成樞軸數據點,步驟514。在一個實施例中, 生成樞軸數據點可包括生成可被置入SRP內的獨立對象。例如,方法500a可利用樞軸度量數據并且可生成或識別與類別相關聯的圖像、與樞軸點相關聯的HTML活動數據鏈接以及與樞軸數據點相關聯的諸如JavMcript之類的關聯可執(zhí)行代碼。方法500a可組合這些和各種其他形式的數據以生成獨立的樞軸數據點。這里,可基于樞軸數據點生成活動鏈接,例如該點可以是指定web位置例如“www. example, com”的內容并且活動鏈接是該樞軸點的可視表示或表現,活動鏈接被編碼到SRP和用戶可選擇的界面元素中。最后,方法500a在SRP中向用戶提供樞軸數據點和搜索結果,步驟516。在一個實施例中,方法500a將先前生成的樞軸數據點代碼嵌入在SRP或SRP模板內,例如嵌入在左邊欄中,如以下圖7-9中所示。圖恥呈現了圖示根據本發(fā)明一個實施例的用于檢索與樞軸數據點相關聯的搜索結果的方法的流程圖。根據圖恥所示的實施例,方法500b如前所述提供樞軸點和搜索結果,步驟518。方法500b隨后監(jiān)視SRP以檢測用戶對樞軸數據點之一的選擇,步驟520。選擇應用可包括用鼠標點擊對象、輸入鍵擊或者本領域中已知的任何用戶輸入動作。在一個實施例中,監(jiān)視用戶交互可經由諸如JavaScript、Flash或類似的客戶端側技術之類的客戶端側可執(zhí)行代碼來完成。如果用戶未選擇樞軸數據點,則方法500b繼續(xù)提供樞軸數據點,步驟518。如果用戶選擇了樞軸數據點,則方法請求精煉搜索結果,步驟520。在一個實施例中,請求精煉搜索結果可包括執(zhí)行由樞軸數據點內的活動數據鏈接識別的第二搜索查詢。在一個實施例中, 第二搜索查詢可同步執(zhí)行,即重加載不同的第二 SRP。在替換實施例中,第二搜索查詢可異步執(zhí)行,即只是重加載搜索結果,而不重加載SRP。方法500b隨后呈現精煉的搜索結果,步驟524。如前所述,呈現精煉的搜索結果可包括顯示與第一 SRP類似的第二 SRP。在一個實施例中,第二 SRP可包括表明第二 SRP是基于樞軸數據點對第一 SRP的精煉的額外元素。例如,第二 SRP可聲稱搜索結果被精煉了并且可提供返回到第一 SRP的選項。在一個實施例中,這可以是回復到原始SRP的切換選擇。方法500b繼續(xù)顯示精煉的SRP,直到檢測到返回請求為止,步驟526。如果方法 500b檢測到用戶提交了返回請求,則方法呈現原始SRP,步驟528。如前所述,方法500b可經由同步或異步請求呈現原始SRP。還要注意,用戶在查看精煉的SRP的同時可通過選擇不同的活動數據鏈接而在不同的樞軸數據點SRP之間切換。圖6a呈現了圖示根據本發(fā)明一個實施例的用于分析搜索數據庫并且識別語義對象的方法的流程圖。注意,圖6a和6b的方法的步驟在一個實施例中可利用圖3的系統(tǒng)300 執(zhí)行。如圖6a所示,方法600a檢索出多個搜索結果,步驟602。搜索結果檢索技術是本領域中公知的,為了簡明起見不再重述。方法600a隨后選擇給定的搜索結果,步驟604,并且繼續(xù)選擇搜索結果,直到不再剩有搜索結果為止,步驟614。在替換實施例中,方法600a 可選擇預定數目的搜索結果來處理。在選擇搜索結果之后,方法600a嘗試識別搜索結果內的語義對象,步驟606。方法 600a可通過將搜索結果數據與存儲的語義對象定義的列表相比較來識別語義對象。在此實施例中,方法600a可執(zhí)行模式匹配算法來確定在搜索結果內是否存在所定義的語義對象。 例如,語義對象定義可規(guī)定根據vCard文件格式來格式化的文本數據將被適當地認為是商務名片,從而是可識別的對象。如果方法600a沒有找到任何語義對象,則方法600a繼續(xù)處理剩余的搜索結果,步驟608。如果方法600a確定語義對象存在,則方法識別語義對象類,步驟610。在一個實施例中,識別語義對象類可包括檢查對象定義以確定適當的對象類。在此實施例中,方法600a可查詢將對象類型與所定義的類關聯起來的類數據庫或文件。例如,vCard對象可被指派到商務(Business)類?;蛘?,語義對象可與多個類相關聯。例如, vCard可被指派至Ij商務禾口個人(Business and Person)類。方法600a隨后對搜索結果分類,步驟612。在一個實施例中,對搜索結果分類可包括將搜索結果與所識別的類關聯起來。方法600a隨后在所有數據都已被處理之后存儲分類數據,步驟616。在一個實施例中,存儲分類數據可包括在諸如數據庫之類的長期存儲設備中存儲在步驟612中創(chuàng)建的關聯。圖6b呈現了圖示根據本發(fā)明一個實施例的用于從多個搜索結果中提取語義對象識別信息并且向用戶提供語義類別鏈接的方法的流程圖。根據圖6b所示的實施例,方法600b接收搜索查詢,步驟618。在圖示實施例中,如本領域中已知的,方法600b可經由HTTP 請求從利用搜索門戶的最終用戶接收搜索查詢。方法600b隨后檢索與查詢相關聯的搜索結果,步驟620。搜索結果檢索技術是本領域中公知的,為了簡明起見不再重述。方法600b隨后選擇給定的搜索結果,步驟622,并且識別語義對象類別,步驟624。 在圖示實施例中,識別語義對象類別可包括查詢語義對象數據庫以確定對于所選擇的搜索結果是否存在匹配。如先前聯系圖6a所述,語義對象數據庫可被預先填充以搜索結果和相關聯的語義對象識別符的列表。例如,方法600b可選擇由數值識別符“ 1234”識別的搜索結果。方法600b隨后可查詢語義對象數據庫以尋找所有與識別符“1234”匹配的條目。如果找到匹配,則方法600b成功地識別出語義對象并且存儲相關聯的匹配。在分析檢索到的搜索結果之后,方法600b選擇語義對象類別以用于呈現,步驟 6觀。在一個實施例中,方法600b可選擇預定數目的語義對象。例如,預定義的方案可指示方法600b只選擇前三個出現的語義對象(例如在搜索結果內出現的前三個語義對象)。方法600b隨后封裝語義對象,步驟630。在一個實施例中,封裝語義對象可包括生成可被置入在SRP內的獨立對象。例如,方法600b可生成或識別與語義對象相關聯的圖像、與語義對象相關聯的HTML活動數據鏈接以及與語義對象相關聯的諸如JavMcript之類的關聯可執(zhí)行代碼。方法600b可組合這些和各種其他形式的數據以生成獨立的語義對象。最后,方法600b呈現搜索結果和語義對象類別,步驟632。在一個實施例中,方法 600b將先前生成的語義對象代碼嵌入在SRP或SRP模板內,如前所述。在一個實施例中,對象可以是結構化的或非結構化的對象。此外,對象過濾器支持基于單個web位置內容源對搜索結果進行過濾,其中該單個web位置可以是內容一般且用戶動作特定的 web 位置(content general and user-action specific web location)。 就這里使用的而言,內容一般且用戶動作特定的web位置是提供一般性質的內容并且允許特定用戶動作的web位置。例如,該web位置可以是音頻/視頻分發(fā)web位置(例如mm. youtube. com、www. hulu. com 等等)、購物位置(例如 www. amazon. com 等等)、社交媒體 web 位置(例如www. facebook. com、www. linkedin. com等等)或者用戶生成內容web位置(例如 en. wikipedia. com 等等)。圖7呈現了圖示根據本發(fā)明一個實施例的搜索結果頁面的屏幕圖。根據圖7所示的實施例,可向用戶呈現包括多個組件702、704、706和708的一般SRP 700。如圖所示,該 SRP包括指示用戶輸入的查詢的文本字段702和多個搜索結果704。除了搜索結果704以外,SRP 700還呈現邊欄706,邊欄706包括各種數據對象,其中包括經由活動數據鏈接708在輸出顯示中可見的多個樞軸數據點和經由活動數據鏈接 710在輸出顯示中可見的多個語義對象過濾器。樞軸數據點708和語義對象過濾器710可包括HTML、圖像和JavMcript組件,如前所述。另外,樞軸數據點708和語義對象過濾器 710可被用戶選擇,如將聯系圖8和9呈現的那樣。圖8呈現了圖示根據本發(fā)明一個實施例響應于對樞軸數據點的選擇而檢索到的多個搜索結果的樣本截屏圖。根據圖8所示的實施例,響應于對樞軸數據點802的選擇,向用戶呈現精煉的SRP 800。在用戶選擇樞軸數據點802 (標記為“Wikipedia” )之后,搜索結果窗格804被用僅來自域“http://en. wikipedia. org”的結果806更新。此外,經更新的SRP 800提供了描述性標題欄808,表明用戶已轉移到了精煉的搜索結果頁面中。最后,經更新的SRP 800 標題欄808包括導航控件810,其允許用戶返回到先前SRP 700。圖9呈現了圖示根據本發(fā)明一個實施例響應于對語義類別鏈接的選擇而檢索到的多個搜索結果的樣本截屏圖。根據圖9所示的實施例,響應于對語義對象過濾器902的選擇而向用戶呈現精煉的SRP 900。在用戶選擇語義對象過濾器802(標記為“Video Sites”)之后,搜索結果窗格904 被用僅包含視頻對象的結果906(例如^uTube頁面)更新。在替換實施例中,連同其他對象可向用戶呈現多個其他對象802。例如,個人或產品對象可被顯示在語義對象過濾器802 旁邊。此外,經更新的SRP 900提供了描述性標題欄908,表明用戶已轉移到了精煉的搜索結果頁面中。最后,經更新的SRP 900標題欄908包括導航控件910,其允許用戶返回到先前 SRP 700。圖1至9是使得可以說明本發(fā)明的概念圖示。應當理解,本發(fā)明的實施例的各種方面可用硬件、固件、軟件或其組合來實現。在這種實施例中,各種組件和/或步驟將被用硬件、固件和/或軟件實現來執(zhí)行本發(fā)明的功能。即,同一個硬件、固件或軟件模塊可執(zhí)行圖示的塊(例如組件或步驟)中的一個或多個。在軟件實現方式中,計算機軟件(例如程序或其他指令)和/或數據被存儲在作為計算機程序產品的一部分的機器可讀介質上,并且經由可移除存儲驅動器、硬驅動器或通信接口被加載到計算機系統(tǒng)或其他設備或機器中。計算機程序(也稱為計算機控制邏輯或計算機可讀程序代碼)被存儲在主存儲器或次存儲器中,并且被一個或多個處理器(控制器等等)執(zhí)行以使得一個或多個處理器執(zhí)行如這里所述的發(fā)明的功能。在本文獻中,術語“機器可讀介質”、“計算機程序介質”和“計算機可使用介質”用于概括地指諸如以下介質隨機訪問存儲器(RAM);只讀存儲器(ROM);可移除存儲單元(例如磁盤或光盤、閃存設備等等);硬盤;等等。要注意,以上的附圖和示例并不欲將本發(fā)明的范圍限制到單個實施例,因為通過替換所描述或圖示的元素中的一些或全部,可以實現其他實施例。另外,在本發(fā)明的某些元素可部分或全部利用已知組件實現的情況下,只描述了這種已知組件的對于理解本發(fā)明必要的那些部分,而省略了對這種已知組件的其他部分的詳細描述以免模糊本發(fā)明。在本說明書中,示出單數組件的實施例不一定受限于包括多個同一組件的其他實施例,反之亦然, 除非這里另有明確聲明。另外,申請人不希望說明書或權利要求中的任何術語被賦予非常見或特殊的含義,除非明確地如此提出。另外,本發(fā)明包含了這里作為例示述及的已知組件的當前和將來已知的等同。以上對具體實施例的描述因此充分揭示了本發(fā)明的一般性質,他人通過應用相關領域的技能范圍內的知識(包括這里引用并通過引用并入的文獻的內容)可以針對這種具體實施例的各種應用而容易地修改和/或適應性改變本發(fā)明的一般性質,無需過度的實驗,而不脫離本發(fā)明的一般概念。因此,基于這里給出的教導和指引,這種適應性改變和修改想要在所公開的實施例的等同物的含義和范圍內。要理解,這里的措詞或用語是為了描述而非限制的,從而本說明書的用語或措辭應由本領域的技術人員根據這里給出的教導和指引、結合相關領域的技術人員的知識來解釋。
雖然以上已經描述了本發(fā)明的各種實施例,但應當理解是以示例而非限制方式給出這些實施例的。相關領域的技術人員將會清楚對其可以作出形式和細節(jié)上的各種改變, 而不脫離本發(fā)明的精神和范圍。從而,本發(fā)明不應受限于任何上述示例性實施例,而應當僅根據權利要求及其等同物來限定。
權利要求
1.一種用于生成搜索結果的方法,該方法包括 接收包括至少一個搜索詞語的搜索請求;基于所述搜索請求訪問多個數據語料庫以確定用于包括在搜索結果集合中的相關內容;確定與所述搜索請求相關聯的多個應用;以及生成用于呈現以下各項中的至少一個的搜索結果輸出顯示所述搜索結果集合的至少一部分和所述應用的至少一部分;以及所述應用之一。
2.如權利要求1所述的方法,其中,web應用的輸出顯示包括用于所述應用的本地啟動的活動鏈接。
3.如權利要求1所述的方法,其中,web應用中的至少一個的輸出顯示包括該應用的活動顯不。
4.如權利要求1所述的方法,還包括 注冊包括應用描述數據的多個應用;基于所述搜索詞語與所述應用描述數據的比較為每個所述應用確定置信值;以及通過確定所述置信值是否高于閾值來確定用于顯示的至少一個應用。
5.如權利要求1所述的方法,還包括 準予所述應用訪問本地用戶數據。
6.如權利要求1所述的方法,還包括基于排名度量對應用顯示部分中所述應用的顯示排序。
7.如權利要求6所述的方法,其中,所述排名度量是基于用于對所述應用顯示部分中的置入位置的價值競價的競價系統(tǒng)的。
8.如權利要求1所述的方法,其中,數據的語料庫涉及非web內容。
9.如權利要求1所述的方法,還包括 注冊包括第三方饋送數據的多個數據饋送;以及創(chuàng)建用于所述饋送數據的持久型存儲庫,該存儲庫存儲并更新所述饋送數據;以及對所述饋送數據提出搜索請求。
10.如權利要求9所述的方法,其中,所述饋送數據包括給定域中的條目的列表和關于所述條目的元數據。
11.如權利要求1所述的方法,還包括 為給定查詢確定最適當的垂直搜索引擎;以及包括來自所述垂直搜索引擎的搜索結果。
12.一種用于生成搜索結果的系統(tǒng),該系統(tǒng)包括 存儲有可執(zhí)行指令的計算機可讀介質,以及處理設備,響應于所述可執(zhí)行指令,可操作以 接收包括至少一個搜索詞語的搜索請求;基于所述搜索請求訪問多個數據語料庫以確定用于包括在搜索結果集合中的相關內容;確定與所述搜索請求相關聯的多個應用;以及生成用于呈現以下各項中的至少一個的搜索結果輸出顯示所述搜索結果集合的至少一部分和所述應用的至少一部分;以及所述應用之一。
13.如權利要求12所述的系統(tǒng),其中,web應用的輸出顯示包括用于所述應用的本地啟動的活動鏈接。
14.如權利要求12所述的系統(tǒng),其中,web應用中的至少一個的輸出顯示包括該應用的活動顯示。
15.如權利要求12所述的系統(tǒng),所述處理設備響應于可執(zhí)行指令還可操作以 注冊包括應用描述數據的多個應用;基于所述搜索詞語與所述應用描述數據的比較為每個所述應用確定置信值;以及通過確定所述置信值是否高于閾值來確定用于顯示的至少一個應用。
16.如權利要求12所述的系統(tǒng),所述處理設備響應于可執(zhí)行指令還可操作以 準予所述應用訪問本地用戶數據。
17.如權利要求12所述的系統(tǒng),所述處理設備響應于可執(zhí)行指令還可操作以 基于排名度量對應用顯示部分中所述應用的顯示排序。
18.如權利要求17所述的系統(tǒng),其中,所述排名度量是基于用于對所述應用顯示部分中的置入位置的價值競價的競價系統(tǒng)的。
19.如權利要求12所述的系統(tǒng),其中,數據的語料庫涉及非web內容。
20.如權利要求12所述的系統(tǒng),所述處理設備響應于可執(zhí)行指令還可操作以 注冊包括第三方饋送數據的多個數據饋送;以及創(chuàng)建用于所述饋送數據的持久型存儲庫,該存儲庫存儲并更新所述饋送數據;以及對所述饋送數據提出搜索請求。
21.如權利要求20所述的系統(tǒng),其中,所述饋送數據包括給定域中的條目的列表和關于所述條目的元數據。
22.如權利要求12所述的系統(tǒng),所述處理設備響應于可執(zhí)行指令還可操作以 為給定查詢確定最適當的垂直搜索引擎;以及包括來自所述垂直搜索引擎的搜索結^ ο
23.一種包括程序代碼的計算機可讀介質,所述程序代碼在被可編程處理器執(zhí)行時使得執(zhí)行一種用于生成搜索結果的方法,所述計算機可讀介質包括用于接收包括至少一個搜索詞語的搜索請求的程序代碼;用于基于所述搜索請求訪問數據的語料庫以確定用于包括在搜索結果集合中的相關內容的程序代碼;用于確定與所述搜索請求相關聯的多個應用的程序代碼;以及用于生成用于呈現以下各項中的至少一個的搜索結果輸出顯示的程序代碼所述搜索結果集合的至少一部分和所述應用的至少一部分;以及所述應用之一。
24.如權利要求23所述的計算機可讀介質,還包括 用于注冊包括應用描述數據的多個應用的程序代碼;用于基于所述搜索詞語與所述應用描述數據的比較為每個所述應用確定置信值的程序代碼;以及用于通過確定所述置信值是否高于閾值來確定至少一個應用的程序代碼。
25.如權利要求23所述的計算機可讀介質,還包括用于準予所述應用訪問本地用戶數據的程序代碼。
26.如權利要求23所述的計算機可讀介質,還包括用于基于排名度量對應用顯示部分中所述應用的顯示排序的程序代碼。
27.如權利要求23所述的計算機可讀介質,其中,所述數據的語料庫涉及非web內容。
全文摘要
本發(fā)明提供了用于生成搜索結果的方法和系統(tǒng),包括接收包括至少一個搜索詞語的搜索請求并且基于搜索請求訪問涉及數據的語料庫以確定用于包括在結果集合中的相關內容。該方法和系統(tǒng)包括確定與搜索請求相關聯的多個應用并且生成用于呈現搜索結果集合的至少一部分和應用的至少一部分的搜索結果輸出顯示。
文檔編號G06F17/30GK102549572SQ201080042031
公開日2012年7月4日 申請日期2010年9月16日 優(yōu)先權日2009年9月20日
發(fā)明者保羅·塔爾金, 凱文·哈斯, 易珍熙, 阿米特·庫瑪, 阿米特·約提·巴蘇 申請人:雅虎公司