KR102536499B1 - Method and Apparatus for Deep Learning Based Content Recommendation - Google Patents

Method and Apparatus for Deep Learning Based Content Recommendation Download PDF

Info

Publication number
KR102536499B1
KR102536499B1 KR1020200041460A KR20200041460A KR102536499B1 KR 102536499 B1 KR102536499 B1 KR 102536499B1 KR 1020200041460 A KR1020200041460 A KR 1020200041460A KR 20200041460 A KR20200041460 A KR 20200041460A KR 102536499 B1 KR102536499 B1 KR 102536499B1
Authority
KR
South Korea
Prior art keywords
content
specific
information
customer
classification
Prior art date
Application number
KR1020200041460A
Other languages
Korean (ko)
Other versions
KR20210123803A (en
Inventor
장시영
Original Assignee
주식회사 엘지유플러스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 엘지유플러스 filed Critical 주식회사 엘지유플러스
Priority to KR1020200041460A priority Critical patent/KR102536499B1/en
Publication of KR20210123803A publication Critical patent/KR20210123803A/en
Application granted granted Critical
Publication of KR102536499B1 publication Critical patent/KR102536499B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

심층 학습에 기반한 컨텐츠 추천 방법이 제공된다. 본 방법은, 특정 고객의 고객 정보 및 특정 컨텐츠에 관한 정보를 포함하는 입력 정보를 심층 학습 모듈로 입력함으로써 상기 특정 컨텐츠에 대한 컨텐츠 분류값들을 제공하는 단계 - 상기 심층 학습 모듈은 고객 정보를 포함하는 학습 데이터에 의해 학습된 것임 -, 상기 컨텐츠 분류값들에 기초하여 구매 예상 컨텐츠 가격 범위를 식별하는 단계 - 상기 구매 예상 컨텐츠 가격 범위는 상기 특정 고객이 상기 특정 컨텐츠를 구매할 것으로 예상되는 가격 범위임 -, 및 상기 식별된 구매 예상 컨텐츠 가격 범위에 기초하여 상기 특정 컨텐츠를 상기 특정 고객에게 추천할지 여부를 결정하는 단계를 포함한다.A content recommendation method based on deep learning is provided. The method includes providing content classification values for specific content by inputting input information including customer information of a specific customer and information about specific content into a deep learning module - the deep learning module including customer information It is learned by the learning data -, Step of identifying a content price range for expected purchase based on the content classification values - The expected content price range for purchase is a price range in which the specific customer is expected to purchase the specific content - , and determining whether to recommend the specific content to the specific customer based on the identified price range of the content to be purchased.

Description

심층 학습에 기반한 컨텐츠 추천 방법 및 장치{Method and Apparatus for Deep Learning Based Content Recommendation}Content recommendation method and apparatus based on deep learning {Method and Apparatus for Deep Learning Based Content Recommendation}

본 발명은 심층 학습에 기반한 컨텐츠 추천 기술에 관한 것이다.The present invention relates to a content recommendation technology based on deep learning.

근래에 들어 인터넷(Internet)의 활용이 일상화됨에 따라 홈 네트워크 시대가 도래하였다. 이러한 홈 네트워크를 실현한 구체적인 한 예로서 IPTV(Internet Protocol Television) 서비스를 들 수 있다. IPTV 서비스는 인터넷을 이용하여 제공되는 양방향 TV 서비스로서, 인터넷에 연결된 셋탑박스(set-top box)를 이용하여 컨텐츠 제공 서비스 사업자가 운용하는 컨텐츠 제공 서버와 연결하여 VOD(video on demand) 컨텐츠와 같은 컨텐츠를 다운로드 방식 또는 스트리밍 방식으로 내려 받아 시청할 수 있도록 한 서비스이다. IPTV 서비스는 일반 케이블 방송과는 달리 시청자가 자신이 편리한 시간에 보고 싶은 프로그램을 선별하여 볼 수 있도록 한다는 점에서 시청자에게는 다양한 볼거리와 편의성을 제공하는 한편 사업자에게는 가입자 별로 일반 케이블 방송사가 징수하는 월정액 이상의 매출을 올릴 수 있는 수익 모델이 되고 있다. 따라서 IPTV 서비스 사업자의 입장에서는 시청자에게 다양한 컨텐츠를 다양한 방식으로 마케팅하여 구매를 독려하는 것이 지대한 관심사가 되고 있다.In recent years, as the use of the Internet has become commonplace, the home network era has arrived. As a specific example of realizing such a home network, an IPTV (Internet Protocol Television) service may be given. IPTV service is an interactive TV service provided using the Internet. It uses a set-top box connected to the Internet to connect to a content providing server operated by a content providing service provider to provide video on demand (VOD) content. It is a service that allows you to download and watch content through download or streaming. Unlike general cable broadcasting, IPTV service provides viewers with various things to see and convenience in that it allows viewers to select and watch the programs they want to watch at a convenient time. It is becoming a revenue model that can increase sales. Therefore, from the IPTV service provider's point of view, it is of great interest to encourage purchase by marketing various contents to viewers in various ways.

본 발명의 과제는 고객 개개인의 프로필, 컨텐츠 구매 이력 및 컨텐츠 소비 성향에 관한 정보를 바탕으로 고객 개개인 별로 구매할 가능성이 높은 컨텐츠를 예측하여 추천함으로써 컨텐츠 매출을 제고할 수 있도록 한 자동화된 컨텐츠 추천 기술을 제공하는 것이다.An object of the present invention is to provide an automated content recommendation technology that can increase content sales by predicting and recommending content that is highly likely to be purchased by each customer based on information about each customer's profile, content purchase history, and content consumption propensity. is to provide

본 발명이 해결하고자 하는 과제들은 이상에서 언급한 과제들에 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to the above-mentioned problems, and other problems not mentioned will be clearly understood by those skilled in the art from the following description.

일 측면에서, 심층 학습(Deep Learning)에 기반한 컨텐츠 추천 방법이 제공된다. 본 방법은, 특정 고객의 고객 정보 및 특정 컨텐츠에 관한 정보를 포함하는 입력 정보를 수신하는 단계, 상기 입력 정보를 입력 계층으로 입력하여 임베딩(embedding) 처리를 수행함으로써 입력 벡터들을 출력하는 단계, 상기 입력 벡터들을 심층 신경망(Deep Neural Network: DNN) 계층으로 입력하여 복수의 출력 값을 제공하는 단계, 상기 복수의 출력 값을 소프트맥스 분류 계층(Softmax Classification Layer)으로 입력하여 상기 특정 컨텐츠에 대한 컨텐츠 분류값들을 제공하고, 상기 컨텐츠 분류값들에 기초하여 구매 예상 컨텐츠 가격 범위를 식별하는 단계 - 상기 구매 예상 컨텐츠 가격 범위는 상기 특정 고객이 상기 특정 컨텐츠를 구매할 것으로 예상되는 가격 범위임 -, 및 상기 식별된 구매 예상 컨텐츠 가격 범위를 나타내는 정보를 필터 계층으로 입력하여 상기 특정 컨텐츠를 상기 특정 고객에게 추천할지 여부를 결정하는 단계를 포함할 수 있다.In one aspect, a content recommendation method based on deep learning is provided. The method includes the steps of: receiving input information including customer information of a specific customer and information about specific content; outputting input vectors by inputting the input information into an input layer and performing an embedding process; Providing a plurality of output values by inputting input vectors to a deep neural network (DNN) layer, and classifying content for the specific content by inputting the plurality of output values to a Softmax Classification Layer providing values, and identifying a content price range expected to be purchased based on the content classification values, wherein the expected content price range is a price range in which the specific customer is expected to purchase the specific content, and the identification and determining whether to recommend the specific content to the specific customer by inputting information representing a price range of the content expected to be purchased into a filter layer.

일 실시예에서, 상기 특정 고객의 고객 정보는 상기 특정 고객의 고객 ID(Identification), 상기 특정 고객의 프로필 정보, 상기 특정 고객이 구매한 적어도 하나의 컨텐츠에 관한 정보 및 상기 특정 고객의 가격 민감도 정보를 포함한다.In one embodiment, the customer information of the specific customer includes a customer ID (Identification) of the specific customer, profile information of the specific customer, information on at least one content purchased by the specific customer, and price sensitivity information of the specific customer. includes

일 실시예에서, 상기 특정 고객의 프로필 정보는 상기 특정 고객의 나이에 관한 정보 및 상기 특정 고객의 성별에 관한 정보를 포함한다.In one embodiment, the profile information of the specific customer includes information about the age of the specific customer and information about the gender of the specific customer.

일 실시예에서, 상기 특정 고객이 구매한 적어도 하나의 컨텐츠에 관한 정보는 상기 특정 고객이 구매한 적어도 하나의 컨텐츠의 가격 정보를 포함한다.In one embodiment, the information about the at least one content purchased by the specific customer includes price information of the at least one content purchased by the specific customer.

일 실시예에서, 상기 특정 컨텐츠에 관한 정보는 상기 특정 컨텐츠의 컨텐츠 ID를 포함한다.In one embodiment, the information about the specific content includes a content ID of the specific content.

일 실시예에서, 상기 입력 정보를 입력 계층으로 입력하여 임베딩(embedding) 처리를 수행함으로써 입력 벡터들을 출력하는 단계는, 상기 특정 고객의 고객 ID, 상기 특정 고객의 프로필 정보, 상기 특정 고객이 구매한 적어도 하나의 컨텐츠에 관한 정보 및 상기 특정 고객의 가격 민감도 정보에 임베딩 함수들(embedding functions)을 각각 적용하는 단계를 포함한다.In one embodiment, the step of outputting the input vectors by inputting the input information into an input layer and performing an embedding process may include: a customer ID of the specific customer, profile information of the specific customer, purchase price of the specific customer and applying embedding functions to information about at least one piece of content and price sensitivity information of the specific customer, respectively.

일 실시예에서, 상기 입력 정보를 입력 계층으로 입력하여 임베딩(embedding) 처리를 수행함으로써 입력 벡터들을 출력하는 단계는, 상기 특정 컨텐츠의 컨텐츠 ID에 임베딩 함수를 적용하는 단계를 포함한다.In an embodiment, the step of outputting input vectors by inputting the input information to an input layer and performing an embedding process includes applying an embedding function to a content ID of the specific content.

일 실시예에서, 상기 특정 컨텐츠는 VOD(video on demand) 컨텐츠이다.In one embodiment, the specific content is video on demand (VOD) content.

일 실시예에서, 상기 방법은, 상기 특정 고객의 고객 정보 및 특정 컨텐츠에 관한 정보를 포함하는 입력 정보를 수신하는 단계 이전에, 상기 입력 계층, 상기 심층 신경망 계층 및 상기 소프트맥스 분류 계층을 학습 데이터로 학습시키는 단계를 더 포함한다.In one embodiment, the method, prior to the step of receiving input information including customer information of the specific customer and information about specific content, the input layer, the deep neural network layer, and the softmax classification layer as learning data Further comprising the step of learning as.

일 실시예에서, 상기 학습 데이터는 고객 정보를 포함하고, 상기 고객 정보는 고객이 구매한 컨텐츠의 가격 및 ID를 포함하고, 상기 입력 계층, 상기 심층 신경망 계층 및 상기 소프트맥스 분류 계층은 복수의 입력 노드 및 복수의 출력 노드를 포함하고, 상기 입력 노드들과 상기 출력 노드들 간에는 가중치들이 설정되어 있으며, 상기 소프트맥스 분류 계층은 복수의 컨텐츠 분류 노드를 포함하고, 상기 복수의 컨텐츠 분류 노드는 각각 상기 컨텐츠 분류값들을 제공하고, 상기 입력 계층, 상기 심층 신경망 계층 및 상기 소프트맥스 분류 계층을 학습 데이터로 학습시키는 단계는, 상기 고객이 구매한 컨텐츠의 가격 및 ID를 상기 입력 계층으로 입력시켰을 때 상기 소프트맥스 분류 계층의 컨텐츠 분류 노드들 중 가장 큰 컨텐츠 분류값을 제공하는 컨텐츠 분류 노드가 상기 고객이 구매한 컨텐츠의 가격이 속하는 컨텐츠 가격 범위에 대응하게 되도록 상기 가중치들을 변경하는 단계를 포함한다.In one embodiment, the learning data includes customer information, the customer information includes a price and an ID of content purchased by the customer, and the input layer, the deep neural network layer, and the softmax classification layer include a plurality of inputs. node and a plurality of output nodes, weights are set between the input nodes and the output nodes, the softmax classification layer includes a plurality of content classification nodes, and each of the plurality of content classification nodes Providing content classification values and learning the input layer, the deep neural network layer, and the softmax classification layer as learning data may include, when the price and ID of the content purchased by the customer are input to the input layer, the softmax layer. and changing the weights so that a content classification node providing the largest content classification value among content classification nodes of the max classification layer corresponds to a content price range to which a price of the content purchased by the customer belongs.

일 실시예에서, 상기 복수의 출력 값을 소프트맥스 분류 계층(Softmax Classification Layer)으로 입력하여 상기 특정 컨텐츠에 대한 컨텐츠 분류값들을 제공하고, 상기 컨텐츠 분류값들에 기초하여 구매 예상 컨텐츠 가격 범위를 식별하는 단계 - 상기 구매 예상 컨텐츠 가격 범위는 상기 특정 고객이 상기 특정 컨텐츠를 구매할 것으로 예상되는 가격 범위임 - 는, 상기 복수의 출력값에 소프트맥스 함수(softmax function)를 적용해서 상기 컨텐츠 분류값들을 제공하는 단계를 포함한다.In one embodiment, content classification values for the specific content are provided by inputting the plurality of output values to a Softmax Classification Layer, and based on the content classification values, an expected content price range is identified. The step of doing - the content price range expected to be purchased is a price range in which the specific customer is expected to purchase the specific content - provides the content classification values by applying a softmax function to the plurality of output values Include steps.

일 실시예에서, 상기 소프트맥스 분류 계층은 복수의 컨텐츠 분류 노드를 포함하고, 상기 복수의 컨텐츠 분류 노드는 각각 상기 컨텐츠 분류값들을 제공하고, 상기 복수의 출력 값을 소프트맥스 분류 계층(Softmax Classification Layer)으로 입력하여 상기 특정 컨텐츠에 대한 컨텐츠 분류값들을 제공하고, 상기 컨텐츠 분류값들에 기초하여 구매 예상 컨텐츠 가격 범위를 식별하는 단계 - 상기 구매 예상 컨텐츠 가격 범위는 상기 특정 고객이 상기 특정 컨텐츠를 구매할 것으로 예상되는 가격 범위임 - 는, 상기 컨텐츠 분류값들 중 가장 큰 컨텐츠 분류값을 출력하는 컨텐츠 분류 노드를 판별하고 상기 판별된 컨텐츠 분류 노드에 대응되는 컨텐츠 가격 범위를 상기 구매 예상 컨텐츠 가격 범위로 결정하는 단계를 포함한다.In one embodiment, the softmax classification layer includes a plurality of content classification nodes, each of the plurality of content classification nodes provides the content classification values, and the plurality of output values is a Softmax classification layer ) to provide content classification values for the specific content, and identifying a content price range expected to be purchased based on the content classification values - The expected purchase content price range is the content classification value for which the specific customer will purchase the specific content. is the expected price range - determines the content classification node that outputs the largest content classification value among the content classification values, and determines the content price range corresponding to the determined content classification node as the purchase expected content price range It includes steps to

일 실시예에서, 상기 식별된 구매 예상 컨텐츠 가격 범위를 나타내는 정보를 필터 계층으로 입력하여 상기 특정 컨텐츠를 상기 특정 고객에게 추천할지 여부를 결정하는 단계는, 상기 특정 컨텐츠의 현재 가격이 상기 식별된 구매 예상 컨텐츠 가격 범위에 속하는 경우 상기 특정 컨텐츠를 상기 특정 고객에게 추천하는 것으로 결정하는 단계를 포함한다.In one embodiment, the step of determining whether to recommend the specific content to the specific customer by inputting information representing the price range of the identified content to be purchased into a filter layer, wherein the current price of the specific content determines the purchase price of the identified content. and determining that the specific content is to be recommended to the specific customer when it falls within the expected content price range.

다른 측면에서, 심층 학습에 기반한 컨텐츠 추천 방법이 제공된다. 본 방법은, 특정 고객의 고객 정보 및 특정 컨텐츠에 관한 정보를 포함하는 입력 정보를 심층 학습 모듈로 입력함으로써 상기 특정 컨텐츠에 대한 컨텐츠 분류값들을 제공하는 단계 - 상기 심층 학습 모듈은 고객 정보를 포함하는 학습 데이터에 의해 학습된 것임 -, 상기 컨텐츠 분류값들에 기초하여 구매 예상 컨텐츠 가격 범위를 식별하는 단계 - 상기 구매 예상 컨텐츠 가격 범위는 상기 특정 고객이 상기 특정 컨텐츠를 구매할 것으로 예상되는 가격 범위임 -, 및 상기 식별된 구매 예상 컨텐츠 가격 범위에 기초하여 상기 특정 컨텐츠를 상기 특정 고객에게 추천할지 여부를 결정하는 단계를 포함할 수 있다.In another aspect, a content recommendation method based on deep learning is provided. The method includes providing content classification values for specific content by inputting input information including customer information of a specific customer and information about specific content into a deep learning module - the deep learning module including customer information It is learned by the learning data -, Step of identifying a content price range for expected purchase based on the content classification values - The expected content price range for purchase is a price range in which the specific customer is expected to purchase the specific content - , and determining whether or not to recommend the specific content to the specific customer based on the identified price range of the content to be purchased.

일 실시예에서, 상기 특정 고객의 고객 정보는 상기 특정 고객의 고객 ID, 상기 특정 고객의 프로필 정보, 상기 특정 고객이 구매한 적어도 하나의 컨텐츠에 관한 정보 및 상기 특정 고객의 가격 민감도 정보를 포함한다.In one embodiment, the customer information of the specific customer includes a customer ID of the specific customer, profile information of the specific customer, information about at least one content purchased by the specific customer, and price sensitivity information of the specific customer. .

일 실시예에서, 상기 특정 컨텐츠에 관한 정보는 상기 특정 컨텐츠의 컨텐츠 ID를 포함한다.In one embodiment, the information about the specific content includes a content ID of the specific content.

일 실시예에서, 상기 심층 학습 모듈은 입력 계층, 심층 신경망 계층 및 소프트맥스 분류 계층을 포함한다.In one embodiment, the deep learning module includes an input layer, a deep neural network layer and a softmax classification layer.

일 실시예에서, 상기 특정 고객의 고객 정보 및 특정 컨텐츠에 관한 정보를 포함하는 입력 정보를 심층 학습 모듈로 입력함으로써 상기 특정 컨텐츠에 대한 컨텐츠 분류값들을 제공하는 단계 - 상기 심층 학습 모듈은 고객 정보를 포함하는 학습 데이터에 의해 학습된 것임 - 는, 상기 입력 정보를 상기 입력 계층에서 임베딩 처리하여 입력 벡터들을 제공하는 단계를 포함한다.In one embodiment, providing content classification values for the specific content by inputting input information including customer information and information about the specific content of the specific customer into a deep learning module - the deep learning module provides customer information Is learned by the learning data containing - includes providing input vectors by embedding the input information in the input layer.

일 실시예에서, 상기 특정 고객의 고객 정보 및 특정 컨텐츠에 관한 정보를 포함하는 입력 정보를 심층 학습 모듈로 입력함으로써 상기 특정 컨텐츠에 대한 컨텐츠 분류값들을 제공하는 단계 - 상기 심층 학습 모듈은 고객 정보를 포함하는 학습 데이터에 의해 학습된 것임 - 는, 상기 입력 벡터들을 상기 심층 신경망 계층에서 처리하여 복수의 출력 값을 제공하는 단계, 및 상기 복수의 출력 값을 소프트맥스 분류 계층에서 처리하여 상기 컨텐츠 분류값들을 제공하는 단계를 포함한다.In one embodiment, providing content classification values for the specific content by inputting input information including customer information and information about the specific content of the specific customer into a deep learning module - the deep learning module provides customer information is learned by the learning data including - is the step of processing the input vectors in the deep neural network layer to provide a plurality of output values, and processing the plurality of output values in the softmax classification layer to provide the content classification value It includes providing them.

일 실시예에서, 상기 소프트맥스 분류 계층은 복수의 컨텐츠 분류 노드를 포함하고, 상기 복수의 컨텐츠 분류 노드는 각각 상기 컨텐츠 분류값들을 제공하고, 상기 컨텐츠 분류값들에 기초하여 구매 예상 컨텐츠 가격 범위를 식별하는 단계 - 상기 구매 예상 컨텐츠 가격 범위는 상기 특정 고객이 상기 특정 컨텐츠를 구매할 것으로 예상되는 가격 범위임 - 는, 상기 컨텐츠 분류값들 중 가장 큰 컨텐츠 분류값을 출력하는 컨텐츠 분류 노드를 판별하고 상기 판별된 컨텐츠 분류 노드에 대응되는 컨텐츠 가격 범위를 상기 구매 예상 컨텐츠 가격 범위로 결정하는 단계를 포함한다.In one embodiment, the Softmax classification layer includes a plurality of content classification nodes, each of the plurality of content classification nodes provides the content classification values, and a purchase expected content price range is determined based on the content classification values. The step of identifying - the price range of the content to be purchased is the price range in which the specific customer is expected to purchase the specific content - determines a content classification node outputting the largest content classification value among the content classification values, and and determining a content price range corresponding to the determined content classification node as the purchase expected content price range.

일 실시예에서, 상기 식별된 구매 예상 컨텐츠 가격 범위에 기초하여 상기 특정 컨텐츠를 상기 특정 고객에게 추천할지 여부를 결정하는 단계는, 상기 특정 컨텐츠의 현재 가격이 상기 식별된 구매 예상 컨텐츠 가격 범위에 속하는 경우 상기 특정 컨텐츠를 상기 특정 고객에게 추천하는 것으로 결정하는 단계를 포함한다.In one embodiment, the step of determining whether to recommend the specific content to the specific customer based on the identified price range of the content to be purchased includes the current price of the specific content falling within the identified price range of the content to be purchased. In this case, determining that the specific content is to be recommended to the specific customer.

또 다른 측면에서, 심층 학습에 기반한 컨텐츠 추천을 위한 장치가 제공된다. 본 장치는, 고객 정보 및 컨텐츠에 관한 정보를 저장하는 데이터베이스부, 및 입력 계층, 심층 신경망 계층 및 소프트맥스 분류 계층을 포함하는 심층 학습 모듈을 구현하며, 상기 데이터베이스부로부터 특정 고객의 고객 정보 및 특정 컨텐츠에 관한 정보를 검색하여 상기 심층 학습 모듈로 입력되게 하도록 구성된 프로세싱 엔진을 포함할 수 있다. 상기 입력 계층은 상기 특정 고객의 고객 정보 및 상기 특정 컨텐츠에 관한 정보를 임베딩 처리하여 입력 벡터들을 출력하도록 구성되고, 상기 심층 신경망 계층은 상기 입력 벡터들을 처리하여 복수의 출력 값을 제공하도록 구성되고, 상기 소프트맥스 분류 계층은 상기 복수의 출력 값에 기초하여 상기 특정 컨텐츠에 대한 컨텐츠 분류값들을 제공하고, 상기 컨텐츠 분류값들에 기초하여 구매 예상 컨텐츠 가격 범위를 식별하도록 구성되고 - 상기 구매 예상 컨텐츠 가격 범위는 상기 특정 고객이 상기 특정 컨텐츠를 구매할 것으로 예상되는 가격 범위임 -, 상기 프로세싱 엔진은 상기 식별된 구매 예상 컨텐츠 가격 범위에 기초하여 상기 특정 컨텐츠를 상기 특정 고객에게 추천할지 여부를 결정하도록 더 구성될 수 있다.In another aspect, an apparatus for content recommendation based on deep learning is provided. The apparatus implements a deep learning module including a database unit for storing customer information and information about content, and an input layer, a deep neural network layer, and a softmax classification layer, and customer information and specific customer information of a specific customer are obtained from the database unit. and a processing engine configured to retrieve information about content and input it into the deep learning module. The input layer is configured to output input vectors by embedding customer information of the specific customer and information about the specific content, and the deep neural network layer is configured to process the input vectors and provide a plurality of output values, The softmax classification layer is configured to provide content classification values for the specific content based on the plurality of output values, and to identify a content price range expected to be purchased based on the content classification values - the expected purchase content price range is a price range at which the particular customer is expected to purchase the particular content, the processing engine being further configured to determine whether to recommend the particular content to the particular customer based on the identified purchase expected content price range. It can be.

일 실시예에서, 상기 특정 고객의 고객 정보는 상기 특정 고객의 고객 ID, 상기 특정 고객의 프로필 정보, 상기 특정 고객이 구매한 적어도 하나의 컨텐츠에 관한 정보 및 상기 특정 고객의 가격 민감도 정보를 포함한다.In one embodiment, the customer information of the specific customer includes a customer ID of the specific customer, profile information of the specific customer, information about at least one content purchased by the specific customer, and price sensitivity information of the specific customer. .

일 실시예에서, 상기 특정 고객의 프로필 정보는 상기 특정 고객의 나이에 관한 정보 및 상기 특정 고객의 성별에 관한 정보를 포함한다.In one embodiment, the profile information of the specific customer includes information about the age of the specific customer and information about the gender of the specific customer.

일 실시예에서, 상기 특정 고객이 구매한 적어도 하나의 컨텐츠에 관한 정보는 상기 특정 고객이 구매한 적어도 하나의 컨텐츠의 가격 정보를 포함한다.In one embodiment, the information about the at least one content purchased by the specific customer includes price information of the at least one content purchased by the specific customer.

일 실시예에서, 상기 특정 컨텐츠에 관한 정보는 상기 특정 컨텐츠의 컨텐츠 ID를 포함한다.In one embodiment, the information about the specific content includes a content ID of the specific content.

일 실시예에서, 상기 입력 계층은, 상기 특정 고객의 고객 ID, 상기 특정 고객의 프로필 정보, 상기 특정 고객이 구매한 적어도 하나의 컨텐츠에 관한 정보 및 상기 특정 고객의 가격 민감도 정보에 임베딩 함수들을 각각 적용하도록 더 구성된다.In one embodiment, the input layer, the customer ID of the specific customer, profile information of the specific customer, information on at least one content purchased by the specific customer, and price sensitivity information of the specific customer embedding functions, respectively. It is further configured to apply

일 실시예에서, 상기 입력 계층은, 상기 특정 컨텐츠의 컨텐츠 ID에 임베딩 함수를 적용하도록 더 구성된다.In one embodiment, the input layer is further configured to apply an embedding function to the content ID of the specific content.

일 실시예에서, 상기 프로세싱 엔진은 상기 입력 계층, 상기 심층 신경망 계층 및 상기 소프트맥스 분류 계층을 학습 데이터로 학습시키도록 더 구성된다.In an embodiment, the processing engine is further configured to train the input layer, the deep neural network layer and the softmax classification layer with training data.

일 실시예에서, 상기 학습 데이터는 고객 정보를 포함하고, 상기 고객 정보는 고객이 구매한 컨텐츠의 가격 및 ID를 포함하고, 상기 입력 계층, 상기 심층 신경망 계층 및 상기 소프트맥스 분류 계층은 복수의 입력 노드 및 복수의 출력 노드를 포함하고, 상기 입력 노드들과 상기 출력 노드들 간에는 가중치들이 설정되어 있으며, 상기 소프트맥스 분류 계층은 복수의 컨텐츠 분류 노드를 포함하고, 상기 복수의 컨텐츠 분류 노드는 각각 상기 컨텐츠 분류값들을 제공하고, 상기 프로세싱 엔진은, 상기 고객이 구매한 컨텐츠의 가격 및 ID를 상기 입력 계층으로 입력시켰을 때 상기 소프트맥스 분류 계층의 컨텐츠 분류 노드들 중 가장 큰 컨텐츠 분류값을 제공하는 컨텐츠 분류 노드가 상기 고객이 구매한 컨텐츠의 가격이 속하는 컨텐츠 가격 범위에 대응하게 되도록 상기 가중치들을 변경하도록 더 구성된다.In one embodiment, the learning data includes customer information, the customer information includes a price and an ID of content purchased by the customer, and the input layer, the deep neural network layer, and the softmax classification layer include a plurality of inputs. node and a plurality of output nodes, weights are set between the input nodes and the output nodes, the softmax classification layer includes a plurality of content classification nodes, and each of the plurality of content classification nodes Content classification values are provided, and the processing engine provides the largest content classification value among content classification nodes of the softmax classification layer when the price and ID of the content purchased by the customer are input to the input layer. The classification node is further configured to change the weights so that the price of the content purchased by the customer corresponds to a content price range to which it belongs.

일 실시예에서, 상기 소프트맥스 분류 계층은 상기 복수의 출력값에 소프트맥스 함수를 적용해서 상기 컨텐츠 분류값들을 제공하도록 더 구성된다.In one embodiment, the softmax classification layer is further configured to provide the content classification values by applying a softmax function to the plurality of output values.

일 실시예에서, 상기 소프트맥스 분류 계층은 복수의 컨텐츠 분류 노드를 포함하고, 상기 복수의 컨텐츠 분류 노드는 각각 상기 컨텐츠 분류값들을 제공하고, 상기 소프트맥스 분류 계층은, 상기 컨텐츠 분류값들 중 가장 큰 컨텐츠 분류값을 출력하는 컨텐츠 분류 노드를 판별하고 상기 판별된 컨텐츠 분류 노드에 대응되는 컨텐츠 가격 범위를 상기 구매 예상 컨텐츠 가격 범위로 결정하도록 더 구성된다.In one embodiment, the softmax classification layer includes a plurality of content classification nodes, each of the plurality of content classification nodes provides the content classification values, and the softmax classification layer has the most content classification nodes among the content classification values. It is further configured to determine a content classification node that outputs a large content classification value, and determine a content price range corresponding to the determined content classification node as the purchase expected content price range.

일 실시예에서, 상기 프로세싱 엔진은, 상기 특정 컨텐츠의 현재 가격이 상기 식별된 구매 예상 컨텐츠 가격 범위에 속하는 경우 상기 특정 컨텐츠를 상기 특정 고객에게 추천하도록 더 구성된다.In one embodiment, the processing engine is further configured to recommend the specific content to the specific customer if the current price of the specific content falls within the identified purchase expected content price range.

또 다른 측면에서, 프로그램을 기록한 컴퓨터 판독가능 기록매체가 제공된다. 여기서 상기 프로그램은 명령어들을 포함하고, 상기 명령어들은 컴퓨터에 의해 실행될 때 상기 방법을 수행한다.In another aspect, a computer readable recording medium recording a program is provided. Here, the program includes instructions, which when executed by a computer perform the method.

본 발명의 실시예들에 따르면, 고객 개개인의 프로필, 컨텐츠 구매 이력 및 컨텐츠 소비 성향에 관한 정보를 바탕으로 고객 개개인 별로 구매할 가능성이 높은 컨텐츠를 예측하여 추천함으로써 컨텐츠 매출을 제고할 수 있는 기술적 효과가 있다.According to the embodiments of the present invention, there is a technical effect of increasing content sales by predicting and recommending content that is highly likely to be purchased by each customer based on information about each customer's profile, content purchase history, and content consumption propensity. there is.

도 1은 심층 학습(Deep Learning)에 기반한 컨텐츠 추천을 위한 장치의 블록도의 일 실시예를 도시한 도면이다.
도 2는 심층 학습에 기반한 컨텐츠 추천 방법을 설명하기 위한 흐름도의 일 실시예를 도시한 도면이다.
1 is a diagram illustrating an embodiment of a block diagram of a device for content recommendation based on deep learning.
2 is a diagram illustrating an embodiment of a flowchart for explaining a content recommendation method based on deep learning.

본 발명의 이점들과 특징들 그리고 이들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해 질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 본 실시예들은 단지 본 발명의 개시가 완전하도록 하며 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려 주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.The advantages and features of the present invention and how to achieve them will become clear with reference to the detailed description of the following embodiments in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but will be implemented in a variety of different forms, and these embodiments merely make the disclosure of the present invention complete, and those of ordinary skill in the art to which the present invention pertains. It is provided to fully inform the person of the scope of the invention, and the invention is defined only by the scope of the claims.

본 명세서에서 사용되는 용어는 단지 특정한 실시예를 설명하기 위해 사용되는 것으로 본 발명을 한정하려는 의도에서 사용된 것이 아니다. 예를 들어, 단수로 표현된 구성 요소는 문맥상 명백하게 단수만을 의미하지 않는다면 복수의 구성 요소를 포함하는 개념으로 이해되어야 한다. 또한, 본 발명의 명세서에서, '포함하다' 또는 '가지다' 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것일 뿐이고, 이러한 용어의 사용에 의해 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성이 배제되는 것은 아니다. 또한, 본 명세서에 기재된 실시예에 있어서 '모듈' 혹은 '부'는 적어도 하나의 기능이나 동작을 수행하는 기능적 부분을 의미할 수 있다.Terms used in this specification are only used to describe specific embodiments and are not intended to limit the present invention. For example, a component expressed in the singular number should be understood as a concept including a plurality of components unless the context clearly means only the singular number. In addition, in the specification of the present invention, terms such as 'include' or 'have' are only intended to designate that the features, numbers, steps, operations, components, parts, or combinations thereof described in the specification exist, and these Use of the term does not exclude the possibility of the presence or addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof. Also, in the embodiments described in this specification, 'module' or 'unit' may mean a functional part that performs at least one function or operation.

덧붙여, 다르게 정의되지 않는 한 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미가 있는 것으로 해석되어야 하며, 본 발명의 명세서에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.In addition, unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person of ordinary skill in the art to which the present invention 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 interpreted in an ideal or excessively formal meaning unless explicitly defined in the specification of the present invention. It doesn't work.

이하, 첨부된 도면을 참조하여 본 발명의 실시예를 보다 상세히 설명한다. 다만, 이하의 설명에서는 본 발명의 요지를 불필요하게 흐릴 우려가 있는 경우, 널리 알려진 기능이나 구성에 관한 구체적 설명은 생략하기로 한다.Hereinafter, embodiments of the present invention will be described in more detail with reference to the accompanying drawings. However, in the following description, if there is a risk of unnecessarily obscuring the gist of the present invention, detailed descriptions of well-known functions or configurations will be omitted.

도 1은 심층 학습(Deep Learning)에 기반한 컨텐츠 추천을 위한 장치의 블록도의 일 실시예를 도시한 도면이다.1 is a diagram illustrating an embodiment of a block diagram of a device for content recommendation based on deep learning.

도 1의 컨텐츠 추천을 위한 장치(100)는 IPTV 서비스 사업자와 같은 컨텐츠 제공 서비스 사업자가 운용하는, 하나 이상의 위치에 설치되는 하나 이상의 서버 컴퓨터에서 실행되는 컴퓨터 프로그램들로서 구현되는 시스템의 일 예일 수 있다. 도 1에 도시된 바와 같이, 장치(100)는 데이터베이스부(110)를 포함할 수 있다. 데이터베이스부(110)는 고객 정보를 저장할 수 있다. 고객 정보는 복수의 고객의 ID들(Identifications), 복수의 고객의 각각의 프로필 정보, 복수의 고객의 각각이 구매한 적어도 하나의 컨텐츠에 관한 정보 및 복수의 고객의 각각의 가격 민감도 정보를 포함할 수 있다. 복수의 고객의 각각의 프로필 정보는 해당 고객의 나이에 관한 정보 및 해당 고객의 성별에 관한 정보를 포함할 수 있다. 복수의 고객의 각각이 구매한 적어도 하나의 컨텐츠에 관한 정보는 해당 고객이 구매한 컨텐츠들을 지정하는 정보와 해당 컨텐츠들의 가격을 나타내는 정보를 포함할 수 있다. 예컨대, 고객 A가 컨텐츠 7, 컨텐츠 21 및 컨텐츠 102를 각각 2,000원, 7,000원 및 4,000원에 구매하여 시청한 이력이 있다면, 고객 A가 구매한 적어도 하나의 컨텐츠에 관한 정보는 컨텐츠 7, 컨텐츠 21 및 컨텐츠 102를 지정하는 정보와 이들의 구매 가격인 2,000원, 7,000원 및 4,000원을 나타내는 정보를 포함할 수 있다. 복수의 고객의 각각의 가격 민감도 정보는 해당 고객의 컨텐츠 소비 성향을 나타내는 정보로서, 예컨대 무료 컨텐츠만 시청함을 나타내는 정보, 2천원 이하 가격의 컨텐츠만 시청함을 나타내는 정보 등을 포함할 수 있다. 이상으로 설명한 고객 정보는 고객측에 설치된 셋탑박스(Set-top Box)와 인터넷(Internet)과 같은 통신망을 통해 통신하면서 고객의 요청을 수신하고 이에 응답하여 컨텐츠를 제공하는 서비스 제공 서버로부터 다양한 방식으로 획득하는 것이 가능하나, 고객 정보를 획득하는 방식이 이에 제한되는 것이 아님을 인식하여야 한다. 데이터베이스부(110)는, 예컨대 VOD(video on demand) 컨텐츠와 같은 컨텐츠에 관한 정보를 더 저장할 수 있다. 컨텐츠에 관한 정보는 컨텐츠 제공 서비스 사업자가 제공하고 있는 컨텐츠들의 타이틀에 관한 정보와 해당 컨텐츠들의 ID들을 포함할 수 있다. 컨텐츠에 관한 정보는 컨텐츠 제공 서비스 사업자가 제공하고 있는 컨텐츠들의 현재 가격 정보를 더 포함할 수 있다.The apparatus 100 for recommending content in FIG. 1 may be an example of a system implemented as computer programs executed in one or more server computers installed in one or more locations operated by a content providing service provider such as an IPTV service provider. As shown in FIG. 1 , the device 100 may include a database unit 110 . The database unit 110 may store customer information. The customer information may include IDs of a plurality of customers, profile information of each of the plurality of customers, information on at least one content purchased by each of the plurality of customers, and price sensitivity information of each of the plurality of customers. can Each of the profile information of the plurality of customers may include information about the age of the corresponding customer and information about the gender of the corresponding customer. The information on at least one piece of content purchased by each of the plurality of customers may include information specifying the content purchased by the corresponding customer and information indicating a price of the corresponding content. For example, if customer A has a history of purchasing and viewing content 7, content 21, and content 102 at 2,000 won, 7,000 won, and 4,000 won, respectively, information about at least one content purchased by customer A is content 7 and content 21 and information designating the content 102 and information indicating their purchase prices of 2,000 won, 7,000 won, and 4,000 won. The price sensitivity information of each of the plurality of customers is information indicating the content consumption propensity of the corresponding customer, and may include, for example, information indicating that only free content is viewed, information indicating that only content priced at 2,000 won or less is viewed, and the like. The customer information described above is transmitted in various ways from the service providing server that receives customer requests and provides contents in response to communication through communication networks such as the Internet and the set-top box installed on the customer side. Acquisition is possible, but it should be recognized that the method of obtaining customer information is not limited thereto. The database unit 110 may further store information about content, such as, for example, video on demand (VOD) content. Information on content may include information on titles of content provided by a content providing service provider and IDs of corresponding content. Information on content may further include current price information of content provided by a content providing service provider.

데이터베이스부(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)의 구현 형태가 이에 한정되는 것이 아님을 알 수 있을 것이다.The database unit 110 is a flash memory type, a hard disk type, a multimedia card (MMC), a card type of memory (eg, SD (Secure Digital) card or XD (eXtream Digital) card, etc.), 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) ), a magnetic memory, a magnetic disk, and an optical disk, but those skilled in the art will recognize that the implementation form of the database unit 110 is not limited thereto.

장치(100)는 데이터베이스부(110)에 통신가능한 방식으로 결합된 프로세싱 엔진(processing engine, 120)을 더 포함할 수 있다. 프로세싱 엔진(120)은 입력 계층(Input Layer, 133), 심층 신경망(Deep Neural Network: DNN) 계층(135) 및 소프트맥스 분류 계층(Softmax Classification Layer, 137)을 포함하는 심층 학습 모듈(Deep Learning Module, 130)을 구현하도록 설계될 수 있다. 심층 학습 모듈(130)은 감독 학습(supervised learning), 준감독 학습(semi-supervised learning) 및 무감독 학습(unsupervised learning) 중 어느 하나의 방식으로 기계 학습의 일종인 심층 학습을 수행하도록 구현될 수 있다. 프로세싱 엔진(120)은 데이터베이스부(110)로부터 특정 고객의 고객 정보 및 특정 컨텐츠에 관한 정보를 검색하여 심층 학습 모듈(130)로 입력되게 하도록 작동될 수 있다. 특정 고객의 고객 정보는 해당 고객의 ID, 해당 고객의 나이 및 성별에 관한 정보, 해당 고객의 가격 민감도 정보 및 해당 고객이 구매한 적어도 하나의 컨텐츠에 관한 정보를 포함할 수 있다. 전술한 예에서와 같이, 예컨대 특정 고객이 컨텐츠 7, 컨텐츠 21 및 컨텐츠 102를 각각 2,000원, 7,000원 및 4,000원에 구매하여 시청한 이력이 있다면, 특정 고객이 구매한 적어도 하나의 컨텐츠에 관한 정보는 컨텐츠 7, 컨텐츠 21 및 컨텐츠 102를 지정하는 정보와 이들의 구매 가격인 2,000원, 7,000원 및 4,000원을 나타내는 정보를 포함할 수 있다. 특정 컨텐츠에 관한 정보는 특정 고객이 앞으로 구매하여 시청할 가능성이 있는지를 예측해 보고자 하는 대상이 되는 컨텐츠에 관한 정보로서, 해당 컨텐츠의 ID를 포함할 수 있다.Apparatus 100 may further include a processing engine 120 communicatively coupled to database unit 110 . The processing engine 120 is a deep learning module including an input layer (Input Layer, 133), a deep neural network (DNN) layer 135 and a softmax classification layer (Softmax Classification Layer, 137) , 130) can be designed to implement. The deep learning module 130 may be implemented to perform deep learning, a type of machine learning, in any one of supervised learning, semi-supervised learning, and unsupervised learning. there is. The processing engine 120 may be operated to retrieve customer information of a specific customer and information about specific content from the database unit 110 and to input them to the deep learning module 130 . Customer information of a specific customer may include an ID of the corresponding customer, information about age and gender of the corresponding customer, information about price sensitivity of the corresponding customer, and information about at least one piece of content purchased by the corresponding customer. As in the above example, if, for example, a specific customer has a history of purchasing and viewing content 7, content 21, and content 102 at 2,000 won, 7,000 won, and 4,000 won, respectively, information about at least one content purchased by a specific customer may include information designating content 7, content 21, and content 102, and information indicating purchase prices of 2,000 won, 7,000 won, and 4,000 won. Information about specific content is information about content that is a target for which a specific customer is likely to purchase and view in the future, and may include an ID of the corresponding content.

심층 학습 모듈(130)의 입력 계층(133)은 특정 고객의 고객 정보 및 특정 컨텐츠에 관한 정보를 포함하는 입력 정보를 임베딩(embedding) 처리하여 입력 벡터들을 출력하도록 구성될 수 있다. 일 실시예에서, 입력 계층(130)은 입력 정보에 임베딩 함수들(embedding functions)을 적용하도록 구성될 수 있다. 일 실시예에서, 입력 정보에 임베딩 함수들을 적용하는 동작은 입력 정보를 인코딩하는 동작을 수반할 수 있다. 예컨대, 무료 컨텐츠만 시청함을 나타내는 정보를 벡터 '00'으로 나타내고 2천원 이하 가격의 컨텐츠만 시청함을 나타내는 정보를 벡터 '01'로 나타냄으로써 특정 고객의 가격 민감도 정보를 인코딩할 수 있다. 예컨대, 컨텐츠 제공 서비스 사업자가 제공하는 컨텐츠들의 총 개수가 10만개인 경우, 각 컨텐츠 당 8 비트를 할당함으로써 특정 고객이 구매한 적어도 하나의 컨텐츠에 관한 정보를 80만개의 비트로 구성되는 벡터로 인코딩할 수 있다. 특정 고객이 구매한 적어도 하나의 컨텐츠에 관한 정보를 인코딩하는 방식을, 특정 고객이 컨텐츠 7, 컨텐츠 21 및 컨텐츠 102를 각각 2,000원, 7,000원 및 4,000원에 구매하여 시청한 전술한 예의 경우를 빌어 설명하면, 컨텐츠 1 내지 컨텐츠 6은 구매하지 않은 컨텐츠이므로 앞의 48비트를 모두 '0'으로 채우고, 컨텐츠 7은 구매한 컨텐츠이므로 해당 컨텐츠의 가격인 2,000원을 8비트로 인코딩하여 삽입하고, 컨텐츠 8 내지 컨텐츠 20은 구매하지 않은 컨텐츠이므로 그 다음 104(13 x 8)비트를 '0'으로 채우고, 컨텐츠 21은 구매한 컨텐츠이므로 해당 컨텐츠의 가격인 7,000원을 8비트로 인코딩하여 삽입하고, 컨텐츠 22 내지 컨텐츠 101은 구매하지 않은 컨텐츠이므로 그 다음 640(80 x 8)비트를 '0'으로 채우고, 컨텐츠 102는 구매한 컨텐츠이므로 해당 컨텐츠의 가격인 4,000원을 8비트로 인코딩하여 삽입하는 식으로 인코딩을 수행하는 것이 가능하다. 일 실시예에서, 입력 정보에 임베딩 함수들을 적용하는 동작은 입력 정보에 가중치(weight)를 적용하는 동작을 더 수반할 수 있다.The input layer 133 of the deep learning module 130 may be configured to output input vectors by embedding input information including customer information of a specific customer and information about specific content. In one embodiment, input layer 130 may be configured to apply embedding functions to input information. In one embodiment, applying the embedding functions to the input information may involve encoding the input information. For example, information indicating that only free content is viewed is represented by vector '00', and information indicating that only content priced at 2,000 won or less is viewed by vector '01', thereby encoding price sensitivity information of a specific customer. For example, when the total number of contents provided by a contents providing service provider is 100,000, by allocating 8 bits to each contents, information on at least one contents purchased by a specific customer can be encoded into a vector consisting of 800,000 bits. can In the case of the above example in which a specific customer purchases content 7, content 21, and content 102 at 2,000 won, 7,000 won, and 4,000 won, respectively, a method of encoding information on at least one content purchased by a specific customer and views the content. To explain, since content 1 to content 6 are not purchased content, all of the preceding 48 bits are filled with '0', and content 7 is purchased content, so 2,000 won, the price of the content, is encoded with 8 bits and inserted, and content 8 Since content 20 is not purchased content, the next 104 (13 x 8) bits are filled with '0', and content 21 is purchased content, so 7,000 won, the price of the content, is encoded with 8 bits and inserted, and content 22 to 20 is not purchased. Since content 101 is not purchased content, the next 640 (80 x 8) bits are filled with '0', and content 102 is purchased content, so the price of the content, 4,000 won, is encoded in 8 bits and inserted, and so on. It is possible. In one embodiment, applying the embedding functions to the input information may further entail applying a weight to the input information.

심층 학습 모듈(130)의 심층 신경망 계층(135)은 복수의 은닉층(hidden layers)을 포함할 수 있다. 복수의 은닉층의 각각은 복수의 노드(nodes)를 포함할 수 있다. 최하위 은닉층에서의 노드들은 입력 계층(133)으로부터 출력되는 입력 벡터들을 수신하도록 구현될 수 있다. 상대적으로 하위에 있는 은닉층의 노드들에서의 값들은 상대적으로 상위에 있는 은닉층의 노드들로 가중치들이 적용되어 전달될 수 있다. 심층 신경망 계층(135)은 입력 벡터들을 입력으로 하여 복수의 은닉층에서의 비선형적 연산 처리에 의해 입력 정보의 대안적 표현값들(alternative representations)인 복수의 출력 값을 제공하도록 구성될 수 있다.The deep neural network layer 135 of the deep learning module 130 may include a plurality of hidden layers. Each of the plurality of hidden layers may include a plurality of nodes. Nodes in the lowest hidden layer may be implemented to receive input vectors output from the input layer 133 . Values at nodes of a relatively lower hidden layer may be transmitted with weights applied to nodes of a relatively higher hidden layer. The deep neural network layer 135 may be configured to provide a plurality of output values that are alternative representations of input information by non-linear arithmetic processing in a plurality of hidden layers by taking input vectors as inputs.

심층 학습 모듈(130)의 소프트맥스 분류 계층(137)은 심층 신경망 계층(135)으로부터 출력되는 복수의 출력 값에 기초하여 특정 컨텐츠에 대한 컨텐츠 분류값들을 제공하도록 구성될 수 있다. 일 실시예에서, 소프트맥스 분류 계층(137)은 복수의 출력 값에 소프트맥스 함수(Softmax Function)를 적용해서 컨텐츠 분류값들을 제공하도록 구성될 수 있다. 소프트맥스 분류 계층(137)은 심층 신경망 계층(135)의 복수의 출력 노드에 가중치들이 각각 적용되어 연결된 복수의 컨텐츠 분류 노드를 포함할 수 있다. 컨텐츠 분류 노드들의 개수는, 후술하는 컨텐츠 가격 범위들의 개수에 대응되도록 설정될 수 있다. 예컨대 컨텐츠 가격 범위들의 개수가 5개이면 컨텐츠 분류 노드들의 개수도 5개로 설정될 수 있다. 컨텐츠 분류 노드들의 각각은 확률값인 컨텐츠 분류값을 출력할 수 있고, 컨텐츠 분류 노드들에서 출력되는 확률값들의 합은 1이 된다. 예컨대 컨텐츠 분류 노드들의 개수가 5개라고 가정하면, 제1 노드에서는 0.1의 확률값이 출력되고 제2 노드에서는 0.1의 확률값이 출력되고 제3 노드에서는 0.5의 확률값이 출력되고 제4 노드에서는 0.2의 확률값이 출력되고 제5 노드에서는 0.1의 확률값이 출력되는 식으로 5개의 노드에 확률값들이 배분되어 출력될 수 있다.The softmax classification layer 137 of the deep learning module 130 may be configured to provide content classification values for specific content based on a plurality of output values output from the deep neural network layer 135 . In one embodiment, the softmax classification layer 137 may be configured to provide content classification values by applying a softmax function to a plurality of output values. The softmax classification layer 137 may include a plurality of content classification nodes connected by applying weights to a plurality of output nodes of the deep neural network layer 135, respectively. The number of content classification nodes may be set to correspond to the number of content price ranges described later. For example, if the number of content price ranges is five, the number of content classification nodes may also be set to five. Each of the content classification nodes may output a content classification value that is a probability value, and the sum of the probability values output from the content classification nodes becomes 1. For example, assuming that the number of content classification nodes is 5, a probability value of 0.1 is output from the first node, a probability value of 0.1 is output from the second node, a probability value of 0.5 is output from the third node, and a probability value of 0.2 is output from the fourth node. is output and a probability value of 0.1 is output at the fifth node, and the probability values may be distributed and output to the five nodes.

소프트맥스 분류 계층(137)은 컨텐츠들의 가격 범위(판매되는 컨텐츠들의 최저가에서 최고가까지의 범위)를 선정된 개수의 컨텐츠 가격 범위로 분할하여 설정하도록 더 구성될 수 있다. 소프트맥스 분류 계층(137)은 컨텐츠 가격 범위들의 개수를 전술한 컨텐츠 분류 노드들의 개수와 일치하도록 설정할 수 있다. 예를 들어, 컨텐츠들의 가격 범위가 0원에서 10,000원인 경우 이를 5개의 컨텐츠 가격 범위로 분할하면, 0원에서 1,000원까지의 가격 범위, 1,000원에서 3,000원까지의 가격 범위, 3,000원에서 5,000원까지의 가격 범위, 5,000원에서 7,000원까지의 가격 범위 및 7,000원에서 10,000원까지의 가격 범위가 있을 수 있다. 소프트맥스 분류 계층(137)은 컨텐츠 분류 노드와 컨텐츠 가격 범위가 서로 일대일로 대응하도록 대응 관계를 설정할 수 있다. 전술한 예의 경우를 빌어 대응 관계의 예를 들어 보면, 제1 노드가 0원에서 1,000원까지의 컨텐츠 가격 범위에 대응하도록 대응 관계를 설정할 수 있다. 다른 예로서, 제3 노드가 3,000원에서 5,000원까지의 컨텐츠 가격 범위에 대응하도록 대응 관계를 설정할 수 있다.The Softmax classification layer 137 may be further configured to divide and set the price range of contents (a range from the lowest price to the highest price of contents sold) into a predetermined number of contents price ranges. The Softmax classification layer 137 may set the number of content price ranges to match the number of content classification nodes described above. For example, if the price range of content is 0 won to 10,000 won, if it is divided into 5 content price ranges, the price range is 0 won to 1,000 won, the price range is 1,000 won to 3,000 won, and the price range is 3,000 won to 5,000 won. There may be a price range of up to 5,000 won to 7,000 won and a price range of 7,000 won to 10,000 won. The Softmax classification layer 137 may establish a correspondence relationship such that content classification nodes and content price ranges correspond to each other on a one-to-one basis. Taking the case of the above-mentioned example as an example of the correspondence relationship, the first node may set the correspondence relationship to correspond to the content price range from 0 won to 1,000 won. As another example, a correspondence relationship may be set so that the third node corresponds to a content price range from 3,000 won to 5,000 won.

소프트맥스 분류 계층(137)은 전술한 컨텐츠 분류 노드와 컨텐츠 가격 범위 간의 대응 관계에 기반하여 컨텐츠 분류 노드들에서 출력되는 컨텐츠 분류값들(확률값들)에 기초하여 구매 예상 컨텐츠 가격 범위를 식별하도록 더 구성될 수 있다. 여기서, 구매 예상 컨텐츠 가격 범위는 특정 고객이 특정 컨텐츠를 구매할 것으로 예상되는 가격 범위를 나타낸다. 소프트맥스 분류 계층(137)은 특정 컨텐츠에 대해서 가장 큰 컨텐츠 분류값을 출력하는 컨텐츠 분류 노드를 판별하고 해당 컨텐츠 분류 노드에 대응되는 컨텐츠 가격 범위를 구매 예상 컨텐츠 가격 범위로 결정하도록 구성될 수 있다. 예를 들어, 특정 컨텐츠, '어벤져스'에 대해서 제2 노드에서 가장 큰 확률값이 출력되는 경우 제2 노드에 대응되는 컨텐츠 가격 범위는 1,000원에서 3,000원까지의 가격 범위이므로, 구매 예상 컨텐츠 가격 범위는 1,000원에서 3,000원까지의 가격 범위로서 식별될 수 있다. 이는, '어벤져스'의 가격이 1,000원에서 3,000원까지의 가격 범위에 있다면 특정 고객이 '어벤져스'를 구매하여 시청할 가능성이 있는 것으로 예상된다는 것을 의미한다. 다른 예를 들면, 특정 컨텐츠, '겨울왕국'에 대해 제5 노드에서 가장 큰 확률값이 출력되는 경우 제5 노드에 대응되는 컨텐츠 가격 범위는 7,000원에서 10,000원까지의 가격 범위이므로, 구매 예상 컨텐츠 가격 범위는 7,000원에서 10,000원까지의 가격 범위로서 식별될 수 있다. 이는, '겨울왕국'의 가격이 7,000원에서 10,000원까지의 가격 범위에 있다면 특정 고객이 '겨울왕국'을 구매하여 시청할 가능성이 있는 것으로 예상된다는 것을 의미한다.The softmax classification layer 137 further identifies a purchase expected content price range based on content classification values (probability values) output from content classification nodes based on the correspondence relationship between the aforementioned content classification nodes and content price ranges. can be configured. Here, the purchase expected content price range represents a price range in which a specific customer is expected to purchase a specific content. The Softmax classification layer 137 may be configured to determine a content classification node that outputs the largest content classification value for specific content and to determine a content price range corresponding to the corresponding content classification node as an expected purchase content price range. For example, if the highest probability value is output from the second node for a specific content, 'Avengers', the content price range corresponding to the second node ranges from 1,000 won to 3,000 won, so the content price range expected to be purchased is Can be identified as a price range from 1,000 won to 3,000 won. This means that if the price of 'Avengers' is within the price range of 1,000 won to 3,000 won, it is expected that there is a possibility that a specific customer will purchase and watch 'Avengers'. For another example, if the highest probability value is output at the fifth node for a specific content, 'Frozen', the content price range corresponding to the fifth node ranges from 7,000 won to 10,000 won, so the content price expected to be purchased. A range can be identified as a price range from 7,000 won to 10,000 won. This means that if the price of 'Frozen' is in the price range of 7,000 won to 10,000 won, it is expected that there is a possibility that a specific customer will purchase and watch 'Frozen'.

프로세싱 엔진(120)은 심층 학습 모듈(130)에 통신가능한 방식으로 결합된 필터 계층(140)을 구현하도록 더 설계될 수 있다. 필터 계층(140)은 식별된 구매 예상 컨텐츠 가격 범위에 기초하여 특정 컨텐츠를 특정 고객에게 추천할지 여부를 결정하도록 구성될 수 있다. 필터 계층(140)은 특정 컨텐츠의 현재 가격(특정 컨텐츠의 시판 가격)이 식별된 구매 예상 컨텐츠 가격 범위에 속하는 경우 특정 컨텐츠를 특정 고객에게 추천하도록 구성될 수 있다. 예를 들어, '어벤져스'에 대한 구매 예상 컨텐츠 가격 범위가 1,000원에서 3,000원까지의 가격 범위이고 '어벤져스'의 현재 가격이 2,500원인 경우, 필터 계층(140)은 '어벤져스'를 특정 고객에게 추천하는 것으로 결정할 수 있다. 다른 예로서, '겨울왕국'에 대한 구매 예상 컨텐츠 가격 범위가 5,000원에서 7,000원까지의 가격 범위이고 '겨울왕국'의 현재 가격이 8,000원인 경우, 필터 계층(140)은 '겨울왕국'을 특정 고객에게 추천하지 않는 것으로 결정할 수 있다.Processing engine 120 may be further designed to implement a filter layer 140 that is communicatively coupled to deep learning module 130 . The filter layer 140 may be configured to determine whether to recommend particular content to a particular customer based on the identified price range of the content purchase prospect. The filter layer 140 may be configured to recommend specific content to a specific customer if the current price (market price of the specific content) of the specific content falls within the identified content price range. For example, if the expected content price range for 'Avengers' ranges from 1,000 won to 3,000 won and the current price of 'Avengers' is 2,500 won, the filter layer 140 specifies 'Avengers'. You can decide to recommend it to your customers. As another example, if the expected content price range for 'Frozen' is from 5,000 won to 7,000 won and the current price of 'Frozen' is 8,000 won, the filter layer 140 specifies 'Frozen'. You may decide not to recommend it to your customers.

이상의 설명에서는 프로세싱 엔진(120)이 데이터베이스부(110)로부터 특정 고객의 고객 정보 및 특정 컨텐츠에 관한 정보를 검색하여 심층 학습 모듈(130)로 입력되게 함으로써 특정 컨텐츠를 특정 고객에게 추천할지 여부를 결정하는 것으로 설명하였으나, 심층 학습 모듈(130)이 유의미한 결과를 출력하도록 하기 위해서는 심층 학습 모듈(130)이 학습되어야 할 필요가 있다. 프로세싱 엔진(120)은 학습 데이터를 이용하여 심층 학습 모듈(130)을 학습시키도록 더 구성될 수 있다. 학습 데이터는 복수의 고객에 대한 고객 정보를 포함할 수 있다. 복수의 고객의 각각에 대한 고객 정보는 해당 고객의 ID, 해당 고객의 프로필 정보, 해당 고객이 구매한 적어도 하나의 컨텐츠에 대한 정보 및 해당 고객의 가격 민감도 정보를 포함할 수 있다. 학습 데이터는 컨텐츠 정보를 더 포함할 수 있다. 컨텐츠 정보는 서비스 사업자에 의해 시판되는 컨텐츠들에 대한 가격들 및 ID들을 포함할 수 있다. 프로세싱 엔진(120)은, 고객이 구매한 컨텐츠의 가격 및 ID를 입력 계층(133)으로 입력시켰을 때 소프트맥스 분류 계층(137)에서 가장 큰 확률값을 출력하는 노드가 고객이 해당 컨텐츠를 구매한 가격이 속하는 컨텐츠 가격 범위에 대응하게 되도록 입력 계층(133), 심층 신경망 계층(135) 및 소프트맥스 분류 계층(137)에서의 가중치들을 변경하는 방식으로 심층 학습 모듈(130)을 학습시키도록 구성될 수 있다. 프로세싱 엔진(120)은 심층 학습 모듈(130)이 보다 정확한 결과를 출력할 수 있도록 복수의 고객에 대한 고객 정보를 이용하여 심층 학습 모듈(130)을 복수 회 학습시키도록 더 구성될 수 있다.In the above description, the processing engine 120 retrieves customer information of a specific customer and information about specific content from the database unit 110 and inputs them to the deep learning module 130 to determine whether to recommend specific content to a specific customer. However, in order for the deep learning module 130 to output meaningful results, the deep learning module 130 needs to be learned. Processing engine 120 may be further configured to train deep learning module 130 using the learning data. The learning data may include customer information for a plurality of customers. Customer information for each of the plurality of customers may include an ID of the corresponding customer, profile information of the corresponding customer, information on at least one piece of content purchased by the corresponding customer, and price sensitivity information of the corresponding customer. The learning data may further include content information. Content information may include prices and IDs for contents marketed by service providers. When the processing engine 120 inputs the price and ID of the content purchased by the customer to the input layer 133, the node outputting the largest probability value in the softmax classification layer 137 is the price at which the customer purchased the corresponding content. It can be configured to train the deep learning module 130 in a way of changing the weights in the input layer 133, the deep neural network layer 135, and the softmax classification layer 137 so as to correspond to the price range of the content to which the content belongs. there is. Processing engine 120 may be further configured to train deep learning module 130 multiple times using customer information for multiple customers so that deep learning module 130 may output more accurate results.

프로세싱 엔진(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)에 의해 구현될 수 있다.The processing engine 120 includes application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (Programmable Hardware based on at least one of Logic Devices (PLDs), Field-Programmable Gate Arrays (FPGAs), processors, controllers, micro-controllers and microprocessors It can be implemented as a hardware platform. Processing engine 120 may also be implemented as a firmware/software module executable on the aforementioned hardware platform. In this case, the software module may be implemented by a software application written in an appropriate program language.

도 2는 심층 학습에 기반한 컨텐츠 추천 방법을 설명하기 위한 흐름도의 일 실시예를 도시한 도면이다.2 is a diagram illustrating an embodiment of a flowchart for explaining a content recommendation method based on deep learning.

도 2에 도시된 바와 같이, 본 컨텐츠 추천 방법은 특정 고객의 고객 정보 및 특정 컨텐츠에 관한 정보를 포함하는 입력 정보를 수신하는 단계(S205)로부터 시작된다. 특정 고객의 고객 정보는 특정 고객의 고객 ID, 특정 고객의 프로필 정보, 특정 고객이 구매한 적어도 하나의 컨텐츠에 관한 정보 및 특정 고객의 가격 민감도 정보를 포함할 수 있다. 특정 고객의 프로필 정보는 특정 고객의 나이에 관한 정보 및 특정 고객의 성별에 관한 정보를 포함할 수 있다. 특정 고객이 구매한 적어도 하나의 컨텐츠에 관한 정보는 특정 고객이 구매한 적어도 하나의 컨텐츠의 가격 정보를 포함할 수 있다. 특정 컨텐츠에 관한 정보는 특정 컨텐츠의 컨텐츠 ID를 포함할 수 있다. 단계(S210)에서는 입력 정보를 입력 계층으로 입력하여 임베딩 처리를 수행함으로써 입력 벡터들을 출력한다. 본 단계에서는 특정 고객의 고객 ID, 특정 고객의 프로필 정보, 특정 고객이 구매한 적어도 하나의 컨텐츠에 관한 정보 및 특정 고객의 가격 민감도 정보에 임베딩 함수들을 각각 적용할 수 있다. 또한 본 단계에서는 특정 컨텐츠의 컨텐츠 ID에 임베딩 함수를 적용할 수 있다. 일 실시예에서, 특정 컨텐츠는 VOD(video on demand) 컨텐츠이다. 단계(S215)에서는 입력 벡터들을 심층 신경망 계층으로 입력하여 복수의 출력 값을 제공한다. 단계(S220)에서는 복수의 출력 값을 소프트맥스 분류 계층(137)으로 입력하여 복수의 컨텐츠 분류 노드에서 복수의 컨텐츠 분류값(확률값)을 제공한다. 본 단계에서는 복수의 출력값에 소프트맥스 함수(softmax function)를 적용해서 복수의 확률값을 제공할 수 있다. 여기서 각각의 확률값은 0 이상이고 1 이하인 값이고 확률값들의 합은 1이 된다. 단계(S225)에서는 소프트맥스 분류 계층(137)의 복수의 컨텐츠 분류 노드에서 출력되는 컨텐츠 분류값들에 기초하여 구매 예상 컨텐츠 가격 범위를 식별한다. 여기서 구매 예상 컨텐츠 가격 범위는 특정 고객이 특정 컨텐츠를 구매할 것으로 예상되는 가격 범위이다. 본 단계에서는 특정 컨텐츠에 대해서 가장 큰 확률값을 출력하는 컨텐츠 분류 노드를 판별하고 해당 컨텐츠 분류 노드에 대응되는 컨텐츠 가격 범위를 구매 예상 컨텐츠 가격 범위로 결정할 수 있다. 단계(S230)에서는 식별된 구매 예상 컨텐츠 가격 범위를 나타내는 정보를 필터 계층(140)으로 입력하여 특정 컨텐츠를 특정 고객에게 추천할지 여부를 결정한다. 본 단계에서는 특정 컨텐츠의 현재 가격이 식별된 구매 예상 컨텐츠 가격 범위에 속하는 경우 특정 컨텐츠를 특정 고객에게 추천하는 것으로 결정할 수 있다.As shown in FIG. 2 , the content recommendation method starts from receiving input information including customer information of a specific customer and information about specific content (S205). Customer information of a specific customer may include a customer ID of the specific customer, profile information of the specific customer, information about at least one piece of content purchased by the specific customer, and price sensitivity information of the specific customer. The profile information of a specific customer may include information about the age of the specific customer and information about the gender of the specific customer. Information on at least one content purchased by a specific customer may include price information of at least one content purchased by a specific customer. Information on specific content may include a content ID of the specific content. In step S210, input vectors are output by performing an embedding process by inputting input information to an input layer. In this step, embedding functions may be applied to a customer ID of a specific customer, profile information of a specific customer, information about at least one piece of content purchased by the specific customer, and price sensitivity information of the specific customer. Also, in this step, an embedding function can be applied to the content ID of specific content. In one embodiment, the specific content is video on demand (VOD) content. In step S215, a plurality of output values are provided by inputting the input vectors to the deep neural network layer. In step S220, a plurality of output values are input to the softmax classification layer 137, and a plurality of content classification values (probability values) are provided from a plurality of content classification nodes. In this step, a plurality of probability values may be provided by applying a softmax function to a plurality of output values. Here, each probability value is a value that is greater than 0 and less than 1, and the sum of the probability values is 1. In step S225, a purchase expected content price range is identified based on content classification values output from a plurality of content classification nodes of the Softmax classification layer 137. Here, the purchase expected content price range is a price range in which a specific customer is expected to purchase a specific content. In this step, a content classification node outputting the highest probability value for a specific content may be determined, and a content price range corresponding to the corresponding content classification node may be determined as a purchase expected content price range. In step S230, it is determined whether to recommend specific content to a specific customer by inputting information indicating the price range of the identified content to be purchased into the filter layer 140. In this step, if the current price of the specific content falls within the identified purchase expected content price range, it may be determined that the specific content is to be recommended to the specific customer.

이상의 설명에 있어서 어떤 구성 요소가 다른 구성 요소에 접속되거나 결합된다는 기재의 의미는 당해 구성 요소가 그 다른 구성 요소에 직접적으로 접속되거나 결합된다는 의미뿐만 아니라 이들이 그 사이에 개재된 하나 또는 그 이상의 타 구성 요소를 통해 접속되거나 결합될 수 있다는 의미를 포함하는 것으로 이해되어야 한다. 이외에도 구성 요소들 간의 관계를 기술하기 위한 용어들(예컨대, '간에', '사이에' 등)도 유사한 의미로 해석되어야 한다.In the above description, the meaning of the description that a certain component is connected or coupled to another component means that the corresponding component is directly connected or coupled to the other component, as well as one or more other components interposed therebetween. It should be understood to include the meaning that can be connected or coupled through the elements. In addition, terms for describing the relationship between components (eg, 'between', 'between', etc.) should be interpreted in a similar meaning.

본원에 개시된 실시예들에 있어서, 도시된 구성 요소들의 배치는 발명이 구현되는 환경 또는 요구 사항에 따라 달라질 수 있다. 예컨대, 일부 구성 요소가 생략되거나 몇몇 구성 요소들이 통합되어 하나로 실시될 수 있다. 또한 일부 구성 요소들의 배치 순서 및 연결이 변경될 수 있다.In the embodiments disclosed herein, the arrangement of the illustrated components may vary depending on the environment or requirements in which the invention is implemented. For example, some components may be omitted or some components may be integrated and implemented as one. In addition, the arrangement order and connection of some components may be changed.

이상에서는 본 발명의 다양한 실시예들에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예들에 한정되지 아니하며, 상술한 실시예들은 첨부하는 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양하게 변형 실시될 수 있음은 물론이고, 이러한 변형 실시예들이 본 발명의 기술적 사상이나 범위와 별개로 이해되어져서는 아니 될 것이다. 따라서, 본 발명의 기술적 범위는 오직 첨부된 특허청구범위에 의해서만 정해져야 할 것이다.Although various embodiments of the present invention have been shown and described above, the present invention is not limited to the specific embodiments described above, and the above-described embodiments go beyond the scope of the present invention claimed in the appended claims. Without this, various modifications can be carried out by those skilled in the art to which the present invention pertains, and these modified embodiments should not be understood separately from the technical spirit or scope of the present invention. Therefore, the technical scope of the present invention should be defined only by the appended claims.

100: 컨텐츠 추천을 위한 장치
110: 데이터베이스부
120: 프로세싱 엔진
130: 심층 학습 모듈
133: 입력 계층
135: 심층 신경망 계층
137: 소프트맥스 분류 계층
140: 필터 계층
100: device for content recommendation
110: database unit
120: processing engine
130: deep learning module
133: input layer
135: deep neural network layer
137: Softmax classification layer
140: filter layer

Claims (35)

심층 학습(Deep Learning)에 기반한 컨텐츠 추천 방법으로서,
특정 고객의 고객 정보 및 특정 컨텐츠에 관한 정보를 포함하는 입력 정보를 수신하는 단계,
상기 입력 정보를 입력 계층으로 입력하여 임베딩(embedding) 처리를 수행함으로써 입력 벡터들을 출력하는 단계,
상기 입력 벡터들을 심층 신경망(Deep Neural Network: DNN) 계층으로 입력하여 복수의 출력 값을 제공하는 단계,
상기 복수의 출력 값을 소프트맥스 분류 계층(Softmax Classification Layer)으로 입력하여 상기 특정 컨텐츠에 대한 컨텐츠 분류값들을 제공하고, 상기 컨텐츠 분류값들에 기초하여 구매 예상 컨텐츠 가격 범위를 식별하는 단계 - 상기 구매 예상 컨텐츠 가격 범위는 상기 특정 고객이 상기 특정 컨텐츠를 구매할 것으로 예상되는 가격 범위임 -, 및
상기 식별된 구매 예상 컨텐츠 가격 범위를 나타내는 정보를 필터 계층으로 입력하여 상기 특정 컨텐츠를 상기 특정 고객에게 추천할지 여부를 결정하는 단계를 포함하는, 컨텐츠 추천 방법.
As a content recommendation method based on deep learning,
Receiving input information including customer information of a specific customer and information about specific content;
Outputting input vectors by inputting the input information to an input layer and performing an embedding process;
Providing a plurality of output values by inputting the input vectors to a deep neural network (DNN) layer;
Providing content classification values for the specific content by inputting the plurality of output values into a Softmax Classification Layer, and identifying a content price range expected to be purchased based on the content classification values - the purchase The expected content price range is a price range in which the specific customer is expected to purchase the specific content -, and
and determining whether or not to recommend the specific content to the specific customer by inputting information indicating the price range of the identified content to be purchased into a filter layer.
제1항에 있어서,
상기 특정 고객의 고객 정보는 상기 특정 고객의 고객 ID(Identification), 상기 특정 고객의 프로필 정보, 상기 특정 고객이 구매한 적어도 하나의 컨텐츠에 관한 정보 및 상기 특정 고객의 가격 민감도 정보를 포함하는, 컨텐츠 추천 방법.
According to claim 1,
The customer information of the specific customer includes a customer ID (Identification) of the specific customer, profile information of the specific customer, information about at least one content purchased by the specific customer, and price sensitivity information of the specific customer. How to recommend.
제2항에 있어서,
상기 특정 고객의 프로필 정보는 상기 특정 고객의 나이에 관한 정보 및 상기 특정 고객의 성별에 관한 정보를 포함하는, 컨텐츠 추천 방법.
According to claim 2,
Wherein the profile information of the specific customer includes information about the age of the specific customer and information about the gender of the specific customer.
제2항에 있어서,
상기 특정 고객이 구매한 적어도 하나의 컨텐츠에 관한 정보는 상기 특정 고객이 구매한 적어도 하나의 컨텐츠의 가격 정보를 포함하는, 컨텐츠 추천 방법.
According to claim 2,
The information on the at least one content purchased by the specific customer includes price information of the at least one content purchased by the specific customer.
제1항에 있어서,
상기 특정 컨텐츠에 관한 정보는 상기 특정 컨텐츠의 컨텐츠 ID를 포함하는, 컨텐츠 추천 방법.
According to claim 1,
The information on the specific content includes a content ID of the specific content.
제2항에 있어서,
상기 입력 정보를 입력 계층으로 입력하여 임베딩(embedding) 처리를 수행함으로써 입력 벡터들을 출력하는 단계는, 상기 특정 고객의 고객 ID, 상기 특정 고객의 프로필 정보, 상기 특정 고객이 구매한 적어도 하나의 컨텐츠에 관한 정보 및 상기 특정 고객의 가격 민감도 정보에 임베딩 함수들(embedding functions)을 각각 적용하는 단계를 포함하는, 컨텐츠 추천 방법.
According to claim 2,
The step of outputting input vectors by inputting the input information into an input layer and performing an embedding process may include a customer ID of the specific customer, profile information of the specific customer, and at least one content purchased by the specific customer. A content recommendation method comprising applying embedding functions to information about information and price sensitivity of the specific customer, respectively.
제5항에 있어서,
상기 입력 정보를 입력 계층으로 입력하여 임베딩(embedding) 처리를 수행함으로써 입력 벡터들을 출력하는 단계는, 상기 특정 컨텐츠의 컨텐츠 ID에 임베딩 함수를 적용하는 단계를 포함하는, 컨텐츠 추천 방법.
According to claim 5,
The step of outputting the input vectors by inputting the input information to an input layer and performing an embedding process includes applying an embedding function to a content ID of the specific content.
제1항에 있어서,
상기 특정 컨텐츠는 VOD(video on demand) 컨텐츠인, 컨텐츠 추천 방법.
According to claim 1,
The specific content is VOD (video on demand) content, content recommendation method.
제1항에 있어서,
상기 특정 고객의 고객 정보 및 특정 컨텐츠에 관한 정보를 포함하는 입력 정보를 수신하는 단계 이전에, 상기 입력 계층, 상기 심층 신경망 계층 및 상기 소프트맥스 분류 계층을 학습 데이터로 학습시키는 단계를 더 포함하는, 컨텐츠 추천 방법.
According to claim 1,
Further comprising the step of learning the input layer, the deep neural network layer, and the softmax classification layer as learning data before receiving input information including customer information of the specific customer and information about specific content, How to recommend content.
제9항에 있어서,
상기 학습 데이터는 고객 정보를 포함하고, 상기 고객 정보는 고객이 구매한 컨텐츠의 가격 및 ID를 포함하고,
상기 입력 계층, 상기 심층 신경망 계층 및 상기 소프트맥스 분류 계층은 복수의 입력 노드 및 복수의 출력 노드를 포함하고,
상기 입력 노드들과 상기 출력 노드들 간에는 가중치들이 설정되어 있으며,
상기 소프트맥스 분류 계층은 복수의 컨텐츠 분류 노드를 포함하고, 상기 복수의 컨텐츠 분류 노드는 각각 상기 컨텐츠 분류값들을 제공하고,
상기 입력 계층, 상기 심층 신경망 계층 및 상기 소프트맥스 분류 계층을 학습 데이터로 학습시키는 단계는, 상기 고객이 구매한 컨텐츠의 가격 및 ID를 상기 입력 계층으로 입력시켰을 때 상기 소프트맥스 분류 계층의 컨텐츠 분류 노드들 중 가장 큰 컨텐츠 분류값을 제공하는 컨텐츠 분류 노드가 상기 고객이 구매한 컨텐츠의 가격이 속하는 컨텐츠 가격 범위에 대응하게 되도록 상기 가중치들을 변경하는 단계를 포함하는, 컨텐츠 추천 방법.
According to claim 9,
The learning data includes customer information, the customer information includes the price and ID of the content purchased by the customer,
The input layer, the deep neural network layer, and the softmax classification layer include a plurality of input nodes and a plurality of output nodes,
Weights are set between the input nodes and the output nodes,
The softmax classification layer includes a plurality of content classification nodes, and each of the plurality of content classification nodes provides the content classification values;
In the step of learning the input layer, the deep neural network layer, and the softmax classification layer as training data, the content classification node of the softmax classification layer when the price and ID of the content purchased by the customer are input to the input layer. and changing the weights so that a content classification node providing the largest content classification value among the content values corresponds to a content price range to which a price of the content purchased by the customer belongs.
제1항에 있어서,
상기 복수의 출력 값을 소프트맥스 분류 계층(Softmax Classification Layer)으로 입력하여 상기 특정 컨텐츠에 대한 컨텐츠 분류값들을 제공하고, 상기 컨텐츠 분류값들에 기초하여 구매 예상 컨텐츠 가격 범위를 식별하는 단계 - 상기 구매 예상 컨텐츠 가격 범위는 상기 특정 고객이 상기 특정 컨텐츠를 구매할 것으로 예상되는 가격 범위임 - 는, 상기 복수의 출력값에 소프트맥스 함수(softmax function)를 적용해서 상기 컨텐츠 분류값들을 제공하는 단계를 포함하는, 컨텐츠 추천 방법.
According to claim 1,
Providing content classification values for the specific content by inputting the plurality of output values into a Softmax Classification Layer, and identifying a content price range expected to be purchased based on the content classification values - the purchase The expected content price range is a price range in which the specific customer is expected to purchase the specific content - comprising providing the content classification values by applying a softmax function to the plurality of output values, How to recommend content.
제1항에 있어서,
상기 소프트맥스 분류 계층은 복수의 컨텐츠 분류 노드를 포함하고, 상기 복수의 컨텐츠 분류 노드는 각각 상기 컨텐츠 분류값들을 제공하고,
상기 복수의 출력 값을 소프트맥스 분류 계층(Softmax Classification Layer)으로 입력하여 상기 특정 컨텐츠에 대한 컨텐츠 분류값들을 제공하고, 상기 컨텐츠 분류값들에 기초하여 구매 예상 컨텐츠 가격 범위를 식별하는 단계 - 상기 구매 예상 컨텐츠 가격 범위는 상기 특정 고객이 상기 특정 컨텐츠를 구매할 것으로 예상되는 가격 범위임 - 는, 상기 컨텐츠 분류값들 중 가장 큰 컨텐츠 분류값을 출력하는 컨텐츠 분류 노드를 판별하고 상기 판별된 컨텐츠 분류 노드에 대응되는 컨텐츠 가격 범위를 상기 구매 예상 컨텐츠 가격 범위로 결정하는 단계를 포함하는, 컨텐츠 추천 방법.
According to claim 1,
The softmax classification layer includes a plurality of content classification nodes, and each of the plurality of content classification nodes provides the content classification values;
Providing content classification values for the specific content by inputting the plurality of output values into a Softmax Classification Layer, and identifying a content price range expected to be purchased based on the content classification values - the purchase The expected content price range is the price range in which the specific customer is expected to purchase the specific content - determines the content classification node that outputs the largest content classification value among the content classification values, and to the determined content classification node A content recommendation method comprising determining a corresponding content price range as the purchase expected content price range.
제1항에 있어서,
상기 식별된 구매 예상 컨텐츠 가격 범위를 나타내는 정보를 필터 계층으로 입력하여 상기 특정 컨텐츠를 상기 특정 고객에게 추천할지 여부를 결정하는 단계는, 상기 특정 컨텐츠의 현재 가격이 상기 식별된 구매 예상 컨텐츠 가격 범위에 속하는 경우 상기 특정 컨텐츠를 상기 특정 고객에게 추천하는 것으로 결정하는 단계를 포함하는, 컨텐츠 추천 방법.
According to claim 1,
The step of determining whether or not to recommend the specific content to the specific customer by inputting information representing the identified price range of the content to be purchased into a filter layer, wherein the current price of the specific content falls within the identified price range of the content to be purchased. and determining that the specific content is to be recommended to the specific customer if it belongs.
심층 학습에 기반한 컨텐츠 추천 방법으로서,
특정 고객의 고객 정보 및 특정 컨텐츠에 관한 정보를 포함하는 입력 정보를 심층 학습 모듈로 입력함으로써 상기 특정 컨텐츠에 대한 컨텐츠 분류값들을 제공하는 단계 - 상기 심층 학습 모듈은 고객 정보를 포함하는 학습 데이터에 의해 학습된 것임 -,
상기 컨텐츠 분류값들에 기초하여 구매 예상 컨텐츠 가격 범위를 식별하는 단계 - 상기 구매 예상 컨텐츠 가격 범위는 상기 특정 고객이 상기 특정 컨텐츠를 구매할 것으로 예상되는 가격 범위임 -, 및
상기 식별된 구매 예상 컨텐츠 가격 범위에 기초하여 상기 특정 컨텐츠를 상기 특정 고객에게 추천할지 여부를 결정하는 단계를 포함하는 컨텐츠 추천 방법.
As a content recommendation method based on deep learning,
Providing content classification values for the specific content by inputting input information including customer information of a specific customer and information on specific content into a deep learning module - the deep learning module is configured by learning data including customer information It is learned -,
Identifying a content price range expected to be purchased based on the content classification values, wherein the content price range expected to be purchased is a price range in which the specific customer is expected to purchase the specific content - and
and determining whether or not to recommend the specific content to the specific customer based on the identified price range of the content to be purchased.
제14항에 있어서,
상기 특정 고객의 고객 정보는 상기 특정 고객의 고객 ID, 상기 특정 고객의 프로필 정보, 상기 특정 고객이 구매한 적어도 하나의 컨텐츠에 관한 정보 및 상기 특정 고객의 가격 민감도 정보를 포함하는, 컨텐츠 추천 방법.
According to claim 14,
The customer information of the specific customer includes a customer ID of the specific customer, profile information of the specific customer, information about at least one content purchased by the specific customer, and price sensitivity information of the specific customer.
제14항에 있어서,
상기 특정 컨텐츠에 관한 정보는 상기 특정 컨텐츠의 컨텐츠 ID를 포함하는, 컨텐츠 추천 방법.
According to claim 14,
The information on the specific content includes a content ID of the specific content.
제14항에 있어서,
상기 심층 학습 모듈은 입력 계층, 심층 신경망 계층 및 소프트맥스 분류 계층을 포함하는, 컨텐츠 추천 방법.
According to claim 14,
The deep learning module includes an input layer, a deep neural network layer, and a softmax classification layer.
제17항에 있어서,
상기 특정 고객의 고객 정보 및 특정 컨텐츠에 관한 정보를 포함하는 입력 정보를 심층 학습 모듈로 입력함으로써 상기 특정 컨텐츠에 대한 컨텐츠 분류값들을 제공하는 단계 - 상기 심층 학습 모듈은 고객 정보를 포함하는 학습 데이터에 의해 학습된 것임 - 는, 상기 입력 정보를 상기 입력 계층에서 임베딩 처리하여 입력 벡터들을 제공하는 단계를 포함하는, 컨텐츠 추천 방법.
According to claim 17,
Providing content classification values for the specific content by inputting input information including customer information of the specific customer and information on specific content into a deep learning module - the deep learning module is configured to provide learning data including customer information The content recommendation method comprising providing input vectors by embedding the input information in the input layer.
제18항에 있어서,
상기 특정 고객의 고객 정보 및 특정 컨텐츠에 관한 정보를 포함하는 입력 정보를 심층 학습 모듈로 입력함으로써 상기 특정 컨텐츠에 대한 컨텐츠 분류값들을 제공하는 단계 - 상기 심층 학습 모듈은 고객 정보를 포함하는 학습 데이터에 의해 학습된 것임 - 는,
상기 입력 벡터들을 상기 심층 신경망 계층에서 처리하여 복수의 출력 값을 제공하는 단계, 및
상기 복수의 출력 값을 소프트맥스 분류 계층에서 처리하여 상기 컨텐츠 분류값들을 제공하는 단계를 포함하는, 컨텐츠 추천 방법.
According to claim 18,
Providing content classification values for the specific content by inputting input information including customer information of the specific customer and information on specific content into a deep learning module - the deep learning module is configured to provide learning data including customer information is learned by - is,
processing the input vectors in the deep neural network layer to provide a plurality of output values; and
and providing the content classification values by processing the plurality of output values in a softmax classification layer.
제19항에 있어서,
상기 소프트맥스 분류 계층은 복수의 컨텐츠 분류 노드를 포함하고, 상기 복수의 컨텐츠 분류 노드는 각각 상기 컨텐츠 분류값들을 제공하고,
상기 컨텐츠 분류값들에 기초하여 구매 예상 컨텐츠 가격 범위를 식별하는 단계 - 상기 구매 예상 컨텐츠 가격 범위는 상기 특정 고객이 상기 특정 컨텐츠를 구매할 것으로 예상되는 가격 범위임 - 는, 상기 컨텐츠 분류값들 중 가장 큰 컨텐츠 분류값을 출력하는 컨텐츠 분류 노드를 판별하고 상기 판별된 컨텐츠 분류 노드에 대응되는 컨텐츠 가격 범위를 상기 구매 예상 컨텐츠 가격 범위로 결정하는 단계를 포함하는, 컨텐츠 추천 방법.
According to claim 19,
The softmax classification layer includes a plurality of content classification nodes, and each of the plurality of content classification nodes provides the content classification values;
Identifying a content price range expected to be purchased based on the content classification values, wherein the content price range expected to be purchased is a price range in which the specific customer is expected to purchase the specific content. A content recommendation method comprising determining a content classification node that outputs a large content classification value and determining a content price range corresponding to the determined content classification node as the purchase expected content price range.
제14항에 있어서,
상기 식별된 구매 예상 컨텐츠 가격 범위에 기초하여 상기 특정 컨텐츠를 상기 특정 고객에게 추천할지 여부를 결정하는 단계는, 상기 특정 컨텐츠의 현재 가격이 상기 식별된 구매 예상 컨텐츠 가격 범위에 속하는 경우 상기 특정 컨텐츠를 상기 특정 고객에게 추천하는 것으로 결정하는 단계를 포함하는, 컨텐츠 추천 방법.
According to claim 14,
The step of determining whether to recommend the specific content to the specific customer based on the identified price range of the content to be purchased may include selecting the specific content when the current price of the specific content falls within the identified price range of the content to be purchased. , Content recommendation method comprising the step of determining to recommend to the specific customer.
심층 학습에 기반한 컨텐츠 추천을 위한 장치로서,
고객 정보 및 컨텐츠에 관한 정보를 저장하는 데이터베이스부, 및
입력 계층, 심층 신경망 계층 및 소프트맥스 분류 계층을 포함하는 심층 학습 모듈을 구현하며, 상기 데이터베이스부로부터 특정 고객의 고객 정보 및 특정 컨텐츠에 관한 정보를 검색하여 상기 심층 학습 모듈로 입력되게 하도록 구성된 프로세싱 엔진을 포함하며,
상기 입력 계층은 상기 특정 고객의 고객 정보 및 상기 특정 컨텐츠에 관한 정보를 임베딩 처리하여 입력 벡터들을 출력하도록 구성되고,
상기 심층 신경망 계층은 상기 입력 벡터들을 처리하여 복수의 출력 값을 제공하도록 구성되고,
상기 소프트맥스 분류 계층은 상기 복수의 출력 값에 기초하여 상기 특정 컨텐츠에 대한 컨텐츠 분류값들을 제공하고, 상기 컨텐츠 분류값들에 기초하여 구매 예상 컨텐츠 가격 범위를 식별하도록 구성되고 - 상기 구매 예상 컨텐츠 가격 범위는 상기 특정 고객이 상기 특정 컨텐츠를 구매할 것으로 예상되는 가격 범위임 -,
상기 프로세싱 엔진은 상기 식별된 구매 예상 컨텐츠 가격 범위에 기초하여 상기 특정 컨텐츠를 상기 특정 고객에게 추천할지 여부를 결정하도록 더 구성되는, 컨텐츠 추천을 위한 장치.
As a device for content recommendation based on deep learning,
A database unit for storing information about customer information and contents; and
A processing engine configured to implement a deep learning module including an input layer, a deep neural network layer, and a softmax classification layer, and retrieve customer information of a specific customer and information about specific content from the database unit and input the information to the deep learning module. Including,
The input layer is configured to output input vectors by embedding customer information of the specific customer and information about the specific content,
the deep neural network layer is configured to process the input vectors to provide a plurality of output values;
The softmax classification layer is configured to provide content classification values for the specific content based on the plurality of output values, and to identify a content price range expected to be purchased based on the content classification values - the expected purchase content price The range is a price range in which the specific customer is expected to purchase the specific content -,
wherein the processing engine is further configured to determine whether or not to recommend the specific content to the specific customer based on the identified purchase expected content price range.
제22항에 있어서,
상기 특정 고객의 고객 정보는 상기 특정 고객의 고객 ID, 상기 특정 고객의 프로필 정보, 상기 특정 고객이 구매한 적어도 하나의 컨텐츠에 관한 정보 및 상기 특정 고객의 가격 민감도 정보를 포함하는, 컨텐츠 추천을 위한 장치.
The method of claim 22,
The customer information of the specific customer includes a customer ID of the specific customer, profile information of the specific customer, information about at least one content purchased by the specific customer, and price sensitivity information of the specific customer. Device.
제23항에 있어서,
상기 특정 고객의 프로필 정보는 상기 특정 고객의 나이에 관한 정보 및 상기 특정 고객의 성별에 관한 정보를 포함하는, 컨텐츠 추천을 위한 장치.
According to claim 23,
The device for recommending content, wherein the profile information of the specific customer includes information about the age of the specific customer and information about the gender of the specific customer.
제23항에 있어서,
상기 특정 고객이 구매한 적어도 하나의 컨텐츠에 관한 정보는 상기 특정 고객이 구매한 적어도 하나의 컨텐츠의 가격 정보를 포함하는, 컨텐츠 추천을 위한 장치.
According to claim 23,
The information about the at least one content purchased by the specific customer includes price information of the at least one content purchased by the specific customer.
제22항에 있어서,
상기 특정 컨텐츠에 관한 정보는 상기 특정 컨텐츠의 컨텐츠 ID를 포함하는, 컨텐츠 추천을 위한 장치.
The method of claim 22,
The information on the specific content includes a content ID of the specific content.
제23항에 있어서,
상기 입력 계층은, 상기 특정 고객의 고객 ID, 상기 특정 고객의 프로필 정보, 상기 특정 고객이 구매한 적어도 하나의 컨텐츠에 관한 정보 및 상기 특정 고객의 가격 민감도 정보에 임베딩 함수들을 각각 적용하도록 더 구성되는, 컨텐츠 추천을 위한 장치.
According to claim 23,
The input layer is further configured to apply embedding functions to a customer ID of the specific customer, profile information of the specific customer, information about at least one content purchased by the specific customer, and price sensitivity information of the specific customer, respectively. , a device for content recommendation.
제26항에 있어서,
상기 입력 계층은, 상기 특정 컨텐츠의 컨텐츠 ID에 임베딩 함수를 적용하도록 더 구성되는, 컨텐츠 추천을 위한 장치.
The method of claim 26,
wherein the input layer is further configured to apply an embedding function to a content ID of the specific content.
제22항에 있어서,
상기 프로세싱 엔진은 상기 입력 계층, 상기 심층 신경망 계층 및 상기 소프트맥스 분류 계층을 학습 데이터로 학습시키도록 더 구성되는, 컨텐츠 추천을 위한 장치.
According to claim 22,
wherein the processing engine is further configured to train the input layer, the deep neural network layer, and the Softmax classification layer as learning data.
제29항에 있어서,
상기 학습 데이터는 고객 정보를 포함하고, 상기 고객 정보는 고객이 구매한 컨텐츠의 가격 및 ID를 포함하고,
상기 입력 계층, 상기 심층 신경망 계층 및 상기 소프트맥스 분류 계층은 복수의 입력 노드 및 복수의 출력 노드를 포함하고,
상기 입력 노드들과 상기 출력 노드들 간에는 가중치들이 설정되어 있으며,
상기 소프트맥스 분류 계층은 복수의 컨텐츠 분류 노드를 포함하고, 상기 복수의 컨텐츠 분류 노드는 각각 상기 컨텐츠 분류값들을 제공하고,
상기 프로세싱 엔진은, 상기 고객이 구매한 컨텐츠의 가격 및 ID를 상기 입력 계층으로 입력시켰을 때 상기 소프트맥스 분류 계층의 컨텐츠 분류 노드들 중 가장 큰 컨텐츠 분류값을 제공하는 컨텐츠 분류 노드가 상기 고객이 구매한 컨텐츠의 가격이 속하는 컨텐츠 가격 범위에 대응하게 되도록 상기 가중치들을 변경하도록 더 구성되는, 컨텐츠 추천을 위한 장치.
According to claim 29,
The learning data includes customer information, the customer information includes the price and ID of the content purchased by the customer,
The input layer, the deep neural network layer, and the softmax classification layer include a plurality of input nodes and a plurality of output nodes,
Weights are set between the input nodes and the output nodes,
The softmax classification layer includes a plurality of content classification nodes, and each of the plurality of content classification nodes provides the content classification values;
When the price and ID of the content purchased by the customer are input into the input layer, the processing engine selects a content classification node that provides the largest content classification value among content classification nodes of the softmax classification layer. and change the weights so that the price of one content corresponds to a content price range to which it belongs.
제22항에 있어서,
상기 소프트맥스 분류 계층은 상기 복수의 출력값에 소프트맥스 함수를 적용해서 상기 컨텐츠 분류값들을 제공하도록 더 구성되는, 컨텐츠 추천을 위한 장치.
The method of claim 22,
wherein the softmax classification layer is further configured to provide the content classification values by applying a softmax function to the plurality of output values.
제22항에 있어서,
상기 소프트맥스 분류 계층은 복수의 컨텐츠 분류 노드를 포함하고, 상기 복수의 컨텐츠 분류 노드는 각각 상기 컨텐츠 분류값들을 제공하고,
상기 소프트맥스 분류 계층은, 상기 컨텐츠 분류값들 중 가장 큰 컨텐츠 분류값을 출력하는 컨텐츠 분류 노드를 판별하고 상기 판별된 컨텐츠 분류 노드에 대응되는 컨텐츠 가격 범위를 상기 구매 예상 컨텐츠 가격 범위로 결정하도록 더 구성되는, 컨텐츠 추천을 위한 장치.
The method of claim 22,
The softmax classification layer includes a plurality of content classification nodes, and each of the plurality of content classification nodes provides the content classification values;
The softmax classification layer further determines a content classification node outputting the largest content classification value among the content classification values and determines a content price range corresponding to the determined content classification node as the purchase expected content price range. A device for content recommendation, configured.
제22항에 있어서,
상기 프로세싱 엔진은, 상기 특정 컨텐츠의 현재 가격이 상기 식별된 구매 예상 컨텐츠 가격 범위에 속하는 경우 상기 특정 컨텐츠를 상기 특정 고객에게 추천하도록 더 구성되는, 컨텐츠 추천을 위한 장치.
The method of claim 22,
wherein the processing engine is further configured to recommend the specific content to the specific customer if the current price of the specific content falls within the identified purchase expected content price range.
프로그램을 기록한 컴퓨터 판독가능 기록매체로서, 상기 프로그램은 명령어들을 포함하고, 상기 명령어들은 컴퓨터에 의해 실행될 때 제1항 내지 제13항 중 어느 한 항에 따른 방법을 수행하는, 컴퓨터 판독가능 기록매체.
A computer-readable recording medium having a program recorded thereon, the program including instructions, which, when executed by a computer, perform the method according to any one of claims 1 to 13.
프로그램을 기록한 컴퓨터 판독가능 기록매체로서, 상기 프로그램은 명령어들을 포함하고, 상기 명령어들은 컴퓨터에 의해 실행될 때 제14항 내지 제21항 중 어느 한 항에 따른 방법을 수행하는, 컴퓨터 판독가능 기록매체.A computer-readable recording medium having a program recorded thereon, the program including instructions, which, when executed by a computer, perform the method according to any one of claims 14 to 21.
KR1020200041460A 2020-04-06 2020-04-06 Method and Apparatus for Deep Learning Based Content Recommendation KR102536499B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200041460A KR102536499B1 (en) 2020-04-06 2020-04-06 Method and Apparatus for Deep Learning Based Content Recommendation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200041460A KR102536499B1 (en) 2020-04-06 2020-04-06 Method and Apparatus for Deep Learning Based Content Recommendation

Publications (2)

Publication Number Publication Date
KR20210123803A KR20210123803A (en) 2021-10-14
KR102536499B1 true KR102536499B1 (en) 2023-05-24

Family

ID=78151412

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200041460A KR102536499B1 (en) 2020-04-06 2020-04-06 Method and Apparatus for Deep Learning Based Content Recommendation

Country Status (1)

Country Link
KR (1) KR102536499B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013109585A (en) * 2011-11-21 2013-06-06 Ntt Docomo Inc Recommendation content output device and recommendation content output method
US20180349492A1 (en) * 2017-06-02 2018-12-06 Apple Inc. Automatically Predicting Relevant Contexts For Media Items

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180121466A (en) * 2017-04-06 2018-11-07 네이버 주식회사 Personalized product recommendation using deep learning

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013109585A (en) * 2011-11-21 2013-06-06 Ntt Docomo Inc Recommendation content output device and recommendation content output method
US20180349492A1 (en) * 2017-06-02 2018-12-06 Apple Inc. Automatically Predicting Relevant Contexts For Media Items

Also Published As

Publication number Publication date
KR20210123803A (en) 2021-10-14

Similar Documents

Publication Publication Date Title
CN108629665B (en) Personalized commodity recommendation method and system
Cremonesi et al. Investigating the persuasion potential of recommender systems from a quality perspective: An empirical study
US20160364481A1 (en) Media content rankings for discovery of novel content
US10713560B2 (en) Learning a vector representation for unique identification codes
CN109417644B (en) Revenue optimization for cross-screen advertising
WO2015034850A2 (en) Feature selection for recommender systems
KR20190096952A (en) System and method for streaming personalized media content
CN102906779A (en) Auctioning segmented avails
KR20190070625A (en) Method and apparatus for recommending item using metadata
US11838591B2 (en) Methods and systems for recommendations based on user-supplied criteria
US10136189B2 (en) Method and system for re-aggregation and optimization of media
KR102380871B1 (en) Method and Apparatus for Recommendation of Similar Content Items
CN116739665A (en) Information delivery method and device, electronic equipment and storage medium
KR102536499B1 (en) Method and Apparatus for Deep Learning Based Content Recommendation
US20230316106A1 (en) Method and apparatus for training content recommendation model, device, and storage medium
US10820027B2 (en) Method and system for re-aggregation and optimization of media
KR102342485B1 (en) Method and Apparatus for Deep Learning Based Content Recommendation
KR102342492B1 (en) Method and Apparatus for Deep Learning Based Content Recommendation
KR102330059B1 (en) Method and device for recommending a poster
KR102391644B1 (en) Method and Apparatus for VOD Content Recommendation
Ferreira et al. Welfare properties of recommender systems: Theory and results from a randomized experiment
KR102357360B1 (en) Method and Apparatus for Deep Learning Based Real-time Program Recommendation
KR102399834B1 (en) Method and Apparatus for VOD Content Recommendation
KR102357357B1 (en) Method and Apparatus for Content Recommendation Based on User-Based Collaborative Filtering
KR102361593B1 (en) Method and Apparatus for Determining Whether to Automatically Play Recommended Content Based on Deep Learning

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant