티스토리 뷰

보아즈의 마무리 ADV 프로젝트가 시작되었다. 

(사실 8월부터 시작되었다..)

 

많은 팀들 중 자연어처리 태스크를 다루는 팀은 우리팀이 유일하다.

 

재미와 실용성 사이에서 여러 시행착오를 거친 후 간단하면서 재밌고, 실용성도 높은 편인 스포일러 댓글을 분류하는 모델을 만들어보기로 하였다. 

 

사실 여러 이유(핑계)들로 인해 시작이 많이 늦어졌지만 그만큼 더 열심히 진행하고 있다 .. :)

 

스포일러 분류라는게 언뜻보면 간단한 이진분류 태스크로 보이지만 생각보다 쉽지 않았다. 

기존 많은 모델들과 레퍼런스가 있는 '악성 댓글 분류'와는 내용이 많이 달랐다.

 

전체적인 그림을 그리기에 앞서 '스포일러' 자체의 특징을 파악하는게 우선이라고 생각했다.

 

악성 댓글이라는 것은 그 기준이 명확히 정해져있지만 (방통위 등), 스포일러의 기준은 무엇일까 한참 고민했다.. 

언어학, 심리학 분야의 논문도 많이 찾아보았지만 스포일러는 ㅇㅇ이다! 라는 사전적 정의가 없어서 많은 사람들과 영화계 종사자들이 가장 많이 피해를 보는 객관적 지표를 잡고 시작하기로 하였다. 

 

데이터 수집 및 라벨링에 앞서 가장 먼저 만들어본 지표는 다음과 같다.

 

1. 결말: 엔딩 장면을 포함하는 내용이나, 영화가 끝난 후 이어질 수 있는 내용이 포함된 표현


2. 등장인물의 생사: 등장인물의 죽음, 희생, 부활 등 스토리 전개에 핵심적인 생사 여부가 포함된 표현


3. 반전: 스토리의 전개가 뒤바뀌는 중요한 포인트에 대한 언급, 혹은 해당 내용에 대한 언급


4. 등장인물간의 관계: 전반적인 줄거리에 암시되어 있지 않은 등장인물과의 관계 혹은 후반부에서 드라마틱하게 공개되는 관계에 대한 표현


5. 특정 장면의 자세한 표현: 직접 보지 않고서는 알 수 없는 특정한 장면에 대한 자세한 표현 혹은 해당 내용이 포함된 표현

 

위의 표현들이 댓글 혹은 리뷰에 담겨져 있는가를 기준으로 데이터를 수집하기로 하였다. 

 

먼저 가장 대표적인 장르 6개 (액션, SF, 공포/스릴러, 로맨스, 코미디, 드라마)를 선정하고, 그에 맞는 영화들의 댓글, 평점, 리뷰 등을 수집하기로 하였다.

 

네이버 영화, 다음 영화, 다수의 블로그 리뷰를 크롤링하여 데이터를 수집하였고, 스포일러 라벨링 방법을 찾다찾다찾다가 결국 인간지능으로 하기로 하였다...^^ 

 

이진분류에 대한 레퍼런스는 상당히 많지만 어떻게 하면 스포일러 그 자체의 특징을 파악하여 성공적인 모델을 짤 수 있을지 고민중이다.

 

여러가지 이유로 성능이 좋으면서 가벼운 (실시간 댓글을 분류해야하는 시간적 문제 때문) 모델을 만들기 위해 여러 실험 방법과 디벨롭 방법을 생각중이다.

 

가장 먼저 생각해야할 부분은 데이터의 불균형 문제이다. 

악성댓글도 마찬가지인 부분이지만, 수집한 데이터의 Target Label의 스포일러 클래스가 3~5%밖에 되지 않는다. 

 

이 참에 코랩 프로도 사용해볼 계획이다...! 

 

 

반응형
댓글