KR20170079429A - 사용자 속성을 고려한 클러스터링 기반의 협업 필터링 방법 및 영화 추천 시스템 - Google Patents

사용자 속성을 고려한 클러스터링 기반의 협업 필터링 방법 및 영화 추천 시스템 Download PDF

Info

Publication number
KR20170079429A
KR20170079429A KR1020150189989A KR20150189989A KR20170079429A KR 20170079429 A KR20170079429 A KR 20170079429A KR 1020150189989 A KR1020150189989 A KR 1020150189989A KR 20150189989 A KR20150189989 A KR 20150189989A KR 20170079429 A KR20170079429 A KR 20170079429A
Authority
KR
South Korea
Prior art keywords
movie
clustering
collaborative filtering
predetermined number
similarity
Prior art date
Application number
KR1020150189989A
Other languages
English (en)
Inventor
이지형
김베드로
김진아
김환
Original Assignee
성균관대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 성균관대학교산학협력단 filed Critical 성균관대학교산학협력단
Priority to KR1020150189989A priority Critical patent/KR20170079429A/ko
Publication of KR20170079429A publication Critical patent/KR20170079429A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47208End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting near-video-on-demand content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/251Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/4508Management of client data or end-user data
    • H04N21/4532Management of client data or end-user data involving end-user characteristics, e.g. viewer profile, preferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/475End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data
    • H04N21/4755End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data for defining user preferences, e.g. favourite actors or genre

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 사용자 속성을 고려한 클러스터링 기반의 협업 필터링 방법 및 그 방법을 이용하는 영화 추천 시스템에 관한 발명이다. 상기 방법은 제1 소정 개수의 상위 영화 타이틀에 관한 데이터를 중심점으로 이용하는 단계, 상기 중심점을 기준으로 클러스터링 적용을 하는 단계와 제2 소정 개수의 상위 장르가 많이 포함된 클러스터를 선택하는 단계를 포함한다.

Description

사용자 속성을 고려한 클러스터링 기반의 협업 필터링 방법 및 영화 추천 시스템{A CLUSTERING BASED COLLABORATIVE FILTERING METHOD WITH A CONSIDERATION OF USERS' FEATURES AND MOVIE RECOMMENDATION SYSTEM USING THEREOF}
본 발명은 협업 필터링 방법에 관한 것이며, 더욱 상세하게는 클러스터링 방식을 사용하여 유사 사용자를 군집화하고 이를 협업 필터링 방법에 반영하는 기법에 관한 것이다.
추천시스템(Recommendation System)은 사용자에게 서비스나 아이템을 추천해주는 것으로 홈쇼핑 등에서 이용될 수 있다. 특히 추천 시스템의 기법 중에서도 평점 정보만으로도 좋은 성능을 나타내주는 협업필터링(Collaborative Filtering)방식이 많이 연구되어지고 있다(G. Adomavicius, and A. Tuzhilin, “Toward the Next Generation of Recommender Systems: A Survey of the State-of-the-Art and Possible Extensions,” Knowledge and Data Engineering, IEEE Transactions on, Vol .17, pp. 734-749, 2005). 협업필터링은 ‘특정 아이템에 대해 선호도가 유사한 사용자들은 다른 아이템에 대해서도 비슷한 선호도를 보일 것’이라는 전제를 바탕으로 사용자나 혹은 아이템을 기반으로 선호도를 예측하는 방법이다(손지은, 김성범, 김현중, 조성준, “추천 시스템 기법 연구동향 분석”, 대한산업공학회지, 41권 제2호, pp. 185-208, 2015). 하지만 기존 협업 필터링 방식은 단지 과거에 평가했던 평점 정보만을 이용해서 추천을 해주기 때문에 데이터간의 유사도를 비교하는데 있어서 반영되는 정보의 요소가 제한적이고, 사용자 간에 뚜렷한 유사 경향이 존재하지 않을 경우 유사성을 평가하기 어려운 문제를 지니고 있다.
본 발명의 목적은 영화 데이터에서 나타나는 각 사용자별 나이, 성별과 같은 인구통계학적 정보와 영화 장르에 대한 정보를 활용하여 유사 선호도를 지닌 사용자를 판별하는데 있어 사용자에 관한 다양한 정보를 고려한 클러스터링 기법 기반의 협업 필터링 방법 및 이를 이용한 영화 추천 시스템을 제공하는 것이다.
본 발명의 일 측면에 따르면, 본 발명은 사용자 속성을 고려한 클러스터링 기반의 협업 필터링 방법을 제공한다. 상기 방법은 제1 소정 개수의 상위 영화 타이틀에 관한 데이터를 중심점으로 이용하는 단계, 상기 중심점을 기준으로 클러스터링 적용을 하는 단계와 제2 소정 개수의 상위 장르가 많이 포함된 클러스터를 선택하는 단계를 포함한다.
상기 방법은 상기 제2 소정 개수의 상위 장르 각각에 대한 대표 영화와 선택되지 않은 클러스터 내부 영화와의 유사도를 계산하는 단계와 상기 유사도 순위 상위의 영화들에 포함된 속성 정보를 상기 선택된 클러스터에 포함하는 단계를 더 포함할 수 있다.
상기 방법은 협업 필터링 모델을 생성하기 위한 학습 데이터 및 테스트 데이터를 구성하는 단계와 상기 학습데이터를 이용하여 협업 필터링 모델을 생성하는 단계를 더 포함할 수 있다.
상기 방법은 상기 협업 필터링 모델을 테스트 하는 단계와 상기 협업 필터링 모델을 이용하여 영화 추천을 위한 평점을 예측하는 단계를 더 포함할 수 있다.
상기 방법은 사용자, 영화, 평점 중 적어도 하나를 포함하는 속성 데이터를 수집하는 단계를 더 포함할 수 있다.
상기 클러스터링 적용을 하는 단계는 상기 제1 소정 개수의 상위 영화 각각을 관람한 사용자들 중 랜덤으로 상기 제1 소정 개수와 동일한 명수의 속성 정보를 군집 중심으로 사용하여 클러스터링을 진행하는 것을 특징으로 할 수 있다.
상기 클러스터를 선택하는 단계는 클러스터링을 통해 얻어진 상기 제1 소정 개수의 클러스터 군집 중 전체 사용자들이 가장 많이 선택한 상기 제2 소정 개수의 상위 장르의 정보 비율이 높은 군집을 선택하는 것을 특징으로 할 수 있다.
상기 유사도를 계산하는 단계는 상기 대표 영화들 각각과 선택되지 않은 클러스터 내부 영화들 중 상기 제2 소정 개수의 상위 장르에 해당하지 않는 영화들 간 유사도를 계산하는 것을 특징으로 할 수 있다.
본 발명의 또다른 측면에 따르면, 본 발명은 사용자 속성을 고려한 클러스터링 기반의 협업 필터링 방법을 이용하는 영화추천 시스템을 제공한다. 상기 시스템은 상위 영화 타이틀에 관한 속성 정보를 중심으로 클러스터링을 진행하는 클러스터링 진행부, 상위 장르 대표 영화와 선택되지 않은 클러스터 내부 영화들간 유사도를 계산하는 유사도 계산부와 선택된 클러스터의 데이터를 학습 및 테스트 데이터로 이용하여 영화 추천 협업 필터링 모델을 생성하는 협업 필터링 모델 생성부를 포함한다.
상기 시스템은 상기 협업 필터링 모델을 이용하여 추천 영화 정보를 생성하는 영화 추천부와 영화 소스들로부터 사용자, 영화 및 평점 중 적어도 하나에 관한 데이터를 수신하고 상기 추천 영화를 사용자 디바이스로 전송하는 통신인터페이스를 더 포함할 수 있다.
상기 클러스터링 진행부는 제1 소정 개수의 상위 영화 타이틀에 관한 데이터를 중심점으로 이용하고, 상기 중심점을 기준으로 클러스터링 적용하고, 제2 소정 개수의 상위 장르가 많이 포함된 클러스터를 선택하는 것을 특징으로 할 수 있다.
상기 유사도 계산부는 상기 제2 소정 개수의 상위 장르 각각에 대한 대표 영화와 선택되지 않은 클러스터 내부 영화와의 유사도를 계산하고, 상기 유사도 순위 상위의 영화들에 포함된 속성 정보를 상기 선택된 클러스터에 포함하는 것을 특징으로 할 수 있다.
본 발명의 클러스터링 기법 기반의 협업 필터링 방법 및 영화 추천 시스템에 따르면 협업 필터링 모델 생성시 영화 데이터에서 나타나는 사용자의 속성 정보를 반영하고, 이를 이용하여서 영화 추천을 원하는 이용자에게 정확한 추천을 제공할 수 있다. 또한, 본 발명의 클러스터링 기법 기반의 협업 필터링 방법은 사용자에 대한 구체적인 정보의 활용을 통해 유사 사용자들에 대한 정보를 분석하거나 성향에 맞는 정확한 영화 추천 전략 수립에 활용될 수 있다.
도 1은 본 발명의 일 실시예에 따른 사용자 속성을 고려한 클러스터링 기반의 협업 필터링 방법의 순서도이다.
도 2는 본 발명의 일 실시예에 따른 영화 데이터 속성 벡터화의 예를 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 중심점 생성 및 클러스터링 추출의 예를 나타낸 도면이다.
도 4는 코사인 유사도 계산의 예를 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따른 영화 추천 시스템을 나타낸 도면이다.
도 6은 본 발명의 일 실시예에 따른 영화 추천부에서의 영화 추천 순서도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등을 포함하는 용어가 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재 항목들의 조합 또는 복수의 관련된 기재 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여 본 발명에 바람직한 실시 예를 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어 도면 부호에 상관없이 동일하거나 대응하는 구성요소는 동일한 참조번호를 부여하고 이에 대해 중복되는 설명은 생략하기로 한다.
본 발명은 사용자의 나이, 성별 그리고 과거에 관람된 영화의 장르 정보를 이용한 클러스터링 기법을 통해 유사 사용자를 군집하고, 이를 평점 정규분포도에 따라 노이즈 정보를 제거한 후, 협업 필터링 방식으로 추천하는 방법을 기술한다.
우선 사용자에 대한 정보를 이용하여 유사한 선호도를 가진 사용자들을 분류하기 위해 클러스터링 기법 중 K-Means 군집을 활용한다. K-Means 군집은 자동으로 유사한 데이터들을 모아주는 비지도 학습 기법 중 하나로서 주어진 데이터 집합에 대해서 K개의 군집을 찾으려는 알고리즘이다. K-Means 클러스터링 알고리즘은 K개의 mean을 찾는 것으로 더 상세하게는, n개의 점(혹은 observations)이 주어질 때, K개의 클러스터로 분할하는 방식이며, 각 점들이 가장 가까운 클러스터(mean point (혹은 centroid)와의 거리가 가장 가까운)에 속하게끔 한다.
협업 필터링은 사용자들로부터 얻은 기호정보에 따라 사용자들의 관심사를 자동적으로 예측하게 해주는 방법이다. 협업 필터링의 종류로는 능동적 필터링과 수동적 필터링이 있다. 능동적 필터링은 P2P방식으로 사람들이 다른 비슷한 사람들과 구매 물품에 대한 정보를 공유하길 원한다는 사실에 기초한다. 능동적 필터링은 실제 해당 물품에 대해 관심사를 가진 사람들이 평가를 했기 때문에 신뢰성 있는 설명과 순위를 생성할 수 있다. 그러나 평가에 편견이 개입될 수 있고 초기 평가자 문제와 콜드 스타트 문제가 있을 수 있다. 수동적 필터링은 정보를 함축적으로 수집하는 방법으로 능동적인 필터링에서 나타나는 분석들로부터 특정 변화를 제거할 수 있다. 예를 들어, 수동적 필터링에서는 모든 사람이 자동적으로 주어진 데이터를 가지고 접근할 수 있다. 또 다른 협업 필터링 방법으로 아이템 기반 필터링이 있다. 아이템 기반 협업 필터링은 대부분의 사람들이 과거에 자신이 좋아했던 상품과 비슷한 상품이면 좋아하는 경향이 있고 반대로 싫어했었던 상품과 비슷한 상품이면 싫어하는 경향이 있다는 점을 기반으로 하고 있다. 이 필터링 방법은 고객이 선호도를 입력한 기존의 상품들과 예측하고자 하는 상품과의 유사도(similarity)를 계산하여 고객의 선호도를 예측하는 방법이다. 아이템 기반 협업 필터링 방법은 상품들 간의 유사도를 계산하기 위하여 두 상품에 모두 선호도를 입력한 고객들의 선호도를 사용한다. 그러나 고객들 간의 유사도가 전혀 고려되지 않기 때문에 만약 특정 고객과 전혀 선호도가 비슷하지 않은 사용자들의 평가를 기반으로 한다면 상품들 간의 상관관계의 정확도가 떨어지고, 아울러 추천 시스템의 예측 능력과 추천 능력이 저하될 수 있다. 이와 같이 추천 시스템에서는 평점 이력으로부터 미평점의 값을 얼마나 정밀하게 예측하는지가 중요 목표가 된다.
사용자 속성을 고려한 클러스터링 기반의 협업 필터링 방법
도 1을 참조하면, 본 발명의 일 실시예에 따른 사용자 속성을 고려한 클러스터링 기반의 협업 필터링 방법은 사용자/영화/평점에 대한 데이터 수집 단계(S11), 상위 m개 영화 타이틀에 관한 데이터를 중심점으로 이용하는 단계(S12), 중심점을 기준으로 클러스터링 적용단계(S13), 상위 장르 n개의 개수가 가장 많이 포함된 클러스터 선택 단계(S14), 상위 장르 n개에 관한 대표 영화와 선택되지 않은 클러스터 내부 영화와의 유사도 계산 단계(S15), 유사성이 높은 상위 n+1번째까지 영화에 포함된 속성 정보 포함 단계(S16), 학습데이터 및 테스트 데이터 구성 단계(S17), 협업필터링 모델 생성 단계(S18), 테스트 단계 (S19)및 추천 영화 평점 예측 단계(S20)를 포함한다.
표 1은 영화 데이터 구성의 예이다.
Figure pat00001
상기 사용자/영화/평점에 대한 데이터 수집 단계(S11)에서는 사용자ID, 영화 ID, 평점, 성별, 영화 타이틀, 장르 등에 관한 정보를 수집한다. 이렇게 수집된 정보를 1과 0의 바이너리 형식으로 벡터화하여 나타낸다. 예를 들어, 성별 정보에서 남성은 0, 여성은 1로 표현할 수 있고, 장르 정보에서 여러 장르 필드 중 해당 장르 필드만 1로, 나머지는 0으로 표현할 수 있다. 도 2는 본 발명의 일 실시예에 따른 영화 데이터 속성 벡터화의 예를 나타낸 도면이다.
상기 상위 m개 영화 타이틀에 관한 데이터를 중심점으로 이용하는 단계(S12)에서는 가장 많은 사용자가 관람한 영화 타이틀 순으로 정렬하여 상위 m개 영화를 선정한다.
상기 중심점을 기준으로 클러스터링 적용 단계(S13)에서는 선정된 상위 m개 영화 각각에 대해 관람한 사용자들 중에서 랜덤으로 m명의 속성 정보를 군집 중심으로 사용하여 클러스터링을 진행한다. 예를 들어, 상위 5개 영화가 선정되면 각 영화를 관람한 사용자들 중에서 랜덤으로 5명의 속성정보를 군집 중심으로 사용하여 클러스터링을 진행한다. 클러스터링은 수학식 1을 적용한다.
Figure pat00002
(ω: k개의 클러스터 집합, ωx: x번째 클러스터 항목, Wm: 선택된 클러스터, j: 클러스터링을 수행할 항목)
선택된 클러스터 Wm에서 중심점과 주변 데이터 간의 유사도는 유클리디안 거리로 계산하며 수학식 2를 적용한다.
Figure pat00003
도 3은 본 발명의 일 실시예에 따른 중심점 생성 및 클러스터링 추출의 예를 나타낸 도면이다.
상기 상위 장르 n개의 개수가 가장 많이 포함된 클러스터 선택 단계(S14)에서는 대중성을 반영하기 위해 클러스터링을 통해 얻어진 m개의 군집 중 전체 사용자들이 가장 많이 선택한 장르 n개의 정보의 비율이 높은 군집을 선택한다.
상기 상위 장르 n개에 관한 대표 영화와 선택되지 않은 클러스터 내부 영화와의 유사도 계산 단계(S15)에서는 추천의 다양성을 증가시켜주기 위해 선택된 군집 이외에 다른 군집에 속한 영화들 중에서 상기 상위 장르 n개에 해당하지 않는 영화들과 상기 대표 영화들의 유사도(코사인 유사도)를 수학식 3으로 계산하고 유사도 지수를 순위화하여 나타낸다. 예를 들어, 상위 장르 2개에 관한 대표 영화 각각에 대해서, 선택되지 않은 클러스터 내부 영화 중 상기 상위 장르 2개에 해당하지 않는 영화들과의 코사인 유사도를 계산하고 유사도 지수를 순위화하여 나타낼 수 있다.
Figure pat00004
상기 유사성이 높은 상위 n+1번째까지 영화에 포함된 속성 정보 포함 단계(S16)에서는 각 대표 영화 별로 유사도 지수 순위화 결과 상위 n+1번째까지 영화에 포함된 속성 정보를 상기 선택된 클러스터에 포함한다. 이를 통해 추천되는 영화의 다양성을 증가시킬 수 있다.
도 4는 코사인 유사도 계산의 예를 나타내는 도면이다.
상기 학습데이터 및 테스트 데이터 구성 단계(S17)에서는 상기와 같이 선택된 영화 데이터를 훈련을 위한 학습 데이터와 성능 평가를 위한 테스트 데이터로 구성한다.
상기 협업필터링 모델 생성 단계(S18)에서는 상기 학습 데이터를 이용하여 협업필터링 모델을 생성한다.
협업 필터링 모델이 생성되면 모델의 성능을 평가하기 위해 상기 테스트 데이터를 이용하여 테스트를 수행할 수 있다(S19).
상기 추천 영화 평점 예측 단계(S20)에서는 생성된 협업필터링 모델을 이용하여 영화 평점을 예측할 수 있다.
이하에서는 상기 클러스터링 기반의 협업 필터링 모델 방법을 이용하는 영화 추천 시스템에 대해 기술한다.
영화 추천 시스템
도 5를 참조하면, 본 발명의 일 실시예에 따른 영화 추천 시스템(10)은 네트워크를 통해 영화 소스(20) 및 사용자 디바이스(40)와 연결된다.
상기 영화 소스(20)는 사용자가 영화를 구매하고 그에 대한 평점을 기록할 수 있는 웹사이트 등을 포함한다. 사용자는 이러한 영화 소스로부터 영화를 구매할 수 있다.
상기 영화 추천 시스템(10)은 통신 인터페이스(100), 클러스터링 진행부(200), 유사도 계산부(300), 협업필터링 모델 생성부(400) 및 영화 추천부(500)를 포함한다. 상기 통신 인터페이스(100)는 영화 소스 제공 사이트들(20)로부터 영화 관련 데이터를 수신하거나 사용자 디바이스(40)로부터 영화 추천 요청을 수신한다. 영화 관련 데이터는 예를 들어, 이용자 성별, 장르, 개봉일, 시놉시스, 기존 평점 정보 등의 콘텐츠 정보 등이 포함될 수 있다. 영화 추천 요청은 예를 들어, 최신 영화 추천 요청, 장르별 영화 추천 요청 등이 포함될 수 있다. 또한 통신 인터페이스부(100)를 통해 추천 영화 정보를 사용자 디바이스(40)로 송신할 수 있다. 상기 클러스터링 진행부(200)는 통신 인터페이스부(100)를 통해 수신한 영화 정보를 이진 벡터화하여 상위 m개 영화 타이틀에 대한 데이터를 중심점으로 이용하여 클러스터링한다. 상기 유사도 계산부(300)는 상기 클러스터링을 통해 선택된 m개의 군집 중 사용자들이 가장 많이 선택한 장르 n개의 정보 비율이 높은 군집을 선택하여 상기 상위 장르 n개에 관한 대표 영화 각각에 대해, 선택되지 않은 클러스터 내부의 상기 상위 장르 n에 해당하지 않는 영화와의 유사도를 계산하고 순위화하여 n+1번째까지 유사도 순위가 높은 영화들을 상기 선택된 클러스터에 포함시킨다. 상기 협업 필터링 모델 생성부(400)는 상기 선택된 클러스터의 데이터를 훈련 데이터로 사용하여 영화 추천 협업 필터링 모델을 생성한다. 그런 다음, 상기 영화 추천부(500)는 상기 모델을 이용하여 영화에 대한 예측 평점을 계산하고 그에 따라 추천 영화 정보를 생성한다. 도 6은 본 발명의 영화 추천부에서의 영화 추천 순서도의 예를 나타낸 도면이다. 도 6을 참조하면, 사용자 디바이스(40)로부터 영화 추천 요청 입력을 수신부로부터 수신(S61)하면 영화 추천부(500)는 영화 추천 협업 필터링 모델이 생성되었는지를 판단(S62)한다. 영화 추천 협업 필터링 모델이 생성되지 않았으면 도 1의 순서에 따라 상기 클러스터링 진행부(200), 유사도 계산부(300), 협업필터링 모델 생성부(400)의 기능으로 영화 추천 협업 필터링 모델을 생성한다(S63). 영화 추천 협업 필터링 모델이 생성되었으면 이를 이용하여 영화에 대한 예측 평점을 계산한다(S64). 그런 다음 계산된 예측 평점에 따라 추천 영화 정보 목록을 정렬 또는 분류하여 생성한다(S65). 예를 들어, 사용자가 최신 영화에 대한 추천을 요청하면 최신 영화 중 예측 평점 순위가 높은 영화부터 정렬하여 목록을 생성할 수 있다. 또는 사용자가 장르별 영화 추천을 요청하면 액션, 로맨스, 공포 등 장르별로 예측 평점 순위가 높은 영화부터 정렬하여 목록을 생성할 수도 있다. 추가로 추천 영화에 대한 간략한 소개 정보(예를 들어, 영화의 시놉시스, 재생 시간 등)도 함께 포함하여 생성할 수 있다. 상기 통신 인터페이스(100)는 생성된 영화 추천 정보를 사용자 디바이스(40)로 송신한다(S66).
상기 사용자 디바이스(40)는 사용자가 영화를 구매하고 그에 대한 평점 및 영화 추천 요청을 입력할 수 있는 인터페이스를 가지는 PC, 태블릿, 스마트폰, IPTV 등을 포함한다.
이하에서는 상기 사용자 속성의 클러스터링 기반의 협업필터링 모델을 생성하고 그 성능을 측정한 실험예에 대해 기술한다.
실험예
제안 방법의 검증을 위하여 공개된 영화 평점 데이터인 MovieLens 1m 데이터를 이용하였다. 이용된 MovieLens 데이터는 총 6,040명의 유저가 3,900의 영화를 관람하고 평가를 매긴 1,000,209개의 평점 데이터를 가지고 있다. 클러스터링에 대해 성능평가를 하기 위해서 10번, 13번, 17번 클러스터링을 진행한 군집 결과를 이용한다. 유저 중 80%는 훈련 셋(training set)으로 사용하였고, 20%는 테스트 셋(testing set)으로 사용하였다. 실험의 유효성을 검증하기 위해서 예측 성능을 5번씩 평가하였다.
평가를 위해 기존의 영화 데이터에서 사용자들이 가장 많이 선택한 장르 2개가 포함된 영화 데이터와 군집을 통해 얻어진 데이터를 이용한 추천 성능을 비교하였다. 추천 성능을 비교하기 위한 성능 지표로 정확성을 평가하기 위해서 MAE, RMSE(수학식 4 및 수학식 5)를 사용하였다.
Figure pat00005
Figure pat00006
MAE평가 방법은 추천 시스템을 통해 특정 사용자가 보지 않은 영화에 대한 예측 점수와 실제 점수와의 차이를 통해 예측의 정확도를 판별함으로써 시스템의 성능을 판단하는 기법으로 낮을수록 좋은 정확도를 나타낸다.
RMSE 평가 방법은 MAE 값에 비하여 예측 오차가 큰 관측치에 대해 상대적으로 적은 가중치를 부여하는 방법으로 낮을수록 좋은 성능을 나타낸다.
또한 추천의 다양성을 측정하기 위해 Coverage라는 지표를 사용하였다. 식은 아래 수학식 6과 같이 추천된 아이템집합
Figure pat00007
에 대해 장르별 정보가 중복되지 않는 아이템 집합
Figure pat00008
로 나타낸다.
Figure pat00009
Coverage 평가 방법은 영화 추천의 다양성을 나타내는 지수로 높을수록 추천 다양성이 좋음을 나타낸다.
표 2는 추천 시스템에 본 발명에서 제안하는 방법을 사용했을 때, 추천 시스템의 성능이 어떻게 변화하는지에 대한 결과이다.
Figure pat00010
Baseline은 기존의 협업 필터링 방식만을 사용하여 추천을 하였을 때의 성능 수치를 나타낸 것이다. K가 나타내는 값은 K-Means 클러스터링에서 평균이 되는 중심점을 가지고 얼마나 반복적으로 군집방식을 반복해서 군집을 형성할 것인가를 나타내는 값으로 많이 수행할수록 어떤 데이터의 특성 값으로 수렴을 하기 때문에 각 군집이 특정한 특징을 잘 반영하게 되지만, 일정 반복 이후에는 값이 최적으로 수렴되는 점이 있기 때문에 이를 찾아내기 위해 위와 같이 반복해서 실험했다. 표 2에 나타난 바와 같이 K=17에서 제안 기법이 baseline에 비해 더 좋은 성능을 나타내는 것을 볼 수 있다. 그러나, 정확성이 높아질수록 사용자에게 최적인 영화만 추천하게 되므로 다양한 영화를 추천하는 다양성 지수는 더 감소함을 볼 수 있다. 정확성 수치와 다양성 수치는 반비례하므로 정확성은 높이면서 다양성 수치는 어느 정도 유지하려면 최적점은 K=13일 때로 볼 수 있다.
10: 영화 추천 시스템
100-1, 100-2: 통신 인터페이스 200: 클러스터링 진행부
300: 유사도 계산부 400: 협업 필터링 모델 생성부
500: 영화 추천부
20: 영화 소스
40: 사용자 디바이스

Claims (12)

  1. 사용자 속성을 고려한 클러스터링 기반의 협업 필터링 방법에 있어서, 상기 방법은
    제1 소정 개수의 상위 영화 타이틀에 관한 데이터를 중심점으로 이용하는 단계;
    상기 중심점을 기준으로 클러스터링 적용을 하는 단계; 및
    제2 소정 개수의 상위 장르가 많이 포함된 클러스터를 선택하는 단계를 포함하는 사용자 속성을 고려한 클러스터링 기반의 협업 필터링 방법.
  2. 제1항에 있어서,
    상기 제2 소정 개수의 상위 장르 각각에 대한 대표 영화와 선택되지 않은 클러스터 내부 영화와의 유사도를 계산하는 단계; 및
    상기 유사도 순위 상위의 영화들에 포함된 속성 정보를 상기 선택된 클러스터에 포함하는 단계를 더 포함하는 사용자 속성을 고려한 클러스터링 기반의 협업 필터링 방법.
  3. 제2항에 있어서,
    협업 필터링 모델을 생성하기 위한 학습 데이터 및 테스트 데이터를 구성하는 단계; 및
    상기 학습데이터를 이용하여 협업 필터링 모델을 생성하는 단계를 더 포함하는 사용자 속성을 고려한 클러스터링 기반의 협업 필터링 방법.
  4. 제3항에 있어서,
    상기 협업 필터링 모델을 테스트 하는 단계; 및
    상기 협업 필터링 모델을 이용하여 영화 추천을 위한 평점을 예측하는 단계를 더 포함하는 사용자 속성을 고려한 클러스터링 기반의 협업 필터링 방법.
  5. 제4항에 있어서,
    사용자, 영화, 평점 중 적어도 하나를 포함하는 속성 데이터를 수집하는 단계를 더 포함하는 사용자 속성을 고려한 클러스터링 기반의 협업 필터링 방법.
  6. 제5항에 있어서,
    상기 클러스터링 적용을 하는 단계는 상기 제1 소정 개수의 상위 영화 각각을 관람한 사용자들 중 랜덤으로 상기 제1 소정 개수와 동일한 명수의 속성 정보를 군집 중심으로 사용하여 클러스터링을 진행하는 것을 특징으로 하는 사용자 속성을 고려한 클러스터링 기반의 협업 필터링 방법.
  7. 제6항에 있어서,
    상기 클러스터를 선택하는 단계는 클러스터링을 통해 얻어진 상기 제1 소정 개수의 클러스터 군집 중 전체 사용자들이 가장 많이 선택한 상기 제2 소정 개수의 상위 장르의 정보 비율이 높은 군집을 선택하는 것을 특징으로 하는 사용자 속성을 고려한 클러스터링 기반의 협업 필터링 방법.
  8. 제7항에 있어서,
    상기 유사도를 계산하는 단계는 상기 대표 영화들 각각과 선택되지 않은 클러스터 내부 영화들 중 상기 제2 소정 개수의 상위 장르에 해당하지 않는 영화들 간 유사도를 계산하는 것을 특징으로 하는 사용자 속성을 고려한 클러스터링 기반의 협업 필터링 방법.
  9. 사용자 속성을 고려한 클러스터링 기반의 협업 필터링 방법을 이용하는 영화추천 시스템에 있어서, 상기 시스템은,
    상위 영화 타이틀에 관한 속성 정보를 중심으로 클러스터링을 진행하는 클러스터링 진행부;
    상위 장르 대표 영화와 선택되지 않은 클러스터 내부 영화들간 유사도를 계산하는 유사도 계산부 ; 및
    선택된 클러스터의 데이터를 학습 및 테스트 데이터로 이용하여 영화 추천 협업 필터링 모델을 생성하는 협업 필터링 모델 생성부를 포함하는 사용자 속성을 고려한 클러스터링 기반의 협업 필터링 방법을 이용하는 영화 추천 시스템.
  10. 제9항에 있어서,
    상기 협업 필터링 모델을 이용하여 추천 영화 정보를 생성하는 영화 추천부; 및
    영화 소스들로부터 사용자, 영화 및 평점 중 적어도 하나에 관한 데이터를 수신하고 상기 추천 영화를 사용자 디바이스로 전송하는 통신인터페이스를 더 포함하는 사용자 속성을 고려한 클러스터링 기반의 협업 필터링 방법을 이용하는 영화 추천 시스템.
  11. 제10항에 있어서,
    상기 클러스터링 진행부는,
    제1 소정 개수의 상위 영화 타이틀에 관한 데이터를 중심점으로 이용하고,
    상기 중심점을 기준으로 클러스터링 적용하고,
    제2 소정 개수의 상위 장르가 많이 포함된 클러스터를 선택하는 것을 특징으로 하는 사용자 속성을 고려한 클러스터링 기반의 협업 필터링 방법을 이용하는 영화 추천 시스템.
  12. 제11항에 있어서,
    상기 유사도 계산부는,
    상기 제2 소정 개수의 상위 장르 각각에 대한 대표 영화와 선택되지 않은 클러스터 내부 영화와의 유사도를 계산하고,
    상기 유사도 순위 상위의 영화들에 포함된 속성 정보를 상기 선택된 클러스터에 포함하는 것을 특징으로 하는 사용자 속성을 고려한 클러스터링 기반의 협업 필터링 방법을 이용하는 영화 추천 시스템.
KR1020150189989A 2015-12-30 2015-12-30 사용자 속성을 고려한 클러스터링 기반의 협업 필터링 방법 및 영화 추천 시스템 KR20170079429A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150189989A KR20170079429A (ko) 2015-12-30 2015-12-30 사용자 속성을 고려한 클러스터링 기반의 협업 필터링 방법 및 영화 추천 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150189989A KR20170079429A (ko) 2015-12-30 2015-12-30 사용자 속성을 고려한 클러스터링 기반의 협업 필터링 방법 및 영화 추천 시스템

Publications (1)

Publication Number Publication Date
KR20170079429A true KR20170079429A (ko) 2017-07-10

Family

ID=59355487

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150189989A KR20170079429A (ko) 2015-12-30 2015-12-30 사용자 속성을 고려한 클러스터링 기반의 협업 필터링 방법 및 영화 추천 시스템

Country Status (1)

Country Link
KR (1) KR20170079429A (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110287373A (zh) * 2019-07-02 2019-09-27 齐鲁工业大学 基于评分预测和用户特征的协同过滤电影推荐方法及系统
KR20200027089A (ko) * 2018-08-30 2020-03-12 한양대학교 산학협력단 하이브리드 아이템 추천 방법 및 장치
CN113139088A (zh) * 2021-05-14 2021-07-20 西安建筑科技大学 Idf模型协同过滤模型的电影推荐方法、介质、设备及系统
CN113139089A (zh) * 2021-05-14 2021-07-20 西安建筑科技大学 Sddne模型协同过滤模型的电影推荐方法、系统、介质及设备
KR20210147537A (ko) * 2020-05-29 2021-12-07 울산과학기술원 영화관 퇴장 유도 시스템
CN114154079A (zh) * 2021-12-06 2022-03-08 中电万维信息技术有限责任公司 一种融合置信度的信任影响群组推荐方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200027089A (ko) * 2018-08-30 2020-03-12 한양대학교 산학협력단 하이브리드 아이템 추천 방법 및 장치
CN110287373A (zh) * 2019-07-02 2019-09-27 齐鲁工业大学 基于评分预测和用户特征的协同过滤电影推荐方法及系统
KR20210147537A (ko) * 2020-05-29 2021-12-07 울산과학기술원 영화관 퇴장 유도 시스템
CN113139088A (zh) * 2021-05-14 2021-07-20 西安建筑科技大学 Idf模型协同过滤模型的电影推荐方法、介质、设备及系统
CN113139089A (zh) * 2021-05-14 2021-07-20 西安建筑科技大学 Sddne模型协同过滤模型的电影推荐方法、系统、介质及设备
CN114154079A (zh) * 2021-12-06 2022-03-08 中电万维信息技术有限责任公司 一种融合置信度的信任影响群组推荐方法

Similar Documents

Publication Publication Date Title
CN104317835B (zh) 视频终端的新用户推荐方法
Shi et al. Getjar mobile application recommendations with very sparse datasets
Barragáns-Martínez et al. A hybrid content-based and item-based collaborative filtering approach to recommend TV programs enhanced with singular value decomposition
KR20170079429A (ko) 사용자 속성을 고려한 클러스터링 기반의 협업 필터링 방법 및 영화 추천 시스템
Philip et al. Application of content-based approach in research paper recommendation system for a digital library
CN104991966B (zh) 媒体内容排序方法及系统
US8019707B2 (en) Interactive hybrid recommender system
US8819716B2 (en) Apparatus, system, method and computer readable recording medium storing the program for related recommendation of TV program contents and web contents
US20120185481A1 (en) Method and Apparatus for Executing a Recommendation
CN104199896A (zh) 基于特征分类的视频相似度确定及视频推荐方法
KR20100086676A (ko) 컨텐츠에 대한 선호도 예측 방법 및 장치와, 샘플 컨텐츠 선정 방법 및 장치
Kim et al. Commenders: A recommendation procedure for online book communities
Chiru et al. Movie Recommender system using the user's psychological profile
Sachan et al. A survey on recommender systems based on collaborative filtering technique
EP1906316A1 (en) An interactive hybrid recommender system
Shang et al. A randomwalk based model incorporating social information for recommendations
US10380209B2 (en) Systems and methods of providing recommendations of content items
KR20160064448A (ko) 유사 집합의 예상 선호도 대비 기반 아이템 추천 제공 방법
Dhawan et al. High rating recent preferences based recommendation system
Levinas An analysis of memory based collaborative filtering recommender systems with improvement proposals
KR101708254B1 (ko) 협업적 필터링과 캐릭터 넷을 이용한 스토리 기반의 영화 추전 시스템 및 방법.
Thomas et al. Comparative study of recommender systems
KR20170036874A (ko) 사용자 성향을 고려한 소셜 이벤트 추천 방법 및 장치
KR20170079423A (ko) 콘텐츠 추천을 위한 동적인 노이즈 제거 방법 및 콘텐츠 추천 시스템
Tomeo et al. Addressing the cold start with positive-only feedback through semantic-based recommendations