KR101708254B1 - 협업적 필터링과 캐릭터 넷을 이용한 스토리 기반의 영화 추전 시스템 및 방법. - Google Patents
협업적 필터링과 캐릭터 넷을 이용한 스토리 기반의 영화 추전 시스템 및 방법. Download PDFInfo
- Publication number
- KR101708254B1 KR101708254B1 KR1020150136845A KR20150136845A KR101708254B1 KR 101708254 B1 KR101708254 B1 KR 101708254B1 KR 1020150136845 A KR1020150136845 A KR 1020150136845A KR 20150136845 A KR20150136845 A KR 20150136845A KR 101708254 B1 KR101708254 B1 KR 101708254B1
- Authority
- KR
- South Korea
- Prior art keywords
- movie
- story
- degree
- calculating
- similarity
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management 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/466—Learning process for intelligent management, e.g. learning user preferences for recommending movies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management 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/466—Learning process for intelligent management, e.g. learning user preferences for recommending movies
- H04N21/4667—Processing of monitored end-user data, e.g. trend analysis based on the log file of viewer selections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management 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/466—Learning process for intelligent management, e.g. learning user preferences for recommending movies
- H04N21/4668—Learning process for intelligent management, e.g. learning user preferences for recommending movies for recommending content, e.g. movies
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 스토리 기반의 영화 추천 시스템 및 방법에 관한 것으로서, 특히 협업적 필터링과 캐릭터 넷을 통해 요청자의 선호도를 고려한 유사한 영화를 추천하는 영화 추천 시스템 및 방법에 관한 것이다. 요청자의 평가도를 분석하여 통해 추천 영화를 제공하는 영화 추천 방법에 있어서, 영화에 등장하는 캐릭터들 간의 스토리 전개 방향 및 중요도를 분석하여 캐릭터 넷 기반으로 각 영화마다 스토리 유사도를 산출하는 단계; 영화를 기 관람한 사용자들의 사용자 평가도를 산출하는 단계; 및 스토리 유사도와 사용자 평가도를 소정의 가중치를 두어 각 영화에 대한 추천도를 산출하는 단계;를 포함하고, 추천도의 내림 차순으로 순위를 부여하여 요청자에게 추천 영화를 제공하는 영화 추천 방법에 관한 것이다.
본 발명에 따르면, 분석부를 통해 캐릭터 넷 기반으로 매트릭스를 구축하고 각 영화의 스토리 유사도를 산출하여 요청자의 평가가 없이도 요청자가 원하는 영화를 추천할 수 있는 이점과 요청자의 평가가 있는 경우 분석부를 통해 산출된 스토리 유사도와 사용자 평가도를 계산부의 가중치 계산을 통해 요청자가 원하는 영화와의 정확도가 높은 영화를 요청자에게 추천할 수 있는 이점이 있다.
본 발명에 따르면, 분석부를 통해 캐릭터 넷 기반으로 매트릭스를 구축하고 각 영화의 스토리 유사도를 산출하여 요청자의 평가가 없이도 요청자가 원하는 영화를 추천할 수 있는 이점과 요청자의 평가가 있는 경우 분석부를 통해 산출된 스토리 유사도와 사용자 평가도를 계산부의 가중치 계산을 통해 요청자가 원하는 영화와의 정확도가 높은 영화를 요청자에게 추천할 수 있는 이점이 있다.
Description
본 발명은 스토리 기반의 영화 추천 시스템 및 방법에 관한 것으로서, 특히 협업적 필터링과 캐릭터 넷을 통해 요청자의 선호도를 고려한 유사한 영화를 추천하는 영화 추천 시스템 및 방법에 관한 것이다.
최근 통신 산업이 발달하면서 활발한 컨텐츠 보급과 더불어 영화 산업도 전세계적으로 발전하고 있는 추세이다. 영화 산업의 발전과 콘텐츠의 증가로 다양한 국가의 영화를 집에서도 시청 가능하고 영화관, DVD 등 관련된 컨텐츠 보급 수단도 다양해지고 있는 추세이다. 이러한 환경에서 고객들은 영화관을 찾아가서 영화를 관람할 수도 있지만, DVD 타이틀을 구입하거나 인터넷을 통한 다운로드 등을 통해서 집에서도 영화를 관람할 수 있게 되었다.
그런데, 전세계적으로 영화 콘텐츠의 개수가 증감함에 따라, 추천 영화를 원하는 요청자는 관람할 영화를 선택하는데 어려움을 겪게 되었다. 이에 따라, 요청자는 예고편이나 주위 사람의 평가, 영화 관련 기사, 관람 순위나 예매율 순위 등에 의존하여 관람할 영화를 선택하고 있다.
온라인에서 추천 시스템은 요청자들의 구매 이력 또는 선호도를 바탕으로 적절한 컨텐츠 또는 서비스를 제공하는 IT기술이다. 추천시스템에 대한 요청자의 평가에는 추천 결과에 기반한 시스템 성과와 추천 방식에 의해 형성되는 요청자의 태도에 대한 두 측면을 모두 고려하는데, 현재 이러한 통합적 관점을 통해 요청자에게 만족을 주는 시스템에 대한 연구는 많지 않았다.
이와 관련, 종래 문헌으로 한국공개특허 제2015-0101341호(분산 퍼지 연관 규칙 마이닝에 기반한 영화 추천 장치 및 방법)는 영화에 대한 평점을 기반으로 퍼지 소속 함수를 이용하여 연관 영화 목록을 생성하고, 순위가 높은 연관 영화 목록의 순서대로 영화를 추천하는 장치 및 방법을 개시하고 있다.
다만, 종래 문헌은 영화에 대한 요청자의 평점을 기반으로 모든 데이터를 연산하는 과정을 개시하고 있어, 요청자의 평점이 없는 경우 고객이 원하는 유사한 영화를 추천할 수 없는 문제점이 있다. 또한 요청자의 평점에 전적으로 의존하여 영화를 추천하기 때문에 요청자의 주관적인 요소로만 유사한 영화를 추천하게 되는 문제점이 있다.
본 발명은 요청자의 평가 없이도 요청자가 원하는 영화를 추천하는 것을 일 목적으로 한다. 또한, 본 발명은 요청자의 평가가 있는 경우에도 영화의 캐릭터를 통한 스토리 기법을 접목시켜 객관적으로 영화를 추천하는 것을 다른 목적으로 한다.
상기 목적을 달성하기 위하여 본 발명은, 요청자의 평가도를 분석하여 추천 영화를 제공하는 영화 추천 방법에 있어서, 영화에 등장하는 캐릭터들 간의 스토리 전개 방향 및 중요도를 분석하여 캐릭터 넷 기반으로 각 영화마다 스토리 유사도를 산출하는 단계; 및 요청자가 기 관람한 영화의 평가도와 스토리 유사도가 동일 또는 유사한 영화를 선별하는 단계;를 포함하고, 동일 또는 유사한 영화를 스토리 유사도의 내림 차순으로 순위를 부여하여 요청자에게 추천 영화를 제공하는 것을 일 특징으로 한다.
바람직하게, 스토리 유사도를 산출하는 단계는, 캐릭터의 스토리 전개 방향 및 중요도를 분석하여 캐릭터 매트릭스를 구성하는 단계; 캐릭터 매트릭스를 이용하여 코사인 유사도(Cosine Similarity), 맨하탄 디스턴스(Manhattan Distance) 및 자카드 유사도(Jaccard Index)를 산출하는 단계; 및 코사인 유사도(Cosine Similarity), 맨하탄 디스턴스(Manhattan Distance) 및 자카드 유사도(Jaccard Index)를 소정의 가중치를 두어 스토리 유사도를 산출하는 단계;를 포함할 수 있다.
바람직하게, 동일 또는 유사한 영화를 선별하는 단계는, 요청자가 기 관람한 영화의 스토리 유사도를 산출하는 단계; 및 추천할 대상 영화들에 대해 기 산출했던 스토리 유사도와 요청자가 기 관람한 영화의 스토리 유사도를 비교하는 단계를 포함할 수 있다.
바람직하게, 추천 영화를 제공한 이후, 요청자가 선호하는 영화와 추천 영화의 일치 여부를 조사하여 정확도를 산출하는 단계; 및 정확도가 소정의 범위 이상이 되도록 가중치를 조절하는 단계를 더 포함할 수 있다.
또한 본 발명은, 요청자의 평가도를 분석하여 통해 추천 영화를 제공하는 영화 추천 방법에 있어서, 영화에 등장하는 캐릭터들 간의 스토리 전개 방향 및 중요도를 분석하여 캐릭터 넷 기반으로 각 영화마다 스토리 유사도를 산출하는 단계; 영화를 기 관람한 사용자들의 사용자 평가도를 산출하는 단계; 및 스토리 유사도 및 사용자 평가도를 소정의 가중치를 두어 각 영화에 대한 추천도를 산출하는 단계;를 포함하고, 추천도의 내림 차순으로 순위를 부여하여 요청자에게 추천 영화를 제공하는 것을 다른 특징으로 한다.
바람직하게, 스토리 유사도를 산출하는 단계는, 캐릭터의 스토리 전개 방향 및 중요도를 분석하여 캐릭터 매트릭스를 구성하는 단계; 캐릭터 매트릭스를 이용하여 코사인 유사도(Cosine Similarity), 맨하탄 디스턴스(Manhattan Distance) 및 자카드 유사도(Jaccard Index)를 산출하는 단계; 및 코사인 유사도(Cosine Similarity), 맨하탄 디스턴스(Manhattan Distance) 및 자카드 유사도(Jaccard Index)를 소정의 가중치를 두어 스토리 유사도를 산출하는 단계;를 포함할 수 있다.
바람직하게, 추천 영화를 제공한 이후, 요청자가 선호하는 영화와 추천 영화의 일치 여부를 조사하여 정확도를 산출하는 단계; 정확도가 소정의 범위 이상이 되도록 스토리 유사도의 코사인 유사도(Cosine Similarity), 맨하탄 디스턴스(Manhattan Distance) 및 자카드 유사도(Jaccard Index)의 가중치를 조절하는 단계; 및 정확도가 소정의 범위 이상이 되도록 스토리 유사도 및 사용자 평가도의 가중치를 조절하는 단계;를 더 포함할 수 있다.
바람직하게, 추천 영화는, 특이값 분해(SVD : Singular Value Decomposition)를 이용한 랭크(rank) 축소가 적용되어 요청자에게 제공될 수 있다.
또한 본 발명은, 단말기에 접속한 요청자의 평가도를 분석하여 추천 영화를 제공하는 영화 추천 시스템에 있어서, 영화에 등장하는 캐릭터들 간의 스토리 전개 방향 및 중요도를 분석하여 각 영화마다 캐릭터 넷 기반으로 스토리 유사도를 산출하거나 영화를 기 관람한 사용자들의 사용자 평가도를 산출하는 분석부; 스토리 유사도 또는 사용자 평가도를 비교하여 영화에 순위를 부여하는 계산부; 및 계산부의 순위가 부여된 추천 영화를 요청자에게 제공하는 추천부;를 포함하는 영화 추천 시스템을 제공하는 것을 다른 특징으로 한다.
바람직하게, 분석부는, 영화에 등장하는 캐리터들 간의 스토리 전개 방향 및 중요도를 분석하여 캐릭터 넷 기반으로 매트릭스를 구축하고 각 영화의 스토리 유사도를 산출하는 캐릭터 넷 모듈; 및 사용자 평가도를 각 영화에 매칭시켜 산출하는 사용자 평가 모듈;을 포함할 수 있다.
본 발명에 따르면, 분석부를 통해 캐릭터 넷 기반으로 매트릭스를 구축하고 각 영화의 스토리 유사도를 산출하여 요청자의 평가가 없이도 요청자가 원하는 영화를 추천할 수 있는 이점이 있다.
또한 본 발명은, 요청자의 평가가 있는 경우 분석부를 통해 산출된 스토리 유사도와 사용자 평가도를 계산부의 가중치 계산을 통해 요청자가 원하는 영화와의 정확도가 높은 영화를 요청자에게 추천할 수 있는 이점이 있다.
도 1은 본 발명의 실시예에 따라 사용자 평가도가 없는 경우 요청자에게 영화를 추천하는 방법에 대한 순서도를 나타낸다.
도 2는 본 발명의 실시예에 따라 캐릭터 넷 기반으로 스토리 유사도를 산출하는 방법을 나타낸다.
도 3은 본 발명의 실시예에 따라 작성된 캐릭터 매트릭스를 나타낸다.
도 4a는 본 발명의 실시예에 따라 캐릭터 매트릭스를 이용하여 코사인 유사도를 산출하는 과정을 나타낸다.
도 4b는 본 발명의 실시예에 따라 캐릭터 매트릭스를 이용하여 맨하탄 디스턴스를 산출하는 과정을 나타낸다.
도 4c는 본 발명의 실시예에 따라 캐릭터 매트릭스를 이용하여 자카드 유사도를 산출하는 과정을 나타낸다.
도 5는 본 발명의 실시예에 따라 특이값 분해(SVD : Singular Value Decomposition)를 이용하여 매트릭스의 랭크 축소를 적용하여 차원을 축소하는 모습을 나타낸다.
도 6은 본 발명의 영화 추천 방법으로 선별된 영화와 요청자의 선호하는 영화와의 정확도를 높이는 model training 과정을 나타낸다.
도 7은 본 발명의 실시예에 따라 사용자 평가도가 있는 경우 요청자에게 영화를 추천하는 방법에 대한 순서도를 나타낸다.
도 8은 본 발명의 실시예에 따라 요청자에게 추천 영화를 제공하기 위한 사용자 기반과 아이템 기반의 유사도를 이용하는 모습을 나타낸다.
도 9는 본 발명의 실시예에 따라 특이값 분해(SVD : Singular Value Decomposition)를 적용하여 아이템 기반의 유사도로 추천 영화를 산출하는 모습을 나타낸다.
도 10은 본 발명의 실시예에 따른 영화 추천 시스템의 블록도를 나타낸다.
도 2는 본 발명의 실시예에 따라 캐릭터 넷 기반으로 스토리 유사도를 산출하는 방법을 나타낸다.
도 3은 본 발명의 실시예에 따라 작성된 캐릭터 매트릭스를 나타낸다.
도 4a는 본 발명의 실시예에 따라 캐릭터 매트릭스를 이용하여 코사인 유사도를 산출하는 과정을 나타낸다.
도 4b는 본 발명의 실시예에 따라 캐릭터 매트릭스를 이용하여 맨하탄 디스턴스를 산출하는 과정을 나타낸다.
도 4c는 본 발명의 실시예에 따라 캐릭터 매트릭스를 이용하여 자카드 유사도를 산출하는 과정을 나타낸다.
도 5는 본 발명의 실시예에 따라 특이값 분해(SVD : Singular Value Decomposition)를 이용하여 매트릭스의 랭크 축소를 적용하여 차원을 축소하는 모습을 나타낸다.
도 6은 본 발명의 영화 추천 방법으로 선별된 영화와 요청자의 선호하는 영화와의 정확도를 높이는 model training 과정을 나타낸다.
도 7은 본 발명의 실시예에 따라 사용자 평가도가 있는 경우 요청자에게 영화를 추천하는 방법에 대한 순서도를 나타낸다.
도 8은 본 발명의 실시예에 따라 요청자에게 추천 영화를 제공하기 위한 사용자 기반과 아이템 기반의 유사도를 이용하는 모습을 나타낸다.
도 9는 본 발명의 실시예에 따라 특이값 분해(SVD : Singular Value Decomposition)를 적용하여 아이템 기반의 유사도로 추천 영화를 산출하는 모습을 나타낸다.
도 10은 본 발명의 실시예에 따른 영화 추천 시스템의 블록도를 나타낸다.
이하, 첨부된 도면들에 기재된 내용들을 참조하여 본 발명을 상세히 설명한다. 다만, 본 발명이 예시적 실시 예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일 참조부호는 실질적으로 동일한 기능을 수행하는 부재를 나타낸다.
본 발명의 목적 및 효과는 하기의 설명에 의해서 자연스럽게 이해되거나 보다 분명해 질 수 있으며, 하기의 기재만으로 본 발명의 목적 및 효과가 제한되는 것은 아니다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이, 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다.
본 발명은 요청자 평가도의 유무에 따라 방법이 구분되는데, 첫째로 요청자의 평가도가 없는 경우 영화에 등장하는 캐릭터를 통한 스토리 유사도로 영화를 추천하는 방법과, 둘째로 요청자의 평가도가 있는 경우 스토리 유사도와 사용자 평가도를 조합하여 소정의 가중치를 두어 영화를 추천하는 방법이 있다.
도 1은 본 발명의 실시예에 따라 사용자 평가도가 없는 경우 요청자에게 영화를 추천하는 방법에 대한 순서도를 나타낸다. 도 1을 참조하면 영화 추천 방법은 스토리 유사도를 산출하는 단계(S10)와 영화를 선별하는 단계(S30)를 포함할 수 있다.
도 2는 본 발명의 실시예에 따라 캐릭터 넷 기반으로 스토리 유사도를 산출하는 방법을 나타낸다. 도 2를 참조하면 스토리 유사도를 산출하는 단계(S10)는 캐릭터 매트릭스를 구성하는 단계(S101), 3개 인자(Cosine Similarity, Manhattan Distance, Jaccard Index)를 산출하는 단계(S103) 및 가중치를 두어 계산하는 단계(S105)를 포함할 수 있다.
스토리 유사도를 산출하는 단계(S10)는 캐릭터 넷 기반으로 영화에 등장하는 캐릭터들 간의 스토리 전개 방향 및 중요도를 각 영화마다 분석하는 단계이다. 스토리 유사도를 산출하는 단계(S10)는 요청자가 원하는 영화를 추천하기 위해 등장하는 캐릭터의 유사도를 기반으로 각 캐릭터들의 관계를 분석하는 것이다.
캐릭터 매트릭스를 구성하는 단계(S101)는 캐릭터의 스토리 전개 방향 및 중요도를 분석하는 단계이다. 캐릭터 매트릭스는 영화에 등장하는 캐릭터를 나열하고, 캐릭터 간 접촉 방향을 고려하여 스토리 전개 방향을 설정할 수 있다. 캐릭터 매트릭스는 스토리 전개 방향에 따라 캐릭터들 사이의 중요도를 수치로 표현하거나 영화의 전체 내용 대비 캐릭터의 중요도를 수치로 표현할 수 있다.
도 3은 본 발명의 실시예에 따라 작성된 캐릭터 매트릭스를 나타낸다. 도 3을 참조하면, 캐릭터 매트릭스는 일반 매트릭스와 같이 가로와 세로를 축으로 캐릭터를 나열하고, 캐릭터 간 스토리 전개 방향에 따라 그 사이에 중요도로 표시될 수 있다. 캐릭터 매트릭스는 캐릭터 간 작용이 없다면 '0'으로 표시할 수 있다.
3개 인자를 산출하는 단계(S103)는 캐릭터 매트릭스를 이용하여 코사인 유사도(Cosine Similarity), 맨하탄 디스턴스(Manhattan Distance) 및 자카드 유사도(Jaccard Index)를 산출하는 단계이다. 유사도를 산출하는 방법에는 Euclidean Distance, Manhattan Distance, Pearson Correlation Coefficient, Jaccard Index, Cosine Similarity 등 여러 가지가 있으나, 본 발멸의 실시예에서는 코사인 유사도(Cosine Similarity), 맨하탄 디스턴스(Manhattan Distance) 및 자카드 유사도(Jaccard Index)를 통해 스토리 유사도를 산출할 수 있다.
도 4a는 본 발명의 실시예에 따라 캐릭터 매트릭스를 이용하여 코사인 유사도를 산출하는 과정을 나타낸다. 도 4a를 참조하면, 코사인 유사도는 각 캐릭터 매트릭스의 중요도를 더하고 그 합을 이용하여 아래 [수학식1] 및 [수학식2]와 같이 표시할 수 있다.
[수학식1]
[수학식2]
(여기서 A와 B는 별개의 영화이고 각 영화의 중요도 합을 산출한 값으로, s(A,B)는 이 두 영화간의 코사인 유사도를 산출한 값이다.)
도 4b는 본 발명의 실시예에 따라 캐릭터 매트릭스를 이용하여 맨하탄 디스턴스(Manhattan Distance)를 산출하는 과정을 나타낸다. 도 4b를 참조하면 맨하탄 디스턴스는 아래 [수학식3]과 같이 각 캐릭터 매트릭스의 중요도의 차를 산출하고 그 합을 계산된 중요도의 숫자로 나누어 표시할 수 있다.
[수학식3]
도 4c는 본 발명의 실시예에 따라 캐릭터 매트릭스를 이용하여 자카드 유사도를 산출하는 과정을 나타낸다. 도 4c를 참조하면, 자카드 유사도(Jaccard Index)는 아래 [수학식4]과 같이 비교되는 두 영화에 중복되는 인물원형을 산출하고 중복되는 인물 원형을 전체의 인물로 나누어 표시할 수 있다. 인물원형은 영화의 구조를 잘 드러내는 요소로서 두 영화간 인물원형의 존재 여부를 두 영화의 유사성 판단 자료로 삼은 것이다.
[수학식4]
(여기서 두 영화 간 차이를 계산할 때 인물원형의 값은 정규화를 통해 구현될 수 있고, 인물원형의 존재가 많을수록 두 영화는 유사하다고 할 수 있다.)
가중치를 두어 계산하는 단계(S105)는 코사인 유사도(Cosine Similarity), 맨하탄 디스턴스(Manhattan Distance) 및 자카드 유사도(Jaccard Index)를 하기 [수학식5]와 같이 소정의 가중치를 두어 최종적으로 스토리 유사도를 산출하는 단계이다.
[수학식5]
(여기서 w1, w2, w3는 후술할 추천 영화의 정확도를 산출하기 위한 가중치를 나타낸다.)
영화를 선별하는 단계(S30)는 요청자가 기 관람한 영화의 평가도와 스토리 유사도가 동일 또는 유사한 영화를 필터링하는 단계이다. 동일 또는 유사한 영화를 선별하는 단계는, 요청자가 기 관람한 영화의 스토리 유사도를 산출하는 단계(S301); 및 추천할 대상 영화들에 대해 기 산출했던 스토리 유사도와 요청자가 기 관람한 영화의 스토리 유사도를 비교하는 단계(S303)를 포함할 수 있다.
요청자가 기 관람한 영화의 스토리 유사도를 산출하는 단계(S301)는 상술한 스토리 유사도를 산출하는 과정과 동일하고, 다만 그 대상은 추천할 영화들이 아닌 요청자가 기 관람한 영화이다. 요청자가 기 관람한 영화를 기반으로 산출된 스토리 유사도와 추천할 영화들의 유사도를 비교하여 추천 영화를 선별할 수 있다.
스토리 유사도를 비교하는 단계(S303)는 상술한 코사인 유사도를 이용할 수 있고 다른 유사도 함수의 적용도 가능하다. 다음 단계로 동일 또는 유사한 영화를 스토리 유사도의 내림 차순으로 순위를 부여하여 요청자에게 추천 영화를 제공할 수 있다.
도 5는 본 발명의 실시예에 따라 특이값 분해(SVD : Singular Value Decomposition)를 이용하여 매트릭스의 랭크 축소를 적용하여 차원을 축소하는 모습을 나타낸다. 도 6을 참조하면 상술한 캐릭터 매트릭스를 각 영화별로 비교하여 유사도를 산출하고, 각 유사도에 따라 그 값에 순위를 부여하여 매트릭스의 범위를 축소할 수 있다. 매트릭스의 랭크 축소를 적용하여 비교 대상을 축소할 수 있고 요청자에게 추천 영화를 제공할 수 있다.
추천 영화를 제공한 이후, 요청자가 선호하는 영화와 추천 영화의 일치 여부를 조사하여 정확도를 산출하는 단계(S50); 및 정확도가 소정의 범위 이상이 되도록 가중치를 조절하는 단계(S50)를 더 포함할 수 있다.
도 6은 본 발명의 영화 추천 방법으로 선별된 영화와 요청자의 선호하는 영화와의 정확도를 높이는 model training 과정을 나타낸다. 도 6을 참조하면 캐릭터 넷 기반의 모델에서 3개 인자의 가중치를 결정할 수 있다. 요청자에게 영화를 추천하기 위해 전체 유사도 S(A,B)를 계산하고 상술한 특이값 분해(SVD : Singular Value Decomposition)를 통해 영화를 추천한다.
Model training 과정은 본 발명의 실시예에 따라 정확도가 95% 이상이 나올 때까지 실시하며, 영화 추천의 정확도를 높이기 위해 다른 몇 개의 군집에 대해서도 같은 방법을 반복 실행할 수 있다.
도 7은 본 발명의 실시예에 따라 사용자 평가도가 있는 경우 요청자에게 영화를 추천하는 방법에 대한 순서도를 나타낸다. 도 7을 참조하면, 도 1에 제시된 방법과 달리 사용자 평가도 산출 단계(S20)와 추천도 산출 단계(S40)가 추가될 수 있고, 가중치 조절 단계(S80)에 가중치 인자가 하나 더 추가될 수 있다. 다른 과정은 도 1에서 설명한 단계들과 동일하므로, 사용자 평가도 산출 단계(S20), 추천도 산출 단계(S40) 및 가중치 조절 단계(S80)에 대해 설명한다.
본 발명의 실시예에 따라 사용자 평가도를 산출하는 단계(S20)가 추가되는 경우 협업적 필터링을 통해 영화를 추천할 수 있다. 협업적 필터링이란 많은 사용자들로부터 얻은 기호정보(taste information)에 따라 사용자들의 관심사들을 자동적으로 예측하게 해주는 방법으로 사용자들의 과거의 경향이 미래에서도 그대로 유지 될 것이라는 전제에 있다.
사용자 평가도 산출 단계(S20)는 영화를 기 관람한 사용자들이 추천 영화들에 대해 각 영화별로 점수를 부여하는 단계이다. 사용자 평가도를 산출하게 되면 사용자마다 영화에 대한 선호도를 알 수 있고, 사용자 평가도를 고려한 유사도를 산출하게 되면 요청자가 선호하는 경향을 고려하여 영화를 추천할 수 있다. 본 발명의 실시예에서는 사용자마다 각 영화에 대해 평점을 0점~5점으로 1점 단위로 부여하는 방법을 사용할 수 있다.
추천도 산출 단계(S40)는 스토리 유사도 및 사용자 평가도를 소정의 가중치를 두어 각 영화에 대해 하기 [수학식6]과 같이 산출할 수 있다.
[수학식6]
(여기서 Wc, Wn은 사용자 평가도와 스토리 유사도의 가중치를 나타낸다.)
추천 영화를 제공한 이후, 요청자가 선호하는 영화와 추천 영화의 일치 여부를 조사하여 정확도를 산출하는 단계(S60); 및 정확도가 소정의 범위 이상이 되도록 가중치를 조절하는 단계(S80)를 더 포함할 수 있다.
가중치 조절 단계(S80)는 3개 인자의 가중치를 조절하거나 스토리 유사도와 사용자 평가도의 가중치를 조절하는 단계를 포함할 수 있다. 도 1과는 달리 사용자 평가도가 추가되어 스토리 유사도와 사용자 평가도의 가중치를 조절하는 단계를 더 포함할 수 있다.
도 8은 본 발명의 실시예에 따라 요청자에게 추천 영화를 제공하기 위한 사용자 기반과 아이템 기반의 유사도를 이용하는 모습을 나타낸다. 사용자 기반의 유사도는 유사한 사용자를 찾는 과정이 우선이고, 아이템 기반의 유사도는 유사한 영화를 찾는 과정을 우선하여 추천 영화를 제공한다.
아이템 기반의 유사도는 유사한 영화들을 먼저 찾고 사용자 평가도를 고려하여 요청자에게 추천 영화를 제공하는 방법이다. 사용자 기반의 유사도는 각 영화에 대한 사용자 평가도와 요청자의 평가를 비교하여 요청자와 가장 유사한 사용자를 확인 후 사용자가 관람한 영화 중에서 요청자가 관람하지 않은 영화에 rank를 부여하여 추천할 수 있다.
사용자 평가를 기반으로 하는 경우 사용자 평가가 없는 영화는 추천할 수 없는 한계에 봉착하게 되므로 본 발명의 실시예에서는 아이템 기반, 즉 영화의 스토리 유사도를 먼저 비교하고 사용자 평가도를 비교하는 방법을 사용할 수 있다. 다만 사용자 평가도가 있는 경우에는 두 가지 평가 기법을 사용하여 요청자에게 영화를 추천할 수 있다.
도 9는 본 발명의 실시예에 따라 특이값 분해(SVD : Singular Value Decomposition)를 적용하여 아이템 기반의 유사도로 추천 영화를 산출하는 모습을 나타낸다. 도 9를 참조하면 과 가 유사하므로 에 만족한 에게 를 추천할 수 있다.
이하에서는, 상술한 영화 추천 방법을 제공하는 영화 추천 시스템(1)에 관하여 설명한다.
도 10은 본 발명의 실시예에 따른 영화 추천 시스템(1)의 블록도를 나타낸다. 도 10을 참조하면, 영화 추천 시스템(1)은 분석부(10), 계산부(30), 추천부(50), 웹서버(70) 및 단말기(90)를 포함할 수 있다.
분석부(10)는 영화에 등장하는 캐릭터들 간의 스토리 전개 방향 및 중요도를 분석하여 각 영화마다 캐릭터 넷 기반으로 스토리 유사도를 산출하거나 영화를 기 관람한 사용자들의 사용자 평가도를 산출할 수 있다. 분석부(10)는 캐릭터 넷 모듈(101), 사용자 평가 모듈(103) 및 데이터 모듈(105)를 포함할 수 있다.
캐릭터 넷 모듈(101)은 영화에 등장하는 캐리터들 간의 스토리 전개 방향 및 중요도를 분석하여 캐릭터 넷 기반으로 매트릭스를 구축하고 각 영화의 스토리 유사도를 산출할 수 있다.
캐릭터 넷 모듈(101)은 요청자가 접속하여 데이터베이스에 저장한 요청자의 정보를 읽어서 매트릭스를 구축한다. 캐릭터 넷 모듈(101)에서는 구축된 매트릭스를 통해 기 프로그램된 산출 방식으로 연산하여 각 영화마다 캐릭터 넷 기반으로 유사도를 산출할 수 있다.
사용자 평가 모듈(103)은 사용자 평가도를 각 영화에 매칭시켜 산출할 수 있다. 사용자 평가 모듈(103)은 영화를 기 관람한 사용자들이 추천 영화들에 대해 각 영화별로 부여한 점수를 집계할 수 있다. 이를 각 영화마다 매칭시켜 상술한 캐릭터 넷 모듈(101)의 정보와 함께 계산부(30)로 전송할 수 있다.
데이터 모듈(105)은 요청자와 사용자의 기본 정보를 저장할 수 있다. 기본 정보에는 관람한 영화 목록에 관하여 영화명, 국가, 장르 등을 포함하는 전반적인 영화 정보를 포함할 수 있다. 캐릭터 넷 모듈(101)과 사용자 평가 모듈(103)은 데이터 모듈(105)과 연동되어 자료를 전송받을 수 있다.
계산부(30)는 스토리 유사도 또는 사용자 평가도를 비교하여 영화에 순위를 부여할 수 있다. 계산부(30)는 사용자 평가도의 유무에 따라 스토리 유사도와 사용자 평가도를 소정의 가중치를 두어 계산을 하고, 각 계산된 점수를 각 영화에 매칭시켜 산출할 수 있다. 계산부(30)에서 산출된 점수는 추천부(50)로 전송될 수 있다.
추천부(50)는 계산부(30)의 순위가 부여된 추천 영화를 요청자에게 제공할 수 있다. 추천부(50)는 계산부(30)에서 산출된 점수를 토대로 각 영화별로 rank를 부여하여 웹서버(70)를 통해 단말기(90)로 제공할 수 있다.
이상에서 대표적인 실시예를 통하여 본 발명을 상세하게 설명하였으나, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리 범위는 설명한 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 특허청구범위와 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태에 의하여 정해져야 한다.
1 : 영화 추천 시스템
10 : 분석부 30 : 계산부
50 : 추천부 70 : 웹서버
90 : 단말기
101 : 캐릭터 넷 모듈 103 : 사용자 평가 모듈
105 : 데이터 모듈
10 : 분석부 30 : 계산부
50 : 추천부 70 : 웹서버
90 : 단말기
101 : 캐릭터 넷 모듈 103 : 사용자 평가 모듈
105 : 데이터 모듈
Claims (10)
- 요청자의 평가도를 분석하여 추천 영화를 제공하는 영화 추천 방법에 있어서,
상기 영화에 등장하는 캐릭터들 간의 스토리 전개 방향 및 중요도를 분석하여 캐릭터 넷 기반으로 각 영화마다 스토리 유사도를 산출하는 단계; 및
상기 요청자가 기 관람한 영화의 평가도와 스토리 유사도가 동일 또는 유사한 영화를 선별하는 단계;를 포함하고,
상기 스토리 유사도를 산출하는 단계는,
상기 캐릭터의 스토리 전개 방향 및 중요도를 분석하여 캐릭터 매트릭스를 구성하는 단계;
상기 캐릭터 매트릭스를 이용하여 코사인 유사도(Cosine Similarity), 맨하탄 디스턴스(Manhattan Distance) 및 자카드 유사도(Jaccard Index)를 산출하는 단계; 및
상기 코사인 유사도(Cosine Similarity), 맨하탄 디스턴스(Manhattan Distance) 및 자카드 유사도(Jaccard Index)를 소정의 가중치를 두어 상기 스토리 유사도를 산출하는 단계;를 포함하는 것이고,
상기 동일 또는 유사한 영화를 상기 스토리 유사도의 내림 차순으로 순위를 부여하여 상기 요청자에게 상기 추천 영화를 제공하는 것을 특징으로 하는 영화 추천 방법.
- 삭제
- 제 1 항에 있어서,
상기 동일 또는 유사한 영화를 선별하는 단계는,
상기 요청자가 기 관람한 영화의 스토리 유사도를 산출하는 단계; 및
추천할 대상 영화들에 대해 기 산출했던 스토리 유사도와 상기 요청자가 기 관람한 영화의 스토리 유사도를 비교하는 단계를 포함하는 것을 특징으로 하는 영화 추천 방법.
- 제 1 항에 있어서,
상기 추천 영화를 제공한 이후,
상기 요청자가 선호하는 영화와 상기 추천 영화의 일치 여부를 조사하여 정확도를 산출하는 단계; 및
상기 정확도가 소정의 범위 이상이 되도록 상기 가중치를 조절하는 단계를 더 포함하는 영화 추천 방법.
- 요청자의 평가도를 분석하여 통해 추천 영화를 제공하는 영화 추천 방법에 있어서,
상기 영화에 등장하는 캐릭터들 간의 스토리 전개 방향 및 중요도를 분석하여 캐릭터 넷 기반으로 각 영화마다 스토리 유사도를 산출하는 단계;
상기 영화를 기 관람한 사용자들의 사용자 평가도를 산출하는 단계; 및
상기 스토리 유사도 및 상기 사용자 평가도를 소정의 가중치를 두어 각 영화에 대한 추천도를 산출하는 단계;를 포함하고,
상기 스토리 유사도를 산출하는 단계는,
상기 캐릭터의 스토리 전개 방향 및 중요도를 분석하여 캐릭터 매트릭스를 구성하는 단계;
상기 캐릭터 매트릭스를 이용하여 코사인 유사도(Cosine Similarity), 맨하탄 디스턴스(Manhattan Distance) 및 자카드 유사도(Jaccard Index)를 산출하는 단계; 및
상기 코사인 유사도(Cosine Similarity), 맨하탄 디스턴스(Manhattan Distance) 및 자카드 유사도(Jaccard Index)를 소정의 가중치를 두어 상기 스토리 유사도를 산출하는 단계;를 포함하는 것이고,
상기 추천도의 내림 차순으로 순위를 부여하여 상기 요청자에게 추천 영화를 제공하는 것을 특징으로 하는 영화 추천 방법.
- 삭제
- 제 5 항에 있어서,
상기 추천 영화를 제공한 이후,
상기 요청자가 선호하는 영화와 상기 추천 영화의 일치 여부를 조사하여 정확도를 산출하는 단계;
상기 정확도가 소정의 범위 이상이 되도록 상기 스토리 유사도의 코사인 유사도(Cosine Similarity), 맨하탄 디스턴스(Manhattan Distance) 및 자카드 유사도(Jaccard Index)의 가중치를 조절하는 단계; 및
상기 정확도가 소정의 범위 이상이 되도록 상기 스토리 유사도 및 상기 사용자 평가도의 가중치를 조절하는 단계;를 더 포함하는 영화 추천 방법.
- 제 1 항 또는 제 5항에 있어서,
상기 추천 영화는,
특이값 분해(SVD : Singular Value Decomposition)를 이용한 랭크(rank) 축소가 적용되어 상기 요청자에게 제공되는 것을 특징으로 하는 영화 추천 방법.
- 단말기에 접속한 요청자의 평가도를 분석하여 추천 영화를 제공하는 영화 추천 시스템에 있어서,
상기 영화에 등장하는 캐릭터들 간의 스토리 전개 방향 및 중요도를 분석하여 각 영화마다 캐릭터 넷 기반으로 스토리 유사도를 산출하거나 상기 영화를 기 관람한 사용자들의 사용자 평가도를 산출하는 분석부;
상기 스토리 유사도 또는 상기 사용자 평가도를 비교하여 상기 영화에 순위를 부여하는 계산부; 및
상기 계산부의 순위가 부여된 상기 추천 영화를 상기 요청자에게 제공하는 추천부;를 포함하고,
상기 분석부는,
상기 영화에 등장하는 캐리터들 간의 스토리 전개 방향 및 중요도를 분석하여 캐릭터 넷 기반으로 매트릭스를 구축하고 각 영화의 스토리 유사도를 산출하는 캐릭터 넷 모듈; 및
상기 사용자 평가도를 각 영화에 매칭시켜 산출하는 사용자 평가 모듈;을 포함하는 것을 특징으로 하는 영화 추천 시스템. - 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150136845A KR101708254B1 (ko) | 2015-09-25 | 2015-09-25 | 협업적 필터링과 캐릭터 넷을 이용한 스토리 기반의 영화 추전 시스템 및 방법. |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150136845A KR101708254B1 (ko) | 2015-09-25 | 2015-09-25 | 협업적 필터링과 캐릭터 넷을 이용한 스토리 기반의 영화 추전 시스템 및 방법. |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101708254B1 true KR101708254B1 (ko) | 2017-02-21 |
Family
ID=58313792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150136845A KR101708254B1 (ko) | 2015-09-25 | 2015-09-25 | 협업적 필터링과 캐릭터 넷을 이용한 스토리 기반의 영화 추전 시스템 및 방법. |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101708254B1 (ko) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108362662A (zh) * | 2018-02-12 | 2018-08-03 | 山东大学 | 近红外光谱相似度计算方法、装置和物质定性分析系统 |
CN108415987A (zh) * | 2018-02-12 | 2018-08-17 | 大连理工大学 | 一种电影推荐的冷启动解决方法 |
KR20190131906A (ko) * | 2018-05-18 | 2019-11-27 | 한양대학교 산학협력단 | 표준화된 평점 기반의 아이템 추천 방법 및 장치 |
KR20190133499A (ko) * | 2018-05-23 | 2019-12-03 | 중앙대학교 산학협력단 | 서사 콘텐츠 분석 방법 및 그 장치 |
CN111369313A (zh) * | 2020-02-03 | 2020-07-03 | 深圳市道旅旅游科技股份有限公司 | 订房失败订单的处理方法、装置、计算机设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150101341A (ko) | 2014-02-26 | 2015-09-03 | 에스케이플래닛 주식회사 | 분산 퍼지 연관 규칙 마이닝에 기반한 영화 추천 장치 및 방법 |
-
2015
- 2015-09-25 KR KR1020150136845A patent/KR101708254B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150101341A (ko) | 2014-02-26 | 2015-09-03 | 에스케이플래닛 주식회사 | 분산 퍼지 연관 규칙 마이닝에 기반한 영화 추천 장치 및 방법 |
Non-Patent Citations (2)
Title |
---|
전혜정 외 3명, ‘캐릭터 넷을 통한 내러티브 텍스트 시각화 디자인 연구’, 한국컨텐츠학회 논문지, Vol.15, Np.2, pp.86~100, 2015년 2월.* * |
정인용, 양새동, 정회경, ‘혼합필터링 기반의 영화 추천시스템에 관한 연구’, 한국정보통신학회 논문지, Vol.18, No.1, pp.113~118, 2015년 1월.* * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108362662A (zh) * | 2018-02-12 | 2018-08-03 | 山东大学 | 近红外光谱相似度计算方法、装置和物质定性分析系统 |
CN108415987A (zh) * | 2018-02-12 | 2018-08-17 | 大连理工大学 | 一种电影推荐的冷启动解决方法 |
CN108362662B (zh) * | 2018-02-12 | 2020-01-14 | 山东大学 | 近红外光谱相似度计算方法、装置和物质定性分析系统 |
CN108415987B (zh) * | 2018-02-12 | 2021-05-11 | 大连理工大学 | 一种电影推荐的冷启动解决方法 |
KR20190131906A (ko) * | 2018-05-18 | 2019-11-27 | 한양대학교 산학협력단 | 표준화된 평점 기반의 아이템 추천 방법 및 장치 |
KR102200340B1 (ko) * | 2018-05-18 | 2021-01-08 | 한양대학교 산학협력단 | 표준화된 평점 기반의 아이템 추천 방법 및 장치 |
KR20190133499A (ko) * | 2018-05-23 | 2019-12-03 | 중앙대학교 산학협력단 | 서사 콘텐츠 분석 방법 및 그 장치 |
KR102119944B1 (ko) * | 2018-05-23 | 2020-06-05 | 중앙대학교 산학협력단 | 서사 콘텐츠 분석 방법 및 그 장치 |
CN111369313A (zh) * | 2020-02-03 | 2020-07-03 | 深圳市道旅旅游科技股份有限公司 | 订房失败订单的处理方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101708254B1 (ko) | 협업적 필터링과 캐릭터 넷을 이용한 스토리 기반의 영화 추전 시스템 및 방법. | |
CN104317835B (zh) | 视频终端的新用户推荐方法 | |
JP4906846B2 (ja) | ソーシャルネットワークにおける利用者の相性の得点化 | |
US9754306B2 (en) | Recommendation engine with profile analysis | |
US9965776B2 (en) | Digital content recommendations based on user comments | |
US20170148083A1 (en) | Recommending of an item to a user | |
US20010013009A1 (en) | System and method for computer-based marketing | |
KR101471940B1 (ko) | Tv 프로그램 콘텐츠와 웹 콘텐츠의 연계추천 장치, 시스템, 방법 및 그 방법을 실행하는 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체 | |
US20110119148A1 (en) | Server apparatus, information processing apparatus, and information processing method | |
WO1997002537A1 (en) | Method and apparatus for item recommendation using automated collaborative filtering | |
Chiru et al. | Movie Recommender system using the user's psychological profile | |
KR101725510B1 (ko) | 사용자 성향을 고려한 소셜 이벤트 추천 방법 및 장치 | |
US11216518B2 (en) | Systems and methods of providing recommendations of content items | |
EP1906316A1 (en) | An interactive hybrid recommender system | |
Himel et al. | Weight based movie recommendation system using K-means algorithm | |
CN109636530B (zh) | 产品确定方法、装置、电子设备及计算机可读存储介质 | |
KR20170079429A (ko) | 사용자 속성을 고려한 클러스터링 기반의 협업 필터링 방법 및 영화 추천 시스템 | |
JP4947709B2 (ja) | コンテンツ配信システム | |
CN112765484A (zh) | 短视频推送方法、装置、电子设备及存储介质 | |
US20150248720A1 (en) | Recommendation engine | |
Dhawan et al. | High rating recent preferences based recommendation system | |
Gupta et al. | A framework for a recommendation system based on collaborative filtering and demographics | |
KR100781399B1 (ko) | 사용자의 상황에 따라 추천 엔진별 가중치를 부여하는장치, 방법 및 이를 구현할 수 있는 컴퓨터로 읽을 수 있는기록 매체 | |
CN109063080B (zh) | 一种视频推荐方法及装置 | |
KR102187135B1 (ko) | 도서 추천 방법 및 이를 지원하는 서비스 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20200102 Year of fee payment: 4 |