brunch

You can make anything
by writing

C.S.Lewis

by 재주아빠 Mar 18. 2020

스포일러 댓글을 탐지하는 AI

이 리뷰에 스포일러가 포함되어 있을 확률은?

SpoilerNet 이란?


문장을 분석해서 특정 콘텐츠에 대한 스포일러가 포함되어 있는 확률을 예측하는 인공지능입니다. 스포일러가 포함될 것으로 예측되는 경우, 문장 앞 뒤에 <spoiler></spoiler> 태그를 씌웁니다.

Goodread 서비스의 리뷰 예시. SpoilerNet이 예측한 리뷰의 스포일러 확률(p)


누가, 왜 만들었나?


이 연구는 UC San Diego 및 아마존 연구진의 협업으로 진행되었습니다. 먼저 ‘스포일러 리뷰’란 무엇인지 정의가 필요했습니다. 연구진은 ‘다양한 미디어 콘텐츠를 소비하는 유저가 스토리를 즐기는 과정에서 온전한 경험을 방해하는 요소’라고 정의했습니다.

스포일러는 인터넷 어디에나 있고, 소셜미디어에서는 매우 보편적입니다. 인터넷 유저로서, 우리는 스포일러의 고통에 대해 이해하고 있고, 그것이 우리의 경험을 어떻게 해치는지 알고 있습니다


기존 몇몇 리뷰 웹사이트에서는 리뷰어가 리뷰를 작성할 때 ‘스포일러 포함’을 체크할 수 있도록 기능이 준비되어 있지만, 유저가 이 기능을 사용하는 비율은 매우 낮았습니다. 그래서 관련 연구를 찾아보았지만 놀랍게도 스포일러 분석 및 탐지 영역은 상대적으로 많이 연구되지 않고 있었습니다. 연구자들은 사람들이 어떤 방식으로 스포일러를 작성하는지, 그리고 스포일러에는 어떤 패턴이 주로 있는지 호기심을 갖게 되었습니다.



어떤 데이터를 활용했나?


연구진은 Goodreads.com 에서 데이터를 수집했습니다. 이 서비스는 독서를 주제로 하는 소셜 네트워킹 서비스로, 유저들이 어떤 책을 읽고 어떤 리뷰를 남기고 어떤 생각을 공유하는지 데이터를 수집할 수 있습니다. 연구진은 영문서적 2만 5천 여 권에 대한 1만 9천 명 유저들이 남긴 137만 건의 책 리뷰 데이터를 수집했습니다. 그리고 이중 1760만 문장(전체의 3.22%)을 ‘스포일러’ 문장으로 레이블링 하였습니다.



'스포일러 리뷰'는 어떤 특징이 있나?


스포일러 문장은 전체 리뷰 문서의 몇 번째 문장에 위치하는지, 몇 개의 문장이 연속되는지 분석했습니다. 상대적으로 스포일러가 포함된 문장은 리뷰의 후반부에 뭉쳐있는 경향이 있었습니다. 그리고 스포일러 리뷰일수록 책 내용에 대해 구체적으로 서술하고 있었습니다. 예를 들어, 해리포터 대한 리뷰 중 스포일러가 포함된 리뷰는 ‘Ron’, ’Snape’, ‘Hermione’, ‘Voldemort’와 같은 단어의 등장 빈도가 높았습니다.

 

스포일러라고 판단하는 기준은 유저 혹은 대상 책에 따라 편향되어 있다는 사실도 고려해야 하는 요소였습니다. 모델링을 위해 데이터 보정이 필요한 부분이었습니다. 또한 같은 단어라도 맥락에 따라 다른 의미를 갖는다는 점도 발견했습니다. 예를 들어 ‘green’은 단순히 색상을 뜻하는 단어이지만, 어떤 책에서는 주인공 이름이 될 수 있기 때문에 이러한 차이점을 이해하는 것은 다소 어려웠습니다.



모델의 정확도는 얼마나 되는가?


위에서 언급한 특징 등 여러 가지를 반영하여 처음부터 끝까지 신경망 구조만으로 이루어진 모델을 개발했고, 89-92% 수준의 정확도로 스포일러 리뷰를 판별해냈습니다. 여러 문장으로 구성된 한 문단 이상의 리뷰를 데이터로 활용했기 때문에, 리뷰 내에서 단락이나 문장 간 의존성이나 일관성이 모델에 반영되어 복잡도가 자연스럽게 높아졌습니다.


이러한 모델의 결함도 있습니다. 인접한 문장이 스포일러를 포함하고 있다는 이유로 아무 문제없는 문장이 스포일러로 분류되기도 하고, 하나의 문장으로 구성된 리뷰에 대해서는 제대로 이해하지 못하는 경우도 있었습니다. 그리고 사람이라면 쉽게 파악할 수 있는 미묘한 차이에 대해 기계는 잘 이해하지 못했습니다. 예를 들어, “이 캐릭터가 다스베이더를 죽인다(this kills Darth Vader)”는 스포일러이고, “이 장면이 긴장감을 떨어뜨린다(this kills the suspense)”는 스포일러가 아니라는 것을 쉽게 분간할 수 있지만, 모델은 잘 이해하지 못했습니다.


연구진은 모델을 다른 종류의 리뷰 데이터에도 적용해봤습니다. 880가지 TV 프로그램에 대해 남겨진 1만 6천 개 문장에 대해 테스트한 결과, 74-80% 수준의 정확도를 보였습니다. 스포일러를 탐지하지 못한 리뷰는 살인이나 살해와 같은 ‘폭로하는 성격’이 있는 단어들에서 발생했습니다.



앞으로 어떻게 활용되는가?


우선 이 리뷰 데이터는 누구나 분석할 수 있도록 공개되어 있어, 더 많은 데이터를 필요로 하는 딥러닝 모델 개발에 활용될 수 있을 것입니다. 예를 들어 트위터와 같은 다른 유형의 매체나 콘텐츠로부터 스포일러를 찾아내는 알고리즘을 개발하는 데 활용될 수 있을 것입니다.


그리고 학습된 AI 시스템은 유저의 기기에서 실시간으로 작동하도록 고려 중이며, 제품의 형태는 유저가 리뷰를 읽기 전에 스포일러로 추측되는 리뷰들을 미리 숨겨주는 브라우저 플러그인이나 모바일 앱이 될 수도 있습니다. 향후 아마존이나 자회사 서비스의 리뷰 정보나 다른 콘텐츠에서 스포일러를 자동으로 표시할 수 있는 유용한 도구가 될 수도 있습니다.




원문 및 참고자료

테크크런치 - 스포일러 조심!

UC San Diego - 이 AI는 스포일러를 가려낼 수 있습니다

Fine-Grained Spoiler Detection from Large-Scale Review Corpora


매거진의 이전글 갱스터 영화 속 AI
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari