專利名稱:文本消重系統(tǒng)和方法
技術領域:
本發(fā)明涉及搜索引擎中的文本消重,特別涉及文本消重系統(tǒng)和方法。
背景技術:
文本消重是搜索引擎中基本需求之一。目前常用的消重方法有基于中心詞的消重方法,和針對全部文本或部分文本進行哈希計算消重等。目前常用的手段是基于中心詞的消重方法。提取文本中的中心詞,然后利用中心詞進行消重,這樣文本中即使進行了一定內(nèi)容的修改,只要中心詞沒有改變,就可以發(fā)現(xiàn)是
重復內(nèi)容。 但是基于中心詞的消重方法缺點是明顯的,很容易把原本無關的文章判定為重復比如在一些專業(yè)類的文章中,中心詞消重往往錯誤率比較高。如體育比賽中相同球隊的新聞,由于球隊名稱,教練隊員的名稱,所屬俱樂部,所屬城市,打法等內(nèi)容相對固定,不管球隊是一年甚至幾年內(nèi)的不同比賽內(nèi)容,提取出的中心詞往往都比較相似。利用中心詞消重就很有可能把毫不相干的兩場比賽的文章判定為重復。另外,上述方法容易把本來是相同的文章判定為不重復比如不同網(wǎng)站在轉(zhuǎn)載同一篇文章時,有的網(wǎng)站會把文章的內(nèi)容放的一個頁面里,而有的網(wǎng)站會把內(nèi)容切分為幾部分,每一部分使用一個單獨的頁面。這樣,在抽取中心詞時,由于兩個網(wǎng)站的頁面長度不同,抽取出的中心詞也會不同,因此會把本來相同的文章判斷為不重復的頁面。上述技術方案基于與語言相關在提取中心詞時首先需要進行分詞,而分詞是語言相關的。對中文的分詞方法與英文不同。因此,對中文適用的中心詞消重方法在外文上無法使用。
發(fā)明內(nèi)容
本發(fā)明要解決的技術問題是現(xiàn)有技術的消重準確性低,容錯性差的問題。一種文本消重系統(tǒng),所述系統(tǒng)包括分割模塊,適于將目標文本和待比較文本依據(jù)分割符號分割成分割段,并將目標文本和待比較文本的分割段按相同的方式組成序列;哈希值計算模塊,適于在目標文本中選定目標序列,計算出目標序列的哈希值以及待比較文本中全部或部分序列的哈希值;消重模塊,適于將所述比較序列的哈希值依次與待比較文本中序列的哈希值相比較,如果存在相同的哈希值,則執(zhí)行消重操作。其中,所述分割符號包括ASCII碼中的符號和/或中文全角\半角標點符號。其中,所述分割符號為一個或一個以上。其中,所述消重模塊進一步包括文本標記單元,適于對重復的文本標記重復記號;和/或文本刪除單元,適于對重復的文本進行刪除操作。
其中,所述序列由一個分割段或兩個以上連續(xù)的分割段組成。其中,所述待比較文本如果只計算部分序列的哈希值,則目標序列在目標文本中的選定位置與待比較文本中部分序列的位置相對應。其中,所述分割模塊進一步包括分割段閾值設定模塊,適于依據(jù)統(tǒng)計數(shù)據(jù)獲得組成序列的分割段數(shù)量。其中,所述消重模塊進一步包括一多目標序列比較單元,適于當所述目標序列的個數(shù)大于I時,依次將每個目標序列的哈希值與待比較文本中的序列相比較。
一種文本消重訪法,所述方法包括將目標文本和待比較文本依據(jù)分割符號分割成分割段,并將目標文本和待比較文本的分割段按相同的方式組成序列;在目標文本中選定目標序列,計算出目標序列的哈希值以及待比較文本中全部或部分序列的哈希值;將所述比較序列的哈希值依次與待比較文本中序列的哈希值相比較,如果存在相同的哈希值,則執(zhí)行消重操作。其中,所述分割符號包括ASCII碼中的符號和/或中文全角\半角標點符號。其中,所述分割符號為一個或一個以上。其中,所述執(zhí)行消重操作進一步包括對重復的文本標記重復記號;和/或?qū)χ貜偷奈谋具M行刪除操作。其中,所述序列由一個分割段或兩個以上連續(xù)的分割段組成。其中,所述待比較文本如果只計算部分序列的哈希值,則目標序列在目標文本中的選定位置與待比較文本中部分序列的位置相對應。其中,所述組成序列的分割段數(shù)量依據(jù)統(tǒng)計數(shù)據(jù)獲得。其中,所述將所述比較序列的哈希值依次與待比較文本中序列的哈希值相比較進一步包括,當所述目標序列的個數(shù)大于I時,依次將每個目標序列的哈希值與待比較文本中的序列相比較。本發(fā)明提供的基于符號分隔劃分語句序列的消重方法,既可以保證消重的準確性,解決中心詞消重把不同文章判定為重復的問題,又可以保證相對比較高的容錯性,同時,按符號分隔只與選定的符號有關系,與具體語言無關。因此這一方法可適用于不同的語言。在新聞系統(tǒng)中使用了本方案后,消重的正確率和召回率獲得明顯改善。
圖I是本發(fā)明一種實施例的文本消重系統(tǒng)結(jié)構圖;圖2是本發(fā)明一種實施例的消重模塊結(jié)構圖;圖3是本發(fā)明一種實施例的多目標比較單元結(jié)構圖;圖4是本發(fā)明一種實施例的文本消重方法流程圖;圖5是本發(fā)明一種實施例的消重操作流程圖;圖6是本發(fā)明一種實施例的多比較比較過程流程圖。
具體實施例方式下面結(jié)合附圖和實施例,對本發(fā)明的具體實施方式
作進一步詳細描述。以下實施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。圖I呈現(xiàn)了本發(fā)明的一種實施例的文本消重系統(tǒng),所述系統(tǒng)包括分割模塊100,哈希值計算模塊102和消重模塊104。分割模塊100,適于將目標文本和待比較文本依據(jù)分割符號分割成分割段,并將目標文本和待比較文本的分割段按相同的方式組成序列。例如,選定需要進行分隔的標點符號。如ASCII碼的逗號和據(jù)點等,還有中文逗號,中文句點等。然后依據(jù)這些標點符號,將文章的內(nèi)容劃分為一組語句序列。第一篇文章按標點分隔后的語句序列是 ,第I篇文章第I句,第I篇文章第2 句,第I篇文章第3句,第I篇文章第4句,第I篇文章第5句,第I篇文章第6句,第I篇文章第7句,第I篇文章第8句,第I篇文章第9句,第I篇文章第10句,第I篇文章第11句,第I篇文章第12句”。第二篇文章在轉(zhuǎn)載第一篇文章時,將原文第I句和最后一句進行了修改。其由分割模塊100按標點分隔后的語句序列是”第2篇文章修改后第I句,第I篇文章第2句,第I篇文章第3句,第I篇文章第4句,第I篇文章第5句,第I篇文章第6句,第I篇文章第7句,第I篇文章第8句,第I篇文章第9句,第I篇文章第10句,第I篇文章第11句,第2篇修改后文章第12句”。分割模塊100還包括一分割段閾值設定模塊,適于依據(jù)統(tǒng)計數(shù)據(jù)獲得組成序列的分割段數(shù)量。此外,分割段的數(shù)量還可以通過人工經(jīng)驗來設定。在實踐中發(fā)現(xiàn),連續(xù)出現(xiàn)5句相同內(nèi)容的文章,消重的正確率與召回率都很高。這里提到的連續(xù)五條語句是在新聞消重中證明相對比較可靠的語句數(shù)量,在處理其他類型的文章時可以適當進行調(diào)整。這樣,就以每5句來組成一個完整序列。第I篇文章的序列分別是“第I篇文章第I句,第I篇文章第2句,第I篇文章第3句,第I篇文章第4句,第I篇文章第5句”,“第I篇文章第2句,第I篇文章第3句,第I篇文章第4句,第I篇文章第5句,第I篇文章第6句,”,“第I篇文章第3句,第I篇文章第4句,第I篇文章第5句,第I篇文章第6句,第I篇文章第7句,”,“第I篇文章第4句,第I篇文章第5句,第I篇文章第6句,第I篇文章第7句,第I篇文章第8句,”,......“第I篇文章第8句,第I篇文章第9句,第I篇文章第10句,第I篇文章第11句,第I篇文章第12句”。第2篇文章的序列分別是“第2篇文章修改后第I句,第I篇文章第2句,第I篇文章第3句,第I篇文章第4句,第I篇文章第5句”,“第I篇文章第2句,第I篇文章第3句,第I篇文章第4句,第I篇文章第5句,第I篇文章第6句,”,
“第I篇文章第3句,第I篇文章第4句,第I篇文章第5句,第I篇文章第6句,第I篇文章第7句,”,“第I篇文章第4句,第I篇文章第5句,第I篇文章第6句,第I篇文章第7句,第I篇文章第8句,”,
......“第I篇文章第8句,第I篇文章第9句,第I篇文章第10句,第I篇文章第11句,第2篇修改后文章第12句”。哈希值計算模塊102,適于在目標文本中選定目標序列,計算出目標序列的哈希值以及待比較文本中全部或部分序列的哈希值;因此,在上述序列劃分完成后,依次由哈希值計算模塊102在第I篇文章中選定目標序列,同時對兩篇文章的序列進行哈希值計算。由于文章中中間內(nèi)容改動的可能性比較小,就選取中間的語句序列作為后續(xù)文章的目標序列。比如,如果第一篇文章沒有發(fā)現(xiàn)與其他文章重復,就選定第4個語句序列作為這篇文章的目標序列,也就是把語句序列“第I篇文章第4句,第I篇文章第5句,第I篇文章第6句,第I篇文章第7句,第I篇文章第8句”的哈希值作為目標哈希值保存起來,用來判定后續(xù)文章是否重復。同時,為了提高容錯性,也可以多選取幾個語句序列作為目標序列,如在文章中間,相對靠前,或相對靠后的位置分別選取一個目標序列。而對于長度比較長的正文,如果計算全部語句序列,計算量會比較大??梢灾粡那安炕蛭膊窟x擇一定數(shù)量的語句序列進行計算。這樣可以保證比較高的消重正確率,同時也能減輕計算壓力。消重模塊104,適于將所述比較序列的哈希值依次與待比較文本中序列的哈希值相比較,如果存在相同的哈希值,則執(zhí)行消重操作。這樣,在比較第二篇文章時,前三個哈希值沒有發(fā)現(xiàn)與其他文章重復,但在比較第4個哈希值時,發(fā)現(xiàn)與第一篇文章重復。于是,則由文本標記單元200,對重復的文本標記重復記號;和/或由文本刪除單元202,對重復的文本進行刪除操作。同時,當選定多個目標序列時,多目標序列比較單元300將比較序列的哈希值依次與待比較文本中序列的哈希值相比較。待比較文本如果抽取部分序列計算哈希值,則可優(yōu)選在待比較文本中部、開頭、結(jié)尾以及中間分別抽取部分序列進行所述哈希值計算。圖4呈現(xiàn)了本發(fā)明的一種實施例的文本消重方法。首先,在步驟S400中,將目標文本和待比較文本依據(jù)分割符號分割成分割段,并將目標文本和待比較文本的分割段按相同的方式組成序列。例如,選定需要進行分隔的標點符號。如ASCII碼的逗號和據(jù)點等,還有中文逗號,中文句點等。然后依據(jù)這些標點符號,將文章的內(nèi)容劃分為一組語句序列。第一篇文章按標點分隔后的語句序列是 ,第I篇文章第I句,第I篇文章第2句,第I篇文章第3句,第I篇文章第4句,第I篇文章第5句,第I篇文章第6句,第I篇文章第7句,第I篇文章第8句,第I篇文章第9句,第I篇文章第10句,第I篇文章第11句,第I篇文章第12句”。第二篇文章在轉(zhuǎn)載第一篇文章時,將原文第I句和最后一句進行了修改。其由分割模塊100按標點分隔后的語句序列是”第2篇文章修改后第I句,第I篇文章第2句,第I篇文章第3句,第I篇文章第4句,第I篇文章第5句,第I篇文章第6句,第I篇文章第7句,第I篇文章第8句,第I篇文章第9句,第I篇文章第10句,第I篇文章第11句,第2篇修改后文章第12句”。組成序列的分割段數(shù)量依據(jù)統(tǒng)計數(shù)據(jù)獲得。此外,分割段的數(shù)量還可以通過人工經(jīng)驗來設定。在實踐中發(fā)現(xiàn),連續(xù)出現(xiàn)5句相同內(nèi)容的文章,消重的正確率與召回率都很高。這里提到的連續(xù)五條語句是在新 聞消重中證明相對比較可靠的語句數(shù)量,在處理其他類型的文章時可以適當進行調(diào)整。這樣,就以每5句來組成一個完整序列。第I篇文章的序列分別是“第I篇文章第I句,第I篇文章第2句,第I篇文章第3句,第I篇文章第4句,第I篇文章第5句”,“第I篇文章第2句,第I篇文章第3句,第I篇文章第4句,第I篇文章第5句,第I篇文章第6句,”,“第I篇文章第3句,第I篇文章第4句,第I篇文章第5句,第I篇文章第6句,第I篇文章第7句,”,“第I篇文章第4句,第I篇文章第5句,第I篇文章第6句,第I篇文章第7句,第I篇文章第8句,”,......“第I篇文章第8句,第I篇文章第9句,第I篇文章第10句,第I篇文章第11句,第I篇文章第12句”。第2篇文章的序列分別是“第2篇文章修改后第I句,第I篇文章第2句,第I篇文章第3句,第I篇文章第4句,第I篇文章第5句”,“第I篇文章第2句,第I篇文章第3句,第I篇文章第4句,第I篇文章第5句,第I篇文章第6句,”,“第I篇文章第3句,第I篇文章第4句,第I篇文章第5句,第I篇文章第6句,第I篇文章第7句,”,“第I篇文章第4句,第I篇文章第5句,第I篇文章第6句,第I篇文章第7句,第I篇文章第8句,”,......“第I篇文章第8句,第I篇文章第9句,第I篇文章第10句,第I篇文章第11句,第2篇修改后文章第12句”。再次,在步驟S402中,在目標文本中選定目標序列,計算出目標序列的哈希值以及待比較文本中全部或部分序列的哈希值;在上述序列劃分完成后,在第I篇文章中選定目標序列,同時對兩篇文章的序列進行哈希值計算。由于文章中中間內(nèi)容改動的可能性比較小,就選取中間的語句序列作為后續(xù)文章的目標序列。比如,如果第一篇文章沒有發(fā)現(xiàn)與其他文章重復,就選定第4個語句序列作為這篇文章的目標序列,也就是把語句序列“第I篇文章第4句,第I篇文章第5句,第I篇文章第6句,第I篇文章第7句,第I篇文章第8句”的哈希值作為目標哈希值保存起來,用來判定后續(xù)文章是否重復。同時,為了提高容錯性,也可以多選取幾個語句序列作為目標序列,如在文章中間,相對靠前,或相對靠后的位置分別選取一個目標序列。而對于長度比較長的正文,如果計算全部語句序列,計算量會比較大。可以只從前部或尾部選擇一定數(shù)量的語句序列進行計算。這樣可以保證比較高的消重正確率,同時也能減輕計算壓力。最后,在步驟S404中,將所述比較序列的哈希值依次與待比較文本中序列的哈希值相比較,如果存在相同的哈希值,則執(zhí)行消重操作。
這樣,在比較第二篇文章時,前三個哈希值沒有發(fā)現(xiàn)與其他文章重復,但在比較第4個哈希值時,發(fā)現(xiàn)與第一篇文章重復。于是,則執(zhí)行消重操作。即S500對重復的文本標記重復記號;和/或S502對重復的文本進行刪除操作,參見圖5。同時,當選定多個目標序列時,則執(zhí)行步驟S600,將比較序列的哈希值依次與待比較文本中序列的哈希值相比較,參見圖6。待比較文本如果抽取部分序列計算哈希值,則可優(yōu)選在待比較文本中部、開頭、結(jié)尾以及中間分別抽取部分序列進行所述哈希值計算。應當注意的是,在本發(fā)明的控制器的各個部件中,根據(jù)其要實現(xiàn)的功能而對其中的部件進行了邏輯劃分,但是,本發(fā)明不受限于此,可以根據(jù)需要對各個部件進行重新劃分或者組合,例如,可以將一些部件組合為單個部件,或者可以將一些部件進一步分解為更多的子部件。本發(fā)明的各個部件實施例可以以硬件實現(xiàn),或者以在一個或者多個處理器上運行的軟件模塊實現(xiàn),或者以它們的組合實現(xiàn)。本領域的技術人員應當理解,可以在實踐中使用微處理器或者數(shù)字信號處理器(DSP )來實現(xiàn)根據(jù)本發(fā)明實施例的控制器中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實現(xiàn)為適于執(zhí)行這里所描述的方法的一部分或者全部的設備或者系統(tǒng)程序(例如,計算機程序和計算機程序產(chǎn)品)。這樣的實現(xiàn)本發(fā)明的程序可以存儲在計算機可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。應該注意的是上述實施例對本發(fā)明進行說明而不是對本發(fā)明進行限制,并且本領域技術人員在不脫離所附權利要求的范圍的情況下可設計出替換實施例。在權利要求中,不應將位于括號之間的任何參考符號構造成對權利要求的限制。單詞“包含”不排除存在未列在權利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當編程的計算機來實現(xiàn)。在列舉了若干系統(tǒng)的單元權利要求中,這些系統(tǒng)中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
權利要求
1.一種文本消重系統(tǒng),其特征在于,所述系統(tǒng)包括 分割模塊,適于將目標文本和待比較文本依據(jù)分割符號分割成分割段,并將目標文本和待比較文本的分割段按相同的方式組成序列; 哈希值計算模塊,適于在目標文本中選定目標序列,計算出目標序列的哈希值以及待比較文本中全部或部分序列的哈希值; 消重模塊,適于將所述比較序列的哈希值依次與待比較文本中序列的哈希值相比較,如果存在相同的哈希值,則執(zhí)行消重操作。
2.如權利要求I所述的系統(tǒng),其特征在于,所述分割符號包括ASCII碼中的符號和/或中文全角\半角標點符號。
3.如權利要求I所述的系統(tǒng),其特征在于,所述分割符號為一個或一個以上。
4.如權利要求I所述的系統(tǒng),其特征在于,所述消重模塊進一步包括 文本標記單元,適于對重復的文本標記重復記號;和/或 文本刪除單元,適于對重復的文本進行刪除操作。
5.如權利要求I所述的系統(tǒng),其特征在于,所述序列由一個分割段或兩個以上連續(xù)的分割段組成。
6.如權利要求I所述的系統(tǒng),其特征在于,所述待比較文本如果只計算部分序列的哈希值,則目標序列在目標文本中的選定位置與待比較文本中部分序列的位置相對應。
7.如權利要求I所述的系統(tǒng),其特征在于,所述分割模塊進一步包括分割段閾值設定模塊,適于依據(jù)統(tǒng)計數(shù)據(jù)獲得組成序列的分割段數(shù)量。
8.如權利要求I或7所述的系統(tǒng),其特征在于,所述消重模塊進一步包括一多目標序列比較單元,適于當所述目標序列的個數(shù)大于I時,依次將每個目標序列的哈希值與待比較文本中的序列相比較。
9.一種文本消重方法,其特征在于,所述方法包括 將目標文本和待比較文本依據(jù)分割符號分割成分割段,并將目標文本和待比較文本的分割段按相同的方式組成序列; 在目標文本中選定目標序列,計算出目標序列的哈希值以及待比較文本中全部或部分序列的哈希值; 將所述比較序列的哈希值依次與待比較文本中序列的哈希值相比較,如果存在相同的哈希值,則執(zhí)行消重操作。
10.如權利要求9所述的方法,其特征在于,所述分割符號包括ASCII碼中的符號和/或中文全角\半角標點符號。
11.如權利要求9所述的方法,其特征在于,所述分割符號為一個或一個以上。
12.如權利要求9所述的方法,其特征在于,所述執(zhí)行消重操作進一步包括 對重復的文本標記重復記號;和/或 對重復的文本進行刪除操作。
13.如權利要求9所述的方法,其特征在于,所述序列由一個分割段或兩個以上連續(xù)的分割段組成。
14.如權利要求9所述的方法,其特征在于,所述待比較文本如果只計算部分序列的哈希值,則目標序列在目標文本中的選定位置與待比較文本中部分序列的位置相對應。
15.如權利要9所述的方法,其特征在于,所述組成序列的分割段數(shù)量依據(jù)統(tǒng)計數(shù)據(jù)獲得。
16.如權利要求9或15所述的方法,其特征在于,所述將所述比較序列的哈希值依次與待比較文本中序列的哈希值相比較進一步包括,當所述目標序列的個數(shù)大于I時,依次將每個目標序列的哈希值與待比較文本中的序列相比較。
全文摘要
本發(fā)明提供了一種文本消重系統(tǒng),所述系統(tǒng)包括分割模塊,適于將目標文本和待比較文本依據(jù)分割符號分割成分割段,并將目標文本和待比較文本的分割段按相同的方式組成序列;哈希值計算模塊,適于在目標文本中選定目標序列,計算出目標序列的哈希值以及待比較文本中全部或部分序列的哈希值;消重模塊,適于將所述比較序列的哈希值依次與待比較文本中序列的哈希值相比較,如果存在相同的哈希值,則執(zhí)行消重操作。
文檔編號G06F17/30GK102779188SQ20121022711
公開日2012年11月14日 申請日期2012年6月29日 優(yōu)先權日2012年6月29日
發(fā)明者盧宏林 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司