KR20210102727A - Method and apparatus for recommending content based on content viewing history of user - Google Patents
Method and apparatus for recommending content based on content viewing history of user Download PDFInfo
- Publication number
- KR20210102727A KR20210102727A KR1020200017109A KR20200017109A KR20210102727A KR 20210102727 A KR20210102727 A KR 20210102727A KR 1020200017109 A KR1020200017109 A KR 1020200017109A KR 20200017109 A KR20200017109 A KR 20200017109A KR 20210102727 A KR20210102727 A KR 20210102727A
- Authority
- KR
- South Korea
- Prior art keywords
- generating
- matrix
- contents
- user
- characteristic
- 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
- H04N21/4668—Learning process for intelligent management, e.g. learning user preferences for recommending movies for recommending content, e.g. movies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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/4508—Management of client data or end-user data
- H04N21/4532—Management of client data or end-user data involving end-user characteristics, e.g. viewer profile, preferences
-
- 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/4662—Learning process for intelligent management, e.g. learning user preferences for recommending movies characterized by learning algorithms
- H04N21/4666—Learning process for intelligent management, e.g. learning user preferences for recommending movies characterized by learning algorithms using neural networks, e.g. processing the feedback provided by the user
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Description
아래의 실시예들은 사용자에게 컨텐츠를 제공하는 기술에 관한 것으로, 구체적으로 사용자가 시청한 컨텐츠 목록에 기초하여 사용자에게 컨텐츠를 추천하는 기술에 관한 것이다.The following embodiments relate to a technology for providing content to a user, and more specifically, to a technology for recommending content to a user based on a content list viewed by the user.
현재, 유무선 인터넷을 통하여 사용자 단말로 컨텐츠를 제공하는 서비스가 보편화되어 있으며, 이와 같이 사용자 단말로 제공되는 컨텐츠의 유형으로는 이미지 컨텐츠, 음악 컨텐츠, 동영상 컨텐츠, 게임 컨텐츠, 실시간 정보 컨텐츠 등으로 매우 다양하며, 점차 그 종류의 다양성이 증가하고 있다.Currently, services for providing content to user terminals through wired and wireless Internet are common, and as such, the types of content provided to user terminals include image content, music content, video content, game content, real-time information content, etc. and the variety of its types is gradually increasing.
그런데, 이러한 컨텐츠를 이용하기 위해 사용자는 컨텐츠 제공 서버에 접속하여 자신이 원하는 컨텐츠를 탐색하는데 많은 시간과 통신 비용을 부담하여야 한다. 종래에 사용자가 만족할 만한 컨텐츠를 선별하여 추천하는 다양한 방식이 제시되어 있다. 예를 들어, 컨텐츠의 판매량, 구매자들의 추천 정보 등을 이용하는 단순 추천 방식이 있다. 그런데, 판매량 등에 기초한 단순 추천 방식의 경우, 사용자의 개인 취향을 반영할 수 없기 때문에 추천 정확도가 떨어진다는 문제점이 있다. 다른 예로, 사용자가 입력한 선호 장르 정보나 선호 카테고리 정보, 또는 사용자의 구매 이력 등을 이용하는 맞춤형 추천 방식이 있다. 이러한 맞춤형 추천 방식의 경우, 단순히 사용자의 선호 정보 만을 고려하기 때문에 계속 변화하고 추가되는 컨텐츠들 전체를 고려하여 사용자 선호도에 맞춤화된 최적의 컨텐츠를 추천하는데 한계가 있다.However, in order to use such content, the user has to pay a lot of time and communication cost to access the content providing server and search for the content he or she wants. Conventionally, various methods for selecting and recommending content satisfactory to a user have been proposed. For example, there is a simple recommendation method using content sales volume, purchaser's recommendation information, and the like. However, in the case of a simple recommendation method based on sales volume, etc., there is a problem in that recommendation accuracy is lowered because a user's personal taste cannot be reflected. As another example, there is a customized recommendation method using preference genre information or preference category information input by a user, or a purchase history of the user. In the case of such a customized recommendation method, since only the user's preference information is considered, there is a limit in recommending the optimal content customized to the user's preference in consideration of all continuously changing and added contents.
일 실시예는 사용자에게 컨텐츠를 추천하는 방법 및 장치를 제공할 수 있다.An embodiment may provide a method and apparatus for recommending content to a user.
일 실시예는 사용자에 대한 다양한 특징들을 고려하여 사용자에게 컨텐츠를 추천하는 방법 및 장치를 제공할 수 있다.An embodiment may provide a method and apparatus for recommending content to a user in consideration of various characteristics of the user.
일 측면에 따른, 사용자가 시청한 하나 이상의 컨텐츠들에 대한 목록, 상기 사용자의 정보 및 상기 컨텐츠들 각각의 메타 정보를 입력으로서 수신하는 단계, 상기 입력에 기초하여 매트릭스를 생성하는 단계, 상기 매트릭스 내의 노이즈 값을 제거함으로써 학습 매트릭스를 생성하는 단계, 상기 입력 및 상기 학습 매트릭스에 기초하여 명시적인 정보를 나타내는 제1 특징을 생성하는 단계, 상기 학습 매트릭스에 기초하여 암묵적인 정보를 나타내는 제2 특징을 생성하는 단계, 상기 컨텐츠들의 시청 순서에 기초하여 상기 컨텐츠들의 연속성에 대한 특징을 나타내는 제3 특징을 생성하는 단계, 및 상기 제1 특징, 상기 제2 특징 및 상기 제3 특징에 기초하여 상기 사용자에게 컨텐츠를 추천하는 단계를 포함한다.According to an aspect, receiving a list of one or more contents viewed by a user, information of the user, and meta information of each of the contents as inputs, generating a matrix based on the input, in the matrix generating a learning matrix by removing noise values, generating a first feature representative of explicit information based on the input and the learning matrix, and generating a second feature representative of implicit information based on the learning matrix. generating a third characteristic indicating a characteristic of the continuity of the contents based on a viewing order of the contents; and providing contents to the user based on the first characteristic, the second characteristic, and the third characteristic. including the recommended steps.
상기 입력에 기초하여 매트릭스를 생성하는 단계는, 사용자가 시청한 하나 이상의 컨텐츠들에 대한 목록, 상기 사용자의 정보 및 상기 컨텐츠들 각각의 메타 정보 각각에 대응하는 숫자 값을 결정하는 단계, 및 상기 결정된 숫자 값을 상기 매트릭스 내의 성분에 설정하는 단계를 포함할 수 있다.The generating of the matrix based on the input may include: determining a list of one or more contents viewed by the user, the user's information, and a numeric value corresponding to each of the meta information of each of the contents; setting a numeric value to the component in the matrix.
상기 매트릭스 내의 노이즈 값을 제거함으로써 학습 매트릭스를 생성하는 단계는, 상기 매트릭스 내의 성분들 중 숫자 값이 설정되지 않은 타겟 성분에 대한 숫자 값을 예측하는 단계, 및 상기 예측된 숫자 값을 상기 타겟 성분에 설정함으로써 상기 노이즈 값을 제거하는 단계를 포함할 수 있다.The generating of the learning matrix by removing the noise value in the matrix includes predicting a numeric value for a target component for which a numeric value is not set among components in the matrix, and applying the predicted numeric value to the target component. It may include removing the noise value by setting.
상기 학습 매트릭스를 생성하는 단계는, 덴스 임베딩 레이어(dense embedding layer)를 이용하여 상기 학습 매트릭스를 생성하는 단계를 포함할 수 있다.The generating of the learning matrix may include generating the learning matrix using a dense embedding layer.
상기 입력 및 상기 학습 매트릭스에 기초하여 명시적인 정보를 나타내는 제1 특징을 생성하는 단계는, 상기 입력의 정보들 및 상기 학습 매트릭스 내의 성분들을 합(addition)하거나 내적(inner product)함으로써 상기 제1 특징을 생성하는 단계를 포함할 수 있다.Generating a first feature representing explicit information based on the input and the learning matrix comprises adding or inner producting the information of the input and components in the learning matrix to the first feature. It may include the step of generating
상기 입력 및 상기 학습 매트릭스에 기초하여 명시적인 정보를 나타내는 제1 특징을 생성하는 단계는, FM 레이어를 이용하여 상기 입력 및 상기 학습 매트릭스에 기초하여 명시적인 정보를 나타내는 제1 특징을 생성하는 단계를 포함할 수 있다.Generating a first feature representative of explicit information based on the input and the learning matrix may include generating a first feature representative of explicit information based on the input and the learning matrix using an FM layer. may include
상기 학습 매트릭스에 기초하여 암묵적인 정보를 나타내는 제2 특징을 생성하는 단계는, 상기 학습 매트릭스를 DNN(deep neural network) 레이어에 입력함으로써 상기 제2 특징을 생성하는 단계를 포함할 수 있다.The generating of the second feature representing implicit information based on the learning matrix may include generating the second feature by inputting the learning matrix into a deep neural network (DNN) layer.
상기 컨텐츠들의 시청 순서에 기초하여 상기 컨텐츠들의 연속성에 대한 특징을 나타내는 제3 특징을 생성하는 단계는, GRU(Gated Recurrent Unit) 방식에 기초하여 이볼빙(evolving) 레이어에 상기 컨텐츠들을 순서적으로 입력함으로써 제3 특징을 생성하는 단계를 포함할 수 있다.The generating of the third characteristic indicating the continuity of the contents based on the viewing order of the contents may include sequentially inputting the contents to an evolving layer based on a Gated Recurrent Unit (GRU) method. thereby creating a third characteristic.
상기 컨텐츠들은 VOD(video on demand)일 수 있다.The contents may be video on demand (VOD).
다른 일 측면에 따른, 서버는, 사용자에게 컨텐츠를 추천하는 프로그램이 기록된 메모리, 및 상기 프로그램을 수행하는 프로세서를 포함하고, 상기 프로그램은, 사용자가 시청한 하나 이상의 컨텐츠들에 대한 목록, 상기 사용자의 정보 및 상기 컨텐츠들 각각의 메타 정보를 입력으로서 수신하는 단계, 상기 입력에 기초하여 매트릭스를 생성하는 단계, 상기 매트릭스 내의 노이즈 값을 제거함으로써 학습 매트릭스를 생성하는 단계, 상기 입력 및 상기 학습 매트릭스에 기초하여 명시적인 정보를 나타내는 제1 특징을 생성하는 단계, 상기 학습 매트릭스에 기초하여 암묵적인 정보를 나타내는 제2 특징을 생성하는 단계, 상기 컨텐츠들의 시청 순서에 기초하여 상기 컨텐츠들의 연속성에 대한 특징을 나타내는 제3 특징을 생성하는 단계, 및 상기 제1 특징, 상기 제2 특징 및 상기 제3 특징에 기초하여 상기 사용자에게 컨텐츠를 추천하는 단계를 수행한다.According to another aspect, the server includes a memory in which a program for recommending content to a user is recorded, and a processor for executing the program, wherein the program includes a list of one or more content viewed by the user, the user Receiving information of and meta-information of each of the contents as input, generating a matrix based on the input, generating a learning matrix by removing noise values in the matrix, in the input and the learning matrix generating a first feature representing explicit information based on the first feature, generating a second feature representing implicit information based on the learning matrix, representing a feature for the continuity of the content based on the viewing order of the content generating a third characteristic; and recommending content to the user based on the first characteristic, the second characteristic, and the third characteristic.
상기 입력에 기초하여 매트릭스를 생성하는 단계는, 사용자가 시청한 하나 이상의 컨텐츠들에 대한 목록, 상기 사용자의 정보 및 상기 컨텐츠들 각각의 메타 정보 각각에 대응하는 숫자 값을 결정하는 단계, 및 상기 결정된 숫자 값을 상기 매트릭스 내의 성분에 설정하는 단계를 포함할 수 있다.The generating of the matrix based on the input may include: determining a list of one or more contents viewed by the user, the user's information, and a numeric value corresponding to each of the meta information of each of the contents; setting a numeric value to the component in the matrix.
상기 매트릭스 내의 노이즈 값을 제거함으로써 학습 매트릭스를 생성하는 단계는, 상기 매트릭스 내의 성분들 중 숫자 값이 설정되지 않은 타겟 성분에 대한 숫자 값을 예측하는 단계, 및 상기 예측된 숫자 값을 상기 타겟 성분에 설정함으로써 상기 노이즈 값을 제거하는 단계를 포함할 수 있다.The generating of the learning matrix by removing the noise value in the matrix includes predicting a numeric value for a target component for which a numeric value is not set among components in the matrix, and applying the predicted numeric value to the target component. It may include removing the noise value by setting.
상기 입력 및 상기 학습 매트릭스에 기초하여 명시적인 정보를 나타내는 제1 특징을 생성하는 단계는, 상기 입력의 정보들 및 상기 학습 매트릭스 내의 성분들을 합(addition)하거나 내적(inner product)함으로써 상기 제1 특징을 생성하는 단계를 포함할 수 있다.Generating a first feature representing explicit information based on the input and the learning matrix comprises adding or inner producting the information of the input and components in the learning matrix to the first feature. It may include the step of generating
상기 학습 매트릭스에 기초하여 암묵적인 정보를 나타내는 제2 특징을 생성하는 단계는, 상기 학습 매트릭스를 DNN(deep neural network) 레이어에 입력함으로써 상기 제2 특징을 생성하는 단계를 포함할 수 있다.The generating of the second feature representing implicit information based on the learning matrix may include generating the second feature by inputting the learning matrix into a deep neural network (DNN) layer.
상기 컨텐츠들의 시청 순서에 기초하여 상기 컨텐츠들의 연속성에 대한 특징을 나타내는 제3 특징을 생성하는 단계는, GRU(Gated Recurrent Unit) 방식에 기초하여 이볼빙(evolving) 레이어에 상기 컨텐츠들을 순서적으로 입력함으로써 제3 특징을 생성하는 단계를 포함할 수 있다.The generating of the third characteristic indicating the continuity of the contents based on the viewing order of the contents may include sequentially inputting the contents to an evolving layer based on a Gated Recurrent Unit (GRU) method. thereby creating a third characteristic.
상기 컨텐츠들은 VOD(video on demand)일 수 있다.The contents may be video on demand (VOD).
사용자에게 컨텐츠를 추천하는 방법 및 장치가 제공될 수 있다.A method and apparatus for recommending content to a user may be provided.
사용자에 대한 다양한 특징들을 고려하여 사용자에게 컨텐츠를 추천하는 방법 및 장치가 제공될 수 있다.A method and apparatus for recommending content to a user in consideration of various characteristics of the user may be provided.
도 1은 일 예에 따른 컨텐츠 제공 시스템이다.
도 2는 일 실시예에 따른 컨텐츠를 제공하는 서버의 구성도이다.
도 3은 일 실시예에 따른 컨텐츠를 추천하는 방법의 흐름도이다.
도 4는 일 실시예에 따른 컨텐츠를 추천하는 알고리즘의 레이어들을 도시한다.
도 5는 일 예에 따른 입력에 기초하여 매트릭스를 생성하는 방법의 흐름도이다.
도 6는 일 예에 따른 입력에 기초하여 생성된 매트릭스를 도시한다.
도 7은 일 예에 따른 매트릭스 내의 노이즈 값을 제거함으로써 학습 매트릭스를 생성하는 방법의 흐름도이다.
도 8은 일 예에 따른 학습 매트릭스를 도시한다.
도 9는 일 예에 따른 입력 및 학습 매트릭스에 기초하여 명시적인 정보를 나타내는 제1 특징을 생성하는 방법을 도시한다.
도 10은 일 예에 따른 학습 매트릭스에 기초하여 암묵적인 정보를 나타내는 제2 특징을 생성하는 방법을 도시한다.
도 11은 일 예에 따른 컨텐츠들의 시청 순서에 기초하여 컨텐츠들의 연속성에 대한 특징을 나타내는 제3 특징을 생성하는 방법을 도시한다.1 is a content providing system according to an example.
2 is a configuration diagram of a server that provides content according to an embodiment.
3 is a flowchart of a method of recommending content according to an exemplary embodiment.
4 illustrates layers of an algorithm for recommending content according to an embodiment.
5 is a flowchart of a method of generating a matrix based on an input according to an example.
6 illustrates a matrix generated based on an input according to an example.
7 is a flowchart of a method of generating a learning matrix by removing noise values in the matrix according to an example.
8 illustrates a learning matrix according to an example.
9 illustrates a method for generating a first feature representing explicit information based on an input and a learning matrix according to an example.
10 illustrates a method of generating a second feature representing implicit information based on a learning matrix according to an example.
11 illustrates a method of generating a third characteristic indicating a characteristic of continuity of contents based on a viewing order of contents according to an example.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, the scope of the patent application is not limited or limited by these examples. Like reference numerals in each figure indicate like elements.
아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Various modifications may be made to the embodiments described below. It should be understood that the embodiments described below are not intended to limit the embodiments, and include all modifications, equivalents or substitutes thereto.
실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Terms used in the examples are only used to describe specific examples, and are not intended to limit the examples. The singular expression includes the plural expression unless the context clearly dictates otherwise. In the present specification, terms such as “comprise” or “have” are intended to designate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, but one or more other features It should be understood that this does not preclude the existence or addition of numbers, steps, operations, components, parts, or combinations thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the embodiment belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present application. does not
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In addition, in the description with reference to the accompanying drawings, the same components are given the same reference numerals regardless of the reference numerals, and the overlapping description thereof will be omitted. In the description of the embodiment, if it is determined that a detailed description of a related known technology may unnecessarily obscure the gist of the embodiment, the detailed description thereof will be omitted.
도 1은 일 예에 따른 컨텐츠 제공 시스템이다.1 is a content providing system according to an example.
일 측면에 따른, 컨텐츠 제공 시스템은 사용자 단말(120) 및 사용자 단말(120)로 컨텐츠를 제공하는 서버(110)를 포함한다. 예를 들어, 서버(110)는 사용자 단말(120)로 컨텐츠 목록을 제공하고, 사용자 단말(120)의 사용자는 목록 중 어느 하나를 선택할 수 있다. 컨텐츠는 VOD(video on demand)일 수 있고, 서버(110)는 스트리밍 방식으로 VOD를 사용자 단말(120)로 제공할 수 있다.According to one aspect, the content providing system includes a
서버(110)는 사용자가 좋아하는 타겟 컨텐츠를 결정하고, 타겟 컨텐츠를 추천 컨텐츠로서 사용자에게 추천할 수 있다. 복수의 컨텐츠들 중 타겟 컨텐츠를 결정하기 위해, 다양한 요소들이 고려될 수 있다. 예를 들어, 사용자의 연령, 성별 등을 포함하는 사용자의 정보 및 사용자의 시청 이력 등이 고려될 수 있다.The
타겟 컨텐츠를 결정하기 위해 훈련이 가능한 알고리즘이 이용될 수 있다. 알고리즘은 다양한 입력 및 출력에 대한 피드백에 기초하여 훈련될 수 있다. 예를 들어, 피드백은 사용자의 평점 등을 포함할 수 있으나 기재된 실시예로 한정되지 않는다.A trainable algorithm may be used to determine the target content. Algorithms can be trained based on feedback on various inputs and outputs. For example, the feedback may include a user's rating, etc., but is not limited to the described embodiment.
아래에서 도 2 내지 도 11을 참조하여 알고리즘을 이용하여 사용자에게 컨텐츠를 추천하는 방법에 대해 상세히 설명된다.Hereinafter, a method of recommending content to a user using an algorithm will be described in detail with reference to FIGS. 2 to 11 .
도 2는 일 실시예에 따른 컨텐츠를 제공하는 서버의 구성도이다.2 is a configuration diagram of a server that provides content according to an embodiment.
서버(200)는 통신부(210), 프로세서(220) 및 메모리(230)를 포함한다. 예를 들어, 서버(200)은 도 1을 참조하여 서버(110)일 수 있다.The
통신부(210)는 프로세서(220) 및 메모리(230)와 연결되어 데이터를 송수신한다. 통신부(210)는 외부의 다른 장치와 연결되어 데이터를 송수신할 수 있다. 이하에서 "A"를 송수신한다라는 표현은 "A를 나타내는 정보(information) 또는 데이터"를 송수신하는 것을 나타낼 수 있다.The
통신부(210)는 서버(200) 내의 회로망(circuitry)으로 구현될 수 있다. 예를 들어, 통신부(210)는 내부 버스(internal bus) 및 외부 버스(external bus)를 포함할 수 있다. 다른 예로, 통신부(210)는 서버(200)와 외부의 장치를 연결하는 요소일 수 있다. 통신부(210)는 인터페이스(interface)일 수 있다. 통신부(210)는 외부의 장치로부터 데이터를 수신하여, 프로세서(220) 및 메모리(230)에 데이터를 전송할 수 있다.The
프로세서(220)는 통신부(210)가 수신한 데이터 및 메모리(230)에 저장된 데이터를 처리한다. "프로세서"는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다. 예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.The
프로세서(220)는 메모리(예를 들어, 메모리(230))에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(220)에 의해 유발된 인스트럭션들을 실행한다.
메모리(230)는 통신부(210)가 수신한 데이터 및 프로세서(220)가 처리한 데이터를 저장한다. 예를 들어, 메모리(230)는 프로그램(또는 어플리케이션, 소프트웨어)을 저장할 수 있다. 저장되는 프로그램은 컨텐츠를 추천할 수 있도록 코딩되어 프로세서(220)에 의해 실행 가능한 신텍스(syntax)들의 집합일 수 있다.The
일 측면에 따르면, 메모리(230)는 하나 이상의 휘발성 메모리, 비휘발성 메모리 및 RAM(Random Access Memory), 플래시 메모리, 하드 디스크 드라이브 및 광학 디스크 드라이브를 포함할 수 있다.According to one aspect,
메모리(230)는 서버(200)를 동작 시키는 명령어 세트(예를 들어, 소프트웨어)를 저장한다. 서버(200)를 동작 시키는 명령어 세트는 프로세서(220)에 의해 실행된다.The
통신부(210), 프로세서(220) 및 메모리(230)에 대해, 아래에서 도 3 내지 도 11을 참조하여 상세히 설명된다.The
도 3은 일 실시예에 따른 컨텐츠를 추천하는 방법의 흐름도이다.3 is a flowchart of a method of recommending content according to an exemplary embodiment.
아래의 단계들(310 내지 370)은 도 2를 참조하여 전술된 서버(200)에 의해 수행된다. 서버(200)는 컨텐츠를 추천하는 알고리즘을 포함할 수 있고, 알고리즘을 이용하여 단계들(310 내지 370)이 수행될 수 있다. 단계들(310 내지 370)은 타겟 사용자에 대해 수행될 수 있다. 예를 들어, 사용자 식별자(Identifier: ID) 또는 사용자의 세션으로 타겟 사용자를 식별할 수 있다.The
일 측면에 따르면, 알고리즘은 도 4의 알고리즘(400)일 수 있고, 알고리즘(400)은 예를 들어, 7개의 레이어들을 포함할 수 있다. 알고리즘(400)의 각 레이어들은 단계들(310 내지 370에 대한 설명과 함께 설명된다.According to one aspect, the algorithm may be the
단계(310)에서, 서버(200)는 사용자가 시청한 하나 이상의 컨텐츠들에 대한 목록, 사용자의 정보 및 컨텐츠들 각각의 메타 정보를 입력으로서 수신한다. 예를 들어, 사용자의 정보는 사용자의 연령, 컨텐츠 선호 장르, 성별, 가입 상품 등을 포함할 수 있고, 기재된 실시예로 한정되지 않는다. 예를 들어, 컨텐츠의 메타 정보는 컨텐츠에 매핑 또는 태그된 정보들일 수 있다. 컨텐츠의 메타 정보는 컨텐츠의 내용적인 특징들을 나타내는 키워드일 수 있다.In
일 측면에 따르면, 단계(310)는 알고리즘(400)의 입력 레이어(410)에서 수행될 수 있다. 예를 들어, 입력 레이어(410)는 복수의 노드들을 포함할 수 있고, 노드에 해당 입력이 설정될 수 있다. 타겟 노드에 해당하는 정보가 없는 경우 해당 타겟 노드에는 입력이 수신되지 않을 수 있다.According to one aspect, step 310 may be performed in the
단계(320)에서, 서버(200)는 입력에 기초하여 매트릭스를 생성한다. 예를 들어, 매트릭스는 알고리즘(400)의 스파스 임베딩 레이어(sparse embedding layer)(410)에서 생성될 수 있다. 예를 들어, 입력으로서의 각 정보는 숫자 값으로 변환되고, 변환된 숫자 값은 매트릭스 내의 해당 성분에 설정될 수 있다. 매트릭스 내의 성분은 매트릭스의 행과 열을 나타낼 수 있다. 매트릭스 내의 특정 성분에 대응하는 정보가 없는 경우 해당 성분은 숫자 값이 설정되지 않은 빈 공간일 수 있다. 매트릭스를 생성하는 방법에 대해, 아래에서 도 5 및 6을 참조하여 상세히 설명된다.In
단계(330)에서, 서버(200)는 매트릭스 내의 노이즈 값을 제거함으로써 학습 매트릭스를 생성한다. 예를 들어, 노이즈 값은 숫자 값이 설정되지 않은 매트릭스 내의 성분일 수 있다. 서버(200)는 타겟 성분에 대한 숫자 값을 예측하고, 예측된 숫자 값을 타겟 성분에 설정함으로써 노이즈 값을 제거할 수 있다.In
일 측면에 따르면, 단계(330)는 알고리즘(400)의 덴스 임베딩 레이어(dense embedding layer)(430)에 의해 수행될 수 있다.According to one aspect, step 330 may be performed by a dense embedding
학습 매트릭스를 생성하는 방법에 대해, 아래에서 도 7 및 8을 참조하여 상세히 설명된다.A method of generating a learning matrix is described in detail below with reference to FIGS. 7 and 8 .
단계(340)에서, 서버(200)는 입력 및 학습 매트릭스에 기초하여 명시적인 정보를 나타내는 제1 특징을 생성한다. 일 측면에 따르면, 단계(340)는 알고리즘(400)의 FM 레이어(440)에 의해 수행될 수 있다. 제1 특징을 생성하는 방법에 대해 아래에서 도 9를 참조하여 상세히 설명된다.In
단계(350)에서, 서버(200)는 학습 매트릭스에 기초하여 암묵적인 정보를 나타내는 제2 특징을 생성한다. 일 측면에 따르면, 단계(350)는 알고리즘(400)의 DNN(deep neural network) 레이어(450)에 의해 수행될 수 있다. 제2 특징을 생성하는 방법에 대해 아래에서 도 10을 참조하여 상세히 설명된다.In
단계(360)에서, 서버(200)는 컨텐츠들의 시청 순서에 기초하여 컨텐츠들의 연속성에 대한 특징을 나타내는 제3 특징을 생성한다. 일 측면에 따르면, 단계(360)는 알고리즘(400)의 이볼빙(evolving) 레이어(460)에 의해 수행될 수 있다. 제3 특징을 생성하는 방법에 대해 아래에서 도 11을 참조하여 상세히 설명된다.In
단계(370)에서, 서버(200)는 제1 특징, 제2 특징 및 제3 특징에 기초하여 사용자에게 컨텐츠를 추천한다. 일 측면에 따르면, 단계(370)는 알고리즘(400)의 출력 레이어(470)에 의해 수행될 수 있다. 출력 레이어(470)의 활성화 함수를 이용하여 사용자에게 추천될 컨텐츠가 결정될 수 있다. 예를 들어, 활성화 함수는 시그모이드 함수(sigmoid function)일 수 있다.In
도 4는 일 실시예에 따른 컨텐츠를 추천하는 알고리즘의 레이어들을 도시한다.4 illustrates layers of an algorithm for recommending content according to an embodiment.
일 측면에 따른, 컨텐츠를 추천하는 알고리즘(400)은 도 3을 참조하여 전술된 입력 레이어(410), 스파스 임베딩 레이어(420), 덴스 임베딩 레이어(430), FM 레이어(440), DNN 레이어(450), 이볼빙 레이어(460) 및 출력 레이어(470)를 포함할 수 있다. 알고리즘(400) 내의 레이어들 및 레이어들 내의 노드들 각각은 사용자에게 컨텐츠를 추천하기 위해 맞춤형으로 미리 훈련될 수 있다.According to an aspect, the
알고리즘(400)에 대해, 아래에서 도 5 내지 11을 참조하여 상세히 설명된다.
도 5는 일 예에 따른 입력에 기초하여 매트릭스를 생성하는 방법의 흐름도이다.5 is a flowchart of a method of generating a matrix based on an input according to an example.
일 측면에 따르면, 도 3을 참조하여 전술된 단계(320)는 아래의 단계들(510 및 520)을 포함할 수 있다.According to one aspect, the
단계(510)에서, 서버(200)는 컨텐츠들에 대한 목록, 사용자의 정보 및 컨텐츠의 메타 정보에 대응하는 숫자 값을 결정한다. 텍스트로 나타나는 정보를 처리하기 위해 정보에 대응하는 숫자 값이 결정될 수 있다. 예를 들어, 숫자 값의 범위는 0 내지 1일 수 있다.In
단계(520)에서, 서버(200)는 타겟 정보에 대해 결정된 숫자 값을 매트릭스 내의 타겟 성분에 설정한다. 타겟 성분에 대응하는 정보가 수신되지 않은 경우에는, 타겟 성분에 숫자 값이 설정되지 않을 수 있다. 숫자 값이 설정되지 않은 성분은 노이즈일 수 있다.In
도 6는 일 예에 따른 입력에 기초하여 생성된 매트릭스를 도시한다.6 illustrates a matrix generated based on an input according to an example.
예를 들어, 스파스 임베딩 레이어(420) 내의 매트릭스(600)는 제1 성분(610), 제2 성분(620) 및 제3 성분(630)을 포함할 수 있다. 제1 정보(640) 및 제2 정보(650)가 입력으로서 수신된 경우, 제1 정보(640)에 대한 숫자 값들(641 및 642)이 제2 성분(620)에 설정되고, 제2 정보(650)에 대한 숫자 값들(651 및 652)이 제3 성분(630)에 설정될 수 있다. 예를 들어, 숫자 값들(641 및 642)은 벡터로 표현될 수 있다.For example, the
제3 성분(630)에 대응하는 정보가 수신되지 않은 경우, 제3 성분(630)은 노이즈일 수 있다.When information corresponding to the
도 7은 일 예에 따른 매트릭스 내의 노이즈 값을 제거함으로써 학습 매트릭스를 생성하는 방법의 흐름도이다.7 is a flowchart of a method of generating a learning matrix by removing noise values in the matrix according to an example.
일 측면에 따르면, 도 3을 참조하여 전술된 단계(330)는 아래의 단계들(710 및 720)을 포함할 수 있다.According to one aspect, step 330 described above with reference to FIG. 3 may include
단계(710)에서, 서버(200)는 매트릭스 내의 성분들 중 숫자 값이 설정되지 않은 타겟 성분에 대한 숫자 값을 예측한다. 예를 들어, 타겟 성분의 주변 성분들에 기초하여 숫자 값이 예측될 수 있다.In
단계(720)에서, 서버(200)는 예측된 숫자 값을 타겟 성분에 설정함으로써 노이즈 값을 제거한다. 매트릭스의 노이즈 값이 제거됨으로써 학습 매트릭스가 생성될 수 있다.In
도 8은 일 예에 따른 학습 매트릭스를 도시한다.8 illustrates a learning matrix according to an example.
도 6을 참조하여 전술된 매트릭스(600)의 제1 성분(610)에 대응하는 정보가 수신되지 않았으므로, 제1 성분(610)은 노이즈일 수 있다. 제1 성분(610)에 대한 숫자 값들(801 및 802)이 예측될 수 있다. 예를 들어, 숫자 값들(801 및 802)은 숫자 값들(641, 642, 651 및 652)에 기초하여 예측될 수 있다.Since information corresponding to the
제1 성분(610)에 숫자 값들(801 및 802)이 설정됨으로써 학습 매트릭스가 생성될 수 있다.A learning matrix may be created by setting the
도 9는 일 예에 따른 입력 및 학습 매트릭스에 기초하여 명시적인 정보를 나타내는 제1 특징을 생성하는 방법을 도시한다.9 illustrates a method for generating a first feature representing explicit information based on an input and a learning matrix according to an example.
일 측면에 따르면, 도 3을 참조하여 전술된 단계(340)는 알고리즘(400)의 FM 레이어(440)에 의해 수행될 수 있다.According to one aspect, step 340 described above with reference to FIG. 3 may be performed by the
예를 들어, FM 레이어(440)는 제1 노드(910), 제2 노드(920) 및 제3 노드(930)를 포함할 수 있다. 제1 노드(910), 제2 노드(920) 및 제3 노드(930)의 결과 값은 명시적인 정보를 나타내는 제1 특징일 수 있다.For example, the
제1 노드(910)는 제1 정보(640) 및 제2 정보(650)를 합(addition)할 수 있다. 제2 노드(920) 및 제3 노드(930)는 학습 매트릭스 내의 성분들(610, 620 및 630)을 내적(inner product)할 수 있다.The
도 10은 일 예에 따른 학습 매트릭스에 기초하여 암묵적인 정보를 나타내는 제2 특징을 생성하는 방법을 도시한다.10 illustrates a method of generating a second feature representing implicit information based on a learning matrix according to an example.
일 측면에 따르면, 도 3을 참조하여 전술된 단계(350)는 알고리즘(400)의 DNN 레이어(450)에 의해 수행될 수 있다. DNN 레이어(450)는 복수의 레이어들(1010 및 1020)을 포함할 수 있다. DNN 레이어(450)는 히든(hidden) 레이어일 수 있다.According to one aspect, the
학습 매트릭스 내의 성분들(610, 620 및 630)이 DNN 레이어(450)에 입력되고, 출력으로서 제2 특징(1030)이 생성될 수 있다.
도 11은 일 예에 따른 컨텐츠들의 시청 순서에 기초하여 컨텐츠들의 연속성에 대한 특징을 나타내는 제3 특징을 생성하는 방법을 도시한다.11 illustrates a method of generating a third characteristic indicating a characteristic of continuity of contents based on a viewing order of contents according to an example.
일 측면에 따르면, 도 3을 참조하여 전술된 단계(360)는 알고리즘(400)의 이볼빙 레이어(450)에 의해 수행될 수 있다. 이볼빙 레이어(450)는 사용자가 시청한 컨텐츠들이 시청 순서에 기초하여 미리 훈련될 수 있다. GRU(Gated Recurrent Unit) 방식에 기초하여 이볼빙 레이어(450)에 컨텐츠들이 순서적으로 입력될 수 있다. h는 사용자에 대한 제3 특징을 나타낼 수 있고, ho 내지 ht는 새로운 컨텐츠에 대한 정보(e1 내지 et)가 입력될 때마다 갱신되는 제3 특징을 나타낸다. 예를 들어, 컨텐츠에 대한 정보 e는 컨텐츠의 메타 정보를 포함할 수 있다.According to one aspect, step 360 described above with reference to FIG. 3 may be performed by the evolving
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The device described above may be implemented as a hardware component, a software component, and/or a combination of the hardware component and the software component. For example, devices and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable array (FPA), It may be implemented using one or more general purpose or special purpose computers, such as a programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For convenience of understanding, although one processing device is sometimes described as being used, one of ordinary skill in the art will recognize that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that can include For example, the processing device may include a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as parallel processors.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and carry out program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with reference to the limited embodiments and drawings, various modifications and variations are possible from the above description by those skilled in the art. For example, the described techniques are performed in a different order than the described method, and/or the described components of the system, structure, apparatus, circuit, etc. are combined or combined in a different form than the described method, or other components Or substituted or substituted by equivalents may achieve an appropriate result.
Claims (17)
상기 입력에 기초하여 매트릭스를 생성하는 단계;
상기 매트릭스 내의 노이즈 값을 제거함으로써 학습 매트릭스를 생성하는 단계;
상기 입력 및 상기 학습 매트릭스에 기초하여 명시적인 정보를 나타내는 제1 특징을 생성하는 단계;
상기 학습 매트릭스에 기초하여 암묵적인 정보를 나타내는 제2 특징을 생성하는 단계;
상기 컨텐츠들의 시청 순서에 기초하여 상기 컨텐츠들의 연속성에 대한 특징을 나타내는 제3 특징을 생성하는 단계; 및
상기 제1 특징, 상기 제2 특징 및 상기 제3 특징에 기초하여 상기 사용자에게 컨텐츠를 추천하는 단계
를 포함하는,
컨텐츠 추천 방법.
receiving a list of one or more contents viewed by a user, information of the user, and meta information of each of the contents as inputs;
generating a matrix based on the input;
generating a learning matrix by removing noise values in the matrix;
generating a first feature representing explicit information based on the input and the learning matrix;
generating a second feature representing implicit information based on the learning matrix;
generating a third characteristic indicating a characteristic of the continuity of the contents based on the viewing order of the contents; and
recommending content to the user based on the first characteristic, the second characteristic, and the third characteristic;
containing,
How to recommend content.
상기 입력에 기초하여 매트릭스를 생성하는 단계는,
사용자가 시청한 하나 이상의 컨텐츠들에 대한 목록, 상기 사용자의 정보 및 상기 컨텐츠들 각각의 메타 정보 각각에 대응하는 숫자 값을 결정하는 단계; 및
상기 결정된 숫자 값을 상기 매트릭스 내의 성분에 설정하는 단계
를 포함하는,
컨텐츠 추천 방법.
According to claim 1,
The step of generating a matrix based on the input comprises:
determining a list of one or more contents viewed by a user, a numeric value corresponding to each of the user's information and meta information of each of the contents; and
setting the determined numerical value to a component in the matrix;
containing,
How to recommend content.
상기 매트릭스 내의 노이즈 값을 제거함으로써 학습 매트릭스를 생성하는 단계는,
상기 매트릭스 내의 성분들 중 숫자 값이 설정되지 않은 타겟 성분에 대한 숫자 값을 예측하는 단계; 및
상기 예측된 숫자 값을 상기 타겟 성분에 설정함으로써 상기 노이즈 값을 제거하는 단계
를 포함하는,
컨텐츠 추천 방법.
3. The method of claim 2,
The step of generating a learning matrix by removing noise values in the matrix comprises:
predicting a numeric value for a target component to which a numeric value is not set among components in the matrix; and
removing the noise value by setting the predicted numeric value to the target component;
containing,
How to recommend content.
상기 학습 매트릭스를 생성하는 단계는,
덴스 임베딩 레이어(dense embedding layer)를 이용하여 상기 학습 매트릭스를 생성하는 단계
를 포함하는,
컨텐츠 추천 방법.
4. The method of claim 3,
The step of generating the learning matrix comprises:
Generating the learning matrix using a dense embedding layer
containing,
How to recommend content.
상기 입력 및 상기 학습 매트릭스에 기초하여 명시적인 정보를 나타내는 제1 특징을 생성하는 단계는,
상기 입력의 정보들 및 상기 학습 매트릭스 내의 성분들을 합(addition)하거나 내적(inner product)함으로써 상기 제1 특징을 생성하는 단계
를 포함하는,
컨텐츠 추천 방법.
According to claim 1,
generating a first feature representing explicit information based on the input and the learning matrix comprises:
generating the first feature by adding or inner producting the information of the input and components in the learning matrix;
containing,
How to recommend content.
상기 입력 및 상기 학습 매트릭스에 기초하여 명시적인 정보를 나타내는 제1 특징을 생성하는 단계는,
FM 레이어를 이용하여 상기 입력 및 상기 학습 매트릭스에 기초하여 명시적인 정보를 나타내는 제1 특징을 생성하는 단계
를 포함하는,
컨텐츠 추천 방법.
6. The method of claim 5,
generating a first feature representing explicit information based on the input and the learning matrix comprises:
generating a first feature representing explicit information based on the input and the learning matrix using an FM layer;
containing,
How to recommend content.
상기 학습 매트릭스에 기초하여 암묵적인 정보를 나타내는 제2 특징을 생성하는 단계는,
상기 학습 매트릭스를 DNN(deep neural network) 레이어에 입력함으로써 상기 제2 특징을 생성하는 단계
를 포함하는,
컨텐츠 추천 방법.
According to claim 1,
Generating a second feature representing implicit information based on the learning matrix comprises:
generating the second feature by inputting the learning matrix into a deep neural network (DNN) layer;
containing,
How to recommend content.
상기 컨텐츠들의 시청 순서에 기초하여 상기 컨텐츠들의 연속성에 대한 특징을 나타내는 제3 특징을 생성하는 단계는,
GRU(Gated Recurrent Unit) 방식에 기초하여 이볼빙(evolving) 레이어에 상기 컨텐츠들을 순서적으로 입력함으로써 제3 특징을 생성하는 단계
를 포함하는,
컨텐츠 추천 방법.
According to claim 1,
The step of generating a third characteristic indicating a characteristic of the continuity of the contents based on the viewing order of the contents,
Generating the third feature by sequentially inputting the contents to an evolving layer based on a Gated Recurrent Unit (GRU) scheme
containing,
How to recommend content.
상기 컨텐츠들은 VOD(video on demand)인,
컨텐츠 추천 방법.
According to claim 1,
The contents are video on demand (VOD),
How to recommend content.
A computer-readable recording medium containing a program for performing the method of any one of claims 1 to 9.
사용자에게 컨텐츠를 추천하는 프로그램이 기록된 메모리; 및
상기 프로그램을 수행하는 프로세서
를 포함하고,
상기 프로그램은,
사용자가 시청한 하나 이상의 컨텐츠들에 대한 목록, 상기 사용자의 정보 및 상기 컨텐츠들 각각의 메타 정보를 입력으로서 수신하는 단계;
상기 입력에 기초하여 매트릭스를 생성하는 단계;
상기 매트릭스 내의 노이즈 값을 제거함으로써 학습 매트릭스를 생성하는 단계;
상기 입력 및 상기 학습 매트릭스에 기초하여 명시적인 정보를 나타내는 제1 특징을 생성하는 단계;
상기 학습 매트릭스에 기초하여 암묵적인 정보를 나타내는 제2 특징을 생성하는 단계;
상기 컨텐츠들의 시청 순서에 기초하여 상기 컨텐츠들의 연속성에 대한 특징을 나타내는 제3 특징을 생성하는 단계; 및
상기 제1 특징, 상기 제2 특징 및 상기 제3 특징에 기초하여 상기 사용자에게 컨텐츠를 추천하는 단계
를 수행하는,
서버.
server,
a memory in which a program for recommending content to a user is recorded; and
a processor that executes the program
including,
The program is
receiving a list of one or more contents viewed by a user, information of the user, and meta information of each of the contents as inputs;
generating a matrix based on the input;
generating a learning matrix by removing noise values in the matrix;
generating a first feature representing explicit information based on the input and the learning matrix;
generating a second feature representing implicit information based on the learning matrix;
generating a third characteristic indicating a characteristic of the continuity of the contents based on the viewing order of the contents; and
recommending content to the user based on the first characteristic, the second characteristic, and the third characteristic;
to do,
server.
상기 입력에 기초하여 매트릭스를 생성하는 단계는,
사용자가 시청한 하나 이상의 컨텐츠들에 대한 목록, 상기 사용자의 정보 및 상기 컨텐츠들 각각의 메타 정보 각각에 대응하는 숫자 값을 결정하는 단계; 및
상기 결정된 숫자 값을 상기 매트릭스 내의 성분에 설정하는 단계
를 포함하는,
서버.
12. The method of claim 11,
The step of generating a matrix based on the input comprises:
determining a list of one or more contents viewed by a user, a numeric value corresponding to each of the user's information and meta information of each of the contents; and
setting the determined numerical value to a component in the matrix;
containing,
server.
상기 매트릭스 내의 노이즈 값을 제거함으로써 학습 매트릭스를 생성하는 단계는,
상기 매트릭스 내의 성분들 중 숫자 값이 설정되지 않은 타겟 성분에 대한 숫자 값을 예측하는 단계; 및
상기 예측된 숫자 값을 상기 타겟 성분에 설정함으로써 상기 노이즈 값을 제거하는 단계
를 포함하는,
서버.
13. The method of claim 12,
The step of generating a learning matrix by removing noise values in the matrix comprises:
predicting a numeric value for a target component to which a numeric value is not set among components in the matrix; and
removing the noise value by setting the predicted numeric value to the target component;
containing,
server.
상기 입력 및 상기 학습 매트릭스에 기초하여 명시적인 정보를 나타내는 제1 특징을 생성하는 단계는,
상기 입력의 정보들 및 상기 학습 매트릭스 내의 성분들을 합(addition)하거나 내적(inner product)함으로써 상기 제1 특징을 생성하는 단계
를 포함하는,
서버.
12. The method of claim 11,
generating a first feature representing explicit information based on the input and the learning matrix comprises:
generating the first feature by adding or inner producting the information of the input and components in the learning matrix;
containing,
server.
상기 학습 매트릭스에 기초하여 암묵적인 정보를 나타내는 제2 특징을 생성하는 단계는,
상기 학습 매트릭스를 DNN(deep neural network) 레이어에 입력함으로써 상기 제2 특징을 생성하는 단계
를 포함하는,
서버.
12. The method of claim 11,
Generating a second feature representing implicit information based on the learning matrix comprises:
generating the second feature by inputting the learning matrix into a deep neural network (DNN) layer;
containing,
server.
상기 컨텐츠들의 시청 순서에 기초하여 상기 컨텐츠들의 연속성에 대한 특징을 나타내는 제3 특징을 생성하는 단계는,
GRU(Gated Recurrent Unit) 방식에 기초하여 이볼빙(evolving) 레이어에 상기 컨텐츠들을 순서적으로 입력함으로써 제3 특징을 생성하는 단계
를 포함하는,
서버.
12. The method of claim 11,
The step of generating a third characteristic indicating a characteristic of the continuity of the contents based on the viewing order of the contents,
Generating the third feature by sequentially inputting the contents to an evolving layer based on a Gated Recurrent Unit (GRU) scheme
containing,
server.
상기 컨텐츠들은 VOD(video on demand)인,
서버.12. The method of claim 11,
The contents are video on demand (VOD),
server.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200017109A KR102334594B1 (en) | 2020-02-12 | 2020-02-12 | Method and apparatus for recommending content based on content viewing history of user |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200017109A KR102334594B1 (en) | 2020-02-12 | 2020-02-12 | Method and apparatus for recommending content based on content viewing history of user |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210102727A true KR20210102727A (en) | 2021-08-20 |
KR102334594B1 KR102334594B1 (en) | 2021-12-02 |
Family
ID=77466807
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200017109A KR102334594B1 (en) | 2020-02-12 | 2020-02-12 | Method and apparatus for recommending content based on content viewing history of user |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102334594B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102538455B1 (en) * | 2022-09-13 | 2023-05-30 | 세종대학교산학협력단 | Role-model virtual object learning method and role-model virtual object service method based on reinforcement learning |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080100342A (en) * | 2006-02-10 | 2008-11-17 | 스트랜즈, 아이엔씨. | Dynamic interactive entertainment |
KR20190130410A (en) * | 2018-05-14 | 2019-11-22 | 고려대학교 산학협력단 | Apparatus and method for recommending customized content for smart senior |
-
2020
- 2020-02-12 KR KR1020200017109A patent/KR102334594B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080100342A (en) * | 2006-02-10 | 2008-11-17 | 스트랜즈, 아이엔씨. | Dynamic interactive entertainment |
KR20190130410A (en) * | 2018-05-14 | 2019-11-22 | 고려대학교 산학협력단 | Apparatus and method for recommending customized content for smart senior |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102538455B1 (en) * | 2022-09-13 | 2023-05-30 | 세종대학교산학협력단 | Role-model virtual object learning method and role-model virtual object service method based on reinforcement learning |
Also Published As
Publication number | Publication date |
---|---|
KR102334594B1 (en) | 2021-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ebesu et al. | Collaborative memory network for recommendation systems | |
US10706100B2 (en) | Method of and system for recommending media objects | |
CN108431833B (en) | End-to-end depth collaborative filtering | |
US9864951B1 (en) | Randomized latent feature learning | |
WO2017076073A1 (en) | Method and apparatus for search and recommendation | |
US11915129B2 (en) | Method and system for table retrieval using multimodal deep co-learning with helper query-dependent and query-independent relevance labels | |
CN112989146B (en) | Method, apparatus, device, medium and program product for recommending resources to target user | |
WO2019174379A1 (en) | Operation path navigation | |
US10922725B2 (en) | Automatic rule generation for recommendation engine using hybrid machine learning | |
CN112650942A (en) | Product recommendation method, device, computer system and computer-readable storage medium | |
Xia et al. | Modeling consumer buying decision for recommendation based on multi-task deep learning | |
WO2023087914A1 (en) | Method and apparatus for selecting recommended content, and device, storage medium and program product | |
KR102334594B1 (en) | Method and apparatus for recommending content based on content viewing history of user | |
CN115687690A (en) | Video recommendation method and device, electronic equipment and storage medium | |
CN118349897A (en) | Model training method, prediction method and device based on discretization processing | |
Lubos et al. | Llm-generated explanations for recommender systems | |
CN110827078B (en) | Information recommendation method, device, equipment and storage medium | |
CN112000872A (en) | Recommendation method based on user vector, training method of model and training device | |
KR102330059B1 (en) | Method and device for recommending a poster | |
KR20230159165A (en) | Method, computer device, and computer program to recommend similar product based on keyword | |
KR102334596B1 (en) | Method and apparatus for recommending content to user | |
KR20230148523A (en) | Multimedia recommendation method and system preserving the unique characteristics of modality | |
CN112035740A (en) | Project use duration prediction method, device, equipment and storage medium | |
Hu et al. | Generic user behavior: A user behavior similarity-based recommendation method | |
KR102342522B1 (en) | Recommendation apparatus and operating merhod thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |