KR102380871B1 - 유사 컨텐츠 추천 방법 및 장치 - Google Patents

유사 컨텐츠 추천 방법 및 장치 Download PDF

Info

Publication number
KR102380871B1
KR102380871B1 KR1020200059377A KR20200059377A KR102380871B1 KR 102380871 B1 KR102380871 B1 KR 102380871B1 KR 1020200059377 A KR1020200059377 A KR 1020200059377A KR 20200059377 A KR20200059377 A KR 20200059377A KR 102380871 B1 KR102380871 B1 KR 102380871B1
Authority
KR
South Korea
Prior art keywords
content
keyword
similarity
specific
target
Prior art date
Application number
KR1020200059377A
Other languages
English (en)
Other versions
KR20210142484A (ko
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 KR1020200059377A priority Critical patent/KR102380871B1/ko
Publication of KR20210142484A publication Critical patent/KR20210142484A/ko
Application granted granted Critical
Publication of KR102380871B1 publication Critical patent/KR102380871B1/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/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
    • H04N21/4668Learning process for intelligent management, e.g. learning user preferences for recommending movies for recommending content, e.g. 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/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/47202End-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 content on demand, e.g. video on demand

Landscapes

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

Abstract

컨텐츠 추천 방법이 제공된다. 본 방법은, 사용자가 시청한 적어도 하나의 컨텐츠 중 특정 컨텐츠를 선택하는 단계, 타겟 컨텐츠를 선택하는 단계, 상기 특정 컨텐츠와 상기 타겟 컨텐츠 간의 컨텐츠 기반 협업 필터링(Collaborative Filtering: CF) 유사도를 산출하는 단계, 상기 특정 컨텐츠와 상기 타겟 컨텐츠 간의 키워드 유사도를 산출하는 단계, 상기 CF 유사도와 상기 키워드 유사도를 가중 평균하여 최종 유사도를 산출하는 단계, 및 상기 최종 유사도에 근거하여 상기 타겟 컨텐츠를 상기 사용자에게 추천할 지의 여부를 결정하는 단계를 포함할 수 있다.

Description

유사 컨텐츠 추천 방법 및 장치{Method and Apparatus for Recommendation of Similar Content Items}
본 발명은 VOD(Video On Demand) 컨텐츠 관련의 정보 처리 기술에 관한 것이다.
근래에 들어 인터넷(Internet)의 활용이 일상화됨에 따라 홈 네트워크 시대가 도래하였다. 이러한 홈 네트워크를 실현한 구체적인 한 예로서 IPTV(Internet Protocol Television) 서비스를 들 수 있다. IPTV 서비스는 인터넷을 이용하여 제공되는 양방향 TV 서비스로서, 인터넷에 연결된 셋탑박스(set-top box)를 이용하여 컨텐츠 제공 서비스 사업자가 운용하는 컨텐츠 제공 서버와 연결하여 VOD(video on demand) 컨텐츠와 같은 컨텐츠를 다운로드 방식 또는 스트리밍 방식으로 내려 받아 시청할 수 있도록 한 서비스이다. IPTV 서비스는 일반 케이블 방송과는 달리 시청자가 자신이 편리한 시간에 보고 싶은 프로그램을 선별하여 볼 수 있도록 한다는 점에서 시청자에게는 다양한 볼거리와 편의성을 제공하는 한편 사업자에게는 가입자 별로 일반 케이블 방송사가 징수하는 월정액 이상의 매출을 올릴 수 있는 수익 모델이 되고 있다. 따라서 IPTV 서비스 사업자의 입장에서는 시청자에게 다양한 컨텐츠를 다양한 방식으로 마케팅하여 구매를 독려하는 것이 지대한 관심사가 되고 있다.
본 발명의 과제는 사용자가 기 시청한 컨텐츠와 공통 장르 및/또는 소재에 해당하는 유사 컨텐츠를 결정하여 추천할 수 있도록 한, 유사 컨텐츠 추천 방법 및 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급한 과제들에 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
일 측면에서, 컨텐츠 추천 방법이 제공된다. 본 방법은, 사용자가 시청한 적어도 하나의 컨텐츠 중 특정 컨텐츠를 선택하는 단계, 타겟 컨텐츠를 선택하는 단계, 상기 특정 컨텐츠와 상기 타겟 컨텐츠 간의 컨텐츠 기반 협업 필터링(Collaborative Filtering: CF) 유사도를 산출하는 단계, 상기 특정 컨텐츠와 상기 타겟 컨텐츠 간의 키워드 유사도를 산출하는 단계, 상기 CF 유사도와 상기 키워드 유사도를 가중 평균하여 최종 유사도를 산출하는 단계, 및 상기 최종 유사도에 근거하여 상기 타겟 컨텐츠를 상기 사용자에게 추천할 지의 여부를 결정하는 단계를 포함할 수 있다.
일 실시예에서, 상기 특정 컨텐츠와 상기 타겟 컨텐츠 간의 컨텐츠 기반 협업 필터링(collaborative filtering: CF) 유사도를 산출하는 단계는, 아래의 식
Figure 112020050036325-pat00001
- 여기서 w는 상기 특정 컨텐츠를 시청한 사용자들의 ID들(Identifications)의 집합을 나타내고, Wi는 컨텐츠 i를 시청한 사용자들의 ID들의 집합을 나타내고,
Figure 112020050036325-pat00002
는 w와 Wi의 합집합(union)을 나타내고,
Figure 112020050036325-pat00003
는 w와 Wi의 합집합의 원소들의 개수를 나타내고,
Figure 112020050036325-pat00004
는 w와 Wi의 교집합(intersection)을 나타내고,
Figure 112020050036325-pat00005
는 w와 Wi의 교집합의 원소들의 개수를 나타내고, xi는 상기 특정 컨텐츠와 컨텐츠 i간의 CF 유사도를 나타냄 - 에 따라 상기 CF 유사도를 산출하는 단계를 포함한다.
일 실시예에서, 상기 특정 컨텐츠와 상기 타겟 컨텐츠 간의 키워드 유사도를 산출하는 단계는, 상기 특정 컨텐츠에 대한 키워드 벡터 및 상기 타겟 컨텐츠에 대한 키워드 벡터를 참조하는 단계를 포함한다.
일 실시예에서, 상기 특정 컨텐츠에 대한 키워드 벡터는 후보 키워드들의 총 개수에 해당하는 개수의 원소들을 가지며, 상기 원소들은 상기 후보 키워드들에 각각 대응하며, 상기 원소들의 각각은 상기 특정 컨텐츠에 있어서의 상기 해당 후보 키워드의 중요도에 대응하는 크기의 원소 값을 가지며, 상기 원소들의 각각은 0 이상이고 최고값 이하인 값을 취한다.
일 실시예에서, 상기 특정 컨텐츠에 대한 키워드 벡터의 특정 원소의 원소 값이 0인 경우 상기 특정 원소에 대응하는 상기 후보 키워드가 상기 특정 컨텐츠와 관련이 없음을 나타낸다.
일 실시예에서, 상기 타겟 컨텐츠에 대한 키워드 벡터는 후보 키워드들의 총 개수에 해당하는 개수의 원소들을 가지며, 상기 원소들은 상기 후보 키워드들에 각각 대응하며, 상기 원소들의 각각은 상기 타겟 컨텐츠에 있어서의 상기 해당 후보 키워드의 중요도에 대응하는 크기의 원소 값을 가지며, 상기 원소들의 각각은 0 이상이고 최고값 이하인 값을 취한다.
일 실시예에서, 상기 타겟 컨텐츠에 대한 키워드 벡터의 특정 원소의 원소 값이 0인 경우 상기 특정 원소에 대응하는 상기 후보 키워드가 상기 타겟 컨텐츠와 관련이 없음을 나타낸다.
일 실시예에서, 상기 특정 컨텐츠와 상기 타겟 컨텐츠 간의 키워드 유사도를 산출하는 단계는, 아래의 식
Figure 112020050036325-pat00006
- 여기서 k는 상기 특정 컨텐츠에 대한 키워드 벡터이고, Ki는 컨텐츠 i에 대한 키워드 벡터이고,
Figure 112020050036325-pat00007
는 상기 특정 컨텐츠에 대한 키워드 벡터 k와 컨텐츠 i에 대한 키워드 벡터 Ki 간의 맨하탄 거리(Manhattan distance)이고, MAX는 상기 최고값에 상기 후보 키워드들의 총 개수를 곱한 값이고, yi는 상기 특정 컨텐츠와 컨텐츠 i간의 키워드 유사도를 나타냄 - 에 따라 상기 특정 컨텐츠와 상기 타겟 컨텐츠 간의 키워드 유사도를 산출하는 단계를 포함한다.
일 실시예에서, 상기 CF 유사도와 상기 키워드 유사도를 가중 평균하여 최종 유사도를 산출하는 단계는, 아래의 식
Figure 112020050036325-pat00008
Figure 112020050036325-pat00009
- 여기서
Figure 112020050036325-pat00010
Figure 112020050036325-pat00011
는 0 이상이고 1이하인 값이고,
Figure 112020050036325-pat00012
Figure 112020050036325-pat00013
의 합은 1이고,
Figure 112020050036325-pat00014
는 상기 특정 컨텐츠에 대한 키워드 벡터의 맨하탄 거리이고,
Figure 112020050036325-pat00015
는 컨텐츠 i에 대한 키워드 벡터의 맨하탄 거리이고,
Figure 112020050036325-pat00016
는 키워드 필터 함수이고, Si는 상기 특정 컨텐츠와 컨텐츠 i간의 최종 유사도를 나타냄 - 에 따라 상기 최종 유사도를 산출하는 단계를 포함한다.
일 실시예에서, 상기 특정 컨텐츠에 대한 키워드 벡터에서 0이 아닌 값을 갖는 원소들과 상기 타겟 컨텐츠에 대한 키워드 벡터에서 0이 아닌 값을 갖는 원소들이 서로 배타적인 경우 상기 특정 컨텐츠와 상기 타겟 컨텐츠는 상기 후보 키워드들 중 어떠한 후보 키워드도 공유하지 않는 것을 나타내며 상기 키워드 필터 함수
Figure 112020050036325-pat00017
는 0의 값을 갖는다.
일 실시예에서, 상기 최종 유사도에 근거하여 상기 타겟 컨텐츠를 상기 사용자에게 추천할 지의 여부를 결정하는 단계는, 상기 최종 유사도가 선정된 임계값 이상인 경우 상기 타겟 컨텐츠를 상기 사용자에게 추천하는 것으로 결정하는 단계를 포함한다.
다른 측면에서, 컨텐츠 추천 방법이 제공된다. 본 방법은, 사용자가 시청한 적어도 하나의 컨텐츠 중 특정 컨텐츠를 선택하는 단계, 복수의 타겟 컨텐츠를 선택하는 단계, 상기 특정 컨텐츠와 상기 복수의 타겟 컨텐츠 간의 최종 유사도들을 산출하는 단계, 및 상기 최종 유사도들에 근거하여 상기 복수의 타겟 컨텐츠 중 적어도 하나의 타겟 컨텐츠를 상기 사용자에게 추천하는 것으로 결정하는 단계를 포함할 수 있다. 상기 최종 유사도들의 각각은 상기 특정 컨텐츠와 상기 해당 타겟 컨텐츠 간의 컨텐츠 기반 협업 필터링(collaborative filtering: CF) 유사도 및 상기 특정 컨텐츠와 상기 해당 타겟 컨텐츠 간의 키워드 유사도에 기초하여 산출될 수 있다.
일 실시예에서, 상기 최종 유사도들의 각각은 상기 CF 유사도와 상기 키워드 유사도를 가중 평균하여 산출된다.
또 다른 측면에서, 컨텐츠 추천을 위한 장치가 제공된다. 본 장치는, 컨텐츠 테이블 및 컨텐츠들에 대한 키워드 벡터들을 저장하는 데이터베이스부 - 상기 컨텐츠 테이블에는 상기 컨텐츠들의 각각에 대하여 상기 해당 컨텐츠를 시청한 사용자들의 ID들이 연관되어 저장됨 -, 및 프로세싱 엔진을 포함할 수 있다. 상기 프로세싱 엔진은, 상기 컨텐츠 테이블을 참조하여 사용자가 시청한 특정 컨텐츠와 타겟 컨텐츠 간의 컨텐츠 기반 협업 필터링(Collaborative Filtering: CF) 유사도를 산출하는 동작, 상기 특정 컨텐츠에 대한 키워드 벡터와 상기 타겟 컨텐츠에 대한 키워드 벡터를 이용하여 상기 특정 컨텐츠와 상기 타겟 컨텐츠 간의 키워드 유사도를 산출하는 동작, 상기 CF 유사도와 상기 키워드 유사도를 가중 평균하여 최종 유사도를 산출하는 동작 및 상기 최종 유사도에 근거하여 상기 타겟 컨텐츠를 상기 사용자에게 추천할 지의 여부를 결정하는 동작을 수행하도록 구성될 수 있다.
일 실시예에서, 상기 프로세싱 엔진은, 아래의 식
Figure 112020050036325-pat00018
- 여기서 w는 상기 특정 컨텐츠를 시청한 사용자들의 ID들의 집합을 나타내고, Wi는 컨텐츠 i를 시청한 사용자들의 ID들의 집합을 나타내고,
Figure 112020050036325-pat00019
는 w와 Wi의 합집합(union)을 나타내고,
Figure 112020050036325-pat00020
는 w와 Wi의 합집합의 원소들의 개수를 나타내고,
Figure 112020050036325-pat00021
는 w와 Wi의 교집합(intersection)을 나타내고,
Figure 112020050036325-pat00022
는 w와 Wi의 교집합의 원소들의 개수를 나타내고, xi는 상기 특정 컨텐츠와 컨텐츠 i간의 CF 유사도를 나타냄 - 에 따라 상기 CF 유사도를 산출하는 동작을 수행하도록 더 구성된다.
일 실시예에서, 상기 특정 컨텐츠에 대한 키워드 벡터는 후보 키워드들의 총 개수에 해당하는 개수의 원소들을 가지며, 상기 원소들은 상기 후보 키워드들에 각각 대응하며, 상기 원소들의 각각은 상기 특정 컨텐츠에 있어서의 상기 해당 후보 키워드의 중요도에 대응하는 크기의 원소 값을 가지며, 상기 원소들의 각각은 0 이상이고 최고값 이하인 값을 취한다.
일 실시예에서, 상기 특정 컨텐츠에 대한 키워드 벡터의 특정 원소의 원소 값이 0인 경우 상기 특정 원소에 대응하는 상기 후보 키워드가 상기 특정 컨텐츠와 관련이 없음을 나타낸다.
일 실시예에서, 상기 타겟 컨텐츠에 대한 키워드 벡터는 후보 키워드들의 총 개수에 해당하는 개수의 원소들을 가지며, 상기 원소들은 상기 후보 키워드들에 각각 대응하며, 상기 원소들의 각각은 상기 타겟 컨텐츠에 있어서의 상기 해당 후보 키워드의 중요도에 대응하는 크기의 원소 값을 가지며, 상기 원소들의 각각은 0 이상이고 최고값 이하인 값을 취한다.
일 실시예에서, 상기 타겟 컨텐츠에 대한 키워드 벡터의 특정 원소의 원소 값이 0인 경우 상기 특정 원소에 대응하는 상기 후보 키워드가 상기 타겟 컨텐츠와 관련이 없음을 나타낸다.
일 실시예에서, 상기 프로세싱 엔진은, 아래의 식
Figure 112020050036325-pat00023
- 여기서 k는 상기 특정 컨텐츠에 대한 키워드 벡터이고, Ki는 컨텐츠 i에 대한 키워드 벡터이고,
Figure 112020050036325-pat00024
는 상기 특정 컨텐츠에 대한 키워드 벡터 k와 컨텐츠 i에 대한 키워드 벡터 Ki 간의 맨하탄 거리(Manhattan distance)이고, MAX는 상기 최고값에 상기 후보 키워드들의 총 개수를 곱한 값이고, yi는 상기 특정 컨텐츠와 컨텐츠 i간의 키워드 유사도를 나타냄 - 에 따라 상기 특정 컨텐츠와 상기 타겟 컨텐츠 간의 키워드 유사도를 산출하는 동작을 수행하도록 더 구성된다.
일 실시예에서, 상기 프로세싱 엔진은, 아래의 식
Figure 112020050036325-pat00025
Figure 112020050036325-pat00026
- 여기서
Figure 112020050036325-pat00027
Figure 112020050036325-pat00028
는 0 이상이고 1이하인 값이고,
Figure 112020050036325-pat00029
Figure 112020050036325-pat00030
의 합은 1이고,
Figure 112020050036325-pat00031
는 상기 특정 컨텐츠에 대한 키워드 벡터의 맨하탄 거리이고,
Figure 112020050036325-pat00032
는 컨텐츠 i에 대한 키워드 벡터의 맨하탄 거리이고,
Figure 112020050036325-pat00033
는 키워드 필터 함수이고, Si는 상기 특정 컨텐츠와 컨텐츠 i간의 최종 유사도를 나타냄 - 에 따라 상기 최종 유사도를 산출하는 동작을 수행하도록 더 구성된다.
일 실시예에서, 상기 특정 컨텐츠에 대한 키워드 벡터에서 0이 아닌 값을 갖는 원소들과 상기 타겟 컨텐츠에 대한 키워드 벡터에서 0이 아닌 값을 갖는 원소들이 서로 배타적인 경우 상기 특정 컨텐츠와 상기 타겟 컨텐츠는 상기 후보 키워드들 중 어떠한 후보 키워드도 공유하지 않는 것을 나타내며 상기 키워드 필터 함수
Figure 112020050036325-pat00034
는 0의 값을 갖는다.
일 실시예에서, 상기 프로세싱 엔진은, 상기 최종 유사도가 선정된 임계값 이상인 경우 상기 타겟 컨텐츠를 상기 사용자에게 추천하는 것으로 결정하는 동작을 수행하도록 더 구성된다.
또 다른 측면에서, 컨텐츠 추천을 위한 장치가 제공된다. 본 장치는, 컨텐츠 관련 데이터를 저장하는 데이터베이스부, 및 프로세싱 엔진을 포함할 수 있다. 상기 프로세싱 엔진은, 상기 컨텐츠 관련 데이터를 참조하여 사용자가 시청한 특정 컨텐츠와 복수의 타겟 컨텐츠 간의 최종 유사도들을 산출하고, 상기 최종 유사도들에 근거하여 상기 복수의 타겟 컨텐츠 중 적어도 하나의 타겟 컨텐츠를 상기 사용자에게 추천하는 것으로 결정하도록 구성되고, 상기 프로세싱 엔진은, 상기 최종 유사도들의 각각을 상기 특정 컨텐츠와 상기 해당 타겟 컨텐츠 간의 컨텐츠 기반 협업 필터링(collaborative filtering: CF) 유사도 및 상기 특정 컨텐츠와 상기 해당 타겟 컨텐츠 간의 키워드 유사도에 기초하여 산출하도록 더 구성될 수 있다.
일 실시예에서, 상기 컨텐츠 관련 데이터는 컨텐츠 테이블 및 컨텐츠들에 대한 키워드 벡터들에 관한 데이터를 포함하며, 상기 컨텐츠 테이블에는 상기 컨텐츠들의 각각에 대하여 상기 해당 컨텐츠를 시청한 사용자들의 ID들이 연관되어 저장된다.
일 실시예에서, 상기 프로세싱 엔진은, 상기 최종 유사도들의 각각을 상기 CF 유사도와 상기 키워드 유사도를 가중 평균하여 산출하도록 더 구성된다.
또 다른 측면에서, 프로그램을 기록한 컴퓨터 판독가능 기록매체가 제공된다. 여기서 상기 프로그램은 명령어들을 포함하고, 상기 명령어들은 컴퓨터에 의해 실행될 때 상기 방법을 수행한다.
본 발명의 실시예들에 따르면, 사용자가 기 시청한 컨텐츠와 공통 장르 및/또는 소재에 해당하는 유사 컨텐츠를 컨텐츠 기반의 협업 필터링에 의한 유사도와 키워드 유사도를 기초로 결정하여 추천할 수 있도록 함으로써 컨텐츠 소비량을 증대시킬 수 있는 기술적 효과가 있다.
도 1은 유사 컨텐츠 추천 장치의 블록도의 일 실시예를 도시한 도면이다.
도 2는 컨텐츠 테이블의 일 실시예를 도시한 도면이다.
도 3은 유사 컨텐츠 추천 방법을 설명하기 위한 흐름도의 일 실시예를 도시한 도면이다.
본 발명의 이점들과 특징들 그리고 이들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해 질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 본 실시예들은 단지 본 발명의 개시가 완전하도록 하며 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려 주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용되는 용어는 단지 특정한 실시예를 설명하기 위해 사용되는 것으로 본 발명을 한정하려는 의도에서 사용된 것이 아니다. 예를 들어, 단수로 표현된 구성 요소는 문맥상 명백하게 단수만을 의미하지 않는다면 복수의 구성 요소를 포함하는 개념으로 이해되어야 한다. 또한, 본 발명의 명세서에서, '포함하다' 또는 '가지다' 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것일 뿐이고, 이러한 용어의 사용에 의해 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성이 배제되는 것은 아니다. 또한, 본 명세서에 기재된 실시예에 있어서 '모듈' 혹은 '부'는 적어도 하나의 기능이나 동작을 수행하는 기능적 부분을 의미할 수 있다.
덧붙여, 다르게 정의되지 않는 한 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미가 있는 것으로 해석되어야 하며, 본 발명의 명세서에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 보다 상세히 설명한다. 다만, 이하의 설명에서는 본 발명의 요지를 불필요하게 흐릴 우려가 있는 경우, 널리 알려진 기능이나 구성에 관한 구체적 설명은 생략하기로 한다.
도 1은 유사 컨텐츠 추천 장치의 블록도의 일 실시예를 도시한 도면이다.
도 1의 유사 컨텐츠 추천 장치(100)는 IPTV 서비스 사업자가 운용하는, 하나 이상의 위치에 설치되는 하나 이상의 서버 컴퓨터에서 실행되는 컴퓨터 프로그램들로서 구현되는 시스템의 일 예일 수 있다. 도 1에 도시된 바와 같이, 유사 컨텐츠 추천 장치(100)는 데이터베이스부(110) 및 데이터베이스부(110)에 통신 가능하게 결합된 프로세싱 엔진(120)을 포함할 수 있다. 데이터베이스부(110)는 컨텐츠 관련 데이터를 저장할 수 있다. 컨텐츠 관련 데이터는 컨텐츠 테이블에 관한 데이터를 포함할 수 있다. 컨텐츠 테이블에는 컨텐츠들의 각각에 대하여 해당 컨텐츠를 시청한 사용자들의 ID들이 연관되어 저장된다. 본 명세서에서 사용자가 컨텐츠를 시청하였다는 의미는 사용자가 컨텐츠의 예고편을 시청하거나 컨텐츠를 구매하여 그 본편을 시청한 경우 등을 망라하는 의미로 해석되어야 한다. 컨텐츠 테이블의 일 실시예를 도시한 도 2를 참조하면, 컨텐츠 별로 해당 컨텐츠를 시청하거나 조회한 사용자들의 ID들(Identifications)이 나열되어 있다. 도시된 실시예에 따르면, 컨텐츠 1은 사용자 10, 사용자 33, 사용자 72 및 사용자 165에 의해 시청되거나 조회된 것으로 기록되어 있다. 또한 컨텐츠 3은 사용자 10, 사용자 72, 사용자 165 및 사용자 289에 의해 시청되거나 조회된 것으로 기록되어 있다. 도 2에 도시된 컨텐츠 테이블(200)은 단지 예시의 목적상 데이터를 서로 연관시켜 저장하는 방식을 개념적으로 도시한 것일 뿐이고 도 2에 도시된 사항이 저장된 데이터의 구조를 예시하거나 암시하는 것이 아님을 인식하여야 할 것이다.
컨텐츠에 관한 데이터는 컨텐츠들에 대한 키워드 벡터들에 관한 데이터를 더 포함할 수 있다. 임의의 컨텐츠에 대한 키워드 벡터는 후보 키워드들의 총 개수에 해당하는 개수의 원소들을 가진다. 여기서 후보 키워드들은 IPTV 서비스에 의해 제공되는 컨텐츠들과 관련된 키워드들의 총 집합일 수 있다. 일 실시예에서, 후보 키워드는 컨텐츠와 관련된 메타 키워드이다. 키워드 벡터의 원소들은 후보 키워드들에 각각 대응하거나 연관되어 있다. 키워드 벡터의 원소들의 각각은 해당 컨텐츠에 있어서의 해당 후보 키워드의 중요도에 대응하는 크기의 원소 값을 가질 수 있다. 키워드 벡터의 원소들의 각각은 0 이상이고 최고값 이하인 값을 취할 수 있다. 예컨대 후보 키워드들의 총 개수가 5개이고 최고값이 10이고 컨텐츠 1번에 대한 키워드 벡터가 v1 = [7, 1, 9, 0, 2]이라고 가정하면, 컨텐츠 1번에 있어서의 후보 키워드 1번의 중요도는 7이고, 후보 키워드 2번의 중요도는 1이고, 후보 키워드 3번의 중요도는 9이고, 후보 키워드 5번의 중요도는 2이고, 후보 키워드 4번은 위 특정 컨텐츠와 관련이 없다는 것을 의미한다. 다른 예로서 컨텐츠 2번에 대한 키워드 벡터가 v2 = [1, 3, 0, 0, 10]이라고 가정하면, 컨텐츠 2번에 있어서의 후보 키워드 1번의 중요도는 1이고, 후보 키워드 2번의 중요도는 3이고, 후보 키워드 5번의 중요도는 10으로서 최고 수준이며, 후보 키워드 3번 및 4번은 컨텐츠 2번과 관련이 없다는 것을 의미한다. 또 다른 예로서 컨텐츠 3번에 대한 키워드 벡터가 v3 = [0, 0, 0, 4, 0]이라고 가정하면, 컨텐츠 3번에 있어서의 후보 키워드 4번의 중요도는 4이고, 나머지 후보 키워드들은 컨텐츠 3번과 관련이 없다는 것을 의미한다.
데이터베이스부(110)는 프로세싱 엔진(120)을 구현하기 위해 필요한 소프트웨어/펌웨어를 더 저장할 수 있다. 데이터베이스부(110)는, 플래시 메모리 타입(flash memory type), 하드 디스크 타입(hard disk type), 멀티미디어 카드(MultiMedia Card: MMC), 카드 타입의 메모리(예를 들어, SD(Secure Digital) 카드 또는 XD(eXtream Digital) 카드 등), RAM(Random Access Memory), SRAM(Static Random Access Memory), ROM(Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크 및 광 디스크 중 어느 하나의 저장 매체로 구현될 수 있으나, 당업자라면 데이터베이스부(110)의 구현 형태가 이에 한정되는 것이 아님을 알 수 있을 것이다.
프로세싱 엔진(120)은 사용자가 시청한 적어도 하나의 컨텐츠 중 특정 컨텐츠를 선정하고 이 특정 컨텐츠와의 유사도가 높은 다른 컨텐츠를 사용자에게 추천하는 것으로 결정하도록 설계될 수 있다. 이를 위해 프로세싱 엔진(120)은 IPTV 서비스에 의해 제공되는 컨텐츠들 중 사용자가 시청한 특정 컨텐츠를 제외한 어느 하나의 타겟 컨텐츠를 선정해 이를 사용자가 시청한 특정 컨텐츠와 비교하도록 구성될 수 있다. 프로세싱 엔진(120)은 컨텐츠 테이블(200)을 참조하여 특정 컨텐츠와 타겟 컨텐츠 간의 컨텐츠 기반 협업 필터링(content-based collaborative filtering: CF) 유사도를 산출하는 동작, 특정 컨텐츠에 대한 키워드 벡터와 타겟 컨텐츠에 대한 키워드 벡터를 이용하여 특정 컨텐츠와 타겟 컨텐츠 간의 키워드 유사도를 산출하는 동작, CF 유사도와 키워드 유사도를 가중 평균하여 최종 유사도를 산출하는 동작 및 최종 유사도에 근거하여 타겟 컨텐츠를 사용자에게 추천할 지의 여부를 결정하는 동작을 수행하도록 구성될 수 있다.
프로세싱 엔진(120)은 아래의 수학식 1 에 따라 특정 컨텐츠와 타겟 컨텐츠 간의 CF 유사도를 산출하는 동작을 수행하도록 더 구성될 수 있다.
Figure 112020050036325-pat00035
여기서 w는 특정 컨텐츠를 시청한 사용자들의 ID들의 집합을 나타내고, Wi는 컨텐츠 i를 시청한 사용자들의 ID들의 집합을 나타내고,
Figure 112020050036325-pat00036
는 w와 Wi의 합집합(union)을 나타내고,
Figure 112020050036325-pat00037
는 w와 Wi의 합집합의 원소들의 개수를 나타내고,
Figure 112020050036325-pat00038
는 w와 Wi의 교집합(intersection)을 나타내고,
Figure 112020050036325-pat00039
는 w와 Wi의 교집합의 원소들의 개수를 나타내고, xi는 특정 컨텐츠와 컨텐츠 i간의 CF 유사도를 나타낸다.
도 2의 컨텐츠 테이블(200)을 참조하여 예를 들어 보면, 컨텐츠 1번을 시청한 사용자들의 집합은 C1 ={10, 33, 72, 165}이고, 컨텐츠 4번을 시청한 사용자들의 집합은 C4 = {72, 162, 555}이므로, 컨텐츠 1번(특정 컨텐츠)과 컨텐츠 4번(타겟 컨텐츠) 간의 CF 유사도 x4 = 1 / 6 = 0.16이다. 다른 예를 들어 보면, 컨텐츠 1번을 시청한 사용자들의 집합은 C1 ={10, 33, 72, 165}이고, 컨텐츠 2번을 시청한 사용자들의 집합은 C2 = {10, 92, 165}이므로, 컨텐츠 1번(특정 컨텐츠)과 컨텐츠 2번(타겟 컨텐츠) 간의 CF 유사도 x2 = 2 / 5 = 0.4이다. 또 다른 예를 들어 보면, 컨텐츠 1번을 시청한 사용자들의 집합은 C1 ={10, 33, 72, 165}이고, 컨텐츠 3번을 시청한 사용자들의 집합은 C3 = {10, 72, 165, 289}이므로, 컨텐츠 1번(특정 컨텐츠)과 컨텐츠 3번(타겟 컨텐츠) 간의 CF 유사도 x3 = 3 / 5 = 0.6으로서 비교적 높은 값을 갖는다. 컨텐츠 1번과 컨텐츠 3번은 이들을 시청한 사용자들이 대부분 유사하기 때문이다.
프로세싱 엔진(120)은 아래의 수학식 2에 따라 특정 컨텐츠와 타겟 컨텐츠 간의 키워드 유사도를 산출하는 동작을 수행하도록 더 구성될 수 있다.
Figure 112020050036325-pat00040
여기서 k는 특정 컨텐츠에 대한 키워드 벡터이고, Ki는 컨텐츠 i에 대한 키워드 벡터이고,
Figure 112020050036325-pat00041
는 특정 컨텐츠에 대한 키워드 벡터 k와 컨텐츠 i에 대한 키워드 벡터 Ki 간의 맨하탄 거리(Manhattan distance)이고, MAX는 키워드 벡터의 원소들이 취할 수 있는 최고값에 후보 키워드들의 총 개수를 곱한 값이고, yi는 특정 컨텐츠와 컨텐츠 i간의 키워드 유사도를 나타낸다.
전술한 예에서와 같이 키워드 벡터의 원소들이 취할 수 있는 최고값이 10이고 후보 키워드들의 총 개수가 5개이고 컨텐츠 1번에 대한 키워드 벡터가 v1 = [7, 1, 9, 0, 2]이고 컨텐츠 2번에 대한 키워드 벡터가 v2 = [1, 3, 0, 0, 10]이고 컨텐츠 3번에 대한 키워드 벡터가 v3 = [0, 0, 0, 4, 0]인 경우에 있어서 키워드 유사도를 산출하는 예를 들어 보면, 컨텐츠 1번(특정 컨텐츠)과 컨텐츠 2번(타겟 컨텐츠) 간의 키워드 유사도 y2 = 1 - 25/50 = 0.5이다. 다른 예를 들어 보면, 컨텐츠 1번(특정 컨텐츠)과 컨텐츠 3번(타겟 컨텐츠) 간의 키워드 유사도 y3 = 1 - 23/50 = 0.54이다.
프로세싱 엔진(120)은 아래의 수학식 3 및 수학식 4에 따라 최종 유사도를 산출하는 동작을 수행하도록 더 구성될 수 있다.
Figure 112020050036325-pat00042
Figure 112020050036325-pat00043
위 수학식 3에서
Figure 112020050036325-pat00044
Figure 112020050036325-pat00045
는 0 이상이고 1이하인 값이고,
Figure 112020050036325-pat00046
Figure 112020050036325-pat00047
의 합은 1이다. 일 실시예에서,
Figure 112020050036325-pat00048
Figure 112020050036325-pat00049
를 모두 0.5로 설정하여 CF 유사도와 키워드 유사도에 동일한 가중치를 곱하여 최종 유사도를 산출한다. 일 실시예에서,
Figure 112020050036325-pat00050
보다
Figure 112020050036325-pat00051
를 더 큰 값으로 설정하여 CF 유사도 보다 키워드 유사도에 더 큰 가중치를 곱하여 최종 유사도를 산출한다. 위 수학식 4에서
Figure 112020050036325-pat00052
는 특정 컨텐츠에 대한 키워드 벡터의 맨하탄 거리이고,
Figure 112020050036325-pat00053
는 컨텐츠 i에 대한 키워드 벡터의 맨하탄 거리이다. 위 수학식 3에서 Si는 특정 컨텐츠와 컨텐츠 i간의 최종 유사도를 나타낸다. 위 수학식 4에서
Figure 112020050036325-pat00054
는 키워드 필터 함수로서 특정 컨텐츠와 컨텐츠 i가 어떠한 후보 키워드도 공유하지 않는 경우 Si를 0으로 만들기 위한 함수이다.
전술한 예의 경우를 빌어 최종 유사도를 산출하는 예를 들어 보면, 컨텐츠 1번에 대한 키워드 벡터 v1 = [7, 1, 9, 0, 2]이고 컨텐츠 2번에 대한 키워드 벡터 v2 = [1, 3, 0, 0, 10]이므로 키워드 필터 함수
Figure 112020050036325-pat00055
는 1이고, x2 = 0.4이고 y2 = 0.5이므로,
Figure 112020050036325-pat00056
Figure 112020050036325-pat00057
가 모두 0.5인 경우 컨텐츠 1번(특정 컨텐츠)과 컨텐츠 2번(타겟 컨텐츠) 간의 최종 유사도 S2 = 0.45이다. 다른 예를 들어 보면, 컨텐츠 1번에 대한 키워드 벡터 v1 = [7, 1, 9, 0, 2]이고 컨텐츠 3번에 대한 키워드 벡터 v3 = [0, 0, 0, 4, 0]이므로, 컨텐츠 1번과 컨텐츠 3번은 어떠한 후보 키워드도 공유하지 않고 이에 따라 키워드 필터 함수
Figure 112020050036325-pat00058
가 0이므로, 컨텐츠 1번(특정 컨텐츠)과 컨텐츠 3번(타겟 컨텐츠) 간의 최종 유사도 S3은 x3과 y3의 값에 상관 없이 0의 값을 갖게 된다. 이와 같이 특정 컨텐츠에 대한 키워드 벡터에서 0이 아닌 값을 갖는 원소들과 타겟 컨텐츠에 대한 키워드 벡터에서 0이 아닌 값을 갖는 원소들이 서로 배타적인 경우 특정 컨텐츠와 타겟 컨텐츠는 후보 키워드들 중 어떠한 후보 키워드도 공유하지 않는 것을 나타내며 이 경우 키워드 필터 함수
Figure 112020050036325-pat00059
를 0으로 만들어 특정 컨텐츠와 타겟 컨텐츠 간의 최종 유사도를 0으로 결정한다.
프로세싱 엔진(120)은 최종 유사도가 선정된 임계값 이상인 경우 타겟 컨텐츠를 사용자에게 추천하는 것으로 결정하는 동작을 수행하도록 더 구성될 수 있다. 임계값을 낮게 또는 높게 설정함으로써 사용자에게 컨텐츠를 공격적으로 또는 보수적으로 추천하는 결정을 내리도록 프로세싱 엔진(120)을 설계할 수 있다.
이상에서는 프로세싱 엔진(120)이 하나의 타겟 컨텐츠를 선정하여 특정 컨텐츠와 비교함으로써 타겟 컨텐츠를 사용자에게 추천할 것인지의 여부를 결정하도록 구성되는 것으로서 설명하였으나, 특정 컨텐츠와 복수의 타겟 컨텐츠 간의 최종 유사도들을 산출하고, 최종 유사도들에 근거하여 복수의 타겟 컨텐츠 중 적어도 하나의 타겟 컨텐츠를 사용자에게 추천하는 것으로 결정하도록 프로세싱 엔진(120)을 구성하는 것이 가능하다.
프로세싱 엔진(120)은, 응용 주문형 집적 회로(Application Specific Integrated Circuits: ASICs), 디지털 신호 처리기(Digital Signal Processors: DSPs), 디지털 신호 처리 소자(Digital Signal Processing Devices: DSPDs), 프로그램 가능 논리 소자(Programmable Logic Devices: PLDs), 현장 프로그램 가능 게이트 어레이(Field-Programmable Gate Arrays: FPGAs), 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers) 및 마이크로 프로세서(microprocessors) 중 적어도 하나에 기반한 하드웨어 플랫폼(hardware platform)으로서 구현될 수 있다. 프로세싱 엔진(120)은 또한 전술한 하드웨어 플랫폼 상에서 실행 가능한 펌웨어(firmware)/소프트웨어 모듈로 구현될 수 있다. 이 경우, 소프트웨어 모듈은 적절한 프로그램(program) 언어로 쓰여진 소프트웨어 애플리케이션(application)에 의해 구현될 수 있다.
도 3은 유사 컨텐츠 추천 방법을 설명하기 위한 흐름도의 일 실시예를 도시한 도면이다.
도 3에 도시된 바와 같이, 본 유사 컨텐츠 추천 방법은 사용자가 시청한 적어도 하나의 컨텐츠 중 특정 컨텐츠를 선택하는 단계(S305)로부터 시작된다. 단계(S310)에서는 타겟 컨텐츠를 선택한다. 타겟 컨텐츠는 IPTV 서비스에 의해 제공되는 컨텐츠들 중 위 특정 컨텐츠를 제외한 어느 하나의 컨텐츠로서 선택될 수 있다. 단계(S315)에서는 특정 컨텐츠와 타겟 컨텐츠 간의 CF 유사도를 산출한다. CF 유사도는 위 수학식 1에 따라 산출될 수 있다. 단계(S320)에서는 특정 컨텐츠와 타겟 컨텐츠 간의 키워드 유사도를 산출한다. 키워드 유사도는 특정 컨텐츠에 대한 키워드 벡터 및 타겟 컨텐츠에 대한 키워드 벡터를 참조하여 위 수학식 2에 따라 산출될 수 있다. 단계(S325)에서는 CF 유사도와 키워드 유사도를 가중 평균하여 최종 유사도를 산출한다. 최종 유사도는 위 수학식 3 및 수학식 4에 따라 산출될 수 있다. 단계(S330)에서는 최종 유사도에 근거하여 타겟 컨텐츠를 사용자에게 추천할 지의 여부를 결정한다. 본 단계에서는 최종 유사도가 선정된 임계값 이상인 경우 타겟 컨텐츠를 사용자에게 추천하는 것으로 결정할 수 있다.
이상의 설명에 있어서 어떤 구성 요소가 다른 구성 요소에 접속되거나 결합된다는 기재의 의미는 당해 구성 요소가 그 다른 구성 요소에 직접적으로 접속되거나 결합된다는 의미뿐만 아니라 이들이 그 사이에 개재된 하나 또는 그 이상의 타 구성 요소를 통해 접속되거나 결합될 수 있다는 의미를 포함하는 것으로 이해되어야 한다. 이외에도 구성 요소들 간의 관계를 기술하기 위한 용어들(예컨대, '간에', '사이에' 등)도 유사한 의미로 해석되어야 한다.
본원에 개시된 실시예들에 있어서, 도시된 구성 요소들의 배치는 발명이 구현되는 환경 또는 요구 사항에 따라 달라질 수 있다. 예컨대, 일부 구성 요소가 생략되거나 몇몇 구성 요소들이 통합되어 하나로 실시될 수 있다. 또한 일부 구성 요소들의 배치 순서 및 연결이 변경될 수 있다.
이상에서는 본 발명의 다양한 실시예들에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예들에 한정되지 아니하며, 상술한 실시예들은 첨부하는 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양하게 변형 실시될 수 있음은 물론이고, 이러한 변형 실시예들이 본 발명의 기술적 사상이나 범위와 별개로 이해되어져서는 아니 될 것이다. 따라서, 본 발명의 기술적 범위는 오직 첨부된 특허청구범위에 의해서만 정해져야 할 것이다.
100: 컨텐츠 추천 장치
110: 데이터베이스부
120: 프로세싱 엔진
200: 컨텐츠 테이블

Claims (28)

  1. 컨텐츠 추천 방법으로서,
    사용자가 시청한 적어도 하나의 컨텐츠 중 특정 컨텐츠를 선택하는 단계,
    상기 특정 컨텐츠를 제외한 적어도 하나의 타겟 컨텐츠를 선택하는 단계,
    상기 특정 컨텐츠와 상기 타겟 컨텐츠 간의 컨텐츠 기반 협업 필터링(Collaborative Filtering: CF) 유사도를 산출하는 단계,
    상기 특정 컨텐츠와 상기 타겟 컨텐츠 간의 키워드 유사도를 산출하는 단계,
    상기 CF 유사도와 상기 키워드 유사도를 가중 평균하여 최종 유사도를 산출하는 단계, 및
    상기 최종 유사도에 근거하여 상기 타겟 컨텐츠를 상기 사용자에게 추천할 지의 여부를 결정하는 단계를 포함하는 컨텐츠 추천 방법.
  2. 제1항에 있어서,
    상기 특정 컨텐츠와 상기 타겟 컨텐츠 간의 컨텐츠 기반 협업 필터링(collaborative filtering: CF) 유사도를 산출하는 단계는, 아래의 식
    Figure 112020050036325-pat00060

    - 여기서 w는 상기 특정 컨텐츠를 시청한 사용자들의 ID들(Identifications)의 집합을 나타내고, Wi는 컨텐츠 i를 시청한 사용자들의 ID들의 집합을 나타내고,
    Figure 112020050036325-pat00061
    는 w와 Wi의 합집합(union)을 나타내고,
    Figure 112020050036325-pat00062
    는 w와 Wi의 합집합의 원소들의 개수를 나타내고,
    Figure 112020050036325-pat00063
    는 w와 Wi의 교집합(intersection)을 나타내고,
    Figure 112020050036325-pat00064
    는 w와 Wi의 교집합의 원소들의 개수를 나타내고, xi는 상기 특정 컨텐츠와 컨텐츠 i간의 CF 유사도를 나타냄 - 에 따라 상기 CF 유사도를 산출하는 단계를 포함하는, 컨텐츠 추천 방법.
  3. 제2항에 있어서,
    상기 특정 컨텐츠와 상기 타겟 컨텐츠 간의 키워드 유사도를 산출하는 단계는, 상기 특정 컨텐츠에 대한 키워드 벡터 및 상기 타겟 컨텐츠에 대한 키워드 벡터를 참조하는 단계를 포함하는, 컨텐츠 추천 방법.
  4. 제3항에 있어서,
    상기 특정 컨텐츠에 대한 키워드 벡터는 후보 키워드들의 총 개수에 해당하는 개수의 원소들을 가지며, 상기 원소들은 상기 후보 키워드들에 각각 대응하며, 상기 원소들의 각각은 상기 특정 컨텐츠에 있어서의 해당 후보 키워드의 중요도에 대응하는 크기의 원소 값을 가지며, 상기 원소들의 각각은 0 이상이고 최고값 이하인 값을 취하는, 컨텐츠 추천 방법.
  5. 제4항에 있어서,
    상기 특정 컨텐츠에 대한 키워드 벡터의 특정 원소의 원소 값이 0인 경우 상기 특정 원소에 대응하는 상기 후보 키워드가 상기 특정 컨텐츠와 관련이 없음을 나타내는, 컨텐츠 추천 방법.
  6. 제3항에 있어서,
    상기 타겟 컨텐츠에 대한 키워드 벡터는 후보 키워드들의 총 개수에 해당하는 개수의 원소들을 가지며, 상기 원소들은 상기 후보 키워드들에 각각 대응하며, 상기 원소들의 각각은 상기 타겟 컨텐츠에 있어서의 해당 후보 키워드의 중요도에 대응하는 크기의 원소 값을 가지며, 상기 원소들의 각각은 0 이상이고 최고값 이하인 값을 취하는, 컨텐츠 추천 방법.
  7. 제6항에 있어서,
    상기 타겟 컨텐츠에 대한 키워드 벡터의 특정 원소의 원소 값이 0인 경우 상기 특정 원소에 대응하는 상기 후보 키워드가 상기 타겟 컨텐츠와 관련이 없음을 나타내는, 컨텐츠 추천 방법.
  8. 제4항 또는 제6항에 있어서,
    상기 특정 컨텐츠와 상기 타겟 컨텐츠 간의 키워드 유사도를 산출하는 단계는, 아래의 식
    Figure 112020050036325-pat00065

    - 여기서 k는 상기 특정 컨텐츠에 대한 키워드 벡터이고, Ki는 컨텐츠 i에 대한 키워드 벡터이고,
    Figure 112020050036325-pat00066
    는 상기 특정 컨텐츠에 대한 키워드 벡터 k와 컨텐츠 i에 대한 키워드 벡터 Ki 간의 맨하탄 거리(Manhattan distance)이고, MAX는 상기 최고값에 상기 후보 키워드들의 총 개수를 곱한 값이고, yi는 상기 특정 컨텐츠와 컨텐츠 i간의 키워드 유사도를 나타냄 - 에 따라 상기 특정 컨텐츠와 상기 타겟 컨텐츠 간의 키워드 유사도를 산출하는 단계를 포함하는, 컨텐츠 추천 방법.
  9. 제8항에 있어서,
    상기 CF 유사도와 상기 키워드 유사도를 가중 평균하여 최종 유사도를 산출하는 단계는, 아래의 식
    Figure 112020050036325-pat00067

    Figure 112020050036325-pat00068

    - 여기서
    Figure 112020050036325-pat00069
    Figure 112020050036325-pat00070
    는 0 이상이고 1이하인 값이고,
    Figure 112020050036325-pat00071
    Figure 112020050036325-pat00072
    의 합은 1이고,
    Figure 112020050036325-pat00073
    는 상기 특정 컨텐츠에 대한 키워드 벡터의 맨하탄 거리이고,
    Figure 112020050036325-pat00074
    는 컨텐츠 i에 대한 키워드 벡터의 맨하탄 거리이고,
    Figure 112020050036325-pat00075
    는 키워드 필터 함수이고, Si는 상기 특정 컨텐츠와 컨텐츠 i간의 최종 유사도를 나타냄 - 에 따라 상기 최종 유사도를 산출하는 단계를 포함하는, 컨텐츠 추천 방법.
  10. 제9항에 있어서,
    상기 특정 컨텐츠에 대한 키워드 벡터에서 0이 아닌 값을 갖는 원소들과 상기 타겟 컨텐츠에 대한 키워드 벡터에서 0이 아닌 값을 갖는 원소들이 서로 배타적인 경우 상기 특정 컨텐츠와 상기 타겟 컨텐츠는 상기 후보 키워드들 중 어떠한 후보 키워드도 공유하지 않는 것을 나타내며 상기 키워드 필터 함수
    Figure 112020050036325-pat00076
    는 0의 값을 갖는, 컨텐츠 추천 방법.
  11. 제1항에 있어서,
    상기 최종 유사도에 근거하여 상기 타겟 컨텐츠를 상기 사용자에게 추천할 지의 여부를 결정하는 단계는, 상기 최종 유사도가 선정된 임계값 이상인 경우 상기 타겟 컨텐츠를 상기 사용자에게 추천하는 것으로 결정하는 단계를 포함하는, 컨텐츠 추천 방법.
  12. 컨텐츠 추천 방법으로서,
    사용자가 시청한 적어도 하나의 컨텐츠 중 특정 컨텐츠를 선택하는 단계,
    상기 특정 컨텐츠를 제외한 복수의 타겟 컨텐츠를 선택하는 단계,
    상기 특정 컨텐츠와 상기 복수의 타겟 컨텐츠 간의 최종 유사도들을 산출하는 단계, 및
    상기 최종 유사도들에 근거하여 상기 복수의 타겟 컨텐츠 중 적어도 하나의 타겟 컨텐츠를 상기 사용자에게 추천하는 것으로 결정하는 단계를 포함하고,
    상기 최종 유사도들의 각각은 상기 특정 컨텐츠와 해당 타겟 컨텐츠 간의 컨텐츠 기반 협업 필터링(collaborative filtering: CF) 유사도 및 상기 특정 컨텐츠와 해당 타겟 컨텐츠 간의 키워드 유사도에 기초하여 산출되는, 컨텐츠 추천 방법.
  13. 제12항에 있어서,
    상기 최종 유사도들의 각각은 상기 CF 유사도와 상기 키워드 유사도를 가중 평균하여 산출되는, 컨텐츠 추천 방법.
  14. 컨텐츠 추천을 위한 장치로서,
    컨텐츠 테이블 및 컨텐츠들에 대한 키워드 벡터들을 저장하는 데이터베이스부 - 상기 컨텐츠 테이블에는 상기 컨텐츠들의 각각에 대하여 해당 컨텐츠를 시청한 사용자들의 ID들이 연관되어 저장됨 -, 및
    프로세싱 엔진을 포함하고,
    상기 프로세싱 엔진은, 상기 컨텐츠 테이블을 참조하여 사용자가 시청한 특정 컨텐츠와 상기 특정 컨텐츠를 제외한 적어도 하나의 타겟 컨텐츠 간의 컨텐츠 기반 협업 필터링(Collaborative Filtering: CF) 유사도를 산출하는 동작, 상기 특정 컨텐츠에 대한 키워드 벡터와 상기 타겟 컨텐츠에 대한 키워드 벡터를 이용하여 상기 특정 컨텐츠와 상기 타겟 컨텐츠 간의 키워드 유사도를 산출하는 동작, 상기 CF 유사도와 상기 키워드 유사도를 가중 평균하여 최종 유사도를 산출하는 동작 및 상기 최종 유사도에 근거하여 상기 타겟 컨텐츠를 상기 사용자에게 추천할 지의 여부를 결정하는 동작을 수행하도록 구성되는, 컨텐츠 추천 장치.
  15. 제14항에 있어서,
    상기 프로세싱 엔진은, 아래의 식
    Figure 112020050036325-pat00077

    - 여기서 w는 상기 특정 컨텐츠를 시청한 사용자들의 ID들의 집합을 나타내고, Wi는 컨텐츠 i를 시청한 사용자들의 ID들의 집합을 나타내고,
    Figure 112020050036325-pat00078
    는 w와 Wi의 합집합(union)을 나타내고,
    Figure 112020050036325-pat00079
    는 w와 Wi의 합집합의 원소들의 개수를 나타내고,
    Figure 112020050036325-pat00080
    는 w와 Wi의 교집합(intersection)을 나타내고,
    Figure 112020050036325-pat00081
    는 w와 Wi의 교집합의 원소들의 개수를 나타내고, xi는 상기 특정 컨텐츠와 컨텐츠 i간의 CF 유사도를 나타냄 - 에 따라 상기 CF 유사도를 산출하는 동작을 수행하도록 더 구성되는, 컨텐츠 추천 장치.
  16. 제15항에 있어서,
    상기 특정 컨텐츠에 대한 키워드 벡터는 후보 키워드들의 총 개수에 해당하는 개수의 원소들을 가지며, 상기 원소들은 상기 후보 키워드들에 각각 대응하며, 상기 원소들의 각각은 상기 특정 컨텐츠에 있어서의 해당 후보 키워드의 중요도에 대응하는 크기의 원소 값을 가지며, 상기 원소들의 각각은 0 이상이고 최고값 이하인 값을 취하는, 컨텐츠 추천 장치.
  17. 제16항에 있어서,
    상기 특정 컨텐츠에 대한 키워드 벡터의 특정 원소의 원소 값이 0인 경우 상기 특정 원소에 대응하는 상기 후보 키워드가 상기 특정 컨텐츠와 관련이 없음을 나타내는, 컨텐츠 추천 장치.
  18. 제15항에 있어서,
    상기 타겟 컨텐츠에 대한 키워드 벡터는 후보 키워드들의 총 개수에 해당하는 개수의 원소들을 가지며, 상기 원소들은 상기 후보 키워드들에 각각 대응하며, 상기 원소들의 각각은 상기 타겟 컨텐츠에 있어서의 해당 후보 키워드의 중요도에 대응하는 크기의 원소 값을 가지며, 상기 원소들의 각각은 0 이상이고 최고값 이하인 값을 취하는, 컨텐츠 추천 장치.
  19. 제18항에 있어서,
    상기 타겟 컨텐츠에 대한 키워드 벡터의 특정 원소의 원소 값이 0인 경우 상기 특정 원소에 대응하는 상기 후보 키워드가 상기 타겟 컨텐츠와 관련이 없음을 나타내는, 컨텐츠 추천 장치.
  20. 제16항 또는 제18항에 있어서,
    상기 프로세싱 엔진은, 아래의 식
    Figure 112020050036325-pat00082

    - 여기서 k는 상기 특정 컨텐츠에 대한 키워드 벡터이고, Ki는 컨텐츠 i에 대한 키워드 벡터이고,
    Figure 112020050036325-pat00083
    는 상기 특정 컨텐츠에 대한 키워드 벡터 k와 컨텐츠 i에 대한 키워드 벡터 Ki 간의 맨하탄 거리(Manhattan distance)이고, MAX는 상기 최고값에 상기 후보 키워드들의 총 개수를 곱한 값이고, yi는 상기 특정 컨텐츠와 컨텐츠 i간의 키워드 유사도를 나타냄 - 에 따라 상기 특정 컨텐츠와 상기 타겟 컨텐츠 간의 키워드 유사도를 산출하는 동작을 수행하도록 더 구성되는, 컨텐츠 추천 장치.
  21. 제20항에 있어서,
    상기 프로세싱 엔진은, 아래의 식
    Figure 112020050036325-pat00084

    Figure 112020050036325-pat00085

    - 여기서
    Figure 112020050036325-pat00086
    Figure 112020050036325-pat00087
    는 0 이상이고 1이하인 값이고,
    Figure 112020050036325-pat00088
    Figure 112020050036325-pat00089
    의 합은 1이고,
    Figure 112020050036325-pat00090
    는 상기 특정 컨텐츠에 대한 키워드 벡터의 맨하탄 거리이고,
    Figure 112020050036325-pat00091
    는 컨텐츠 i에 대한 키워드 벡터의 맨하탄 거리이고,
    Figure 112020050036325-pat00092
    는 키워드 필터 함수이고, Si는 상기 특정 컨텐츠와 컨텐츠 i간의 최종 유사도를 나타냄 - 에 따라 상기 최종 유사도를 산출하는 동작을 수행하도록 더 구성되는, 컨텐츠 추천 장치.
  22. 제21항에 있어서,
    상기 특정 컨텐츠에 대한 키워드 벡터에서 0이 아닌 값을 갖는 원소들과 상기 타겟 컨텐츠에 대한 키워드 벡터에서 0이 아닌 값을 갖는 원소들이 서로 배타적인 경우 상기 특정 컨텐츠와 상기 타겟 컨텐츠는 상기 후보 키워드들 중 어떠한 후보 키워드도 공유하지 않는 것을 나타내며 상기 키워드 필터 함수
    Figure 112020050036325-pat00093
    는 0의 값을 갖는, 컨텐츠 추천 장치.
  23. 제14항에 있어서,
    상기 프로세싱 엔진은, 상기 최종 유사도가 선정된 임계값 이상인 경우 상기 타겟 컨텐츠를 상기 사용자에게 추천하는 것으로 결정하는 동작을 수행하도록 더 구성되는, 컨텐츠 추천 장치.
  24. 컨텐츠 추천을 위한 장치로서,
    컨텐츠 관련 데이터를 저장하는 데이터베이스부, 및
    프로세싱 엔진을 포함하고,
    상기 프로세싱 엔진은, 상기 컨텐츠 관련 데이터를 참조하여 사용자가 시청한 특정 컨텐츠와 상기 특정 컨텐츠를 제외한 복수의 타겟 컨텐츠 간의 최종 유사도들을 산출하고, 상기 최종 유사도들에 근거하여 상기 복수의 타겟 컨텐츠 중 적어도 하나의 타겟 컨텐츠를 상기 사용자에게 추천하는 것으로 결정하도록 구성되고,
    상기 프로세싱 엔진은, 상기 최종 유사도들의 각각을 상기 특정 컨텐츠와 해당 타겟 컨텐츠 간의 컨텐츠 기반 협업 필터링(collaborative filtering: CF) 유사도 및 상기 특정 컨텐츠와 해당 타겟 컨텐츠 간의 키워드 유사도에 기초하여 산출하도록 더 구성되는, 컨텐츠 추천 장치.
  25. 제24항에 있어서,
    상기 컨텐츠 관련 데이터는 컨텐츠 테이블 및 컨텐츠들에 대한 키워드 벡터들에 관한 데이터를 포함하며, 상기 컨텐츠 테이블에는 상기 컨텐츠들의 각각에 대하여 해당 컨텐츠를 시청한 사용자들의 ID들이 연관되어 저장되는, 컨텐츠 추천 장치.
  26. 제24항에 있어서,
    상기 프로세싱 엔진은, 상기 최종 유사도들의 각각을 상기 CF 유사도와 상기 키워드 유사도를 가중 평균하여 산출하도록 더 구성되는, 컨텐츠 추천 장치.
  27. 프로그램을 기록한 컴퓨터 판독가능 기록매체로서, 상기 프로그램은 명령어들을 포함하고, 상기 명령어들은 컴퓨터에 의해 실행될 때 제1항 내지 제7항 및 제11항 중 어느 한 항에 따른 방법을 수행하는, 컴퓨터 판독가능 기록매체.
  28. 프로그램을 기록한 컴퓨터 판독가능 기록매체로서, 상기 프로그램은 명령어들을 포함하고, 상기 명령어들은 컴퓨터에 의해 실행될 때 제12항 및 제13항 중 어느 한 항에 따른 방법을 수행하는, 컴퓨터 판독가능 기록매체.
KR1020200059377A 2020-05-18 2020-05-18 유사 컨텐츠 추천 방법 및 장치 KR102380871B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200059377A KR102380871B1 (ko) 2020-05-18 2020-05-18 유사 컨텐츠 추천 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200059377A KR102380871B1 (ko) 2020-05-18 2020-05-18 유사 컨텐츠 추천 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20210142484A KR20210142484A (ko) 2021-11-25
KR102380871B1 true KR102380871B1 (ko) 2022-03-30

Family

ID=78745988

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200059377A KR102380871B1 (ko) 2020-05-18 2020-05-18 유사 컨텐츠 추천 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102380871B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102632804B1 (ko) * 2023-10-30 2024-02-05 주식회사 알엔디비즈파트너 인공지능 모델을 활용한 사용자 맞춤형 콘텐츠 생성 및 가공 플랫폼 서비스 제공 방법, 장치 및 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013175038A (ja) * 2012-02-24 2013-09-05 Nec Personal Computers Ltd コンテンツ推奨装置、コンテンツ推奨システム、制御方法及びプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101363171B1 (ko) * 2012-05-30 2014-02-14 (주)유엠텍 하이브리드 협업적 여과 방법을 이용한 코사인 유사도 기반 전문가 추천 장치 및 방법
KR20150076275A (ko) * 2013-12-26 2015-07-07 주식회사 케이티 의미적 클러스터를 이용한 컨텐츠 추천 시스템 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013175038A (ja) * 2012-02-24 2013-09-05 Nec Personal Computers Ltd コンテンツ推奨装置、コンテンツ推奨システム、制御方法及びプログラム

Also Published As

Publication number Publication date
KR20210142484A (ko) 2021-11-25

Similar Documents

Publication Publication Date Title
US9654825B2 (en) Systems and methods for detecting inconsistent user actions and providing feedback
US9213986B1 (en) Modified media conforming to user-established levels of media censorship
US10129596B2 (en) Adaptive row selection
US9430532B2 (en) Media content rankings for discovery of novel content
US10575057B2 (en) Systems and methods for improving accuracy in media asset recommendation models
US20120317123A1 (en) Systems and methods for providing media recommendations
US20130332521A1 (en) Systems and methods for compiling media information based on privacy and reliability metrics
KR20110133024A (ko) 온라인 콘텐츠를 위한 미디어 가이드의 단일, 공동 및 자동 생성
US9661382B2 (en) Commercial advertising platform
CN106471819B (zh) 用于提高媒体资产推荐模型中的精确性的系统和方法
US20160314410A1 (en) Systems and methods for improving accuracy in media asset recommendations based on data from one data space
US20160314404A1 (en) Systems and methods for improving accuracy in media asset recommendations based on data from multiple data spaces
US20160316238A1 (en) Systems and methods for improving accuracy in media asset recommendation models based on users' levels of enjoyment with respect to media assets
KR102380871B1 (ko) 유사 컨텐츠 추천 방법 및 장치
US11126655B2 (en) Metadata of partial content
US20180109827A1 (en) User affinity for video content and video content recommendations
US10877982B1 (en) Detection of popular content with narrow appeal
US20230153353A1 (en) Aggregated content editing services (aces), and related systems, methods, and apparatus
RU2617391C2 (ru) Способ и устройство для генерирования отсортированного списка элементов
KR102357357B1 (ko) 사용자 기반 협업 필터링에 기반한 컨텐츠 추천 방법 및 장치
KR102399834B1 (ko) Vod 컨텐츠 추천 방법 및 장치
KR102391640B1 (ko) Vod 컨텐츠 추천 방법 및 장치
Ferreira et al. Welfare properties of recommender systems: Theory and results from a randomized experiment
KR102391644B1 (ko) Vod 컨텐츠 추천 방법 및 장치
KR102536499B1 (ko) 심층 학습에 기반한 컨텐츠 추천 방법 및 장치

Legal Events

Date Code Title Description
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant