專利名稱:搜索結(jié)果聚類的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息檢索技術(shù)領(lǐng)域,特別是對(duì)檢索出來(lái)的結(jié)果進(jìn)行自動(dòng)聚類的方法,例如在聯(lián)機(jī)文檔檢索系統(tǒng)或者網(wǎng)絡(luò)搜索引擎中對(duì)用戶查詢的結(jié)果進(jìn)行聚類的方法。
背景技術(shù):
目前,基于計(jì)算機(jī)或者計(jì)算機(jī)網(wǎng)絡(luò)的文檔檢索系統(tǒng)對(duì)于用戶查詢所返回的搜索結(jié)果通常是包含了文檔表示(例如標(biāo)題、摘要)或文檔鏈接的一個(gè)列表,列表中的文檔一般按照文檔與查詢之間的相關(guān)程度由高到低排序。用戶在此列表中進(jìn)一步查找和選取實(shí)際相關(guān)或有用的文檔。對(duì)于非常大的文檔庫(kù),例如互聯(lián)網(wǎng)搜索引擎所搜集的網(wǎng)頁(yè)庫(kù),系統(tǒng)返回給用戶的搜索結(jié)果通常是成百上千的文檔鏈接。用戶在大量的返回結(jié)果中查找有用信息對(duì)用戶而言是一種很大的負(fù)擔(dān),質(zhì)量、類別等有很大不同的文檔線性地羅列在一起也容易掩蓋用戶真正關(guān)心的文檔。對(duì)此,除了進(jìn)一步提高文檔檢索技術(shù)(例如充分利用網(wǎng)頁(yè)的超鏈接特征、文本格式化信息等)、盡量將用戶可能感興趣的文檔排列在靠前的位置之外,另外一種方便用戶在搜索結(jié)果中進(jìn)行瀏覽和查找的技術(shù)是系統(tǒng)對(duì)搜索結(jié)果進(jìn)行自動(dòng)分組,即將具有相似特征(例如內(nèi)容主題)的文檔(或文檔表示)放在同一組之中,以便于用戶縮小查找范圍、只在感興趣的少數(shù)組中查找和選取所關(guān)心的文檔。
一種常用的分組技術(shù)是文檔分類(Classification),或更準(zhǔn)確地稱為文檔歸類(Categorization),即在一個(gè)預(yù)先定義的、固定的類別集合中確定各個(gè)文檔的一個(gè)或者多個(gè)類別。由于各個(gè)文檔都預(yù)先確定好了類別,系統(tǒng)對(duì)檢索結(jié)果中的文檔的歸類過(guò)程可以簡(jiǎn)單高效地完成。對(duì)于大規(guī)模的文檔庫(kù)而言,這個(gè)是一個(gè)非常突出的優(yōu)點(diǎn)。然而,歸類方法的缺陷也在于其使用的固定的分類體系預(yù)先確定的分類體系通常只能適用于很小的知識(shí)領(lǐng)域,缺乏可擴(kuò)充性和靈活性;很多文檔符合多個(gè)類別的標(biāo)準(zhǔn),兼類現(xiàn)象嚴(yán)重;自動(dòng)歸類算法難于保證分類結(jié)果的準(zhǔn)確性和一致性,特別是對(duì)于內(nèi)容龐雜、質(zhì)量參差不齊的網(wǎng)頁(yè)文檔(Web Page Document),歸類效果一般很差。
歸類方法預(yù)先固定了每個(gè)文檔的類別,在分類過(guò)程中沒(méi)有考慮用戶查詢這個(gè)因素。實(shí)際上,當(dāng)文檔被用于不同的目的時(shí),它可能對(duì)應(yīng)不同的類別。因此搜索結(jié)果中的文檔的類別具有隨用戶查詢的不同而變化的特征。這也是歸類方法在被用于對(duì)搜索結(jié)果分組時(shí)的一個(gè)不足。
早期的互聯(lián)網(wǎng)搜索引擎曾廣泛使用人工歸類方法,即由人工為每個(gè)收錄的網(wǎng)頁(yè)指定類別,其結(jié)果有比較好的質(zhì)量保證,然而這種方法不能適應(yīng)網(wǎng)頁(yè)數(shù)量的快速增長(zhǎng),目前已較少使用。
另一種對(duì)搜索結(jié)果分組的技術(shù)是文檔聚類(Clustering),即將具有相近特征的文檔找出來(lái)、并為它們動(dòng)態(tài)生成一個(gè)類別標(biāo)記。在本發(fā)明中,概念“類”或“類別”(Class)統(tǒng)一指稱歸類類別和聚類類別,通常也被分別稱為“類目”(Category)和“(類)簇”(Cluster)。
使用聚類方法對(duì)搜索結(jié)果中的文檔進(jìn)行分組可以避免歸類方法的類別固定、缺乏可擴(kuò)充性和靈活性、維護(hù)分類體系一致性困難等問(wèn)題。由于被聚類的對(duì)象是根據(jù)查詢而獲得的文檔,搜索結(jié)果聚類可以動(dòng)態(tài)地反映文檔類別隨用戶查詢的不同而變化的特征。聚類方法不使用預(yù)先固定的類別體系,而是根據(jù)文檔之間的相似性動(dòng)態(tài)地生成類別,無(wú)需付出維護(hù)分類體系的代價(jià)。
與用戶交互的大規(guī)模文檔檢索系統(tǒng),例如互聯(lián)網(wǎng)搜索引擎,要求搜索結(jié)果聚類過(guò)程具有實(shí)時(shí)、在線的性能,具備極高的時(shí)間效率,也就是系統(tǒng)在根據(jù)用戶查詢獲得結(jié)果文檔集合之后,必須盡快地完成聚類,并迅速將聚類結(jié)果輸出給用戶端。通常的文檔聚類算法的時(shí)間復(fù)雜性為O(n2)~O(n3),n是被聚類的文檔的數(shù)目。這樣的復(fù)雜性對(duì)于大規(guī)模文檔檢索系統(tǒng)而言太高,不適用于實(shí)時(shí)在線的搜索結(jié)果聚類。
Zamir和Etzioni提出了后綴樹(shù)聚類(Suffix Tree Clustering,STC)方法,使用一種稱為后綴樹(shù)的數(shù)據(jù)結(jié)構(gòu)來(lái)識(shí)別多個(gè)文檔之中的共同字符子串(參見(jiàn)O.Zamir&O.Etzioni.Web document clusteringa feasibility demonstration.Proceedings of ACM SIGIR’98,SIGIRConference on Research and Development in Informatin Retrieval.1998)。該方法達(dá)到了線性時(shí)間復(fù)雜度O(n),即正比于被聚類的文檔的數(shù)量。對(duì)于比較小的文檔、或者比較小的文檔表示(例如文檔摘要),在限定了參與聚類的文檔數(shù)量小于一定閾值的條件下,該方法可以達(dá)到實(shí)時(shí)、增量式聚類的要求。該方法自提出之后成為很多搜索結(jié)果聚類方法和應(yīng)用系統(tǒng)的基礎(chǔ)。在相關(guān)的研究中,Wang和Kitsuregawa提出了結(jié)合文檔內(nèi)容(關(guān)鍵詞)和網(wǎng)頁(yè)超鏈信息進(jìn)行聚類的方法(參見(jiàn)Y.Wang&M.Kitsuregawa.Evaluating contents-linkcoupled web page clustering for web search results.Proceedings of ACM CIKM,Conferenceon Information and Knowledge Management.2002);Zeng等人對(duì)聚類名稱的生成提出了改進(jìn),以便獲得更具可讀性的類別名稱(參見(jiàn)H.Zeng et al.Learning to cluster web searchresults.Proceedings of ACM SIGIR 2004,SIGIR Conference on Research and Development inInformatin Retrieval.2004)。
當(dāng)前,運(yùn)用這一類搜索結(jié)果聚類方法的最典型的應(yīng)用系統(tǒng)是Vivísimo公司提出的聚類引擎(參見(jiàn)網(wǎng)址http//Vivisimo.com),以及與之有關(guān)的其它搜索引擎(例如Clusty.com,DogPile.com)。這些搜索結(jié)果聚類應(yīng)用系統(tǒng)都是元搜索引擎(Meta Search Engine),被聚類的文檔是其它搜索引擎返回的搜索結(jié)果列表,即實(shí)際參與聚類的文檔是原網(wǎng)頁(yè)文檔的標(biāo)題、關(guān)鍵詞鄰近句子摘要、鏈接文字等比較短的文檔表示,并且對(duì)參與聚類的文檔數(shù)量作了嚴(yán)格限制(200~500篇文檔)。在這些限制條件下,這類系統(tǒng)可具備接近實(shí)時(shí)聚類的性能(用戶端響應(yīng)時(shí)間約在5秒鐘以內(nèi))。
總體而言,目前已知的搜索結(jié)果聚類方法為滿足實(shí)時(shí)在線聚類的性能要求,都對(duì)被聚類的文檔內(nèi)容和文檔數(shù)量作了很大的限制。已知的上述這類實(shí)時(shí)聚類方法只能處理很少量的文檔,并且通常只使用很少量的文檔內(nèi)容(標(biāo)題、摘要或鏈接文字),例如在元搜索引擎中所使用的搜索結(jié)果聚類方法。通用的(非元搜索的)互聯(lián)網(wǎng)搜索引擎返回給用戶的搜索結(jié)果通常包含成千上萬(wàn)甚至數(shù)十萬(wàn)的文檔。目前的搜索結(jié)果聚類方法不適用于這些系統(tǒng)。
因此,對(duì)文檔數(shù)量和內(nèi)容不限、對(duì)類別不限的高效大規(guī)模的搜索結(jié)果聚類技術(shù)是大規(guī)模文檔檢索系統(tǒng)所需要的。大規(guī)模文檔檢索系統(tǒng),例如互聯(lián)網(wǎng)搜索引擎等,有必要對(duì)數(shù)量龐大的搜索結(jié)果根據(jù)用戶查詢的特征(例如查詢關(guān)鍵詞)并基于全文內(nèi)容進(jìn)行實(shí)時(shí)在線的聚類。目前這樣的聚類方法和系統(tǒng)尚未出現(xiàn)。
發(fā)明內(nèi)容
本發(fā)明的一個(gè)目的是提出一種對(duì)文檔數(shù)量和類別不加限定的搜索結(jié)果聚類方法,適用于大規(guī)模的搜索結(jié)果聚類。
本發(fā)明的另一個(gè)目的是提出一種根據(jù)查詢中的關(guān)鍵詞而直接確定聚類類別的搜索結(jié)果聚類方法。
本發(fā)明的再一個(gè)目的是提出一種對(duì)數(shù)量不限的搜索結(jié)果進(jìn)行聚類、并對(duì)得到的各個(gè)類別進(jìn)行評(píng)級(jí)的方法。
為達(dá)到上述目的,本發(fā)明采取的技術(shù)方案是一種搜索結(jié)果聚類的方法,所述搜索結(jié)果是作為對(duì)某個(gè)搜索請(qǐng)求的響應(yīng)、從一個(gè)被索引的文檔集合中根據(jù)搜索請(qǐng)求與被索引文檔的相關(guān)程度而被選取的一批文檔,所述搜索請(qǐng)求來(lái)自使用計(jì)算機(jī)或者計(jì)算機(jī)網(wǎng)絡(luò)的用戶,其特征在于它包括如下步驟a.預(yù)先記錄被索引文檔相對(duì)于其所包含的某個(gè)或者某幾個(gè)關(guān)鍵詞的一個(gè)或多個(gè)類別;b.根據(jù)預(yù)先記錄的文檔相對(duì)于包含在搜索請(qǐng)求中的某個(gè)或者某幾個(gè)關(guān)鍵詞的類別,對(duì)所述搜索結(jié)果中的文檔分組。
所述類別可以為任意的文檔分類標(biāo)記,或者是索引關(guān)鍵詞、索引關(guān)鍵詞的固定搭配等。每個(gè)類別可設(shè)置一個(gè)權(quán)重值,表示此類別與所對(duì)應(yīng)的文檔的關(guān)聯(lián)程度。搜索結(jié)果中的文檔被放入該文檔相對(duì)于查詢關(guān)鍵詞的類別集合中,并且聚類之后的文檔的在某一類別中的文檔級(jí)別由聚類之前的文檔級(jí)別和該文檔相關(guān)對(duì)于此類別的權(quán)重等因素而確定。所得到的各個(gè)聚類類別的級(jí)別可由其所包含的文檔的級(jí)別來(lái)計(jì)算。
此技術(shù)方案具備如下的技術(shù)效果預(yù)先為每個(gè)文檔確定了聚類類別,并且這些聚類類別可以直接由索引關(guān)鍵詞而快速得到。這個(gè)特征使得聚類過(guò)程可以非常高效地完成,適用于對(duì)大規(guī)模的檢索結(jié)果聚類,可達(dá)到文檔歸類的運(yùn)行時(shí)效率。同時(shí),類別是根據(jù)關(guān)鍵詞而直接確定,因此相對(duì)于不同的查詢關(guān)鍵詞或詞組,同一文檔可以屬于不同的類別,從而克服了固定分類體系的缺點(diǎn)。另外,根據(jù)聚類所得到的各個(gè)類別中的文檔數(shù)量、文檔權(quán)重的總和或者平均值等信息,還可以計(jì)算出這些類別的權(quán)重,并以此對(duì)這些類別進(jìn)行評(píng)級(jí)(Ranking)和排序。由此,系統(tǒng)可以將具有較高級(jí)別的聚類以及其中較高級(jí)別的文檔優(yōu)先呈現(xiàn)給用戶。
本說(shuō)明書(shū)包含3個(gè)附圖。
附圖1是本發(fā)明一個(gè)實(shí)施例的流程圖。
附圖2是帶有關(guān)鍵詞相關(guān)聚類記錄信息的倒排索引數(shù)據(jù)結(jié)構(gòu)示意圖。
附圖3是本發(fā)明的一個(gè)實(shí)施例針對(duì)查詢關(guān)鍵詞對(duì)搜索結(jié)果進(jìn)行聚類而生成的一個(gè)輸出結(jié)果樣例。
具體實(shí)施例方式
下面結(jié)合附圖和實(shí)施例對(duì)上述技術(shù)方案作進(jìn)一步的說(shuō)明。
文檔檢索系統(tǒng)的首要步驟是對(duì)所獲取的文檔集合進(jìn)行索引,生成適合于計(jì)算機(jī)進(jìn)行搜索運(yùn)算的數(shù)據(jù)結(jié)構(gòu),以便根據(jù)用戶查詢而有效地查找到相關(guān)的文檔。文檔集合通常包括各種形式的電子文檔,例如發(fā)布在互聯(lián)網(wǎng)站點(diǎn)上的網(wǎng)頁(yè)(HTML文檔)和其它格式的數(shù)據(jù)文件。大規(guī)模文檔檢索系統(tǒng)通常使用倒排索引,即以關(guān)鍵詞來(lái)索引包含了該關(guān)鍵詞的各個(gè)文檔,并可記錄該關(guān)鍵詞在文檔中的出現(xiàn)頻次、位置等信息。
在信息檢索領(lǐng)域,“關(guān)鍵詞”一般指稱用于文檔索引和檢索的項(xiàng)(term),包括文檔中的特征項(xiàng)即“索引項(xiàng)”(index term)和查詢中的特征項(xiàng)即“搜索項(xiàng)”(search term)。這些項(xiàng)可以是通常的詞、詞組,也可以是其它類型的字符串(例如二字/詞組Bigram等)。本發(fā)明所使用的“關(guān)鍵詞”概念遵循這種用法。
設(shè)有文檔集合{di|i=1,2,...,N},其中N是被索引文檔的總數(shù)。文檔檢索系統(tǒng)使用一個(gè)關(guān)鍵詞集合(索引詞典){kwj|j=1,2,...,K}來(lái)索引一批文檔。文檔檢索的過(guò)程即系統(tǒng)使用查詢中的關(guān)鍵詞來(lái)搜索文檔索引。查詢通常為單個(gè)關(guān)鍵詞或者多個(gè)關(guān)鍵詞的組合(例如邏輯表達(dá)式)。設(shè)查詢Query包含關(guān)鍵詞kw1、kw2、...、kwQ,記為Query={kw1,kw2,...,kwQ}。如果查詢中的關(guān)鍵詞kwi在索引中出現(xiàn),則通過(guò)索引可以獲得所有包含該關(guān)鍵詞kwi的文檔。以此得到查詢中的各個(gè)關(guān)鍵詞對(duì)應(yīng)的文檔,再經(jīng)過(guò)適當(dāng)?shù)募线\(yùn)算(交集、并集、差集等),就得到了候選的相關(guān)文檔。系統(tǒng)再利用一定的判據(jù)(例如關(guān)鍵詞頻次和位置等)確定查詢與各個(gè)候選文檔的相關(guān)程度,從候選文檔中選取一部分文檔作為搜索結(jié)果。通常需要將搜索結(jié)果中的文檔按照相關(guān)程度由高到低排序,并為它們生成文檔表示(包括標(biāo)題、摘要、文檔編號(hào)或者網(wǎng)址等信息)。
現(xiàn)有的搜索結(jié)果聚類方法依靠上述過(guò)程得到的文檔表示來(lái)完成對(duì)搜索結(jié)果中的文檔進(jìn)行實(shí)時(shí)在線的聚類,即根據(jù)文檔表示來(lái)發(fā)現(xiàn)文檔之間的相似特征、將具有相似特征的文檔放入同一個(gè)類別中、并為該類別生成一個(gè)有意義的名稱(通常為文檔表示中的公共字符子串)。因此這些聚類方法是與文檔索引過(guò)程無(wú)關(guān)的。如本發(fā)明背景技術(shù)所述,這類方法為滿足實(shí)時(shí)在線聚類的性能要求,對(duì)被聚類的文檔內(nèi)容和文檔數(shù)量作了很大的限制,難以適用于對(duì)數(shù)量龐大的搜索結(jié)果進(jìn)行高效的聚類,并且不能直接根據(jù)用戶查詢的特征(例如查詢關(guān)鍵詞)并基于全文內(nèi)容快速地確定文檔的聚類類別。
本發(fā)明實(shí)施例的流程圖如附圖1所示,其包含的步驟是101獲取并索引一個(gè)文檔集合{di};102相對(duì)于文檔的全部或者部分索引項(xiàng){kwj}(包括關(guān)鍵詞、多個(gè)關(guān)鍵詞的搭配或詞組),預(yù)先確定各個(gè)文檔相對(duì)于這些索引項(xiàng)的可能的一個(gè)或者多個(gè)類別,并將此文檔類別信息保存。由于這種文檔類別是針對(duì)具體的索引關(guān)鍵詞(或者詞組)的,為便于敘述,本發(fā)明將其稱為“關(guān)鍵詞相關(guān)的聚類”類別,或簡(jiǎn)稱為“KWAC類別(Keyword AssociatedClustering Classes)”或“聚類類別”;103通過(guò)計(jì)算機(jī)或者計(jì)算機(jī)網(wǎng)絡(luò)獲得用戶提交的搜索請(qǐng)求,從中提取出用戶查詢;104使用查詢中的關(guān)鍵詞搜索文檔索引,根據(jù)查詢與被索引文檔的相關(guān)程度,選取一部分文檔作為搜索結(jié)果;105對(duì)于搜索結(jié)果中的各個(gè)相關(guān)文檔,根據(jù)預(yù)先已確定的文檔相對(duì)于查詢關(guān)鍵詞或者詞組(作為命中該文檔的索引項(xiàng))的類別,將文檔放入這些類別中,完成對(duì)搜索結(jié)果中的文檔的分組(其表現(xiàn)為對(duì)檢索結(jié)果的聚類)。由于各個(gè)文檔的類別在檢索之后已經(jīng)明確,這個(gè)步驟的實(shí)際操作類似文檔歸類的過(guò)程,可以非常高效地實(shí)現(xiàn);106將搜索結(jié)果返回給用戶。
本實(shí)施例將搜索結(jié)果聚類同文檔收集、索引、檢索等過(guò)程結(jié)合在一起,可應(yīng)用在任意的文檔檢索系統(tǒng)或通用的搜索引擎中,不受元搜索引擎的限制。
下面詳細(xì)說(shuō)明步驟102和105的內(nèi)容。
-聚類類別的確定在步驟102,本發(fā)明的關(guān)鍵詞相關(guān)聚類類別可以在離線(off-line)狀態(tài)下確定,同時(shí)又不受固定分類體系的限制,可以是任何形式的類別標(biāo)記,或者系統(tǒng)定義的任何標(biāo)識(shí)符。對(duì)于大規(guī)模文檔檢索系統(tǒng),例如互聯(lián)網(wǎng)搜索引擎,特別有用的類別標(biāo)記是關(guān)鍵詞,也就是用一個(gè)關(guān)鍵詞(或者詞組)作為文檔的類別,從而便于用戶基于關(guān)鍵詞進(jìn)行檢索、聚類、瀏覽等。當(dāng)然,固定分類體系中的類別(例如圖書(shū)分類標(biāo)記、網(wǎng)頁(yè)分類搜索目錄名稱等)也可以用作某個(gè)文檔的KWAC類別。
一種有效的方式是將靈活可變的關(guān)鍵詞類別與固定分類體系中的類別結(jié)合起來(lái)應(yīng)用。在本發(fā)明的實(shí)施例中,當(dāng)分析文檔相對(duì)于某個(gè)索引項(xiàng)的KWAC類別時(shí),如果該文檔中沒(méi)有合適的與該索引項(xiàng)高度相關(guān)的其它關(guān)鍵詞或詞組作為文檔的KWAC類別,則使用與該索引項(xiàng)對(duì)應(yīng)的固定分類體系中的類別作為文檔相對(duì)于此索引項(xiàng)的KWAC類別。該對(duì)應(yīng)關(guān)系可預(yù)先記錄,并與固定分類體系保存在一起。
在本發(fā)明的實(shí)施例中,作為聚類類別的關(guān)鍵詞的另一個(gè)來(lái)源是關(guān)鍵詞的固定搭配。首先,用一個(gè)詞組庫(kù)(或者稱為短語(yǔ)庫(kù))保存常用的或者重要的關(guān)鍵詞組合。如果文檔中的某些用于索引的關(guān)鍵詞滿足詞組庫(kù)中的搭配關(guān)系,則將與該詞構(gòu)成搭配關(guān)系的關(guān)鍵詞作為聚類類別。其次,應(yīng)用統(tǒng)計(jì)自然語(yǔ)言處理在詞的固定搭配與短語(yǔ)等的識(shí)別方面提供的技術(shù),在各個(gè)文檔中計(jì)算侯選詞串的統(tǒng)計(jì)特征(例如共現(xiàn)頻率、互信息、條件熵等),從這些侯選詞串中找出合適的詞串作為詞組。上述兩種方法可結(jié)合使用,即詞組庫(kù)作為詞組統(tǒng)計(jì)的參考,而統(tǒng)計(jì)得到的詞組可用于對(duì)詞組庫(kù)的更新。
在本發(fā)明的實(shí)施例中,反映文檔內(nèi)容的主題詞(Topic Words)或詞組也可以被直接作為文檔中全部或者部分索引項(xiàng)(關(guān)鍵詞或者詞組、Bigram等)的KWAC類別。特別是,網(wǎng)頁(yè)(HTML、XML文檔)或其它類型文檔中的格式化信息被用作主題詞標(biāo)識(shí)的依據(jù)。其中,出現(xiàn)在文檔標(biāo)題(Title)中的關(guān)鍵詞,以及出現(xiàn)在指向當(dāng)前文檔的其它文檔中的超鏈接(Hyperlink)中的鏈接文本(Anchor Text)中的關(guān)鍵詞,優(yōu)先成為當(dāng)前文檔的候選主題詞和聚類類別。與上述固定分類體系一起,這一類關(guān)鍵詞構(gòu)成了文檔的固定(與查詢無(wú)關(guān))的聚類類別。
在本發(fā)明的實(shí)施例中,每個(gè)關(guān)鍵詞相關(guān)的聚類類別Ci(i=1,2,...,m)具有一個(gè)權(quán)重值wti,記為wti=KWAC_Weight(kw,d,Ci), (1)它表示某個(gè)文檔d在查詢項(xiàng)(關(guān)鍵詞或者詞組)為kw的情況下屬于類別Ci的權(quán)重或者可能性。用KWAC_Set(kw,d)表示文檔d相對(duì)于項(xiàng)kw的所有可能的聚類類別的集合,本實(shí)施例應(yīng)用了聚類類別權(quán)重值wti的如下條件對(duì)于文檔中的任意索引關(guān)鍵詞kw∈d,ΣCi∈KWAC_Set(kw,d)KWAC_Weight(kw,d,Ci)=1.---(2)]]>類別權(quán)重的最簡(jiǎn)單情況是KWAC_Set(kw,d)中各個(gè)類別Ci的權(quán)重相同(即等可能性),取值為KWAC_Set(kw,d)中類別總數(shù)的倒數(shù)
KWAC_Weight(kw,d,Ci)=1|KWAC_Set(kw,d)|---(3)]]>對(duì)于聚類類別Ci為關(guān)鍵詞的情形,可以根據(jù)在文檔d中Ci與索引關(guān)鍵詞kw的共現(xiàn)(搭配)頻度f(wàn)i來(lái)確定其權(quán)重值wti。一種具體的方法如下wti=fif1+f2+...+fm,i=1,2,...,m---(4)]]>與共現(xiàn)頻度相關(guān)的其它統(tǒng)計(jì)量(例如互信息等)也可以被作為確定聚類類別權(quán)重的依據(jù)。
對(duì)于聚類類別Ci為關(guān)鍵詞的情形,上述類別權(quán)重wti還可根據(jù)關(guān)鍵詞Ci在文檔d中出現(xiàn)的位置、文檔格式、以及關(guān)鍵詞Ci與索引關(guān)鍵詞kw的相對(duì)位置關(guān)系等信息,按照文檔檢索中的慣常方式進(jìn)行調(diào)整。例如,如果關(guān)鍵詞Ci與kw是鄰接在一起的,或者二者共同出現(xiàn)在文檔標(biāo)題中,則權(quán)重wti被加大。
文檔相對(duì)于其所包含的關(guān)鍵詞的聚類類別以及類別權(quán)重的確定都是與查詢過(guò)程無(wú)關(guān)的,因而可以在離線的過(guò)程中進(jìn)行。
-聚類類別信息的組織與存放本發(fā)明的關(guān)鍵詞相關(guān)聚類信息是一個(gè)索引項(xiàng)與文檔的二元組的集合,即一個(gè)(term,doc_id)配對(duì)的集合。該集合可組織成為一張二維表的數(shù)據(jù)結(jié)構(gòu),存儲(chǔ)在文件中。它也可以作為一組索引項(xiàng)-文檔列表(term,doc_id_list)的集合。特別是,它可以作為一個(gè)項(xiàng)-文檔列表的倒排表數(shù)據(jù)結(jié)構(gòu)。該倒排表數(shù)據(jù)可單獨(dú)存放。顯然,如果在文檔集的倒排索引中擴(kuò)充一個(gè)數(shù)據(jù)域,則可以進(jìn)一步將此KWAC信息存放在倒排文檔索引中,或者保存在與倒排索引相對(duì)應(yīng)的鏈表中。
附圖2是本發(fā)明的一種帶有關(guān)鍵詞相關(guān)聚類信息的倒排索引數(shù)據(jù)結(jié)構(gòu)。索引詞典中的每個(gè)索引項(xiàng)kw被轉(zhuǎn)化成為一個(gè)整數(shù)word_id,并對(duì)應(yīng)一個(gè)指向該索引項(xiàng)的倒排表(inverted list)的指針ptr,在此倒排表中存儲(chǔ)了包含該索引項(xiàng)的各個(gè)文檔的編號(hào)doc_id以及該索引項(xiàng)在文檔中出現(xiàn)的各個(gè)位置的列表pos_list。附圖2中的灰色陰影部分是本發(fā)明的作為倒排表形式的聚類類別信息。在文檔倒排索引中為每個(gè)文檔增加了一個(gè)指針KWAC_rec_ptr,指向該文檔(doc_id)相對(duì)于當(dāng)前的索引項(xiàng)(word_id)的所有可能的KWAC類別C1,2,...,m及其對(duì)應(yīng)的權(quán)重wt1,2,...,m的記錄列表。
在本發(fā)明的實(shí)施例中,對(duì)于KWAC類別是關(guān)鍵詞的情況,上述聚類記錄中的類別Ci是作為類別的關(guān)鍵詞的word_id。
另外,在關(guān)鍵詞類別的記錄中還設(shè)置了一個(gè)鄰接關(guān)系的指示符prox,用于指示在文檔d中索引項(xiàng)kw與關(guān)鍵詞Ci是否鄰接在一起、以及如何鄰接如果Ci是出現(xiàn)在kw的右邊,則為右鄰接;Ci是出現(xiàn)在kw的左邊,則為左鄰接??梢苑謩e用prox=0,prox=+1和prox=-1來(lái)表示不鄰接、右鄰接和左鄰接這三種情況。
-搜索結(jié)果文檔的聚類類別的確定在步驟105,對(duì)于由單個(gè)關(guān)鍵詞kw組成的查詢Query={kw},搜索結(jié)果中的任一文檔d被直接放入到它相對(duì)于索引項(xiàng)kw的各個(gè)KWAC類別中,即文檔d出現(xiàn)在所有類別Ci∈KWAC_Set(kw,d)之中。由此完成對(duì)搜索結(jié)果中的各個(gè)文檔的分組。
對(duì)于聚類類別Ci為關(guān)鍵詞的情形,上述搜索結(jié)果中的文檔聚類的名稱按照如下方法確定■如果文檔d相對(duì)于kw的右鄰接KWAC類別是Ci(即proxi=+1),則該類別的名稱以詞串“kw Ci”表示;■如果文檔d相對(duì)于kw的左鄰接KWAC類別是Ci(即proxi=-1),則該類別的名稱以詞串“Cikw”表示;■否則(proxi=-1)該類別的名稱以“kw,Ci”表示。
相對(duì)于包含多個(gè)關(guān)鍵詞的查詢Query={kw1,kw2,...,kwQ},某個(gè)文檔d的所有可能的聚類類別的集合是該文檔相對(duì)于各個(gè)查詢關(guān)鍵詞的類別集合的并集,即KWAC-Set(Query,d)=∪kw∈QueryKWAC_Set(kw,d).---(5)]]>搜索結(jié)果中的文檔的類別確定方式與單關(guān)鍵詞查詢的搜索結(jié)果分組過(guò)程類似,即搜索結(jié)果中的文檔被逐一放入各個(gè)類別Ci∈KWAC_Set(Query,d)之中。
對(duì)于聚類類別Ci為關(guān)鍵詞的情形,上述搜索結(jié)果中的文檔聚類的名稱按照如下方法確定如果多關(guān)鍵詞查詢Query不要求其中的各個(gè)關(guān)鍵詞有位置鄰接關(guān)系(例如,各個(gè)關(guān)鍵詞之間僅僅是“與(AND)”、“或(OR)”等邏輯關(guān)系),則類別名稱的確定方式與單關(guān)鍵詞查詢的情況類似;如果多關(guān)鍵詞查詢Query要求其某些關(guān)鍵詞之間需要滿足鄰接關(guān)系,例如設(shè)Query包含一個(gè)詞組“AB”(關(guān)鍵詞A與B鄰接出現(xiàn)),則對(duì)包含了詞組“AB”的搜索結(jié)果中的各個(gè)文檔d的分組按照如下方式命名■如果文檔d相對(duì)于B的右鄰接KWAC類別是C1(prox=+1),則d被歸入C1,且該類別名稱以詞串“AB C1”表示;■如果文檔d相對(duì)于A的左鄰接KWAC類別是C2(prox=-1),則d被歸入C2,且該類別名稱以詞串“C2AB”表示;■如果上述兩種情況同時(shí)出現(xiàn),則d被同時(shí)放在上述兩個(gè)類別C1和C2中,且類別名稱分別如上所述;■如果上述兩種情況都不出現(xiàn)(prox=O),則d被同時(shí)放在上述兩個(gè)類別C1和C2中,且類別名稱為“AB,C1”和“C2,AB”。
例如,對(duì)于Query=“search engine(搜索引擎)”(設(shè)按索引詞典被分解為“search(搜索)”和“enginen(引擎)”兩個(gè)關(guān)鍵詞),如果文檔d相對(duì)于“engine”的右鄰接KWAC類別是“marketing(營(yíng)銷)”,則d被放入名稱為“search engine marketing”的類別中;如果文檔d相對(duì)于“search”的左鄰接KWAC類別是“internet(互聯(lián)網(wǎng))”,則d被放入名稱為“internetsearch engine”的類別中。如果兩種情況同時(shí)成立,則d被同時(shí)放入名稱為“search enginemarketing”和“internet search engine”的兩個(gè)類別中。
包含了詞組“A...B”的查詢以相同的方式處理。
對(duì)于要求部分關(guān)鍵詞鄰接、其它關(guān)鍵詞不鄰接的多關(guān)鍵詞查詢,例如Query={“AB”,C,D},則首先按照上述方法處理不鄰接的關(guān)鍵詞,然后再處理其中要求鄰接的關(guān)鍵詞。
-單個(gè)類別中文檔級(jí)別的計(jì)算通常,系統(tǒng)所維護(hù)的文檔集中的各個(gè)文檔di被賦予一個(gè)全局級(jí)別,表示該文檔在文檔集合中的重要性。在文檔與查詢的相關(guān)程度的判斷過(guò)程中,根據(jù)相關(guān)程度也可賦予文檔一個(gè)相對(duì)于查詢的相對(duì)級(jí)別,表示該文檔在搜索結(jié)果中的重要性,并可用于對(duì)搜索結(jié)果中的文檔進(jìn)行排序。下面用DocRank(di)統(tǒng)一表示文檔di的全局或者相對(duì)級(jí)別。
當(dāng)搜索結(jié)果中(未聚類的)原級(jí)別為DocRank(d)的文檔d被放入到類別Ci中之后,文檔d相對(duì)于同一類中的其它文檔的級(jí)別的差別有可能發(fā)生變化。本發(fā)明提供了對(duì)于聚類之后的搜索結(jié)果中的文檔重新計(jì)算文檔級(jí)別的方法。本發(fā)明的實(shí)施例按照下面的公式來(lái)確定文檔d在類別Ci中的文檔級(jí)別ClusteredDocRank(d,Ci)=Σkw∈QueryClusteredDocRank(d,kw,Ci),---(6)]]>其中ClusteredDocRank(d,kw,Ci)=DocRank(d)×KWAC_Weight(kw,d,Ci)(7)×f(KWAC_Freq(Query,d,Ci))×g(Mutual_KWAC(Query,d)).
在上述公式中,KWAC_Weight(kw,d,Ci)是聚類類別記錄KWAC(kw,d)中的文檔d屬于類別Ci的權(quán)重wti;KWAC_Freq(Query,d,Ci)是Ci在各個(gè)關(guān)鍵詞kw∈Query所對(duì)應(yīng)的集合KWAC_Set(kw,d)中出現(xiàn)的次數(shù);函數(shù)f(x)可選為f(x)=x或f(x)=2x兩種典型形式之一;函數(shù)Mutual_KWAC(Query,d)是Query中各個(gè)關(guān)鍵詞kw在文檔d的KWAC記錄中互為KWAC類別的關(guān)鍵詞的個(gè)數(shù);函數(shù)g(x)可選為g(x)∝x的形式。
根據(jù)上述公式,對(duì)于多關(guān)鍵詞查詢,如果某個(gè)聚類類別Ci同時(shí)是文檔d相對(duì)于查詢中多個(gè)關(guān)鍵詞的聚類類別,則在當(dāng)前查詢下該類別Ci對(duì)于文檔d的重要性將增大,其增大倍數(shù)為f(KWAC_Freq(Query,d,Ci))。相對(duì)地,如果某個(gè)類別Ci僅僅出現(xiàn)在多關(guān)鍵詞查詢的少數(shù)(例如一個(gè))關(guān)鍵詞的聚類類別集合中,則該類別Ci的重要性較低。
另外,如果多關(guān)鍵詞查詢Query中有多個(gè)關(guān)鍵詞對(duì)于某個(gè)文檔d互為聚類類別,即對(duì)于某兩個(gè)互為聚類類別的關(guān)鍵詞kwi,j∈Query,有kwi∈KWAC_Set(kwj,d)和kwj∈KWAC_Set(kwi,d).
則文檔d相對(duì)于該查詢Query具有更大的重要性。因此文檔d(在所有聚類類別Ci中)將具有更大的文檔級(jí)別,其增大倍數(shù)為g(Mutual_KWAC(Query,d))。此情況的一個(gè)特例就是當(dāng)一個(gè)具有多個(gè)關(guān)鍵詞的查詢的所有n個(gè)關(guān)鍵詞對(duì)于某個(gè)文檔d而言互為聚類類別時(shí),則d的文檔級(jí)別增大g(n)倍。
在任一類別Ci中的各個(gè)文檔可按照文檔在這個(gè)類別中的上述文檔級(jí)別ClusteredDocRank(d,Ci)排序。
-聚類類別的級(jí)別計(jì)算將搜索結(jié)果中的文檔分組到各個(gè)KWAC類別之后,這些類別的級(jí)別就可以由其所包含的文檔的級(jí)別來(lái)計(jì)算。在本發(fā)明的實(shí)施例中,根據(jù)用戶選項(xiàng)或者系統(tǒng)設(shè)定,搜索結(jié)果聚類中的一個(gè)KWAC類別的級(jí)別(或權(quán)重)是其包含的所有(或者前N個(gè))文檔的級(jí)別值的總和,或者是所有(或者前N個(gè))文檔級(jí)別的平均值。
搜索結(jié)果聚類中得到的各個(gè)KWAC類別Ci按照其級(jí)別被排序。在將聚類后的搜索結(jié)果返回給用戶時(shí),具有較高級(jí)別的前若干個(gè)類別被優(yōu)先提交給用戶。而在每個(gè)KWAC類別Ci中,文檔也按照其文檔級(jí)別DocRank排序。因此可以把具有高級(jí)別的聚類類別中的具有較高文檔級(jí)別的文檔優(yōu)先提交給用戶。
對(duì)于單關(guān)鍵詞或多關(guān)鍵詞查詢Query,聚類Ci的權(quán)重可按照如下兩種方法之一來(lái)計(jì)算,分別為聚類Ci中的文檔級(jí)別總和與文檔級(jí)別平均值ClassRank1(Ci)=Σd∈CiClusteredDocRank(d,Ci)---(8)]]>=Σd∈CiΣkw∈QueryClusteredDocRank(d,kw,Ci),]]>ClassRank2(Ci)=Σd∈CiClusteredDocRank(d,Ci)NDocs(Ci)---(9)]]>=Σd∈CiΣkw∈QueryClusteredDocRank(d,kw,Ci)NDocs(Ci),]]>其中NDocs(Ci)是Ci中的文檔總數(shù)。
ClassRank1(Ci)表示整個(gè)Ci類別的重要性(即指示該類別在總體上是否值得被用戶先看到),而ClassRank2(Ci)則表示類別Ci中的文檔的平均重要性(指示其中的各個(gè)文檔是否值得看)。在各個(gè)類別中的文檔數(shù)目差別很大時(shí),ClassRank1是較好的指標(biāo),而在各個(gè)類別中的文檔數(shù)目比較接近(或者被強(qiáng)制一致)時(shí),ClassRank2是較好的指標(biāo)。
經(jīng)過(guò)聚類之后的搜索結(jié)果中的各個(gè)聚類類別Ci即可按照其級(jí)別排序。
-新的文檔級(jí)別利用文檔的KWAC信息,還可以對(duì)文檔集或者搜索結(jié)果中的文檔重新評(píng)級(jí)(Ranking),計(jì)算新的文檔級(jí)別。這提供了一種根據(jù)關(guān)鍵詞相關(guān)聚類信息進(jìn)行文檔評(píng)級(jí)(DocumentRanking)的方法。
對(duì)于級(jí)別為DocRank(di)的文檔,利用公式(7)可引入一個(gè)相對(duì)于查詢Query的新的文檔級(jí)別NewDocRank(d|Query)]]>=Σkw∈QueryΣCi∈KWAC_Set(kw,d)ClusteredDocRank(d,kw,Ci)---(10)]]>=DocRank(d)×Σkw∈QueryΣCi∈KWAC_Set(kw,d)[KWAC_Weight(kw,d,Ci)]]>×f(KWAC_Freq(Query,d,Ci))×g(Mutual_KWAC(Query,d))].]]>
在方程(2)的條件下,對(duì)于f(x)=1和g(x)=1/Q的情形(Q是Query中關(guān)鍵詞的個(gè)數(shù)),NewDocRank與原來(lái)的DocRank是一致的。
NewDocRank(d|Query)的一個(gè)用途是當(dāng)用戶選擇不對(duì)搜索結(jié)果中的文檔進(jìn)行聚類、當(dāng)仍然考慮聚類對(duì)文檔排序的作用時(shí),返回給用戶的搜索結(jié)果中的文檔按照新的文檔級(jí)別被排序。
附圖3是本發(fā)明的一個(gè)用于網(wǎng)頁(yè)文檔的搜索結(jié)果聚類系統(tǒng)的輸出樣例。用戶輸入的查詢關(guān)鍵詞301是“search engine(搜索引擎)”。系統(tǒng)使用預(yù)先確定的KWAC類別信息(以關(guān)鍵詞作為KWAC類別)將包含了該查詢的所有關(guān)鍵詞的網(wǎng)頁(yè)聚類成多個(gè)類別,并按照類別的ClassRank1級(jí)別(由公式8定義)排序。每個(gè)聚類Ci中的文檔d又按照其文檔級(jí)別ClusteredDocRank(d,Ci)(由公式6定義)排序。返回給用戶的搜索結(jié)果中,具有最高級(jí)別的4個(gè)聚類302被首先提交給用戶,其類別名稱分別為“search engine marketing”,“search engine optimization”,“search engine submission”等,并且每個(gè)聚類中具有最高級(jí)別的前3個(gè)文檔被首先列出。
在本發(fā)明實(shí)施例的技術(shù)細(xì)節(jié)說(shuō)明中,本說(shuō)明書(shū)使用了到排索引方式的文檔檢索系統(tǒng)作為示例。但是,本領(lǐng)域技術(shù)人員可以清楚地知道本發(fā)明的應(yīng)用范圍并不局限于這種類型的系統(tǒng)。
本發(fā)明的技術(shù)方案還可以用其它不同于上述實(shí)施例的方式實(shí)現(xiàn)。所附的權(quán)利要求書(shū)涵蓋了對(duì)以上所描述的各要素的諸多變形與替換。
權(quán)利要求
1.一種搜索結(jié)果聚類的方法,所述搜索結(jié)果是作為對(duì)某個(gè)搜索請(qǐng)求的響應(yīng)、從一個(gè)被索引的文檔集合中根據(jù)搜索請(qǐng)求與被索引文檔的相關(guān)程度而被選取的一批文檔,所述搜索請(qǐng)求來(lái)自使用計(jì)算機(jī)或者計(jì)算機(jī)網(wǎng)絡(luò)的用戶,其特征在于它包括如下步驟a.預(yù)先記錄被索引文檔相對(duì)于其所包含的某個(gè)或者某幾個(gè)關(guān)鍵詞的一個(gè)或多個(gè)類別;b.根據(jù)預(yù)先記錄的文檔相對(duì)于包含在搜索請(qǐng)求中的某個(gè)或者某幾個(gè)關(guān)鍵詞的類別,對(duì)所述搜索結(jié)果中的文檔分組。
2.根據(jù)權(quán)利要求1所述的搜索結(jié)果聚類的方法,其特征在于所述的文檔相對(duì)于關(guān)鍵詞的類別為文檔分類標(biāo)記。
3.根據(jù)權(quán)利要求1所述的搜索結(jié)果聚類的方法,其特征在于所述的文檔相對(duì)于關(guān)鍵詞的類別是關(guān)鍵詞或者詞組。
4.根據(jù)權(quán)利要求3所述的搜索結(jié)果聚類的方法,其特征在于所述的文檔相對(duì)于關(guān)鍵詞的類別是在文檔中與索引關(guān)鍵詞有固定搭配關(guān)系的關(guān)鍵詞,或者是在一個(gè)預(yù)先確定的詞組庫(kù)中與索引關(guān)鍵詞有固定搭配關(guān)系的關(guān)鍵詞,或者是出現(xiàn)在文檔標(biāo)題中的關(guān)鍵詞,或者是出現(xiàn)在指向當(dāng)前文檔的其它文檔中的超鏈接所包含的鏈接文本中的關(guān)鍵詞。
5.根據(jù)權(quán)利要求1至4之一所述的搜索結(jié)果聚類的方法,其特征在于為每個(gè)類別設(shè)置一個(gè)權(quán)重值,表示此類別與所對(duì)應(yīng)的文檔的關(guān)聯(lián)程度。
6.根據(jù)權(quán)利要求1至5之一所述的搜索結(jié)果聚類的方法,其特征在于所述的文檔相對(duì)于關(guān)鍵詞的類別的集合為一個(gè)索引項(xiàng)-文檔列表的倒排表數(shù)據(jù)結(jié)構(gòu),獨(dú)立存放或者與倒排文檔索引結(jié)合在一起。
7.根據(jù)權(quán)利要求1至6之一所述的搜索結(jié)果聚類的方法,其特征在于對(duì)于由單個(gè)關(guān)鍵詞組成的查詢,搜索結(jié)果中的任一文檔被直接放入到該文檔相對(duì)于查詢關(guān)鍵詞的各個(gè)類別中;而對(duì)于包含多個(gè)關(guān)鍵詞的查詢,搜索結(jié)果中的任一文檔的聚類類別的集合是該文檔相對(duì)于各個(gè)查詢關(guān)鍵詞的類別集合的并集,且該文檔被分別放入此并集中的各個(gè)類別之中。
8.根據(jù)權(quán)利要求1至7之一所述的搜索結(jié)果聚類的方法,其特征在于聚類之后的文檔在某一類別中的文檔級(jí)別由聚類之前的文檔級(jí)別和該文檔相對(duì)于此類別的權(quán)重而確定,或者由聚類之前的文檔級(jí)別和該類別在各個(gè)查詢關(guān)鍵詞所對(duì)應(yīng)的聚類類別集合中出現(xiàn)的次數(shù)而確定,或者由聚類之前的文檔級(jí)別和查詢中互為聚類類別的關(guān)鍵詞的個(gè)數(shù)而確定。
9.根據(jù)權(quán)利要求1至8之一所述的搜索結(jié)果聚類的方法,其特征在于所述聚類類別的級(jí)別由其所包含的文檔的級(jí)別來(lái)計(jì)算,是其包含的所有或者前若干個(gè)文檔的級(jí)別的總和,或者是其包含的所有或者前若干個(gè)文檔的級(jí)別的平均值。
10.根據(jù)權(quán)利要求9所述的搜索結(jié)果聚類的方法,其特征在于經(jīng)過(guò)聚類之后的搜索結(jié)果中的各個(gè)聚類類別按照其級(jí)別排序,且具有較高級(jí)別的前若干個(gè)聚類被優(yōu)先提交給用戶。
全文摘要
一種搜索結(jié)果聚類的方法,包括如下步驟預(yù)先記錄被索引文檔相對(duì)于其所包含的某個(gè)或者某幾個(gè)關(guān)鍵詞的一個(gè)或多個(gè)類別;根據(jù)預(yù)先記錄的文檔相對(duì)于包含在搜索請(qǐng)求中的某個(gè)或者某幾個(gè)關(guān)鍵詞的類別,對(duì)所述搜索結(jié)果中的文檔分組。所述類別可以為任意的文檔分類標(biāo)記或者關(guān)鍵詞。每個(gè)類別可設(shè)置一個(gè)權(quán)重值。搜索結(jié)果中的文檔被放入該文檔相對(duì)于查詢關(guān)鍵詞的類別集合中,并且所得到的各個(gè)聚類類別的級(jí)別可由其所包含的文檔的級(jí)別來(lái)計(jì)算。本發(fā)明的聚類過(guò)程可以高效地完成,適用于大規(guī)模文檔檢索系統(tǒng)(例如互聯(lián)網(wǎng)搜索引擎)對(duì)搜索結(jié)果的聚類,并且通過(guò)對(duì)聚類類別評(píng)級(jí),可以將具有較高級(jí)別的聚類以及其中較高級(jí)別的文檔優(yōu)先呈現(xiàn)給用戶。
文檔編號(hào)G06F17/30GK1609859SQ20041009177
公開(kāi)日2005年4月27日 申請(qǐng)日期2004年11月26日 優(yōu)先權(quán)日2004年11月26日
發(fā)明者孫斌 申請(qǐng)人:孫斌