네이버가 지난해부터 모바일 메인 개편에 이어 동영상 중심의 사용자경험을 위한 체질 개선, 창작자가 검색의 주인공이 되는 ‘인플루언서 검색’ 등 여러 굵직한 변화를 추진하고 있다. 이용자가 보는 앞단의 변화가 이 정도라면 개발 뒷단에선 보다 과감하고 치열한 고민이 필요하다.
<디지털데일리>는 네이버를 움직이는 기술 리더들을 마블 캐릭터에 빗대 ‘네이버 어벤저스’라 이름 붙이고 이들의 연속 인터뷰를 통해 국내 최대 인터넷 기업의 속 깊은 고민과 핵심 경쟁력의 원천을 짚어보고자 한다. ▲빅데이터 & AI 플랫폼 ▲검색엔진 ▲엣지서버 ▲SRE ▲데브옵스 ▲음성인식 ▲클로바더빙에 이어 이번엔 ▲클린봇2.0 개발진을 만났다. <편집자 주>
[디지털데일리 이대호기자] 네이버가 ‘악플(악의적 댓글)과의 전쟁’에서 승기를 잡았다. 댓글 이력 공개, 본인확인제 시행 등 대폭적인 정책 변화 이후 자체 집계에서 악플 작성이 감소한 것으로 나타났다. 댓글 작성자 수는 늘어나 인터넷 공론화 기능은 더욱 강화했다. 긍정적인 변화다.
정책만으로 일으킨 변화는 아니다. ‘클린봇 2.0’이 적지 않은 역할을 했다. 클린봇은 악플을 실시간 탐지, 차단하는 인공지능(AI) 기술이다. 지금은 문장 맥락을 파악해 신종 악플까지 알아챈다. 악플이 100개라면 이 중 95개를 차단하는 수준으로 혁혁한 성과를 올리고 있다.
이규호 리더는 “누가 봐도 악플인 것부터 완벽하게 잡으려 노력했다”며 “이제는 띄어쓰기를 활용한 악플이나 줄을 바꿔쓴 악플, 특수 이모티콘을 활용한 악플까지 학습을 거쳐 탐지한다”고 힘줘 말했다.
◆악플이란 무엇인가
네이버가 악플을 마구잡이로 차단하는 것은 아니다. 표현의 자유를 해치지 않아야 하는 것을 잘 알기 때문이다. 이를 위해선 악플에 대한 구체적인 정의부터 필요하다. 네이버는 사용자 반응을 지속적으로 살피는 동시에 다양한 자료를 참고했다.
‘악성 댓글의 사용 실태와 개선 방안 연구(2012, 구현정)’ 논문에서는 악플의 유형을 욕설, 비속어, 유언비어, 선정적 표현, 폭력적 표현, 조롱적 표현, 차별적 표현 등 총 7가지로 구분했다. 방송통신심의위원회(방심위)에서는 인터넷에서 유통되고 있는 정보에 대해 노출, 성행위, 폭력, 언어, 기타라는 5가지 항목을 두고 등급 기준을 구분했다. 네이버는 이러한 자료를 참고해 다음과 같이 악플을 유형화했다.
▲욕설: 일반적인 욕설, 네이버 내부적으로 가지고 있는 욕설 데이터에 포함된 표현 ▲저속한 표현: 타인에게 불쾌감을 주는 속되고, 격이 낮은 표현 ▲선정적인 표현: 성적으로 자극적인 표현 ▲폭력적인 표현: 신체적 위협에 대한 표현 ▲차별적인 표현: 지역/인종/국가/종교 등에 기반한 차별 표현 ▲비하적인 표현: 상대방에게 모멸감과 수치심을 주는 비하 표현
이 리더는 “관련 논문과 방심위 기준, TV방송 표현을 참조해 수십명의 팀원들이 악플의 기준을 세웠다”고 설명했다. 덧붙여 “해외 논문들도 살펴봤으나 악플 여부를 케이스(사례)별로 기준을 정한 곳이 단 한 곳도 없었다”며 “악플의 기준이 어디까지인지 정해가는 과정에 있다고 보면 될 것”이라고 부연했다.
◆‘똑똑한 클린봇’ 되기가 이렇게 힘듭니다
네이버는 악플을 잡기 위해 다양한 기술을 적용하고 또 고안했다. 기상천외한 악플까지 탐지하기 위해서다.
‘야 이 쓰레기야’라는 댓글은 누가 봐도 악플이다. 띄어쓰기를 활용한 ‘ㅅㅐㄲㅣ’는 악플계에서 귀여운 수준이다. 특수 이모티콘으로 넘어가면 수준이 올라간다. 전라도를 뜻하는 ‘홍어’는 경우에 따라 악플이 될 수 있다. 이처럼 문맥 상 악플로 해석되는 경우까지 클린봇이 알아채도록 탐지력을 끌어올렸다.
이 리더를 비롯한 개발진들이 클린봇을 발전시켜나가는 과정을 지면으로 전하기엔 한계가 있다. 일반 독자에겐 다소 어려울 수 있는 부분이다. 개발을 꿈꾸는 이들에겐 흥미가 당길 수 있어, 이 리더의 설명 자료를 더해 개발 과정을 요약했다.
네이버는 뉴스, 연예, 스포츠 섹션의 댓글 데이터를 익명화해 샘플링하고 악플 탐지 모델의 입출력을 다음과 같이 정의했다. ▲입력: 댓글 내용 ▲출력: 0~1 사이의 실수(real number)다. 1에 가까울수록 악플 확률이 높다.
이 모델에 댓글을 입력하기 위해선 토큰화(tokenizing) 과정을 거쳐야 한다. 이 리더는 댓글엔 오타나 비표준적인 표현, 한글 자모음이나 특수문자를 활용한 표현이 자주 나타나므로 단어나 형태소 단위는 적절하지 않다고 판단했다. ‘음절 단위’로 댓글을 토큰화했다.
입력 문장이 ‘안녕하세요’라면 토큰화 결과는 ▲[‘’, ‘안’, ‘녕’, ‘하’, ‘세’, ‘요’, ‘’, ‘’, ‘’, … ‘’,]로 늘어놓을 수 있다. 이 값을 네이버가 고안한 함수(Binary Cross Entropy) 모델에 넣어 계산을 거친다.
네이버가 활용한 기술은 ▲CNN(Convolutional Neural Network) ▲BiLSTM(Bidirectional LSTM) 등이 있다. 개발진은 여러 모델 중 가장 좋은 퍼포먼스를 보인 ‘CNN + BiLSTM + LSTM’ 구조를 택해 데이터 정제 후 테스트를 거쳤다.
이 리더는 “성능적인 측면에서 고민이 많았다”며 “수천만이 사용하는 댓글이고 작성도 많아 빠른 분석이 중요했다”고 말했다. 이어서 “성능을 어떻게 잡느냐 해서 여러 모델을 테스트해봤다”며 “최신 기술의 사용도 성능 측면에서 검토했지만, 악플 정의 태스크가 단순한 부분이 있어 무거운 모델보다는 빠른 성능을 위한 모델을 만드는 것이 의미가 있다고 봤다”고 개발 과정을 전했다.
◆‘이용자마다 다른 댓글 스타일’까지 학습
클린봇2.0엔 네이버가 자체 고안한 ‘페르소나 임베딩(Persona Embedding)’ 기술이 들어간다. 댓글 유사도 학습이다. 이용자의 댓글 스타일까지 학습해 악플 탐지력을 끌어올린다. 현재 특허 출원 중이다. 이 같은 기술적 성취가 있기까지 김성민 연구원이 핵심 역할을 했다.
김성민 연구원은 “AI 훈련, 선행학습을 어떻게 할 것인지 독창적인 방법을 발명했다”며 “사람마다 댓글 쓰는 스타일의 차이가 있고 댓글에 아이덴티티(정체성)가 묻어날 것으로 가설을 세우고 접근했다”고 말문을 열었다.
페르소나(Persona)는 외적 인격을 뜻하는 말이다. 김 연구원은 “페르소나 임베딩은 같은 사람이 쓴 댓글의 모종의 유사성을 찾는 방법론”이라며 “전혀 다른 사람이 쓴 댓글을 보여주는 등 함정을 동원해 무작위로 많은 문제를 냈고 정답을 맞추게 했다”고 학습모델 완성도를 끌어올린 과정을 풀이했다.
네이버 개발진은 CNN + BiLSTM + LSTM 모델에 페르소나 임베딩을 더해 정량·정성적인 두 가지 측면에서 유사도 모델을 학습시키는 방법론을 사용했다. 추가로 네이버 클로바(Clova) AI의 자동화기계학습(AutoML) 추가 파라미터 튜닝을 진행해 가장 높은 탐지율을 기록, 클린봇2.0 모델을 출시했다.