KR20210059845A - Apparatus for recommending context-aware content based on deep learning and a method therefor - Google Patents

Apparatus for recommending context-aware content based on deep learning and a method therefor Download PDF

Info

Publication number
KR20210059845A
KR20210059845A KR1020190146717A KR20190146717A KR20210059845A KR 20210059845 A KR20210059845 A KR 20210059845A KR 1020190146717 A KR1020190146717 A KR 1020190146717A KR 20190146717 A KR20190146717 A KR 20190146717A KR 20210059845 A KR20210059845 A KR 20210059845A
Authority
KR
South Korea
Prior art keywords
content
vector
viewing time
viewing
layer
Prior art date
Application number
KR1020190146717A
Other languages
Korean (ko)
Inventor
표신지
Original Assignee
에스케이텔레콤 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이텔레콤 주식회사 filed Critical 에스케이텔레콤 주식회사
Priority to KR1020190146717A priority Critical patent/KR20210059845A/en
Publication of KR20210059845A publication Critical patent/KR20210059845A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/4668Learning process for intelligent management, e.g. learning user preferences for recommending movies for recommending content, e.g. movies
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/4662Learning process for intelligent management, e.g. learning user preferences for recommending movies characterized by learning algorithms
    • H04N21/4666Learning 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)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Biophysics (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

According to an embodiment of the present invention, a device for recommending context-aware content based on deep learning, comprises an artificial neural network including a cyclic layer for outputting a content vector representing content viewed after content in the last order among a plurality of contents with a predicted value through calculation applied with a weight on a plurality of content vectors when the content vectors representing the contents are input in a viewing order, and a merger layer for outputting, to an output layer, an output value calculated through calculation applied with a weight on the output content vector, and first and second viewing time vectors when the content vector output from the cyclic layer, the first viewing time vector representing a viewing time of content in the last order and the second viewing time vector representing a viewing time of next viewed content are input. Accordingly, various contents can be provided and content consumption can be activated.

Description

딥러닝 기반의 상황인지 컨텐츠 추천을 위한 장치 및 이를 위한 방법{Apparatus for recommending context-aware content based on deep learning and a method therefor}Apparatus for recommending context-aware content based on deep learning and a method therefor}

본 발명은 컨텐츠 추천 기술에 관한 것으로, 더욱 상세하게는 딥러닝 기반의 상황인지 컨텐츠 추천을 위한 장치 및 이를 위한 방법에 관한 것이다.The present invention relates to a content recommendation technology, and more particularly, to an apparatus and a method for recommending context-aware content based on deep learning.

딥러닝 또는 심층학습(deep structured learning, deep learning 또는 hierarchical learning)은 여러 비선형 변환 기법의 조합을 통해 높은 수준의 추상화를 시도하는 기계학습 알고리즘의 집합으로 정의되며, 큰 틀에서 사람의 사고방식을 컴퓨터에게 가르치는 기계 학습의 한 분야라고 이야기할 수 있다. 어떠한 데이터가 있을 때 이를 컴퓨터가 알아 들을 수 있는 형태로 표현하고 이를 학습에 적용하기 위해 많은 연구가 진행되고 있으며, 이러한 노력의 결과로 다양한 딥러닝 기법들이 다양한 분야에 적용되어 최첨단의 결과들을 보여주고 있다.Deep learning   or   deep structured learning (deep learning or hierarchical learning) is defined as a set of  machine learning  algorithms that attempt a high level of abstraction through a combination of several nonlinear transformation techniques. It can be said that it is a branch of machine learning that teaches students. When there is any data, a lot of research is being conducted to express it in a form that can be understood by a computer and apply it to learning.As a result of these efforts, various deep learning techniques are applied to various fields to show cutting-edge results. have.

한국공개특허 제2012-0124107호 2012년 11월 13일 공개 (명칭: 주문형 컨텐츠 추천 정보 제공 장치 및 방법)Korean Patent Laid-Open Patent No. 2012-0124107 published on November 13, 2012 (Name: Device and method for providing on-demand content recommendation information)

본 발명의 목적은 제조사별로 구현이 상이하여 특정 기능에서 문제가 발생하는 사용자장치를 기기의 종류 및 소프트웨어 버전으로 구분하고, 해당 사용자장치를 개별적으로 제어할 수 있는 장치 및 방법을 제공함에 있다. An object of the present invention is to provide an apparatus and method capable of dividing a user device having a problem in a specific function due to different implementations for each manufacturer into a device type and a software version, and individually controlling the corresponding user device.

상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 딥러닝 기반의 상황인지 컨텐츠 추천을 위한 장치는 시청 순서에 따라 복수의 컨텐츠를 나타내는 복수의 컨텐츠벡터가 입력되면, 상기 복수의 컨텐츠벡터에 대해 가중치가 적용되는 연산을 통해 예측값으로 상기 복수의 컨텐츠 중 마지막 순서의 컨텐츠의 다음 시청한 컨텐츠를 나타내는 컨텐츠벡터를 출력하는 순환계층과, 상기 순환계층에서 출력된 컨텐츠벡터, 상기 마지막 순서의 컨텐츠의 시청 시간을 나타내는 제1 시청시간벡터 및 상기 다음 시청한 컨텐츠의 시청 시간을 나타내는 제2 시청시간벡터가 입력되면, 상기 출력된 컨텐츠벡터, 상기 제1 시청시간벡터 및 상기 제2 시청시간벡터에 대해 가중치가 적용되는 연산을 통해 산출된 출력값을 출력계층으로 출력하는 병합계층을 포함하는 인공신경망을 포함한다. In the apparatus for recommending context-aware content according to a preferred embodiment of the present invention for achieving the above-described object, when a plurality of content vectors representing a plurality of contents are input according to a viewing order, the plurality of contents A cyclic layer for outputting a content vector representing the next viewed content of the content in the last order among the plurality of contents as a predicted value through an operation in which a weight is applied to the vector, a content vector output from the cyclic layer, and a content vector in the last order. When a first viewing time vector representing the viewing time of the content and a second viewing time vector representing the viewing time of the next viewed content are input, the output content vector, the first viewing time vector, and the second viewing time vector It includes an artificial neural network including a merge layer that outputs an output value calculated through an operation to which a weight is applied to the output layer.

사용자의 최근 시청 순서에 따른 복수의 컨텐츠를 나타내는 복수의 컨텐츠벡터를 상기 순환계층에 입력하고, 상기 최근 시청 순서 중 마지막 순서의 시청 시간을 나타내는 제3 시청시간벡터 및 추천 시청 시간을 나타내는 제4 시청시간벡터를 상기 병합계층에 입력하는 컨텐츠추천부;를 더 포함하며, 상기 인공신경망의 상기 순환계층은 상기 최근 시청 순서에 따라 입력된 복수의 컨텐츠벡터에 대해 각각이 가중치가 적용되는 복수의 연산을 통해 예측값으로 컨텐츠벡터를 출력하고, 상기 인공신경망의 상기 병합계층은 상기 예측값으로 출력된 컨텐츠벡터, 상기 제3 시청시간벡터 및 상기 제4 시청시간벡터에 대해 가중치가 적용되는 연산을 통해 상기 추천 시청 시간의 추천 컨텐츠를 나타내는 출력값을 출력계층으로 출력하는 것을 특징으로 한다. A plurality of content vectors representing a plurality of content according to the user's recent viewing order are input into the circulation layer, and a third viewing time vector representing the viewing time of the last order among the recent viewing order and a fourth viewing time representing the recommended viewing time And a content recommendation unit for inputting a time vector into the merge layer, wherein the circulatory layer of the artificial neural network performs a plurality of operations in which weights are applied to a plurality of content vectors input according to the latest viewing order. Through an operation in which a content vector is output as a predicted value, and the merging layer of the artificial neural network applies a weight to the content vector output as the predicted value, the third viewing time vector, and the fourth viewing time vector, the recommended viewing is performed. It is characterized in that the output value indicating the recommended content of time is output to the output layer.

상기 컨텐츠추천부는 상기 추천 시청 시간의 추천 컨텐츠를 나타내는 출력값에 따라 컨텐츠를 추출하고, 상기 추출된 컨텐츠를 사용자장치에 제공하는 것을 특징으로 한다. The content recommendation unit may extract content according to an output value indicating recommended content at the recommended viewing time, and provide the extracted content to a user device.

상기 순환계층은 복수의 연산모델을 포함하며, 상기 복수의 연산모델 각각은 입력값과 이전 연산모델의 예측값을 입력 받고, 가중치가 적용되는 하나 이상의 연산을 통해 예측값으로 다음 순서의 컨텐츠벡터를 도출하는 것을 특징으로 한다. The cyclic layer includes a plurality of computational models, and each of the plurality of computational models receives an input value and a predicted value of a previous computational model, and derives a content vector in the next order as a predicted value through one or more computations to which weights are applied. It is characterized by that.

상기 장치는 시청 이력에 포함된 컨텐츠를 소정의 벡터 공간에 임베딩(embedding)하여 컨텐츠벡터를 생성하는 컨텐츠벡터생성부와, 상기 시청 이력에서 컨텐츠의 시청 시간을 소정의 벡터 공간에 임베딩하여 시청시간벡터를 생성하는 시청시간벡터생성부를 더 포함한다. The device includes a content vector generator for generating a content vector by embedding content included in the viewing history into a predetermined vector space, and a viewing time vector by embedding the viewing time of the content from the viewing history into a predetermined vector space. It further includes a viewing time vector generator for generating.

상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 딥러닝 기반의 상황인지 컨텐츠 추천을 위한 방법은 인공신경망의 순환계층이 시청 순서에 따라 복수의 컨텐츠를 나타내는 복수의 컨텐츠벡터를 입력 받는 단계와, 상기 인공신경망의 순환계층이 상기 복수의 컨텐츠벡터에 대해 각각이 가중치가 적용되는 복수의 연산을 통해 예측값으로 컨텐츠벡터를 도출하는 단계와, 상기 인공신경망의 병합계층이 상기 도출된 컨텐츠벡터, 상기 복수의 컨텐츠 중 마지막 순서의 컨텐츠의 시청 시간을 나타내는 제1 시청시간벡터 및 상기 마지막 순서의 다음 시청한 컨텐츠의 시청 시간을 나타내는 제2 시청시간벡터를 입력 받는 단계와, 상기 인공신경망의 병합계층이 상기 도출된 컨텐츠벡터, 상기 시청비율벡터, 상기 제1 시청시간벡터 및 상기 제2 시청시간벡터에 대해 가중치가 적용되는 연산을 통해 출력값을 도출하는 단계를 포함한다. In a method for recommending context-aware content based on deep learning according to a preferred embodiment of the present invention for achieving the above-described object, the circulatory layer of the artificial neural network inputs a plurality of content vectors representing a plurality of contents according to the viewing order. Receiving and deriving a content vector as a predicted value through a plurality of calculations in which weights are applied to each of the plurality of content vectors by the circulatory layer of the artificial neural network, and the derived content by the merging layer of the artificial neural network. Receiving a vector, a first viewing time vector indicating a viewing time of a content in the last order among the plurality of contents, and a second viewing time vector indicating a viewing time of the next viewed content in the last order; and And deriving an output value through an operation in which a weight is applied to the derived content vector, the viewing rate vector, the first viewing time vector, and the second viewing time vector by the merging layer.

상기 출력값을 도출하는 단계 후, 컨텐츠추천부가 사용자의 최근 시청 순서에 따른 복수의 컨텐츠를 나타내는 복수의 컨텐츠벡터를 상기 순환계층에 입력하는 단계와, 상기 컨텐츠추천부가 상기 최근 시청 순서 중 마지막 순서의 시청 시간을 나타내는 제3 시청시간벡터 및 추천 시청 시간을 나타내는 제4 시청시간벡터를 상기 병합계층에 입력하는 단계와, 상기 인공신경망의 순환계층이 상기 복수의 컨텐츠벡터에 대해 각각이 가중치가 적용되는 복수의 연산을 통해 예측값으로 컨텐츠벡터를 도출하는 단계와, 상기 인공신경망의 병합계층이 상기 예측값으로 출력된 컨텐츠벡터, 상기 제3 시청시간벡터 및 상기 제4 시청시간벡터에 대해 가중치가 적용되는 연산을 통해 상기 추천 시청 시간의 추천 컨텐츠를 나타내는 출력값을 도출하는 단계를 더 포함한다. After the step of deriving the output value, the content recommendation unit inputs a plurality of content vectors representing a plurality of contents according to the user's recent viewing order into the circulation layer, and the content recommendation unit is viewed in the last order of the recent viewing order. Inputting a third viewing time vector representing time and a fourth viewing time vector representing recommended viewing time to the merge layer, and a plurality of circulatory layers of the artificial neural network to which weights are applied to the plurality of content vectors, respectively. Deriving a content vector as a predicted value through an operation of, and an operation in which a weight is applied to the content vector, the third viewing time vector, and the fourth viewing time vector output as the predicted value by the merging layer of the artificial neural network. And deriving an output value representing the recommended content of the recommended viewing time through.

상기 추천 시청 시간의 추천 컨텐츠를 나타내는 출력값을 도출하는 단계 후, 상기 컨텐츠추천부가 상기 추천 시청 시간의 추천 컨텐츠를 나타내는 출력값에 따라 컨텐츠를 추출하는 단계와, 상기 추출된 컨텐츠를 추천 시청 시간의 추천 컨텐츠로 사용자장치에 제공하는 단계를 더 포함한다. After the step of deriving an output value representing the recommended content of the recommended viewing time, the content recommendation unit extracting content according to an output value representing the recommended content of the recommended viewing time, and the extracted content is a recommended content of the recommended viewing time. The method further includes providing to the user device.

상기 예측값으로 컨텐츠벡터를 도출하는 단계는 상기 순환계층의 복수의 연산모델 각각이 입력값과 이전 연산모델의 예측값을 입력 받고, 가중치가 적용되는 하나 이상의 연산을 통해 예측값으로 다음 순서의 컨텐츠벡터를 도출하는 단계를 포함하는 것을 특징으로 한다. In the step of deriving the content vector as the predicted value, each of the plurality of computational models of the cyclic layer receives the input value and the predicted value of the previous computational model, and derives the content vector in the next order as a predicted value through one or more computations to which weights are applied It characterized in that it comprises the step of.

상기 복수의 컨텐츠벡터를 입력 받는 단계 전, 컨텐츠벡터생성부가 시청 이력에 포함된 컨텐츠를 소정의 벡터 공간에 임베딩(embedding)하여 복수의 컨텐츠벡터를 생성하는 단계와, 시청시간벡터생성부가 상기 시청 이력에서 컨텐츠의 시청 시간을 소정의 벡터 공간에 임베딩하여 시청시간벡터를 생성하는 단계를 더 포함한다.Before the step of receiving the plurality of content vectors, the content vector generation unit embeds the content included in the viewing history into a predetermined vector space to generate a plurality of content vectors, and the viewing time vector generation unit generates the viewing history. And generating a viewing time vector by embedding the viewing time of the content in a predetermined vector space.

본 발명에 따르면, 사용자의 컨텐츠 소비 특성과 시청 시간대 특성을 벡터화 하여 딥러닝 모델로 학습함으로써 사용자의 컨텐츠 소비 시간대에 따른 상황인지 기반 추천을 제공할 수 있으며, 시간의 흐름에 따른 다양한 컨텐츠 추천 목록을 구성하여 사용자에게 보다 다양한 컨텐츠들을 제공, 컨텐츠 소비를 활성화할 수 있다. 특히, 본 발명에 따른 딥러닝 기반의 상황인지 컨텐츠 추천을 위한 장치 및 이를 위한 방법은 단순히, 사용자가 선호하는 컨텐츠를 추천하는 것이 아니라, 각 시간대별로 사용자가 선호하는 컨텐츠를 구분하여 추천 시간에 적합한 추천 컨텐츠를 도출하여 제공할 수 있다. 이에 따라, 사용자에 대한 한 차원 더 높은 이해를 기반으로 하는 사용자 경험(UX)을 제공할 수 있다. According to the present invention, it is possible to provide context-aware-based recommendations according to the user's content consumption time period by vectorizing the user's content consumption characteristics and the viewing time period characteristics and learning with a deep learning model. By configuring, it is possible to provide more diverse contents to users and activate contents consumption. In particular, the device and method for recommending context-aware content based on deep learning according to the present invention do not simply recommend content that the user prefers, but divide the content that the user prefers for each time period to suit the recommendation time. Recommended content can be derived and provided. Accordingly, it is possible to provide a user experience (UX) based on a higher understanding of the user.

도 1은 본 발명의 실시예에 따른 딥러닝 기반의 상황인지 컨텐츠 추천을 위한 시스템을 설명하기 위한 도면이다.
도 2는 본 발명의 실시예에 따른 컨텐츠추천엔진의 구성을 설명하기 위한 블록도이다.
도 3은 본 발명의 실시예에 따른 인공신경망의 구성을 설명하기 위한 도면이다.
도 4는 본 발명의 실시예에 따른 인공신경망의 연산모델을 설명하기 위한 도면이다.
도 5는 본 발명의 실시예에 따른 딥러닝 기반의 상황인지 컨텐츠 추천을 위한 데이터 생성 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명의 실시예에 따른 상황인지 컨텐츠 추천을 위한 딥러닝 방법을 설명하기 위한 흐름도이다.
도 7은 본 발명의 실시예에 따른 딥러닝을 이용한 상황인지 컨텐츠 추천을 위한 방법을 설명하기 위한 흐름도이다.
1 is a diagram illustrating a system for recommending context-aware content based on deep learning according to an embodiment of the present invention.
2 is a block diagram illustrating a configuration of a content recommendation engine according to an embodiment of the present invention.
3 is a view for explaining the configuration of an artificial neural network according to an embodiment of the present invention.
4 is a diagram for explaining a computational model of an artificial neural network according to an embodiment of the present invention.
5 is a flowchart illustrating a method of generating data for recommending context-aware content based on deep learning according to an embodiment of the present invention.
6 is a flowchart illustrating a deep learning method for recommending context-aware content according to an embodiment of the present invention.
7 is a flowchart illustrating a method for recommending context-sensitive content using deep learning according to an embodiment of the present invention.

이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작 원리를 상세하게 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 핵심을 흐리지 않고 더욱 명확히 전달하기 위함이다. 또한 본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 하나, 이는 본 발명을 특정한 실시 형태로 한정하려는 것은 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings in which a person of ordinary skill in the art can easily implement the present invention. However, when it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present invention in describing the operating principle of the preferred embodiment of the present invention in detail, the detailed description thereof will be omitted. This is to convey more clearly without obscuring the core of the present invention by omitting unnecessary description. In addition, the present invention is intended to illustrate specific embodiments in the drawings and describe in detail in the detailed description, as various changes may be made and various embodiments may be applied, but this is not intended to limit the present invention to specific embodiments, It is to be understood as including all changes, equivalents, and substitutes included in the spirit and scope of the present invention.

더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을 의미한다. 다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다. In addition, when a component is referred to as being "connected" or "connected" to another component, it means that it is logically or physically connected, or can be connected. In other words, it should be understood that a component may be directly connected or connected to another component, but another component may exist in the middle, or may be indirectly connected or connected.

또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함 한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. In addition, terms used in the present specification are used only to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In addition, terms such as "comprises" or "have" described herein are intended to designate the existence of features, numbers, steps, actions, components, parts, or a combination thereof described in the specification. It is to be understood that the above other features or the possibility of the presence or addition of numbers, steps, actions, components, parts, or combinations thereof are not preliminarily excluded.

이제 본 발명의 실시 예에 따른 채널 상태 정보 수신 방법 및 이를 지원하는 장치에 대하여 도면을 참조하여 상세하게 설명하도록 한다. 이때, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용하며, 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 발명의 개념이 모호해지는 것을 피하기 위하여 공지의 구조 및 장치는 생략되거나, 각 구조 및 장치의 핵심기능을 중심으로 한 블록도 형식으로 도시 될 수 있다. Now, a method for receiving channel state information and an apparatus supporting the same according to an embodiment of the present invention will be described in detail with reference to the drawings. In this case, the same reference numerals are used for portions having similar functions and functions throughout the drawings, and redundant descriptions thereof will be omitted. In addition, in order to avoid obscuring the concept of the present invention, well-known structures and devices may be omitted, or a block diagram centering on the core functions of each structure and device may be shown.

먼저, 본 발명의 실시예에 따른 딥러닝 기반의 상황인지 컨텐츠 추천을 위한 시스템에 대해서 설명하기로 한다. 도 1은 본 발명의 실시예에 따른 딥러닝 기반의 상황인지 컨텐츠 추천을 위한 시스템을 설명하기 위한 도면이다. 도 1을 참조하면, 본 발명의 실시예에 따른 딥러닝 기반의 상황인지 컨텐츠 추천을 위한 시스템은 컨텐츠서버(10) 및 사용자장치(20)를 포함한다. First, a system for recommending context-aware content based on deep learning according to an embodiment of the present invention will be described. 1 is a diagram illustrating a system for recommending context-aware content based on deep learning according to an embodiment of the present invention. Referring to FIG. 1, a system for recommending context-aware content based on deep learning according to an embodiment of the present invention includes a content server 10 and a user device 20.

사용자장치(20)는 이동통신단말기, 멀티미디어 단말기, 유선 단말기, 고정형 단말기 및 IP(Internet Protocol) 단말기 등을 비롯한 모든 정보통신기기에 적용될 수 있다. 일례로, 사용자장치(20)는 휴대폰, PMP(Portable Multimedia Player), MID(Mobile Internet Device), 스마트폰(Smart Phone), 태블릿 PC, 패블릿 PC, 노트북, 퍼스널컴퓨터 등을 예시할 수 있다. The user device 20 can be applied to all information and communication devices including mobile communication terminals, multimedia terminals, wired terminals, fixed terminals, and Internet Protocol (IP) terminals. For example, the user device 20 may be a mobile phone, a portable multimedia player (PMP), a mobile internet device (MID), a smart phone, a tablet PC, a phablet PC, a notebook computer, a personal computer, and the like.

여기서, 컨텐츠서버(10)는 네트워크 상에 존재하는 하나의 엔티티로, 웹 서버(web server), 데이터베이스 서버(database server) 및 애플리케이션 서버(application server)의 역할을 수행한다. 바람직한 일 실시예에 따르면, 컨텐츠서버(10)는 사용자장치(20)에 다양한 컨텐츠를 제공하고, 제공된 컨텐츠에 대한 사용자의 시청 이력을 저장하며, 그 시청 이력을 기초로 사용자가 선호하는 컨텐츠를 추천할 수 있다. 이를 위하여, 컨텐츠서버(10)는 컨텐츠추천엔진(100), 인공신경망(200), 시청이력DB(300) 및 컨텐츠DB(400)를 포함한다. Here, the content server 10 is an entity existing on the network and serves as a web server, a database server, and an application server. According to a preferred embodiment, the content server 10 provides various content to the user device 20, stores the user's viewing history for the provided content, and recommends the user's preferred content based on the viewing history. can do. To this end, the content server 10 includes a content recommendation engine 100, an artificial neural network 200, a viewing history DB 300, and a content DB 400.

컨텐츠DB(400)는 컨텐츠를 저장하거나, 그 컨텐츠가 저장된 위치를 가지는 메타데이터를 저장한다. 기본적으로, 컨텐츠추천엔진(100)은 사용자가 원하는 컨텐츠를 컨텐츠DB(400)를 통해 검색한 후, 사용자장치(20)에 제공할 수 있다. The content DB 400 stores content or metadata having a location where the content is stored. Basically, the content recommendation engine 100 may search for the content desired by the user through the content DB 400 and then provide it to the user device 20.

시청이력DB(300)는 각 사용자가 시청한 컨텐츠 및 해당 컨텐츠를 시청한 시청 시간을 포함하는 시청 이력을 저장한다. The viewing history DB 300 stores a viewing history including content viewed by each user and a viewing time of viewing the content.

인공신경망(200)은 각 사용자의 시간 별 선호 컨텐츠를 예측하기 위한 것이다. 컨텐츠추천엔진(100)은 시청이력DB(300)에 저장된 시청 이력을 학습 데이터로 인공신경망(200)을 학습(deep learning)시킬 수 있다. 그리고 컨텐츠추천엔진(100)은 인공신경망(200)에 대한 학습이 완료된 후, 사용자장치(20)가 접속하면, 인공신경망(200)을 통해 사용자장치(20)가 접속한 시간에 대응하는 사용자 선호 컨텐츠를 도출하고, 이를 사용자장치(20)에 제공할 수 있다. The artificial neural network 200 is for predicting each user's preferred content for each time period. The content recommendation engine 100 may deep learn the artificial neural network 200 using the viewing history stored in the viewing history DB 300 as learning data. In addition, when the user device 20 is connected after learning about the artificial neural network 200 is completed, the content recommendation engine 100 is a user preference corresponding to the time when the user device 20 is connected through the artificial neural network 200. Content can be derived and provided to the user device 20.

그러면, 전술한 컨텐츠추천엔진(100)의 구성에 대해 보다 상세하게 설명하기로 한다. 도 2는 본 발명의 실시예에 따른 컨텐츠추천엔진(100)의 구성을 설명하기 위한 블록도이다. 도 2를 참조하면, 컨텐츠추천엔진(100)은 시청이력전처리부(110), 컨텐츠벡터생성부(120), 시청비율벡터생성부(130), 시청시간벡터생성부(140), 딥러닝모델학습부(150) 및 컨텐츠추천부(160)를 포함한다. Then, the configuration of the above-described content recommendation engine 100 will be described in more detail. 2 is a block diagram illustrating the configuration of a content recommendation engine 100 according to an embodiment of the present invention. Referring to FIG. 2, the content recommendation engine 100 includes a viewing history preprocessing unit 110, a content vector generation unit 120, a viewing rate vector generation unit 130, a viewing time vector generation unit 140, and a deep learning model. It includes a learning unit 150 and a content recommendation unit 160.

시청이력전처리부(110)는 시청이력DB(300)로부터 소정 기간(예컨대, 6개월)의 각 사용자가 시청한 컨텐츠 및 해당 컨텐츠를 시청한 시청 시간을 포함하는 시청 이력을 추출하여 시간 순서에 따라 정렬한다. 예컨대, 사용자 A에 대해 다음의 표 1과 같이 시청한 컨텐츠와 시청 시간을 매핑하여 시청 시간에 따라 시청 이력을 정렬할 수 있다. The viewing history pre-processing unit 110 extracts the viewing history including the content viewed by each user for a predetermined period (eg, 6 months) and the viewing time of viewing the content from the viewing history DB 300 according to the time sequence. Align. For example, as shown in Table 1 below, for user A, the viewing history may be arranged according to the viewing time by mapping the viewed content and the viewing time.

컨텐츠contents C1C1 C3C3 C1C1 C7C7 시청시간Viewing time 2019.10.10.
13:45
October 10, 2019
13:45
2019.10.10.
19:30
October 10, 2019
19:30
2019.10.11.
18:45
October 11, 2019
18:45
2019.10.12.
20:03
2019.10.12.
20:03

컨텐츠벡터생성부(120)는 각 사용자의 시청 이력에 포함된 복수의 컨텐츠를 소정의 벡터 공간에 임베딩(embedding)하여 복수의 컨텐츠벡터를 생성한다. 예를 들면, 컨텐츠벡터는 [0.11, 0.11, -0.20. -0.27, 0.09, -0.19, 0.26]와 같이 7차원의 벡터가 될 수 있다. 즉, 본 발명의 실시예에 따르면, 컨텐츠를 word2vec와 같은 기법을 통해 벡터 공간 상에 임베딩하여 컨텐츠벡터를 생성한다. 이에 따라, 컨텐츠벡터의 벡터 표현은 "Dense representation"으로 이루어진다. 하지만, 본 발명을 이에 한정하는 것은 아니다. 이 기술분야에서 통상의 지식을 가진자라면, 필요에 따라 본 발명의 실시예에 따른 컨텐츠벡터를 예컨대, 원핫인코딩(one-hot encoding)과 같은 "Sparse representation"으로 표현할 수도 있다는 것을 이해할 수 있을 것이다. 시청비율벡터생성부(130)는 시청이력전처리부(110)로부터 제공되는 사용자의 시청 이력을 벡터 공간에 임베딩하여 사용자가 시청한 컨텐츠의 시청 비율에 따라 컨텐츠 시청 비율을 나타내는 시청비율벡터를 생성한다. 이때, 시청비율벡터생성부(130)는 사용자의 시청 이력을 문서(document)로 상정하고, 사용자가 시청한 컨텐츠들을 문서 내의 단어(word)로 상정하여 Doc2Vec에 따라 시청 이력으로부터 시청비율벡터를 생성할 수 있다. 즉, 이러한 시청비율벡터는 각 사용자를 정의한 토픽의 개수(K개)에 대한 비율(proportion)로 표현할 수 있다. 예컨대, 사용자가 총 100회의 컨텐츠를 시청하였으며, 제1 컨텐츠 내지 제7 컨텐츠를 각각 21회, 15화, 12회, 5회, 21회, 23회 그리고 3회 시청하였다면, 시청비율벡터는 [0.21, 0.15, 0.12, 0.05, 0.21, 0.23, 0.03]가 될 수 있다. 이러한 시청비율벡터는 시청 횟수가 누적됨에 따라 지속적으로 갱신될 수 있다. 따라서 시청비율벡터는 사용자 별 토픽 비율로 사용자의 장기적 컨텐츠 소비 특성으로 사용된다. The content vector generation unit 120 generates a plurality of content vectors by embedding a plurality of contents included in the viewing history of each user in a predetermined vector space. For example, the content vector is [0.11, 0.11, -0.20. It can be a 7-dimensional vector such as -0.27, 0.09, -0.19, 0.26]. That is, according to an embodiment of the present invention, a content vector is generated by embedding content in a vector space through a technique such as word2vec. Accordingly, the vector representation of the content vector is made of “Dense representation”. However, the present invention is not limited thereto. Those of ordinary skill in the art will appreciate that the content vector according to the embodiment of the present invention may be expressed as a "Sparse representation" such as, for example, one-hot encoding, if necessary. . The viewing rate vector generation unit 130 embeds the viewing history of the user provided from the viewing history preprocessing unit 110 in the vector space to generate a viewing rate vector representing the content viewing rate according to the viewing rate of the content viewed by the user. . At this time, the viewing rate vector generation unit 130 assumes the user's viewing history as a document, assumes the content viewed by the user as a word in the document, and generates a viewing rate vector from the viewing history according to Doc2Vec. can do. That is, such a viewing rate vector can be expressed as a proportion to the number (K) of topics defined for each user. For example, if a user has viewed a total of 100 contents and viewed the first to seventh contents 21 times, 15 episodes, 12 times, 5 times, 21 times, 23 times, and 3 times, respectively, the audience rate vector is [0.21] , 0.15, 0.12, 0.05, 0.21, 0.23, 0.03]. Such a viewing rate vector may be continuously updated as the number of viewings is accumulated. Therefore, the viewing rate vector is a topic rate for each user and is used as a long-term content consumption characteristic of users.

시청시간벡터생성부(140)는 시청이력전처리부(110)로부터 제공되는 사용자의 시청 이력에서 컨텐츠의 시청 시간을 소정의 벡터 공간에 임베딩(embedding)하여 시청시간벡터를 생성한다. The viewing time vector generation unit 140 generates a viewing time vector by embedding the viewing time of the content in a predetermined vector space from the viewing history of the user provided from the viewing history preprocessing unit 110.

일례로, 시청시간벡터생성부(140)는 일주일을 주중과 주말로 구분하고, 24시간을 6시간 단위로 새벽, 오전, 오후, 저녁으로 구분하여 다음의 표 2와 같이, 시청시간벡터를 생성할 수 있다. As an example, the viewing time vector generation unit 140 divides a week into weekdays and weekends, divides 24 hours into 6 hours in the morning, morning, afternoon, and evening, and generates a viewing time vector as shown in Table 2 below. can do.

시청시간벡터Viewing time vector 시청 시간Viewing time 벡터 표현Vector representation T1T1 주중(월~금) 새벽(0~6시)Weekdays (Mon-Fri) early morning (0-6 o'clock) [1, 0, 0, 0, 0, 0, 0, 0][1, 0, 0, 0, 0, 0, 0, 0] T2T2 주중(월~금) 오전(6~12시)Weekdays (Mon-Fri) morning (6-12 o'clock) [0, 1, 0, 0, 0, 0, 0, 0][0, 1, 0, 0, 0, 0, 0, 0] T3T3 주중(월~금) 오후(12~18시)Weekdays (Mon-Fri) Afternoon (12-18:00) [0, 0, 1, 0, 0, 0, 0, 0][0, 0, 1, 0, 0, 0, 0, 0] T4T4 주중(월~금) 저녁(18~24시)Weekdays (Mon-Fri) Evening (18-24) [0, 0, 0, 1, 0, 0, 0, 0][0, 0, 0, 1, 0, 0, 0, 0] T5T5 주말(토~일) 새벽(0~6시)Weekend (Sat~Sun) Dawn (0~6) [0, 0, 0, 0, 1, 0, 0, 0][0, 0, 0, 0, 1, 0, 0, 0] T6T6 주말(토~일) 오전(6~12시)Weekend (Sat-Sun) morning (6-12 o'clock) [0, 0, 0, 0, 0, 1, 0, 0][0, 0, 0, 0, 0, 1, 0, 0] T7T7 주말(토~일) 오후(12~18시)Weekend (Sat~Sun) Afternoon (12~18:00) [0, 0, 0, 0, 0, 0, 1, 0][0, 0, 0, 0, 0, 0, 1, 0] T8T8 주말(토~일) 저녁(18~24시)Weekend (Sat-Sun) Evening (18-24) [0, 0, 0, 0, 0, 0, 0, 1][0, 0, 0, 0, 0, 0, 0, 1]

표 2에 보인 바와 같이, 시청시간벡터는 8차원 원핫인코딩(one-hot encoding) 벡터로 표현될 수 있다. 예컨대, 표 3에 따르면, 특정 컨텐츠를 2018.12.15 토요일 19:00에 시청한 경우, 시청시간벡터는 T8 [0,0,0,0,0,0,0,1]이 될 수 있다. 딥러닝모델학습부(150)는 인공신경망(200)을 학습시키기 위한 것이다. 딥러닝모델학습부(150)는 학습 데이터를 인공신경망(200)에 입력하고, 인공신경망(200)의 출력값과 학습 데이터에 상응하는 목표값을 비교하여 출력값과 목표값의 차이가 최소가 되도록 인공신경망(200)의 복수의 가중치를 수정한다. As shown in Table 2, the viewing time vector may be expressed as an 8-dimensional one-hot encoding vector. For example, according to Table 3, when a specific content is viewed on Saturday, December 15, 2018 at 19:00, the viewing time vector may be T8 [0,0,0,0,0,0,0,1]. The deep learning model learning unit 150 is for training the artificial neural network 200. The deep learning model learning unit 150 inputs the training data into the artificial neural network 200 and compares the output value of the artificial neural network 200 with a target value corresponding to the training data, so that the difference between the output value and the target value is minimized. A plurality of weights of the neural network 200 are modified.

컨텐츠추천부(160)는 학습이 완료된 인공신경망(200)을 이용하여 사용자가 시청하고자 하는 시간인 추천 시간에 사용자가 선호하는 추천 컨텐츠를 도출하기 위하 것이다. 컨텐츠추천부(160)는 최근 시청 이력을 인공신경망(200)에 입력한 후, 인공신경망(200)의 출력값을 통해 추천 시청 시간의 추천 컨텐츠를 도출한다. The content recommendation unit 160 is to derive recommended content that the user prefers at a recommendation time, which is a time that the user wants to watch, using the artificial neural network 200 on which the learning has been completed. The content recommendation unit 160 inputs the recent viewing history into the artificial neural network 200 and then derives recommended content of the recommended viewing time through the output value of the artificial neural network 200.

그러면, 본 발명의 실시예에 따른 인공신경망(200)에 대해서 보다 상세하게 설명하기로 한다. 도 3은 본 발명의 실시예에 따른 인공신경망의 구성을 설명하기 위한 도면이다. 도 4는 본 발명의 실시예에 따른 인공신경망의 연산모델을 설명하기 위한 도면이다. 도 3을 참조하면, 본 발명의 실시예에 따른 인공신경망(200)은 순환계층(210), 병합계층(220) 및 출력계층(230)을 포함한다. Then, the artificial neural network 200 according to an embodiment of the present invention will be described in more detail. 3 is a view for explaining the configuration of an artificial neural network according to an embodiment of the present invention. 4 is a diagram for explaining a computational model of an artificial neural network according to an embodiment of the present invention. Referring to FIG. 3, an artificial neural network 200 according to an embodiment of the present invention includes a circulatory layer 210, a merge layer 220, and an output layer 230.

순환계층(210)은 시청 순서에 따라 정렬된 복수의 컨텐츠벡터를 입력 받고, 입력된 복수의 컨텐츠벡터에 대해 각각이 가중치가 적용되는 복수의 연산을 통해 예측값으로 컨텐츠벡터를 출력한다. 이러한 순환계층(210)은 RNN(Recurrent Neural Network, 순환신경망), LTSM(Long Short-Term Memory models), GRU(Gated recurrent unit) 등으로 구현될 수 있다. The cyclic layer 210 receives a plurality of content vectors arranged according to the viewing order, and outputs a content vector as a predicted value through a plurality of operations in which a weight is applied to each of the plurality of input content vectors. The circulatory layer 210 may be implemented as a recurrent neural network (RNN), long short-term memory models (LTSM), a gated recurrent unit (GRU), or the like.

순환계층(210)은 복수의 연산모델(211)을 포함한다. 연산모델(211)은 가중치(W: Weight)가 적용되는 하나 이상의 연산으로 이루어진다. 여기서, 연산은 활성화함수(Activation Function)를 이용한 연산을 의미한다. 활성화함수는 시그모이드(Sigmoid) 함수, 하이퍼볼릭탄젠트(tanh: Hyperbolic tangent) 함수, ReLU(Rectified Linear Unit) 함수, Leakly ReLU 함수, PReLU 함수, ELU(Exponential Linear Unit) 함수, Softmax 함수, Maxout 함수, Minout 함수 등을 예시할 수 있다. 또한, 가중치는 전술한 활성화함수의 입력 혹은 출력에 적용될 수 있다. The circulation layer 210 includes a plurality of computational models 211. The calculation model 211 consists of one or more calculations to which a weight (W) is applied. Here, the operation means an operation using an activation function. The activation function is a sigmoid function, a hyperbolic tangent (tanh) function, a ReLU (Rectified Linear Unit) function, a Leakly ReLU function, a PReLU function, an ELU (Exponential Linear Unit) function, a Softmax function, and a Maxout function. , Minout function, etc. can be illustrated. In addition, the weight can be applied to the input or output of the above-described activation function.

연산모델(211)은 이전 연산모델(211)의 예측값인 컨텐츠벡터와 현재 순서의 컨텐츠벡터를 입력 받고, 가중치가 적용되는 하나 이상의 연산을 통해 예측값으로 다음 순서의 컨텐츠벡터를 산출한다. The computational model 211 receives a content vector that is a predicted value of the previous computational model 211 and a content vector in the current sequence, and calculates a content vector in the next sequence as a predicted value through one or more computations to which weights are applied.

복수의 연산모델(211)은 순차로 연결되며, 순차로 연결된 복수의 연산모델(211) 각각은 순서를 가지는 복수의 컨텐츠벡터 각각을 입력값으로 입력 받는다. 예컨대, 도 3에 도시된 바와 같이, 순차로 연결된 복수의 연산모델(211) 각각은 순서를 가지는 복수의 컨텐츠벡터 [-0.01, 0.26, -0.264, 0.12, 0.269, 0, 0.032], [0.34, 0.202, 0.04, 0.31, - 0.41, 0.303, 0.108], [0.211, 0.12, - 0.24, 0.31, 0.51, - 0.43, 0.108], [0.11, 0.02, 0.22, 0.31, - 0.39, 0.03, 0.08]를 입력 받을 수 있다. The plurality of calculation models 211 are connected in sequence, and each of the plurality of calculation models 211 connected in sequence receives each of a plurality of content vectors having an order as an input value. For example, as shown in FIG. 3, each of a plurality of computational models 211 connected in sequence is a plurality of content vectors having an order [-0.01, 0.26, -0.264, 0.12, 0.269, 0, 0.032], [0.34, Enter 0.202, 0.04, 0.31,-0.41, 0.303, 0.108], [0.211, 0.12,-0.24, 0.31, 0.51,-0.43, 0.108], [0.11, 0.02, 0.22, 0.31,-0.39, 0.03, 0.08] I can receive it.

특히, 연산모델(211)은 컨텐츠벡터인 입력값과 이전 연산모델(211)의 예측값을 입력 받고, 가중치가 적용되는 하나 이상의 연산을 통해 예측값으로 다음 순서의 컨텐츠벡터를 도출한다. 예컨대, 도 4에 도시된 바와 같이, 연산모델(211)은 입력값 Xt인 컨텐츠벡터 [0.211, 0.12, - 0.24, 0.31, 0.51, - 0.43, 0.108]와 이전 연산모델(211)의 예측값 Ht-1인 컨텐츠벡터 [0.01, -0.11, 0.17, -0.21, 0.39, 0.231, 0.19]를 입력 받고, 가중치가 적용되는 하나 이상의 연산을 통해 예측값 Ht로 다음 순서의 컨텐츠벡터 [0.11, 0.25, 0.222, 0.15, -0.112, 0.24, -0.03]를 도출한다. In particular, the computational model 211 receives an input value that is a content vector and a predicted value of the previous computational model 211, and derives a content vector in the next order as a predicted value through one or more computations to which weights are applied. For example, as shown in FIG. 4, the computational model 211 includes a content vector [0.211, 0.12,-0.24, 0.31, 0.51,-0.43, 0.108], which is an input value Xt, and a predicted value Ht- of the previous computational model 211. One content vector [0.01, -0.11, 0.17, -0.21, 0.39, 0.231, 0.19] is input, and the next order of content vectors [0.11, 0.25, 0.222, 0.15] as the predicted value Ht through one or more operations to which weights are applied. , -0.112, 0.24, -0.03].

복수의 연산모델(211) 각각은 도 4에서 예시한 바와 같이 가중치가 적용되는 연산을 수행하여 예측값을 도출한다. 이에 따라, 마지막 연산모델(211)은 예측값으로 복수의 컨텐츠벡터 중 마지막 컨텐츠벡터의 다음 컨텐츠벡터를 도출한다. 예컨대, 도 3에 도시된 바와 같이, 마지막 컨텐츠벡터 [0.11, 0.02, 0.22, 0.31, - 0.39, 0.03, 0.08]의 다음 컨텐츠벡터를 예측한다. 예컨대, 도 3에 도시된 바와 같이, 도출된 예측값은 컨텐츠벡터 [0.01, 0.35, 0.442, 0.07, - 0.39, - 0.433, 0.108]가 될 수 있다. 도출된 예측값은 병합계층(220)에 입력된다. Each of the plurality of calculation models 211 derives a predicted value by performing an operation to which a weight is applied as illustrated in FIG. 4. Accordingly, the last computational model 211 derives a content vector next to the last content vector among a plurality of content vectors as predicted values. For example, as shown in FIG. 3, the next content vector of the last content vector [0.11, 0.02, 0.22, 0.31,-0.39, 0.03, 0.08] is predicted. For example, as shown in FIG. 3, the derived predicted value may be a content vector [0.01, 0.35, 0.442, 0.07,-0.39,-0.433, 0.108]. The derived predicted value is input to the merge layer 220.

병합계층(220)은 순환계층(210)이 도출한 예측값인 컨텐츠벡터와, 시청비율벡터 및 시청시간벡터를 입력 받고, 가중치가 적용되는 연산을 통해 출력값으로 컨텐츠벡터를 도출한다. The merging layer 220 receives a content vector, which is a predicted value derived by the cyclic layer 210, a viewing rate vector, and a viewing time vector, and derives a content vector as an output value through an operation to which a weight is applied.

여기서, 시청시간벡터는 최후 시청시간벡터 및 추천 시청시간벡터를 포함한다. 최후 시청시간벡터는 순환계층(210)에 입력되는 마지막 컨텐츠벡터의 컨텐츠를 시청한 시간을 나타낸다. 추천 시청시간벡터는 인공신경망(200)을 통해 도출하고자 하는 추천 컨텐츠의 추천 시청 시간을 나타낸다. Here, the viewing time vector includes a last viewing time vector and a recommended viewing time vector. The last viewing time vector represents the viewing time of the content of the last content vector input to the circulation layer 210. The recommended viewing time vector represents the recommended viewing time of the recommended content to be derived through the artificial neural network 200.

이러한 병합계층(220)은 예컨대, 완전연결계층(Fully-connected layer)이 될 수 있다. 따라서 병합계층(220)은 컨텐츠벡터, 시청비율벡터 및 시청시간벡터 각각에 대응하는 복수의 노드를 포함한다 예컨대, 컨텐츠벡터, 시청비율벡터 각각이 길이 7의 벡터이고, 2개의 시청시간벡터(최후 시청시간벡터 및 추천 시청시간벡터)가 각각 길이 8의 벡터이면, 병합계층(220)은 30개의 연산 노드로 이루어질 수 있다. 이러한 병합계층(220)의 30개의 연산 노드에 의한 연산을 통해 출력값으로 컨텐츠벡터를 도출한다. The merged layer 220 may be, for example, a fully-connected layer. Accordingly, the merge layer 220 includes a plurality of nodes corresponding to each of the content vector, the viewing rate vector, and the viewing time vector. For example, the content vector and the viewing rate vector are a vector of length 7, and two viewing time vectors (last If the viewing time vector and the recommended viewing time vector) are vectors of length 8, respectively, the merge layer 220 may consist of 30 computation nodes. A content vector is derived as an output value through the operation by the 30 operation nodes of the merge layer 220.

출력계층(230)은 병합계층(220)의 출력값을 저장한다. 출력계층(230)은 복수의 출력 노드를 포함하며, 복수의 출력 노드 각각은 서로 다른 컨텐츠에 대응한다. 그리고 복수의 출력 노드 각각의 값은 해당 컨텐츠가 추천 시청시간벡터에 대응하는 추천 시청 시간에 사용자가 선호하는 컨텐츠일 확률을 나타낸다. 예를 들면, 컨텐츠를 7개의 컨텍츠를 가정하면, 출력계층(230)은 7개의 출력 노드, 즉, 제1 내지 제7 출력 노드로 이루어질 수 있다. 이에 따라, 제1 내지 제7 출력 노드는 각각 제1 내지 제7 컨텐츠에 대응하며, 제1 내지 제7 출력 노드의 값이 0.01, 0.02, 0.04, 0.31, 0.51, 0.03, 0.08이라면, 추천 시청시간벡터에 대응하는 시청 시간에 사용자가 선호하는 컨텐츠일 확률은 제1 컨텐츠가 1%, 제2 컨텐츠가 2%, 제3 컨텐츠가 4%, 제4 컨텐츠가 31%, 제5 컨텐츠가 51%, 제6 컨텐츠가 3% 그리고 제7 컨텐츠가 8%이다. The output layer 230 stores an output value of the merge layer 220. The output layer 230 includes a plurality of output nodes, and each of the plurality of output nodes corresponds to different contents. In addition, the values of each of the plurality of output nodes indicate a probability that the corresponding content is a content preferred by a user at a recommended viewing time corresponding to the recommended viewing time vector. For example, assuming that the content is seven contacts, the output layer 230 may include seven output nodes, that is, first to seventh output nodes. Accordingly, the first to seventh output nodes respectively correspond to the first to seventh content, and if the values of the first to seventh output nodes are 0.01, 0.02, 0.04, 0.31, 0.51, 0.03, 0.08, recommended viewing time The probability of the content that the user prefers at the viewing time corresponding to the vector is 1% for the first content, 2% for the second content, 4% for the third content, 31% for the fourth content, 51% for the fifth content, The 6th content is 3% and the 7th content is 8%.

다음으로, 본 발명의 실시예에 따른 딥러닝 기반의 상황인지 컨텐츠 추천을 위한 방법에 대해서 설명하기로 한다. Next, a method for recommending content based on deep learning according to an embodiment of the present invention will be described.

먼저, 본 발명의 실시예에 따른 딥러닝 기반의 상황인지 컨텐츠 추천을 위한 데이터 생성 방법에 대해서 설명하기로 한다. 도 5는 본 발명의 실시예에 따른 딥러닝 기반의 상황인지 컨텐츠 추천을 위한 데이터 생성 방법을 설명하기 위한 흐름도이다. First, a method of generating data for recommending context-aware content based on deep learning according to an embodiment of the present invention will be described. 5 is a flowchart illustrating a method of generating data for recommending context-aware content based on deep learning according to an embodiment of the present invention.

도 5를 참조하면, 시청이력전처리부(110)는 S110 단계에서 시청이력DB(300)로부터 소정 기간(예컨대, 6개월)의 각 사용자가 시청한 컨텐츠 및 해당 컨텐츠를 시청한 시청 시간을 포함하는 시청 이력을 추출하여 시간 순서에 따라 정렬한다. 예컨대, 사용자 A에 대해 상기한 표 1과 같이 시청한 컨텐츠와 시청 시간을 매핑하여 시청 시간에 따라 시청 이력을 정렬할 수 있다. Referring to FIG. 5, the viewing history preprocessor 110 includes content viewed by each user for a predetermined period (eg, 6 months) from the viewing history DB 300 in step S110 and a viewing time for viewing the content. The viewing history is extracted and sorted in chronological order. For example, as shown in Table 1 above, for user A, the viewing history may be sorted according to the viewing time by mapping the viewed content and viewing time.

다음으로, 컨텐츠벡터생성부(120)는 S120 단계에서 시청이력전처리부(110)로부터 제공되는 사용자의 시청 이력에 포함된 컨텐츠를 소정의 벡터 공간에 임베딩(embedding)하여 컨텐츠벡터를 생성한다. 예를 들면, 컨텐츠벡터생성부(120)는 "Dense representation"에 따라 [0.11, 0.11, -0.20. -0.27, 0.09, -0.19, 0.26]와 같이 7차원의 컨텐츠벡터를 생성할 수 있다. Next, the content vector generation unit 120 generates a content vector by embedding the content included in the user's viewing history provided from the viewing history preprocessor 110 in a predetermined vector space in step S120. For example, the content vector generation unit 120 may select [0.11, 0.11, -0.20. -0.27, 0.09, -0.19, 0.26] can generate 7-dimensional content vectors.

그리고 시청비율벡터생성부(130)는 S130 단계에서 시청이력전처리부(110)로부터 제공되는 사용자의 시청 이력을 벡터 공간에 임베딩하여 사용자가 시청한 컨텐츠의 시청 비율에 따라 컨텐츠 시청 비율을 나타내는 시청비율벡터를 생성한다. 즉, 시청비율벡터생성부(130)는 각 사용자를 각 토픽에 속하는 컨텐츠를 시청한 비율을 나타내는 시청비율벡터를 생성할 수 있다. In addition, the viewing rate vector generation unit 130 embeds the viewing history of the user provided from the viewing history preprocessing unit 110 in the vector space in step S130 to indicate the content viewing rate according to the viewing rate of the content viewed by the user. Create a vector. That is, the viewing rate vector generation unit 130 may generate a viewing rate vector indicating a rate at which each user has viewed content belonging to each topic.

이어서, 시청시간벡터생성부(140)는 S140 단계에서 시청이력전처리부(110)로부터 제공되는 사용자의 시청 이력에서 컨텐츠의 시청 시간을 소정의 벡터 공간에 임베딩(embedding)하여 시청시간벡터를 생성한다. 예컨대, "Sparse representation"에 따라 원핫인코딩(one-hot encoding)으로 표 3과 같이 시간 구분 단위(예컨대, 월, 일, 요일, 시간 등)에 따라 소정 길이를 가지는 시청시간벡터를 생성할 수 있다. Subsequently, the viewing time vector generation unit 140 embeds the viewing time of the content in a predetermined vector space from the viewing history of the user provided from the viewing history preprocessing unit 110 in step S140 to generate a viewing time vector. . For example, it is possible to generate a viewing time vector having a predetermined length according to the time division unit (eg, month, day, day of the week, time, etc.) as shown in Table 3 in one-hot encoding according to "Sparse representation". .

본 발명의 딥러닝은 사용자가 시청하고자 하는 시간인 추천 시간에 사용자가 선호하는 컨텐츠를 추천하도록 하기 위한 것이다. 이를 위하여 도 5에서 전술한 사용자의 시청 이력을 기초로 생성한 데이터를 학습 데이터로 이용하여 딥러닝을 수행한다. 그러면, 본 발명의 실시예에 따른 상황인지 컨텐츠 추천을 위한 딥러닝 방법에 대해서 설명하기로 한다. 도 6은 본 발명의 실시예에 따른 상황인지 컨텐츠 추천을 위한 딥러닝 방법을 설명하기 위한 흐름도이다. The deep learning of the present invention is to recommend content that a user prefers at a recommendation time, which is a time the user wants to watch. To this end, deep learning is performed using data generated based on the user's viewing history described above in FIG. 5 as learning data. Then, a deep learning method for recommending context-aware content according to an embodiment of the present invention will be described. 6 is a flowchart illustrating a deep learning method for recommending context-aware content according to an embodiment of the present invention.

도 6을 참조하면, 딥러닝모델학습부(150)는 S210 단계에서 인공신경망(200)의 순환계층(210)에 복수의 컨텐츠의 시청 순서에 따라 복수의 컨텐츠벡터를 입력한다. 예컨대, 시청 순서는 제1, 제2, 제1, 제4, 제3 컨텐츠 등의 순서라고 가정한다. 그러면, 도 3에 도시된 바와 같이, 딥러닝모델학습부(150)는 순환계층(210)에 시청 순서에 따라 제1, 제2, 제1, 제4 컨텐츠에 대응하는 컨텐츠벡터를 입력할 수 있다. 구체적으로, 딥러닝모델학습부(150)는 제1, 제2, 제1, 제4 컨텐츠에 대응하는 제1, 제2, 제1, 제4 컨텐츠벡터를 각각 첫번째 연산모델(211) 내지 네번째 연산모델(211)에 입력한다. Referring to FIG. 6, the deep learning model learning unit 150 inputs a plurality of content vectors into the circulation layer 210 of the artificial neural network 200 according to the viewing order of the plurality of contents in step S210. For example, it is assumed that the viewing order is the order of first, second, first, fourth, and third content. Then, as shown in FIG. 3, the deep learning model learning unit 150 can input a content vector corresponding to the first, second, first, and fourth contents to the circulation layer 210 according to the viewing order. have. Specifically, the deep learning model learning unit 150 calculates the first, second, first, and fourth content vectors corresponding to the first, second, first, and fourth contents, respectively, from the first computational model 211 to the fourth. It is input to the calculation model 211.

그러면, 인공신경망(200)의 순환계층(210)의 복수의 연산모델(211)은 S220 단계에서 복수의 컨텐츠벡터에 대해 각각이 가중치가 적용되는 복수의 연산을 통해 예측값으로 컨텐츠벡터를 출력한다. 여기서, 연산은 활성화함수(Activation Function)를 이용한 연산을 의미한다. 예컨대, 도 3에 도시된 바와 같이, 복수의 연산모델(211) 각각은 가중치가 적용되는 연산을 수행하여 예측값으로 마지막 컨텐츠벡터인 제4 컨텐츠벡터의 다음 컨텐츠벡터 [0.01, 0.35, 0.442, 0.07, - 0.39, - 0.433, 0.108]를 도출할 수 있다. Then, the plurality of calculation models 211 of the circulatory layer 210 of the artificial neural network 200 outputs a content vector as a predicted value through a plurality of calculations in which a weight is applied to each of the plurality of content vectors in step S220. Here, the operation means an operation using an activation function. For example, as shown in FIG. 3, each of the plurality of calculation models 211 performs an operation to which a weight is applied, and as a predicted value, the next content vector of the fourth content vector, which is the last content vector, [0.01, 0.35, 0.442, 0.07, and -0.39,-0.433, 0.108] can be derived.

이어서, 인공신경망(200)의 병합계층(220)은 S230 단계에서 순환계층(210)으로부터 순환계층(210)이 도출한 예측값인 컨텐츠벡터와, 딥러닝모델학습부(150)로부터 시청비율벡터, 제1 시청시간벡터 및 제2 시청시간벡터를 입력 받는다. 여기서, 시청비율벡터는 시청비율벡터생성부(130)에 의해 생성된 것이며, 사용자의 시청 이력을 벡터 공간에 임베딩하여 사용자가 시청한 컨텐츠의 시청 비율에 따라 컨텐츠 시청 비율을 나타내는 것이다. 도 3에 도시된 바와 같이, 시청비율벡터가 [0.21, 0.15, 0.12, 0.05, 0.21, 0.23, 0.03]이면, 해당 사용자의 제1 내지 제7 컨텐츠의 시청 비율은 각각, 21%, 15%, 12%, 5%, 21%, 23%, 3%이다. 또한, 제1 시청시간벡터 및 제2 시청시간벡터는 순환계층(210)에 입력된 복수의 컨텐츠벡터에 따라 마지막 순서의 컨텐츠의 시청 시간을 나타낸다. 또한, 제2 시청시간벡터는 마지막 순서의 다음의 컨텐츠벡터의 시청 시간을 나타낸다. 예컨대, 표 3을 참조하면, 순환계층(210)에 입력된 복수의 컨텐츠벡터에 따라 사용자의 마지막 순서의 컨텐츠, 예컨대, 제4 컨텐츠를 토요일 19시에 시청하였고, 그 다음 컨텐츠, 예컨대, 제3 컨텐츠를 일요일 20시에 시청하였다면, 제1 시청시간벡터 및 제2 시청시간벡터는 모두 T8 [0, 0, 0, 0, 0, 0, 0, 1]이 될 수 있다. 다른 예로, 순환계층(210)에 입력된 복수의 컨텐츠벡터에 따라 사용자의 마지막 순서의 컨텐츠를 토요일 23시에 시청하였고, 그 다음 컨텐츠를 일요일 1시에 시청하였다면, 제1 시청시간벡터는 T8 [0, 0, 0, 0, 0, 0, 0, 1]이고, 제2 시청시간벡터는 T5 [0, 0, 0, 0, 1, 0, 0, 0]가 될 수 있다. Subsequently, the merging layer 220 of the artificial neural network 200 includes a content vector, which is a predicted value derived by the circulatory layer 210 from the circulatory layer 210 in step S230, and a viewing rate vector from the deep learning model learning unit 150, The first viewing time vector and the second viewing time vector are input. Here, the viewing rate vector is generated by the viewing rate vector generation unit 130, and embeds the user's viewing history in the vector space to indicate the content viewing rate according to the viewing rate of the content viewed by the user. As shown in FIG. 3, if the viewing rate vector is [0.21, 0.15, 0.12, 0.05, 0.21, 0.23, 0.03], the viewing rates of the first to seventh contents of the corresponding user are 21%, 15%, respectively, 12%, 5%, 21%, 23%, 3%. In addition, the first viewing time vector and the second viewing time vector represent viewing times of the last-order content according to a plurality of content vectors input to the circulation layer 210. Further, the second viewing time vector represents the viewing time of the next content vector in the last order. For example, referring to Table 3, according to a plurality of content vectors input to the circulation layer 210, the user's last-order content, for example, the fourth content, was viewed at 19:00 on Saturday, and then the content, for example, the third If the content is watched at 20:00 on Sunday, both the first viewing time vector and the second viewing time vector may be T8 [0, 0, 0, 0, 0, 0, 0, 1]. As another example, according to the plurality of content vectors input to the circulation layer 210, if the user's last-order content is viewed at 23:00 on Saturday, and then the next content is viewed at 1 on Sunday, the first viewing time vector is T8 [ 0, 0, 0, 0, 0, 0, 0, 1], and the second viewing time vector may be T5 [0, 0, 0, 0, 1, 0, 0, 0].

그런 다음, 인공신경망(200)의 병합계층(220)은 S240 단계에서 순환계층(210)이 도출한 예측값인 컨텐츠벡터, 시청비율벡터, 제1 시청시간벡터 및 제2 시청시간벡터에 대해 가중치가 적용되는 연산을 통해 출력값으로 컨텐츠벡터를 도출한다. 여기서, 연산은 활성화함수(Activation Function)를 이용한 연산을 의미한다. 활성화함수는 Sigmoid 함수, tanh 함수, ReLU 함수, Leakly ReLU 함수, PReLU 함수, ELU 함수, Softmax 함수, Maxout 함수, Minout 함수 등을 예시할 수 있다. 또한, 가중치는 전술한 활성화함수의 입력 혹은 출력에 적용될 수 있다. 또한, 병합계층(220)이 도출한 출력값은 출력계층(230)의 복수의 출력 노드에 저장된다. 예컨대, 도 3에 도시된 바와 같이, 출력값이 (0.01, 0.02, 0.04, 0.31, 0.51, 0.03, 0.08)이면, 출력계층(230)의 제1 내지 제7 출력 노드에 각각 0.01, 0.02, 0.04, 0.31, 0.51, 0.03, 0.08이 저장된다. Then, the merging layer 220 of the artificial neural network 200 has a weight for the content vector, the viewing rate vector, the first viewing time vector, and the second viewing time vector, which are predicted values derived by the circulatory layer 210 in step S240. The content vector is derived as an output value through the applied operation. Here, the operation means an operation using an activation function. The activation function may be a Sigmoid function, a tanh function, a ReLU function, a Leakly ReLU function, a PReLU function, an ELU function, a Softmax  function, a Maxout function, a Minout function, and the like. In addition, the weight can be applied to the input or output of the above-described activation function. In addition, the output values derived by the merge layer 220 are stored in a plurality of output nodes of the output layer 230. For example, as shown in FIG. 3, if the output value is (0.01, 0.02, 0.04, 0.31, 0.51, 0.03, 0.08), 0.01, 0.02, 0.04, respectively, to the first to seventh output nodes of the output layer 230 0.31, 0.51, 0.03, and 0.08 are stored.

다음으로, 딥러닝모델학습부(150)는 S250 단계에서 출력값과 목표값(LABEL)의 차이가 최소가 되도록 역전파(Back Propagation)를 통해 가중치를 산출한다. Next, the deep learning model learning unit 150 calculates a weight through back propagation so that the difference between the output value and the target value (LABEL) is minimized in step S250.

여기서, 출력값은 출력계층(230)의 제1 내지 제7 출력 노드에 저장되며, 각각 0.01, 0.02, 0.04, 0.31, 0.51, 0.03, 0.08로 저장되었다고 가정한다. 또한, 목표값(LABEL)은 순환계층(210)에 입력된 복수의 컨텐츠벡터에서 마지막 컨텐츠벡터에 대응하는 컨텐츠 다음에 시청한 컨텐츠이면서, 제2 시청시간벡터에 대응하는 시청 시간에 사용자가 시청한 컨텐츠를 나타내는 인덱스이다. 마지막 컨텐츠벡터에 대응하는 컨텐츠 다음에 시청한 컨텐츠이면서, 제2 시청시간벡터에 대응하는 시청 시간에 사용자가 시청한 컨텐츠는 제3 컨텐츠라고 가정한다. 그러면, 목표값은 (0, 0, 1, 0, 0, 0, 0)와 같이, 제3 컨텐츠에 대응하는 제3 출력 노드의 값이 1.00(100%)이고, 나머지 출력 노드는 모두 0.00(0%)이 될 수 있다. 그러면, 딥러닝모델학습부(150)는 역전파(Back Propagation)를 통해 출력값 (0.01, 0.02, 0.04, 0.31, 0.51, 0.03, 0.08)과 목표값 (0, 0, 1, 0, 0, 0, 0)의 차이가 최소가 되도록 하는 인공신경망(200)의 복수의 연산에 적용되는 가중치를 산출한다. Here, it is assumed that the output values are stored in the first to seventh output nodes of the output layer 230 and are stored as 0.01, 0.02, 0.04, 0.31, 0.51, 0.03, and 0.08, respectively. In addition, the target value (LABEL) is the content viewed after the content corresponding to the last content vector from the plurality of content vectors input to the circulation layer 210, and is viewed by the user at the viewing time corresponding to the second viewing time vector. It is an index indicating the content. It is assumed that the content viewed next to the content corresponding to the last content vector and the content viewed by the user at the viewing time corresponding to the second viewing time vector is the third content. Then, the target value is (0, 0, 1, 0, 0, 0, 0), and the value of the third output node corresponding to the third content is 1.00 (100%), and all other output nodes are 0.00 ( 0%). Then, the deep learning model learning unit 150 outputs (0.01, 0.02, 0.04, 0.31, 0.51, 0.03, 0.08) and target values (0, 0, 1, 0, 0, 0) through back propagation. A weight applied to a plurality of calculations of the artificial neural network 200 to minimize the difference between, 0) is calculated.

딥러닝모델학습부(150)는 복수의 서로 다른 학습 데이터, 즉, 복수의 컨텐츠벡터, 시청비율벡터 및 제1 및 제2 시청시간벡터를 이용하여 출력값과 목표값의 차이가 기 설정된 범위 이내가 될 때까지 전술한 S210 단계 내지 S250 단계를 반복한다. 따라서 딥러닝모델학습부(150)는 S260 단계에서 출력값과 목표값의 차이가 기 설정된 범위 이내인지 여부를 판단하여 학습 종료 여부를 결정한다. S260 단계의 판단 결과, 출력값과 목표값의 차이가 기 설정된 범위 이내가 아니면, S210 단계로 진행하여 전술한 S210 단계 내지 S250 단계를 반복한다. 또한, S260 단계의 판단 결과, 출력값과 목표값의 차이가 기 설정된 범위 이내이면, 학습을 종료한다. The deep learning model learning unit 150 uses a plurality of different learning data, that is, a plurality of content vectors, viewing rate vectors, and first and second viewing time vectors, so that the difference between the output value and the target value is within a preset range. The above-described steps S210 to S250 are repeated until they become. Therefore, the deep learning model learning unit 150 determines whether or not to end learning by determining whether the difference between the output value and the target value is within a preset range in step S260. As a result of the determination in step S260, if the difference between the output value and the target value is not within a preset range, the process proceeds to step S210 and steps S210 to S250 described above are repeated. Further, as a result of the determination in step S260, if the difference between the output value and the target value is within a preset range, the learning is terminated.

그러면, 전술한 바와 같이 학습된 인공신경망(200)을 이용하여 사용자가 시청하고자 하는 시간인 추천 시간에 사용자가 선호하는 컨텐츠를 추천하는 방법에 대해서 설명하기로 한다. 도 7은 본 발명의 실시예에 따른 딥러닝을 이용한 상황인지 컨텐츠 추천을 위한 방법을 설명하기 위한 흐름도이다. Then, a method of recommending a content preferred by a user at a recommendation time, which is a time that the user wants to watch, using the artificial neural network 200 learned as described above will be described. 7 is a flowchart illustrating a method for recommending context-sensitive content using deep learning according to an embodiment of the present invention.

도 7을 참조하면, 컨텐츠추천부(160)는 S310 단계에서 인공신경망(200)에 복수의 컨텐츠벡터, 시청비율벡터, 제3 시청시간벡터 및 제4 시청시간벡터를 입력한다. 즉, 컨텐츠추천부(160)는 인공신경망(200)의 순환계층(210)에 사용자가 최근 시청한 컨텐츠를 시청 순서에 따라 복수의 컨텐츠벡터로 입력하고, 인공신경망(200)의 병합계층(220)에 사용자의 시청비율벡터, 제3 시청시간벡터 및 제4 시청시간벡터를 입력한다. 예컨대, 최근 시청 순서는 제3, 제1, 제2, 제4 컨텐츠라고 가정한다. 그러면, 딥러닝모델학습부(150)는 순환계층(210)에 시청 순서에 따라 제3, 제1, 제2, 제4 컨텐츠벡터를 각각 첫번째 연산모델(211) 내지 네번째 연산모델(211)에 입력한다. 또한, 제3 시청시간벡터는 최근 시청 순서 중 최후에 시청한 컨텐츠의 시청 시간을 나타낸다. 예컨대, 최근 시청 순서는 제3, 제1, 제2, 제4 컨텐츠일 때, 제3 시청시간벡터는 제4 컨텐츠의 시청 시간을 나타낸다. 또한, 제4 시청시간벡터는 추천 시청 시간을 나타낸다. 일 실시예에 따르면, 제4 시청시간벡터는 사용자장치(20)가 컨텐츠서버(10)에 접속한 시간을 나타낼 수 있다. 또는, 제4 시청시간벡터는 사용자가 추천을 요청한 시간을 나타낼 수 있다. Referring to FIG. 7, the content recommendation unit 160 inputs a plurality of content vectors, a viewing rate vector, a third viewing time vector, and a fourth viewing time vector into the artificial neural network 200 in step S310. That is, the content recommendation unit 160 inputs the content recently viewed by the user into the circulation layer 210 of the artificial neural network 200 as a plurality of content vectors according to the viewing order, and the merge layer 220 of the artificial neural network 200 In ), input the user's viewing rate vector, the third viewing time vector, and the fourth viewing time vector. For example, it is assumed that the latest viewing order is the third, first, second, and fourth contents. Then, the deep learning model learning unit 150 transfers the third, first, second, and fourth content vectors to the first calculation model 211 to the fourth calculation model 211, respectively, in the circulation layer 210 according to the viewing order. Enter. In addition, the third viewing time vector represents the viewing time of the last viewed content in the latest viewing sequence. For example, when the latest viewing order is the third, first, second, and fourth content, the third viewing time vector represents the viewing time of the fourth content. In addition, the fourth viewing time vector represents the recommended viewing time. According to an embodiment, the fourth viewing time vector may represent a time when the user device 20 accesses the content server 10. Alternatively, the fourth viewing time vector may represent a time at which the user requests a recommendation.

다음으로, 인공신경망(200)의 순환계층(210)의 복수의 연산모델(211)은 S320 단계에서 복수의 컨텐츠벡터에 대해 각각이 가중치가 적용되는 복수의 연산을 통해 예측값으로 컨텐츠벡터를 도출한다. 여기서, 연산은 활성화함수(Activation Function)를 이용한 연산을 의미한다. 예컨대, 도 3에 도시된 바와 같이, 복수의 연산모델(211) 각각은 가중치가 적용되는 연산을 수행하여 예측값으로 마지막 컨텐츠벡터인 제4 컨텐츠벡터의 다음 컨텐츠벡터 [0.01, 0.05, 0.02, 0.18, 0.69, 0.03, 0.02]를 도출할 수 있다. Next, the plurality of computational models 211 of the circulatory layer 210 of the artificial neural network 200 derives a content vector as a predicted value through a plurality of computations in which weights are applied to each of the plurality of content vectors in step S320. . Here, the operation means an operation using an activation function. For example, as shown in FIG. 3, each of the plurality of calculation models 211 performs an operation to which a weight is applied, and as a predicted value, the next content vector of the fourth content vector, which is the last content vector, [0.01, 0.05, 0.02, 0.18, 0.69, 0.03, 0.02] can be derived.

이어서, 인공신경망(200)의 병합계층(220)은 S330 단계에서 순환계층(210)이 도출한 예측값인 컨텐츠벡터, 시청비율벡터, 제3 시청시간벡터 및 제4 시청시간벡터에 대해 가중치가 적용되는 연산을 통해 출력값으로 컨텐츠벡터를 도출한다. 여기서, 연산은 활성화함수(Activation Function)를 이용한 연산을 의미한다. 또한, 가중치는 전술한 활성화함수의 입력 혹은 출력에 적용될 수 있다. 또한, 병합계층(220)이 도출한 출력값은 출력계층(230)의 복수의 출력 노드에 저장된다. 예컨대, 출력값이 (0.01, 0.02, 0.04, 0.01, 0.81, 0.03, 0.08)이면, 출력계층(230)의 제1 내지 제7 출력 노드에 각각 0.01, 0.02, 0.04, 0.01, 0.81, 0.03, 0.08이 저장된다. 이러한 출력값인 컨텐츠벡터는 제4 시청시간벡터에 대응하는 추천 시청 시간의 추천 컨텐츠를 나타낸다. Subsequently, the merging layer 220 of the artificial neural network 200 is weighted to the content vector, the viewing rate vector, the third viewing time vector, and the fourth viewing time vector, which are predicted values derived by the circulatory layer 210 in step S330. The content vector is derived as an output value through an operation that is performed. Here, the operation means an operation using an activation function. In addition, the weight can be applied to the input or output of the above-described activation function. In addition, the output values derived by the merge layer 220 are stored in a plurality of output nodes of the output layer 230. For example, if the output value is (0.01, 0.02, 0.04, 0.01, 0.81, 0.03, 0.08), 0.01, 0.02, 0.04, 0.01, 0.81, 0.03, and 0.08 are respectively assigned to the first to seventh output nodes of the output layer 230. Is saved. The content vector, which is an output value, represents the recommended content of the recommended viewing time corresponding to the fourth viewing time vector.

다음으로, 컨텐츠추천부(160)는 S340 단계에서 출력값으로부터 추천 시청 시간의 추천 컨텐츠를 인식하고, 컨텐츠DB(400)로부터 추천 시청 시간의 추천 컨텐츠에 상응하는 컨텐츠를 추출한다. 보다 구체적으로 설명하면, 전술한 바와 같이, 제1 내지 제7 출력 노드 각각은 제1 내지 제7 컨텐츠에 대응하며, 제1 내지 제7 출력 노드 각각의 값은 제4 시청시간벡터에 대응하는 추천 시청 시간에 사용자가 선호하는 컨텐츠일 확률을 나타낸다. 이에 따라, 제4 시청시간벡터에 대응하는 추천 시청 시간에 사용자가 선호하는 컨텐츠일 확률은 제1 내지 제7 컨텐츠 각각 1%, 2%, 4%, 1%, 81%, 3%, 8%이다. 이에 따라, 컨텐츠추천부(160)는 확률이 가장 높은 제5 컨텐츠를 추천 시청 시간의 추천 컨텐츠로 인식한다. 이에 따라, 컨텐츠추천부(160)는 컨텐츠DB(400)로부터 제5 컨텐츠에 상응하는 컨텐츠를 추출한다. 그런 다음, 컨텐츠추천부(160)는 S350 단계에서 추천 시청 시간의 추천 컨텐츠로 상기 추출된 컨텐츠를 사용자장치(20)에 제공한다. Next, the content recommendation unit 160 recognizes the recommended content of the recommended viewing time from the output value in step S340 and extracts the content corresponding to the recommended content of the recommended viewing time from the content DB 400. More specifically, as described above, each of the first to seventh output nodes corresponds to the first to seventh content, and each value of the first to seventh output nodes is a recommendation corresponding to the fourth viewing time vector. It represents the probability of the content that the user prefers at the viewing time. Accordingly, the probability of the content that the user prefers at the recommended viewing time corresponding to the fourth viewing time vector is 1%, 2%, 4%, 1%, 81%, 3%, 8%, respectively. to be. Accordingly, the content recommendation unit 160 recognizes the fifth content having the highest probability as the recommended content of the recommended viewing time. Accordingly, the content recommendation unit 160 extracts content corresponding to the fifth content from the content DB 400. Then, the content recommendation unit 160 provides the extracted content to the user device 20 as recommended content of the recommended viewing time in step S350.

본 발명의 실시 예에 따른 방법은 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체의 형태로 제공될 수도 있다. 이러한, 컴퓨터가 읽을 수 있는 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있으며, 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media) 및 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다. The method according to an embodiment of the present invention may be provided in the form of a computer-readable medium suitable for storing computer program instructions and data. Such a computer-readable recording medium may include program commands, data files, data structures, etc. alone or in combination, and includes all types of recording devices storing data that can be read by a computer system. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROM (Compact Disk Read Only Memory), and DVD (Digital Video Disk). Optical Media), Magnetic-Optical Media such as a floptical disk, and program instructions such as ROM (Read Only Memory), RAM (RAM, Random Access Memory), flash memory, etc. And a hardware device specially configured to perform. Further, the computer-readable recording medium is distributed over a computer system connected through a network, so that computer-readable codes can be stored and executed in a distributed manner. In addition, functional programs, codes, and code segments for implementing the present invention can be easily inferred by programmers in the technical field to which the present invention belongs.

이상으로 본 발명의 기술적 사상을 예시하기 위한 바람직한 실시예와 관련하여 설명하고 도시하였지만, 본 발명은 이와 같이 도시되고 설명된 그대로의 구성 및 작용에만 국한되는 것은 아니며, 기술적 사상의 범주를 이탈함없이 본 발명에 대해 다수의 변경 및 수정이 가능함을 당업자들은 잘 이해할 수 있을 것이다. 따라서 그러한 모든 적절한 변경 및 수정과 균등물들도 본 발명의 범위에 속하는 것으로 간주되어야 할 것이다. As described above and shown in connection with a preferred embodiment for illustrating the technical idea of the present invention, the present invention is not limited to the configuration and operation as shown and described as described above, without departing from the scope of the technical idea It will be well understood by those skilled in the art that many changes and modifications are possible to the present invention. Accordingly, all such appropriate changes and modifications and equivalents should be considered to be within the scope of the present invention.

본 발명에 따른 딥러닝 기반의 상황인지 컨텐츠 추천을 위한 장치 및 이를 위한 방법은 단순히, 사용자가 선호하는 컨텐츠를 추천하는 것이 아니라, 각 시간대별로 사용자가 선호하는 컨텐츠를 구분하여 추천 시간에 적합한 추천 컨텐츠를 도출하여 제공할 수 있다. 이에 따라, 사용자에 대한 한 차원 더 높은 이해를 기반으로 하는 사용자 경험(UX)을 제공할 수 있다. 이러한 본 발명은 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다. The apparatus and method for recommending context-aware content based on deep learning according to the present invention do not simply recommend the content that the user prefers, but the recommended content suitable for the recommended time by classifying the content that the user prefers for each time period. Can be provided by deriving. Accordingly, it is possible to provide a user experience (UX) based on a higher understanding of the user. The present invention is commercially available or commercially feasible, as well as a degree that can be practically clearly implemented, and thus has industrial applicability.

10: 컨텐츠서버 20: 사용자장치
100: 컨텐츠추천엔진 110: 시청이력전처리부
120: 컨텐츠벡터생성부 130: 시청비율벡터생성부
140: 시청시간벡터생성부 150: 딥러닝모델학습부
160: 컨텐츠추천부 200: 인공신경망
210: 순환계층 211: 연산모델
220: 병합계층 230: 출력계층
300: 시청이력DB 400: 컨텐츠DB
10: content server 20: user device
100: content recommendation engine 110: viewing history pre-processing unit
120: content vector generation unit 130: viewing rate vector generation unit
140: viewing time vector generation unit 150: deep learning model learning unit
160: content recommendation unit 200: artificial neural network
210: cyclic layer 211: computational model
220: merge layer 230: output layer
300: viewing history DB 400: content DB

Claims (10)

시청 순서에 따라 복수의 컨텐츠를 나타내는 복수의 컨텐츠벡터가 입력되면, 상기 복수의 컨텐츠벡터에 대해 가중치가 적용되는 연산을 통해 예측값으로 상기 복수의 컨텐츠 중 마지막 순서의 컨텐츠의 다음 시청한 컨텐츠를 나타내는 컨텐츠벡터를 출력하는 순환계층과,
상기 순환계층에서 출력된 컨텐츠벡터, 상기 마지막 순서의 컨텐츠의 시청 시간을 나타내는 제1 시청시간벡터 및 상기 다음 시청한 컨텐츠의 시청 시간을 나타내는 제2 시청시간벡터가 입력되면, 상기 출력된 컨텐츠벡터, 상기 제1 시청시간벡터 및 상기 제2 시청시간벡터에 대해 가중치가 적용되는 연산을 통해 산출된 출력값을 출력계층으로 출력하는 병합계층
을 포함하는 인공신경망; 을 포함하는 것을 특징으로 하는
딥러닝 기반의 상황인지 컨텐츠 추천을 위한 장치.
When a plurality of content vectors representing a plurality of contents are input according to the viewing order, weights are applied to the plurality of content vectors, and a predicted value is a content indicating the next viewed content of the last content among the plurality of contents. A cyclic layer that outputs a vector,
When a content vector output from the circulation layer, a first viewing time vector representing a viewing time of the last-order content, and a second viewing time vector representing a viewing time of the next viewed content are input, the output content vector, A merge layer that outputs an output value calculated through an operation in which a weight is applied to the first viewing time vector and the second viewing time vector to an output layer
Artificial neural network comprising a; Characterized in that it comprises a
A device for recommending context-aware content based on deep learning.
제1항에 있어서,
사용자의 최근 시청 순서에 따른 복수의 컨텐츠를 나타내는 복수의 컨텐츠벡터를 상기 순환계층에 입력하고, 상기 최근 시청 순서 중 마지막 순서의 시청 시간을 나타내는 제3 시청시간벡터 및 추천 시청 시간을 나타내는 제4 시청시간벡터를 상기 병합계층에 입력하는 컨텐츠추천부;를 더 포함하며,
상기 인공신경망의 상기 순환계층은 상기 최근 시청 순서에 따라 입력된 복수의 컨텐츠벡터에 대해 각각이 가중치가 적용되는 복수의 연산을 통해 예측값으로 컨텐츠벡터를 출력하고,
상기 인공신경망의 상기 병합계층은 상기 예측값으로 출력된 컨텐츠벡터, 상기 제3 시청시간벡터 및 상기 제4 시청시간벡터에 대해 가중치가 적용되는 연산을 통해 상기 추천 시청 시간의 추천 컨텐츠를 나타내는 출력값을 출력계층으로 출력하는 것을 특징으로 하는
딥러닝 기반의 상황인지 컨텐츠 추천을 위한 장치.
The method of claim 1,
A plurality of content vectors representing a plurality of content according to the user's recent viewing order are input into the circulation layer, and a third viewing time vector representing the viewing time of the last order among the recent viewing order and a fourth viewing time representing the recommended viewing time Further comprising; a content recommendation unit for inputting a time vector into the merge layer,
The circulatory layer of the artificial neural network outputs a content vector as a predicted value through a plurality of calculations in which a weight is applied to a plurality of content vectors input according to the latest viewing order,
The merging layer of the artificial neural network outputs an output value representing the recommended content of the recommended viewing time through an operation in which a weight is applied to the content vector output as the predicted value, the third viewing time vector, and the fourth viewing time vector. Characterized in that output as a layer
A device for recommending context-aware content based on deep learning.
제2항에 있어서,
상기 컨텐츠추천부는
상기 추천 시청 시간의 추천 컨텐츠를 나타내는 출력값에 따라 컨텐츠를 추출하고, 상기 추출된 컨텐츠를 사용자장치에 제공하는 것을 특징으로 하는
딥러닝 기반의 상황인지 컨텐츠 추천을 위한 장치.
The method of claim 2,
The content recommendation unit
Extracting content according to an output value representing the recommended content of the recommended viewing time, and providing the extracted content to a user device
A device for recommending context-aware content based on deep learning.
제1항에 있어서,
상기 순환계층은 복수의 연산모델을 포함하며,
상기 복수의 연산모델 각각은
입력값과 이전 연산모델의 예측값을 입력 받고, 가중치가 적용되는 하나 이상의 연산을 통해 예측값으로 다음 순서의 컨텐츠벡터를 도출하는 것을 특징으로 하는
딥러닝 기반의 상황인지 컨텐츠 추천을 위한 장치.
The method of claim 1,
The circulation layer includes a plurality of computational models,
Each of the plurality of calculation models
Characterized in that, receiving an input value and a predicted value of a previous computational model, and deriving a content vector in a next order as a predicted value through one or more operations to which a weight is applied.
A device for recommending context-aware content based on deep learning.
제1항에 있어서,
시청 이력에 포함된 컨텐츠를 소정의 벡터 공간에 임베딩(embedding)하여 컨텐츠벡터를 생성하는 컨텐츠벡터생성부; 및
상기 시청 이력에서 컨텐츠의 시청 시간을 소정의 벡터 공간에 임베딩하여 시청시간벡터를 생성하는 시청시간벡터생성부;를 더 포함하는 것을 특징으로 하는
딥러닝 기반의 상황인지 컨텐츠 추천을 위한 장치.
The method of claim 1,
A content vector generator for generating a content vector by embedding the content included in the viewing history into a predetermined vector space; And
And a viewing time vector generator for generating a viewing time vector by embedding the viewing time of the content from the viewing history into a predetermined vector space.
A device for recommending context-aware content based on deep learning.
인공신경망의 순환계층이 시청 순서에 따라 복수의 컨텐츠를 나타내는 복수의 컨텐츠벡터를 입력 받는 단계;
상기 인공신경망의 순환계층이 상기 복수의 컨텐츠벡터에 대해 각각이 가중치가 적용되는 복수의 연산을 통해 예측값으로 컨텐츠벡터를 도출하는 단계;
상기 인공신경망의 병합계층이 상기 도출된 컨텐츠벡터, 상기 복수의 컨텐츠 중 마지막 순서의 컨텐츠의 시청 시간을 나타내는 제1 시청시간벡터 및 상기 마지막 순서의 다음 시청한 컨텐츠의 시청 시간을 나타내는 제2 시청시간벡터를 입력 받는 단계; 및
상기 인공신경망의 병합계층이 상기 도출된 컨텐츠벡터, 상기 제1 시청시간벡터 및 상기 제2 시청시간벡터에 대해 가중치가 적용되는 연산을 통해 출력값을 도출하는 단계;
를 포함하는 것을 특징으로 하는
딥러닝 기반의 상황인지 컨텐츠 추천을 위한 방법.
Receiving, by a circulatory layer of the artificial neural network, a plurality of content vectors representing a plurality of contents according to a viewing order;
Deriving, by a circulatory layer of the artificial neural network, a content vector as a predicted value through a plurality of operations in which weights are applied to the plurality of content vectors, respectively;
The content vector obtained by the merging layer of the artificial neural network, a first viewing time vector indicating a viewing time of a last-order content among the plurality of contents, and a second viewing time indicating a viewing time of the next viewed content in the last order Receiving a vector; And
Deriving, by the merging layer of the artificial neural network, an output value through an operation in which a weight is applied to the derived content vector, the first viewing time vector, and the second viewing time vector;
Characterized in that it comprises a
A method for recommending context-aware content based on deep learning.
제6항에 있어서,
상기 출력값을 도출하는 단계 후,
컨텐츠추천부가 사용자의 최근 시청 순서에 따른 복수의 컨텐츠를 나타내는 복수의 컨텐츠벡터를 상기 순환계층에 입력하는 단계;
상기 컨텐츠추천부가 상기 최근 시청 순서 중 마지막 순서의 시청 시간을 나타내는 제3 시청시간벡터 및 추천 시청 시간을 나타내는 제4 시청시간벡터를 상기 병합계층에 입력하는 단계;
상기 인공신경망의 순환계층이 상기 복수의 컨텐츠벡터에 대해 각각이 가중치가 적용되는 복수의 연산을 통해 예측값으로 컨텐츠벡터를 도출하는 단계;
상기 인공신경망의 병합계층이 상기 예측값으로 출력된 컨텐츠벡터, 상기 제3 시청시간벡터 및 상기 제4 시청시간벡터에 대해 가중치가 적용되는 연산을 통해 상기 추천 시청 시간의 추천 컨텐츠를 나타내는 출력값을 도출하는 단계;를 더 포함하는 것을 특징으로 하는
딥러닝 기반의 상황인지 컨텐츠 추천을 위한 방법.
The method of claim 6,
After the step of deriving the output value,
Inputting, by a content recommendation unit, a plurality of content vectors representing a plurality of contents according to a user's recent viewing order, into the circulation layer;
Inputting, by the content recommendation unit, a third viewing time vector indicating a viewing time of a last order of the recent viewing order and a fourth viewing time vector indicating a recommended viewing time to the merging layer;
Deriving, by a circulatory layer of the artificial neural network, a content vector as a predicted value through a plurality of operations in which weights are applied to the plurality of content vectors, respectively;
The merging layer of the artificial neural network derives an output value representing the recommended content of the recommended viewing time through an operation in which a weight is applied to the content vector output as the predicted value, the third viewing time vector, and the fourth viewing time vector. Step; characterized in that it further comprises
A method for recommending context-aware content based on deep learning.
제7항에 있어서,
상기 추천 시청 시간의 추천 컨텐츠를 나타내는 출력값을 도출하는 단계 후,
상기 컨텐츠추천부가 상기 추천 시청 시간의 추천 컨텐츠를 나타내는 출력값에 따라 컨텐츠를 추출하는 단계; 및
상기 추출된 컨텐츠를 추천 시청 시간의 추천 컨텐츠로 사용자장치에 제공하는 단계;를 더 포함하는 것을 특징으로 하는
딥러닝 기반의 상황인지 컨텐츠 추천을 위한 방법.
The method of claim 7,
After the step of deriving an output value representing the recommended content of the recommended viewing time,
Extracting, by the content recommendation unit, content according to an output value indicating recommended content of the recommended viewing time; And
And providing the extracted content as recommended content for a recommended viewing time to a user device;
A method for recommending context-aware content based on deep learning.
제6항에 있어서,
상기 예측값으로 컨텐츠벡터를 도출하는 단계는
상기 순환계층의 복수의 연산모델 각각이
입력값과 이전 연산모델의 예측값을 입력 받고, 가중치가 적용되는 하나 이상의 연산을 통해 예측값으로 다음 순서의 컨텐츠벡터를 도출하는 단계를 포함하는 것을 특징으로 하는
딥러닝 기반의 상황인지 컨텐츠 추천을 위한 방법.
The method of claim 6,
The step of deriving a content vector from the predicted value
Each of the plurality of computational models of the circulation layer
And receiving an input value and a predicted value of a previous computational model, and deriving a content vector in a next order as a predicted value through one or more operations to which a weight is applied.
A method for recommending context-aware content based on deep learning.
제6항에 있어서,
상기 복수의 컨텐츠벡터를 입력 받는 단계 전,
컨텐츠벡터생성부가 시청 이력에 포함된 컨텐츠를 소정의 벡터 공간에 임베딩(embedding)하여 복수의 컨텐츠벡터를 생성하는 단계; 및
시청시간벡터생성부가 상기 시청 이력에서 컨텐츠의 시청 시간을 소정의 벡터 공간에 임베딩하여 시청시간벡터를 생성하는 단계;를 더 포함하는 것을 특징으로 하는
딥러닝 기반의 상황인지 컨텐츠 추천을 위한 방법.
The method of claim 6,
Before the step of receiving the plurality of content vectors,
Generating a plurality of content vectors by embedding, by the content vector generator, the content included in the viewing history in a predetermined vector space; And
And generating, by a viewing time vector generation unit, a viewing time vector by embedding the viewing time of the content from the viewing history into a predetermined vector space.
A method for recommending context-aware content based on deep learning.
KR1020190146717A 2019-11-15 2019-11-15 Apparatus for recommending context-aware content based on deep learning and a method therefor KR20210059845A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190146717A KR20210059845A (en) 2019-11-15 2019-11-15 Apparatus for recommending context-aware content based on deep learning and a method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190146717A KR20210059845A (en) 2019-11-15 2019-11-15 Apparatus for recommending context-aware content based on deep learning and a method therefor

Publications (1)

Publication Number Publication Date
KR20210059845A true KR20210059845A (en) 2021-05-26

Family

ID=76137426

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190146717A KR20210059845A (en) 2019-11-15 2019-11-15 Apparatus for recommending context-aware content based on deep learning and a method therefor

Country Status (1)

Country Link
KR (1) KR20210059845A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114186139A (en) * 2021-12-30 2022-03-15 重庆理工大学 Graph neural network session recommendation method based on time enhancement
KR102389219B1 (en) 2021-10-19 2022-04-21 주식회사 노티플러스 Method, device and system for providing recommended content through prediction of content reading time
KR102445230B1 (en) * 2022-02-08 2022-09-20 (주)뤼이드 A method for learning a task model and a language model, and a learning device for performing the same

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120124107A (en) 2011-05-03 2012-11-13 주식회사 캐스트이즈 Apparatus and Method for Providing Recommendation Information about On-demand TV Contents

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120124107A (en) 2011-05-03 2012-11-13 주식회사 캐스트이즈 Apparatus and Method for Providing Recommendation Information about On-demand TV Contents

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102389219B1 (en) 2021-10-19 2022-04-21 주식회사 노티플러스 Method, device and system for providing recommended content through prediction of content reading time
CN114186139A (en) * 2021-12-30 2022-03-15 重庆理工大学 Graph neural network session recommendation method based on time enhancement
CN114186139B (en) * 2021-12-30 2022-08-16 重庆理工大学 Graph neural network session recommendation method based on time enhancement
KR102445230B1 (en) * 2022-02-08 2022-09-20 (주)뤼이드 A method for learning a task model and a language model, and a learning device for performing the same

Similar Documents

Publication Publication Date Title
Roy et al. Efficient content-based sparse attention with routing transformers
US9934515B1 (en) Content recommendation system using a neural network language model
CN113254792B (en) Method for training recommendation probability prediction model, recommendation probability prediction method and device
CN111246256A (en) Video recommendation method based on multi-mode video content and multi-task learning
CN111258995B (en) Data processing method, device, storage medium and equipment
EP3371765A1 (en) End-to-end deep collaborative filtering
KR20210059845A (en) Apparatus for recommending context-aware content based on deep learning and a method therefor
CN111506820B (en) Recommendation model, recommendation method, recommendation device, recommendation equipment and recommendation storage medium
CN114565104A (en) Language model pre-training method, result recommendation method and related device
CN111709493B (en) Object classification method, training device, object classification equipment and storage medium
CN112035743A (en) Data recommendation method and device, computer equipment and storage medium
JP2022020070A (en) Information processing, information recommendation method and apparatus, electronic device and storage media
CN113742572B (en) Data recommendation method and device, electronic equipment and storage medium
CN112395515B (en) Information recommendation method and device, computer equipment and storage medium
CN115905687A (en) Cold start-oriented recommendation system and method based on meta-learning graph neural network
CN113761868A (en) Text processing method and device, electronic equipment and readable storage medium
JP2024508502A (en) Methods and devices for pushing information
CN114357201B (en) Audio-visual recommendation method and system based on information perception
CN111897943A (en) Session record searching method and device, electronic equipment and storage medium
WO2024152686A1 (en) Method and apparatus for determining recommendation index of resource information, device, storage medium and computer program product
KR102632804B1 (en) Method, apparatus and system for providing customized content creation and processing platform service using artificial intelligence model
CN113011195A (en) Recommendation system effect enhancement method and device based on pre-training language model
KR102612986B1 (en) Online recomending system, method and apparatus for updating recommender based on meta-leaining
CN117056595A (en) Interactive project recommendation method and device and computer readable storage medium
CN113836390A (en) Resource recommendation method and device, computer equipment and storage medium

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal