專利名稱:一種分類目錄自動構建方法及相關系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及計算機搜索領域,特別涉及在計算機搜索過程中為搜索結 果創(chuàng)建分類目錄的方法以及相應的系統(tǒng)。
背景技術:
'計算機和互聯網技術的快速發(fā)展,方便了人們對信息的獲取。尤其是 近幾年來,隨著搜索引擎技術的飛速發(fā)展,因特網用戶通過搜索引擎獲取
信息已經成為非常普遍的現象。CNNIC信息服務部在2005年1月公布的 《全球互聯網統(tǒng)計信息報告》就已經顯示搜索引擎擁有84%的網民用戶。 現在的搜索引擎用戶恐怕會更多。但是現在的搜索引擎很多時候并不能返 回正確的答案,尼爾森-諾曼集團的調查顯示搜索引擎的評價成功率只有 42%。
如何幫助用戶快速準確地發(fā)現其所尋找的信息是搜索引擎的重要目 標。到目前為止,搜索引擎已經經歷了兩代第一代搜索引擎指主要依靠 人工分揀的分類目錄搜索,這一類當時以Yahoo這樣的門戶網站為代表。 隨著互聯網規(guī)模的不斷擴大,靠人工編輯生成的分類目錄難以跟上互聯網 信息增長速度;另外內容增多導致目錄深度和每一層節(jié)點數的不斷增加, 這些無疑加重了用戶瀏覽信息和檢索的負擔。第二代搜索引擎以超鏈接分 析為基礎的機器抓取技術為基礎,在一定程度上解決了上述問題;這一類 以Google公司為代表。從交互上看,可以直接獲取相關文檔的第二代搜
索引擎自然要比層層瀏覽跳轉才能找到信息的第一代搜索引擎好。但是當 前的第二代搜索引擎相對于第一代搜索引擎也引入了兩個弊端 一是搜索
引擎返回的結杲缺乏人工目錄的有效組織,不利于瀏覽。另一點在于,當 用戶初始查詢失敗時,用戶不能利用目錄索引找到當前查詢的相關內容。 而在人工編輯的分類目錄中,用戶查找失敗后可以通過當前目錄的上層目 錄或相關目錄去再次組織尋找。
鑒于上述兩種搜索引擎模式各自所存在的缺陷,若能夠提供一種將兩 種搜索引擎模式的優(yōu)點集于一身的新的搜索方法,則有助于向用戶提供更
快、更有效的搜索服務。
發(fā)明內容
本發(fā)明的目的是克服現有的搜索引擎模式在搜索過程中各自所存在 的缺陷,從而提供一種在搜索過程中創(chuàng)建分類目錄并根據所創(chuàng)建的分類目 錄實現搜索的搜索方法。
為了實現上述目的,本發(fā)明提供了一種分類目錄自動構建方法,包括 步驟l)、查找與用戶提交的查詢詞有關的概念術語,得到與所述查詢
詞相關的概念術語集合;
步驟2)、計算所述概念術語集合中各個概念術語間的相關度; 步驟3)、根據所述概念術語間的相關度,對所述概念術語集合中的概
念術語做分類或聚類操作,得到至少一個概念術語類;
步驟4 )、將所述概念術語集合中的概念術語按照所述概念術語類組織
成分類目錄。
上述技術方案中,所述的步驟3)還包括對所得到的概念術語類中的 概念術語做進一步的分類或聚類操作,得到范圍更小的新的概念術語類。
上述技術方案中,在所述的步驟3)中,采用圖分割算法實現對概念 術語的分類操作,釆用聚類算法實現對概念術語的聚類操作。
上述技術方案中,所述的圖分割算法包括
步驟3-l)、根據所述概念術語間的相關度,為所述的概念術語構建概 念關系步驟3-2 )、對所述概念關系圖中代表概念術語的各個頂點進行劃分, 按照所述頂點間相互聯系的密切程度將所述概念關系圖分為多個子圖,每 個子圖代表一個概念術語類。
上述技術方案中,在所述的步驟3-1)中,在構建所述的概念關系圖 時,包括
步驟3-1-1)、用一個節(jié)點表示一個概念術語;
步驟3-l-2)、當兩個概念術語間的相關度高于用戶指定的閾值時,為 表示這兩個概念術語的兩個節(jié)點間添加一條有權邊,用所述概念術語間的 相關度數值表示所述有權邊的權重;
步驟3-1-3 )、對概念術語集合中的所有概念術語完成上述的兩兩相關 度判斷后即可得到所述的概念關系圖。
上述技術方案中,在所述的步驟3-2)中,對所述子圖劃分的方法包
括Kernighan-Li圖劃分方法、求解拉普拉斯矩陣特征向量的譜方法、基 于edge-betweenness的劃分方法、K完全子圖方法、互耳關網H接分析中的 HITS、 MCL方法,基于最大流最小割的web社區(qū)發(fā)現算法和密度二部圖 劃分方法,基于Modularity的社區(qū)發(fā)現算法,基于5 - Closure的社區(qū)發(fā)現 算法。
上述技術方案中,所述的聚類算法包括single-linkage方法、ROCK 方法、Chameleon方法、或conceptual clustering方法。
上述技術方案中,在所述的步驟1)中,從現有數據中查找與用戶提 交的查詢詞有關的概念術語,所述的現有數據包括用于記錄以前用戶查詢 的搜索引擎日志、搜索引擎返回的與當前查詢相關的文檔、詞典、網上人 工編輯目錄信息、Wiki信息、用戶標注信息在內的信息。
上述技術方案中,在所述的步驟1)中,所述的現有數據還包括用戶 查詢歷史信息、用戶查詢傾向信息和/或用戶注冊帳號信息在內的用戶個人
JS息。
上述技術方案中,所述的步驟2)還包括在計算所述概念術語集合 中各個概念術語間的相關度前,對所述概念術語集合中各個概念術語與所 述查詢詞的相關度進行計算,將與所述查詢詞的相關度小于用戶指定閾值 的概念術語從所述概念術語集合中刪除。
上述技術方案中,在所述的步驟2)中,采用一種相關度計算方法對 所述概念術語間或概念術語與查詢詞間的相關度進行計算,所述的相關度 計算方法包括計算兩個術語在同一文本內容中的共同出現次數的方法、 數據挖掘方法、計算兩個術語間的互信息的方法、計算兩個術語在詞典或 人工目錄中的距離的方法、傳統(tǒng)信息檢索中計算文本間距離的計算方法。
上述技術方案中,在所述的步驟2)中,還包括采用至少兩種計算相 關度的方法對概念術語間的相關度進行計算,將所得到的多種計算結果做 歸一化加權操作,得到最終的相關度值。
上述技術方案中,所述的步驟3)還包括采用類標簽對所得到的概念 術語類進行標識。
上述技術方案中,所述的類標簽采用所代表的概念術語類中最具代表 性的概念術語,或能夠對所代表的概念術語類中所有概念術語進行概括的 標簽。
上述技術方案中,所述的概念術語類中最具代表性的概念術語為所述 概念術語類中與類中心相似度值最大的概念術語。
上述技術方案中,所述的能夠對所代表的概念術語類中所有概念術語
進行概括的標簽的產生包括
步驟a)、事先定義一組類別標簽,依據類別標簽對各概念術語類進行 分類,概念術語類的類標簽就是其所屬類別的類別標簽;
點,以這些節(jié)點共有的;深祖先節(jié)點作為該類的類標簽??? ';、
上述技術方案中,在所述的步驟4)中,還包括將所述的分類目錄返 回給用戶,在返回給用戶時,結合用戶設定的模式信息顯示所述的分類目 錄,所述的模式信息包括圖標、顏色、字體大小、對概念術語的注釋說明。 本發(fā)明還提供了一種計算機搜索方法,包括 步驟1 )、用戶輸入查詢詞;
步驟2)、采用所述的分類目錄自動構建方法為所述的查詢詞構建分類 目錄;
步驟3 )、用戶將步驟2 )所得到的分類目錄中的概念術語作為推薦的 查詢詞發(fā)起下一次搜索,以得到更為精確的搜索結果。本發(fā)明還提供了一 種分類目錄自動構建系統(tǒng),包括概念術語抽取模塊、相關度計算模塊、 概念術語分類模塊、分類目錄顯示模塊以及用于包括現有數據的數據庫; 其中,
所述的概念術語抽取模塊從所述數據庫所存儲的現有數據中找到與 用戶提交的查詢詞有關的概念術語,得到與所述查詢詞相關的概念術語集 合;
所述的相關度計算模塊計算所述概念術語集合中各個概念術語間的 相關度;
所述的概念術語分類模塊根據所述概念術語間的相關度,對所述概念 術語集合中的概念術語做分類或聚類操作,得到至少 一個概念術語類;
所述的分類目錄顯示模塊將所述概念術語集合中的概念術語按照所 述概念術語類組織成分類目錄。
上述技術方案中,所述的相關度計算模塊中還包括概念術語篩選單 元,所述的概念術語篩選單元對由概念術語抽取才莫塊所得到的概念術語集 合中各個概念術語與所述查詢詞的相關度進行計算,將與所述查詢詞的相關度小于用戶指定閾值的概念術語從所述概念術語集合中刪除,然后再由 相關度計算模塊對所述概念術語集合中的各個概念術語計算相關度。
上述技術方案中,所述的概念術語分類模塊還包括標簽選擇單元,所 述的標簽選擇單元為所得到的概念術語類選擇類標簽。
本發(fā)明又提供了一種計算機搜索系統(tǒng),包括查詢詞輸入模塊、分類目
錄自動構建系統(tǒng)、以及再搜索模塊;其中,
所述的查詢詞輸入模塊用于由用戶輸入查詢詞;
所述的分類目錄自動構建系統(tǒng)用于為所述的查詢詞構建分類目錄;
所述的再搜索模塊將所述的分類目錄自動構建系統(tǒng)所創(chuàng)建的分類目 錄中的概念術語作為推薦的查詢詞發(fā)起下一次搜索,以得到更為精確的搜 索結果。
本發(fā)明的優(yōu)點在于
1、 本發(fā)明在現有的搜索引擎的基礎上,為用戶提供的查詢詞生成了 相應的分類目錄,所得到的分類目錄能夠反映用戶查詢的不同含義,從而 有助于用戶更容易、更快捷地找到所需的信息。
2、 本發(fā)明所生成的分類目錄只需要顯示與用戶查詢相關的目錄,相 對于門戶網站或其他人工編輯的全局目錄結構,用戶不需要從全局根目錄 層層瀏覽查找,這將大大降低用戶的負擔。
3、 本發(fā)明可以應用在搜索引擎相關搜索推薦領域,當用戶查詢失敗 時,本發(fā)明提供含義分類明確的相關搜索查詢,利用這些相關搜索查詢用 戶可以逐步明確其搜索意圖并找到答案。
4、 本發(fā)明可以在大規(guī)模數據集上自動構建層次化的目錄,相對于人 工分類編輯目錄,大大提高了效率和覆蓋率。
圖1為本發(fā)明的分類目錄自動構建方法在一個實施例中的實現流程
圖2為在一個實施例中,根據相關度值對"Java"所涉及的概念術語 所構建的概念關系圖3為在一個實施例中,為"Java"所生成的分類目錄以及搜索結果 的示意圖4為本發(fā)明的分類目錄自動構建系統(tǒng)的示意圖。
具體實施例方式
下面結合附圖和具體實施方式
對本發(fā)明加以i兌明。
在對本發(fā)明進行詳細說明前,對本發(fā)明中所涉及到的幾個概念進行解 釋,以更好地理解本發(fā)明。
搜索引擎本發(fā)明中所述的搜索引擎是一個泛指概念,它不是指具體 某個網站搜索服務或某個公司的搜索引擎產品,也不是專門搜索某類"對 象,'的搜索引擎,這里所說的"對象"包括但不限于網頁、圖像、音頻、 視頻。所述的搜索引擎是指任何以輸入關鍵字,提交后獲取搜索結果的方 式進行信息查找的計算機系統(tǒng)。
查詢本發(fā)明中所述的查詢是一個泛指概念,它是指能體現瀏覽或搜 索意圖的詞和/或短語集合。詞和/或短語的集合可由用戶直接提交,也可 以從其他其他系統(tǒng)或組件獲得。
概念術語本發(fā)明所述的概念術語由詞、短語或它們的組合表示,也 可賦予一段注釋說明。
分類目錄本發(fā)明所述的分類目錄是由與某一查詢Q相關的概念術語 組成的層次化結構,通過其中任一概念術語C用戶可以找到與C相關的"對 象"集合Ds。集合Ds中的"對象"有可能并不存在于搜索引擎對查詢Q 的返回結果中。
在對概念進行解釋說明后,下面對本發(fā)明的具體實現過程進行詳細說明。
當前,用戶采用搜索引擎所提供的搜索服務時,通常會根據自己的搜 索意圖輸入一個或一個以上的關鍵詞,通過搜索引擎所返回的與關4建詞相 關的搜索結果來查找自己所需要的信息。但在這一搜索過程中,可能會存 在以下問題
1、 用戶并不清楚如何用有限的幾個詞語來描述他的搜索意圖,特別 是當所涉及的搜索意圖較為生僻、不易描述時,由此所得到的搜索結果往 往不符合用戶的要求。
2、 用戶所輸入的關鍵詞由于語言中常見的多義性,使得所采用的關 鍵詞并不能準確地表達用戶的搜索意圖。例如,關鍵詞"筆記本,,既可能 是指便攜式電腦,也可能是指紙質的記事本。對于這類關鍵詞,需要用戶 對所返回的搜索結果做進 一步的篩選,或者需要用戶在現有關鍵詞的基礎 上添加和/或替換一些關鍵詞做進一 步搜索。
上述問題的存在都不利于搜索結果的正確獲得,特別是那些非熱門的 搜索對象。在本發(fā)明中,為了有效地避免上述情況的發(fā)生,本發(fā)明的4叟索 引擎在為用戶的查詢生成相應的搜索結果的同時,還提供了與用戶的查詢 詞相關的相關概念術語分類目錄,通過這一分類目錄做更為精確的二次查詢。
為了便于理解,我們用 一個具體的例子對本發(fā)明中所涉及的相關概念 術語分類目錄的生成過程進行說明。
假設有 一 個不了解計算機技術的用戶想查詢關于咖啡的信息,他輸入
了 "Java"作為查詢詞,由于當前互聯網上關于"Java編程"的信息占據 絕對優(yōu)勢地位。所以無論搜索引擎返回的文檔結果還是相關搜索信息都是 關于計算機技術的,用戶難以找到其所要的信息。但單獨對"Java"這個 詞進行考察的話,可以知道這個詞所包含的含義可以分為三類, 一是在計 算機技術方面的,如Java語言,二是與咖啡相關的,如爪哇咖啡,三是與 區(qū)域(region)相關的,如爪哇島。顯然,前面所提到的用戶想要查詢的 是與爪哇咖啡有關的內容。通過現有的搜索引擎無法做到,因此,需要生 成與Java有關的相關概念術語分類目錄。參考圖1,生成相關概念術語分 類目錄的具體過程如下。
首先,對當前的查詢詞進行分析,并從現有數據中找到與查詢詞有關 的概念術語。此處所涉及的現有數據可以是用于記錄以前用戶查詢的搜索 引擎日志、搜索引擎返回的與當前查詢相關的文檔、詞典、網上人工編輯 目錄信息、Wiki信息、用戶標注信息等。在這些現有數據中,識別出與查 詢詞有一定關聯(如在同一篇文檔中)的高頻詞和/或短語,這些高頻詞和
/或短語就可纟皮認作概念術語。前述例子中的查詢詞只有"Java" —個詞, 在現有數據中可以找到與之相關的內容,如"computer"、 "coffee"、 "region" 等,這些都可以作為"Java"的概念術語。除了上述的概念術語外,還可 以包括如"Java island" 、 "Java language" 、 "Java servlet" 、 "javascript" 、 " cafe au lait"、 " cappuccino coffee" 、 "south" 、 "code"等概念術語。以上是對 查詢詞進行分析從而得到概念術語的基本操作,在本發(fā)明的一個優(yōu)選實施
即最終所生成的分類目錄對于不同的用戶有不同的內容,如對于計算機編 程人員顯示關于"Java編程,,的內容,而對于咖啡店老才反顯示關于爪哇咖 啡的內容。要使得所述的分類目錄具有個性化功能,就需要在對查詢詞進
行分析,生成相關概念術語時,所用到的數據除了前面所提到的用于記錄 以前用戶查詢的搜索引擎日志、搜索引擎返回的與當前查詢相關的文檔、
詞典、網上人工編輯目錄信息、Wiki信息、用戶標注信息外,還包括用戶 個人信息,如用戶查詢歷史信息、用戶查詢傾向和/或用戶注冊帳號信息等。
相關的分類目錄。
在得到關于查詢詞的諸多概念術語后,就要對這些概念術語進行分 類。對概念術語的分類操作是在計算概念術語間相關度的基礎上實現的。 在前面所提到的"Java"例子中,才既念術語"computer"與"Java language"、 "Java servlet"、 "javascript"等的相關性較大,而沖既念術語"coffee"則與 "cafe au lait"、 " cappuccino coffee"等的相關性4交大。對這種才既念術語 間相關性大小的衡量就用所述的相關度表示。由于在前面的操作中,與某 一特定查詢詞的相關概念術語的數量可能較多,因此,在計算概念術語間 相關度之前,還可以先對概念術語進行篩選,即計算各個概念術語與當前 查詢的查詢詞之間的相關度,從中選取相關度高的概念術語。概念術語篩 選后,就可以對篩選得到的概念術語間的相關度進行計算。計算概念術語 與查詢詞的相關度,以及計算概念術語間的相關度的實現方法相類似,可 以采用現有技術中的各種實現方法,包括但不限于計算兩個術語在同一 文本內容中的共同出現次數、數據挖掘中相關方法(如關聯規(guī)則)、計算 兩個術語間的互信息、計算兩個術語在詞典或人工目錄中的距離、傳統(tǒng)信 息檢索中計算文本間距離的計算方法。下面給出利用同一文本中共同出現
次數的方法來計算查詢詞與扭克念術語間以及概念術語間相關度的公式,以 方便理解。其中
查詢詞與概念術語間的相關度計算公式如下 c) = CF x log(iV /司
其中的Q表示當前查詢,c表示一個概念術語,CF是查詢Q返回結 果中概念c出現的總次數,DF是出現概念c的文檔個^:, N是查詢Q總 的返回結果數。
概念術語間的計算公式如下 D(c,)oD(。)
其中,D(c)表示含有概念c的文檔集合:
從上述的計算公式中可以看出,如果兩個概念術語經常在同一篇文檔 中出現,那么它們之間的相關度就高。
前述公式給出了相關度值計算的一種方法,但在實際應用中,為了使 得相關度值更為精確,最好采用現有技術中的多種相關度值計算方法中的 若干種對相關概念術語間的相關度值進行計算,從而得到多種計算結果, 然后對不同的計算結果做歸一化加權計算,得到一個新的相關度值,這一 相關度值也就是概念術語間的最終相關度值。
在得到概念術語間的相關度值(或最終相關度值)后,就可以根據相 關度值對各個概念術語做分類。對概念術語做分類的方法可以有多種,單 純從分類目的上講,所有基于對象間相似度或距離值進行計算的分類或聚 類算法都是可行的。但是考慮到在分類前類別數目和類別標簽都是未知
的,傳統(tǒng)的分類方法(classification)難以解決此分類問題。這里可以采用 不需要事先指定類別個數的聚類(cluster analysis )算法、圖分割算法。這 里所述的聚類算法包括但不限于如single-linkage, ROCK、 Chameleon 之類的層次4匕(Hierarchical)方法,如conceptual clustering之類的基于才莫 型的方法。這里所述的圖分割算法包括各種基于圖結構的分類
(graph-based classification)算法、一土會關系網纟各分才斤(social networks analysis )中的社區(qū)(community )發(fā)現算法,如Kernighan-Li圖劃分方法、 求解拉普拉斯矩陣特征向量的譜方法、基于edge-betweenness的劃分方法、 K完全子圖(k-clique )方法、互聯網鏈接分析中的中的HITS 、 MCL方法, 基于最大流最小割的web社區(qū)發(fā)現算法和Kumar等人提出的密度二部圖 劃分方法,基于Modularity的社區(qū)發(fā)現算法,基于5 - Closure的社區(qū)發(fā)現 算法等多種現有技術中已經存在的方法。
相對于傳統(tǒng)的文本分類、聚類方法,基于圖分割的方法更能給出體現 一個查詢不同意圖的分類結果。物以類聚,人以群分。當一個查詢能體現 多種不同含義時,屬于同一個含義的概念術語相互間往往聯系緊密,而不 同含義的概念術語則聯系松散。正是基于這種思想,采用圖中的社區(qū)
(community)發(fā)現算法會耳又得更好的效果。在本實施例中,以圖分割算 法中的基于Modularity的社區(qū)發(fā)現算法為例,對如何實現概念術語的分類 進行說明。
在圖分割算法中,首先需要構建概念關系圖G,在概念關系圖G中, 節(jié)點]^表示概念術語c,,如果兩個概念術語(c,,。)間的相關度高于用戶指定
的閾值,則將用于表示這兩個概念術語的節(jié)點間用一條有權邊^(qū)相連,邊 的權重就是兩個概念術語間的相關度數值。圖2就是根據相關度值對前述
的"Java"例子中所涉及的概念術語所構建的概念關系圖,從該圖中可以 看出,這一概念關系圖大致分為三個區(qū)域,其中一個區(qū)域與地理相關,其 中一個區(qū)域與計算^/L相關,而另一個區(qū)域與咖啡相關,與"Java"在現實 中所包含的多種含義基本一致。
在得到概念術語的概念關系圖后,就可以對概念關系圖進行劃分。以 圖2中所示的概念關系圖G為例,對如何采用基于Modularity的社區(qū)發(fā)現 算法對該圖進行劃分做示例性說明。
假設圖G中包括n個頂點(^^,…義),分別表示n個相關概念術語 (CpC2,c3,…,c"),連接頂點(K,K)的邊4又重e,y = Ww(c,,c,)。首先只于所有邊的4又重 進行歸一化
A可以看作是頂點&^之間有相互關系的概率f f;/ey. = 1 然后對概念關系圖按照以下步驟做具體的劃分
第一步,將概念關系圖中的每個頂點形成一個子圖,從而建立子圖 G,。,《,…《.此時N=n。每一個子圖代表一個類。
第二步,計算各類間的邊的權重之和^ = 22/^。
第三步,計算當前這種子圖劃分方式的Modularity值,Modularity值 的計算方法如下
;=1 y=i /=1
M值可以看作是每個子圖內頂點間有相互聯系的概率是否遠大于他 們與其他子圖間頂點相關聯的概率。M值越大說明劃分效果越好,反之則 越差。
第四步,如果現在還有多個子圖尋找兩個子圖G:,《進行 合并,使得合并后新分類下M值增加的數值最大。這樣形成了新的子圖劃 分結果G",GCGf1,.…。
第五步,轉到第二步,重復計算及合并,直到所有子圖都合并成一個 圖為止。尋找整個合并過程中M值最大時的分類結果,這個結果就是最終 的分類結果。根據子圖中頂點與相關概念術語的對應關系就可以做出對相 關概念術語的分類結果。
圖2所示的概念關系圖經過上述步驟后,可以得到三個子圖,即與地 理相關的子圖、與計算機相關的子圖以及與咖啡相關的子圖。這些子圖所 包括的范圍較大,根據分類目錄的需要,還可以對子圖做進一步的劃分以 得到范圍更小的子圖。例如,可以設定一個閾值,然后采用前述的方法對 現有的某 一子圖做子圖劃分,直到劃分所得到的子圖個數超過所設定的閾 值后才停止相關操作。以圖2為例,與計算機相關的子圖還可以進一步分
為"Java language" 、 "Java servlet"等范圍更小的子圖。
完成對概念關系圖中的子圖的劃分后,就可以從各個子圖中抽取對應 的相關概念術語從而構成相關概念術語類,并為所得到的相關概念術語類 尋找用于標識類的類標簽。在尋找類標簽時,可能有多種實現方式。如在 一個實例中,可以從類中選擇一個最具代表性的概念術語作為類別標簽。 具體地,可以選取與類中心相似度值最大的概念術語作為類別標簽。在另 一個實例中,也可以用一個能概括相關概念術語的類中所有概念術語的標 簽作為類別標簽,所述標簽可以從現有數據中獲取,如一個人工編輯的目 錄。例如,先找出類中每個相關概念術語在人工編輯目錄(像ODP)中對 應的節(jié)點,然后找出這些節(jié)點共有的最深祖先節(jié)點,這個祖先節(jié)點的內容 就可以作為該類的標簽。此處還可以采用如下方式事先定義一組類別標 簽,依據類別標簽對各概念術語類進行分類,概念術語類的類標簽就是其 所屬類別的類別標簽。在本實施例中,可以釆用如下方式
假設要為子圖g所代表的類尋找類標簽,首先選擇與子圖g內其他概 念術語連邊數Wl最大的概念術語;如果有多個概念術語的Wl值相同且 均超過其他概念術語的Wl值,那么從中選擇與所有子圖中概念術語間連 邊權重之和最大的概念術語;如果這時選出的概念術語仍不止一個,那么 選擇其中CF最大的;按照上述方法最終選出的概念術語作為子圖g中概 念術語類的標簽。
通過上述方法,可以為前述的"Java"例子中的各個類設定用于標識 類的類標簽。例如,對于與地理相關的類可以用"location"作為標簽,對 于與計算;^幾相關的類可以用"computers"作為標簽,而對于與咖啡相關的
類則可以用"coffee"作為標簽。在上述類的子類中,也可以設定相應的 標簽,例如,"computers"類的子類中還包括有 "Java language" 、 "Java servlet"、 "javaapi"、 "Java enterprise platform" 等類標簽。
一個相關概念術語類在設定類標簽后,將這個類標簽作為根目錄,將 類中的其他概念術語作為根目錄下的子目錄。所有的相關概念術語類通過 上述方式組合后,就可以得到本發(fā)明所涉及的相關概念術語的分類目錄。
以上所得到的具有類標簽的相關概念術語的分類目錄是一種較佳的 實現方式,在具體實現時,也可以將所得到的與某一查詢詞有關的相關概 念術語直接按照所在的類進行顯示,而無需為類設定類標簽。
在本發(fā)明中,為了更好地服務于用戶,對于所得到的分類目錄還可以 根據用戶設定和/或分類目錄的具體應用場景對目錄所顯示的概念術語做 一定的調整。例如,如果概念術語將作為"相關搜索"的超鏈接,那么概 念術語將根據當前查詢和查詢日志中的信息調整概念術語的組合方式,使 其達到更好的查詢效果;如果用戶設定每個類別的相關概念術語顯示數目 不大于5,那么需要對類內的相關術語再次排序,刪除掉排名靠后的概念 術語。
在得到概念術語的分類目錄后,可以將分類目錄與搜索結果一起返回 給用戶,以方便用戶作進一步查詢。這一返回用戶的過程實際上就是對相 關概念術語的分類目錄的顯示。在顯示過程中,需要用到用戶所設定的模 式信息,如圖標、顏色、字體大小、對概念術語的注釋說明等。例如,可 以通過字體的大小來體現一個概念術語相關的文檔數量,字體大的概念術 語擁有更多的相關文檔;也可以用不同顏色來表示概念術語的熱門程度。 在圖3中給出了前述"Java"例子的分類目錄以及對應的搜索結果的顯示 結果。在該圖中包括有查詢框602,其中用戶已輸入查詢"java"。 返回 結果的頁面中包括兩部分查詢相關網頁604和相關概念術語分類目錄612
(黑色方框內內容)。從相關概念術語分類目錄612中可以看出,"Java" 的相關沖既念術語分屬于三個大類"computer"、 "coffee"、 "location",每一 類通過類標簽608標識。每一類可以展開顯示該類中的相關概念術語606, 例如 "location" 類展開后顯示 "location" 、 "Java island" 、 "Indonesia" 三 個相關概念術語。有的類內概念術語還可以再次組織成分類目錄,每個概 念術語前的圖標610指示了該概念術語是否還包含更多概念術語。例如
"Java language"可以展開,里面包含"javascript" 、 "open source Java"等
概念術語。在圖3中只是給出了 "Java"例子的分類目錄的一部分,在實 際應用中可能并不限于上述內容。
在得到相關概念術語的分類目錄后,就可以利用該分類目錄進行計算 機搜索。在一種計算機搜索方法中,在得到由用戶的查詢詞所生成的分類 目錄后,可根據分類目錄由用戶做進一步的搜索。例如,可將分類目錄中 所包含的概念術語作為搜索引擎所推薦的"相關搜索",它包括多種情況。 在一個實例中,將分類目錄中的概念術語作為查詢詞,當用戶點擊分類目 錄中的某一概念術語時,搜索引擎返回以該概念術語作為查詢詞的搜索結 果。在另 一個實例中,將分類目錄中的概念術語作為當前查詢的補充信息, 在下一次查詢中,將概念術語補充到當前查詢的查詢詞中,以構造更加精 確的查詢。在又一個實例中,若所給出的概念術語的分類目錄來自事先人 工編輯好的目錄信息,當用戶點擊某一相關概念術語后,將轉到事先人工 編輯的關于此概念術語的網頁目錄,此時,沖既念術語相當于事先人工編輯 好的標簽或目錄。此外,還可以采用在用戶搜索查詢與先前查詢之間的距 離度量來確定向用戶顯示哪些相關概念術語,進而根據用戶個性化展示其 感興趣的分類目錄信息。具體的,系統(tǒng)記錄每個用戶的查詢歷史信息,對 相關概念術語分類后,計算各類相關概念術語與當前用戶歷史查詢的相關 度,去除相關度低于某一閾值的概念術語類,將相關度高的概念術語類組 織成分類目錄展示。
以上是對本發(fā)明如何生成相關概念術語分類目錄的方法所作的詳細 說明,在上述方法的基礎上,本發(fā)明還提供了能夠實現上述方法的系統(tǒng)。 如圖4所示,該系統(tǒng)主要包括概念術語抽取模塊、相關度計算模塊、概念 術語分類模塊、分類目錄顯示模塊以及用于包括現有數據的數據庫;
其中,所述的概念術語抽取模塊從所述數據庫所存儲的現有數據中找 到與用戶提交的查詢詞有關的概念術語,得到與所述查詢詞相關的概念術 語集合;所述的相關度計算模塊計算所述概念術語集合中各個概念術語間 的相關度;所述的概念術語分類模塊根據所述概念術語間的相關度,對所 述概念術語集合中的概念術語做分類或聚類操作,得到至少一個概念術語 類;所述的分類目錄顯示模塊將所述概念術語集合中的概念術語按照所述 概念術語類組織成分類目錄后返回給用戶。
在前述的系統(tǒng)中,所述的相關度計算模塊中還包括概念術語篩選單 元,所述的概念術語篩選單元對由概念術語抽取才莫塊所得到的概念術語集 合中各個概念術語與所述查詢詞的相關度進行計算,將與所述查詢詞的相 關度小于用戶指定閾值的概念術語從所述概念術語集合中刪除,然后再由 相關度計算模塊對所述概念術語集合中的各個概念術語計算相關度。
所述的概念術語分類模塊還包括標簽選擇單元,所述的標簽選擇單元 為所得到的概念術語類選擇類標簽。
最后所應說明的是,以上實施例僅用以說明本發(fā)明的技術方案而非限制。 盡管參照實施例對本發(fā)明進行了詳細說明,本領域的普通技術人員應當理 解,對本發(fā)明的技術方案進行修改或者等同替換,都不脫離本發(fā)明技術方案 的精神和范圍,其均應涵蓋在本發(fā)明的權利要求范圍當中。
權利要求
1、一種分類目錄自動構建方法,包括步驟1)、查找與用戶提交的查詢詞有關的概念術語,得到與所述查詢詞相關的概念術語集合;步驟2)、計算所述概念術語集合中各個概念術語間的相關度;步驟3)、根據所述概念術語間的相關度,對所述概念術語集合中的概念術語做分類或聚類操作,得到至少一個概念術語類;步驟4)、將所述概念術語集合中的概念術語按照所述概念術語類組織成分類目錄。
2、 根據權利要求1所述的分類目錄自動構建方法,其特征在于,所 述的步驟3)還包括對所得到的概念術語類中的概念術語做進一步的分類 或聚類操作,得到范圍更小的新的概念術語類。
3、 根據權利要求l或2所述的分類目錄自動構建方法,其特征在于, 在所述的步驟3)中,釆用圖分割算法實現對概念術語的分類操作,采用 聚類算法實現對概念術語的聚類操作。
4、 根據權利要求3所述的分類目錄自動構建方法,其特征在于,所 述的圖分割算法包括步驟3-l)、根據所述概念術語間的相關度,為所述的概念術語構建概 念關系圖;步驟3-2 )、對所述概念關系圖中代表概念術語的各個頂點進行劃分, 按照所述頂點間相互聯系的密切程度將所述概念關系圖分為多個子圖,每 個子圖代表一個概念術語類。
5、 根據權利要求4所述的分類目錄自動構建方法,其特征在于,在 所述的步驟3-l)中,在構建所述的概念關系圖時,包括步驟3-1-1)、用一個節(jié)點表示一個概念術語;步驟3-l-2)、當兩個概念術語間的相關度高于用戶指定的閾值時,為 表示這兩個概念術語的兩個節(jié)點間添加一條有權邊,用所述概念術語間的 相關度數值表示所述有權邊的權重;步驟3-1-3 )、對概念術語集合中的所有概念術語完成上述的兩兩相關 度判斷后即可得到所述的概念關系圖。
6、 根據權利要求4所述的分類目錄自動構建方法,其特征在于,在所述的步驟3-2)中,對所述子圖劃分的方法包括Kernighan-Li圖劃分方 法、求解拉普拉斯矩陣特征向量的譜方法、基于edge-betweenness的劃分 方法、K完全子圖方法、互聯網鏈接分析中的HITS、 MCL方法,基于最 大流最小割的web社區(qū)發(fā)現算法和密度二部圖劃分方法,基于Modularity 的社區(qū)發(fā)現算法,基于5 -Closure的社區(qū)發(fā)現算法。
7、 根據權利要求3所述的分類目錄自動構建方法,其特征在于,所 述的聚類算法包括single-linkage方法、ROCK方法、Chameleon方法、 或conceptual clustering方法。
8、 根據權利要求1所述的分類目錄自動構建方法,其特征在于,在 所述的步驟1)中,從現有數據中查找與用戶提交的查詢詞有關的概念術 語,所述的現有數據包括用于記錄以前用戶查詢的搜索引擎日志、搜索引 擎返回的與當前查詢相關的文檔、詞典、網上人工編輯目錄信息、Wiki 信息、用戶標注信息在內的信息。
9、 根據權利要求8所述的分類目錄自動構建方法,其特征在于,在 所述的步驟1)中,所述的現有數據還包括用戶查詢歷史信息、用戶查詢 傾向信息和/或用戶注冊帳號信息在內的用戶個人信息。
10、 根據權利要求1所述的分類目錄自動構建方法,其特征在于,所 述的步驟2)還包括在計算所述概念術語集合中各個概念術語間的相關 度前,對所述概念術語集合中各個概念術語與所述查詢詞的相關度進行計 算,將與所述查詢詞的相關度小于用戶指定閾值的概念術語從所述概念術 語集合中刪除。
11、 根據權利要求1或10所述的分類目錄自動構建方法,其特征在 于,在所述的步驟2)中,采用一種相關度計算方法對所述概念術語間或 概念術語與查詢詞間的相關度進行計算,所述的相關度計算方法包括計 算兩個術語在同一文本內容中的共同出現次數的方法、數據挖掘方法、計 算兩個術語間的互信息的方法、計算兩個術語在詞典或人工目錄中的距離 的方法、傳統(tǒng)信息檢索中計算文本間距離的計算方法。
12、 根據權利要求11所述的分類目錄自動構建方法,其特征在于, 在所述的步驟2)中,還包括采用至少兩種計算相關度的方法對概念術語 間的相關度進行計算,將所得到的多種計算結果做歸一化加權操作,得到 最終的相關度值。
13、 根據權利要求1或2所述的分類目錄自動構建方法,其特征在于, 所述的步驟3 )還包括采用類標簽對所得到的概念術語類進行標識。
14、 根據權利要求13所述的分類目錄自動構建方法,其特征在于,所述的類標簽采用所代表的概念術語類中最具代表性的概念術語,或能夠 對所代表的概念術語類中所有概念術語進行概括的標簽。
15、 根據權利要求14所述的分類目錄自動構建方法,其特征在于, 所述的概念術語類中最具代表性的概念術語為所述概念術語類中與類中 心相似度值最大的概念術語。
16、 根據權利要求14所述的分類目錄自動構建方法,其特征在于, 所述的能夠對所代表的概念術語類中所有概念術語進行概括的標簽的產 生包括步驟a)、事先定義一組類別標簽,依據類別標簽對各概念術語類進行 分類,概念術語類的類標簽就是其所屬類別的類別標簽;步驟b )、找出類中每個相關概念術語在樹形人工編輯目錄中對應的節(jié) 點,以這些節(jié)點共有的最深祖先節(jié)點作為該類的類標簽。
17、 根據權利要求1所述的分類目錄自動構建方法,其特征在于,在 所述的步驟4)中,還包括將所述的分類目錄返回給用戶,在返回給用戶 時,結合用戶設定的模式信息顯示所述的分類目錄,所述的模式信息包括 圖標、顏色、字體大小、對概念術語的注釋說明。
18、 一種計算才幾4叟索方法,包括 步驟1 )、用戶輸入查詢詞;步驟2)、采用權利要求1-17之一的分類目錄自動構建方法為所述的 查詢詞構建分類目錄;步驟3)、用戶將步驟2)所得到的分類目錄中的概念術語作為推薦的 查詢詞發(fā)起下一次搜索,以得到更為精確的搜索結果。
19、 一種分類目錄自動構建系統(tǒng),包括概念術語抽取模塊、相關度 計算模塊、概念術語分類模塊、分類目錄顯示模塊以及用于包括現有數據 的數據庫;其中,所述的概念術語抽取模塊從所述數據庫所存儲的現有數據中找到與 用戶提交的查詢詞有關的概念術語,得到與所述查詢詞相關的概念術語集 合;所述的相關度計算模塊計算所述概念術語集合中各個概念術語間的 相關度; 所述的概念術語分類模塊根據所述概念術語間的相關度,對所述概念術語集合中的概念術語做分類或聚類操作,得到至少 一個概念術語類;所述的分類目錄顯示模塊將所述概念術語集合中的概念術語按照所 述概念術語類組織成分類目錄。
20、 根據權利要求19所述的分類目錄自動構建系統(tǒng),其特征在于, 所述的相關度計算模塊中還包括概念術語篩選單元,所述的概念術語篩選 單元對由概念術語抽取模塊所得到的概念術語集合中各個概念術語與所 述查詢詞的相關度進行計算,將與所述查詢詞的相關度小于用戶指定闊值 的概念術語從所述概念術語集合中刪除,然后再由相關度計算模塊對所述 概念術語集合中的各個概念術語計算相關度。
21、 根據權利要求19所述的分類目錄自動構建系統(tǒng),其特征在于, 所述的概念術語分類模塊還包括標簽選擇單元,所述的標簽選擇單元為所 得到的概念術語類選擇類標簽。
22、 一種計算機搜索系統(tǒng),包括查詢詞輸入模塊、權利要求19-21之 一所述的分類目錄自動構建系統(tǒng)、以及再搜索模塊;其中,所述的查詢詞輸入模塊用于由用戶輸入查詢詞;所述的分類目錄自動構建系統(tǒng)用于為所述的查詢詞構建分類目錄;所述的再搜索模塊將所述的分類目錄自動構建系統(tǒng)所創(chuàng)建的分類目錄中的概念術語作為推薦的查詢詞發(fā)起下一次搜索,以得到更為精確的搜索結果。
全文摘要
本發(fā)明提供一種分類目錄自動構建方法,包括從現有數據中查找與用戶提交的查詢詞有關的概念術語,得到與所述查詢詞相關的概念術語集合;計算所述概念術語集合中各個概念術語間的相關度;根據所述概念術語間的相關度,對所述概念術語集合中的概念術語做分類或聚類操作,得到至少一個概念術語類;將所述概念術語集合中的概念術語按照所述概念術語類組織成分類目錄后,返回給用戶。本發(fā)明在現有的搜索引擎的基礎上,為用戶提供的查詢詞生成了相應的分類目錄,所得到的分類目錄能夠反映用戶查詢的不同含義,從而有助于用戶更容易、更快捷地找到所需的信息。
文檔編號G06F17/30GK101364239SQ20081022379
公開日2009年2月11日 申請日期2008年10月13日 優(yōu)先權日2008年10月13日
發(fā)明者鵬 李, 李亞楠, 李錦濤, 斌 王 申請人:中國科學院計算技術研究所