短文本合並重復(去重)的簡單有效做法


短文本合並重復(去重)的簡單有效做法

2012/6/12

不大合適的SimHash

前些日子看了Charikar SimHash的介紹《Simhash算法原理和網頁查重應用》,核心思想是用一個f位的hash值來表示文件的特征值,然后使用hash值之間的Hamming距離來衡量相似性。輸入的是一個文檔的特征集合,輸出的是f位的二進制數S。

於是用來測試短文本(長度在8個中文字符~45個中文字符之間)相似性,做法很簡單:

1.將短文本做分詞,得到分詞數組,數組每一個元素都轉為hash字符串。

2.利用simhash算法來計算分詞數組的simhash值。

3.利用simhash的similarity算法計算simhash1和simhash2的相似度。

這種做法的缺點是:

1.誤判率高。

如下圖所示,

 http://images.cnblogs.com/cnblogs_com/zhengyun_ustc/255879/o_Simhash%E8%BF%91%E4%BC%BC%E6%9F%A5%E9%87%8D%E7%B2%BE%E5%BA%A6%E5%B9%B6%E4%B8%8D%E9%AB%98.png

SimHash可能不適合做這種短標題的重復度判斷,雖然SimHash在空間消耗和計算復雜性方面相對Shingle和BloomFilter占優

 

介紹一下2009年2月份我們做Twitter銳推榜時是如何做的

Twitter中對於熱門事件的中文表達多種多樣,轉發時又往往會追加很多格式的各種內容,造成了相似內容的短文本的信息指紋不同,在這種情況下,段國成認為需要先為短文本抽取標簽,再通過標簽來計算相似度進行銳推合並。

1.短文本抽取標簽的方法:

1.1. 剔除所有英文、數字、標點字符;

1.2. 剔除所有Twitter用戶名;

1.3.分詞,並標注詞性,僅保留實體詞性,如名詞、動詞;(技巧一!)

1.4.過濾掉常用實體詞(常用實體詞是通過對歷史銳推訓練而得,即建立自己的停止詞表);(技巧二!)

1.5.計算保留實體詞的詞頻,並以此為權重,選擇權重大的詞語作為標簽;

1.6.標簽數組長度大於一個閾值(如3),才認為是有信息量的銳推,否則忽略。(技巧三!)

 

2.合並相似短文本(即我們所說的Retweet)方法:

2.1.以每個標簽作為Shingle特征(即核心思想還是“一個數據段分成若干Shingle,每個Shingle計算出一個hash值,然后組成一個以hash值為元素的數組,以此作為特征值或叫信息指紋來表示這個數據段”);

2.2.以網頁去重領域中改進的Shingle方法來進行計算近期內(目的:縮小計算范圍)銳推的相似度(Shingle算法的核心思想是將文本相似性問題轉換為集合的相似性問題,改進的Shingle方法的時間復雜度近似於線性);

2.3.對相似程度大於一定閾值的、不同信息指紋的熱門銳推,再次掃描出來,將它們的熱度進行合並。

 

以上結果就構成了 @rtmeme 的運算機制。它特別適合處理十幾個、幾十個漢字的短文本合並重復,適用於微博領域。

 

也看到有人這么做:先Shingle再SimHash,不知道是否適合海量短文本合並重復,回頭試試看。

@鄭昀 於北京

 

 

推薦閱讀:

1、

『我認為騰訊目前的O2O產品其實是沒任何借鑒意義的,因為真的做得比較差。但我們也有一點做好的決心。……所以盡管我們在局部解決了閉環的問題,但實際上整個O2O的閉環仍然是遙遙無期的事情。』——《戴志康:讓我焦躁並痛苦着的O2O》http://t.cn/zOFL5Cc

2、

#O2O是個偽概念#:知乎O2O系列問答:http://t.cn/SzuEjr ;清科投資集團對O2O的解讀:http://t.cn/zOgcikN ;黃紹麟:O2O和無線電子商務是偽概念 http://t.cn/zOfodfZ

3、

推薦閱讀:『而Google的#simhash#算法產生的簽名,可以用來比較原始內容的相似度時,便很想了解這種神奇的算法的原理。出人意料,這個算法並不深奧,其思想是非常清澈美妙的。』——《Simhash算法原理和網頁查重應用》http://t.cn/zOrhqUb

4、

舊文推薦閱讀:『我的團長我的團中,學生李梁對龍文章說,我相信你們能戰勝日本人,但問題仍然存在。李鴻章們不遺余力地修鐵路、辦實業,但問題依然存在。 器物上的改變是不會解決問題的。』http://t.cn/zOlg0Kg

 

贈圖一枚:

http://ww4.sinaimg.cn/large/70a90346gw1dtjk9sv096j.jpg  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM