진행기간:20년4월1일~4월17일
저번에 악플을 막고자 하는 프로젝트를 진행하고 있다고 했습니다.
그렇다면 , 이러한 시도를 한 포털 사이트 및 기업은 없던 것일까요?
네이버의 클린봇
네이버는 클린봇 ai를 이용해서 비속어를 필터링 해줍니다.
구글 Perspective API
구글은 자체적으로 악플을 감지하는 ai를 만들었다고 발표했습니다.
인스타그램
인스타그램도 자체적으로 욕설을 필터링하는 머신러닝 알고리즘을 사용한다고 합니다.
심심이
심심이 회사에서도 악플탐지 서비스인Dbsc를 출시햇다고하지만 아직개발단계이고 서비스는 안했습니다
머신러닝으로 비속어를 학습해 금칙어로 지정하는 방식을 이용하고 있지만, 아직 많은 한계점이 있습니다.
글 자체의 악의를 파악해서 필터링을 해주는 업체는 아직 보지 못했습니다.
저희는 악플을 감지하는 시스템을 개발하기 위해서 이와 같은 단계를 거치고자 합니다.
본 연구는 네이버, 다음, 네이트 등 사람들이 많이 이용하고 댓글을 많이 쓰는 뉴스 기사들의 댓글을 크롤링해서 학습 데이터로 사용하기로 했다.
그중에서도 공격적인 댓글이 많이 보이는 사회,연예 기사쪽을 수집했습니다.
수집 방식은 2.2에서 언급했듯이 주로 웹앱을 테스트할 때 쓰이는 selenium을 이용해 자바스크립트에 의한 동적인 작업을 했고 beautifulsoup을 이용해 해당 싸이트의 html을 분석해 댓글들을 수집했다. 악플의 선정 기준은 팀원 3명이 각자 악플인지 판단해서 2명 이상이 악플이라고 판단하면 악플이라 판단하기로 했습니다.
우선 말뭉치를 정제, 정규화하는 과정을 거칩니다. 그다음에 , 이 토큰화하는 작업을 진행합니다.
다행히도 , 토큰화를 구현해준 라이브러리가 상당수 가 있습니다. Konlpy, 구글의 SentencePiece입니다. 둘의 차이점은 구글의 Sentecepiece는 언어의 종류에 관계없이 토큰화가 가능합니다.
하지만, 기계학습 기반이라 학습을 따로 진행을 해줘야합니다. 저희는 이를 둘 다 사용해보고 무엇을 사용할 지 결정할 예정입니다.
※이 당시에는 이렇게 생각했지만, 실제로 해본 결과 댓글이라는 구어체적인 특성을 가진 Corpus는 기존에 학습된 vocab을 사용하는
것이 아닌 Sentencepiece를 통해 새로 만들어 주는것이 좋다고 결론을 내렸습니다.
정제한 이 데이터들을 이제 Embedding해주고 , Bert 모델에서 Training해주는데 이에 관련한 얘기는 다음 글에서 다루도록 하겠습니다.
첫번째 링크: news의 링크를 수집하는 코드
두번째 링크: 모은 news의 링크들을 이용해서 댓글을 수집하는 코드
세번째 링크: 모은 댓글들을 정제화 해주는 코드
colab.research.google.com/drive/14i7-A7gW5WAzf1iTqnwe9FRqZHPvk1Qz?usp=sharing
※위글은 첨부한 ppt를 바탕으로 작성햇습니다.
2020-12-30 ppt삭제했습니다.
2021-09-01 네이버 뉴스 페이지 구성이 2021년이후로 바뀌어서 뉴스링크,댓글을 수집하는 코드를 지웠습니다. 댓글을 수집하기 위해서는 다른 코드를 찾으셔서 사용해야합니다.
'딥러닝프로젝트 > 댓글감성분석' 카테고리의 다른 글
댓글감성 최종 발표 (0) | 2020.12.30 |
---|---|
Bert로 학습해보기 (1) | 2020.07.18 |
악플 처리 시스템 (0) | 2020.05.30 |