2007년 8월 10일 금요일

SVM을 이용한 악성 댓글 판별 시스템의 설계

음.....

강승식 교수님께 형태소 분석기를 문의 드리면서,
하려고 하는 프로젝트에 설명을 드렸더니...
정말 친절하시게도 논문 2편을 보내주셨다.
이 논문은 김묘실씨와 강승식 교수님의 작품이다.

관련된 논문은 많이 있지만... 한국에서 비슷한 연구를 수행했다니 신기했다.
역시... 악성 댓글로 머리 아픈 한국에서 이런 연구 하나 없었다면 말이 되지 않겠지만...

SVM을 이용한 이유는 누차 얘기했지만...
Turney의 논문에 따른 결과라고 할 수도 있겠고,
직관적으로 비방과 비방이 아닌 글의 2 그룹으로의 분류이기 때문이기도 하다.

SVM을 이용하기 때문에 적절한 feature를 뽑아내는 게 가장 중요한 일이다.
본 논문에서는 적절한 feature들을 뽑기위해 HAM(형태소 분석기)을 이용해 악성 댓글에서 자주 쓰이는 단어나, 서술어를 뽑아 data화 하였다.
그 후 SVM을 적용해 trainng하였고, test하였다.

평가 결과는 다음과 같다.
먼저 긍정적인 댓글에 대한 결과이다.
Accuracy = 0.615
Precision = 0.505
Recall = 0.79
F1-measure = 0.62

악성 댓글에 대한 실험 결과는 10-fold cross validation방식으로 측정하였다.
cross validation이란 한 data set을 2개로 나눠서 하나는 training으로 다른 하나는 test로 이용하는 것이다. k-fold cross validation은 data set을 k개로 나누고, 하나는 test로 다른 k-1개의 data는 training으로 이용하는 것이다.

여기서는 대략 70%정도의 F1-measure결과가 나왔다.

70%정도의 성능이라면 대단히 우수하다고 볼 수 있지만,
data set의 크기를 고려해보면 아직 유의한 결과라고 볼 수 없다.
더 큰 data set을 고려해서 test한 결과를 생각해 보아야 할 것이다.

주목할 만한 결과는 명사만을 feature로 선택했을 경우가 다른 품사를 포함하는 경우보다 성능이 1.1%정도 높았다고 한다. 1.1%면 유의한 의미를 지닌다고 얘기하기 힘들수도 있겠지만...
또한, 어절자체를 포함한 경우가 어절을 포함하지 않고 명사만을 고려한경우보다 1.5%정도 성능 향상의 결과를 가져왔다. 이것은 네티즌들이 유행처럼 사용하는 신조어의 영향 때문이라고 보았는데 이런 신조어가 악성 리플에 자주 등장한다고 볼 수 있겠다. 또한 이런 신조어를 잘 살펴보는 것이 악성 댓글 검출의 성능 향상시킬 수 있는 방법이 될 수도 있다고 할 수 있다.
여기서도 100자 미만의 문장 내에서 파악할 수 있는 감정의 크기의 한계가 드러난다는 언급이 있다.

이 논문에서의 한계점을 또 지적하자면.
무엇보다 인터넷 상에서 다양한 파생어가 발생하고,
자주 쓰이는 것들을 고려하기 위해선 자동적으로 단어 data를 만들고 이들의 sement orientation을 찾는 알고리즘이 적용되어야 한다.
또한 성능 개선을 위해 , text에서 단어들로 구분 되지 않는 룰들도 적용되어질 수 있을 것이다.



그건 그렇고....

형태소 분석기를 도데체 어디서 구할 수 있을까....

한국어 형태소 분석기는 너무 구하기가 힘들다..

이런 문제에 부딪힐 줄이야.

댓글 1개:

JongSoo :

한국어 형태소 분석기는 구하기도 힘들지만 품질또한 형편없더라구요;;;