2012-12-05 58 views
3

我正在使用R構建情感分析工具,並遇到一些重複的問題。數據的主要來源是Twitter,看起來好像很多人在每封推文結尾添加了一些隨機文本,繞過了Twitter自己的垃圾郵件過濾器。例如在R中查找「near duplicates」字符串

Click xxxxx to buy the amazing xxxxx for FREE ugjh 

我得到噸的那些確切的鳴叫與不同的隨機字符串結束。他們來自同一個用戶或來自不同的用戶。

是否有像duplicatedunique這樣的函數返回2個字符串的接近程度,以及它們是否高於某個特定的百分比來解除它們?

我知道這樣做最終會從人們說一模一樣刪除真正的鳴叫,就像

I love xxxx ! 

但我會處理的,在未來。

任何小費在正確的方向將不勝感激!

+2

'agrep'使用Levenshtein距離和最有可能是有用的在這裏。 –

+0

http://rpubs.com/bbolker/6735可能很有用 –

回答

5

我上面提到了agrep。這裏有一個你已經解釋過的例子。通過改變max.distance我們可以通過調整得到什麼踢:

comp <- "Click xxxxx to buy the amazing xxxxx for FREE ugjh" 
w <- "I love xxxx !" 
x <- "Click xxxxx to purchase the awesome xxxxx for FREE bmf" 

agrep(comp, c(x, w), max.distance =.4, value = TRUE) 
agrep(comp, c(x, w), max.distance =.9, value = TRUE) 
+0

@Tyler我試着用1,agrep(comp,c(x,w),max.distance = 1,value = TRUE),但我什麼都沒得到!這樣的行爲? – agstudy

+0

有關使用分數和整數的max.distance的詳細信息,請參閱'?agrep'。 –