항상 가까운 곳에서 함께하던 스팸(SPAM)을 필터링 하기 위한, 정통적인 방식과 기계학습을 응용한 최근 방식을 소개한다.
참고 논문 :
Classifying Unsolicited Bulk Email (UBE) using Python Machine Learning Techniques
논문에서 다루는 전통적인 방식과 기계학습 응용 방식의 필터링에 자연어 처리 (NLP) 기법을 추가했다.
1. 단어 필터
- 전통적인 방식의 필터링이다.
- 스팸의 근거가 되는 단어/패턴/속성 사전에 대한 관리가 필요하다.
2. 형태소 필터
- 자연어 처리 (NLP)의 형태소 문법 패턴을 이용했다.
- 스팸의 근거가 되는 문법 패턴을 통해 걸러 낸다.
3. 의미 필터
- 기계학습을 이용한 방식이다.
- 스팸 자료를 학습 데이터로 모델을 만들어 분류한다.
* 팁
- 필터 단어나 문법 패턴은 실제 스팸 자료를 가공해서 상위 빈도를 참고한다.
- 한글이 영어와 달라 학습 자료가 적을 경우는 정확도가 낮음으로, NLP를 통해 의미를 가지는 형태소 위주로 전 처리 후 사용한다.
- 학습 모델 생성 시, STOPWORD와 TF-IDF는 정확도를 높여주는 좋은 친구다.
본문관련 파이톤 코드는 다음을 참고하자.
https://bitbucket.org/snippets/juhoon26/LLRgj
- 전통적인 방식의 필터링이다.
- 스팸의 근거가 되는 단어/패턴/속성 사전에 대한 관리가 필요하다.
2. 형태소 필터
- 자연어 처리 (NLP)의 형태소 문법 패턴을 이용했다.
- 스팸의 근거가 되는 문법 패턴을 통해 걸러 낸다.
3. 의미 필터
- 기계학습을 이용한 방식이다.
- 스팸 자료를 학습 데이터로 모델을 만들어 분류한다.
* 팁
- 필터 단어나 문법 패턴은 실제 스팸 자료를 가공해서 상위 빈도를 참고한다.
- 한글이 영어와 달라 학습 자료가 적을 경우는 정확도가 낮음으로, NLP를 통해 의미를 가지는 형태소 위주로 전 처리 후 사용한다.
- 학습 모델 생성 시, STOPWORD와 TF-IDF는 정확도를 높여주는 좋은 친구다.
본문관련 파이톤 코드는 다음을 참고하자.
https://bitbucket.org/snippets/juhoon26/LLRgj