本文總體上涉及搜索引擎,尤其涉及評估搜索查詢的不同語義解釋。
背景技術(shù):
互聯(lián)網(wǎng)是響應(yīng)于查詢而提供信息的全球型計算機(jī)網(wǎng)絡(luò)。所述信息為電子資源的形式,例如,諸如網(wǎng)頁、電子文件或其它資源。搜索引擎根據(jù)這些資源所包含的信息對所述資源進(jìn)行組織,允許用戶提交搜索查詢以找到包含與特定查詢有關(guān)的信息的資源。在一些實例中,搜索查詢可以是被提交至搜索引擎的定義用戶所搜尋信息的單詞的集合。搜索查詢還可以包括布爾運算符(例如,OR和AND)、搜索導(dǎo)引(例如,將搜索限制于具體領(lǐng)域),或者其它組件。
技術(shù)實現(xiàn)要素:
本公開涉及對搜索查詢的不同語義解釋進(jìn)行評估。一種示例技術(shù)包括確定特定搜索查詢的一個或多個語義解釋。每個語義解釋與至少一個規(guī)范化查詢相關(guān)聯(lián)。針對每個語義解釋,基于原始搜索查詢和相關(guān)聯(lián)的規(guī)范化查詢生成經(jīng)修改的搜索查詢。隨后針對所述特定搜索查詢和經(jīng)修改的搜索查詢獲得搜索結(jié)果。將每個經(jīng)修改的搜索查詢的搜索結(jié)果與原始搜索查詢的搜索結(jié)果進(jìn)行比較以對與每個經(jīng)修改的搜索查詢相關(guān)聯(lián)的語義解釋進(jìn)行評估。例如,每個語義解釋能夠被排名或驗證。以這種方式,能夠?qū)⒃妓阉鞑樵兊牟煌Z義解釋相互比較。在一些情況下,能夠基于所述比較來選擇原始搜索查詢的語義解釋。
一種示例方法包括針對提交至搜索引擎的特定搜索查詢獲得搜索結(jié)果集合;針對特定搜索查詢獲得語義解釋的集合,每個語義解釋表示與特定搜索查詢相關(guān)聯(lián)的候選意圖;針對所述集合中的每個語義解釋獲得規(guī)范化搜索查詢;針對所述集合中的每個語義解釋至少部分地基于所述特定搜索查詢和針對所述語義解釋的規(guī)范化搜索查詢生成經(jīng)修改的搜索查詢;針對所述集合中的每個語義解釋獲得所述語義解釋的經(jīng)修改的搜索查詢的搜索結(jié)果集合;并且針對所述集合中的每個語義解釋確定(i)所述語義解釋的經(jīng)修改的搜索查詢的搜索結(jié)果集合與(ii)所述特定搜索查詢的搜索結(jié)果集合之間的相似度的程度。
所述說明書中所描述主題的一個或多個實施方式的細(xì)節(jié)在附圖和以下描述中給出。所述主題的其它特征、方面和優(yōu)勢將通過描述、附圖和權(quán)利要求而變的顯而易見。
附圖說明
圖1描繪了用于對搜索查詢的語義解釋進(jìn)行評估的示例系統(tǒng)。
圖2描繪了示例的經(jīng)修改的搜索查詢的示意圖。
圖3描繪了用于對搜索查詢的語義解釋進(jìn)行評估的示例過程的流程圖。
圖4描繪了用于對搜索查詢的語義解釋進(jìn)行評估的示例過程。
圖5是可以被用來實現(xiàn)本文中所描述的系統(tǒng)和方法的計算設(shè)備的框圖。
各圖中相同的附圖標(biāo)記指示相同的要素。
具體實施方式
搜索引擎可以通過咨詢索引來識別包含與用戶所提供的搜索查詢相關(guān)的信息的資源,并且通過應(yīng)用算法以基于與所述查詢的相關(guān)性對所識別的資源進(jìn)行排序,從而基于所述查詢提供搜索結(jié)果。為了提高搜索結(jié)果的質(zhì)量,搜索引擎可以對所接收的搜索查詢進(jìn)行解釋從而辨別與每個查詢相關(guān)聯(lián)的可能意圖,例如所述查詢可能在搜尋什么信息。例如,引用了“What is Barack Obama’s middle name?(巴拉克·奧巴馬的中間名是什么?)”的搜索查詢可能與找出巴拉克·奧巴馬(Barack Obama)的中間名的意圖相關(guān)聯(lián)。然而,一些搜索查詢可能是模糊或存在歧義的,并且可能不容易與特定的意圖相關(guān)聯(lián)。例如,引用了“Washington’s age(華盛頓的年齡)”的查詢例如可能是指總統(tǒng)喬治·華盛頓(George Washington)、演員丹澤爾·華盛頓(Denzel Washington)、華盛頓州或者華盛頓D.C.。確定與這樣的存在歧義的查詢相關(guān)聯(lián)的用戶意圖可能存在著挑戰(zhàn)。
因此,本公開描述了用于對特定搜索查詢的不同解釋進(jìn)行評估的技術(shù)。一種示例技術(shù)包括確定特定搜索查詢的一個或多個語義解釋。每個語義解釋與至少一個規(guī)范化查詢相關(guān)聯(lián)。針對每個語義解釋,基于原始搜索查詢和相關(guān)聯(lián)的規(guī)范化查詢生成經(jīng)修改的搜索查詢。隨后針對所述特定搜索查詢和經(jīng)修改的搜索查詢獲得搜索結(jié)果。將每個經(jīng)修改的搜索查詢的搜索結(jié)果與原始搜索查詢的搜索結(jié)果進(jìn)行比較以對與每個經(jīng)修改的搜索查詢相關(guān)聯(lián)的語義解釋進(jìn)行評估。例如,每個語義解釋能夠被排名或驗證。以這種方式,原始搜索查詢的不同語義解釋能夠被相互比較。在一些情況下,能夠基于所述比較來選擇原始搜索查詢的語義解釋。
根據(jù)本公開的技術(shù)至少可以提供以下優(yōu)勢。使用搜索結(jié)果來評估不同的語義解釋,在產(chǎn)生搜索結(jié)果時所利用的諸如點擊率數(shù)據(jù)、特定于用戶的數(shù)據(jù)等的其它數(shù)據(jù)源得以在不需要執(zhí)行附加的分析的情況下被納入考慮。此外,通過對查詢的不同語義解釋進(jìn)行評估,可以針對所述查詢預(yù)測用戶意圖,由此緩解查詢中的任何歧義對于所識別搜索結(jié)果的質(zhì)量的影響。
圖1描繪了用于對搜索查詢的語義解釋進(jìn)行評估的示例系統(tǒng)100。系統(tǒng)100包括基于查詢來獲得搜索結(jié)果的搜索引擎106。在一些實施方式中,系統(tǒng)100還可以包括后端系統(tǒng)108,其能夠?qū)W(wǎng)絡(luò)資源120進(jìn)行爬取、索引和/或注釋。后端系統(tǒng)108可以包括爬取模塊118和索引116。后端系統(tǒng)108還可以包括解釋評估器110,其能夠接收語義解釋112及其相關(guān)聯(lián)的規(guī)范化查詢114。
在操作中,搜索引擎106可以通過網(wǎng)絡(luò)104從用戶102接收原始搜索查詢。搜索引擎106可以將所述原始搜索查詢提供至后端系統(tǒng)108從而獲得所述原始搜索查詢的搜索結(jié)果集合。解釋評估器110可以接收所述原始搜索查詢并且確定與所述搜索查詢相關(guān)聯(lián)的語義解釋112的集合。每個語義解釋112與表示要被用于獲得與所述語義解釋相關(guān)聯(lián)的信息的查詢的規(guī)范化查詢114。解釋評估器110隨后可以針對每個語義解釋112產(chǎn)生經(jīng)修改的查詢,每個經(jīng)修改的查詢基于所述搜索查詢以及針對所述特定語義解釋的規(guī)范化查詢114。解釋評估器110隨后可以針對所述搜索查詢和每個經(jīng)修改的查詢獲得搜索結(jié)果,并且可以基于與相對應(yīng)的經(jīng)修改查詢相關(guān)聯(lián)的搜索結(jié)果和與原始搜索查詢相關(guān)聯(lián)的搜索結(jié)果的相似度的程度而對每個語義解釋112進(jìn)行評估。在這樣的情況下,每個語義解釋112可以與多個規(guī)范化查詢相關(guān)聯(lián),每個規(guī)范化查詢表示可以被用于獲得與所述語義解釋相關(guān)聯(lián)的信息的不同查詢。在這樣的情況下,每個規(guī)范化查詢可以被單獨評估,例如,如以下所描述的,諸如通過針對每個規(guī)范化查詢產(chǎn)生單獨的經(jīng)修改查詢。
如所示出的,用戶102通過網(wǎng)絡(luò)104與搜索引擎106進(jìn)行通信。在一些情況下,用戶102可以是與計算設(shè)備進(jìn)行交互以提交搜索查詢的人,例如,其諸如通過將搜索查詢鍵入到web瀏覽器。用戶102也可以是通過應(yīng)用編程接口(API)訪問搜索引擎106的軟件或硬件過程。用戶102可以通過網(wǎng)絡(luò)104與搜索引擎106通信,上述網(wǎng)絡(luò)104例如可以包括互聯(lián)網(wǎng)、局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、虛擬私人網(wǎng)絡(luò)(VPN)、WiFi網(wǎng)絡(luò)、蜂窩電話網(wǎng)絡(luò),或者其它網(wǎng)絡(luò)或網(wǎng)絡(luò)的組合。
搜索引擎106可以是能夠操作以通過網(wǎng)絡(luò)104接收搜索查詢的服務(wù)器或服務(wù)器集合。在一些情況下,搜索引擎106可以是使用一種或多種網(wǎng)絡(luò)協(xié)議與用戶102進(jìn)行通信的web服務(wù)器,上述網(wǎng)絡(luò)協(xié)議包括但并不限于超文本傳輸協(xié)議(HTTP)、文件傳輸協(xié)議(FTP)、遠(yuǎn)程過程調(diào)用(RPC)或其它協(xié)議。搜索引擎106還可以包括用于將請求分布至不同服務(wù)器的組件,諸如負(fù)載平衡器(未示出)。
在一些情況下,搜索引擎106可以從用戶102接收搜索查詢并且確定如何對所述查詢進(jìn)行處理。在一些實例中,搜索引擎106可以對查詢進(jìn)行預(yù)處理,所述預(yù)處理包括移除空白、糾正拼寫錯誤、語言間的轉(zhuǎn)換、將語音查詢轉(zhuǎn)譯為文本,和/或?qū)⒉樵兘Y(jié)構(gòu)化為特定格式。搜索引擎106將所述搜索查詢提交至后端系統(tǒng)108以獲得與所述搜索查詢相關(guān)聯(lián)的搜索結(jié)果。
系統(tǒng)100還包括后端系統(tǒng)108。后端系統(tǒng)108可以跨一個或多個系統(tǒng)或網(wǎng)絡(luò)爬取、索引和/或注釋資源120(例如,網(wǎng)頁)。后端系統(tǒng)108可以包括爬取引擎118,后者對互聯(lián)網(wǎng)進(jìn)行爬取并且例如對在爬取中所遇到的資源做索引。在一些實施方式中,爬取模塊118訪問鏈接至一個或多個其它資源的第一資源。爬取模塊118可以加載所述第一資源并且將其文本存儲在索引116中,后者是包括與所爬取資源120及其內(nèi)容(諸如文本)有關(guān)的信息的數(shù)據(jù)庫,所述信息與資源120相關(guān)聯(lián)。一旦爬取模塊118將與第一資源有關(guān)的信息存儲在索引116中,其隨后就能夠加載從第一資源所鏈接的其它資源120并且重復(fù)所述索引過程。通過反復(fù)訪問并索引從其它資源所鏈接的資源120,爬取模塊118能夠捕獲并索引能夠由爬取模塊118所訪問的資源120的實質(zhì)性部分。爬取模塊118甚至能夠在系統(tǒng)100接收查詢之前或者在搜索引擎106提交所述查詢以獲得搜索結(jié)果之前爬取并索引資源120。搜索引擎106隨后能夠通過搜索索引116而不是直接搜索資源120而獲得搜索結(jié)果。
由搜索引擎106提交至后端系統(tǒng)108的查詢可以被解釋評估器110所接收并處理。解釋評估器110可以對所接收的搜索查詢進(jìn)行評估從而確定與所述搜索查詢相關(guān)聯(lián)的一個或多個語義解釋112。每個語義解釋112可以表示與所述搜索查詢相關(guān)聯(lián)的一個可能意圖。由于搜索查詢可能存在歧義,所以可以識別出多個語義解釋112。例如,在搜索查詢“how long is harry potter(哈利波特有多長?)”中,詞項“harry potter(哈利波特)”存在歧義,因為它們可能是指一個或多個特定主題,諸如哈利波特(Harry Potter)特許權(quán)中的七本書中的任何一本,這些書的任意電影改編,或者與哈利波特特許權(quán)相關(guān)聯(lián)的旅行路線、主題公園、音頻書、卡通片等。所述查詢也可能是指哈利波特這個角色自身。根據(jù)用戶想要在查詢中指代哪個主題,能夠應(yīng)用不同的解釋或者應(yīng)用若干個不同的解釋。因此,如果所述查詢是指一本書,則用戶可能想要知道這本書的字?jǐn)?shù)或頁數(shù)。另一方面,如果所述查詢是指電影中的一部,則感興趣的可能是電影的時長?;蛘?,如果“harry potter”是指所述虛構(gòu)角色,則長度可能是指其身高。這些中的每一個都是所述查詢的可能語義解釋。以這種方式,解釋評估器110可以針對特定查詢而確定語義解釋112。
在一些實施方式中,可以針對語義解釋112中的每一個確定置信度分?jǐn)?shù),其表示相關(guān)聯(lián)的解釋與特定查詢的用戶意圖相匹配的似然率。還可以定義置信度閾值來指示要在向用戶102返回搜索結(jié)果時考慮語義解釋112所必需的最小置信度分?jǐn)?shù)。例如,所述置信度閾值可以指定針對特定搜索查詢具有超過90的置信度分?jǐn)?shù)的語義解釋112就應(yīng)當(dāng)在返回搜索結(jié)果時被加以考慮。解釋評估器110還可以使用置信度分?jǐn)?shù)來確定哪一個語義解釋112被指派給特定查詢,例如,諸如通過指派具有最高置信度分?jǐn)?shù)的語義解釋。在一些情況下,置信度分?jǐn)?shù)可以是數(shù)值范圍中的數(shù)字值、來自數(shù)值集合中的離散值、或者是另一種類型的指示符。
每個語義解釋112與規(guī)范化查詢114相關(guān)聯(lián)。規(guī)范化查詢114可以是傳達(dá)與特定語義解釋相關(guān)聯(lián)的用戶意圖的查詢。在一些情況下,規(guī)范化查詢114可以是被用來從原始的特定查詢生成經(jīng)修改的搜索查詢的結(jié)構(gòu)或模板。規(guī)范化查詢114可以與特定查詢中的信息相結(jié)合而生成經(jīng)修改的搜索查詢。在一些實施方式中,規(guī)范化查詢114是具有未完成部分的串,上述未完成部分能夠使用特定查詢的子串來完成。例如,規(guī)范化查詢114可以是諸如“how many pages is the book<NAME OF BOOK ENTITY>(書《書實體的名稱》有多少頁)”的未完成查詢。經(jīng)修改的搜索查詢可以使用特定查詢的部分而從規(guī)范化查詢114所生成。例如,給定先前的規(guī)范化查詢以及特定查詢“how long is harry potter”,可以生成經(jīng)修改的搜索查詢“how many pages is the book harry potter(書哈利波特有多少頁)”。在一些情況下,針對特定語義解釋生成經(jīng)修改的搜索查詢包括對所述特定搜索查詢進(jìn)行重新格式化以與所述語義解釋的規(guī)范化查詢相匹配。例如,給定查詢“how long is the book harry potter”能夠被重新格式化為“how long is the harry potter book(哈利波特這本書有多長)”從而與規(guī)范化查詢“how many pages is the book<NAME OF BOOK ENTITY>”相匹配。
在一些實施方式中,針對語義解釋生成經(jīng)修改的搜索查詢包括將所述特定搜索查詢中所包括的識別特定實體的子串替換為識別針對所述語義解釋的規(guī)范化搜索查詢中所包括的特定實體的替選子串。例如,特定查詢“how long is harry potter”可能具有詢問一本書中的頁數(shù)的語義解釋。與所述語義解釋相關(guān)聯(lián)的規(guī)范化查詢可以是“how long is the<NAME OF BOOK ENTITY>book(《書實體的名稱》這本書有多長)”。因此,在“harry potter”被識別為特定實體的情況下,能夠通過將所述特定搜索查詢中的子串“harry potter”替換為從所述規(guī)范化搜索查詢所得出的子串“harry potter book(哈利波特這本書)”而生成經(jīng)修改的搜索查詢。例如,示例經(jīng)修改的搜索查詢可以是“how long is the harry potter book(哈利波特這本書有多長)”。在一些實施方式中,單個語義解釋112可以具有多個相關(guān)聯(lián)的規(guī)范化查詢114。
在一些實施方式中,解釋評估器110針對與語義解釋112相關(guān)聯(lián)的一個或多個經(jīng)修改的搜索查詢而從索引116獲得搜索結(jié)果。經(jīng)修改的搜索查詢結(jié)果可以被用來對與相應(yīng)的經(jīng)修改的搜索查詢相關(guān)聯(lián)的語義解釋112進(jìn)行評估。例如,可以基于特定搜索查詢的搜索結(jié)果與針對所述語義解釋112的相關(guān)聯(lián)經(jīng)修改的搜索查詢的搜索結(jié)果之間的相似度的程度,對每個語義解釋112進(jìn)行評估。在一些實施方式中,所述相似度的程度基于經(jīng)修改的搜索查詢結(jié)果和特定搜索查詢的結(jié)果之間的交集大小或差別大小。例如,較大的交集可以指示一個語義解釋準(zhǔn)確描述用戶意圖的較大的似然率。相反,例如,較大的差別則可能指示一個語義解釋112不太可能是用戶意圖的準(zhǔn)確表示。在一些實施方式中,所述相似度的程度基于與特定搜索查詢相關(guān)聯(lián)的特定關(guān)鍵詞在經(jīng)修改的搜索查詢結(jié)果中出現(xiàn)的頻率以及在特定搜索查詢的搜索結(jié)果內(nèi)的頻率。例如,較大的關(guān)鍵詞出現(xiàn)頻率可以指示經(jīng)修改的搜索查詢更可能返回相關(guān)結(jié)果。在一些實施方式中,所述相似度的程度基于將經(jīng)修改的搜索查詢的結(jié)果的順序與特定搜索查詢的搜索結(jié)果的順序進(jìn)行比較。在一些情況下,諸如用戶點擊率、站點業(yè)務(wù)數(shù)據(jù)等的其它數(shù)據(jù)可以被用來對語義解釋112進(jìn)行評估。這些技術(shù)或其它技術(shù)能夠被用來對語義解釋112、規(guī)范化查詢114或經(jīng)修改的搜索查詢進(jìn)行評估。在一些情況下,特定的語義解釋112、規(guī)范化查詢114或經(jīng)修改的搜索查詢是基于所述相似度的程度被選擇的。以這種方式,語義解釋112、規(guī)范化查詢114或經(jīng)修改的搜索查詢能夠被排名、驗證、分析并且以其它方式進(jìn)行評估。在一些實施方式中,語義解釋112的評估能夠被用來針對特定搜索查詢生成被返回給用戶的結(jié)果。例如,來自經(jīng)修改的搜索查詢的結(jié)果能夠被用來對特定搜索查詢結(jié)果進(jìn)行排序。本公開范圍內(nèi)的其它實施方式也是可能的。
圖2描繪了示例經(jīng)修改的搜索查詢204a-d的示意圖。每個示例經(jīng)修改的搜索查詢204a-d是從特定搜索查詢202以及針對一個語義解釋的規(guī)范化搜索查詢所生成的。在圖2中,示例特定查詢202是串“how long is harry potter”。第一示例經(jīng)修改的搜索查詢204a是“how many pages is the harry potter book(哈利波特這本書有多少頁)”,并且能夠與特定查詢202是指一本書的長度的語義解釋相關(guān)聯(lián)。第二示例經(jīng)修改的搜索查詢204b是“how tall is harry potter(哈利波特有多高)”,并且能夠與特定查詢202是指角色“Harry Potter”的身高的語義解釋相關(guān)聯(lián)。第三示例經(jīng)修改的搜索查詢204c是“how long is the harry potter movie(哈利波特電影有多長)”,并且能夠與特定查詢202是指電影時長的語義解釋相關(guān)聯(lián)。第四示例經(jīng)修改的搜索查詢204d是“how old is harry potter(哈利波特多大年紀(jì))”,并且能夠與特定查詢202是指角色“Harry Potter”的年齡的語義解釋相關(guān)聯(lián)。這些是示例特定搜索查詢202的示例經(jīng)修改的搜索查詢;其它經(jīng)修改的搜索查詢也是可能的。
圖3描繪了用于對搜索查詢的語義解釋進(jìn)行評估的示例過程300的流程圖。過程300包括搜索引擎106、解釋評估器110和索引116之間為了評估搜索查詢的語義解釋所進(jìn)行的交互。在305處,將原始搜索查詢從搜索引擎106發(fā)送至解釋評估器110。在310處,解釋評估器110發(fā)送原始搜索查詢,從索引116檢索所述原始搜索查詢的搜索結(jié)果。
在315處,解釋評估器110從索引116得到針對原始搜索查詢的語義解釋。在一些情況下,所述語義解釋可以獨立于索引116被存儲,在這種情況下,解釋評估器110將從單獨的組件或系統(tǒng)檢索所述語義解釋。在320處,解釋評估器110從索引116得到針對每個語義解釋的規(guī)范化查詢。
在325處,解釋評估器110基于原始搜索查詢并且基于針對所述語義解釋的規(guī)范化搜索查詢而針對每個語義解釋產(chǎn)生經(jīng)修改的搜索查詢。在330處,解釋評估器110從索引110得到針對每個經(jīng)修改的搜索查詢的搜索結(jié)果。
在335處,解釋評估器110基于原始搜索查詢的搜索結(jié)果和相對應(yīng)的經(jīng)修改的搜索查詢的搜索結(jié)果之間的相似度對每個語義解釋進(jìn)行評估。解釋評估器110可以使用先前關(guān)于圖1所描述的技術(shù)中的一個或多個來評估語義解釋。
圖4描繪了用于對搜索查詢的語義解釋進(jìn)行評估的示例過程400。在405處,針對被提交至搜索引擎的特定搜索查詢獲得搜索結(jié)果集合。在410處,針對特定搜索查詢獲得語義解釋的集合,并且每個語義解釋表示與特定搜索查詢相關(guān)聯(lián)的候選意圖。在415處,針對所述語義解釋的集合中的每個語義解釋獲得規(guī)范化搜索查詢。
在420處,針對所述語義解釋的集合中的每個語義解釋生成經(jīng)修改的搜索查詢。所述經(jīng)修改的搜索查詢能夠至少部分基于所述特定搜索查詢和針對所述語義解釋的規(guī)范化搜索查詢。在一些情況下,針對每個語義解釋生成經(jīng)修改搜索查詢包括對特定搜索查詢進(jìn)行重新格式化以與針對所述語義解釋的規(guī)范化搜索查詢相匹配。在一些實施方式中,針對每個語義解釋生成經(jīng)修改搜索查詢包括將所述特定查詢中所包括的識別特定實體的子串替換為識別針對所述語義解釋的規(guī)范化搜索查詢中所包括的特定實體的替選子串。在425處,針對所述語義解釋的集合中的每個語義解釋獲得針對所述語義解釋的經(jīng)修改的搜索查詢的搜索結(jié)果集合。
在430處,針對所述集合中的每個語義解釋,確定針對所述語義解釋的經(jīng)修改的搜索查詢的搜索結(jié)果集合與所述特定搜索查詢的搜索結(jié)果集合之間的相似度的程度。所述相似度的程度能使用之前所描述的技術(shù)來確定。在一些情況下,確定所述相似度的程度至少部分基于經(jīng)修改的搜索查詢的搜索結(jié)果集合和特定搜索查詢的搜索結(jié)果集合之間的交集大小或差別大小。在一些情況下,確定所述相似度的程度至少部分基于與特定搜索查詢相關(guān)聯(lián)的特定關(guān)鍵詞在經(jīng)修改的搜索查詢的搜索結(jié)果集合以及在特定搜索查詢的搜索結(jié)果集合中的出現(xiàn)頻率。確定所述相似度的程度可以至少部分基于將經(jīng)修改的搜索查詢的搜索結(jié)果集合的順序與特定搜索查詢的搜索結(jié)果集合的順序進(jìn)行比較。在一些情況下,可以基于所述相似度的程度來選擇特定的語義解釋。
圖5是可以作為客戶端或者作為一個或多個服務(wù)器而被用來實現(xiàn)本文所描述的系統(tǒng)和方法的計算設(shè)備500、550的框圖。計算設(shè)備500旨在表示各種形式的數(shù)字計算機(jī),諸如膝上計算機(jī)、臺式機(jī)、工作站、個人數(shù)字助理、服務(wù)器、刀鋒服務(wù)器、主機(jī)和其它適當(dāng)計算機(jī),計算設(shè)備550旨在表示各種形式的移動設(shè)備,諸如個人數(shù)字助理、蜂窩電話、智能電話和其它類似的計算設(shè)備。此外,計算設(shè)備500或550可以包括通用串行總線(USB)閃存驅(qū)動器。USB閃存驅(qū)動器可以存儲操作系統(tǒng)和其它應(yīng)用。USB閃存驅(qū)動器能夠包括輸入/輸出組件,諸如無線傳送器或USB連接器,其能夠被插入另一個計算設(shè)備的USB端口之中。這里所示的組件、其連接和關(guān)系以及其功能僅意在是示例性的,而并不意味著對本文中所描述和/或要求保護(hù)的實施方式進(jìn)行限制。
計算設(shè)備500包括處理器502、存儲器504、存儲設(shè)備506、連接到存儲器504和高速擴(kuò)展端口510的高速接口508、以及連接到低速總線514和存儲設(shè)備506的低速接口512。每個組件502、504、506、508、510和512使用各種總線進(jìn)行互連,并且可以被安裝在共用主板上,或者以其它適宜方式進(jìn)行安裝。處理器502能夠處理指令以便在計算設(shè)備500內(nèi)執(zhí)行以在諸如被耦合到高速接口508的顯示器516的外部輸入/輸出設(shè)備上顯示用于GUI的圖形信息,所述指令包括存儲在存儲器504中或者存儲設(shè)備506中的指令。在其它實施方式中,如果適宜,可使用多個處理器和/或多個總線,以及多個存儲器和存儲器類型。而且,多個計算設(shè)備500可以與提供操作的部分的每個設(shè)備進(jìn)行連接(例如,作為服務(wù)器組、刀刃服務(wù)器聚組或多處理器系統(tǒng))。
存儲器504將信息存儲在計算設(shè)備500內(nèi)。在一種實施方式中,存儲器504是一個或多個易失性存儲器單元。在另一實施方式中,存儲器504是一個或多個非易失性存儲器單元。存儲器504還可以是其它形式的計算機(jī)可讀介質(zhì),諸如磁盤或光盤。
存儲設(shè)備506能夠為計算設(shè)備500提供大型存儲。在一種實施方式中,存儲設(shè)備506可以是或者可包含計算機(jī)可讀介質(zhì),諸如軟盤設(shè)備、硬盤設(shè)備、光盤設(shè)備、磁帶設(shè)備、閃存或其它類似固態(tài)存儲器設(shè)備、或者設(shè)備陣列,包括存儲區(qū)域網(wǎng)絡(luò)或其它配置中的設(shè)備。計算機(jī)程序產(chǎn)品可被有形地體現(xiàn)在信息載體中。所述計算機(jī)程序產(chǎn)品還可包含指令,所述指令當(dāng)被執(zhí)行時,執(zhí)行諸如以上所描述的一個或多個方法。所述信息載體是計算機(jī)或機(jī)器可讀介質(zhì),諸如存儲器504、存儲設(shè)備506、處理器502上的存儲器。
高速控制器508管理用于計算設(shè)備500的帶寬密集操作,而低速控制器512管理較低帶寬密集的操作。這樣的功能分配僅是示例性的。在一種實施方式中,高速控制器508被耦合到存儲器504、顯示器516(例如,通過圖形處理器或加速器),并且被耦合到可接受各種擴(kuò)展卡(未示出)的高速擴(kuò)展端口510。在所述實施方式中,低速控制器512被耦合到存儲設(shè)備506和低速擴(kuò)展端口514。可以包括各種通信端口(例如,USB、藍(lán)牙、以太網(wǎng)、無線以太網(wǎng))的低速控制端口可被耦合到一個或多個輸入/輸出設(shè)備,諸如鍵盤、指針設(shè)備、掃描儀,或者例如通過網(wǎng)絡(luò)適配器耦合到諸如交換機(jī)和路由器的聯(lián)網(wǎng)設(shè)備。
如圖所示,計算設(shè)備500能夠以各種不同形式來實現(xiàn)。例如,其可以被實現(xiàn)為標(biāo)準(zhǔn)服務(wù)器520,或者這樣的服務(wù)器聚組中的多個服務(wù)器。其還可以被實現(xiàn)為機(jī)架式服務(wù)器系統(tǒng)524的一部分。此外,其還可以在諸如膝上型計算機(jī)522的個人計算機(jī)中實現(xiàn)。替選地,來自計算設(shè)備500的組件可以與諸如設(shè)備550的移動設(shè)備(未示出)中的其它組件相組合。每個這樣的設(shè)備可包含計算設(shè)備500、550中的一個或多個,并且整個系統(tǒng)可由多個彼此通信的計算設(shè)備500、550所構(gòu)成。
除其它組件之外,計算設(shè)備550包括處理器552、存儲器564、諸如顯示器554的輸入/輸出設(shè)備、通信接口566和收發(fā)器568。還可以為設(shè)備550提供諸如微驅(qū)動器或其它設(shè)備的存儲設(shè)備以提供附加存儲。每個組件550、552、564、554、566和568使用各種總線進(jìn)行互連,并且若干組件可被安裝在共用主板上或者以其它適宜方式進(jìn)行安裝。
處理器552能夠執(zhí)行計算設(shè)備550內(nèi)的指令,包括存儲在存儲器564中的指令。所述處理器可被實現(xiàn)為包括單獨的且多個的模擬和數(shù)字處理器的芯片的芯片集。此外,處理器可以使用任意數(shù)目的架構(gòu)被實現(xiàn)。例如,處理器510可以是CISC(復(fù)雜指令集計算機(jī))處理器、RISC(精簡指令集計算機(jī))處理器、或MISC(最小指令集計算機(jī))處理器。例如,所述處理器可提供設(shè)備550的其它組件的協(xié)同,諸如控制用戶接口、設(shè)備550所運行的應(yīng)用以及設(shè)備550所進(jìn)行的無線通信。
處理器552可以通過被耦合到顯示器554的控制接口558和顯示接口556與用戶進(jìn)行通信。顯示器554例如可以是TFT(薄膜晶體管液晶顯示器)顯示器或OLED(有機(jī)發(fā)光二極管)顯示器,或者其它適當(dāng)?shù)娘@示技術(shù)。顯示接口556可以包括用于驅(qū)動顯示器554以向用戶呈現(xiàn)圖形和其它信息的適當(dāng)電路??刂平涌?58可以從用戶接收命令并且對其進(jìn)行轉(zhuǎn)換以便向處理器552提交。此外,可提供與處理器552進(jìn)行通信的外部接口562,從而使得設(shè)備550能夠與其它設(shè)備進(jìn)行近域通信。例如,外部接口562在一些實施方式中可提供有線通信,或者在其它實施方式中提供無線通信,并且也可使用多個接口。
存儲器564存儲計算設(shè)備550內(nèi)的信息。存儲器564可以被實現(xiàn)為計算機(jī)可讀介質(zhì)或介質(zhì)、易失性存儲器單元或者非易失性存儲器單元中的一個或多個。也可以提供擴(kuò)展存儲器574并通過擴(kuò)展接口572連接到設(shè)備550,例如,所述擴(kuò)展接口572可以包括SIMM(單列存儲器模塊)卡接口。這樣的擴(kuò)展存儲器574可為設(shè)備550提供額外的存儲空間,或者還可以為設(shè)備550存儲應(yīng)用或其它信息。特別地,擴(kuò)展存儲器574可以包括執(zhí)行或補(bǔ)充以上所描述的過程的指令,并且還可以包括安全信息。例如,擴(kuò)展存儲器574由此可被提供作為設(shè)備550的安全模塊,并且可利用允許對設(shè)備550進(jìn)行安全使用的指令進(jìn)行編程。此外,可經(jīng)由SIMM卡提供安全應(yīng)用以及附加信息,諸如以不可破壞的方式在SIMM卡上設(shè)置識別信息。
例如,如以下所討論的,所述存儲器可以包括閃存和/或NVRAM存儲器。在一種實施方式中,計算機(jī)程序產(chǎn)品以有形方式體現(xiàn)于信息載體中。所述計算機(jī)程序產(chǎn)品包含指令,所述指令當(dāng)被執(zhí)行時,執(zhí)行諸如以上所描述的一個或多個方法。所述信息載體是計算機(jī)或機(jī)器可讀介質(zhì),諸如存儲器564、擴(kuò)展存儲器574、處理器552上的存儲器,例如可以通過收發(fā)器568或外部接口562被接收。
設(shè)備550可通過通信接口566進(jìn)行無線通信,在必要情況下,所述通信接口566包括數(shù)字信號處理電路。通信接口566可根據(jù)各種模式或協(xié)議提供通信,除其它之外,所述模式或協(xié)議諸如GSM語音呼叫、SMS、EMS或MMS消息發(fā)送、CDMA、TDMA、PDC、WCDMA、CDMA2000或GPRS。例如,這樣通信可通過射頻收發(fā)器568發(fā)生。此外,諸如可使用藍(lán)牙、WiFi或其它這樣的收發(fā)器(未示出)進(jìn)行短范圍通信。此外,GPS(全球定位系統(tǒng))接收器模塊570可為設(shè)備550提供附加的導(dǎo)航和位置相關(guān)的無線數(shù)據(jù),其可由設(shè)備550上運行的應(yīng)用適當(dāng)使用。
設(shè)備550還使用音頻編解碼器560進(jìn)行可聽通信,所述音頻編解碼器560接收來自用戶的話音信息并且將其轉(zhuǎn)換為可用的數(shù)字信息。音頻編解碼器560同樣可以諸如通過揚聲器為用戶生成可聽聲音,例如在設(shè)備550的聽筒中。這樣的聲音可以包括來自語音電話呼叫的聲音,可以包括所錄制的聲音(例如,語音消息、音樂文件等),并且還可以包括設(shè)備550上操作的應(yīng)用所生成的聲音。
如圖所示,計算設(shè)備550可以以多種不同方式來實現(xiàn)。例如,其可以被實現(xiàn)為蜂窩電話580。其還可以被實現(xiàn)為智能電話582、個人數(shù)字助理或其它類似移動設(shè)備的一部分。
各種實施方式可以以數(shù)字電路、集成電路、專門設(shè)計的ASIC(應(yīng)用特定集成電路)、計算機(jī)硬件、固件、軟件和/或其組合來實現(xiàn)。這些各種實施方式可以包括一個或多個計算機(jī)程序中的實施方式,所述計算機(jī)程序可在包括至少一個可編程處理器的可編程系統(tǒng)上執(zhí)行和/或解釋,所述可編程系統(tǒng)可以為專用或通用,其被耦合以從存儲系統(tǒng)、至少一個輸入設(shè)備以及至少一個輸出設(shè)備接收數(shù)據(jù)和指令并且向其傳送數(shù)據(jù)和指令。
這些計算機(jī)程序(也被稱作程序、軟件、軟件應(yīng)用或代碼)包括用于可編程處理器的機(jī)器指令,并且能夠以高級過程和/或面向?qū)ο蟮木幊陶Z言來實現(xiàn),和/或以匯編/機(jī)器語言來實現(xiàn)。如這里所使用的,術(shù)語“機(jī)器可讀介質(zhì)”、“計算機(jī)可讀介質(zhì)”是指用來向可編程處理器提供機(jī)器指令和/或數(shù)據(jù)的任意計算機(jī)程序產(chǎn)品、裝置和/或設(shè)備(例如,磁碟、光盤、存儲器、可編程邏輯設(shè)備PLD),其包括接收機(jī)器指令作為機(jī)器可讀信號的機(jī)器可讀介質(zhì)。術(shù)語“機(jī)器可讀信號”是指被用來為可編程處理器提供機(jī)器指令和/或數(shù)據(jù)的任意信號。
為了提供與用戶的交互,這里所描述的系統(tǒng)和技術(shù)可在具有用于向用戶顯示信息的顯示設(shè)備(例如,CRT(陰極射線管)或LCD(液晶顯示器)監(jiān)視器)和用戶能夠通過其為計算機(jī)提供輸入的鍵盤和指針設(shè)備(例如,鼠標(biāo)或軌跡球)的計算機(jī)上實現(xiàn)。也可以使用其它類型的設(shè)備來提供與用戶的交互;例如,提供給用戶的反饋可以為任意形式的感覺反饋(例如,視覺反饋、聽覺反饋或觸覺反饋);并且來自用戶的輸入可以以任意形式被接收,包括語音、話音或觸覺輸入。
這里所描述的系統(tǒng)、方法、裝置和技術(shù)能夠在計算系統(tǒng)中被實現(xiàn),所述計算系統(tǒng)包括后端組件(例如,作為數(shù)據(jù)服務(wù)器),或者其包括中間件組件(例如,應(yīng)用服務(wù)器),或者其包括前端組件(例如,具有用戶能夠通過其與本文所描述的系統(tǒng)和技術(shù)的實施方式進(jìn)行交互的圖形用戶界面或web瀏覽器的客戶端計算機(jī)),或者這些后端、中間件或前端組件的任意組合。所述系統(tǒng)的組件可通過任意形式或介質(zhì)的數(shù)字?jǐn)?shù)據(jù)通信(例如,通信網(wǎng)絡(luò))進(jìn)行互連。通信網(wǎng)絡(luò)的示例包括局域網(wǎng)(“LAN”)、廣域網(wǎng)(“WAN”)、對等網(wǎng)絡(luò)(具有點對點或靜態(tài)成員)、網(wǎng)格計算基礎(chǔ)設(shè)施、和互聯(lián)網(wǎng)。
計算系統(tǒng)可以包括客戶端和服務(wù)器??蛻舳撕头?wù)器通常彼此遠(yuǎn)離并且典型地通過通信網(wǎng)絡(luò)進(jìn)行交互??蛻舳撕头?wù)器的關(guān)系通過在相應(yīng)的計算機(jī)上運行的計算機(jī)程序所建立并且彼此具有客戶端-服務(wù)器關(guān)系。
雖然所述說明書包含了許多具體實施方式的細(xì)節(jié),但是這些并不應(yīng)當(dāng)被理解為對任意發(fā)明的范圍所請求保護(hù)內(nèi)容的限制,而是相反地作為對可能特定于特定發(fā)明的特定實施方式的特征的描述。在所述說明書中以單獨實施方式的場境中所描述的某些特征也可以被實現(xiàn)在單個實施方式的組合中。相反,以單個實施方式的場境所描述的各種特征也能夠單獨或以任意適當(dāng)子組合的形式在多個實施方式中實現(xiàn)。此外,雖然特征可以在上文中以某種組合進(jìn)行描述并且甚至最初如此要求保護(hù),但是來自所要求保護(hù)的組合中的一個或多個特征在一些情況下也能夠從組合中去除,并且所要求保護(hù)的組合可以被定向到子組合或子組合的變化。
類似地,雖然操作在圖中以特定順序進(jìn)行描繪,但是這并不應(yīng)當(dāng)被理解為為了實現(xiàn)所期望的結(jié)果而要求這樣的操作以所示出的特定順序或以連續(xù)順序來執(zhí)行,或者執(zhí)行所有所圖示的操作。在某些情況下,多任務(wù)和并行處理可能是有利的。此外,以上所描述的實施方式中的各個系統(tǒng)組件的分離并不應(yīng)當(dāng)被理解為要求這樣的分離,并且應(yīng)當(dāng)理解的是,所描述的程序組件和系統(tǒng)一般能夠共同集成在單個軟件產(chǎn)品中或者被封裝為多個軟件產(chǎn)品。
因此,已經(jīng)對所述主題的特定實施方式進(jìn)行了描述。其它實施例處于以下權(quán)利要求的范圍之內(nèi)。在一些情況下,權(quán)利要求中所引用的動作可以以不同順序執(zhí)行并且仍然實現(xiàn)所期望的結(jié)果。此外,附圖中所描繪的過程并非必然要求所示出的特定順序或連續(xù)順序來實現(xiàn)所期望的結(jié)果。在某些實施方式中,多任務(wù)和并行處理可能是有利的。