2012-12-05 5 views
3

R을 사용하여 정서 분석 도구를 만들고 중복에 몇 가지 문제가 있습니다. 데이터의 주요 출처는 Twitter이며, 많은 사람들이 각 트윗 끝에 임의의 텍스트를 추가하여 트위터 자체의 스팸 필터를 우회하는 것처럼 보입니다. 예를 들어"중복 가까운"문자열 찾기 R

Click xxxxx to buy the amazing xxxxx for FREE ugjh 

마지막으로 다른 임의의 문자열을 가진 엄청난 양의 트윗이 생성됩니다. 그들은 동일한 사용자 또는 다른 사용자 중 하나입니다.

duplicated 또는 unique과 같은 함수가 있습니다. 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'를 참조하십시오. –