Korea Digital Contents Society
[ Article ]
Journal of Digital Contents Society - Vol. 24, No. 2, pp.247-255
ISSN: 1598-2009 (Print) 2287-738X (Online)
Print publication date 28 Feb 2023
Received 22 Dec 2022 Revised 09 Jan 2023 Accepted 26 Jan 2023
DOI: https://doi.org/10.9728/dcs.2023.24.2.247

실시간 감상 기록 분석 기반 영화 추천 서비스의 설계 및 구현

박예진1 ; 박상희1 ; 박서원1 ; 전수민1 ; 유견아2, *
1덕성여자대학교 컴퓨터공학과 학부과정
2덕성여자대학교 컴퓨터공학과 교수
Design and Implementation of a Movie Recommendation Service Based on Real-Time Viewing Record Analysis
Yejin Park1 ; Sanghee· Park1 ; Seowon Park1 ; Soomin Jeon1 ; Kyeonah Yu2, *
1Undergraduate Course, Department of Computer Engineering, Duksung Women’s University, Seoul, Korea
2Professor, Department of Computer Engineering, Duksung Women’s University, Seoul, Korea

Correspondence to: *Kyeonah Yu Tel: +82-2-901-8346 E-mail: kyeonah@duksung.ac.kr

Copyright ⓒ 2023 The Digital Contents Society
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-CommercialLicense(http://creativecommons.org/licenses/by-nc/3.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.

초록

최근 콘텐츠의 소비가 증가하고 스트리밍 서비스가 흥행하면서 사람들은 넘쳐나는 콘텐츠에 어떤 영화를 선택할지 결정하는데 많은 시간을 쏟는다. 기존의 추천 방식만으로는 취향에 맞는 영화를 찾는다는 보장을 할 수 없고 추천의 기준 또한 불분명하여 매 순간 선택에 어려움을 겪는다. 본 논문에서는 이와 같은 문제를 해결하기 위해 영화를 보는 동안 사용자의 리액션과 감정을 실시간으로 기록하여 감정 분석을 기반으로 영화를 추천하는 새로운 방식을 제안한다. 제안하는 추천 방식은 영화를 감상하는 동안의 사용자 감정과 집중도를 분석하여 사용자가 흥미를 느낀 장르, 배우, 감정 등의 사용자 선호 정보를 자동으로 얻어 영화 추천에 활용하는 것이다. 이 방식은 기존의 협업 필터링과 내용기반 추천 방식 모두에 적용될 수 있으며, 감상 당시의 감정과 집중도를 분석하여 문서화하고 감정의 변화에 따른 평가에 기반함으로써 신뢰도 높은 콘텐츠를 추천할 수 있게 한다.

Abstract

With the recent increase in content consumption and the success of streaming services, people spend a lot of time deciding which movies to choose among the overflowing content. The existing recommendation method alone cannot guarantee finding a movie that suits your taste, and the criteria for recommendation are also unclear, making it difficult to make a choice at every moment. In this paper, to solve this problem, we propose a new method of recommending movies based on emotion analysis by recording users' reactions and emotions in real time while watching movies. The proposed recommendation method analyzes the user's emotion and concentration while watching a movie, and automatically obtains user preference information such as the genre, actor, and emotion that the user is interested in and uses it for movie recommendation. This method can be applied to both existing collaborative filtering and content-based recommendation methods, and analyzes and documents emotions and concentration at the time of viewing, and recommends highly reliable content based on evaluation based on changes in emotions.

Keywords:

Movie recommendation, Real-time sentiment analysis, Collaborative Filtering, Content-based Recommendation

키워드:

영화 추천, 실시간 감정 분석, 협업 필터링, 내용기반 추천

Ⅰ. 서 론

코로나 발생 후 여가시간 중 온라인/모바일 콘텐츠 이용 비율이 증가하였고 소비의 개인화가 진행되면서 개인의 만족을 극대화하는 소비에 초점이 맞추어지고 있다. 하지만 영화 추천에 있어 개인의 취향에 맞춘 서비스는 아직 만족스러운 수준에 이르지 못하여 사람들이 가장 많이 사용하는 온라인 동영상 기업인 넷플릭스에서조차 사용자가 영화를 찾기 위해 하루 평균 21분나 소비한다고 알려져 있다 [1]. 기존 대부분의 영화 추천 시스템들에서는 사용자가 명시적으로 제공하는 평점 등의 피드백 등을 그대로 이용하여 추천을 하는데, 이와 같이 추천 알고리즘에 사용되는 데이터 중, 불성실하고 부정확한 답변의 존재는 추천 성능의 저하를 가져온다고 알려졌다 [2]. 본 논문에서는 영화를 보는 동안의 개인의 감정과 집중도를 자동으로 분석한 결과를 영화 추천에 활용하여 이와 같은 문제를 해결하고자 한다.

본 논문에서 제안하는 방식은 사용자가 영화를 보는 동안, 감정과 집중도 등의 리액션을 분석하고 감정의 변화에 따른 평가를 생성하고 그 평가를 기반으로 콘텐츠를 추천하는 것이다. 영화 감상 중에 실시간으로 분석한 결과는 정보의 종류에 따라 협업 필터링 알고리즘과 내용기반 추천 알고리즘이 각기 적용되어 유사한 선호도를 가진 사용자가 좋아한 영화, 좋아하는 취향의 영화, 좋아하는 배우의 영화 등으로 다양하게 활용된다. 또한 문서화된 감상 결과는 사용자의 프로파일로 남아 지금까지 감상했던 영화 목록을 한눈에 확인할 수 있게 할 뿐 아니라 향후 영화 추천에 활용되도록 한다.

본 논문의 구성은 다음과 같다. 2장에서는 본 연구와 관련된 기존 문헌과 자료들을 살펴보고, 3장에서는 영화 추천에 사용될 실시간 감상 분석 방법들에 대해 설명한다. 4장에서는 실시간 감상 결과를 이용한 영화 추천 시스템을 소개하고 실제 구현된 앱과 사용자 테스트 결과를 보여준다. 5장에서는 결론과 기대효과로 논문을 마무리한다.


Ⅱ. 관련 연구

추천 시스템은 크게 협업 필터링 추천 시스템과 내용기반 추천 시스템의 두 가지로 나뉘며 이 두 가지 방법을 다양한 방식으로 결합한 하이브리드 필터링 방법이 있다. 협업 필터링 방식은 사용자 또는 항목 간의 유사성을 계산하고 과거 데이터를 결합하여 새로운 항목에 대한 사용자의 평가를 예측한다 [3],[4]. 넷플릭스 프라이즈라는 대회를 통해 영화 추천의 수준을 크게 향상시켰다는 넷플릭스의 대표적인 영화 추천 방식이 바로 협업 필터링에 기반하고 있다 [5]. 내용기반 추천 방식은 사용자가 높게 평가한 콘텐츠와 유사한 콘텐츠를 추천하는 것으로 영화의 경우, 사용자의 평점에 의존한 추천을 하게 된다. 이와 같이 협업 필터링과 내용기반 추천 방식은 추천 방식이 상이하여 두 가지 방식을 다양하게 혼합하여 사용하기도 한다 [6][7]. 예를 들어, 협업 필터링의 콜드 스타트(cold start) 문제를 해결하기 위해 내용기반 추천 알고리즘을 적용한 후, 협업 필터링을 적용하는 방식으로 두 가지 방법을 직렬 연결하거나 시스템의 상태에 따라 스위칭 형태로 구현한다거나, 응용에 따라 가중치를 달리하는 혼합 방식을 제안하기도 한다 [8].

응용 분야에 따라 적절한 추천 방식을 선택하는 문제도 중요하지만, 추천 시스템에 이용할 사용자 정보를 획득하는 방법과 데이터의 질을 높이는 것 또한 추천 시스템의 성능을 결정하는 중요한 요소이다 [9]. 기존의 영화 추천 시스템은 사용자 평점과 정적인 사용자 정보에 전적으로 의존했다면 사용자가 남긴 영화에 대한 감상평의 감성분석과 정서적 성향 등 간접 정보를 활용하여 추천 시스템을 강화하려는 접근이 있다. Kumar등의 연구 [10]에서는 트위터의 블로깅 데이터를 이용하여 사용자의 응답 형태를 분석하여 사용자 데이터의 의존성 영향을 감소시킴으로써 추천 성능의 향상을 이뤘으며 영화에 대한 사용자의 감정적 경향을 인식하는 것이 추천 성능을 높이는데 필수적이라는 지적과 함께 비정형적 사용자 리뷰를 감성분석하여 활용할 것을 제안하였다 [11][12]. Zhanga등의 연구에서는 기존의 감성분석이 키워드 수준에서 이루어졌던데 비해 양방향 인코더 표현 기술(Bidirectional Encoder Representations from Transformers: BERT)을 이용한 문장분석을 통해 감성분석을 하여 추천 시스템의 성능을 향상시켰으며 Chauhan등의 연구에서는 사용자의 방문 히스토리 등과 감성분석을 추천에 활용하는 방법을 제안하였다. 최근에는 영화 리뷰 뿐 아니라 기계학습과 딥러닝의 발전에 따라 영화로부터 자동으로 추출된 스타일 비주얼 특징들을 기존의 태그 데이터와 함께 내용기반 추천에 활용할 것을 제안하기도 하였다 [13][14].

합성곱 신경망과 순환 신경망 등을 이용한 딥러닝의 발전에 힘입어 영상이나 음악 분야에는 사용자의 표정과 동작을 분석하여 추천 성능을 높이는 방법들도 제안되고 있는데 아직은 시도 단계로서 추천 시스템에 이용하기 위해 표정 인식의 정확도를 높이는 연구가 다수이다. Zhang의 연구에서는 얼굴 표정으로부터 감정을 읽어 좋아하는 음악과 영화를 추천하는 방법을 시도하면서 얼굴 표정으로부터 감정을 정확히 읽어내기 위한 방법에 초점을 맞추고 단순한 추천 방법에 적용할 수 있음을 보였다 [15]. Chauhan의 연구에서도 의사결정트리를 사용하는 부스터 알고리즘 대신 합성곱 신경망(Convolutional Neural Network: CNN)을 이용하여 표정을 읽어내어 정확도를 높이고 이를 내용기반 및 협동필터링 추천에 이용하였다 [16]. 논문 [17]에서는 몇 가지 신경망을 결합하여 표정을 통한 기분 감지로 사용자의 영화 관람 요구를 예측하도록 제안하고 사용자들이 영화 목록을 훑어보는 시간과 노력을 절약할 수 있음을 주장하고 추천에 이용한 결과를 보여주었다.

본 논문에서 제안하는 추천 시스템은 사용자가 영화를 감상하는 동안의 표정 변화와 집중도 분석 결과를 본격적으로 활용한다. 기존의 연구들이 표정 인식의 정확도를 높이는 데에 초점을 맞추었다면, 본 논문에서는 분석 결과를 활용하여 추천 방법을 다양화하고 정확도를 높이는 데에 초점을 맞춘다. 또한 기존의 추천 시스템들이 대부분 하나의 결과를 제안하는 것에 반해, 분석 결과를 다방면으로 적용해 활용도를 극대화한다.


Ⅲ. 실시간 감정분석

실시간 감정분석을 위해 영화를 보여주는 동시에 감상 모습을 백그라운드로 카메라에 담아 사용자의 반응을 분석하고 시청 중인 영화의 각 장면을 분석한다. 그림 1과 같이 영화를 보는 동안의 집중도와 나타나는 감정을 분석하고, 영화 상영을 마친 후에는 재미있게 본 영화 한 장면의 장르, 감정, 배우를 분석하여 사용자 맞춤 영화를 추천하는 정보로 사용한다.

Fig. 1.

Flowchart of Real-Time Movie-Viewing Analysis

3-1 사용자 분석

사용자 분석은 크게 감정 분석과 집중도 분석 기술 두 가지로 나뉜다. 영화 감상 시 10초마다 백그라운드 상에서 카메라로 사용자의 모습을 캡처한 이미지를 AWS S3 버킷에 실시간으로 업로드하고 감상 분석 시, 버킷에 접근하여 사용한다.

1) 감정 분석

사용자가 영화를 감상하는 동안의 감정을 AWS Rekognition의 감정 인식 기술을 통해 분석한다. 감정 분석 결과는 감정의 종류(HAPPY | SAD | ANGRY | CONFUSED | DISGUSTED | SURPRISED | CALM | UNKNOWN | FEAR)와 0에서 100 사이의 신뢰도(Confidence) 값 두 가지로 출력된다. 이 결과를 감정 부합도(사용자가 영화 흐름에 맞게 감정을 느끼고 있는지 확인하는 기능)와 MAX 감정(사용자의 감정 폭이 가장 큰 구간, 즉 가장 흥미로운 구간) 추출에 활용한다.

첫 번째, 감정 부합도는 10초마다 사용자의 감상 모습 이미지를 받아와 분석되는 감정과 영화 장면에서 분석된 감정 결과가 일치하는지 확인하는 것이다. 0~100까지의 정수로 감정 부합도의 퍼센트를 나타내고 사용자가 등록한 기존 평점에 가중치로 반영하여 선호도를 판별하는 데에 사용한다.

둘째, MAX 감정 알고리즘은 사용자 감정의 폭이 가장 큰 구간을 확인하는 방법이다. 이 구간을 사용자가 가장 흥미를 느낀 장면으로 가정한다. 감정 분석 결과의 신뢰도 값과 감정 종류 중, 중립의 감정(‘Calm’)을 활용한다. 일정 임계치 이상의 중립 감정이 지속되다가 다른 종류의 감정이 추출되면 그 감정의 신뢰도 값과 중립이었을 때의 신뢰도 값의 차이를 계산하여 배열에 넣는다. 영화 감상이 끝나면 배열을 정렬하고 값이 가장 큰 값, 즉 감정의 차이가 가장 큰 값을 가져와 MAX 감정 구간을 확인한다.

2) 집중도 분석

집중도 분석을 위해 10초마다 사용자의 모습을 받아올 때 3장씩 캡처하고 아이트래킹(eyetracking) 기술을 이용하여 집중도를 분석하였다. 집중도가 떨어진다고 판단하는 기준은 다음 3가지로 구분하여 초깃값 100%에서 감소시켜 최종값을 전체 영화에 대한 집중도로 설정하였다 [18].

첫째, 눈을 감은 경우이다. 캡처된 3개의 프레임 모두 눈을 감은 경우로 분류되었을 때는 자는 것으로 인식한다. 이 상황이 반복되어 일정 횟수 이상 초과하면 사용자가 자고 있는 것으로 인식하여 더 이상 감정 분석을 진행하지 않고 사용자에게 시청 알림을 보낸다. 3번 모두 눈을 감지 않은 경우는 단순히 눈을 깜빡이는 경우로 간주하여 집중도에 영향을 주지 않는다.

둘째, 눈의 초점 및 고개가 흔들리는 경우이다. 첫 번째 프레임에서 눈 초점을 중심으로 눈썹까지의 길이를 반지름으로 계산해 관심영역(Region of Interest: ROI)를 지정한다. 나머지 사진들에서의 눈 초점의 중심 좌표가 지정된 ROI를 벗어나면 집중도 퍼센트를 감소시킨다.

셋째, 얼굴이 판별되지 않는 경우이다. 얼굴이 판별되지 않는 경우 집중도를 판별할 수 없는 상황으로 간주하며 집중도 퍼센트를 감소시킨다.

3-2 영화 장면 분석

기존의 다른 영화 추천 서비스처럼 단편적으로 전체 영화의 정보를 얻어오지 않고, 장면별 분석을 통해 사용자의 취향을 보다 자세히 분석한다. AWS Rekognition의 3가지 인식 기술을 사용해 사용자가 흥미를 느낀 구간의 장르, 배우, 감정 세 가지 정보를 분석하고 선호 정보를 얻는다. 영화 장면 분석도 사용자 분석과 같이 10초에 한 번씩 분석을 진행한다.

첫째, 장르 정보 추출은 사물 인식을 통해 진행한다. 장르는 총 10가지로 나뉘고 해당 장르마다 사물 배열 데이터를 가공한다. 배열에 포함된 사물이 인식될 때마다 카운트를 증가시키고 일정 수치가 넘어가면 그 사물에 해당하는 장르로 분류한다.

둘째, 감정 부합도에 활용하기 위하여 등장 인물의 감정을 분석한다. 10초에 한 번씩 영화 장면에 등장하는 인물의 감정을 분석한다. 분석 결과를 배열에 저장하고 사용자 감정 분석 결과와 비교하여 0~100까지의 정수로 감정 부합도의 퍼센트를 나타낸다. AWS Rekognition에서 다루는 감정 종류 중 중립 감정은 제외하고, 감정이 인식되지 않을 시에는 예외로 처리하여 감정을 비교하지 않는다. 사용자의 감정과 해당 영화 장면의 등장 배우의 감정을 비교하여 영화 흐름을 잘 따라오는지 확인하는 용도로 사용하며, 이후 사용자가 등록한 기존 평점에 가중치로 반영하여 선호도를 판별하는 데에 사용한다.

셋째, 유명 인사 인식 기술을 사용하여 해당 장면의 등장 배우를 추출한다. 사용자가 흥미를 느낀 구간의 시간대를 기준으로 앞뒤 10초씩의 간격, 즉 총 20초(한 장면이 지속하는 시간으로 간주함) 동안 등장하는 배우를 인식한다. 이때 인식되는 배우를 사용자의 선호 배우로 간주하고 데이터베이스에 저장한다. 이 정보는 메인 화면의 선호하는 배우 작품 추천에 사용된다.

3-3 감상 분석 결과 활용 기능

사용자 분석과 영화 장면 분석으로 추출한 결과는 그림 2와 같이 다양한 방식으로 제공되어 영화 추천 정보와 감상 결과 정보로 사용된다. 영화 시청 이후 사용자는 평점과 한줄 평을 남겨 간단하게 감상을 등록하는데, 이때 등록한 기본 평점에 사용자 분석에서 추출한 집중도 결과와 감정 부합도 수치를 가중치로 반영하여 평점을 새롭게 가공한다. 즉, 높은 집중도와 감정 부합도 결과는 평점이 강화되도록 하며 낮은 집중도와 감정 부합도는 반대로 작용한다. 가공된 평점은 사용자 프로파일에 저장하여 협업 필터링 추천에 사용된다. 인상 깊은 장면에서 분석된 영화 장르와 선호 배우는 각각 영화 속성을 바탕으로 한 내용기반 추천과 선호 배우 영화 추천에 사용된다.

Fig. 2.

Filling in Movie-Viewing and Results*This is a screen capture of the app in Korean.

① 집중도: 아이 트래킹을 사용해 사용자가 영화에 집중하는 정도를 0~100 사이의 수치로 나타낸다.
② 인상 깊은 장면: 가장 흥미로운 구간(=감정의 폭이 최대인 구간)의 시간대를 표시한다.
③ 감정 로그: 서버에서 감상하는 동안 감지된 감정값들을 전달받아서 제일 많이 느낀 감정값 순서대로 정렬 후, 가장 빈번하게 나타난 3가지 감정 이모티콘으로 출력한다.
④ 감정 그래프: 감상 동안의 사용자의 감정 폭을 사용자가 한눈에 알아보기 쉽도록 영화 상영 시간에 따른 감정 폭값의 변화를 그래프로 보여준다.

Ⅳ. 영화 추천 서비스의 구현 및 결과

실시간 감상기반 영화 추천 서비스는 그림 3과 같이 클라이언트는 안드로이드, 서버는 mongoDB와 Node.js를 이용하여 구성하였고 AWS EC2 리눅스 인스턴스를 사용하여 배포되었다.

Fig. 3.

Diagram of Movie Recommendation Service based on Real-time Viewing Record Analysis

4-1 애플리케이션 개요

본 애플리케이션의 주요 기능에는 ‘혼자보기’, ‘같이보기’, 실시간 감상 분석, 6가지 추천 시스템, 자동 감상 기록 등이 있다. 그림 4는 메인 화면을 나타내며 WATCH(‘혼자보기’), TOGETHER(‘같이보기’), 여러 가지 방식으로 추천한 영화 목록이 제공되는 방식을 보여준다. 카테고리에서 ‘WATCH’를 누르면 영화 검색 페이지로 이동하고, 하나의 영화를 선택하면 영화 감상이 가능하다. 동시에 백그라운드로 사용자의 감상이 분석되어 감상 종료 시 자동으로 작성된 다양한 형태로 표현된 감상평을 확인할 수 있다.

Fig. 4.

Recommendation System Main Page*This is a screen capture of the app in Korean.

기본 영화 데이터는 캐글 데이터셋(dataset)을 활용하여 출연 배우, 장르, 날짜 등의 데이터를 가져오도록 하였다. 영화 감상 시 제공되는 영화 영상은 AWS S3 버킷에 저장하며 감상 분석에 사용되는 사용자의 화상 이미지도 S3 버킷에 저장된다. 서비스 개발 단계에서 저작권에 구애되지 않고 자유롭게 영화 영상을 사용하여 테스트하기 위해 저작권이 만료된 고전영화(1900년대 영화)를 테마로 하였다. 이를 위해 캐글 데이터셋에서 가져온 기존 영화 데이터를 1900년대로 분류하는 작업을 거치고 이와 연결된 영화배우와 사용자 데이터를 수정하여 CSV 파일을 가공했다.

4-2 영화 추천 방법

영화 추천 기능은 총 6가지의 방식으로 진행된다. 추천에 사용되는 정보는 기본적으로 캐글 데이터셋의 영화 정보를 기반으로 하고, 사용자에게 맞춰진 영화 목록 추천을 위해 영화 감상 시 실시간으로 분석된 사용자 감상 정보를 활용한다. 서비스에서 영화 선호도 판별 기준으로 사용되는 가장 기본적인 정보는 실시간 감정분석을 통해 가공된 영화 평점이다. ‘혼자보기’ 이후 입력받은 평점에 대해 분석 결과인 집중도 수치와 감정 부합도 수치를 가중치로 반영해 평점을 재가공한다. 평점의 데이터 형식은 0~6 사이의 실수이다. 사용자 아이디, 영화 식별 아이디, 평점 정보를 함께 저장하여 이후 추천 정보로 사용한다. 6가지 추천 방식 가운데, 캐글 데이터셋의 영화 정보를 기반으로 한 4)와 5)번 이외의 추천 방법은 모두 실시간 감상 분석으로 활용한 것이다.

1) 내용기반 필터링 알고리즘을 이용한 영화 추천

기존의 내용기반 필터링 방식에 이용하는 사용자 평점과 사용자의 선호 장르에 실시간 감상 분석 결과를 반영하여 적용하고(그림 5) 이를 기본적인 유사한 영화 추천과 본 서비스에서 추천의 다양성을 확보하기 위해 제안하는 랜덤 연도 영화 추천에 이용한다.

Fig. 5.

Content-based Recommendation Method using Realtime Viewing Analysis

① 선호 영화의 유사 영화 추천: 내용기반 필터링 사용한 추천 방식으로 평점이 높은 순으로 감상 정보를 정렬하고, 상위 평점의 감상 영화와 영화 속성을 바탕으로 아이템 간 유사성을 파악하고, 시청한 영화와 유사한 다른 작품을 추천한다. 추천 알고리즘으로 특이값 분해(Singular Value Decomposition: SVD)를 사용한다. 또한, 실시간 감상 분석에서 사용된 사용자 선호 장르 정보를 이용한다. 선호한 장르 영화이면 가중치를 주어 더 높은 확률로 추천하게 구성하였다.

② 연도별 영화 추천: 1900년대의 영화를 10년 단위로 분류하고 랜덤하게 연도를 가져온다. 해당 연도의 영화 목록을 추출하여 내용기반 필터링을 적용한다. 다양한 영화를 추천하는 동시에 사용자의 취향에 맞는 영화를 추천하고자 하였다.

2) 선호 영화가 유사한 다른 사용자의 영화목록 추천

협업 필터링을 사용한 추천 방식으로 사용자 시청 목록 정보로 사용자 간 유사성 및 영화 간 유사성을 파악한다. 영화와 사용자 간 관계에 중점을 두고 영화 속성에는 주목하지 않는다. 이때, 그림 6과 같이 유사 사용자를 결정하는데 실시간 감상 분석 결과가 적용된 평점을 이용하며 사용자 사이의 유사도는 코사인 유사도(cosine similarity)를 이용하였다. 협업 필터링 개발 시에 서비스 사용자에 대한 충분한 데이터가 아직 없으므로 사용자나 아이템에 대해 추론할 수 없는 상태인 콜드 스타트 상황이 발생하여 캐글 데이터셋의 사용자 평점 정보를 가져와 대체하고 회원가입 시 영화 선호도 질문을 받아 상황을 해결하였다.

Fig. 6.

Collaborative Filtering using Realtime Viewing Analysis

3) 선호 배우 영화 추천

실시간 감상 분석 시 사용자가 흥미를 느낀 구간(즉, 사용자의 감정의 폭이 가장 높은 구간)에서 AWS Rekognition의 유명 인사 인식 기술을 이용해 배우 정보를 가져와 사용자의 선호 배우로 처리하고, 캐글 데이터셋에서 해당 배우의 출연 영화 정보를 받아와 선호 배우의 출연 작품을 추천한다.

4) 인기영화 추천

캐글 데이터셋에서 영화 인기도(popularity) 정보를 가져와 정렬하여 가장 인기 있는 10개의 영화를 추천한다.

5) 리메이크 영화 추천

시청 영화의 리메이크 작품이 있을 때에 해당 영화를 추천하는 시스템이다. 영화를 시청하고 감상 결과를 확인한 후에 팝업창으로 시청 영화의 리메이크작 존재를 알린다. 고전영화에 대한 접근성과 흥미도를 높이기 위해 마련하였다.

Fig. 7.

Remake Work Recommendation Page*This is a screen capture of the app in Korean.

4-3 사용자 평가 결과

본 논문에서 제안한 실시간 감상 분석 기반 영화 추천 시스템은 개발 완료되어 AWS EC2를 통해 배포하였으며 4주 동안 총 45명의 사용자가 사용하였으며 이 중, 17명의 사용자가 설문조사에 응답하였다. 그림 8의 ‘좋아하신 작품과 유사한’은 내용기반 필터링으로 추천된 결과이며 왼쪽 그림은 기존 추천 방식을 그대로 사용한 경우이고 오른쪽 그림은 실시간 감상 분석을 활용하여 수정된 영화 추천 목록인데 차이가 있음을 확인할 수 있다.

Fig. 8.

Comparison of Content-based Recommendations before and after Realtime Viewing Analysis*This is a screen capture of the app in Korean.

사용자들은 10개의 영화를 추천받아 각각 몇 개의 영화가 마음에 드는지 답하였으며 추천한 영화에 대한 평점을 답하였다. 사용자 테스트 결과는 추천한 영화 10개 중에 실제 사용자가 관심이 있는 비율인 정밀도@10(Precision@10), 추천 영화에 대한 평점을 지표로 비교하였으며 표 1에 정리하였다. 정밀도@10과 사용자 평점 지표 모두에서 제안하는 방법이 기존 내용기반 추천 방식에 비해 우수한 결과를 보였다. 실시간 감상 분석 결과를 활용하는 추천 방법 중에 협업 필터링 방법의 경우에는 콜드 스타트 상황이기 때문에 유사 사용자 집합이 기존 협업 필터링 방법에서의 유사 사용자 집합과 유사하였다.

Comparison Data of Recommended Results

가장 크게 두드러지는 추천 목록의 차이는 선호 배우 영화 작품 추천이다. 사용자가 “신사는 금발을 좋아해(Gentlemen Prefer Blondes)" 영화 감상 시에 가장 흥미를 느낀 시간대의 장면에서 마릴린먼로 배우가 인식되었고, 인식된 배우를 선호 배우로 간주하여 해당 배우의 작품으로 추천 목록이 변화된 예를 그림 9에서 보여준다. 수치 비교 이외에 설문조사를 통하여 확인된 결과 분석에서도 응답자 다수가 공통으로 선호 배우 추천에 대한 장점을 언급하였는데, 이는 기존의 선호 배우 영화 추천이라고 하면 주연급 영화배우에 한정되는 면이 있었는데 다양한 범위의 배우에 대한 추천이 가능했고 고전영화에 등장하는 몰랐던 배우를 새롭게 알아갈 수 있어 흥미롭다고 답했다.

Fig. 9.

A case of movie recommendation for a preferred actor*This is a screen capture of the app in Korean.

마지막으로 전체 응답자 가운데 실시간 감상 분석 결과를 적용한 후의 추천이 기존 사용자 평점에 의한 추천에 비해 좋았다고 응답한 비율은 94%였다.


Ⅴ. 결 론

본 논문에서는 사용자가 영화를 감상하는 동안의 감정과 집중도를 분석하여 그 결과를 기반으로 영화를 추천하는 영화 감상 앱을 개발하였다. 이를 위해 영화를 보여주는 동시에 감상 모습을 백그라운드로 카메라에 담아 사용자의 반응을 분석하고 시청 중인 영화의 각 장면을 분석하였으며, 영화 상영 후에 재미있게 본 영화 장면의 장르, 감정, 배우를 분석하여 사용자 맞춤 영화를 추천하도록 하였다. 분석 결과를 활용하여 수정된 평점과 한 줄 감상평은 사용자 프로파일에 저장하여 추후 영화 추천에 사용될 수 있도록 하였다.

완성된 앱은 배포되어 사용자 테스트가 이루어졌으며 기존에 사용자 평점에 의존하던 방법에 비해 추천의 정확도가 향상됨을 보였다. 또한 자동으로 알아낸 선호 배우가 출연한 영화를 추천하고 멀리 떨어진 연도의 유사 영화를 추천하는 등의 새로운 추천 방식을 통해 다양한 추천이 점이 좋은 평가를 받았다.

향후 과제로는 현재 장면 분석을 위해 장면에 나타난 사물을 기준으로 장르를 분류하는 규칙 기반 방식을 사용하고 있는데, 이를 학습시켜 영화 장면 분석에 적합한 모델을 구축하는 것이 필요하다. 또한 감정 부합도의 경우도, 앱을 이용하는 사용자의 표정을 학습 데이터로 구축하여 모델링한다면 더 정확한 감정 분석이 가능할 것이다.

Acknowledgments

본 연구는 2021년도 덕성여자대학교 교내연구비 지원에 의해 수행되었습니다.

References

  • A. Robicquet, “Why aren’t recommendation engines very effective despite today’s technology?”, [Internet]. Available: https://medium.com/swlh/why-arent-recommendation-engines-very-effective-despite-today-s-technology-80efe22fa595, .
  • W. Pan, S. Cui, H. Wen, K. Chen, C. Zhang, and F Wang, “Correcting the User Feedback-Loop Bias for Recommendation Systems”, arXiv:2109.06037 [cs.IR], 2021. [https://doi.org/10.48550/arXiv.2109.06037]
  • R. Pradhan, A. C. Swami, A. Saxena and V. Rajpoot, “A Study on Movie Recommendations using Collaborative Filtering”, IOP Conference Series: Materials Science and Engineering, 2021. [https://doi.org/10.1088/1757-899X/1119/1/012018]
  • G. Singh, R. Singh Boparai, “A Survey on Movie Recommendation System”, International Journal of Advanced Trends in Computer Applications Vol. 3(7), pp. 11-14, 2016.
  • C. A. Gomez-Uribe and N. Hunt, ”The Netflix Recommender System: Algorithms, Business Value, and Innovation”, ACM Transactions on Management Information Systems 6(4):1-19, 2015. [https://doi.org/10.1145/2843948]
  • M. Goyani and N. Chaurasiya, “A Review of Movie Recommendation System: Limitations, Survey and Challenges”, Electronic Letters on Computer Vision and Image Analysis, Vol. 19(3), pp.18-37, 2020.
  • J. Salter and N. Antonopoulos, ”CinemaScreen Recommender Agent:Combining Collaborative and Content-Based Filtering”, IEEE Intelligent Systems, Vol. 21(1), pp. 35-41, 2006.
  • K. N. Jain, V. Kumar, P. Kumar, and T. Choudhury, ”Movie recommendation system: Hybrid information Filtering System”, Springer, Singapore, pp. 677-686, 2018.
  • W. Nadee, Y. Li, and Y. Xu, “Acquiring User Information Needs for Recommender Systems” in Proceedings of the 2013 IEEE/WIC/ACM International Joint Conferences on Web Intelligence (WI) and Intelligent Agent Technologies (IAT) Vol. (03), IEEE Computer Society, pp. 5–8, 2013. [https://doi.org/10.1109/WI-IAT.2013.140]
  • S. 0Kumar, S. Halder, K. De, P. Roy, “Movie Recommendation System using Sentiment Analysis from Microblogging Data”, IEEE Transactions on Computational Social Systems, Vol. 7(4), pp. 915 – 923, 2020.
  • Y. Zhanga, L. Zhanga, “Movie Recommendation Algorithm Based on Sentiment Analysis and LDA”, Procedia Computer Science, Vol. 199, pp. 871-878, 2022.
  • A. Chauhan, D. Nagar and P. Chaudhary, "Movie Recommender system using Sentiment Analysis," International Conference on Innovative Practices in Technology and Management (ICIPTM), pp. 190-193, 2021.
  • M. Rimaz et al, “Exploring the Power of Visual Features for Recommendation of Movies”, UMAP2019, 2019.
  • D. Olsen, “Movie Recommendation based on Stylistic Visual Features” Master’s thesis, University of Bergen, 2022.
  • J. Zhang, “Movies and Pop Songs Recommendation System by Emotion Detection through Facial Recognition”, Journal of Physics: Conference Series, Vol. 1650(2), 2020.
  • S. Chauhan, R. Mangrola and D. Viji, "Analysis of Intelligent movie recommender system from facial expression," 5th International Conference on Computing Methodologies and Communication (ICCMC), pp. 1454-1461, 2021.
  • T. Elias, U. S. Rahman and K. A. Ahamed, "Movie Recommendation Based on Mood Detection using Deep Learning Approach," Second International Conference on Advances in Electrical, Computing, Communication and Sustainable Technologies (ICAECT), pp. 1-6, 2022.
  • Visual Camp Co., Ltd., Introduction to SeeSo Edu., [Internet]. Available: https://d2jyd0c50dtn5w.cloudfront.net/wp-content/uploads/2022/01/, .

저자소개

박예진(Yejin Park)

2019년~현 재 : 덕성여자대학교 컴퓨터공학과 재학

※관심분야:서버개발, 인공지능

박상희(Sanghee Park)

2018년~현 재 : 덕성여자대학교 컴퓨터공학과 재학

※관심분야:모바일 앱, 딥러닝, 영상 처리

박서원(Seowon Park)

2019년~현 재 : 덕성여자대학교 컴퓨터공학과 재학

※관심분야:모바일 앱, 딥러닝

전수민(Soomin Jeon)

2019년~현 재 : 덕성여자대학교 컴퓨터공학과 재학

※관심분야:서버개개, DB, AWS

유견아(Kyeonah Yu)

1986년 : 서울대학교 제어계측공학과 (공학사)

1988년 : 서울대학교 제어계측공학과 (공학석사)

1995년 : University of Southern California Dept. of Computer Science (공학박사)

1996년~현 재: 덕성여자대학교 컴퓨터공학부 교수

※관심분야:인공지능, 메타러닝 등

Fig. 1.

Fig. 1.
Flowchart of Real-Time Movie-Viewing Analysis

Fig. 2.

Fig. 2.
Filling in Movie-Viewing and Results*This is a screen capture of the app in Korean.

Fig. 3.

Fig. 3.
Diagram of Movie Recommendation Service based on Real-time Viewing Record Analysis

Fig. 4.

Fig. 4.
Recommendation System Main Page*This is a screen capture of the app in Korean.

Fig. 5.

Fig. 5.
Content-based Recommendation Method using Realtime Viewing Analysis

Fig. 6.

Fig. 6.
Collaborative Filtering using Realtime Viewing Analysis

Fig. 7.

Fig. 7.
Remake Work Recommendation Page*This is a screen capture of the app in Korean.

Fig. 8.

Fig. 8.
Comparison of Content-based Recommendations before and after Realtime Viewing Analysis*This is a screen capture of the app in Korean.

Fig. 9.

Fig. 9.
A case of movie recommendation for a preferred actor*This is a screen capture of the app in Korean.

Table 1.

Comparison Data of Recommended Results

Content-based
Filtering only
With real-time viewing
analysis
Precision@10 0.29 0.65
Ratings for recommended movies 3.29/5 4.29/5