인터넷 기사에 대한 댓글은 토론 및 소통 등 긍정적 효과도 있지만, 악성 댓글은 사람의 목숨을 앗아가는 정도로 심각한 문제이다. 이런 측면에서 악성 댓글을 자동으로 검출하는 것은 중요한 문제이다. 그러나 현재 채택되고 있는 금칙어 바탕의 댓글 필터 방안은, 특히 한글 댓글의 경우 효과적이지 못한 실정이다. 이 논문에서는 형태소 분석을 통해 비속어 형태소와 존대어 형태소를 구별함으로써 댓글 필터링을 수행하는 방법을 제안한다. 이들 두 형태소를 바탕으로 댓글 건전도를 계산하고, 또한 건전도를 바탕으로 한 댓글 충격량 계산방법을 여럿 제안한다. 악성 댓글을 대상으로 한 실험을 수행한 결과, 포털에서 수행되고 있는 클린봇보다 재현율이 37.93% 포인트 개선되었으며 F-지수 값은 47.66 포인트 개선된 것으로 나타났다. 이 결과에 따르면, 형태소 분석을 기초로 한 새로운 필터 방법이 금칙어를 바탕으로 한 방법의 좋은 대안이 될 수 있을 것으로 기대된다.
인터넷 기사에 대한 댓글은 토론 및 소통 등 긍정적 효과도 있지만, 악성 댓글은 사람의 목숨을 앗아가는 정도로 심각한 문제이다. 이런 측면에서 악성 댓글을 자동으로 검출하는 것은 중요한 문제이다. 그러나 현재 채택되고 있는 금칙어 바탕의 댓글 필터 방안은, 특히 한글 댓글의 경우 효과적이지 못한 실정이다. 이 논문에서는 형태소 분석을 통해 비속어 형태소와 존대어 형태소를 구별함으로써 댓글 필터링을 수행하는 방법을 제안한다. 이들 두 형태소를 바탕으로 댓글 건전도를 계산하고, 또한 건전도를 바탕으로 한 댓글 충격량 계산방법을 여럿 제안한다. 악성 댓글을 대상으로 한 실험을 수행한 결과, 포털에서 수행되고 있는 클린봇보다 재현율이 37.93% 포인트 개선되었으며 F-지수 값은 47.66 포인트 개선된 것으로 나타났다. 이 결과에 따르면, 형태소 분석을 기초로 한 새로운 필터 방법이 금칙어를 바탕으로 한 방법의 좋은 대안이 될 수 있을 것으로 기대된다.
Even though the replying comments on Internet articles have positive effects on discussions and communications, the malicious comments are still the source of problems even driving people to death. Automatic detection of malicious comments is important in this respect. However, the current filtering...
Even though the replying comments on Internet articles have positive effects on discussions and communications, the malicious comments are still the source of problems even driving people to death. Automatic detection of malicious comments is important in this respect. However, the current filtering method of the malicious comments, based on forbidden words, is not so effective, especially for the replying comments written in Korean. This paper proposes a new filtering approach based on morpheme analysis, identifying coarse and polite morphemes. Based on these two groups of morphemes, the soundness of comments can be calculated. Further, this paper proposes various impact measures for comments, based on the soundness. According to the experiments on malicious comments, one of the impact measures is effective for detecting malicious comments. Comparing our method with the clean-bot of a portal site, the recall is enhanced by 37.93% point and F-measure is also enhanced up to 47.66 points. According to this result, it is highly expected that the new filtering method based on morpheme analysis can be a promising alternative to those based on forbidden words.
Even though the replying comments on Internet articles have positive effects on discussions and communications, the malicious comments are still the source of problems even driving people to death. Automatic detection of malicious comments is important in this respect. However, the current filtering method of the malicious comments, based on forbidden words, is not so effective, especially for the replying comments written in Korean. This paper proposes a new filtering approach based on morpheme analysis, identifying coarse and polite morphemes. Based on these two groups of morphemes, the soundness of comments can be calculated. Further, this paper proposes various impact measures for comments, based on the soundness. According to the experiments on malicious comments, one of the impact measures is effective for detecting malicious comments. Comparing our method with the clean-bot of a portal site, the recall is enhanced by 37.93% point and F-measure is also enhanced up to 47.66 points. According to this result, it is highly expected that the new filtering method based on morpheme analysis can be a promising alternative to those based on forbidden words.
이 논문에서는 온라인 포털 사이트의 뉴스 기사에 대한 악성 댓글을 필터링하는 방법에 대해 제안하고 실험 결과를 제시하였다. 구체적으로 악성 댓글을 필터링하기 위한 시스템을 제안하고 이 시스템을 기반으로 여러 가지 실험을 수행하였다.
이 논문은 뉴스 사이트의 악성 댓글을 필터링하기 위해 댓글의 속성 및 어조의 특성을 파악하여 비속어의 강도에 따른 심층적인 비속어 필터링 방법을 제안한다. 먼저 뉴스 포털(네이버 뉴스)의 기사별 댓글을 수집하여 댓글 길이별로 악성 댓글 분포를 조사하였다.
가설 설정
여기에서는 댓글 길이별로 악성 댓글 분포도가 차이가 있는지를 확인하였다. 앞에서 우리는 댓글 길이가 길면 악성 댓글이 있을 확률이 높다고 가정하였다. 실험을 위해 2021년 6월 1일 하루 동안 업로드되는 네이버 기사를 분야별로 댓글을 수집하였다.
제안 방법
이 논문에서는 온라인 포털 사이트의 뉴스 기사에 대한 악성 댓글을 필터링하는 방법에 대해 제안하고 실험 결과를 제시하였다. 구체적으로 악성 댓글을 필터링하기 위한 시스템을 제안하고 이 시스템을 기반으로 여러 가지 실험을 수행하였다.
이 논문에서는 이전 연구와 달리, 댓글의 어조를 파악하고 이를 활용하여 악성 댓글 필터링을 수행하고자 한다. 댓글의 어조를 비속어, 존대어, 예사어로 구분하고 댓글 길이를 분석한다. 형태소 분석을 통해 추출한 비속어 및 존대어 형태소를 바탕으로 댓글 건전도 및 충격량을 분석한다.
댓글의 어조를 판단하기 위해, NNG(보통 명사), VV(동사), VA(형용사), MAG(일반 부사) 외에 ‘-놈’을 나타내는 NNB(일반 의존 명사)와 ‘-ㅂ니다’를 나타내는 EFN(평서형 종결 어미), NP(대명사), IC(감탄사), JKS(주격 조사), JKM(목적격 조사), EPH(존칭 선어말어미), EPT(시제 선어말 어미), EPP(공손 선어말 어미), EFQ(의문형 종결 어미), EFO(명령형 종결 어미), EFA (청유형 종결 어미), EFI(감탄형 종결 어미), EFR(존칭 형 종결 어미), ECD(의존적 연결 어미), XSN(명사 파생 접미사), XR(어근)으로 21개의 품사를 유효 품사로 정의하였다.
먼저 뉴스 포털(네이버 뉴스)의 기사별 댓글을 수집하여 댓글 길이별로 악성 댓글 분포를 조사하였다. 또한, 비속어 및 존대어 형태소를 바탕으로 한 댓글 건 전도개념을 확장하여 댓글 충격량을 제시하였다. 실제 악성댓글을 대상으로 건전도 및 충격량 실험을 통해 악성댓글 검출에 효과적인 기준을 선정하였다.
이 논문은 뉴스 사이트의 악성 댓글을 필터링하기 위해 댓글의 속성 및 어조의 특성을 파악하여 비속어의 강도에 따른 심층적인 비속어 필터링 방법을 제안한다. 먼저 뉴스 포털(네이버 뉴스)의 기사별 댓글을 수집하여 댓글 길이별로 악성 댓글 분포를 조사하였다. 또한, 비속어 및 존대어 형태소를 바탕으로 한 댓글 건 전도개념을 확장하여 댓글 충격량을 제시하였다.
이 절에서는 제안 시스템을 이용한 실험 결과를 소개한다. 먼저 댓글 길이에 따른 악성 댓글 분포를 조사하였다. 어조별 평균 댓글 길이 및 다음으로 건전도가 낮은 악성 댓글은 주로 어느 분야에서 많이 생성되는지를 확인하였다.
네이버 뉴스1의 첫 페이지는 정치, 경제, 사회, 생활/ 문화, 세계, IT/과학으로 기사가 나뉘어서 실시간으로 게재된다. 섹션별 뉴스는 네이버의 AiRS 추천을 통해 구성된 뉴스로 사람들이 관심 있는 주제의 뉴스를 인공지능을 통해 실시간으로 분석하여 제공한다. 주요 뉴스에는 댓글이 달릴 확률이 높으므로, 주요 뉴스를 실시간으로 계속 크롤링하여 댓글을 수집하였다.
비속어 댓글 필터링 시스템에서 뉴스 포털(네이버 뉴스)의 첫 페이지를 통해 분야별로 주요 뉴스를 수집한다. 실시간으로 자동 갱신되는 주요 뉴스를 대상으로 자체 제작한 웹 크롤러를 이용하여 기사 댓글을 수집한 후 SQLite 데이터베이스 파일로 저장하였다. 길이 분석을 통해 평균 길이 이상의 댓글만을 선택하여 형태소를 분석한 후, 비속어 목록 데이터베이스를 참고하여 댓글의 비속어 및 존대어를 분석한다.
향후에는 댓글 필터링 시스템의 속도 향상에 관한 연구를 진행하려고 한다. 우리가 제안한 시스템은 댓글에서 존대어와 비속어를 찾아내는 데 꼬꼬마 형태소 분석기를 사용한다. 꼬꼬마 형태소 분석기는 결과가 정확하고 비속어 및 존대어 관련 품사를 다양하게 지원한다는 장점이 있지만, 형태소 분석기의 특징이 결과가 정확해질수록 속도가 느려진다는 단점이 있다.
이 논문에서는 이전 연구와 달리, 댓글의 어조를 파악하고 이를 활용하여 악성 댓글 필터링을 수행하고자 한다. 댓글의 어조를 비속어, 존대어, 예사어로 구분하고 댓글 길이를 분석한다.
진리 집합을 구성하기 위해 100 개의 무작위 정치 기사 댓글을 추출하여 사람이 직접 악성도를 평가하였다. 이를 기반으로 논문에서 제안하는 시스템과 네이버 클린봇에 100개의 무작위 정치 기사 댓글을 넣어서 출력 결과를 비교해보았다. 실험 결과, 재현율이 37.
포털 사이트의 클린봇과의 성능 비교 실험을 수행한 결과 제안 시스템이 클린봇에 비해 4배 정도로 성능이 높은 것으로 나타났다. 진리 집합을 구성하기 위해 100 개의 무작위 정치 기사 댓글을 추출하여 사람이 직접 악성도를 평가하였다. 이를 기반으로 논문에서 제안하는 시스템과 네이버 클린봇에 100개의 무작위 정치 기사 댓글을 넣어서 출력 결과를 비교해보았다.
댓글의 어조를 비속어, 존대어, 예사어로 구분하고 댓글 길이를 분석한다. 형태소 분석을 통해 추출한 비속어 및 존대어 형태소를 바탕으로 댓글 건전도 및 충격량을 분석한다. 논문에서 제안하는 비속어 댓글 필터링 시스템의 구조는 [그림 1]과 같다.
대상 데이터
웹 크롤링은 데이터 수집, 데이터 추출, 데이터 보존단계로 구성된다. 데이터 수집 단계에서는 웹 사이트의 HTML 등의 데이터를 수집한다. 하지만 HTML에는 필요한 문장 데이터만이 아닌 태그 등의 데이터도 들어있기 때문에 필요한 것만 추출하는 작업이 필요하다.
유효 형태소는 건전도를 구할 때 사용하는 21 종류의 유효 형태소를 가리킨다. 무효 형태소는 KKMA가 구분하는 형태소 중에서 유효형태소를 제외한 것으로 총 35 종류의 형태소이다. 비형태소는 형태소가 아닌 것으로 이모티콘, 자음, 모음, 특수문자, 숫자 등이 있다.
비속어 댓글 필터링 시스템에서 뉴스 포털(네이버 뉴스)의 첫 페이지를 통해 분야별로 주요 뉴스를 수집한다. 실시간으로 자동 갱신되는 주요 뉴스를 대상으로 자체 제작한 웹 크롤러를 이용하여 기사 댓글을 수집한 후 SQLite 데이터베이스 파일로 저장하였다.
실험을 위해 2021년 6월 1일 하루 동안 업로드되는 네이버 기사를 분야별로 댓글을 수집하였다. 수집 결과, 총 7, 241개의 댓글을 수집하였는데, 수집한 댓글의 길이별로 세 분류로 나눈 후, 비속어 댓글 비율을 확인하였다. 네이버에는 댓글이 공백을 제외하고 최대 300자가 입력되지만, 수집한 댓글 분석 결과 평균 길이는 41.
앞에서 우리는 댓글 길이가 길면 악성 댓글이 있을 확률이 높다고 가정하였다. 실험을 위해 2021년 6월 1일 하루 동안 업로드되는 네이버 기사를 분야별로 댓글을 수집하였다. 수집 결과, 총 7, 241개의 댓글을 수집하였는데, 수집한 댓글의 길이별로 세 분류로 나눈 후, 비속어 댓글 비율을 확인하였다.
진리 집합을 결정하기 위해 우리는 [표 4]에서 수집한 정치 분야 댓글 42, 895개 중에서 100개를 무작위로 추출하여 사람이 댓글을 평가하게 하였다. 편의를 위해평가 항목을 매우 기분 좋음, 기분 좋음, 조금 기분 좋음, 조금 기분 나쁨, 기분 나쁨, 매우 기분 나쁨의 6개로 제공하였다.
충격량 실험을 위해 먼저 2021년 6월 10일 목요일부터 2021년 6월 16일 수요일까지 일주일 동안 네이버 댓글을 수집하였다. 분야별로 수집한 전체 댓글 수와 악성 댓글 수는 [표 4]와 같다.
다음으로 하루 동안 수집한 네이버 뉴스 댓글의 건전도 분포를 분석하였다. 하루 동안 수집된 댓글 중 평균 길이 이상의 댓글은 정치 1, 018개, 경제 325개, 사회 513개, 생활 178개, 세계 238개, IT/과학 133개였는데 이들 분포는 [그림 2]와 같다. 표준편차는 정치 0.
데이터처리
실시간으로 자동 갱신되는 주요 뉴스를 대상으로 자체 제작한 웹 크롤러를 이용하여 기사 댓글을 수집한 후 SQLite 데이터베이스 파일로 저장하였다. 길이 분석을 통해 평균 길이 이상의 댓글만을 선택하여 형태소를 분석한 후, 비속어 목록 데이터베이스를 참고하여 댓글의 비속어 및 존대어를 분석한다.
다음으로 하루 동안 수집한 네이버 뉴스 댓글의 건전도 분포를 분석하였다. 하루 동안 수집된 댓글 중 평균 길이 이상의 댓글은 정치 1, 018개, 경제 325개, 사회 513개, 생활 178개, 세계 238개, IT/과학 133개였는데 이들 분포는 [그림 2]와 같다.
앞서 제시한 건전도 및 충격량의 상관관계 분석을 실시하였다. 또한 네이버 클린봇과 제안 시스템의 성능을 비교하였다.
어조별 평균 댓글 길이 및 다음으로 건전도가 낮은 악성 댓글은 주로 어느 분야에서 많이 생성되는지를 확인하였다. 앞서 제시한 건전도 및 충격량의 상관관계 분석을 실시하였다. 또한 네이버 클린봇과 제안 시스템의 성능을 비교하였다.
제안 시스템의 성능을 측정하기 위해, 진리 집합(58개의 악성 댓글)을 바탕으로 네이버 클린봇과의 비교 실험을 수행하였다. 실험 결과는 [표 7] 및 [표 8]과 같다.
성능/효과
우리가 제안한 시스템은 댓글에서 존대어와 비속어를 찾아내는 데 꼬꼬마 형태소 분석기를 사용한다. 꼬꼬마 형태소 분석기는 결과가 정확하고 비속어 및 존대어 관련 품사를 다양하게 지원한다는 장점이 있지만, 형태소 분석기의 특징이 결과가 정확해질수록 속도가 느려진다는 단점이 있다. 시스템 성능을향상시키기 위해 형태소 분석 부하를 최소한으로 줄여야 하는데, 이는 향후 연구로 생각하고 있다.
먼저 우리는 댓글 길이별로 악성 댓글 분포도가 차이가 있는지 확인하였는데, 일반적으로 비속어를 사용하면 글의 길이가 짧아지는 경향이 있음에도 불구하고 악성 댓글이 일반 댓글보다 평균 댓글 길이가 긴 것을 확인하였다. 이는 악성 댓글은 비속어뿐만 아니라 기사 대상이 불쾌해할 만한 내용을 공들여 작성하기 때문인것으로 판단된다.
이를 기반으로 논문에서 제안하는 시스템과 네이버 클린봇에 100개의 무작위 정치 기사 댓글을 넣어서 출력 결과를 비교해보았다. 실험 결과, 재현율이 37.93% 포인트 개선되었으며 F-지수 값은 47.66 포인트 개선된 것으로 나타났다.
[표 1] 은 댓글 길이에 따른 악성 댓글 분포 실험 결과를 나타낸 것이다. 실험 결과, 하루 동안 수집한 7, 241개의 댓글 중 10.22%인 740개의 댓글이 악성 댓글임을 확인하였다. 총 댓글을 댓글 길이별로 나눠서 계산하면 짧은 댓글은 5.
재현율(recall)과 정밀도(precision), F1 지수를 비교하였는데, 제안 시스템의 재현율과 F1 지수가 크게 향상된 것으로 나타났다. [표 9]의 성능 평가 결과, 제안시스템의 재현율은 46.
22%인 740개의 댓글이 악성 댓글임을 확인하였다. 총 댓글을 댓글 길이별로 나눠서 계산하면 짧은 댓글은 5.88%가, 보통 댓글은 9.16%가, 긴 댓글은 14.58%가 악성 댓글인 것을 확인하였다. 즉, 댓글 길이가 길어질수록 악성 댓글 확률이 높아졌다.
포털 사이트의 클린봇과의 성능 비교 실험을 수행한 결과 제안 시스템이 클린봇에 비해 4배 정도로 성능이 높은 것으로 나타났다. 진리 집합을 구성하기 위해 100 개의 무작위 정치 기사 댓글을 추출하여 사람이 직접 악성도를 평가하였다.
후속연구
꼬꼬마 형태소 분석기는 결과가 정확하고 비속어 및 존대어 관련 품사를 다양하게 지원한다는 장점이 있지만, 형태소 분석기의 특징이 결과가 정확해질수록 속도가 느려진다는 단점이 있다. 시스템 성능을향상시키기 위해 형태소 분석 부하를 최소한으로 줄여야 하는데, 이는 향후 연구로 생각하고 있다.
그리고 16153번 댓글에서는 ‘인간’이라는 단어가 문맥상으로 비속어처럼 사용된 것을 확인할 수 있다. 이러한 예는 단순히 형태소 분석만으로는 악성댓글인지 여부를 파악하기 힘들기 때문에 이러한 악성댓글을 발견해내기 위한 연구가 추가로 필요하다.
향후에는 댓글 필터링 시스템의 속도 향상에 관한 연구를 진행하려고 한다. 우리가 제안한 시스템은 댓글에서 존대어와 비속어를 찾아내는 데 꼬꼬마 형태소 분석기를 사용한다.
김묘실, 강승식, "SVM을 이용한 악성 댓글 판별 시스템의 설계 및 구현," 한국정보과학회 언어공학연구회 학술대회, pp. 285-289, 2006.
Thorsten Joachims, SVMLight: Support Vector Machine, https://www.cs.cornell.edu/people/tj/svm_light/.
G. E. Sims, S. Jun, G. A. Wu, and S. Kim, "Alignment-free genome comparison with feature frequency profiles (FFP) and optimal resolutions," Proceedings of the National Academy of Sciences, Vol.106, No.8, pp.2677-2682, 2009.
김현정, 윤영미, 이병문, "향상된 FFP(Feature Frequency Profile)을 활용한 악성 댓글의 판별시스템," 한국정보기술학회논문지, 제9권, 제1호, pp.207-216, 2011.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.