이번에는 deep daiv 여름기수 팀프로젝트로 했던
'네이버 영화 가짜 리뷰 판별'을 주제로 글을 써보고자 한다.
이 프로젝트를 시작하기 전에 가짜리뷰 기준을 총 3가지 case로 정했다.
1. 의도적으로 깎아내리려고 하거나 또는 홍보 목적의 리뷰
2. 동일한 영화내 같은 사람이 동일한 내용으로 여러번 작성한 리뷰 및 상반된 리뷰
3.영화와 관련 없는 리뷰
위와 같은 기준으로 가짜리뷰를 판별한 뒤
최종 리뷰 보정하는 것이 본 프로젝트의 목표이다.
(데이터는 네이버 영화에 들어가 직접 크롤링을 진행)
1. 의도적으로 긍정적 또는 부정적인 리뷰
이 리뷰들을 판별하기 위해서 감정분석을 진행
감정분석을 진행하기 전에
우선 점수 리뷰에 대해서 8~10점을 긍정, 1~3점을 부정으로 분류함
(긍정의 값은 1로 설정하고, 부정이면 -1로 설정)
이후 테스트 데이터에 대해 감정분석을 진행하여 ‘긍정’과 ‘부정’을 파악하기로 함
감정분석을 진행하기 전에
모델을 훈련시킬 데이터와 테스트데이터를 분류
전체 데이터 중 영화별로 상위 500개의 리뷰들을 테스트 데이터로 설정
감정분석을 진행하기 위해서
텍스트를 tokenize해서 adjective, verb, noun만 추출하는 함수를 활용
학습 이후 예측 결과, 정확도는 0.91이었고
예측에 크게 영향을 준 단어들 살펴보면 아래와 같다.
학습시킨 모델로 테스트 데이터에 대한 긍정 및 부정 판단을 진행
테스트 데이터에 대한 감정분석을 마친 후 리뷰 보정을 진행
리뷰 보정의 조건은 아래와 같다.
a) 감정분석 결과 긍정으로 판별이 되었지만 실제 평점은 3점 이하인 댓글들
b) 감정분석 결과 부정으로 판별이 되었지만 실제 평점은 8점 이상인 댓글들
a,b조건에 해당하는 리뷰들을 테스트 데이터에서 삭제하고
case2로 넘어가 리뷰 보정을 진행하였다.
2. 동일한 영화 같은 사람이 여러번 작성한 리뷰 및 상반된 리뷰
같은 사람이 한 영화에 극과 극의 평점을 부여하여 괴리감이 큰 경우
해당 리뷰어에 대한 신뢰도가 낮다고 판단할 수 있음
이를 분류하기 위해, 먼저 한 영화에 두 번 이상 리뷰를 쓴 userID를 찾아야 한다고 판단
따라서 같은 내용을 여러 번 작성한 리뷰 또는 같은 영화에 너무 상반된 평점과 리뷰를 남긴 댓글을
Case 2라고 분류하고 이들을 제거해주는 작업을 진행
*동일 리뷰 처리 프로세스
위와 같이 먼저 id를 기준으로 정렬한 뒤
동일한 id가 있으면 맨 위에 리뷰 하나만 남기고 다 제거하는 과정을 걸침
*상반된 리뷰 처리 프로세스
평점이 1~3이면 ‘낮음’, 평점이 8~10이면 평점이 ‘높음’으로 정한 기준을 바탕으로
한 사람이 쓴 리뷰의 평점 중 1~3점과 8~10점이 동시에 존재하면
해당 리뷰어가 쓴 리뷰는 가짜 리뷰로 간주하고 제거
3.영화와 관련 없는 리뷰
본 프로젝트에서는 영화와 관련없는 리뷰 케이스를
‘리뷰에 아무것도 남기지 않은 사람’으로 한정
>> Null값 처리
(여기서 아쉬운 점은 시간의 제약으로 case3에 대한 기준이 모호했다는 거..)
4. 결론
총 3가지 case로 가짜 리뷰를 정의하고, 유형에 따라 가짜 리뷰들을 색출
이후 가짜 리뷰들을 모두 제거한 리뷰 데이터를 가지고 영화의 평점을 다시 계산
가짜 리뷰를 모두 제거한 순수한 영화의 평점을 봤을 때
기존 리뷰보다 평점이 상승한 경우는 가짜 리뷰에 의해 저평가된 영화
반대로, 기존 리뷰보다 평점이 하락했으면 가짜 리뷰에 의해 고평가된 영화라고 결론지을 수 있었음
아래는 고평가 및 저평가된 영화들을 태블로로 시각화 한 결과이다.
5. 한계점
본 프로젝트를 진행하면서 아쉬운 점 및 한계점으로 적어보자면
i ) 프로젝트에서 선정한 가짜 리뷰의 선정 기준의 모호성
>>'리뷰 없이 평점만 부여한 경우'를 가짜 리뷰로 분류했는데
특정한 의도 없이 리뷰에 대한 평점만 간단히 남기는 사람들도 있기 때문에
실제 관객의 순수한 평점이 가짜 리뷰로 잘못 분류될 우려가 존재
>>같은 리뷰어의 상반된 리뷰 또한 가짜 리뷰로 분류했는데
동일인이라도 두 리뷰 간 시간 차이가 많이 난다면
처음 봤을 때와 다시 봤을 때 평가가 달라진 가능성이 존재
ii) Case3(영화와 상관없는 리뷰 내용을 분류하는 과정)에 대한 모호성
>>토픽 모델링 등을 활용해 해당 리뷰들을 제거하는 작업을 거치면
더욱 완벽한 가짜 리뷰 탐지 프로젝트가 될 것임
'🖥️ ProJects > Deep Daiv' 카테고리의 다른 글
머신러닝을 활용한 특수학교 최적입지 선정 (0) | 2023.01.25 |
---|