对大量转载贴识别算法的研究
要識別論壇中被大量轉載的同一篇文章,初看起來不是一個很難的技術問題,只要生成所有文章的信息指紋,再將相同指紋分組就可以了。至于產生信息指紋的方式,最簡單的是用MD5或者SHA等單向Hash函數,如果為了減少存儲以及提高性能,同時可以容許一定誤差,可以再利用BloomFilter。
? 但是結合實際情況看一下,就能發現產生這種類別文章的指紋不能簡單的用MD5產生,因為當一篇文章被大量復制轉載的時候,未必是一字不差的。特別是一些發帖軟件為了規避論壇的檢查,會有意的將內容進行變形,插入空格,空白字符,或者進行個別詞語的替換等等;而只要有哪怕一個字的區別,都會產生全然不同的MD5結果。
? 還有一個思路是文本向量的匹配,即將文本先分詞再向量化之后比較他們在向量空間中的距離,設定一個閾值,距離小于該閾值的文本視為相同。這么做最大的好處是具有很好的抗干擾性,如果閾值調整合理,那么結果會有比較高的招回率。但是缺點也顯而易見,即計算量太大,而且事實上把尋找大規模轉載貼的問題又擴展成了聚類(Clustering)問題。
? 我們后來采用的方式是結合了兩種方案,即不將全文作為文本向量,而是在文中選取我們認為重要的詞匯(重要性可以根據該行業語料庫的TF/IDF詞頻信息判斷),保留相應的語序,再生成MD5。這里的基本假設是為了傳達相同的信息,大規模轉載貼的變形只會發生在相對不重要的詞匯上(包含空格,標點等),由于我們的算法會忽略這些元素,只關心核心詞匯,因此能夠在保證準確度的基礎上獲得一定抗干擾性。
? 從部分分析結果看,算法的效果還是不錯的,在我們隨機選取的近600萬的帖子中,查找到了近3萬5千條有轉載的帖子,而這4萬條帖子包含了大約10000條獨立的內容;其中一則內容為"所有現車 全部降價出手 .... 交易成功可送車出湖南或代辦安全托運”的賣車貼,除了車型,價格,時間略有變化外,在我們的樣本集里被轉載了近1000次。
? 當我們忽略轉載量小于10的帖子后,剩余的獨立內容有370個,而它們的轉載總量達到了7878次。我們對轉載數取了對數,并按照轉載數對內容排名,繪出了下列圖表
from:http://blog.csdn.net/CICTech/archive/2009/02/12/3880945.aspx
總結
以上是生活随笔為你收集整理的对大量转载贴识别算法的研究的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 情感分析(Sentiment Analy
- 下一篇: 生物信息学(Bioinformatics