어제 교수님과 식사겸 논문 세미나를 했는데, 국내 모 언론사에 다니시는 대학원 원우님께서 나의 논문주제에 이번에도 상당한 관심을 보이셨다.
그런데 아니다 다를까 오늘 전화를 하셔서 많은 내용을 물어보셨다.
문제는 덧글 스팸에 대한건데, 요즘 이놈이 글을 읽는데 상당한 재미를 제공해 주기도 하지만 그와 반면에 엄청난 스팸이 달려서 이것때문에 골치가 아프다는 말씀을 하셨다. (요즘 악플도 문제다. 그 종교문제로 인한….)
대충 언론사 스팸의 케이스를 물어보니 어떤 물품을 구매하는 사이트로 유도하는 E-Mail 스팸의 성격의 것들이 대부분인것 같았다. 요즘의 블로그 덧글 스팸하고는 경향이 많이 다른것들이다.
이것은 구글에서 사이트의 검색 랭킹을 올려서 돈을 버는 업제들이 국내에는 별로 없다는 것하고도 관련이 있으니, 결과적으로 구글이 아직 국내서 힘을 못써서 이런 스팸의 경향이 있다고도 할 수 있을거 같다.
그래서 몇가지 조언을 해드렸다.
1. 에디터들의 스팸판정 데이터를 축적하라!
2. Project Honey pot의 스팸 ip를 모니터링하라.
3. 스팸 유형에 대해서 주기적으로 모니터링하고 History를 관리하라.
4. 스팸필터를 맹신하지 말라.
5. 같은 내용의 덧글이 반복적으로 발생하는지 체킹하라.
1번의 문제는 그곳에서 스팸판정 데이터를 에디터들의 확인후 완전히 지운다고 해서 해드린 말씀이다. 이것은 3번하고도 연관이 있는 부분인데 스팸의 경향은 유행이 있다. 예전 스팸이 다시 나타날 가능성도 충분하고, 주기적으로 유행에 맞게 스팸은 진화한다. 그 진화의 간격이 짧게는 3개월 주기라고도 하니 회사 내부적으로 주기를 가지고 스팸 판정 데이터를 관리해야 한다. 나중에 그 데이터들이 회사의 크나큰 자산이 될지도 모른다.
Project Honey pot 이라는 프로젝트가 있는데, 이 프로젝트는 꿀단지(?)를 이용해 스팸 로봇을 유인하고 그 로봇의 ip 정보를 누적시키는 프로젝트이다. 여기서 제공하는 HTTP:BL API를 이용하는것도 괜찮은 방법이고, 여기서 제공하는 한국쪽 스팸IP만 제공받아서 체킹만 해도 많이 필터링 될것이라 생각된다. 물론 이곳에서 제공하는 정보를 맹신하면 안될것이고, 자신만의 Honey Pot을 만들어 스팸IP를 수집하는것도 꽤 괜찮은 방법이라 생각한다.
스팸필터를 맹신하지 말라 라는 부분은 스팸필터를 최적으로 관리하지 않고 사용하면 오분석할 확률이 많아진다는 것이다. 아까 말했던 스팸 누적 데이터를 관리하라는 부분과 일맥상통한다. 이 부분은 스팸 분류 알고리즘들이 어떻게 작동하는지 이해하는 부분부터 시작해야 할 것같다. ^^;
일단 false positive(햄인데 스팸으로 판정하는 경우)가 스팸 필터에서는 이슈인데, 필터를 쓴다면 이 부분에 대한 많은 고민이 필요할 것이다.
또한 스팸을 판정하는 phrases를 어떻게 묶어주는지도 하나의 이슈중에 하나다. 이런건 다년의 경험과 데이터가 없으면 하기 힘든 작업중에 하나다.
마지막은 로봇으로 같은 본문의 덧글을 만드는것에 효과적인 방법이다. 그리고 역효과도 많이 없을듯 하다. 그렇지만 데이터가 방대할 경우 searching complexity가 높을 가능성이 있기 때문에 본문을 md5 해싱해서 sorting해 키를 저장해 놓는 방법을 쓴다면 O(n)까지의 복잡도는 피할수 있을거 같다. 입력이 빈번히 일어나니, B-Tree 계열의 방법을 쓰는것도 괜찮을거 같다.
내가 captcha를 쓰면 될거 같은데요.. 하고 천연덕 스럽게 질문했는데, 역시나 대답은 같았다.
“사용자들이 부담스러워 한다.”
맞는 말이다.
위의 방법들이 완벽한건 아니지만, 조합하면 꽤 많은 인력 리소스 낭비를 줄일 수 있을거라 확신한다.
질문을 하신분은 나의 논문 실험 결과가 빨리 나오기를 바라시는 분중에 한분이여서 세심하게 답변을 드렸다. 생각같아서는 그곳 언론사 덧글 스팸들을 모아서 training시키고 싶었지만, 일단 대상을 영문 스팸으로 잡아서 여쭤 보지는 않았다.
영문 스팸의 필터링 성능이 좋다면 위의 문제에도 충분한 성능을 발휘하리라 예상하고 있다.
금일 모 언론사 컨설팅(?) 내용 by from __future__ import dream is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.