一種對部落格文章進行排序的方法及系統

一種對部落格文章進行排序的方法及系統

《一種對部落格文章進行排序的方法及系統》是騰訊科技(深圳)有限公司於2007年9月25日申請的發明專利,該專利申請號為200710123625,公布號為CN101127046A,專利公布日為2008年2月20日,發明人是邵榮防、謝海勸、董亮。

《一種對部落格文章進行排序的方法及系統》包括建立索引,及根據用戶的輸入進行查詢排序,其特徵在於,所述建立索引的步驟包括:A.從部落格系統提取相關性因子;B.根據所述相關性因子計算檢索詞與各部落格文章的相關性權值,同時對文本作弊的部落格文章進行識別和降權處理;C.根據降權後的相關性權值構建檢索詞與各部落格文章之間的索引。該發明在相關性權值的計算中對文本作弊的部落格文章進行識別和處理,從而建立準確的索引並基於此索引對搜尋到的部落格文章進行排序,因此提高了排序的客觀準確性,保證了用戶的檢索質量。

2010年11月15日,《一種對部落格文章進行排序的方法及系統》獲得第十二屆中國專利獎優秀獎。

(概述圖為《一種對部落格文章進行排序的方法及系統》的摘要附圖)

基本介紹

  • 中文名:一種對部落格文章進行排序的方法及系統
  • 公布號:CN101127046A
  • 公布日:2008年2月20日
  • 申請號:200710123625
  • 申請日:2007年9月25日
  • 申請人:騰訊科技(深圳)有限公司
  • 地址:廣東省深圳市高新科技園南區高新南一道飛亞達高科技大廈5-10層
  • 發明人:邵榮防、謝海勸、董亮
  • 代理機構:深圳市順天達專利商標代理有限公司
  • 代理人:郭偉剛、蔡曉紅
  • Int.Cl.:G06F17/30(2006.01)I
  • 類別:發明專利
專利背景,發明內容,專利目的,技術方案,改善效果,附圖說明,權利要求,實施方式,榮譽表彰,

專利背景

隨著網際網路的發展,網路日誌(Weblog,簡作Blog,中文即“部落格”)已成為一種常見的網路服務。2007年9月之前已有大量網際網路公司推出各自的部落格搜尋引擎,這些部落格搜尋引擎對檢索到的部落格文章所採取的排序方法不盡相同,但都是通過對用戶輸入的檢索串進行計算處理,找到最相關的一組結果,返回給用戶,從而使用戶可以找到與自己期望最相關的部落格文章。2007年9月之前普遍存在的兩種排序方式是,按相關度排序和按時間排序,而比較典型的是按照相關度進行排序。
按照相關度進行排序的具體歸諒頸腿過程是:首先計算檢索串與各部落格之間的相關性權值,包括數值相關性權值和文本相關性權值,一般是將檢索串分解成多個檢索詞,使得檢索串與部落格的相舟束槓關性分解為檢索詞與部落格的相關性,從而根據相關性權值建立檢索串與部落格文章之間的索引;當用戶進行檢索時,則根據用戶輸入的檢索串到建立的索引中進行搜尋,並按照相關性權值的大小對各部落格文章進行排序,最後將排序後的結果傳送給用戶顯示。
上述排序方法雖然能在一定程度上準確地為用戶提供部落格文章的排序結果,但是存在的一個弊端是,往往會使得一些低質量文章的排序比較靠前。該發明將辭彙豐富、言之有物的部落格文章定義為高質量文章,而將辭彙貧乏、大量語句重複的文章定義為低質量文章。一些低質量文章,其通篇或者局部只有幾個詞翻來覆去地出現,但在上述的排序方法中,這些文章卻能通過詞語的重複和堆砌而獲得較靠前的排序,這是一種典型的文本作弊現象。對於2007年9月之前的大多數按照相關度進行排序的部落格搜尋引擎,其對部落格文章的排序結果均無法排除上述文本作弊現象造成的影響。
因此需要一種新的對部落格文章進行排序的方法,避免文本作弊對排序結果的客觀準確性造成的影響,從而提高用戶的檢索質量。

發明內容

專利目的

該發明的目的在於提供一種對部落格文章進行排序的系統,旨在解決2007年9月之前技術對部落格文章進行排序時無法排除文本作弊的影響,使得用戶的檢索質量較低的問題。
該發明的目的還在於提供一種對部落格文章進行排序的方法,以更好地解決2007年9月之前技術中存在的上述問題。

技術方案

《一種對部落格文章進行排序的方法及系統》包括客戶端、部落格系統、根據檢索詞與部落格文章之間的相關性權值建立索引的索引器、根據用戶輸入的檢索詞到索引器中查詢對應的博歡蘭乘駝客凳汗碑文章並進行排序的檢索器,所述索引器包含一個文本作弊識別單元,用於在索引器計算檢索詞與部落格文章之間的相關性權值時,對文本作弊的部落格文章進行識別和降權處理。
優選地,所述索引器還包括與文本作弊識別單元相連的文本相關性判定單元,及索引構建單元;所述文本相關性判定單元用於根據從部落格系統提取的文本相關性因子,計算檢索詞與各部落格文章的文本相關性權值,並將降權處理後的文本相關性權值送入索引構建單元;所述索引構建單元用於根據所述文本相關性權值構建索引。
優選地,所述索引器還包括數值相關性判定單元、疊加計算單元;所述數值相關性判定單元用於根據從部落格系統提取的數值相關性因子,計算檢索詞與各部落格文章的數值相關性權值;所述疊加計算單元用於對所述數值相關性權值和文本相關性權值進行疊加計算,得到該檢索詞的綜合相關性權值,並送入索引構建單元;所述索引構建單元根據所述綜合相關性權值構建索引。
優選地,所述檢索器進一步包括查詢單元和排序單元;所述查詢單元用於根據用戶輸入的檢索詞,從索引器台灶已建立的索引中查詢該檢索詞與各部落格文章之間的綜合相關性權值,並送入排序單元;所述排序單元根據所述綜合相關性權值的大小,對與檢索詞相關的各部落格文章進行排序。優選地,所述系統還包括與客戶端及部落格系統分別相連的代理器,其用於將客戶端傳送的檢索串切分為多個檢索詞,並將所述檢索詞傳送給檢索器。
優選地,所述檢索器還包括複合相關性計算單元,與查詢單元及排序單元分別相連;
所熱煮腿述複合相關性計算單元用於根據查詢單元獲取的各檢索詞與各部落格文章之間的綜合相關性權值,計算所述檢索串與各部落格文章之間的複合相關性權值,並送入排序單元;所述排序單元根據所述複合相關性局臘永權值,對與檢索串相關的各部落格文章進行排序。
為了更好地實現發明目的,所述對部落格文章進行排序的方法,包括建立索引,及根據用戶的輸入進行查詢排序,所述建立索引的的步驟包括:
A.從部落格系統提取相關性因子;
B.根據所述相關性因子計算檢索詞與各部落格文章的相關性權值,同時對文本作弊的部落格文章進行識別和降權處理;
C.根據降權後的相關性權值構建檢索詞與各部落格文章之間的索引。
優選地,所述步驟A中的相關性因子是指文本相關性因子,所述相關性權值則是指文本相關性權值。
優選地,所述步驟A中的相關性因子包括數值相關性因子和文本相關性因子,所述相關性權值是指數值相關性權值與文本相關性杈值疊加後的綜合相關性權值。
優選地,所述步驟B中對文本作弊的部落格文章進行識別和降權處理的步驟進一步包括:
B1.利用一個最大容量固定、長度可變的滑動視窗遍歷部落格文章,並記錄滑動視窗所達到的最大長度,其中所述容量是指滑動視窗容納的不同辭彙的數量,長度是指滑動視窗內辭彙的總量;
B2.遍歷結束時,將所述滑動視窗達到過的最大長度與一個閾值進行比較,若超過閾值則將該部落格文章判定為文本作弊;
B3.對所述部落格文章的相關性權值進行降權處理。
優選地,所述根據用戶的輸入進行查詢排序的步驟包括:
D.接收用戶輸入的檢索詞;
E.根據所述檢索詞,從已建立的索引中查詢該檢索詞與各部落格文章之間的相關性權值;
F.根據所述相關性權值的大小對與檢索詞相關的各部落格文章進行排序,並將排序結果反饋給用戶。
優選地,所述根據用戶的輸入進行查詢排序的步驟包括:
D’.接收用戶輸入的檢索串,並將所述檢索串切分為多個檢索詞;
E’.從已建立的索引中查詢各個檢索詞與各部落格文章之間的相關性權值,並計算檢索串與部落格文章之間的複合相關性權值;
F’.根據所述複合相關性權值的大小對與檢索串相關的各部落格文章進行排序,並將排序結果反饋給用戶。

改善效果

《一種對部落格文章進行排序的方法及系統》在相關性權值的計算中對文本作弊的部落格文章進行識別和處理,從而建立準確的索引並基於此索引對搜尋到的部落格文章進行排序,因此提高了排序的客觀準確性,保證了用戶的檢索質量。

附圖說明

圖1是《一種對部落格文章進行排序的方法及系統》的系統結構圖;
圖2是該發明的一個實施例中索引器的結構圖;
圖3是該發明的一個實施例中檢索器的結構圖;
圖4是該發明在對部落格文章進行排序的過程中建立索引的方法流程圖;
圖5是該發明的一個實施例在對部落格文章進行排序的過程中建立索引的方法流程圖;
圖6是該發明在建立索引的過程中對文本作弊現象進行識別和處理的方法流程圖;
圖7是該發明的一個實施例在圖4或圖5建立索引的過程中對文本作弊現象進行識別和處理的方法流程圖;
圖8是該發明的一個實施例基於圖4或圖5中建立的索引對部落格文章進行排序的方法流程圖;
圖9是該發明的另一實施例基於圖4或圖5中建立的索引對部落格文章進行排序的方法流程圖。

權利要求

1.《一種對部落格文章進行排序的方法及系統》包括客戶端、部落格系統、根據檢索詞與部落格文章之間的相關性權值建立索引的索引器、根據用戶輸入的檢索詞到索引器中查詢索引並對部落格文章進行排序的檢索器,其特徵在於,所述索引器包含一個文本作弊識別單元,用於在索引器計算檢索詞與部落格文章之間的相關性權值時,對文本作弊的部落格文章進行識別和降權處理。
2.根據權利要求1所述的對部落格文章進行排序的系統,其特徵在於,所述索引器還包括與文本作弊識別單元相連的文本相關性判定單元,及索引構建單元;所述文本相關性判定單元用於根據從部落格系統提取的文本相關性因子,計算檢索詞與各部落格文章的文本相關性權值,並將降權處理後的文本相關性權值送入索引構建單元;所述索引構建單元用於根據所述文本相關性權值構建索引。
3.根據權利要求2所述的對部落格文章進行排序的系統,其特徵在於,所述索引器還包括數值相關性判定單元、疊加計算單元;所述數值相關性判定單元用於根據從部落格系統提取的數值相關性因子,計算檢索詞與各部落格文章的數值相關性權值;所述疊加計算單元用於對所述數值相關性權值和文本相關性權值進行疊加計算,得到該檢索詞的綜合相關性權值,並送入索引構建單元;所述索引構建單元根據所述綜合相關性權值構建索引。
4.根據權利要求3所述的對部落格文章進行排序的系統,其特徵在於,所述檢索器進一步包括查詢單元和排序單元;所述查詢單元用於根據用戶輸入的檢索詞,從索引器已建立的索引中查詢該檢索詞與各部落格文章之間的綜合相關性權值,並送入排序單元;所述排序單元根據所述綜合相關性權值的大小,對與檢索詞相關的各部落格文章進行排序。
5.根據權利要求4所述的對部落格文章進行排序的系統,其特徵在於,所述系統還包括與客戶端及博容系統分別相連的代理器,其用於將客戶端傳送的檢索串切分為多個檢索詞,並將所述檢索詞傳送給檢索器。
6.根據權利要求5所述的對部落格文章進行排序的系統,其特徵在於,所述檢索器還包括複合相關性計算單元,與查詢單元及排序單元分別相連;所述複合相關性計算單元用於根據查詢單元獲取的各檢索詞與各部落格文章之間的綜合相關性權值,計算所述檢索串與各部落格文章之間的複合相關性權值,並送入排序單元;所述排序單元根據所述複合相關性權值,對與檢索串相關的各部落格文章進行排序。
7.一種對部落格文章進行排序的方法,包括建立索引,及根據用戶的輸入進行查詢排序,其特徵在於,所述建立索引的的步驟包括:
A.從部落格系統提取相關性因子;
B.根據所述相關性因子計算檢索詞與各部落格文章的相關性權值,同時對文本作弊的部落格文章進行識別和降權處理;
C.根據降權後的相關性權值構建檢索詞與各部落格文章之間的索引。
8.根據權利要求7所述的對部落格文章進行排序的方法,其特徵在於,所述步驟A中的相關性因子是指文本相關性因子,所述相關性權值則是指文本相關性權值。
9.根據權利要求7所述的對部落格文章進行排序的方法,其特徵在於,所述步驟A中的相關性因子包括數值相關性因子和文本相關性因子,所述相關性權值是指數值相關性權值與文本相關性權值疊加後的綜合相關性權值。
10.根據權利要求7所述的對部落格文章進行排序的方法,其特徵在於,所述步驟B中對文本作弊的部落格文章進行識別和降權處理的步驟進一步包括:
B1.利用一個最大容量固定、長度可變的滑動視窗遍歷部落格文章,並記錄滑動視窗所達到的最大長度,其中所述容量是指滑動視窗容納的不同辭彙的數量,長度是指滑動視窗內辭彙的總量;
B2.遍歷結束時,將所述滑動視窗達到的最大長度與一個閾值進行比較,若超過閾值則將該部落格文章判定為存在文本作弊;
B3.對所述部落格文章的相關性權值進行降權處理。
11.根據權利要求7至10中任一權利要求所述的對部落格文章進行排序的方法,其特徵在於,所述根據用戶的輸入進行查詢排序的步驟包括:
D.接收用戶輸入的檢索詞;
E.根據所述檢索詞,從已建立的索引中查詢該檢索詞與各部落格文章之間的相關性權值;
F.根據所述相關性權值的大小對與檢索詞相關的各部落格文章進行排序,並將排序結果反饋給用戶。
12.根據權利要求11所述的對部落格文章進行排序的方法,其特徵在於,所述根據用戶的輸入進行查詢排序的步驟包括:
D’.接收用戶輸入的檢索串,並將所述檢索串切分為多個檢索詞;
E’.從已建立的索引中查詢各個檢索詞與各部落格文章之間的相關性權值,並計算檢索串與部落格文章之間的複合相關性權值;
F’.根據所述複合相關性權值的大小對與檢索串相關的各部落格文章進行排序,並將排序結果反饋給用戶。

實施方式

《一種對部落格文章進行排序的方法及系統》包括部落格系統100、索引器200、檢索器300、代理器400和客戶端500。應當說明的是,該發明所有圖示中各設備之間的連線關係是為了清楚闡釋其信息互動及控制過程的需要,因此應當視為邏輯上的連線關係,而不應僅限於物理連線。其中:
(1)部落格系統100用於為用戶提供部落格相關服務,包括對部落格文章進行存儲和管理等,並在該發明中為索引器200提供相關性因子,包括文本相關性因子(例如,文本的分類、標題、正文、暱稱、空間名等),及數值相關性因子(例如,活躍度因子、轉載率因子、回復率因子、發表時間因子等)。該部落格系統100的核心可為一個網站伺服器,但是該發明並不限定其具體形式。
(2)索引器200用於根據部落格系統100中的數據建立索引,供檢索器300基於該索引對所搜尋的部落格文章進行排序。
在一個實施例中,如圖2所示,該索引器200進一步包括數值相關性判定單元201、文本相關性判定單元202、文本作弊識別單元203、疊加計算單元204和索引構建單元205,其中:數值相關性判定單元201用於根據從部落格系統100提取的數值相關性因子,計算檢索詞與各部落格文章的數值相關性權值;文本相關性判定單元202用於根據從部落格系統100提取的文本相關性因子,計算檢索詞與各部落格文章的文本相關性權值;文本作弊識別單元203用於在文本相關性判定單元202計算檢索詞與部落格文章之間的文本相關性權值時,對文本作弊的部落格文章進行識別和降權處理,並將降權處理後的文本相關性權值傳送給文本相關性判定單元202;疊加計算單元204用於對前述的數值相關性權值和文本相關性權值進行疊加計算,得到該檢索詞的綜合相關性權值,並送入索引構建單元205;索引構建單元205根據該綜合相關性權值構建索引。
在另一實施例中,該索引器200僅包括文本相關性判定單元202、文本作弊識別單元203和索引構建單元205,其中:文本相關性判定單元202用於根據從部落格系統100提取的文本相關性因子,計算檢索詞與各部落格文章的文本相關性權值;文本作弊識別單元203用於識別文本作弊的部落格文章,並對其文本相關性權值進行降權處理,再將處理後的文本相關性權值傳送給文本相關性判定單元202進行轉發;索引構建單元205則根據接收到的文本相關性權值構建檢索詞與各部落格文章之間的索引。由於該實施例雖然可以實現,但是由於構建索引的過程僅考慮文本相關性因子,索引的準確度不夠高,因此前一實施例中索引器200的結構在當前套用中更為廣泛和典型。
(3)檢索器300根據用戶輸入的檢索詞進行查詢並對部落格文章進行排序。
在一個實施例中,如圖3所示,該檢索器300進一步包括查詢單元301、複合相關性計算單元302、排序單元303。在該實施例中,用戶最初輸入的是包含多個檢索詞的檢索串,由代理器400切分為檢索詞後送入檢索器300,檢索器300收到檢索詞後則進行處理,其中:查詢單元301從索引器200已建立的索引中查詢各檢索詞與各部落格文章之間的相關性權值(文本相關性權值,或綜合相關性權值),並送入排序單元;複合相關性計算單元302則根據各檢索詞的相關性權值,計算檢索串與各部落格文章之間的複合相關性權值,並送入排序單元303;排序單元303根據複合相關性權值,對與檢索串相關的各部落格文章進行排序。
在另一實施例中,該檢索器300僅包括查詢單元301、排序單元303,該實施例適用於用戶輸入檢索詞而非檢索串的情形,因此該實施例中檢索器300可與客戶端500直接相連並進行通信。其中:查詢單元301根據用戶輸入的檢索詞,從索引器200已建立的索引中查詢該檢索詞與各部落格文章之間的相關性權值(文本相關性權值,或綜合相關性權值),並送入排序單元303;排序單元303根據所收到的相關性權值的大小,對與檢索詞相關的各部落格文章進行排序。應當說明的是,由於2007年9月之前用戶大多輸入的都是包含多個檢索詞的檢索串,因此前一實施例中檢索器300的結構在當前套用中更為廣泛和典型。
(4)代理器400用於接收客戶端500傳送的檢索串,並將檢索串切分為檢索詞,傳送給檢索器300,以及將檢索器300檢索並排序後的結果轉發給客戶端500。在該發明的一個實施例中,如圖3所示的檢索器300的結構,在此情形下代理器400是該發明系統所必需的。
(5)客戶端500中登錄有用戶,其接收用戶輸入的檢索詞或者檢索串:若用戶輸入的是檢索詞,可直接將其傳送給檢索器300,並在接收到檢索器300反饋的部落格文章排序結果後,將排序結果繪製並顯示到用戶界面上;若用戶輸入的是檢索串,則鬚髮送給代理器400進行切分,並在接收到代理器400反饋的部落格文章排序結果後,將排序結果繪製並顯示到用戶界面上。客戶端500典型的可為各種能夠登錄網際網路的終端設備,例如個人計算機(PersonalComputer,PC)、個人數字助理(PersonalDigitalAssistant,PDA)、行動電話(MobilePhone,MP)等,因此該發明的保護範圍不應限定為某種特定類型的客戶端。
圖4示出了該發明在對部落格文章進行排序的過程中建立索引的方法流程,包括以下步驟:
在步驟S401中,索引器200從部落格系統100中提取相關性因子,並對這些數據進行格式化。該發明中所稱的相關性因子,包括文本相關性因子(例如,文本的分類、標題、正文、暱稱、空間名等),及數值相關性因子(例如,活躍度因子、轉載率因子、回復率因子、發表時間因子等)。大部分的相關性因子的取值都映射到一個固定區間,例如【0,100】,小部分則為數據的原始值,這些相關性因子在索引器200構建索引時,將作為相關性權值計算時的輸入參數。
在步驟S402中,索引器200計算檢索詞與各部落格文章的相關性權值,同時對具有文本作弊現象的部落格文章進行識別和降權處理。
在一個實施例中,索引器200僅考慮文本相關性因子,其根據文本相關性因子計算檢索詞的文本相關性權值,並識別出文本作弊的部落格文章,然後對檢索詞與該部落格文章的文本相關性權值進行適當的降權處理,使其排得靠後一些。
在另一實施例中,索引器200不僅考慮文本相關性因,還考慮了數值相關性因子,分別計算文本相關性權值和數值相關性權值,同時識別出文本作弊的部落格文章,然後對檢索詞與該部落格文章的文本相關性權值進行適當的降權處理,最後再將文本相關性權值和數值相關性權值進行疊加計算,得到綜合相關性權值。由此可知,前一實施例只是對文本相關性權值進行降權處理,而該實施例對文本相關性權值進行的降權處理實質上也對綜合相關性權值施加了作用。該實施例由於將數值相關因子也考慮了進來,因此進一步提高了數據的準確性。
在步驟S403中,索引器200根據降權後的相關性權值構建檢索詞與各部落格文章之間的索引。該索引記錄了各個檢索詞、與檢索詞對應的部落格文章、檢索詞與部落格文章之間的相關性權值,從而可在用戶輸入檢索詞進行搜尋時,可按照索引中的數據對搜尋到的部落格文章進行排序,使用戶可以迅速找到最相關的部落格文章。
圖5示出了該發明的一個實施例在對部落格文章進行排序的過程中建立索引的方法流程,該流程基於圖1及圖2所示的結構,具體包括:
在步驟S501中,索引器200從部落格系統100中提取相關性因子,並對這些數據進行格式化。該發明中所稱的相關性因子,包括文本相關性因子(例如,文本的分類、標題、正文、暱稱、空間名等),及數值相關性因子(例如,活躍度因子、轉載率因子、回復率因子、發表時間因子等)。
在步驟S502中,索引器200利用其數值相關性判定單元201計算檢索詞與各部落格文章的數值相關性權值。
在一個實施例中,數值相關性因子包括活躍度因子WPO、轉載率因子WDU、回復率因子WRE、發表時間因子WPT這四種,其中:活躍度因子WPO由部落格系統100計算得出,取值範圍在【0,100】,其綜合考慮了部落格個人空間的用戶登錄頻度、部落格文章發表頻度等因素,是部落格個人空間活躍程度的綜合衡量指標,活躍度越高,部落格文章的排序結果優先度越高;轉載率因子WDU是根據排重系統中得到的部落格文章重複數計算得出,取值範圍在【0,100】,轉載率越高,部落格文章的排序結果優先度越高;回復率因子WRE是根據部落格文章的回覆次數計算得出,取值範圍在【0,100】,回復率因子WRE越高,部落格文章的排序結果優先度越高;發表時間因子WPT是部落格文章的發表時間,可採用UNIX時間來表示,越新發表的部落格文章的排序結果優先度越高。數值相關性權值則由上面列出的所有相關性因子經過線型計算並歸一化得出,其取值範圍在區間【0,1】,其計算公式如下:
其中Wi為前面列出的所有相關性計算因子,λi為對應的修正係數,用來增加或減小相關性因子的作用,可在對排序結果進行調整的過程中確定λi的比較理想的取值,MAX_VALUE為該數值相關性權值的可能的最大取值。應當說明的是,上述計算公式只是一個示例,並不用以限定該發明的保護範圍,還可通過類似的公式進行計算。
在步驟S503中,索引器200利用其文本相關性判定單元202計算檢索詞與各部落格文章的文本相關性權值,並利用文本作弊識別單元203對文本作弊的部落格文章進行降權處理。在該發明中,文本相關性因子也就是可用來檢索的文本欄位。
在一個實施例中,這些文本欄位包括分類、標題、正文、暱稱、空間名這5個,每個欄位有一個固定的權重值W和一個修正係數入,依次如下表所示:
欄位名
修正係數
權重
分類
λCA
WCA
標題
λTI
WTI
正文
λCO
WCO
暱稱
λNI
WN
空間名
λZO
WZO
文本相關性權值的計算公式如下:
WTEXT=λCA×WCATI×WTICO×WCONI×WNI十λZO×WZO(2)
其中,λCATICONIZO=1。應當說明的是,上述計算公式只是一個示例,並不用以限定該發明的保護範圍,還可通過類似的公式進行計算。
當得到文本相關性權值後,文本作弊識別單元203進一步識別具有文本作弊現象的部落格文章,過程如圖6所示,包括:S601,利用滑動視窗遍歷部落格文章,並記錄該滑動視窗所達到的最大長度;S602,將活動視窗的最大長度與一個閾值進行比較,若超過閾值則將該部落格文章判定為文本作弊;S603,對該部落格文章的相關性權值進行適當的降權處理,例如可進行幅度調整,將文本相關性權值的大小修正為之前的60%。關於對文本作弊進行識別和處理的具體過程,將在圖7中進行詳細闡述。
在步驟S504中,索引器200利用其疊加計算單元204對數值相關性權值和文本相關性權值進行疊加計算,得到綜合相關性權值。在一個實施例中,疊加計算公式如下:
Weight(q,d)=λtext*Wtextnum*Wnum(3)
其中,λtext、λnum分別是兩種相關性權值進行疊加時的修正係數,大小可以靈活調整,且λtextnum=1。應當說明的是,上述計算公式只是一個示例,並不用以限定該發明的保護範圍,還可通過類似的公式進行計算。
在步驟S505中,索引器200利用其索引構建單元205根據綜合相關性權值並進行存儲,以供用戶搜尋時的提取套用。
圖7示出了該發明的一個實施例在建立索引的過程中採用水帖識別算法對文本作弊現象進行識別和處理的方法流程,該算法利用一個最大容量固定、長度可變的滑動視窗從左到右遍歷整篇文章,並記錄該視窗曾達到的最大長度。視窗的“容量”定義為該視窗容納的不同的詞的個數,視窗的“長度”定義為視窗內詞的總個數,即左右邊界之間的距離,視窗總是儘量伸長(右邊界右移),只有在超過最大容量時才縮短(左邊界右移)。在視窗的容量固定時,辭彙貧乏的文章會擁有較長的視窗長度,因此,一篇部落格文章的最大視窗長度越大,其越可能是存在文本作弊現象的低質量文章。
在該算法中,設滑動視窗的容量為C,其最大值設定為Cmax;用一個C’=C+1的遞增數組存放該滑動視窗內不同的詞,記錄為“視窗詞表”;並設滑動視窗的長度為L,其閾值設定為LT
在步驟S701中,從部落格文章中讀取第一個詞到滑動視窗,記錄容量C=1,長度L=1。
在步驟S702中,判斷是否讀取到下一個詞:若是,則執行S703;若否,則轉步驟S710。
在步驟S703中,滑動視窗的右邊界右移,將讀取到的新詞包含在滑動視窗內。
在步驟S704中,判斷該詞是否已存在於視窗詞表中:若是,則執行步驟S705;若否,則執行步驟步驟S706。
在步驟S705中,視窗詞表及容量C不變,長度L遞增,該步驟結束後轉步驟S702繼續讀取。
在步驟S706中,該詞不存在於視窗詞表中,則將其加入視窗詞表,容量C遞增,長度L遞增。
在步驟S707中,判斷視窗容量C是否超過最大值Cmax:若是,則執行步驟S708;若否,則轉步驟S702繼續讀取。
在步驟S708中,視窗容量C是否超過最大值Cmax,視窗的左邊界右移,視窗縮短至只包含最新讀取的詞。
在步驟S709中,判斷該篇部落格文章是否已遍歷完畢:若是,則執行步驟S710;若否,則轉步驟S702繼續讀取。
在步驟S710中,當部落格文章遍歷完畢時,則根據記錄的滑動視窗最大長度,判斷該部落格文章的重要性:若滑動視窗最大長度大於閾值LT,則說明該部落格文章存在文本作弊現象,需要對其文本相關性權值進行降權處理。
圖8示出了該發明的一個實施例基於圖4或圖5中建立的索引對部落格文章進行排序的方法流程,該實施例是用戶輸入檢索詞的情形,包括:
在步驟S801中,檢索器300接收到客戶端500中用戶輸入的檢索詞。
在步驟S802中,檢索器300從索引器200已構建的索引中提取各檢索詞與部落格文章的相關性權值,該相關性權值可能是文本相關性權值,也可能是文本相關性權值與數值相關性權值疊加後的綜合相關性權值。
在步驟S803中,檢索器300根據相關性權值對搜尋到的部落格文章進行排序,並將排序結果反饋給客戶端500。
圖9示出了該發明的另一實施例基於圖4或圖5中建立的索引對部落格文章進行排序的方法流程,該實施例是用戶輸入檢索串的情形,具體包括:
在步驟S901中,代理器400將客戶端500中用戶輸入的檢索串切分為檢索詞,並送入檢索器300。
在步驟S902中,檢索器300從索引器200構建的索引中提取各檢索詞與部落格文章的相關性權值,該相關性權值可能是文本相關性權值,也可能是文本相關性權值與數值相關性杈值疊加後的綜合相關性權值。
在步驟S903中,檢索器300計算檢索串與部落格文章的複合相關性權值。
在該發明中,用戶輸入檢索串與部落格文章的相關性,可認為是單個檢索詞與該部落格文章的相關性的綜合結果,因此在一個實施例中,採用簡單相加後求平均值的模型來計算複合相關性權值。設對於檢索串Q,Q={q1,q2,......,qn},n為檢索串切分後的索引詞個數,d為一個檢索詞qn命中的所有部落格文章,那么該檢索串Q與部落格文章之間的複合相關性權值的計算公式為:
(4)
應當說明的是,上述計算公式只是一個示例,並不用以限定該發明的保護範圍,還可通過類似的公式進行計算。
在步驟S904中,檢索器300根據複合相關性權值對搜尋到的部落格文章進行排序,並將排序結果送入代理器400。
在步驟S905中,代理器400將排序結果轉發給客戶端500,並將排序結果顯示到用戶界面上。

榮譽表彰

2010年11月15日,《一種對部落格文章進行排序的方法及系統》獲得第十二屆中國專利獎優秀獎。
該發明的目的還在於提供一種對部落格文章進行排序的方法,以更好地解決2007年9月之前技術中存在的上述問題。

技術方案

《一種對部落格文章進行排序的方法及系統》包括客戶端、部落格系統、根據檢索詞與部落格文章之間的相關性權值建立索引的索引器、根據用戶輸入的檢索詞到索引器中查詢對應的部落格文章並進行排序的檢索器,所述索引器包含一個文本作弊識別單元,用於在索引器計算檢索詞與部落格文章之間的相關性權值時,對文本作弊的部落格文章進行識別和降權處理。
優選地,所述索引器還包括與文本作弊識別單元相連的文本相關性判定單元,及索引構建單元;所述文本相關性判定單元用於根據從部落格系統提取的文本相關性因子,計算檢索詞與各部落格文章的文本相關性權值,並將降權處理後的文本相關性權值送入索引構建單元;所述索引構建單元用於根據所述文本相關性權值構建索引。
優選地,所述索引器還包括數值相關性判定單元、疊加計算單元;所述數值相關性判定單元用於根據從部落格系統提取的數值相關性因子,計算檢索詞與各部落格文章的數值相關性權值;所述疊加計算單元用於對所述數值相關性權值和文本相關性權值進行疊加計算,得到該檢索詞的綜合相關性權值,並送入索引構建單元;所述索引構建單元根據所述綜合相關性權值構建索引。
優選地,所述檢索器進一步包括查詢單元和排序單元;所述查詢單元用於根據用戶輸入的檢索詞,從索引器已建立的索引中查詢該檢索詞與各部落格文章之間的綜合相關性權值,並送入排序單元;所述排序單元根據所述綜合相關性權值的大小,對與檢索詞相關的各部落格文章進行排序。優選地,所述系統還包括與客戶端及部落格系統分別相連的代理器,其用於將客戶端傳送的檢索串切分為多個檢索詞,並將所述檢索詞傳送給檢索器。
優選地,所述檢索器還包括複合相關性計算單元,與查詢單元及排序單元分別相連;
所述複合相關性計算單元用於根據查詢單元獲取的各檢索詞與各部落格文章之間的綜合相關性權值,計算所述檢索串與各部落格文章之間的複合相關性權值,並送入排序單元;所述排序單元根據所述複合相關性權值,對與檢索串相關的各部落格文章進行排序。
為了更好地實現發明目的,所述對部落格文章進行排序的方法,包括建立索引,及根據用戶的輸入進行查詢排序,所述建立索引的的步驟包括:
A.從部落格系統提取相關性因子;
B.根據所述相關性因子計算檢索詞與各部落格文章的相關性權值,同時對文本作弊的部落格文章進行識別和降權處理;
C.根據降權後的相關性權值構建檢索詞與各部落格文章之間的索引。
優選地,所述步驟A中的相關性因子是指文本相關性因子,所述相關性權值則是指文本相關性權值。
優選地,所述步驟A中的相關性因子包括數值相關性因子和文本相關性因子,所述相關性權值是指數值相關性權值與文本相關性杈值疊加後的綜合相關性權值。
優選地,所述步驟B中對文本作弊的部落格文章進行識別和降權處理的步驟進一步包括:
B1.利用一個最大容量固定、長度可變的滑動視窗遍歷部落格文章,並記錄滑動視窗所達到的最大長度,其中所述容量是指滑動視窗容納的不同辭彙的數量,長度是指滑動視窗內辭彙的總量;
B2.遍歷結束時,將所述滑動視窗達到過的最大長度與一個閾值進行比較,若超過閾值則將該部落格文章判定為文本作弊;
B3.對所述部落格文章的相關性權值進行降權處理。
優選地,所述根據用戶的輸入進行查詢排序的步驟包括:
D.接收用戶輸入的檢索詞;
E.根據所述檢索詞,從已建立的索引中查詢該檢索詞與各部落格文章之間的相關性權值;
F.根據所述相關性權值的大小對與檢索詞相關的各部落格文章進行排序,並將排序結果反饋給用戶。
優選地,所述根據用戶的輸入進行查詢排序的步驟包括:
D’.接收用戶輸入的檢索串,並將所述檢索串切分為多個檢索詞;
E’.從已建立的索引中查詢各個檢索詞與各部落格文章之間的相關性權值,並計算檢索串與部落格文章之間的複合相關性權值;
F’.根據所述複合相關性權值的大小對與檢索串相關的各部落格文章進行排序,並將排序結果反饋給用戶。

改善效果

《一種對部落格文章進行排序的方法及系統》在相關性權值的計算中對文本作弊的部落格文章進行識別和處理,從而建立準確的索引並基於此索引對搜尋到的部落格文章進行排序,因此提高了排序的客觀準確性,保證了用戶的檢索質量。

附圖說明

圖1是《一種對部落格文章進行排序的方法及系統》的系統結構圖;
圖2是該發明的一個實施例中索引器的結構圖;
圖3是該發明的一個實施例中檢索器的結構圖;
圖4是該發明在對部落格文章進行排序的過程中建立索引的方法流程圖;
圖5是該發明的一個實施例在對部落格文章進行排序的過程中建立索引的方法流程圖;
圖6是該發明在建立索引的過程中對文本作弊現象進行識別和處理的方法流程圖;
圖7是該發明的一個實施例在圖4或圖5建立索引的過程中對文本作弊現象進行識別和處理的方法流程圖;
圖8是該發明的一個實施例基於圖4或圖5中建立的索引對部落格文章進行排序的方法流程圖;
圖9是該發明的另一實施例基於圖4或圖5中建立的索引對部落格文章進行排序的方法流程圖。

權利要求

1.《一種對部落格文章進行排序的方法及系統》包括客戶端、部落格系統、根據檢索詞與部落格文章之間的相關性權值建立索引的索引器、根據用戶輸入的檢索詞到索引器中查詢索引並對部落格文章進行排序的檢索器,其特徵在於,所述索引器包含一個文本作弊識別單元,用於在索引器計算檢索詞與部落格文章之間的相關性權值時,對文本作弊的部落格文章進行識別和降權處理。
2.根據權利要求1所述的對部落格文章進行排序的系統,其特徵在於,所述索引器還包括與文本作弊識別單元相連的文本相關性判定單元,及索引構建單元;所述文本相關性判定單元用於根據從部落格系統提取的文本相關性因子,計算檢索詞與各部落格文章的文本相關性權值,並將降權處理後的文本相關性權值送入索引構建單元;所述索引構建單元用於根據所述文本相關性權值構建索引。
3.根據權利要求2所述的對部落格文章進行排序的系統,其特徵在於,所述索引器還包括數值相關性判定單元、疊加計算單元;所述數值相關性判定單元用於根據從部落格系統提取的數值相關性因子,計算檢索詞與各部落格文章的數值相關性權值;所述疊加計算單元用於對所述數值相關性權值和文本相關性權值進行疊加計算,得到該檢索詞的綜合相關性權值,並送入索引構建單元;所述索引構建單元根據所述綜合相關性權值構建索引。
4.根據權利要求3所述的對部落格文章進行排序的系統,其特徵在於,所述檢索器進一步包括查詢單元和排序單元;所述查詢單元用於根據用戶輸入的檢索詞,從索引器已建立的索引中查詢該檢索詞與各部落格文章之間的綜合相關性權值,並送入排序單元;所述排序單元根據所述綜合相關性權值的大小,對與檢索詞相關的各部落格文章進行排序。
5.根據權利要求4所述的對部落格文章進行排序的系統,其特徵在於,所述系統還包括與客戶端及博容系統分別相連的代理器,其用於將客戶端傳送的檢索串切分為多個檢索詞,並將所述檢索詞傳送給檢索器。
6.根據權利要求5所述的對部落格文章進行排序的系統,其特徵在於,所述檢索器還包括複合相關性計算單元,與查詢單元及排序單元分別相連;所述複合相關性計算單元用於根據查詢單元獲取的各檢索詞與各部落格文章之間的綜合相關性權值,計算所述檢索串與各部落格文章之間的複合相關性權值,並送入排序單元;所述排序單元根據所述複合相關性權值,對與檢索串相關的各部落格文章進行排序。
7.一種對部落格文章進行排序的方法,包括建立索引,及根據用戶的輸入進行查詢排序,其特徵在於,所述建立索引的的步驟包括:
A.從部落格系統提取相關性因子;
B.根據所述相關性因子計算檢索詞與各部落格文章的相關性權值,同時對文本作弊的部落格文章進行識別和降權處理;
C.根據降權後的相關性權值構建檢索詞與各部落格文章之間的索引。
8.根據權利要求7所述的對部落格文章進行排序的方法,其特徵在於,所述步驟A中的相關性因子是指文本相關性因子,所述相關性權值則是指文本相關性權值。
9.根據權利要求7所述的對部落格文章進行排序的方法,其特徵在於,所述步驟A中的相關性因子包括數值相關性因子和文本相關性因子,所述相關性權值是指數值相關性權值與文本相關性權值疊加後的綜合相關性權值。
10.根據權利要求7所述的對部落格文章進行排序的方法,其特徵在於,所述步驟B中對文本作弊的部落格文章進行識別和降權處理的步驟進一步包括:
B1.利用一個最大容量固定、長度可變的滑動視窗遍歷部落格文章,並記錄滑動視窗所達到的最大長度,其中所述容量是指滑動視窗容納的不同辭彙的數量,長度是指滑動視窗內辭彙的總量;
B2.遍歷結束時,將所述滑動視窗達到的最大長度與一個閾值進行比較,若超過閾值則將該部落格文章判定為存在文本作弊;
B3.對所述部落格文章的相關性權值進行降權處理。
11.根據權利要求7至10中任一權利要求所述的對部落格文章進行排序的方法,其特徵在於,所述根據用戶的輸入進行查詢排序的步驟包括:
D.接收用戶輸入的檢索詞;
E.根據所述檢索詞,從已建立的索引中查詢該檢索詞與各部落格文章之間的相關性權值;
F.根據所述相關性權值的大小對與檢索詞相關的各部落格文章進行排序,並將排序結果反饋給用戶。
12.根據權利要求11所述的對部落格文章進行排序的方法,其特徵在於,所述根據用戶的輸入進行查詢排序的步驟包括:
D’.接收用戶輸入的檢索串,並將所述檢索串切分為多個檢索詞;
E’.從已建立的索引中查詢各個檢索詞與各部落格文章之間的相關性權值,並計算檢索串與部落格文章之間的複合相關性權值;
F’.根據所述複合相關性權值的大小對與檢索串相關的各部落格文章進行排序,並將排序結果反饋給用戶。

實施方式

《一種對部落格文章進行排序的方法及系統》包括部落格系統100、索引器200、檢索器300、代理器400和客戶端500。應當說明的是,該發明所有圖示中各設備之間的連線關係是為了清楚闡釋其信息互動及控制過程的需要,因此應當視為邏輯上的連線關係,而不應僅限於物理連線。其中:
(1)部落格系統100用於為用戶提供部落格相關服務,包括對部落格文章進行存儲和管理等,並在該發明中為索引器200提供相關性因子,包括文本相關性因子(例如,文本的分類、標題、正文、暱稱、空間名等),及數值相關性因子(例如,活躍度因子、轉載率因子、回復率因子、發表時間因子等)。該部落格系統100的核心可為一個網站伺服器,但是該發明並不限定其具體形式。
(2)索引器200用於根據部落格系統100中的數據建立索引,供檢索器300基於該索引對所搜尋的部落格文章進行排序。
在一個實施例中,如圖2所示,該索引器200進一步包括數值相關性判定單元201、文本相關性判定單元202、文本作弊識別單元203、疊加計算單元204和索引構建單元205,其中:數值相關性判定單元201用於根據從部落格系統100提取的數值相關性因子,計算檢索詞與各部落格文章的數值相關性權值;文本相關性判定單元202用於根據從部落格系統100提取的文本相關性因子,計算檢索詞與各部落格文章的文本相關性權值;文本作弊識別單元203用於在文本相關性判定單元202計算檢索詞與部落格文章之間的文本相關性權值時,對文本作弊的部落格文章進行識別和降權處理,並將降權處理後的文本相關性權值傳送給文本相關性判定單元202;疊加計算單元204用於對前述的數值相關性權值和文本相關性權值進行疊加計算,得到該檢索詞的綜合相關性權值,並送入索引構建單元205;索引構建單元205根據該綜合相關性權值構建索引。
在另一實施例中,該索引器200僅包括文本相關性判定單元202、文本作弊識別單元203和索引構建單元205,其中:文本相關性判定單元202用於根據從部落格系統100提取的文本相關性因子,計算檢索詞與各部落格文章的文本相關性權值;文本作弊識別單元203用於識別文本作弊的部落格文章,並對其文本相關性權值進行降權處理,再將處理後的文本相關性權值傳送給文本相關性判定單元202進行轉發;索引構建單元205則根據接收到的文本相關性權值構建檢索詞與各部落格文章之間的索引。由於該實施例雖然可以實現,但是由於構建索引的過程僅考慮文本相關性因子,索引的準確度不夠高,因此前一實施例中索引器200的結構在當前套用中更為廣泛和典型。
(3)檢索器300根據用戶輸入的檢索詞進行查詢並對部落格文章進行排序。
在一個實施例中,如圖3所示,該檢索器300進一步包括查詢單元301、複合相關性計算單元302、排序單元303。在該實施例中,用戶最初輸入的是包含多個檢索詞的檢索串,由代理器400切分為檢索詞後送入檢索器300,檢索器300收到檢索詞後則進行處理,其中:查詢單元301從索引器200已建立的索引中查詢各檢索詞與各部落格文章之間的相關性權值(文本相關性權值,或綜合相關性權值),並送入排序單元;複合相關性計算單元302則根據各檢索詞的相關性權值,計算檢索串與各部落格文章之間的複合相關性權值,並送入排序單元303;排序單元303根據複合相關性權值,對與檢索串相關的各部落格文章進行排序。
在另一實施例中,該檢索器300僅包括查詢單元301、排序單元303,該實施例適用於用戶輸入檢索詞而非檢索串的情形,因此該實施例中檢索器300可與客戶端500直接相連並進行通信。其中:查詢單元301根據用戶輸入的檢索詞,從索引器200已建立的索引中查詢該檢索詞與各部落格文章之間的相關性權值(文本相關性權值,或綜合相關性權值),並送入排序單元303;排序單元303根據所收到的相關性權值的大小,對與檢索詞相關的各部落格文章進行排序。應當說明的是,由於2007年9月之前用戶大多輸入的都是包含多個檢索詞的檢索串,因此前一實施例中檢索器300的結構在當前套用中更為廣泛和典型。
(4)代理器400用於接收客戶端500傳送的檢索串,並將檢索串切分為檢索詞,傳送給檢索器300,以及將檢索器300檢索並排序後的結果轉發給客戶端500。在該發明的一個實施例中,如圖3所示的檢索器300的結構,在此情形下代理器400是該發明系統所必需的。
(5)客戶端500中登錄有用戶,其接收用戶輸入的檢索詞或者檢索串:若用戶輸入的是檢索詞,可直接將其傳送給檢索器300,並在接收到檢索器300反饋的部落格文章排序結果後,將排序結果繪製並顯示到用戶界面上;若用戶輸入的是檢索串,則鬚髮送給代理器400進行切分,並在接收到代理器400反饋的部落格文章排序結果後,將排序結果繪製並顯示到用戶界面上。客戶端500典型的可為各種能夠登錄網際網路的終端設備,例如個人計算機(PersonalComputer,PC)、個人數字助理(PersonalDigitalAssistant,PDA)、行動電話(MobilePhone,MP)等,因此該發明的保護範圍不應限定為某種特定類型的客戶端。
圖4示出了該發明在對部落格文章進行排序的過程中建立索引的方法流程,包括以下步驟:
在步驟S401中,索引器200從部落格系統100中提取相關性因子,並對這些數據進行格式化。該發明中所稱的相關性因子,包括文本相關性因子(例如,文本的分類、標題、正文、暱稱、空間名等),及數值相關性因子(例如,活躍度因子、轉載率因子、回復率因子、發表時間因子等)。大部分的相關性因子的取值都映射到一個固定區間,例如【0,100】,小部分則為數據的原始值,這些相關性因子在索引器200構建索引時,將作為相關性權值計算時的輸入參數。
在步驟S402中,索引器200計算檢索詞與各部落格文章的相關性權值,同時對具有文本作弊現象的部落格文章進行識別和降權處理。
在一個實施例中,索引器200僅考慮文本相關性因子,其根據文本相關性因子計算檢索詞的文本相關性權值,並識別出文本作弊的部落格文章,然後對檢索詞與該部落格文章的文本相關性權值進行適當的降權處理,使其排得靠後一些。
在另一實施例中,索引器200不僅考慮文本相關性因,還考慮了數值相關性因子,分別計算文本相關性權值和數值相關性權值,同時識別出文本作弊的部落格文章,然後對檢索詞與該部落格文章的文本相關性權值進行適當的降權處理,最後再將文本相關性權值和數值相關性權值進行疊加計算,得到綜合相關性權值。由此可知,前一實施例只是對文本相關性權值進行降權處理,而該實施例對文本相關性權值進行的降權處理實質上也對綜合相關性權值施加了作用。該實施例由於將數值相關因子也考慮了進來,因此進一步提高了數據的準確性。
在步驟S403中,索引器200根據降權後的相關性權值構建檢索詞與各部落格文章之間的索引。該索引記錄了各個檢索詞、與檢索詞對應的部落格文章、檢索詞與部落格文章之間的相關性權值,從而可在用戶輸入檢索詞進行搜尋時,可按照索引中的數據對搜尋到的部落格文章進行排序,使用戶可以迅速找到最相關的部落格文章。
圖5示出了該發明的一個實施例在對部落格文章進行排序的過程中建立索引的方法流程,該流程基於圖1及圖2所示的結構,具體包括:
在步驟S501中,索引器200從部落格系統100中提取相關性因子,並對這些數據進行格式化。該發明中所稱的相關性因子,包括文本相關性因子(例如,文本的分類、標題、正文、暱稱、空間名等),及數值相關性因子(例如,活躍度因子、轉載率因子、回復率因子、發表時間因子等)。
在步驟S502中,索引器200利用其數值相關性判定單元201計算檢索詞與各部落格文章的數值相關性權值。
在一個實施例中,數值相關性因子包括活躍度因子WPO、轉載率因子WDU、回復率因子WRE、發表時間因子WPT這四種,其中:活躍度因子WPO由部落格系統100計算得出,取值範圍在【0,100】,其綜合考慮了部落格個人空間的用戶登錄頻度、部落格文章發表頻度等因素,是部落格個人空間活躍程度的綜合衡量指標,活躍度越高,部落格文章的排序結果優先度越高;轉載率因子WDU是根據排重系統中得到的部落格文章重複數計算得出,取值範圍在【0,100】,轉載率越高,部落格文章的排序結果優先度越高;回復率因子WRE是根據部落格文章的回覆次數計算得出,取值範圍在【0,100】,回復率因子WRE越高,部落格文章的排序結果優先度越高;發表時間因子WPT是部落格文章的發表時間,可採用UNIX時間來表示,越新發表的部落格文章的排序結果優先度越高。數值相關性權值則由上面列出的所有相關性因子經過線型計算並歸一化得出,其取值範圍在區間【0,1】,其計算公式如下:
其中Wi為前面列出的所有相關性計算因子,λi為對應的修正係數,用來增加或減小相關性因子的作用,可在對排序結果進行調整的過程中確定λi的比較理想的取值,MAX_VALUE為該數值相關性權值的可能的最大取值。應當說明的是,上述計算公式只是一個示例,並不用以限定該發明的保護範圍,還可通過類似的公式進行計算。
在步驟S503中,索引器200利用其文本相關性判定單元202計算檢索詞與各部落格文章的文本相關性權值,並利用文本作弊識別單元203對文本作弊的部落格文章進行降權處理。在該發明中,文本相關性因子也就是可用來檢索的文本欄位。
在一個實施例中,這些文本欄位包括分類、標題、正文、暱稱、空間名這5個,每個欄位有一個固定的權重值W和一個修正係數入,依次如下表所示:
欄位名
修正係數
權重
分類
λCA
WCA
標題
λTI
WTI
正文
λCO
WCO
暱稱
λNI
WN
空間名
λZO
WZO
文本相關性權值的計算公式如下:
WTEXT=λCA×WCATI×WTICO×WCONI×WNI十λZO×WZO(2)
其中,λCATICONIZO=1。應當說明的是,上述計算公式只是一個示例,並不用以限定該發明的保護範圍,還可通過類似的公式進行計算。
當得到文本相關性權值後,文本作弊識別單元203進一步識別具有文本作弊現象的部落格文章,過程如圖6所示,包括:S601,利用滑動視窗遍歷部落格文章,並記錄該滑動視窗所達到的最大長度;S602,將活動視窗的最大長度與一個閾值進行比較,若超過閾值則將該部落格文章判定為文本作弊;S603,對該部落格文章的相關性權值進行適當的降權處理,例如可進行幅度調整,將文本相關性權值的大小修正為之前的60%。關於對文本作弊進行識別和處理的具體過程,將在圖7中進行詳細闡述。
在步驟S504中,索引器200利用其疊加計算單元204對數值相關性權值和文本相關性權值進行疊加計算,得到綜合相關性權值。在一個實施例中,疊加計算公式如下:
Weight(q,d)=λtext*Wtextnum*Wnum(3)
其中,λtext、λnum分別是兩種相關性權值進行疊加時的修正係數,大小可以靈活調整,且λtextnum=1。應當說明的是,上述計算公式只是一個示例,並不用以限定該發明的保護範圍,還可通過類似的公式進行計算。
在步驟S505中,索引器200利用其索引構建單元205根據綜合相關性權值並進行存儲,以供用戶搜尋時的提取套用。
圖7示出了該發明的一個實施例在建立索引的過程中採用水帖識別算法對文本作弊現象進行識別和處理的方法流程,該算法利用一個最大容量固定、長度可變的滑動視窗從左到右遍歷整篇文章,並記錄該視窗曾達到的最大長度。視窗的“容量”定義為該視窗容納的不同的詞的個數,視窗的“長度”定義為視窗內詞的總個數,即左右邊界之間的距離,視窗總是儘量伸長(右邊界右移),只有在超過最大容量時才縮短(左邊界右移)。在視窗的容量固定時,辭彙貧乏的文章會擁有較長的視窗長度,因此,一篇部落格文章的最大視窗長度越大,其越可能是存在文本作弊現象的低質量文章。
在該算法中,設滑動視窗的容量為C,其最大值設定為Cmax;用一個C’=C+1的遞增數組存放該滑動視窗內不同的詞,記錄為“視窗詞表”;並設滑動視窗的長度為L,其閾值設定為LT
在步驟S701中,從部落格文章中讀取第一個詞到滑動視窗,記錄容量C=1,長度L=1。
在步驟S702中,判斷是否讀取到下一個詞:若是,則執行S703;若否,則轉步驟S710。
在步驟S703中,滑動視窗的右邊界右移,將讀取到的新詞包含在滑動視窗內。
在步驟S704中,判斷該詞是否已存在於視窗詞表中:若是,則執行步驟S705;若否,則執行步驟步驟S706。
在步驟S705中,視窗詞表及容量C不變,長度L遞增,該步驟結束後轉步驟S702繼續讀取。
在步驟S706中,該詞不存在於視窗詞表中,則將其加入視窗詞表,容量C遞增,長度L遞增。
在步驟S707中,判斷視窗容量C是否超過最大值Cmax:若是,則執行步驟S708;若否,則轉步驟S702繼續讀取。
在步驟S708中,視窗容量C是否超過最大值Cmax,視窗的左邊界右移,視窗縮短至只包含最新讀取的詞。
在步驟S709中,判斷該篇部落格文章是否已遍歷完畢:若是,則執行步驟S710;若否,則轉步驟S702繼續讀取。
在步驟S710中,當部落格文章遍歷完畢時,則根據記錄的滑動視窗最大長度,判斷該部落格文章的重要性:若滑動視窗最大長度大於閾值LT,則說明該部落格文章存在文本作弊現象,需要對其文本相關性權值進行降權處理。
圖8示出了該發明的一個實施例基於圖4或圖5中建立的索引對部落格文章進行排序的方法流程,該實施例是用戶輸入檢索詞的情形,包括:
在步驟S801中,檢索器300接收到客戶端500中用戶輸入的檢索詞。
在步驟S802中,檢索器300從索引器200已構建的索引中提取各檢索詞與部落格文章的相關性權值,該相關性權值可能是文本相關性權值,也可能是文本相關性權值與數值相關性權值疊加後的綜合相關性權值。
在步驟S803中,檢索器300根據相關性權值對搜尋到的部落格文章進行排序,並將排序結果反饋給客戶端500。
圖9示出了該發明的另一實施例基於圖4或圖5中建立的索引對部落格文章進行排序的方法流程,該實施例是用戶輸入檢索串的情形,具體包括:
在步驟S901中,代理器400將客戶端500中用戶輸入的檢索串切分為檢索詞,並送入檢索器300。
在步驟S902中,檢索器300從索引器200構建的索引中提取各檢索詞與部落格文章的相關性權值,該相關性權值可能是文本相關性權值,也可能是文本相關性權值與數值相關性杈值疊加後的綜合相關性權值。
在步驟S903中,檢索器300計算檢索串與部落格文章的複合相關性權值。
在該發明中,用戶輸入檢索串與部落格文章的相關性,可認為是單個檢索詞與該部落格文章的相關性的綜合結果,因此在一個實施例中,採用簡單相加後求平均值的模型來計算複合相關性權值。設對於檢索串Q,Q={q1,q2,......,qn},n為檢索串切分後的索引詞個數,d為一個檢索詞qn命中的所有部落格文章,那么該檢索串Q與部落格文章之間的複合相關性權值的計算公式為:
(4)
應當說明的是,上述計算公式只是一個示例,並不用以限定該發明的保護範圍,還可通過類似的公式進行計算。
在步驟S904中,檢索器300根據複合相關性權值對搜尋到的部落格文章進行排序,並將排序結果送入代理器400。
在步驟S905中,代理器400將排序結果轉發給客戶端500,並將排序結果顯示到用戶界面上。

榮譽表彰

2010年11月15日,《一種對部落格文章進行排序的方法及系統》獲得第十二屆中國專利獎優秀獎。

相關詞條

熱門詞條

聯絡我們