KR102619044B1 - Recommending method based on machine-learning and system thereof - Google Patents

Recommending method based on machine-learning and system thereof Download PDF

Info

Publication number
KR102619044B1
KR102619044B1 KR1020230036443A KR20230036443A KR102619044B1 KR 102619044 B1 KR102619044 B1 KR 102619044B1 KR 1020230036443 A KR1020230036443 A KR 1020230036443A KR 20230036443 A KR20230036443 A KR 20230036443A KR 102619044 B1 KR102619044 B1 KR 102619044B1
Authority
KR
South Korea
Prior art keywords
content
item
learning model
sequence
deep learning
Prior art date
Application number
KR1020230036443A
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 KR1020230036443A priority Critical patent/KR102619044B1/en
Application granted granted Critical
Publication of KR102619044B1 publication Critical patent/KR102619044B1/en

Links

Images

Classifications

    • 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Artificial Intelligence (AREA)
  • Finance (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Accounting & Taxation (AREA)
  • Tourism & Hospitality (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Primary Health Care (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Development Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

기계학습 기반 추천 방법 및 그 시스템이 제공된다. 본 개시의 몇몇 실시예들에 따른 추천 방법은, 사용자의 콘텐츠 소비 이력 데이터를 이용하여 다음(next) 소비 콘텐츠 예측 태스크를 수행함으로써 학습된 시퀀스-투-시퀀스 기반의 딥러닝 모델을 획득하는 단계, 사용자가 소비한 콘텐츠 시퀀스에 대한 정보를 획득하는 단계 및 학습된 딥러닝 모델을 통해 콘텐츠 시퀀스로부터 다음 소비 콘텐츠를 예측함으로써 사용자를 위한 추천 콘텐츠를 결정하는 단계를 포함할 수 있다. 이러한 방법에 따르면, 사용자가 선호하는 맞춤형 콘텐츠가 정확하게 추천될 수 있다.A machine learning-based recommendation method and system are provided. A recommendation method according to some embodiments of the present disclosure includes obtaining a sequence-to-sequence-based deep learning model learned by performing a next consumption content prediction task using the user's content consumption history data, It may include obtaining information about the content sequence consumed by the user and determining recommended content for the user by predicting the next consumed content from the content sequence through a learned deep learning model. According to this method, customized content preferred by the user can be accurately recommended.

Description

기계학습 기반 추천 방법 및 그 시스템{RECOMMENDING METHOD BASED ON MACHINE-LEARNING AND SYSTEM THEREOF}Machine learning-based recommendation method and system {RECOMMENDING METHOD BASED ON MACHINE-LEARNING AND SYSTEM THEREOF}

본 개시는 기계학습 기법을 이용하여 다양한 도메인의 아이템들(e.g., 콘텐츠)을 사용자에게 추천하는 방법 및 그 시스템에 관한 것이다.This disclosure relates to a method and system for recommending items (e.g., content) from various domains to users using machine learning techniques.

OTT(Over-The-Top) 서비스가 대중화됨에 따라 사용자에게 맞춤형 콘텐츠를 추천해주는 기술에 대한 관심이 급증하고 있다. 또한, 이러한 추천 기술은 OTT 서비스뿐만 아니라 상품, 음악, 뉴스 등을 추천하는 분야에서도 널리 활용되고 있다.As OTT (Over-The-Top) services become more popular, interest in technology that recommends customized content to users is rapidly increasing. In addition, this recommendation technology is widely used not only in OTT services but also in the field of recommending products, music, news, etc.

한편, OTT 서비스 분야에서 이용되는 추천 기법들은 대부분 사용자의 콘텐츠 소비 이력 분석에 근간을 두고 있다. 예를 들어, 기존의 추천 기법은 사용자의 콘텐츠 소비 이력을 분석하여 해당 사용자가 주로 소비한 콘텐츠의 특성(e.g., 장르, 배우, 주제 등)을 파악하고 이를 반영하여 콘텐츠를 추천하고 있다(e.g., 유사한 특성의 콘텐츠를 추천).Meanwhile, most of the recommendation techniques used in the OTT service field are based on analysis of the user's content consumption history. For example, the existing recommendation technique analyzes the user's content consumption history to identify the characteristics of the content (e.g., genre, actor, topic, etc.) mainly consumed by the user and recommends content by reflecting this (e.g., Recommend content with similar characteristics).

그러나, 예시된 추천 기법은 사용자의 콘텐츠 소비 이력에 내재된 순차적(sequential) 소비 패턴을 크게 고려하지 않기 때문에, 추천 정확도가 높지 않다는 분명한 한계를 갖고 있다. 뿐만 아니라, 예시된 추천 기법은 추천 분야의 고질적인 문제점 중 하나인 콜드-스타트(cold start) 문제에서도 자유롭지 않다.However, the illustrated recommendation technique does not take into account the sequential consumption pattern inherent in the user's content consumption history, so it has a clear limitation in that the recommendation accuracy is not high. In addition, the illustrated recommendation technique is not free from the cold start problem, which is one of the chronic problems in the recommendation field.

한국공개특허 제10-2022-0080563호 (2022.06.14 공개)Korean Patent Publication No. 10-2022-0080563 (published on June 14, 2022)

본 개시의 몇몇 실시예들을 통해 해결하고자 하는 기술적 과제는, 사용자가 선호하는 맞춤형 콘텐츠를 정확하게 추천할 수 있는 방법 및 그 방법을 수행하는 시스템을 제공하는 것이다.The technical problem to be solved through several embodiments of the present disclosure is to provide a method for accurately recommending customized content preferred by a user and a system for performing the method.

본 개시의 몇몇 실시예들을 통해 해결하고자 하는 다른 기술적 과제는, 콜드-스타트(cold start) 문제에 강인한 추천 방법 및 그 방법을 수행하는 시스템을 제공하는 것이다.Another technical problem to be solved through some embodiments of the present disclosure is to provide a recommendation method that is robust to the cold start problem and a system for performing the method.

본 개시의 몇몇 실시예들을 통해 해결하고자 하는 또 다른 기술적 과제는, 서로 다른 도메인의 이력 데이터를 이용하여 멀티 도메인 추천을 정확하게 수행할 수 있는 방법 및 그 방법을 수행하는 시스템을 제공하는 것이다.Another technical problem to be solved through some embodiments of the present disclosure is to provide a method for accurately performing multi-domain recommendation using history data of different domains and a system for performing the method.

본 개시의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present disclosure are not limited to the technical problems mentioned above, and other technical problems not mentioned can be clearly understood by those skilled in the art from the description below.

상술한 기술적 과제를 해결하기 위한 본 개시의 몇몇 실시예들에 따른 기계학습 기반 추천 방법은, 적어도 하나의 컴퓨팅 장치에 의해 수행되는 방법으로서, 사용자의 콘텐츠 소비 이력 데이터를 이용하여 학습된 시퀀스-투-시퀀스 기반의 딥러닝 모델을 획득하는 단계 - 상기 딥러닝 모델은 다음(next) 소비 콘텐츠 예측 태스크를 통해 학습된 것임 -, 상기 사용자가 소비한 콘텐츠 시퀀스에 대한 정보를 획득하는 단계 및 상기 딥러닝 모델을 통해 상기 콘텐츠 시퀀스로부터 다음 소비 콘텐츠를 예측함으로써 상기 사용자를 위한 추천 콘텐츠를 결정하는 단계를 포함할 수 있다.The machine learning-based recommendation method according to some embodiments of the present disclosure for solving the above-described technical problem is a method performed by at least one computing device, and is a method that uses a sequence-to-recommendation method learned using the user's content consumption history data. - Obtaining a sequence-based deep learning model - The deep learning model is learned through a next consumption content prediction task - Obtaining information about the content sequence consumed by the user and the deep learning and determining recommended content for the user by predicting next consumed content from the content sequence through a model.

몇몇 실시예들에서, 상기 딥러닝 모델은 트랜스포머(transformer)의 인코더와 디코더 중에서 상기 디코더에만 기반하여 구현된 것일 수 있다.In some embodiments, the deep learning model may be implemented based only on the decoder among the encoder and decoder of a transformer.

몇몇 실시예들에서, 상기 딥러닝 모델을 획득하는 단계는, 상기 콘텐츠 소비 이력 데이터에서 콘텐츠 시퀀스 샘플을 추출하는 단계, 상기 콘텐츠 시퀀스 샘플의 길이가 기준치 이상이라는 판단에 기초하여 상기 콘텐츠 시퀀스 샘플을 상기 기준치 미만의 길이를 갖는 서브 시퀀스 샘플들로 분할함으로써 트레이닝셋을 생성하는 단계 및 상기 트레이닝셋을 이용하여 상기 딥러닝 모델을 학습시키는 단계를 포함할 수 있다.In some embodiments, the step of acquiring the deep learning model includes extracting a content sequence sample from the content consumption history data, and selecting the content sequence sample based on a determination that the length of the content sequence sample is greater than or equal to a reference value. It may include generating a training set by dividing it into subsequence samples with a length less than a reference value, and learning the deep learning model using the training set.

몇몇 실시예들에서, 상기 딥러닝 모델을 획득하는 단계는, 상기 콘텐츠 소비 이력 데이터에서 콘텐츠 시퀀스 샘플을 추출하는 단계, 상기 콘텐츠 시퀀스 샘플에서 인기도가 기준치 이상인 콘텐츠를 제거하여 트레이닝셋을 생성하는 단계 및 상기 트레이닝셋을 이용하여 상기 딥러닝 모델을 학습시키는 단계를 포함할 수 있다.In some embodiments, acquiring the deep learning model includes extracting a content sequence sample from the content consumption history data, removing content whose popularity is higher than a threshold value from the content sequence sample to create a training set, and It may include training the deep learning model using the training set.

몇몇 실시예들에서, 상기 추천 콘텐츠를 결정하는 단계는, 상기 콘텐츠 시퀀스에서 인기도가 기준치 이상인 콘텐츠를 제거하고 나머지 콘텐츠 시퀀스를 이용하여 상기 다음 소비 콘텐츠를 예측함으로써 상기 추천 콘텐츠를 결정하는 단계를 포함할 수 있다.In some embodiments, determining the recommended content may include determining the recommended content by removing content whose popularity is greater than or equal to a threshold value from the content sequence and predicting the next consumed content using the remaining content sequence. You can.

몇몇 실시예들에서, 상기 딥러닝 모델은 콘텐츠별 컨피던스 스코어를 출력하도록 구성된 예측 레이어를 포함하고, 상기 추천 콘텐츠를 결정하는 단계는, 상기 예측 레이어를 통해 기 등록된 복수의 콘텐츠들에 대한 컨피던스 스코어를 산출하는 단계 및 상기 복수의 콘텐츠들 중에서 상기 컨피던스 스코어가 기준치 이상인 콘텐츠를 상기 추천 콘텐츠로 결정하는 단계를 포함할 수 있다.In some embodiments, the deep learning model includes a prediction layer configured to output a confidence score for each content, and the step of determining the recommended content includes confidence scores for a plurality of contents pre-registered through the prediction layer. It may include calculating and determining a content whose confidence score is equal to or higher than a standard value among the plurality of contents as the recommended content.

몇몇 실시예들에서, 상기 추천 콘텐츠를 결정하는 단계는, 상기 콘텐츠 소비 이력 데이터의 양이 기준치 이상인 경우, 상기 콘텐츠 소비 이력 데이터를 학습한 상기 딥러닝 모델을 통해 상기 추천 콘텐츠를 결정하는 단계를 포함하고, 상기 콘텐츠 소비 이력 데이터의 양이 기준치 미만인 경우에는 상기 사용자의 피드백을 학습한 강화학습 모델을 통해 상기 추천 콘텐츠가 결정될 수 있다.In some embodiments, determining the recommended content includes determining the recommended content through the deep learning model that learned the content consumption history data when the amount of content consumption history data is greater than a reference value. And, if the amount of content consumption history data is less than the standard value, the recommended content may be determined through a reinforcement learning model that learned the user's feedback.

상술한 기술적 과제를 해결하기 위한 본 개시의 다른 몇몇 실시예들에 따른 기계학습 기반 추천 방법은, 적어도 하나의 컴퓨팅 장치에 의해 수행되는 방법으로서, 사용자의 아이템 소비 이력 데이터를 이용하여 학습된 시퀀스-투-시퀀스 기반의 딥러닝 모델을 획득하는 단계 - 상기 딥러닝 모델은 다음(next) 소비 아이템 예측 태스크를 통해 학습된 것임 -, 상기 사용자가 소비한 아이템 시퀀스에 대한 정보를 획득하는 단계 및 상기 딥러닝 모델을 통해 상기 아이템 시퀀스로부터 다음 소비 아이템을 예측함으로써 상기 사용자를 위한 추천 아이템을 결정하는 단계를 포함할 수 있다.A machine learning-based recommendation method according to some other embodiments of the present disclosure for solving the above-described technical problem is a method performed by at least one computing device, and includes a sequence learned using the user's item consumption history data- Obtaining a two-sequence-based deep learning model - the deep learning model is learned through a next consumption item prediction task -, obtaining information about the sequence of items consumed by the user, and the deep learning model It may include determining a recommended item for the user by predicting the next consumption item from the item sequence through a learning model.

몇몇 실시예들에서, 상기 아이템 소비 이력 데이터는 제1 도메인의 아이템 소비 이력 데이터와 제2 도메인의 아이템 소비 이력 데이터를 포함하고, 상기 딥러닝 모델을 획득하는 단계는, 상기 아이템 소비 이력 데이터에서 복수의 아이템 시퀀스 샘플들을 추출하여 트레이닝셋을 생성하는 단계 - 상기 아이템 시퀀스 샘플들 중 적어도 일부는 상기 제1 도메인의 아이템과 상기 제2 도메인의 아이템을 포함함 - 및 상기 트레이닝셋을 이용하여 상기 딥러닝 모델을 학습시키는 단계를 포함할 수 있다.In some embodiments, the item consumption history data includes item consumption history data of a first domain and item consumption history data of a second domain, and the step of acquiring the deep learning model includes a plurality of items in the item consumption history data. generating a training set by extracting item sequence samples - at least some of the item sequence samples include items of the first domain and items of the second domain - and performing the deep learning using the training set. It may include the step of training the model.

몇몇 실시예들에서, 상기 아이템 소비 이력 데이터는 제1 도메인의 아이템 소비 이력 데이터와 제2 도메인의 아이템 소비 이력 데이터를 포함하고, 상기 아이템 시퀀스는 상기 제1 도메인의 아이템을 포함하며, 상기 추천 아이템을 결정하는 단계는, 상기 딥러닝 모델을 통해 상기 제2 도메인의 다음 소비 아이템을 예측함으로써 상기 추천 아이템을 결정하는 단계를 포함할 수 있다.In some embodiments, the item consumption history data includes item consumption history data of a first domain and item consumption history data of a second domain, the item sequence includes items of the first domain, and the recommended item The step of determining may include determining the recommended item by predicting the next consumption item of the second domain through the deep learning model.

상술한 기술적 과제를 해결하기 위한 본 개시의 몇몇 실시예들에 따른 추천 시스템은, 하나 이상의 프로세서 및 인스트럭션들을 저장하는 메모리를 포함하고, 상기 하나 이상의 프로세서는, 상기 저장된 인스트럭션들을 실행시킴으로써, 사용자의 콘텐츠 소비 이력 데이터를 이용하여 학습된 시퀀스-투-시퀀스 기반의 딥러닝 모델을 획득하는 동작 - 상기 딥러닝 모델은 다음(next) 소비 콘텐츠 예측 태스크를 통해 학습된 것임 -, 상기 사용자가 소비한 콘텐츠 시퀀스에 대한 정보를 획득하는 동작 및 상기 딥러닝 모델을 통해 상기 콘텐츠 시퀀스로부터 다음 소비 콘텐츠를 예측함으로써 상기 사용자를 위한 추천 콘텐츠를 결정하는 동작을 수행할 수 있다.A recommendation system according to some embodiments of the present disclosure for solving the above-described technical problem includes one or more processors and a memory for storing instructions, wherein the one or more processors execute the stored instructions to create user content. An operation of acquiring a sequence-to-sequence-based deep learning model learned using consumption history data - the deep learning model is learned through a next consumption content prediction task -, content sequence consumed by the user An operation of obtaining information about and determining recommended content for the user can be performed by predicting the next consumption content from the content sequence through the deep learning model.

상술한 기술적 과제를 해결하기 위한 본 개시의 다른 몇몇 실시예들에 따른 추천 시스템은, 하나 이상의 프로세서 및 인스트럭션들을 저장하는 메모리를 포함하고, 상기 하나 이상의 프로세서는, 상기 저장된 인스트럭션들을 실행시킴으로써, 사용자의 아이템 소비 이력 데이터를 이용하여 학습된 시퀀스-투-시퀀스 기반의 딥러닝 모델을 획득하는 동작 - 상기 딥러닝 모델은 다음(next) 소비 아이템 예측 태스크를 통해 학습된 것임 -, 상기 사용자가 소비한 아이템 시퀀스에 대한 정보를 획득하는 동작 및 상기 딥러닝 모델을 통해 상기 아이템 시퀀스로부터 다음 소비 아이템을 예측함으로써 상기 사용자를 위한 추천 아이템을 결정하는 동작을 포함할 수 있다.A recommendation system according to some other embodiments of the present disclosure for solving the above-described technical problem includes one or more processors and a memory for storing instructions, wherein the one or more processors execute the stored instructions to provide a user's information. An operation of acquiring a sequence-to-sequence-based deep learning model learned using item consumption history data - the deep learning model is learned through a next consumption item prediction task -, items consumed by the user It may include an operation of obtaining information about the sequence and an operation of determining a recommended item for the user by predicting the next consumption item from the item sequence through the deep learning model.

상술한 기술적 과제를 해결하기 위한 본 개시의 몇몇 실시예들에 따른 컴퓨터 프로그램은, 컴퓨팅 장치와 결합되어, 사용자의 콘텐츠 소비 이력 데이터를 이용하여 학습된 시퀀스-투-시퀀스 기반의 딥러닝 모델을 획득하는 단계 - 상기 딥러닝 모델은 다음(next) 소비 콘텐츠 예측 태스크를 통해 학습된 것임 -, 상기 사용자가 소비한 콘텐츠 시퀀스에 대한 정보를 획득하는 단계 및 상기 딥러닝 모델을 통해 상기 콘텐츠 시퀀스로부터 다음 소비 콘텐츠를 예측함으로써 상기 사용자를 위한 추천 콘텐츠를 결정하는 단계를 실행시키기 위하여 컴퓨터로 판독가능한 기록매체에 저장될 수 있다.A computer program according to some embodiments of the present disclosure for solving the above-mentioned technical problems is combined with a computing device to obtain a sequence-to-sequence-based deep learning model learned using the user's content consumption history data. - the deep learning model is learned through a next consumption content prediction task -, obtaining information about the content sequence consumed by the user and the next consumption from the content sequence through the deep learning model It may be stored in a computer-readable recording medium to execute the step of determining recommended content for the user by predicting content.

상술한 기술적 과제를 해결하기 위한 본 개시의 다른 몇몇 실시예들에 따른 컴퓨터 프로그램은, 컴퓨팅 장치와 결합되어, 사용자의 아이템 소비 이력 데이터를 이용하여 학습된 시퀀스-투-시퀀스 기반의 딥러닝 모델을 획득하는 단계 - 상기 딥러닝 모델은 다음(next) 소비 아이템 예측 태스크를 통해 학습된 것임 -, 상기 사용자가 소비한 아이템 시퀀스에 대한 정보를 획득하는 단계 및 상기 딥러닝 모델을 통해 상기 아이템 시퀀스로부터 다음 소비 아이템을 예측함으로써 상기 사용자를 위한 추천 아이템을 결정하는 단계를 실행시키기 위하여 컴퓨터로 판독가능한 기록매체에 저장될 수 있다.A computer program according to several other embodiments of the present disclosure for solving the above-mentioned technical problems is combined with a computing device to create a sequence-to-sequence-based deep learning model learned using the user's item consumption history data. Obtaining - the deep learning model is learned through a next consumption item prediction task -, acquiring information about the sequence of items consumed by the user, and selecting the next item from the sequence through the deep learning model. It may be stored in a computer-readable recording medium to execute the step of determining recommended items for the user by predicting consumption items.

본 개시의 몇몇 실시예들에 따르면, 사용자의 콘텐츠 소비 이력 데이터에서 추출된 콘텐츠 시퀀스 샘플들을 이용하여 다음(next) 소비 콘텐츠 예측 태스크를 수행함으로써 딥러닝 모델(즉, 시퀀스-투-시퀀스 기반의 딥러닝 모델)이 학습될 수 있다. 이러한 경우, 딥러닝 모델이 사용자의 콘텐츠 소비 이력에 내재된 순차적(sequential) 소비 패턴을 포착하여 다음 소비 콘텐츠를 정확하게 예측할 수 있게 되기 때문에, 콘텐츠 추천 정확도가 크게 향상될 수 있다.According to some embodiments of the present disclosure, a deep learning model (i.e., sequence-to-sequence based deep learning model) is developed by performing a next consumption content prediction task using content sequence samples extracted from the user's content consumption history data. learning model) can be learned. In this case, content recommendation accuracy can be greatly improved because the deep learning model can accurately predict the next consumed content by capturing the sequential consumption pattern inherent in the user's content consumption history.

또한, 길이가 기준치 이상인 콘텐츠 시퀀스 샘플을 서브 시퀀스 샘플들로 분할하는 정제(cleaning) 처리를 통해 트레이닝셋이 생성될 수 있다. 이러한 경우, 롱 시퀀스 샘플에 포함된 노이즈로 인한 왜곡(오인) 학습이 미연에 방지될 수 있기 때문에, 딥러닝 모델의 추천 정확도가 더욱 향상될 수 있다.Additionally, a training set can be created through a cleaning process that divides content sequence samples whose length is greater than the reference value into sub-sequence samples. In this case, since distortion (misrecognition) learning due to noise included in long sequence samples can be prevented in advance, the recommendation accuracy of the deep learning model can be further improved.

또한, 콘텐츠 시퀀스 샘플에서 인기도가 기준치 이상인 콘텐츠를 제거하는 정체 처리를 통해 트레이닝셋이 생성될 수 있다. 이러한 경우, 사용자들의 보편적인 취향을 반영하고 있는 메가 콘텐츠로 인한 왜곡(오인) 학습이 미연에 방지될 수 있기 때문에, 딥러닝 모델의 추천 정확도가 더욱 향상될 수 있다.Additionally, a training set can be created through congestion processing that removes content whose popularity is above a threshold value from content sequence samples. In this case, the recommendation accuracy of the deep learning model can be further improved because distortion (misconception) learning caused by mega content that reflects users' universal tastes can be prevented in advance.

또한, 콘텐츠의 다양한 정보(e.g., 식별코드, 제목, 대표 이미지 등)를 기초로 콘텐츠 임베딩이 생성될 수 있다. 이러한 경우, 딥러닝 모델이 콘텐츠들의 다양한 정보를 종합적으로 고려하여 다음 소비 콘텐츠를 예측하도록 학습되므로, 딥러닝 모델의 추천 정확도가 더욱 향상될 수 있다.Additionally, content embedding can be created based on various information about the content (e.g., identification code, title, representative image, etc.). In this case, the deep learning model is trained to predict the next consumption content by comprehensively considering various information about the contents, so the recommendation accuracy of the deep learning model can be further improved.

또한, 사용자의 콘텐츠 소비 이력 데이터 양이 충분하지 않은 경우에는 강화학습 모델을 이용하여 콘텐츠 추천이 수행되고, 반대의 경우에는 딥러닝 모델을 이용하여 콘텐츠 추천이 수행될 수 있다. 즉, 딥러닝 모델의 성능이 떨어질 것으로 예측되는 상황에서는 강화학습 모델을 이용하여 콘텐츠 추천을 수행함으로써, 추천 콘텐츠에 대한 사용자의 만족도가 지속적으로 높은 수준으로 유지될 수 있다.Additionally, if the amount of data on the user's content consumption history is insufficient, content recommendation may be performed using a reinforcement learning model, and in the opposite case, content recommendation may be performed using a deep learning model. In other words, in situations where the performance of the deep learning model is predicted to decline, the user's satisfaction with the recommended content can be maintained at a consistently high level by recommending content using a reinforcement learning model.

또한, 멀티 도메인의 소비 이력 데이터들을 이용하여 딥러닝 모델이 학습되고 학습된 딥러닝 모델을 통해 멀티 도메인 추천 서비스가 제공될 수 있다. 가령, 콘텐츠를 소비하고 있는 사용자에게 배달 음식 또는 상품을 추천하는 서비스가 제공될 수 있다. 이러한 경우, 추천 서비스에 대한 새로운(신선한) 경험이 사용자에게 제공될 수 있다. 뿐만 아니라, 모델 학습에 필요한 소비 이력 데이터가 빠르게 준비될 수 있기 때문에, 추천 분야의 고질적인 문제 중 하나인 콜드-스타트(cold start) 문제도 용이하게 해결될 수 있다.In addition, a deep learning model is learned using consumption history data of multi-domains, and a multi-domain recommendation service can be provided through the learned deep learning model. For example, a service that recommends delivery food or products to a user consuming content may be provided. In this case, a new (fresh) experience with the recommended service may be provided to the user. In addition, because the consumption history data required for model learning can be prepared quickly, the cold start problem, one of the chronic problems in the recommendation field, can be easily solved.

본 개시의 기술적 사상에 따른 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effects according to the technical idea of the present disclosure are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood by those skilled in the art from the description below.

도 1은 본 개시의 몇몇 실시예들에 따른 추천 시스템의 동작 환경을 나타내는 예시적인 구성도이다.
도 2는 본 개시의 몇몇 실시예들에 따른 추천 시스템이 강화학습 모델 기반으로 콘텐츠를 추천하는 과정을 개략적으로 나타내는 예시적인 도면이다.
도 3은 본 개시의 몇몇 실시예들에 따른 추천 시스템이 딥러닝 모델 기반으로 콘텐츠를 추천하는 과정을 개략적으로 나타내는 예시적인 도면이다.
도 4 및 도 5는 본 개시의 몇몇 실시예들에 따른 추천 시스템이 멀티 도메인 추천 서비스를 제공하는 과정을 개략적으로 설명하기 위한 예시적인 도면이다.
도 6 내지 도 8은 본 개시의 몇몇 실시예들에 따른 추천 콘텐츠 제공 방식과 사용자 피드백 정보의 예시들을 설명하기 위한 예시적인 도면이다.
도 9는 본 개시의 몇몇 실시예들에 따른 기계학습 기반 추천 방법을 개략적으로 나타내는 예시적인 흐름도이다.
도 10 내지 도 12는 본 개시의 몇몇 실시예들에 따른 딥러닝 모델의 동작 및 구현 방식을 설명하기 위한 예시적인 도면이다.
도 13은 본 개시의 몇몇 실시예들에 따른 딥러닝 모델의 구조와 학습 방법을 설명하기 위한 예시적인 도면이다.
도 14는 본 개시의 몇몇 실시예들에 따른 콘텐츠 임베딩 방법을 설명하기 위한 예시적인 도면이다.
도 15는 본 개시의 몇몇 실시예들에 따른 데이터 정제 방법을 설명하기 위한 예시적인 도면이다.
도 16은 본 개시의 다른 몇몇 실시예들에 따른 데이터 정제 방법을 설명하기 위한 예시적인 도면이다.
도 17은 신규 콘텐츠 등록에 따른 문제점과 이를 해결하기 위한 본 개시의 몇몇 실시예들에 따른 방법을 설명하기 위한 예시적인 도면이다.
도 18은 본 개시의 몇몇 실시예들에 따른 추천 모델 운용 방법을 설명하기 위한 예시적인 도면이다.
도 19는 본 개시의 몇몇 실시예들에 따른 기계학습 기반 멀티 도메인 추천 방법을 개략적으로 설명하기 위한 예시적인 도면이다.
도 20은 본 개시의 몇몇 실시예들에 따른 멀티 도메인 환경에서의 아이템 임베딩 방법을 설명하기 위한 예시적인 도면이다.
도 21은 본 개시의 다른 몇몇 실시예들에 따른 멀티 도메인 환경에서의 아이템 임베딩 방법을 설명하기 위한 예시적인 도면이다.
도 22는 본 개시의 몇몇 실시예들에 따른 멀티 도메인 환경에서의 딥러닝 모델의 구조와 추천 아이템 결정 방법을 설명하기 위한 예시적인 도면이다.
도 23은 본 개시의 다른 몇몇 실시예들에 따른 멀티 도메인 환경에서의 딥러닝 모델의 구조와 추천 아이템 결정 방법을 설명하기 위한 예시적인 도면이다.
도 24는 본 개시의 몇몇 실시예들에 따른 추천 시스템을 구현할 수 있는 예시적인 컴퓨팅 장치를 도시한다.
1 is an exemplary configuration diagram showing the operating environment of a recommendation system according to some embodiments of the present disclosure.
FIG. 2 is an exemplary diagram schematically showing a process in which a recommendation system recommends content based on a reinforcement learning model according to some embodiments of the present disclosure.
FIG. 3 is an exemplary diagram schematically showing a process in which a recommendation system recommends content based on a deep learning model according to some embodiments of the present disclosure.
4 and 5 are exemplary diagrams for schematically explaining a process in which a recommendation system according to some embodiments of the present disclosure provides a multi-domain recommendation service.
6 to 8 are exemplary diagrams for explaining examples of a recommended content provision method and user feedback information according to some embodiments of the present disclosure.
9 is an example flowchart schematically illustrating a machine learning-based recommendation method according to some embodiments of the present disclosure.
10 to 12 are exemplary diagrams for explaining the operation and implementation method of a deep learning model according to some embodiments of the present disclosure.
Figure 13 is an example diagram for explaining the structure and learning method of a deep learning model according to some embodiments of the present disclosure.
FIG. 14 is an exemplary diagram for explaining a content embedding method according to some embodiments of the present disclosure.
FIG. 15 is an exemplary diagram for explaining a data purification method according to some embodiments of the present disclosure.
FIG. 16 is an exemplary diagram for explaining a data purification method according to some other embodiments of the present disclosure.
FIG. 17 is an exemplary diagram illustrating a problem caused by new content registration and a method for solving the problem according to some embodiments of the present disclosure.
FIG. 18 is an exemplary diagram for explaining a method of operating a recommendation model according to some embodiments of the present disclosure.
FIG. 19 is an exemplary diagram schematically illustrating a machine learning-based multi-domain recommendation method according to some embodiments of the present disclosure.
FIG. 20 is an exemplary diagram illustrating an item embedding method in a multi-domain environment according to some embodiments of the present disclosure.
FIG. 21 is an exemplary diagram illustrating an item embedding method in a multi-domain environment according to some other embodiments of the present disclosure.
FIG. 22 is an exemplary diagram illustrating the structure of a deep learning model and a method for determining a recommended item in a multi-domain environment according to some embodiments of the present disclosure.
FIG. 23 is an exemplary diagram illustrating the structure of a deep learning model and a method for determining a recommended item in a multi-domain environment according to some other embodiments of the present disclosure.
24 illustrates an example computing device that can implement a recommendation system according to some embodiments of the present disclosure.

이하, 첨부된 도면을 참조하여 본 개시의 다양한 실시예들을 상세히 설명한다. 본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 개시의 기술적 사상은 이하의 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 개시의 기술적 사상을 완전하도록 하고, 본 개시가 속한 기술분야에서 통상의 지식을 가진 자에게 본 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시의 기술적 사상은 청구항의 범주에 의해 정의될 뿐이다.Hereinafter, various embodiments of the present disclosure will be described in detail with reference to the attached drawings. The advantages and features of the present disclosure and methods for achieving them will become clear by referring to the embodiments described in detail below along with the accompanying drawings. However, the technical idea of the present disclosure is not limited to the following embodiments and may be implemented in various different forms. The following examples are merely intended to complete the technical idea of the present disclosure and to cover the technical field to which the present disclosure belongs. is provided to fully inform those skilled in the art of the scope of the present disclosure, and the technical idea of the present disclosure is only defined by the scope of the claims.

본 개시의 다양한 실시예들을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.In describing various embodiments of the present disclosure, if it is determined that a detailed description of a related known configuration or function may obscure the gist of the present disclosure, the detailed description will be omitted.

다른 정의가 없다면, 이하의 실시예들에서 사용되는 용어(기술 및 과학적 용어를 포함)는 본 개시가 속한 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있으나, 이는 관련 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수도 있다. 본 개시에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 개시의 범주를 제한하고자 하는 것은 아니다.Unless otherwise defined, terms (including technical and scientific terms) used in the following embodiments may be used in a meaning that can be commonly understood by those skilled in the art in the technical field to which this disclosure pertains. It may vary depending on the intentions or precedents of engineers working in related fields, the emergence of new technologies, etc. The terminology used in this disclosure is for describing embodiments and is not intended to limit the scope of this disclosure.

이하의 실시예들에서 사용되는 단수의 표현은 문맥상 명백하게 단수인 것으로 특정되지 않는 한, 복수의 개념을 포함한다. 또한, 복수의 표현은 문맥상 명백하게 복수인 것으로 특정되지 않는 한, 단수의 개념을 포함한다.The singular expressions used in the following embodiments include plural concepts, unless the context clearly specifies singularity. Additionally, plural expressions include singular concepts, unless the context clearly specifies plurality.

또한, 이하의 실시예들에서 사용되는 제1, 제2, A, B, (a), (b) 등의 용어는 어떤 구성요소를 다른 구성요소와 구별하기 위해 사용되는 것일 뿐, 그 용어에 의해 해당 구성요소의 본질이나 차례 또는 순서 등이 한정되지는 않는다.In addition, terms such as first, second, A, B, (a), (b) used in the following embodiments are only used to distinguish one component from another component, and the terms The nature, sequence, or order of the relevant components are not limited.

본 개시의 다양한 실시예들에 따르면, 기계학습 모델에 기반한 추천 방법 및 그 시스템이 제공될 수 있다. 이때, 추천 대상 아이템은 예를 들어 콘텐츠(e.g., 영화, 드라마, TV 프로그램, 웹툰, 음악, 뉴스, 광고 등), 상품, 음식(e.g., 배달 음식) 등과 같이 다양한 도메인(또는 유형)의 아이템들을 제한없이 포함할 수 있다. 다만, 이하에서는, 이해의 편의를 제공하기 위해, 추천 대상 아이템이 '콘텐츠'인 경우를 가정하여 설명을 하도록 한다.According to various embodiments of the present disclosure, a recommendation method and system based on a machine learning model may be provided. At this time, recommended items include items from various domains (or types), such as content (e.g., movies, dramas, TV programs, webtoons, music, news, advertisements, etc.), products, food (e.g., delivery food), etc. It can be included without limitation. However, in the following, for convenience of understanding, explanation will be made assuming that the recommended item is 'content'.

이하, 첨부된 도면들을 참조하여 본 개시의 다양한 실시예들에 대하여 상세하게 설명한다.Hereinafter, various embodiments of the present disclosure will be described in detail with reference to the attached drawings.

도 1은 본 개시의 몇몇 실시예들에 따른 추천 시스템(10)의 동작 환경을 나타내는 예시적인 구성도이다.1 is an exemplary configuration diagram showing the operating environment of the recommendation system 10 according to some embodiments of the present disclosure.

도 1에 도시된 바와 같이, 추천 시스템(10)은 다수의 사용자 단말들(12-1 내지 12-n)에게 콘텐츠 서비스를 제공하는 환경에서 동작할 수 있다. 예를 들어, 추천 시스템(10)은 OTT(Over-The-Top) 서비스 또는 콘텐츠 스트리밍 서비스를 제공하는 시스템(11)과 연동하거나 해당 시스템(11)에 포함되어 동작할 수 있다. 그러나, 본 개시의 범위가 이에 한정되는 것은 아니다. 이하에서는, 임의의 사용자 단말(e.g., 12-1)을 지칭하거나 전체 사용자 단말들(12-1 내지 12-n)을 총칭하는 경우 모두에 참조번호 '12'를 사용하도록 한다.As shown in FIG. 1, the recommendation system 10 may operate in an environment that provides content services to a plurality of user terminals 12-1 to 12-n. For example, the recommendation system 10 may operate in conjunction with, or be included in, a system 11 that provides an OTT (Over-The-Top) service or a content streaming service. However, the scope of the present disclosure is not limited thereto. Hereinafter, the reference number '12' will be used to refer to any user terminal (e.g., 12-1) or to refer collectively to all user terminals (12-1 to 12-n).

이해의 편의를 제공하기 위해, 추천 시스템(10)에 앞서 콘텐츠 서비스 시스템(11)과 사용자 단말(12)에 대해 먼저 설명하도록 한다.To provide convenience of understanding, the content service system 11 and the user terminal 12 will be explained first before the recommendation system 10.

콘텐츠 서비스 시스템(11)은 사용자에게 콘텐츠 서비스를 제공하는 컴퓨팅 장치/시스템일 수 있다. 가령, 콘텐츠 서비스 시스템(11)은 기 등록된 콘텐츠들 중에서 요청된 콘텐츠를 사용자 단말(12)로 스트리밍하는 시스템(플랫폼)일 수 있다. 이러한 경우에 한하여, 콘텐츠 서비스 시스템(11)은 '콘텐츠 스트리밍 시스템(플랫폼)', '콘텐츠 스트리밍 서버' 등과 같이 명명될 수도 있다. 콘텐츠 서비스 시스템(11)은 어떠한 형태로 구현되더라도 무방하다.The content service system 11 may be a computing device/system that provides content services to users. For example, the content service system 11 may be a system (platform) that streams requested content from among pre-registered content to the user terminal 12. In this case only, the content service system 11 may be named 'content streaming system (platform)', 'content streaming server', etc. The content service system 11 may be implemented in any form.

서비스(제공)되는 콘텐츠는 예를 들어 비디오(영상), 이미지, 오디오(음성), 텍스트, 멀티미디어 등과 같이 다양한 형태를 가질 수 있으며, 어떠한 형태가 되더라도 무방하다. 또한, 서비스되는 콘텐츠는 예를 들어 영화, 드라마, TV 프로그램, 웹툰, 음악, 뉴스, 광고 등과 같이 다양한 유형의 콘텐츠를 모두 포괄할 수 있다. 다만, 이하에서는, 이해의 편의를 제공하기 위해, 서비스되는 콘텐츠가 멀티미디어, 영상, 음악 등과 같이 재생 가능한 형태의 콘텐츠임을 가정하여 설명을 이어가도록 한다.Content that is serviced (provided) may have various forms, such as video (image), image, audio (voice), text, multimedia, etc., and may take any form. Additionally, the serviced content may encompass various types of content, such as movies, dramas, TV programs, webtoons, music, news, advertisements, etc. However, in the following, in order to provide convenience of understanding, the explanation will be continued assuming that the serviced content is content in a playable form such as multimedia, video, music, etc.

다음으로, 사용자 단말(12)은 콘텐츠 서비스(또는 다른 도메인의 서비스)를 제공받기 위해 사용자가 이용하는 단말을 의미할 수 있다. 예를 들어, 스마트폰, 랩탑, 데스크탑, TV, 키오스크, 디지털 사이니지 등과 같은 다양한 유형의 컴퓨팅 장치가 사용자 단말(12)의 범주에 제한없이 포함될 수 있다.Next, the user terminal 12 may refer to a terminal used by a user to receive a content service (or a service of another domain). For example, various types of computing devices such as smartphones, laptops, desktops, TVs, kiosks, digital signage, etc. may be included in the category of user terminal 12 without limitation.

사용자는 단말(12)을 통해 다양한 콘텐츠들을 제공받을 수 있다. 가령, 사용자는 단말(12)을 통해 콘텐츠 서비스 페이지에 접속하여 로그인을 수행한 다음에 원하는 콘텐츠를 소비할 수 있으며, 추천 콘텐츠를 제공받을 수도 있다. 또한, 사용자는 단말(12)을 통해 추천 콘텐츠에 대한 다양한 피드백들을 제공할 수도 있다.The user can receive various contents through the terminal 12. For example, the user can access the content service page through the terminal 12, log in, consume desired content, and be provided with recommended content. Additionally, the user may provide various feedback on recommended content through the terminal 12.

참고로, '소비'라는 용어는 '시청', '청취', '감상' 등의 의미를 포괄하는 것으로 해석될 수 있다. 가령, 영상 콘텐츠를 소비한다는 것은 해당 콘텐츠를 시청하는 것을 의미할 수 있고, 오디오 콘텐츠를 소비한다는 것은 해당 콘텐츠를 청취 또는 감상하는 것을 의미할 수 있다. 또한, '소비'라는 용어는 사용자의 자원(e.g., 시간, 금전 등) 소모를 야기하는 특정 아이템(e.g., 콘텐츠, 상품, 음식)에 대한 다양한 유형의 행위들(e.g., 구매, 주문 등)도 포괄하는 것으로 해석될 수 있다.For reference, the term 'consumption' can be interpreted to encompass meanings such as 'watching', 'listening', and 'appreciation'. For example, consuming video content may mean watching the content, and consuming audio content may mean listening to or appreciating the content. Additionally, the term 'consumption' refers to various types of actions (e.g., purchase, order, etc.) on specific items (e.g., content, products, food) that cause consumption of the user's resources (e.g., time, money, etc.). It can be interpreted as inclusive.

다음으로, 추천 시스템(10)은 사용자에게 콘텐츠(또는 다른 도메인의 아이템)를 추천하는 컴퓨팅 장치/시스템일 수 있다. 가령, 추천 시스템(10)은 사용자를 위한 추천 콘텐츠를 결정하고, 추천 콘텐츠(e.g., 추천 콘텐츠 정보)를 직접 또는 콘텐츠 서비스 시스템(11)을 통해 사용자에게 제공할 수 있다. 가령, 추천 콘텐츠는 콘텐츠 서비스 페이지(e.g., 콘텐츠 서비스 앱을 통해 제공되는 메인 서비스 페이지)의 히어로(hero) 영역에 표시됨으로써 사용자에게 제공(노출)될 수 있는데, 이에 대해서는 도 6 내지 도 8의 설명 내용을 참조하도록 한다.Next, the recommendation system 10 may be a computing device/system that recommends content (or items from another domain) to a user. For example, the recommendation system 10 may determine recommended content for the user and provide the recommended content (e.g., recommended content information) to the user directly or through the content service system 11. For example, recommended content may be provided (exposed) to the user by being displayed in the hero area of the content service page (e.g., the main service page provided through the content service app), as described in FIGS. 6 to 8. Please refer to the contents.

참고로, 도 1은 콘텐츠 서비스 시스템(11)과 추천 시스템(10)이 서로 별개의 물리적 컴퓨팅 장치/시스템에서 구현되는 것처럼 도시하고 있으나, 경우에 따라 두 시스템들(10, 11)은 동일한 물리적 컴퓨팅 장치/시스템 내에서 서로 통합된 형태로 구현될 수도 있다. 가령, 추천 시스템(10)이 콘텐츠 서비스 시스템(11) 내에서 모듈의 형태로 구현될 수도 있다.For reference, Figure 1 shows the content service system 11 and the recommendation system 10 as being implemented in separate physical computing devices/systems, but in some cases, the two systems 10 and 11 may be implemented in the same physical computing device/system. They may also be implemented in an integrated form within a device/system. For example, the recommendation system 10 may be implemented in the form of a module within the content service system 11.

또한, 상술한 바와 같이, 도 1은 추천 대상 아이템이 '콘텐츠'인 경우를 가정하고 있다. 따라서, 추천 대상 아이템이 다른 도메인(유형)의 아이템이라면, 추천 시스템(10)은 해당 아이템을 제공하는 시스템과 연동하여 추천을 수행할 수 있다. 예를 들어, 추천 대상 아이템이 '상품'인 경우라면, 추천 시스템(10)은 쇼핑 서비스(또는 상품 구매 서비스)를 제공하는 시스템과 연동하여 상품 추천을 수행할 수도 있다. 유사하게, 추천 대상 아이템이 '배달 음식'인 경우라면, 추천 시스템(10)은 배달 서비스(또는 음식 주문 서비스)를 제공하는 시스템과 연동하여 음식 추천을 수행할 수도 있다.Additionally, as described above, Figure 1 assumes that the recommended item is 'content'. Accordingly, if the recommended item is an item from another domain (type), the recommendation system 10 can perform recommendation in conjunction with a system providing the item. For example, if the recommended item is a 'product', the recommendation system 10 may perform product recommendation in conjunction with a system that provides a shopping service (or product purchase service). Similarly, if the recommended item is 'delivery food', the recommendation system 10 may perform food recommendation in conjunction with a system that provides a delivery service (or food ordering service).

추천 시스템(10)은 기계학습(machine-learning) 모델을 이용하여 사용자를 위한 추천 콘텐츠(e.g., 맞춤형 콘텐츠)를 결정할 수 있다. 다만, 그 구체적인 방식은 실시예에 따라 달라질 수 있다.The recommendation system 10 may determine recommended content (e.g., customized content) for the user using a machine-learning model. However, the specific method may vary depending on the embodiment.

몇몇 실시예들에서는, 도 2에 도시된 바와 같이, 추천 시스템(10)이 강화학습 모델(20)을 통해 추천 콘텐츠를 결정할 수 있다. 가령, 추천 시스템(10)은 강화학습 모델(20)을 통해 추천 콘텐츠를 결정하고, 이에 대한 사용자의 피드백 정보를 이용하여 강화학습 모델(20)을 업데이트(학습)하며, 업데이트된 모델(20)을 통해 다시 추천 콘텐츠를 결정하는 과정을 반복적으로 수행할 수 있다. 이러한 과정이 반복됨에 따라 강화학습 모델(20)이 사용자 맞춤형 콘텐츠를 보다 정확하게 추천할 수 있게 된다.In some embodiments, as shown in FIG. 2, the recommendation system 10 may determine recommended content through the reinforcement learning model 20. For example, the recommendation system 10 determines recommended content through the reinforcement learning model 20, updates (learns) the reinforcement learning model 20 using the user's feedback information, and creates the updated model 20. The process of determining recommended content can be repeatedly performed. As this process is repeated, the reinforcement learning model 20 can more accurately recommend user-customized content.

피드백(e.g., 추천 콘텐츠와 연관된 사용자의 액션) 정보는 직접적(명시적) 피드백, 간접적(암시적) 피드백, 긍정 피드백, 부정 피드백 등과 같이 사용자로부터 얻을 수 있는 모든 종류의 피드백에 관한 정보를 포함할 수 있다. 이러한 피드백 정보의 예로는 콘텐츠 선택 관련 정보(e.g., 콘텐츠 페이지 링크 클릭 여부, 클릭횟수, 선택 전에 탐색/재생/클릭한 다른 콘텐츠들의 개수, 선택까지 소요된 시간 등), 콘텐츠 재생/소비 관련 정보(e.g., 재생 버튼 클릭 여부, 재생 중 일시정지횟수, 지속 재생 시간, 전체 재생 시간, 끝까지 재생했는지 여부, 재생까지 소요된 시간, 재생 전에 탐색/재생/클릭한 다른 콘텐츠들의 개수, 단말 변경 시 이어서 시청했는지 여부, 끝까지 시청하는데 소요된 시간 등), 찜하기 관련 정보(e.g., 찜하기 버튼 클릭 여부 찜하기 해제 버튼 클릭 여부 등), 공유하기 관련 정보, 리뷰 관련 정보(e.g., 리뷰 작성 여부, 리뷰 내용 등) 등을 포함할 수 있다. 그러나, 본 개시의 범위가 이에 한정되는 것은 아니다. 피드백 정보와 관련하여서는 도 6 내지 도 8의 설명 내용을 더 참고하도록 한다.Feedback (e.g., user actions related to recommended content) information may include information about all types of feedback that can be obtained from users, such as direct (explicit) feedback, indirect (implicit) feedback, positive feedback, negative feedback, etc. You can. Examples of such feedback information include information related to content selection (e.g., whether a content page link was clicked, number of clicks, number of other content browsed/played/clicked before selection, time taken to select, etc.), information related to content playback/consumption (e.g., e.g., whether or not the play button was clicked, number of pauses during playback, continuous playback time, total playback time, whether played to the end, time taken to play, number of other contents browsed/played/clicked before playback, continued viewing when changing devices (whether or not the user clicked the save button, time taken to watch to the end, etc.), information related to saving (e.g., whether the save button was clicked or the unsave button was clicked, etc.), sharing related information, review-related information (e.g., whether a review was written, review content) etc.) may be included. However, the scope of the present disclosure is not limited thereto. Regarding feedback information, further refer to the descriptions of FIGS. 6 to 8.

강화학습 모델(20)의 업데이트(학습)에 이용되는 리워드(또는 리워드 점수)는 예시된 피드백 정보를 기초로 산정될 수 있다. 다만, 그 구체적인 산정 방식은 다양하게 설계될 수 있다.The reward (or reward score) used for updating (learning) of the reinforcement learning model 20 can be calculated based on the example feedback information. However, the specific calculation method can be designed in various ways.

예를 들어, 추천 콘텐츠를 선택 또는 재생하기까지 소요된 시간이 짧을수록 리워드는 더 높은 값으로 산정될 수 있다.For example, the shorter the time it takes to select or play recommended content, the higher the reward value may be calculated.

다른 예로서, 추천 콘텐츠를 선택 또는 재생하기 전에 사용자에 의해 선택 또는 재생된 콘텐츠 개수가 적을수록 리워드는 더 높은 값으로 산정될 수 있다.As another example, the lower the number of contents selected or played by the user before selecting or playing the recommended content, the higher the reward value may be calculated.

또 다른 예로서, 추천 콘텐츠의 재생 시간 또는 지속 재생 시간이 길수록 리워드는 더 높은 값으로 산정될 수 있다.As another example, the longer the playback time or continuous playback time of recommended content, the higher the reward value may be calculated.

또 다른 예로서, 일시정지횟수가 적을수록 리워드는 더 높은 값으로 산정될 수 있다.As another example, the fewer the number of pauses, the higher the reward may be calculated.

또 다른 예로서, 추천 콘텐츠를 끝까지 시청하는데 소요된 시간이 짧을수록 리워드는 더 높은 값으로 산정될 수 있다.As another example, the shorter the time it takes to watch recommended content to the end, the higher the reward value may be calculated.

또 다른 예로서, 사용자가 다른 단말을 통해 추천 콘텐츠를 이어보기한 경우, 추가 리워드가 부여될 수 있다.As another example, when a user continues to view recommended content through another terminal, additional rewards may be granted.

또 다른 예로서, 추천 콘텐츠를 재생하거나 찜하기한 경우에는 단순히 선택만 한 경우보다 더 높은 리워드가 부여될 수 있다.As another example, if you play or add recommended content, a higher reward may be given than if you simply select it.

또 다른 예로서, 상술한 예시들의 다양한 조합에 기초하여 피드백 정보에 대한 리워드가 산정될 수 있다.As another example, a reward for feedback information may be calculated based on various combinations of the above-described examples.

참고로, 추천 시스템(10)은 사용자의 피드백 정보를 콘텐츠 서비스 시스템(11, e.g., 콘텐츠 서비스 페이지를 제공하는 서버 등)을 통해 획득할 수도 있고 사용자 단말(12)로부터 직접 획득할 수도 있다. 피드백 정보를 획득하는 방식은 어떠한 방식이 되더라도 무방하다.For reference, the recommendation system 10 may obtain the user's feedback information through a content service system 11 (e.g., a server providing a content service page, etc.) or directly from the user terminal 12. Any method may be used to obtain feedback information.

강화학습 모델(20)은 예를 들어 MAB(Multi-Armed Bandits) 알고리즘에 기반하여 동작하는 모델일 수 있다. 보다 구체적인 예를 들면, 강화학습 모델(20)은 톰슨 샘플링(Thompson sampling), UCB(Upper Confidence Bound), ε-그리디 알고리즘 등에 기반하여 동작하는 모델일 수 있다. 그러나, 본 개시의 범위가 이에 한정되는 것은 아니다. 당해 기술 분야의 종사자라면, 예시된 알고리즘/모델의 동작 원리와 방식에 대해 이미 숙지하고 있을 것인 바, 이들에 대한 설명은 생략하도록 한다.The reinforcement learning model 20 may be, for example, a model that operates based on the MAB (Multi-Armed Bandits) algorithm. For a more specific example, the reinforcement learning model 20 may be a model that operates based on Thompson sampling, UCB (Upper Confidence Bound), ε-greedy algorithm, etc. However, the scope of the present disclosure is not limited thereto. Anyone working in the relevant technical field will already be familiar with the operating principles and methods of the illustrated algorithms/models, so descriptions thereof will be omitted.

다른 몇몇 실시예들에서는, 도 3에 도시된 바와 같이, 추천 시스템(10)이 딥러닝 모델(30)을 통해 추천 콘텐츠를 결정할 수 있다. 가령, 추천 시스템(10)은 사용자의 콘텐츠 소비 이력 데이터(31)를 이용하여 딥러닝 모델(30)을 학습시킬 수 있다. 그리고, 추천 시스템(10)은 학습된 딥러닝 모델(30)을 통해 해당 사용자의 최근 소비 콘텐츠들로부터 다음(next) 소비 콘텐츠를 예측함으로써 추천 콘텐츠를 결정할 수 있다. 딥러닝 모델(30)은 콘텐츠 소비 이력 데이터(31)에 내재된 사용자의 순차적인(sequential) 소비 패턴을 학습함으로써 정확하게 다음 소비 콘텐츠를 예측할 수 있는데, 이에 대해서는 추후 도 9 이하의 도면들을 참조하여 상세하게 설명하도록 한다.In some other embodiments, as shown in FIG. 3, the recommendation system 10 may determine recommended content through the deep learning model 30. For example, the recommendation system 10 can learn the deep learning model 30 using the user's content consumption history data 31. Additionally, the recommendation system 10 can determine recommended content by predicting the next consumption content from the user's recently consumed content using the learned deep learning model 30. The deep learning model 30 can accurately predict the next consumption content by learning the user's sequential consumption pattern embedded in the content consumption history data 31, which will be detailed later with reference to the drawings in FIG. 9 and below. Please explain clearly.

또 다른 몇몇 실시예들에서는, 상술한 실시예들의 다양한 조합에 기초하여 추천 콘텐츠가 결정될 수도 있다. 가령, 추천 시스템(10)은 강화학습 모델(20)을 통해 제1 추천 콘텐츠를 결정하고, 딥러닝 모델(30)을 통해 제2 추천 콘텐츠를 결정하며, 제1 추천 콘텐츠와 제2 추천 콘텐츠를 함께 사용자에게 제공할 수도 있다. 이때, 제1 추천 콘텐츠와 제2 추천 콘텐츠의 개수 비율은 강화학습 모델(20) 및/또는 딥러닝 모델(30)의 성능에 기초하여 결정될 수도 있다. 다른 예로서, 추천 시스템(10)은 강화학습 모델(20)을 통해 제1 추천 후보 콘텐츠들을 결정하고, 딥러닝 모델(30)을 통해 제2 추천 후보 콘텐츠들 결정하며, 제1 추천 후보 콘텐츠들과 제2 추천 후보 콘텐츠들 중에서 선별된 콘텐츠(e.g., 중복되는 콘텐츠 등)를 추천 콘텐츠로 결정할 수도 있다. 또 다른 예로서, 추천 시스템(10)은 제1 조건(상황) 하에서는 강화학습 모델(20)을 통해 추천 콘텐츠를 결정하고 제2 조건(상황) 하에서는 딥러닝 모델(30)을 통해 추천 콘텐츠를 결정할 수도 있다. 이에 대해서는 도 18의 설명 내용을 더 참고하도록 한다.In some other embodiments, recommended content may be determined based on various combinations of the above-described embodiments. For example, the recommendation system 10 determines the first recommended content through the reinforcement learning model 20, determines the second recommended content through the deep learning model 30, and selects the first recommended content and the second recommended content. It can also be provided to users. At this time, the number ratio of the first recommended content and the second recommended content may be determined based on the performance of the reinforcement learning model 20 and/or the deep learning model 30. As another example, the recommendation system 10 determines first recommendation candidate contents through the reinforcement learning model 20, determines second recommendation candidate contents through the deep learning model 30, and first recommendation candidate contents. and content selected from among the second recommendation candidate content (e.g., overlapping content, etc.) may be determined as recommended content. As another example, the recommendation system 10 determines recommended content through the reinforcement learning model 20 under the first condition (situation) and determines the recommended content through the deep learning model 30 under the second condition (situation). It may be possible. For further information, please refer to the description of FIG. 18.

한편, 몇몇 실시예들에서는, 추천 시스템(10)이 사용자에게 멀티(크로스) 도메인 추천 서비스를 제공할 수도 있다. 가령, 추천 시스템(10)은 서로 다른 도메인에서 생성된 사용자의 이력 데이터를 수집하고 이를 학습하여 멀티 도메인 추천 서비스를 제공할 수 있다. 이러한 경우, 모델 학습에 필요한 데이터가 빠르게 준비될 수 있기 때문에, 추천 분야의 고질적인 문제 중 하나인 콜드-스타트(cold start) 문제가 용이하게 해결될 수 있다. 보다 이해의 편의를 제공하기 위해, 도 4 및 도 5를 참조하여 본 실시예들에 대하여 부연 설명하도록 한다.Meanwhile, in some embodiments, the recommendation system 10 may provide a multi-(cross) domain recommendation service to the user. For example, the recommendation system 10 can collect user history data generated in different domains and learn from it to provide a multi-domain recommendation service. In this case, because the data required for model learning can be quickly prepared, the cold start problem, one of the chronic problems in the recommendation field, can be easily solved. In order to provide easier understanding, the present embodiments will be further described with reference to FIGS. 4 and 5.

도 4에 도시된 바와 같이, 추천 시스템(10)은 다수의 도메인들(D1 내지 D3 참고)에서 생성되는 사용자의 이력 데이터들(41 내지 43)을 수집할 수 있다. 예를 들어, 추천 시스템(10)은 각 도메인의 서비스 시스템들(e.g., 11 등)을 통해 사용자에 대한 다양한 이력 데이터들(41 내지 43)을 수집할 수 있다. 그러나, 본 개시의 범위가 이에 한정되는 것은 아니며, 도메인별 이력 데이터를 수집하는 방식은 어떠한 방식이 되더라도 무방하다.As shown in FIG. 4, the recommendation system 10 can collect user history data 41 to 43 generated in multiple domains (see D1 to D3). For example, the recommendation system 10 may collect various historical data 41 to 43 about the user through service systems (e.g., 11, etc.) of each domain. However, the scope of the present disclosure is not limited to this, and any method may be used to collect domain-specific history data.

도메인은 예를 들어 추천 대상 아이템의 유형, 아이템과 관련된 서비스(또는 앱)의 유형 등에 기초하여 구분될 수 있을 것이나, 본 개시의 범위가 이에 한정되는 것은 아니다. 도 4는 콘텐츠(또는 콘텐츠 서비스) 관련 도메인, 상품(또는 쇼핑 서비스) 관련 도메인 및 음식(또는 배달 서비스) 관련 도메인으로 구성된 멀티 도메인 환경을 가정하고 있다.Domains may be classified based on, for example, the type of recommended item, the type of service (or app) related to the item, etc., but the scope of the present disclosure is not limited thereto. Figure 4 assumes a multi-domain environment consisting of a content (or content service)-related domain, a product (or shopping service)-related domain, and a food (or delivery service)-related domain.

다음으로, 추천 시스템(10)은 수집된 이력 데이터들(41 내지 43)을 이용하여 딥러닝 모델(e.g., 30)을 학습시키고 학습된 딥러닝 모델을 통해 사용자에게 멀티 도메인 추천 서비스를 제공할 수 있다. 가령, 도 5에 도시된 바와 같이, 사용자가 제1 단말(12-1, e.g., TV)을 통해 콘텐츠를 소비하고 있을 때, 추천 시스템(10)은 사용자의 제2 단말(12-2, e.g., 스마트폰)에 설치된 다른 도메인의 앱들(51, 52)을 통해 배달 음식을 추천하거나(53 참고, e.g., 영상 콘텐츠를 소비할 때 배달 음식을 주문하는 사용자의 행위 패턴을 딥러닝 모델이 학습한 경우) 소비 중인 콘텐츠와 연관된 상품을 추천할 수 있다(54 참고, e.g., 소비 중인 콘텐츠 연관된 상품을 구매하는 사용자의 행위 패턴을 딥러닝 모델이 학습한 경우). 이러한 경우, 추천 서비스에 대한 새로운(신선한) 경험이 사용자에게 선사될 수 있다. 추천 시스템(10)은 각 도메인의 서비스 시스템(e.g., 11)과 연동하거나 앱들(51, 52)과 직접적으로 연동하여 이러한 추천 서비스를 제공할 수 있다. 그러나, 본 개시의 범위가 이에 한정되는 것은 아니다.Next, the recommendation system 10 can train a deep learning model (e.g., 30) using the collected historical data (41 to 43) and provide a multi-domain recommendation service to the user through the learned deep learning model. there is. For example, as shown in FIG. 5, when a user is consuming content through a first terminal (12-1, e.g., TV), the recommendation system 10 recommends the user's second terminal (12-2, e.g., TV). , a deep learning model learns the behavior patterns of users who recommend delivery food through apps (51, 52) of other domains installed on smartphones (see 53, e.g., ordering delivery food when consuming video content). Case) Products related to the content being consumed can be recommended (see 54, e.g., when a deep learning model learns the behavior patterns of users who purchase products related to the content being consumed). In this case, a new (fresh) experience with the recommendation service can be provided to the user. The recommendation system 10 may provide such a recommendation service by linking with the service system (e.g., 11) of each domain or directly linking with the apps 51 and 52. However, the scope of the present disclosure is not limited thereto.

딥러닝 모델을 통해 멀티 도메인 추천을 수행하는 방법에 대해서는 추후 도 19 내지 도 23을 참조하여 보다 상세하게 설명하도록 한다.The method of performing multi-domain recommendation through a deep learning model will be described in more detail later with reference to FIGS. 19 to 23.

상술한 추천 시스템(10)은 적어도 하나의 컴퓨팅 장치로 구현될 수 있다. 예를 들어, 추천 시스템(10)의 모든 기능이 하나의 컴퓨팅 장치에서 구현될 수도 있고, 추천 시스템(10)의 제1 기능은 제1 컴퓨팅 장치에서 구현되고 제2 기능은 제2 컴퓨팅 장치에서 구현될 수도 있다. 또는, 추천 시스템(10)의 특정 기능이 복수의 컴퓨팅 장치들에서 구현될 수도 있다.The above-described recommendation system 10 may be implemented with at least one computing device. For example, all functionality of recommender system 10 may be implemented in a single computing device, with a first functionality of recommender system 10 implemented in a first computing device and a second functionality implemented in a second computing device. It could be. Alternatively, specific functionality of recommender system 10 may be implemented on multiple computing devices.

컴퓨팅 장치는 컴퓨팅 기능을 구비한 임의의 장치를 모두 포함할 수 있으며, 이러한 장치의 일 예시에 대해서는 도 24를 참조하도록 한다.Computing devices may include any device equipped with a computing function, and see FIG. 24 for an example of such a device.

참고로, 컴퓨팅 장치는 다양한 구성요소들(e.g., 메모리, 프로세서 등)이 상호작용하는 집합체이므로, 경우에 따라 '컴퓨팅 시스템'으로 명명될 수도 있다. 물론, 컴퓨팅 시스템이라는 용어는 복수의 컴퓨팅 장치들이 상호작용하는 집합체의 개념도 포괄할 수 있다.For reference, a computing device is a collection of interacting various components (e.g., memory, processor, etc.), so in some cases, it may be called a 'computing system'. Of course, the term computing system can also encompass the concept of a collection of interacting computing devices.

도 1에 도시된 바와 같이, 콘텐츠 서비스 시스템(11)과 사용자 단말(12), 추천 시스템(10)과 사용자 단말(12) 등은 네트워크를 통해 통신할 수 있다. 여기서, 네트워크는 근거리 통신망(Local Area Network, LAN), 광역 통신망(Wide Area Network, WAN), 이동 통신망(mobile radio communication network), Wibro(Wireless Broadband Internet) 등과 같은 모든 종류의 유/무선 네트워크로 구현될 수 있다.As shown in FIG. 1, the content service system 11 and the user terminal 12, the recommendation system 10 and the user terminal 12, etc. can communicate through a network. Here, the network is implemented as all types of wired/wireless networks such as Local Area Network (LAN), Wide Area Network (WAN), mobile radio communication network, Wibro (Wireless Broadband Internet), etc. It can be.

지금까지 도 1 내지 도 5를 참조하여 본 개시의 몇몇 실시예들에 따른 추천 시스템(10)의 예시적인 동작 환경에 대하여 개략적으로 설명하였다. 이하에서는, 도 6 내지 도 8을 참조하여 본 개시의 몇몇 실시예들에 따른 추천 콘텐츠 제공(노출) 방식과 사용자 피드백 정보의 예시에 대하여 간략하게 설명하도록 한다.So far, an exemplary operating environment of the recommendation system 10 according to some embodiments of the present disclosure has been schematically described with reference to FIGS. 1 to 5 . Hereinafter, with reference to FIGS. 6 to 8 , examples of recommended content provision (exposure) methods and user feedback information according to some embodiments of the present disclosure will be briefly described.

이하에서는, 본 개시의 명료함을 위해, 도면을 직접적으로 참조하지 않는 경우에는 모델들(20, 30)의 참조번호가 생략될 수 있으며, 실시예에 따라 모델들(20, 30)의 참조번호가 변경될 수 있다.Hereinafter, for clarity of the present disclosure, the reference numbers of the models 20 and 30 may be omitted when not directly referring to the drawings, and depending on the embodiment, the reference numbers of the models 20 and 30 may change.

도 6은 본 개시의 몇몇 실시예들에 따라 콘텐츠 서비스 페이지들 중 프로필 선택 페이지(60)를 통해 추천 콘텐츠가 제공되는 경우를 예시하고 있다. 프로필 선택 페이지(60)는 예를 들어 로그인 성공 시에 사용자 단말(12)에 표시되는 페이지(화면)일 수 있으나(e.g., 콘텐츠 서비스가 멀티-프로필을 지원하는 경우), 본 개시의 범위가 이에 한정되는 것은 아니다.FIG. 6 illustrates a case where recommended content is provided through a profile selection page 60 among content service pages according to some embodiments of the present disclosure. The profile selection page 60 may be, for example, a page (screen) displayed on the user terminal 12 upon successful login (e.g., when the content service supports multi-profile), but the scope of the present disclosure is not this. It is not limited.

도 6에 예시된 바와 같이, 추천 시스템(10)에 의해 결정된 추천 콘텐츠는 프로필 선택 페이지(60)의 히어로 영역(64)에 표시될 수 있다. 예를 들어, 추천 콘텐츠의 스틸 이미지, 숏 비디오(클립), 텍스트 등의 정보가 히어로 영역(64)에 표시될 수 있다. 그러나, 본 개시의 범위가 이에 한정되는 것은 아니다.As illustrated in FIG. 6 , recommended content determined by the recommendation system 10 may be displayed in the hero area 64 of the profile selection page 60 . For example, information such as still images, short videos (clips), and text of recommended content may be displayed in the hero area 64. However, the scope of the present disclosure is not limited thereto.

참고로, 히어로 영역(64)은 해당 페이지(60)에서 상대적으로 큰 비중을 차지하는 영역 또는 시각적으로 두드러지는 영역을 의미할 수 있다. 당해 기술 분야의 종사자라면, 히어로 영역의 개념에 대해 이미 숙지하고 있을 것인 바, 이에 대한 설명은 생략하도록 한다.For reference, the hero area 64 may refer to an area that occupies a relatively large proportion of the page 60 or an area that is visually prominent. Anyone working in the relevant technical field will already be familiar with the concept of the hero area, so explanation thereof will be omitted.

본 실시예들에서, 추천 시스템(10)은 사용자의 로그인 정보를 이용하여 해당 사용자(또는 사용자의 유형)에 대응되는 기계학습 모델(즉, 맞춤형/개인화된 기계학습 모델)을 선택하고, 선택된 기계학습 모델을 이용하여 추천 콘텐츠를 결정할 수 있다. 또는, 추천 시스템(10)이 해당 사용자의 유형 정보를 기계학습 모델에 입력(피딩(feeding)함으로써(즉, 명시적으로 제공함) 맞춤형 추천을 수행할 수도 있다.In these embodiments, the recommendation system 10 uses the user's login information to select a machine learning model (i.e., a customized/personalized machine learning model) corresponding to the user (or type of user), and selects the selected machine. Recommended content can be determined using a learning model. Alternatively, the recommendation system 10 may perform customized recommendation by inputting (feeding) (i.e., explicitly providing) the user's type information into the machine learning model.

다수의 프로필들(61 내지 66)은 사용자와 1:1 대응될 수도 있고, 그렇지 않을 수도 있다. 다만, 이하에서는, 이해의 편의를 제공하기 위해, 하나의 프로필(e.g., 61)이 한 명의 사용자를 의미하는 것으로 가정하도록 한다.Multiple profiles 61 to 66 may or may not correspond 1:1 to the user. However, hereinafter, for convenience of understanding, it is assumed that one profile (e.g., 61) refers to one user.

도 7는 본 개시의 몇몇 실시예들에 따라 콘텐츠 서비스 페이지들 중 메인 서비스 페이지(70)에 추천 콘텐츠가 표시되는 경우를 도시하고 있다. 메인 서비스 페이지(70)는 예를 들어 프로필(e.g., 61) 선택 또는 로그인 성공 시에 사용자 단말(12)에 표시되는 페이지(화면)일 수 있으나, 본 개시의 범위가 이에 한정되는 것은 아니다.FIG. 7 illustrates a case where recommended content is displayed on the main service page 70 among content service pages according to some embodiments of the present disclosure. The main service page 70 may be, for example, a page (screen) displayed on the user terminal 12 when a profile (e.g., 61) is selected or login is successful, but the scope of the present disclosure is not limited thereto.

도 7에 도시된 바와 같이, 메인 서비스 페이지(70)는 카테고리 메뉴 영역(71), 히어로 영역(72), 기타 콘텐츠 영역(e.g., 73)을 포함할 수 있다. 또한, 메인 서비스 페이지(70)는 추천 콘텐츠의 대표 정보 영역(75), 재생하기 버튼(76), 콘텐츠 인디케이터(77) 등을 더 포함할 수도 있다. 메인 서비스 페이지(70)는 카테고리, 토픽 등에 따른 콘텐츠 탐색 기능을 제공할 수 있고 콘텐츠 검색 기능(75 참조), 프로필 변경 기능(74 참고) 등을 더 제공할 수도 있다.As shown in FIG. 7, the main service page 70 may include a category menu area 71, a hero area 72, and other content areas (e.g., 73). In addition, the main service page 70 may further include a representative information area 75 of recommended content, a play button 76, and a content indicator 77. The main service page 70 may provide a content search function according to categories, topics, etc., and may further provide a content search function (see 75) and a profile change function (see 74).

상술한 바와 유사하게, 추천 콘텐츠는 메인 서비스 페이지(70)의 히어로 영역(72)에 표시될 수 있다. 또한, 히어로 영역(72) 근처에 추천 콘텐츠의 대표 정보(75, e.g., 제목, 장르, 출연 배우 등)가 함께 표시될 수도 있다.Similar to what was described above, recommended content may be displayed in the hero area 72 of the main service page 70. Additionally, representative information (e.g., title, genre, actors, etc.) of the recommended content 75 may be displayed near the hero area 72.

참고로, 콘텐츠 인디케이터(77)는 추천 콘텐츠들에 대한 탐색 기능과 추천 콘텐츠의 전체 개수(e.g., 6개)를 알리는 용도를 갖는 것으로 이해될 수 있다.For reference, the content indicator 77 can be understood as having a search function for recommended content and the purpose of notifying the total number of recommended content (e.g., 6).

이러한 페이지(70)에서, 콘텐츠 재생 관련 피드백 정보는 예를 들어 사용자가 재생하기 버튼(76)을 선택한 경우에 생성될 수 있다.In this page 70, feedback information related to content playback may be generated, for example, when the user selects the play button 76.

또한, 콘텐츠 선택 관련 피드백 정보는 예를 들어 사용자가 추천 콘텐츠의 대표 정보 영역(75), 히어로 영역(72) 등을 선택(클릭)한 경우에 생성될 수 있다(e.g., 히어로 영역 72에 추천 콘텐츠 페이지지의 링크가 내장된 경우). 그러한 경우에, 사용자 단말(12)의 화면이 메인 서비스 페이지(70)에서 추천 콘텐츠의 페이지(도 8의 80 참조)로 이동되며, 콘텐츠 선택과 관련된 피드백 정보도 생성될 수 있다.In addition, feedback information related to content selection may be generated, for example, when the user selects (clicks) the representative information area 75 or the hero area 72 of the recommended content (e.g., recommended content in the hero area 72). (if the link to the page is embedded). In such a case, the screen of the user terminal 12 moves from the main service page 70 to the recommended content page (see 80 in FIG. 8), and feedback information related to content selection may also be generated.

도 8은 본 개시의 몇몇 실시예들에 따른 콘텐츠 페이지(80)를 예시하고 있다. 콘텐츠 페이지(80)는 예를 들어 사용자가 해당 콘텐츠를 선택(e.g., 히어로 영역 72 선택 등)한 경우에 사용자 단말(12)에 표시되는 페이지(화면)일 수 있으나, 본 개시의 범위가 이에 한정되는 것은 아니다.8 illustrates a content page 80 according to some embodiments of the present disclosure. For example, the content page 80 may be a page (screen) displayed on the user terminal 12 when the user selects the corresponding content (e.g., selecting hero area 72, etc.), but the scope of the present disclosure is limited to this. It doesn't work.

도 8에 도시된 바와 같이, 콘텐츠 페이지(80)는 카테고리 메뉴 영역(71), 히어로 영역(81), 콘텐츠 상세 정보 영역(82) 등을 포함할 수 있다. 또한, 콘텐츠 페이지(80)는 재생하기 버튼(83), 찜하기 버튼(84), 공유하기 버튼(85) 등을 더 포함할 수 있다. 히어로 영역(81)에는 해당 페이지(80)의 콘텐츠가 표시될 수 있다.As shown in FIG. 8, the content page 80 may include a category menu area 71, a hero area 81, and a content detailed information area 82. Additionally, the content page 80 may further include a play button 83, a save button 84, a share button 85, etc. The content of the corresponding page 80 may be displayed in the hero area 81.

이러한 페이지(80)에서, 콘텐츠 재생 관련 피드백 정보는 예를 들어 사용자가 재생하기 버튼(83)을 선택한 경우에 생성될 수 있다. 물론, 사용자가 콘텐츠를 시청하거나 완료한 경우에도, 일시정지횟수, 총 재생(시청) 시간과 같은 피드백 정보가 생성될 수 있다.In this page 80, feedback information related to content playback may be generated, for example, when the user selects the play button 83. Of course, even when the user watches or completes the content, feedback information such as the number of pauses and total playback (viewing) time may be generated.

또한, 찜하기 버튼(84), 공유하기 버튼(88)을 통해 찜하기와 공유하기 관련 피드백 정보도 생성될 수 있다.Additionally, feedback information related to saving and sharing can also be generated through the saving button 84 and the sharing button 88.

지금까지 도 6 내지 도 8를 참조하여 본 개시의 몇몇 실시예들에 따른 추천 콘텐츠의 제공 방식과 사용자 피드백 정보의 예시들에 대하여 설명하였다. 상술한 바에 따르면, 콘텐츠 서비스 페이지의 히어로 영역(e.g., 72)을 통해 추천 콘텐츠를 제공함으로써, 추천 콘텐츠의 노출 효과가 극대화될 수 있고 사용자의 흥미와 관심이 용이하게 유도될 수 있다.So far, examples of recommended content provision methods and user feedback information according to some embodiments of the present disclosure have been described with reference to FIGS. 6 to 8 . According to the above, by providing recommended content through the hero area (e.g., 72) of the content service page, the exposure effect of the recommended content can be maximized and the user's interest and interest can be easily induced.

이하에서는, 도 9 이하의 도면들을 참조하여 상술한 추천 시스템(10)에서 수행될 수 있는 다양한 방법들에 대하여 설명하도록 한다. 다만, 이해의 편의를 제공하기 위해, 후술될 방법들의 모든 단계/동작이 상술한 추천 시스템(10)에서 수행되는 것을 가정하여 설명을 이어가도록 한다. 따라서, 특정 단계/동작의 주체가 생략된 경우, 추천 시스템(10)에서 수행되는 것으로 이해될 수 있다. 다만, 실제 환경에서는 후술될 방법의 특정 단계/동작이 다른 컴퓨팅 장치에서 수행될 수도 있다. 예를 들어, 딥러닝 모델에 대한 학습은 다른 컴퓨팅 장치에서 수행될 수도 있다.Hereinafter, various methods that can be performed in the above-described recommendation system 10 will be described with reference to the drawings of FIG. 9 and below. However, in order to provide convenience of understanding, the explanation will be continued assuming that all steps/operations of the methods to be described later are performed in the recommendation system 10 described above. Accordingly, when the subject of a specific step/action is omitted, it can be understood as being performed by the recommendation system 10. However, in a real environment, specific steps/operations of the method to be described later may be performed on another computing device. For example, training on a deep learning model may be performed on other computing devices.

도 9는 본 개시의 몇몇 실시예들에 따른 기계학습 기반 추천 방법을 개략적으로 나타내는 예시적인 흐름도이다. 단, 이는 본 개시의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.9 is an example flowchart schematically illustrating a machine learning-based recommendation method according to some embodiments of the present disclosure. However, this is only a preferred embodiment for achieving the purpose of the present disclosure, and of course, some steps may be added or deleted as needed.

도 9에 도시된 바와 같이, 실시예들에 따른 추천 방법은 사용자의 콘텐츠 소비 이력 데이터를 이용하여 다음 소비 콘텐츠 예측 태스크를 수행함으로써 딥러닝 모델을 학습시키는 단계 S91에서 시작될 수 있다. 가령, 추천 시스템(10)은 콘텐츠 소비 이력 데이터에서 콘텐츠 시퀀스 샘플들을 추출하여 트레이닝셋을 생성하고 해당 트레이닝셋을 이용하여 다음 소비 콘텐츠 예측 태스크를 수행함으로써 시퀀스-투-시퀀스(sequence-to-sequence) 기반의 딥러닝 모델을 학습시킬 수 있다. 구체적인 학습 방법에 대해서는 잠시 후에 딥러닝 모델의 구조와 함께 설명하도록 한다. 콘텐츠 시퀀스는 소비 순서(즉, 시간 순서)에 따라 배열된 콘텐츠의 집합을 의미할 수 있고 하나 이상의 콘텐츠로 구성될 수 있다.As shown in FIG. 9, the recommendation method according to embodiments may begin at step S91 of training a deep learning model by performing a next consumption content prediction task using the user's content consumption history data. For example, the recommendation system 10 generates a training set by extracting content sequence samples from content consumption history data and performs a next consumption content prediction task using the training set, thereby performing sequence-to-sequence. You can train a deep learning model based on it. The specific learning method will be explained later along with the structure of the deep learning model. A content sequence may refer to a set of content arranged according to consumption order (i.e., temporal order) and may consist of one or more content.

콘텐츠 소비 이력 데이터는 사용자가 소비한 콘텐츠에 대한 다양한 정보를 제한없이 포함할 수 있다. 예를 들어, 콘텐츠 소비 이력 데이터는 소비된 콘텐츠의 정보(e.g., 제목, 장르, 등장인물, 배우, 러닝타임 등), 해당 콘텐츠의 소비/재생 관련 정보(e.g., 소비 시점, 소비 순서, 재생 중 일시정지횟수, 지속 재생 시간, 전체 재생 시간, 끝까지 재생했는지 여부, 재생까지 소요된 시간, 단말 변경 시 이어서 시청했는지 여부, 끝까지 시청하는데 소요된 시간 등), 컨텍스트 관련 정보(e.g., 단말 컨텍스트(e.g., 모바일 단말, 데스크탑, TV 등과 같은 단말 타입 정보), 시간 컨텍스트(e.g., 주중/주말, 시간대, 요일 등과 같은 소비 시간 정보) 등) 등을 포함할 수 있다. 그러나, 이에 한정되는 것은 아니다.Content consumption history data may include various information about content consumed by the user without limitation. For example, content consumption history data includes information on consumed content (e.g., title, genre, characters, actors, running time, etc.), information related to consumption/playback of the content (e.g., point of consumption, order of consumption, while playing) Number of pauses, continuous playback time, total playback time, whether played to the end, time taken to play, whether continued viewing when changing devices, time taken to watch until the end, etc.), context-related information (e.g., terminal context (e.g. , terminal type information such as mobile terminal, desktop, TV, etc.), time context (e.g., consumption time information such as weekdays/weekends, time zone, day of the week, etc.), etc.). However, it is not limited to this.

추천 시스템(10)은 사용자별로 딥러닝 모델을 구축할 수도 있고, 사용자의 유형별로 맞춤형 추천을 위한 딥러닝 모델을 구축할 수도 있다(e.g., 20대 남성을 위한 추천 모델과 20대 여성을 위한 추천 모델을 각각 구축). 사용자의 유형은 사용자의 인구통계학적 특성(e.g., 성별, 연령층 등), 소비 이력 등에 기초하여 구분될 수 있을 것이나(e.g., 클러스터링 기법 등을 이용하여 유형을 구분함), 본 개시의 범위가 이에 한정되는 것은 아니다.The recommendation system 10 can build a deep learning model for each user, or it can build a deep learning model for customized recommendations for each type of user (e.g., a recommendation model for men in their 20s and a recommendation for women in their 20s) Build each model). The type of user may be classified based on the user's demographic characteristics (e.g., gender, age group, etc.), consumption history, etc. (e.g., types are classified using clustering techniques, etc.), but the scope of the present disclosure is limited to this. It is not limited.

경우에 따라, 추천 시스템(10)은 다수의 사용자들의 콘텐츠 소비 이력 데이터들을 이용하여 범용적인 추천을 위한 딥러닝 모델을 더 구축할 수도 있다. 또한, 추천 시스템(10)은 다수의 사용자들의 콘텐츠 소비 이력 데이터와 특정 사용자(또는 특정 유형의 사용자)의 콘텐츠 소비 이력 데이터를 함께 이용(e.g., 적절한 비율로 조합)하여 특정 사용자(또는 특정 유형의 사용자)를 위한 딥러닝 모델(즉, 맞춤형 추천 모델)을 구축할 수도 있다. 이 경우, 딥러닝 모델의 트레이닝셋이 빠르게 준비될 수 있기 때문에, 콜드-스타트 문제가 크게 완화될 수 있다.In some cases, the recommendation system 10 may further build a deep learning model for general-purpose recommendation using content consumption history data of multiple users. In addition, the recommendation system 10 uses the content consumption history data of multiple users and the content consumption history data of a specific user (or a specific type of user) together (e.g., combined in an appropriate ratio) to identify a specific user (or a specific type of user). You can also build a deep learning model (i.e., a customized recommendation model) for users. In this case, the cold-start problem can be greatly alleviated because the training set of the deep learning model can be prepared quickly.

추천 시스템(10)은 트레이닝셋의 품질 향상(또는 딥러닝 모델의 성능 향상)을 위해 콘텐츠 소비 이력 데이터(또는 트레이닝셋)에 대해 다양한 정제(cleaning) 처리를 수행할 수 있다. 다만, 그 구체적인 방식은 실시예에 따라 달라질 수 있다.The recommendation system 10 may perform various cleaning processes on content consumption history data (or training set) to improve the quality of the training set (or improve the performance of the deep learning model). However, the specific method may vary depending on the embodiment.

몇몇 실시예들에서는, 추천 시스템(10)이 시간적 연관성(또는 거리), 콘텐츠 유사도 등을 기초로 하나의 콘텐츠 시퀀스 샘플을 다수의 서브 시퀀스 샘플들로 분할할 수 있다(또는 서브 시퀀스 샘플들을 추출함). 가령, 추천 시스템(10)은 콘텐츠 시퀀스 샘플에서 일정 기간 내에 소비된 콘텐츠들을 하나의 서브 시퀀스샘플로 추출할 수 있다(e.g., 3일 동안 소비된 콘텐츠들을 하나의 서브 시퀀스 샘플로 추출함). 다른 예로서, 추천 시스템(10)은 콘텐츠 시퀀스 샘플을 주중 소비 시퀀스 샘플과 주말 소비 시퀀스 샘플로 분할할 수 있다. 또 다른 예로서, 추천 시스템(10)은 콘텐츠 시퀀스 샘플에서 두 콘텐츠들 사이의 시간 거리가 기준치 이상인 지점을 결정하고 해당 지점을 기준으로 해당 콘텐츠 시퀀스 샘플을 다수의 서브 시퀀스 샘플들로 분할할 수 있다.In some embodiments, recommendation system 10 may split one content sequence sample into multiple subsequence samples (or extract subsequence samples) based on temporal relevance (or distance), content similarity, etc. ). For example, the recommendation system 10 may extract content consumed within a certain period of time from a content sequence sample as one sub-sequence sample (e.g., content consumed over 3 days is extracted as one sub-sequence sample). As another example, the recommendation system 10 may split the content sequence samples into weekday consumption sequence samples and weekend consumption sequence samples. As another example, the recommendation system 10 determines a point in a content sequence sample where the time distance between two pieces of content is greater than a reference value and divides the content sequence sample into a plurality of sub-sequence samples based on that point. .

다른 몇몇 실시예들에서는, 추천 시스템(10)이 콘텐츠 시퀀스 샘플에서 소비(재생) 시간이 기준치 미만인 콘텐츠를 제거할 수 있다. 그러한 콘텐츠는 사용자의 선호도에 부합하지 않을 가능성이 높기 때문이다.In some other embodiments, recommender system 10 may remove content from a sample of content sequences with a consumption (playback) time below a threshold. This is because such content is unlikely to match the user's preferences.

또 다른 몇몇 실시예들에서는, 추천 시스템(10)이 길이가 긴 콘텐츠 시퀀스(이하, '롱 시퀀스'로 약칭될 수도 있음) 샘플을 적절한 길이로 가공할 수 있다. 본 실시예들에 대해서는 추후 도 15를 참조하여 부연 설명하도록 한다.In some other embodiments, the recommendation system 10 may process a long content sequence (hereinafter, may be abbreviated as 'long sequence') sample to an appropriate length. These embodiments will be further described with reference to FIG. 15 later.

또 다른 몇몇 실시예들에서는, 추천 시스템(10)이 콘텐츠 시퀀스 샘플에서 인기도가 기준치 이상인 콘텐츠(이하, '메가 콘텐츠'로 약칭될 수도 있음)를 제거할 수 있다. 본 실시예들에 대해서는 추후 도 16을 참조하여 보다 상세하게 설명하도록 한다.In some other embodiments, the recommendation system 10 may remove content (hereinafter, may be abbreviated as 'mega content') whose popularity is above a threshold value from a content sequence sample. These embodiments will be described in more detail later with reference to FIG. 16.

또 다른 몇몇 실시예들에서는, 상술한 실시예들의 다양한 조합에 기초하여 데이터 정제가 수행될 수도 있다.In some other embodiments, data cleaning may be performed based on various combinations of the above-described embodiments.

이하에서는, 도 10 내지 13을 참조하여 본 개시의 몇몇 실시예들에 따른 딥러닝 모델(100)과 이의 학습 방법에 대하여 상세하게 설명하도록 한다. 딥러닝 모델(100)은 앞서 언급된 딥러닝 모델(도 3의 30)에 대응되는 것으로 이해될 수 있다.Hereinafter, the deep learning model 100 and its learning method according to some embodiments of the present disclosure will be described in detail with reference to FIGS. 10 to 13. The deep learning model 100 can be understood as corresponding to the previously mentioned deep learning model (30 in FIG. 3).

도 10 내지 도 12는 본 개시의 몇몇 실시예들에 따른 딥러닝 모델(100)의 동작 및 구현 방식을 설명하기 위한 예시적인 도면이다.10 to 12 are exemplary diagrams for explaining the operation and implementation method of the deep learning model 100 according to some embodiments of the present disclosure.

도 10에 도시된 바와 같이, 콘텐츠 추천에 이용되는 딥러닝 모델(100)은 시퀀스-투-시퀀스 기반의 모델일 수 있다. 가령, 딥러닝 모델(100)은 콘텐츠 시퀀스(e.g., 101, 102)를 입력받아 콘텐츠 시퀀스(e.g., 102, 103)를 출력하도록 구성될 수 있다. 그리고, 딥러닝 모델(100)은 오토리그레시브(auto-regressive)한 방식으로 출력 시퀀스를 구성하는 개별 콘텐츠를 예측하도록 동작할 수 있다. 가령, 딥러닝 모델(100)은 이전 스텝(시점)의 예측 콘텐츠(102)를 입력으로 이용하여 현재 스텝(시점)의 콘텐츠(103)를 예측(e.g., 현재 스텝의 출력 임베딩을 이용하여 예측함)하도록 동작할 수 있다. 물론, 추천 단계에서 예측 콘텐츠(e.g., 102, 즉 다음 소비 예측 콘텐츠)와 사용자의 실제 소비 콘텐츠가 달라지는 경우라면, 추천 시스템(10)은 예측 콘텐츠(e.g., 102) 대신에 실제 소비 콘텐츠를 입력으로 이용하여 다음 소비 콘텐츠를 예측할 수도 있다. 당해 기술 분야의 종사자라면, 1레시브한 방식으로 예측을 수행하는 것의 의미를 이미 숙지하고 있을 것인 바, 이에 대한 설명은 생략하도록 한다.As shown in FIG. 10, the deep learning model 100 used for content recommendation may be a sequence-to-sequence based model. For example, the deep learning model 100 may be configured to receive a content sequence (e.g., 101, 102) and output a content sequence (e.g., 102, 103). Additionally, the deep learning model 100 may operate to predict individual content constituting the output sequence in an auto-regressive manner. For example, the deep learning model 100 uses the predicted content 102 of the previous step (time) as input to predict the content 103 of the current step (time) (e.g., predicts using the output embedding of the current step) ) can operate to. Of course, in the recommendation stage, if the predicted content (e.g., 102, i.e., next consumption predicted content) and the user's actual consumption content are different, the recommendation system 10 uses the actual consumption content as input instead of the predicted content (e.g., 102). You can also use this to predict the next consumption content. Anyone working in the relevant technical field will already be familiar with the meaning of performing predictions in a 1-received manner, so description of this will be omitted.

상술한 딥러닝 모델(100)은 다양한 방식으로 설계/구현될 수 있다.The deep learning model 100 described above can be designed/implemented in various ways.

예를 들어, 도 11에 도시된 바와 같이, 딥러닝 모델(100)은 트랜스포머(transformer)의 인코더와 디코더 중에서 디코더에만 기반하여 설계/구현될 수 있다(111 참고, e.g., GPT와 유사한 구조). 가령, 딥러닝 모델(100)은 적어도 하나의 트랜스포머 디코더(111)를 포함하여 구성될 수 있다. 이러한 구조의 딥러닝 모델(100)은 콘텐츠 시퀀스에 내재된 소비 패턴을 정확하게 포착하여 학습할 수 있다. 트랜스포머 디코더(111)는 어텐션 레이어(113, e.g., masked 셀프어텐션)와 피드포워드 레이어(112) 등을 포함하여 구성될 수 있는데, 당해 기술 분야의 종사자라면, 트랜스포머 디코더(111)의 세부 구조와 동작 원리에 대해 이미 숙지하고 있을 것인 바, 이에 대한 자세한 설명은 생략하도록 한다.For example, as shown in FIG. 11, the deep learning model 100 may be designed/implemented based only on the decoder among the encoder and decoder of the transformer (see 111, e.g., similar structure to GPT). For example, the deep learning model 100 may be configured to include at least one transformer decoder 111. The deep learning model 100 with this structure can accurately capture and learn the consumption patterns inherent in the content sequence. The transformer decoder 111 may be composed of an attention layer (113, e.g., masked self-attention) and a feedforward layer 112. Those skilled in the art will know the detailed structure and operation of the transformer decoder 111. Since you are probably already familiar with the principle, detailed explanation will be omitted.

다른 예로서, 도 12에 도시된 바와 같이, 딥러닝 모델(100)은 RNN(Recurrent Neural Network)에 기반하여 설계/구현될 수 있다. 가령, 딥러닝 모델(100)은 복수의 RNN 블록들(e.g., 121, 122)를 포함하여 구성될 수 있다. 이러한 구조의 딥러닝 모델(100)도 콘텐츠 시퀀스에 내재된 소비 패턴을 정확하게 포착하여 학습할 수 있다.As another example, as shown in FIG. 12, the deep learning model 100 may be designed/implemented based on a Recurrent Neural Network (RNN). For example, the deep learning model 100 may be configured to include a plurality of RNN blocks (e.g., 121, 122). The deep learning model 100 with this structure can also accurately capture and learn the consumption patterns inherent in the content sequence.

또 다른 예로서, 딥러닝 모델(100)은 상술한 예시들과 다른 방식으로 설계/구현될 수도 있다.As another example, the deep learning model 100 may be designed/implemented in a different way from the examples described above.

이하에서는, 도 13을 참조하여 딥러닝 모델(100)의 구조와 학습 방법에 대하여 설명하도록 한다.Below, the structure and learning method of the deep learning model 100 will be described with reference to FIG. 13.

도 13에 도시된 바와 같이, 딥러닝 모델(100)은 임베딩 레이어(132), 분석기(131) 및 예측 레이어(133)를 포함하여 구성될 수 있다. 경우에 따라, 딥러닝 모델(100)은 일부 레이어(모듈)을 더 포함하거나 일부 레이어(모듈)가 생략된 형태로 구성될 수도 있다.As shown in FIG. 13, the deep learning model 100 may be configured to include an embedding layer 132, an analyzer 131, and a prediction layer 133. In some cases, the deep learning model 100 may be configured to include some additional layers (modules) or to omit some layers (modules).

임베딩 레이어(132)는 콘텐츠(e.g., 134)의 정보를 입력받아 콘텐츠 임베딩(135, e.g., 임베딩 벡터)을 생성하는 레이어(모듈)를 의미할 수 있다. 가령, 임베딩 레이어(132)는 콘텐츠 시퀀스를 구성하는 개별 콘텐츠(e.g., 134)의 정보를 각각 입력받아 콘텐츠 임베딩(e.g., 135, 즉 콘텐츠 단위의 임베딩)을 생성할 수 있다. 임베딩 레이어(132)는 콘텐츠(e.g., 134)의 식별코드(e.g., 원-핫 코드)를 입력받아 콘텐츠 임베딩(e.g., 135)을 생성할 수도 있고 더 많은 정보를 입력받아 보다 리치(rich)한 콘텐츠 임베딩을 생성할 수도 있다. 이에 대해서는 도 14를 참조하여 후술하도록 한다.The embedding layer 132 may refer to a layer (module) that receives information about content (e.g., 134) and generates content embedding (135, e.g., embedding vector). For example, the embedding layer 132 may receive information on individual contents (e.g., 134) constituting the content sequence and generate content embedding (e.g., 135, i.e., content unit embedding). The embedding layer 132 may receive an identification code (e.g., one-hot code) of the content (e.g., 134) and generate a content embedding (e.g., 135) or receive more information to create a richer code. You can also create content embeds. This will be described later with reference to FIG. 14.

참고로, 상술한 임베딩은 임베딩(잠재) 공간에서의 표현을 의미하고 벡터 형식을 갖는 것이 보통이므로, 경우에 따라 '임베딩 표현(embedding representation)', '임베딩 벡터(embedding vector)', '잠재 표현(latent representation)', '잠재 벡터(latent vector)'와 같이 명명될 수도 있다. 또는, 상술한 임베딩은 '임베딩 코드(embedding code)', 잠재 코드(latent code)와 같이 명명될 수도 있다.For reference, the above-mentioned embedding refers to an expression in an embedding (latent) space and usually has a vector format, so in some cases, it is called 'embedding representation', 'embedding vector', or 'latent representation'. It may also be named as ‘(latent representation)’ or ‘latent vector’. Alternatively, the above-described embedding may be named such as 'embedding code' or latent code.

임베딩 레이어(132)는 완전연결(또는 선형) 레이어(fully-connected layer), MLP(Multi-Layer Perceptron) 등에 기반하여 구현될 수 있다. 그러나, 본 개시의 범위가 이에 한정되는 것은 아니다.The embedding layer 132 may be implemented based on a fully-connected layer (or linear) layer, a multi-layer perceptron (MLP), etc. However, the scope of the present disclosure is not limited thereto.

몇몇 실시예들에서는, 콘텐츠의 소비 순서(즉, 콘텐츠 시퀀스 내에서 해당 콘텐츠의 순서/위치) 정보에 대한 코드(code)가 콘텐츠 임베딩(135)에 반영되어 분석기(131)로 입력될 수 있다. 이러한 경우, 분석기(131)가 콘텐츠의 소비 순서를 보다 정확하게 파악할 수 있게 되므로, 콘텐츠 시퀀스에 내재된 소비 패턴을 더욱 잘 학습할 수 있게 된다.In some embodiments, a code for information on the consumption order of content (i.e., the order/position of the content within the content sequence) may be reflected in the content embedding 135 and input to the analyzer 131. In this case, the analyzer 131 can more accurately determine the consumption order of content, thereby better learning the consumption pattern inherent in the content sequence.

다음으로, 분석기(131)는 입력된 콘텐츠 시퀀스의 임베딩들(e.g., 135)을 분석하는 신경망 모듈로서, 도 11 및 도 12를 참조하여 설명한 바와 같이 트랜스포머 디코더, RNN 블록 등에 기초하여 구현될 수 있다. 가령, 분석기(131)는 입력된 콘텐츠 임베딩들(e.g., 135)의 연관성을 분석하고(e.g., 소비된 콘텐츠 간의 연관성을 분석함) 분석 결과를 종합하여 매 스텝(시점)마다 콘텐츠 임베딩(e.g., 136)을 출력할 수 있다. 출력된 콘텐츠 임베딩(e.g., 136)은 미리 정의된 예측 태스크를 수행하는데 이용될 수 있다.Next, the analyzer 131 is a neural network module that analyzes the embeddings (e.g., 135) of the input content sequence, and can be implemented based on a transformer decoder, RNN block, etc., as described with reference to FIGS. 11 and 12. . For example, the analyzer 131 analyzes the correlation between the input content embeddings (e.g., 135) (e.g., analyzes the correlation between consumed content), synthesizes the analysis results, and analyzes the content embedding (e.g., 135) at each step (time). 136) can be output. The output content embedding (e.g., 136) can be used to perform a predefined prediction task.

다음으로, 예측 레이어(133)는 미리 정의된 예측 태스크를 수행하는 레이어(모듈)를 의미할 수 있다. 가령, 예측 레이어(133)는 특정 스텝(시점)의 출력 콘텐츠 임베딩(e.g., 136)을 입력받아 예측 태스크를 수행할 수 있다. 도시된 바와 같이, 예측 레이어(133)가 다음 소비 콘텐츠 예측 태스크를 수행하는 레이어인 경우, 예측 레이어(133)는 콘텐츠별 컨피던스 스코어(137)를 출력하도록 구성될 수 있다.Next, the prediction layer 133 may refer to a layer (module) that performs a predefined prediction task. For example, the prediction layer 133 may receive the output content embedding (e.g., 136) of a specific step (point in time) and perform a prediction task. As shown, when the prediction layer 133 is a layer that performs the next consumption content prediction task, the prediction layer 133 may be configured to output a confidence score 137 for each content.

예측 레이어(133)는 완전연결(또는 선형) 레이어, MLP 등에 기반하여 구현될 수 있다. 그러나, 본 개시의 범위가 이에 한정되는 것은 아니다. 예측 레이어(133)의 출력 형태는 관련된 태스크에 맞게 적절하게 구성될 수 있다.The prediction layer 133 may be implemented based on a fully connected (or linear) layer, MLP, etc. However, the scope of the present disclosure is not limited thereto. The output form of the prediction layer 133 can be appropriately configured to suit the related task.

상술한 바와 같이, 딥러닝 모델(100)은 다음 소비 콘텐츠 예측 태스크를 통해 학습될 수 있다. 이러한 학습은 트레이닝셋에 포함된 콘텐츠 시퀀스 샘플들을 이용하여 수행될 수 있다. 구체적인 예를 들어, 추천 시스템(10)은 첫번째 스텝(시점)의 출력 콘텐츠 임베딩(136)을 예측 레이어(133)에 입력(피딩)하여 다음 소비 콘텐츠를 예측하고(즉, 컨피던스 스코어(137)를 산출함), 예측 결과(137)와 정답(즉, 사용자가 다음 순서로 소비한 실제 콘텐츠)의 차이에 기초하여 딥러닝 모델(100)의 가중치 파라미터들을 업데이트할 수 있다(e.g., 크로스엔트로피 손실을 기초로 예측 레이어(133), 분석기(131), 임베딩 레이어(132)를 업데이트함). 또한, 추천 시스템(10)은 다음 스텝(시점)의 출력 콘텐츠 임베딩(미도시)에 대해서도 동일한 태스크를 반복하여 수행할 수 있다. 그렇게 함으로써, 딥러닝 모델(100)이 콘텐츠 시퀀스에 내재된 사용자의 소비 패턴을 학습하여 다음 소비 콘텐츠를 정확하게 예측하는 능력을 구비하게 된다.As described above, the deep learning model 100 can be learned through the next consumption content prediction task. This learning can be performed using content sequence samples included in the training set. For a specific example, the recommendation system 10 inputs (feeds) the output content embedding 136 of the first step (point of view) into the prediction layer 133 to predict the next consumption content (i.e., generates a confidence score 137). calculated), the weight parameters of the deep learning model 100 can be updated (e.g., cross-entropy loss) based on the difference between the prediction result 137 and the correct answer (i.e., the actual content consumed by the user in the following order) Update the prediction layer (133), analyzer (131), and embedding layer (132) as a basis). Additionally, the recommendation system 10 may repeatedly perform the same task for the output content embedding (not shown) of the next step (view). By doing so, the deep learning model 100 has the ability to accurately predict the next consumption content by learning the user's consumption pattern inherent in the content sequence.

학습의 효율성을 위해, 추천 시스템(10)은 티처 포싱(teacher forcing) 기법(즉, 이전 스텝의 예측 결과 대신에 정답을 입력하는 방식)을 통해 딥러닝 모델(100)을 학습시킬 수도 있다. 그러나, 본 개시의 범위가 이에 한정되는 것은 아니다. 당해 기술 분야의 종사자라면, 티처 포싱 기법에 대해 이미 숙지하고 있을 것인 바, 이에 대한 자세한 설명은 생략하도록 한다.For learning efficiency, the recommender system 10 may train the deep learning model 100 through a teacher forcing technique (i.e., inputting the correct answer instead of the prediction result of the previous step). However, the scope of the present disclosure is not limited thereto. Anyone working in the relevant technical field will already be familiar with the teacher forcing technique, so detailed explanations thereof will be omitted.

한편, 몇몇 실시예들에서는, 추천 시스템(10)이 다음 소비 콘텐츠의 속성(특성)(e.g., 장르, 등장인물, 배우, 배경음악, 러닝타임 등)을 예측하는 태스크를 더 수행하여 딥러닝 모델(100)을 학습시킬 수도 있다. 가령, 추천 시스템(10)은 속성(특성)별 컨피던스 스코어를 출력하도록 구성된 별도의 예측 레이어를 통해 이러한 태스크를 더 수행할 수도 있다. 이 경우, 딥러닝 모델(100)의 성능이 더욱 향상될 수 있다.Meanwhile, in some embodiments, the recommendation system 10 further performs the task of predicting the attributes (characteristics) (e.g., genre, character, actor, background music, running time, etc.) of the next consumed content to create a deep learning model. (100) can also be learned. For example, the recommendation system 10 may further perform these tasks through a separate prediction layer configured to output confidence scores for each attribute (characteristic). In this case, the performance of the deep learning model 100 can be further improved.

지금까지 도 10 내지 도 13을 본 개시의 몇몇 실시예들에 따른 딥러닝 모델(100)과 이의 학습 방법에 대하여 설명하였다.So far, the deep learning model 100 and its learning method according to some embodiments of the present disclosure have been described with reference to FIGS. 10 to 13.

다시 도 9를 참조하여 설명한다.Description will be made again with reference to FIG. 9 .

단계 S92에서, 사용자가 소비한 최근 콘텐츠 시퀀스에 대한 정보가 획득될 수 있다. 가령, 추천 시스템(10)은 사용자가 최근에 소비한 적어도 하나의 콘텐츠에 대한 정보를 획득할 수 있다. 최근 소비 콘텐츠는 예를 들어 추천 시점을 기준으로 일정 기간 내에 소비된 콘텐츠들을 의미할 수 있다.In step S92, information about recent content sequences consumed by the user may be obtained. For example, the recommendation system 10 may obtain information about at least one content that the user recently consumed. Recently consumed content may refer, for example, to content consumed within a certain period of time based on the point of recommendation.

몇몇 실시예들에서는, 추천 시스템(10)이 사용자의 최근 콘텐츠 시퀀스에 대해서도 상술한 정제 처리(e.g., 메가 콘텐츠 제거, 소비 시간이 짧은 콘텐츠 제거, 롱 시퀀스의 길이 가공 등)를 수행할 수 있다. 그렇게 함으로써, 추천 정확도가 더욱 향상될 수 있다.In some embodiments, the recommender system 10 may perform the above-described purification processing (e.g., removal of mega content, removal of content with a short consumption time, length processing of long sequences, etc.) on the user's recent content sequence. By doing so, recommendation accuracy can be further improved.

단계 S93에서, 학습된 딥러닝 모델을 통해 최근 콘텐츠 시퀀스로부터 다음 소비 콘텐츠를 예측함으로써 추천 콘텐츠가 결정될 수 있다. 가령, 추천 시스템(10)은 최근 콘텐츠 시퀀스를 딥러닝 모델에 입력하여 다음 소비 콘텐츠를 예측할 수 있고, 예측된 콘텐츠에 기초하여 추천 콘텐츠를 결정할 수 있다. 다만, 그 구체적인 방식은 실시예에 따라 달라질 수 있다.In step S93, recommended content may be determined by predicting the next consumed content from the recent content sequence through a learned deep learning model. For example, the recommendation system 10 can predict the next content to be consumed by inputting a recent content sequence into a deep learning model and determine recommended content based on the predicted content. However, the specific method may vary depending on the embodiment.

몇몇 실시예들에서는, 추천 시스템(10)이 딥러닝 모델의 예측 레이어를 통해 기 등록된 복수의 콘텐츠들에 대한 컨피던스 스코어를 산출할 수 있다. 그리고, 추천 시스템(10)은 산출된 컨피던스 스코어가 기준치 이상인 적어도 하나의 콘텐츠를 추천 콘텐츠로 결정할 수 있다.In some embodiments, the recommendation system 10 may calculate confidence scores for a plurality of pre-registered contents through a prediction layer of a deep learning model. Additionally, the recommendation system 10 may determine at least one content for which the calculated confidence score is greater than or equal to the reference value as recommended content.

다른 몇몇 실시예들에서는, 추천 시스템(10)이 딥러닝 모델을 통해 오토리그레시브한 방식으로 다음 소비 콘텐츠에 대한 예측 과정을 반복하여 수행할 수 있다. 가령, 추천 시스템(10)은 이전 시점(스텝)의 예측 콘텐츠를 딥러닝 모델의 입력으로 이용하여 현재 시점(스텝)의 다음 소비 콘텐츠를 예측할 수 있고, 이러한 과정을 기 설정된 횟수만큼 반복하여 수행할 수 있다. 그 결과 복수의 추천 후보 콘텐츠들(즉, 예측된 콘텐츠들)이 도출될 수 있다. 그리고, 추천 시스템(10)은 복수의 추천 후보 콘텐츠들 중에서 추천 콘텐츠를 결정할 수 있다.In some other embodiments, the recommendation system 10 may repeatedly perform the prediction process for the next consumption content in an autoregressive manner using a deep learning model. For example, the recommendation system 10 can predict the next consumption content at the current point (step) by using the predicted content at the previous point (step) as an input to a deep learning model, and repeat this process a preset number of times. You can. As a result, a plurality of recommended candidate contents (i.e., predicted contents) may be derived. Additionally, the recommendation system 10 may determine recommended content from among a plurality of recommended candidate content.

또 다른 몇몇 실시예들에서는, 추천 시스템(10)이 딥러닝 모델을 통해 다음 소비 콘텐츠를 예측하고 예측된 콘텐츠와 이의 유사 콘텐츠(e.g., 동일한 배우가 등장하는 콘텐츠, 배경음악이 유사한 콘텐츠, 동일 장르의 콘텐츠 등)를 추천 콘텐츠로 결정할 수 있다.In some other embodiments, the recommendation system 10 predicts the next consumption content through a deep learning model and matches the predicted content with similar content (e.g., content featuring the same actor, content with similar background music, and the same genre). content, etc.) can be determined as recommended content.

또 다른 몇몇 실시예들에서는, 상술한 실시예들의 다양한 조합에 기초하여 추천 콘텐츠가 결정될 수도 있다.In some other embodiments, recommended content may be determined based on various combinations of the above-described embodiments.

경우에 따라, 추천 시스템(10)은 딥러닝 모델을 통해 다음 소비 콘텐츠의 속성(특성)(e.g., 장르, 등장인물, 배우, 러닝타임, 배경음악 등)을 예측하고 동일 또는 유사한 속성(특성)의 콘텐츠들을 추천 콘텐츠로 결정할 수도 있다.In some cases, the recommendation system 10 predicts the properties (characteristics) of the next consumption content (e.g., genre, characters, actors, running time, background music, etc.) through a deep learning model and determines the same or similar properties (characteristics) The contents of may be determined as recommended content.

한편, 추천 시스템(10)은 주기적으로 추천 콘텐츠를 결정할 수도 있고 비주기적으로 추천 콘텐츠를 결정할 수 있다.Meanwhile, the recommendation system 10 may determine recommended content periodically or aperiodically.

예를 들어, 추천 시스템(10)은 기 설정된 시간 주기에 따라 새로운 추천 콘텐츠를 결정할 수 있다. 추천 시점이 도래하기 전에 사용자가 콘텐츠를 추가로 소비한 경우라면, 추천 시스템(10)은 추가 콘텐츠를 포함하는 최근 콘텐츠 시퀀스를 이용하여 현재 시점의 추천 콘텐츠를 결정할 수 있다(즉, 최근 콘텐츠 시퀀스도 주기적으로 업데이트될 수 있음). 반대의 경우라면, 추천 시스템(10)은 이전 시점의 추천 콘텐츠(e.g., 예측된 다음 소비 콘텐츠)를 입력으로 더 이용하여(즉, 오토리그레시브한 방식으로) 현재 시점의 추천 콘텐츠를 결정할 수 있다. 또는, 추천 시스템(10)은 이전 시점의 최근 콘텐츠 시퀀스를 다시 이용하여 현재 시점의 추천 콘텐츠를 결정할 수도 있다.For example, the recommendation system 10 may determine new recommended content according to a preset time period. If the user consumes additional content before the recommendation time arrives, the recommendation system 10 may determine the recommended content at the current time using the recent content sequence including the additional content (i.e., the recent content sequence is also (may be updated periodically). In the opposite case, the recommendation system 10 may further use the recommended content at a previous point in time (e.g., predicted next consumption content) as input (i.e., in an autoregressive manner) to determine the recommended content at the current point in time. . Alternatively, the recommendation system 10 may determine recommended content at the current time by reusing the most recent content sequence at a previous time.

다른 예로서, 추천 시스템(10)은 사용자가 콘텐츠를 추가로 소비하는 등의 이벤트에 응답하여 추천 콘텐츠를 업데이트(즉, 다시 결정)할 수 있다.As another example, recommendation system 10 may update (i.e., re-determine) recommended content in response to an event, such as a user consuming additional content.

또 다른 예로서, 추천 시스템(10)은 상술한 예시들의 다양한 조합에 기초하여 추천 콘텐츠를 결정할 수도 있다.As another example, the recommendation system 10 may determine recommended content based on various combinations of the examples described above.

한편, 본 개시의 몇몇 실시예들에 따르면, 추천 시스템(10)은 딥러닝 모델을 주기 또는 비주기적으로 재구축할 수 있다. 가령, 추천 시스템(10)은 사용자의 최근 선호도를 반영하기 위해 최근의 콘텐츠 소비 이력 데이터를 중심으로 트레이닝셋을 다시 생성할 수 있다(e.g., 일정 기간 이상 지난 이력 데이터는 삭제함). 그리고, 추천 시스템(10)은 생성된 트레이닝셋을 이용하여 딥러닝 모델을 다시 구축할 수 있다(e.g., 초기화 후 재학습). 다른 예로서, 추천 콘텐츠에 대한 사용자의 부정적인 피드백 정보가 지속적으로 수신되는 경우(e.g., 기 설정된 횟수 이상 선택받지 못한 경우), 추천 시스템(10)은 사용자의 선호도가 변경되었다고 판단할 수 있다. 그리고, 추천 시스템(10)은 최근의 콘텐츠 소비 이력 데이터를 이용하여 딥러닝 모델을 다시 구축할 수 있다. 또 다른 예로서, 추천 시스템(10)은 신규 콘텐츠를 딥러닝 모델의 예측 결과에 반영하기 위해 딥러닝 모델의 예측 레이어를 재구성하고(e.g., 신규 콘텐츠에 대응되는 노드 추가) 딥러닝 모델을 다시 구축할 수 있다. 경우에 따라, 추천 시스템(10)은 딥러닝 모델을 재구축하지 않고 신규 콘텐츠에 대응되는 예측 레이어의 노드만을 활성화 상태로 변경할 수도 있는데, 이에 대해서는 도 17을 참조하여 후술하도록 한다. 또 다른 예로서, 추천 시스템(10)은 종료된 콘텐츠를 딥러닝 모델의 예측 결과에서 제거하기 위해 딥러닝 모델의 예측 레이어를 재구성하고(e.g., 현재 등록된 콘텐츠에 맞게 재구성) 딥러닝 모델을 다시 구축할 수 있다(또는, 종료 콘텐츠에 대응되는 노드를 비활성화 상태로 변경할 수도 있음).Meanwhile, according to some embodiments of the present disclosure, the recommendation system 10 may rebuild the deep learning model periodically or aperiodically. For example, the recommendation system 10 may regenerate a training set based on recent content consumption history data to reflect the user's recent preferences (e.g., historical data older than a certain period of time is deleted). And, the recommender system 10 can rebuild the deep learning model using the generated training set (e.g., retraining after initialization). As another example, when the user's negative feedback information about recommended content is continuously received (e.g., when the content is not selected more than a preset number of times), the recommendation system 10 may determine that the user's preference has changed. Additionally, the recommendation system 10 can rebuild the deep learning model using recent content consumption history data. As another example, the recommendation system 10 reconfigures the prediction layer of the deep learning model (e.g., adds nodes corresponding to new content) to reflect new content in the prediction results of the deep learning model and rebuilds the deep learning model. can do. In some cases, the recommendation system 10 may change only the nodes of the prediction layer corresponding to new content to the active state without rebuilding the deep learning model, which will be described later with reference to FIG. 17. As another example, the recommender system 10 reconfigures the prediction layer of the deep learning model to remove terminated content from the prediction results of the deep learning model (e.g., reorganizes it to fit the currently registered content) and reorganizes the deep learning model again. It can be built (or the node corresponding to the end content can be changed to a disabled state).

또한, 몇몇 실시예들에 따르면, 추천 시스템(10)이 강화학습 모델과 딥러닝 모델을 함께 이용하여 콘텐츠 추천을 수행할 수도 있다. 가령, 추천 시스템(10)은 제1 조건(상황) 하에서는 강화학습 모델을 통해 추천 콘텐츠를 결정하고 제2 조건(상황) 하에서는 딥러닝 모델을 통해 추천 콘텐츠를 결정할 수 있는데, 이에 대해서는 도 18의 설명 내용을 더 참고하도록 한다.Additionally, according to some embodiments, the recommendation system 10 may perform content recommendation using a reinforcement learning model and a deep learning model together. For example, the recommendation system 10 may determine the recommended content through a reinforcement learning model under the first condition (situation) and determine the recommended content through a deep learning model under the second condition (situation), which is explained in FIG. 18. Please refer to the contents further.

또한, 몇몇 실시예들에 따르면, 추천 시스템(10)이 서로 다른 도메인들에서 수집된 사용자의 이력 데이터를 이용하여 딥러닝 모델을 학습시키고 학습된 딥러닝 모델을 통해 멀티 도메인 추천을 수행할 수도 있는데, 이에 대해서는 도 20 내지 도 23을 참조하여 후술하도록 한다.Additionally, according to some embodiments, the recommendation system 10 may train a deep learning model using user history data collected from different domains and perform multi-domain recommendation through the learned deep learning model. , This will be described later with reference to FIGS. 20 to 23.

지금까지 도 9 내지 도 13을 참조하여 본 개시의 몇몇 실시예들에 따른 기계학습 기반 추천 방법에 대하여 설명하였다. 상술한 바에 따르면, 사용자의 콘텐츠 소비 이력 데이터에서 추출된 콘텐츠 시퀀스 샘플들을 이용하여 다음 소비 콘텐츠 예측 태스크를 수행함으로써 시퀀스-투-시퀀스 기반의 딥러닝 모델이 학습될 수 있다. 이러한 경우, 딥러닝 모델이 사용자의 콘텐츠 소비 이력에 내재된 순차적 소비 패턴을 포착하여 다음 소비 콘텐츠를 정확하게 예측할 수 있게 되기 때문에, 콘텐츠 추천 정확도가 크게 향상될 수 있다.So far, a machine learning-based recommendation method according to some embodiments of the present disclosure has been described with reference to FIGS. 9 to 13 . According to the above, a sequence-to-sequence based deep learning model can be learned by performing a next consumption content prediction task using content sequence samples extracted from the user's content consumption history data. In this case, content recommendation accuracy can be greatly improved because the deep learning model can accurately predict the next consumed content by capturing the sequential consumption patterns inherent in the user's content consumption history.

지금까지 설명한 실시예들의 기술적 사상은 다른 도메인(유형)의 아이템에도 그대로 적용될 수 있다. 가령, 사용자의 쇼핑 이력 데이터를 학습한 시퀀스-투-시퀀스 기반의 딥러닝 모델을 통해 상품 추천 기능이 구현될 수 있고, 사용자의 주문 이력 데이터를 학습한 시퀀스-투-시퀀스 기반의 딥러닝 모델을 통해 음식 추천 기능이 구현될 수 있다.The technical ideas of the embodiments described so far can be applied to items in other domains (types). For example, a product recommendation function can be implemented through a sequence-to-sequence-based deep learning model that learns the user's shopping history data, and a sequence-to-sequence-based deep learning model that learns the user's order history data Through this, a food recommendation function can be implemented.

이하에서는, 도 14를 참조하여 본 개시의 몇몇 실시예들에 따른 콘텐츠 임베딩 방법에 대하여 설명하도록 한다.Hereinafter, a content embedding method according to some embodiments of the present disclosure will be described with reference to FIG. 14.

도 14에 도시된 바와 같이, 추천 시스템(10)은 콘텐츠(141)의 다양한 정보(e.g., 142 내지 144)에 기초하여 해당 콘텐츠(141)에 대한 최종 임베딩(148)을 생성할 수 있다.As shown in FIG. 14, the recommendation system 10 may generate the final embedding 148 for the content 141 based on various information (e.g., 142 to 144) of the content 141.

예를 들어, 추천 시스템(10)은 콘텐츠(141)의 식별코드(142, e.g., 원-핫 코드)로부터 제1 임베딩(145)을 생성하고(e.g., 임베딩 레이어를 통과시켜서 생성함), 제목(143)과 같은 텍스트 정보로부터 제2 임베딩(146)을 생성하며(e.g., 적절한 텍스트 임베딩 기법을 이용하여 생성함), 대표 이미지(144)로부터 제3 임베딩(147)을 생성할 수 있다(e.g., 적적한 이미지 임베딩 기법을 이용하여 생성함). 그리고, 추천 시스템(10)은 각 정보에 대한 임베딩들(145 내지 147)을 애그리게이팅(aggregating)하여 콘텐츠 임베딩(148)을 생성할 수 있다. 여기서, 애그리게이팅은 접합(concatenation), 덧셈, 곱셈, 엘리먼트별 곱셈 등과 같은 연산을 통해 수행될 수도 있고, 다른 방식으로 수행될 수도 있다(e.g., MLP와 같은 신경망 레이어를 통해 애그리게이팅함).For example, the recommendation system 10 generates the first embedding 145 from the identification code 142 (e.g., one-hot code) of the content 141 (e.g., generated by passing the embedding layer), and the title The second embedding 146 can be generated from text information such as (143) (e.g., generated using an appropriate text embedding technique), and the third embedding 147 can be generated from the representative image 144 (e.g. , generated using an appropriate image embedding technique). Additionally, the recommendation system 10 may generate content embedding 148 by aggregating the embeddings 145 to 147 for each information. Here, aggregating may be performed through operations such as concatenation, addition, multiplication, element-by-element multiplication, etc., or may be performed in other ways (e.g., aggregating through a neural network layer such as MLP).

경우에 따라, 추천 시스템(10)은 제목 이외에 다른 속성(특성) 정보(e.g., 장르, 등장인물, 배우, 배경음악, 러닝타임 등)를 콘텐츠 임베딩(148)에 더 애그리게이팅(반영)하여 콘텐츠(141)에 대한 최종 콘텐츠 임베딩을 생성할 수도 있다. 가령, 추천 시스템(10)은 속성(특성) 정보에 대한 임베딩을 콘텐츠 임베딩(148)을 애그리게이팅하여 최종 콘텐츠 임베딩을 생성할 수도 있다.In some cases, the recommendation system 10 further aggregates (reflects) other attribute (characteristic) information (e.g., genre, character, actor, background music, running time, etc.) in addition to the title to the content embedding 148 to determine the content. We can also generate the final content embedding for (141). For example, the recommendation system 10 may generate the final content embedding by aggregating the content embedding 148 with embeddings for attribute (characteristic) information.

또한, 추천 시스템(10)은 사용자의 컨텍스트 정보(e.g., 단말 컨텍스트, 시간 컨텍스트 등)를 콘텐츠 임베딩(148)에 더 애그리게이팅(반영)하여 콘텐츠(141)에 대한 최종 콘텐츠 임베딩을 생성할 수도 있다. 가령, 추천 시스템(10)은 적절한 임베딩 기법을 통해 사용자의 컨텍스트 정보에 대한 임베딩을 생성하고, 생성된 임베딩과 콘텐츠 임베딩(148)을 애그리게이팅하여 최종 콘텐츠 임베딩을 생성할 수도 있다. 이러한 경우, 딥러닝 모델이 사용자의 컨텍스트 정보까지 고려하여 다음 소비 콘텐츠를 예측하게 되는 바, 딥러닝 모델의 성능이 더욱 향상될 수 있다.Additionally, the recommendation system 10 may further aggregate (reflect) the user's context information (e.g., terminal context, time context, etc.) to the content embedding 148 to generate the final content embedding for the content 141. . For example, the recommendation system 10 may generate an embedding for the user's context information through an appropriate embedding technique, and generate a final content embedding by aggregating the generated embedding and the content embedding 148. In this case, the deep learning model predicts the next consumption content by considering the user's context information, so the performance of the deep learning model can be further improved.

지금까지 도 14를 참조하여 본 개시의 몇몇 실시예들에 따른 콘텐츠 임베딩 방법에 대하여 설명하였다. 상술한 바에 따르면, 콘텐츠의 다양한 정보(e.g., 식별코드, 제목, 대표 이미지 등)를 기초로 콘텐츠 임베딩이 생성될 수 있다. 이러한 경우, 딥러닝 모델이 콘텐츠들의 다양한 정보를 종합적으로 고려하여 다음 소비 콘텐츠를 예측하도록 학습되므로, 딥러닝 모델의 추천 정확도가 더욱 향상될 수 있다.So far, a content embedding method according to some embodiments of the present disclosure has been described with reference to FIG. 14. According to the above, content embedding can be created based on various information of the content (e.g., identification code, title, representative image, etc.). In this case, the deep learning model is trained to predict the next consumption content by comprehensively considering various information about the contents, so the recommendation accuracy of the deep learning model can be further improved.

이하에서는, 도 15 및 도 16을 참조하여 데이터 정제 방법에 관한 실시예들에 대하여 설명하도록 한다.Hereinafter, embodiments of the data purification method will be described with reference to FIGS. 15 and 16.

도 15는 본 개시의 몇몇 실시예들에 따른 데이터 정제 방법을 설명하기 위한 예시적인 도면이다.FIG. 15 is an exemplary diagram for explaining a data purification method according to some embodiments of the present disclosure.

도 15에 도시된 바와 같이, 본 실시예들은 긴 길이의 콘텐츠 시퀀스(즉, 롱 시퀀스) 샘플을 더 짧은 길이로 가공함으로써 트레이닝셋의 품질을 향상시키는 방법에 관한 것이다. 이러한 가공을 수행하는 이유(또는 트레이닝셋의 품질이 향상되는 이유)는 롱 시퀀스 샘플에는 필연적으로 상당한 노이즈(e.g., 사용자의 콘텐츠 소비 패턴 또는 선호도 등에 부합하지 않는 콘텐츠들)가 포함될 수밖에 없기 때문이다. 즉, 이러한 롱 시퀀스 샘플들이 사용자의 콘텐츠 소비 패턴에 대한 왜곡(오인) 학습을 유발할 수 있고 그 결과 딥러닝 모델(100)의 성능이 오히려 저하될 수도 있기 때문이다.As shown in FIG. 15, these embodiments relate to a method of improving the quality of a training set by processing long-length content sequence (i.e., long sequence) samples into shorter lengths. The reason for performing this processing (or the reason why the quality of the training set is improved) is that long sequence samples inevitably contain significant noise (e.g., content that does not match the user's content consumption pattern or preference). In other words, these long sequence samples may cause distorted (mis)learning of the user's content consumption pattern, and as a result, the performance of the deep learning model 100 may actually deteriorate.

구체적으로, 추천 시스템(10)은 콘텐츠 시퀀스 샘플들 중에서 길이가 기준치 이상인 롱 시퀀스 샘플(151)를 식별할 수 있다. 그리고, 추천 시스템(10)은 롱 시퀀스 샘플(151)을 기준치 미만의 길이를 갖는 서브 시퀀스 샘플들(152, 153)로 분할할 수 있다. 가령, 추천 시스템(10)은 롱 시퀀스 샘플(151)에서 복수의 서브 시퀀스 샘플들(152, 153)을 추출할 수 있다. 여기서, 시퀀스의 분할(또는 추출)은 서브 시퀀스 샘플들(152, 153) 간에 중첩 콘텐츠(e.g., C)가 존재하는 방식으로 수행될 수도 있고, 그렇지 않을 수도 있다.Specifically, the recommendation system 10 may identify a long sequence sample 151 whose length is greater than or equal to a reference value among content sequence samples. Additionally, the recommendation system 10 may divide the long sequence sample 151 into sub-sequence samples 152 and 153 with a length less than the reference value. For example, the recommendation system 10 may extract a plurality of sub-sequence samples 152 and 153 from the long sequence sample 151. Here, division (or extraction) of the sequence may or may not be performed in such a way that overlapping content (e.g., C) exists between the subsequence samples 152 and 153.

상술한 데이터 정제 방법은 추론 단계(즉, 실제 추천 단계)에서도 적용될 수 있다. 가령, 최근 콘텐츠 시퀀스의 길이가 기준치 이상인 경우, 추천 시스템(10)은 해당 시퀀스에서 기준치 미만의 길이를 갖는 콘텐츠 시퀀스(e.g., 가장 최근에 소비된 콘텐츠들)를 추출하고 이를 이용하여 다음 소비 콘텐츠를 예측할 수도 있다.The above-described data purification method can also be applied at the inference stage (i.e., the actual recommendation stage). For example, when the length of the most recent content sequence is greater than the standard value, the recommendation system 10 extracts a content sequence (e.g., most recently consumed content) with a length less than the standard value from the sequence and uses it to select the next consumed content. It can also be predicted.

이하에서는, 도 16을 참조하여 본 개시의 다른 몇몇 실시예들에 따른 데이터 정제 방법에 대하여 설명하도록 한다. 도 16에서 도형의 크기는 해당 콘텐츠의 인기도를 의미한다.Hereinafter, a data purification method according to some other embodiments of the present disclosure will be described with reference to FIG. 16. In Figure 16, the size of the shape indicates the popularity of the corresponding content.

도 16에 도시된 바와 같이, 본 실시예들은 인기도가 기준치 이상인 콘텐츠(즉, 메가 콘텐츠)를 제거하여 트레이닝셋의 품질을 향상시키는 방법에 관한 것이다. 이러한 가공을 수행하는 이유(또는 트레이닝셋의 품질이 향상되는 이유)는 메가 콘텐츠는 개별 사용자의 선호도(취향)가 반영된 콘텐츠로 보기는 어렵기 때문이다. 즉, 이러한 메가 콘텐츠들도 사용자의 콘텐츠 소비 패턴에 대한 왜곡(오인) 학습을 유발할 수 있고 그 결과 딥러닝 모델(100)의 성능이 저하될 수도 있기 때문이다.As shown in FIG. 16, these embodiments relate to a method of improving the quality of the training set by removing content (i.e., mega content) whose popularity is above a standard value. The reason why this processing is performed (or the quality of the training set is improved) is because it is difficult to view mega content as content that reflects the preferences (tastes) of individual users. In other words, these mega contents may also cause distorted (mis)learning of the user's content consumption pattern, and as a result, the performance of the deep learning model 100 may deteriorate.

구체적으로, 추천 시스템(10)은 콘텐츠 시퀀스 샘플(161)에서 기준치 이상의 인기도를 갖는 콘텐츠(162)를 제거할 수 있다(163 참고). 이러한 단순한 제거 처리를 통해서도 트레이닝셋의 품질이 크게 향상될 수 있다.Specifically, the recommendation system 10 may remove the content 162 having a popularity higher than the reference value from the content sequence sample 161 (see 163). Even through this simple removal process, the quality of the training set can be greatly improved.

경우에 따라서는, 추천 시스템(10)이 인기도에 따른 가중 학습을 통해 메가 콘텐츠 관련 문제를 해결할 수도 있다. 가령, 추천 시스템(10)은 인기도에 따른 가중치를 반영하여 예측 손실(e.g., 크로스엔트로피 손실)을 조정하고(e.g., 메가 콘텐츠의 예측 손실에는 낮은 가중치를 반영하여 손실값을 감소시키고 반대의 경우에는 높은 가중치를 반영하여 손실값을 증폭시킴), 조정된 예측 손실에 기초하여 딥러닝 모델(e.g., 100)을 학습시킬 수도 있다.In some cases, the recommendation system 10 may solve problems related to mega content through weighted learning according to popularity. For example, the recommendation system 10 adjusts the prediction loss (e.g., cross-entropy loss) by reflecting the weight according to popularity (e.g., reflects a low weight in the prediction loss of mega content to reduce the loss value, and vice versa. The loss value is amplified by reflecting the high weight), and a deep learning model (e.g., 100) can be trained based on the adjusted prediction loss.

상술한 데이터 정제 방법은 추론 단계(즉, 실제 추천 단계)에서도 적용될 수 있다. 가령, 추천 시스템(10)은 사용자의 최근 콘텐츠 시퀀스에서 메가 콘텐츠를 제거하고 나머지 시퀀스를 이용하여 다음 소비 콘텐츠를 예측할 수도 있다. 그렇게 함으로써, 추천 정확도가 더욱 향상될 수 있다.The above-described data purification method can also be applied at the inference stage (i.e., the actual recommendation stage). For example, the recommendation system 10 may remove mega content from the user's recent content sequence and use the remaining sequence to predict the next content to be consumed. By doing so, recommendation accuracy can be further improved.

지금까지 도 15 및 도 16을 참조하여 데이터 정제 방법에 관한 실시예들에 대하여 설명하였다. 이하에서는, 도 17을 참조하여 신규 콘텐츠 등록에 따른 문제점과 이를 해결할 수 있는 방법에 대하여 설명하도록 한다.So far, embodiments of the data purification method have been described with reference to FIGS. 15 and 16. Below, with reference to FIG. 17, problems caused by new content registration and methods for solving them will be explained.

콘텐츠 관련 도메인에서는, 지속적으로 신규 콘텐츠가 제작되고 등록된다. 그러나, 기 구축된 딥러닝 모델의 예측 레이어는 신규 콘텐츠에 대한 컨피던스 스코어를 출력하도록 구성되어 있지 않기 때문에, 딥러닝 모델의 예측 결과에서 신규 콘텐츠가 완전히 배제되는 문제가 발생될 수 있다.In content-related domains, new content is continuously created and registered. However, because the prediction layer of the existing deep learning model is not configured to output confidence scores for new content, a problem may occur in which new content is completely excluded from the prediction results of the deep learning model.

본 개시의 몇몇 실시예들에서는, 위와 같은 문제를 해결하기 위해, 딥러닝 모델의 예측 레이어(170)에 미리 여분의 노드들(e.g., 174 내지 176)이 할당될 수 있다. 그리고, 기 등록된 콘텐츠들(A 내지 C 참고)에 대응되는 노드들(171 내지 173)은 활성화 상태로 설정되고 여분의 노드들(e.g., 174 내지 176)은 비활성화 상태로 설정될 수 있다. 여기서, 노드가 비활성화 상태라는 것은 해당 노드의 출력값(e.g., 대응되는 콘텐츠의 컨피던스 스코어)이 학습 및/또는 추론 시에서 이용되지 않는다는 것을 의미할 수 있다.In some embodiments of the present disclosure, in order to solve the above problem, extra nodes (e.g., 174 to 176) may be allocated in advance to the prediction layer 170 of the deep learning model. Additionally, nodes 171 to 173 corresponding to pre-registered content (see A to C) may be set to an activated state, and extra nodes (e.g., 174 to 176) may be set to a deactivated state. Here, the fact that a node is in an inactive state may mean that the output value (e.g., confidence score of the corresponding content) of the node is not used during learning and/or inference.

도 17의 우측에 도시된 바와 같이, 신규 콘텐츠(D 참고)가 등록되는 경우, 추천 시스템(10)은 신규 콘텐츠에 대응되는 노드(174)를 활성화 상태로 변경할 수 있다. 그리고, 추천 시스템(10)은 신규 콘텐츠에 대한 사용자의 소비 이력 데이터를 이용하여 딥러닝 모델을 추가 학습하고 해당 딥러닝 모델을 이용하여 추천 콘텐츠를 결정할 수 있다. 이러한 경우, 딥러닝 모델에 대한 재구축(e.g., 초기화 후 재학습)이 수행될 필요가 없는 바, 모델 학습에 소요되는 시간 비용과 컴퓨팅 비용이 크게 절감될 수 있다.As shown on the right side of FIG. 17, when new content (see D) is registered, the recommendation system 10 may change the node 174 corresponding to the new content to the activated state. Additionally, the recommendation system 10 can additionally learn a deep learning model using the user's consumption history data for new content and determine recommended content using the deep learning model. In this case, reconstruction (e.g., retraining after initialization) of the deep learning model does not need to be performed, so the time cost and computing cost required for model learning can be greatly reduced.

지금까지 도 17을 참조하여 신규 콘텐츠 등록에 따른 문제점과 이를 해결할 수 있는 방법에 대하여 설명하였다. 이하에서는, 도 18을 참조하여 본 개시의 몇몇 실시예들에 따른 추천 모델 운용 방법에 대하여 설명하도록 한다. 도 18에 예시된 강화학습 모델(180)은 상술한 강화학습 모델(도 2의 20)에 대응되는 것으로 이해될 수 있다.So far, with reference to FIG. 17, problems caused by new content registration and ways to solve them have been explained. Hereinafter, a method of operating a recommendation model according to some embodiments of the present disclosure will be described with reference to FIG. 18. The reinforcement learning model 180 illustrated in FIG. 18 can be understood as corresponding to the reinforcement learning model (20 in FIG. 2) described above.

도 18에 도시된 바와 같이, 본 실시예들은 강화학습 모델(180)과 딥러닝 모델(100)을 함께 이용하여 추천을 수행하는 방법에 관한 것이다. 가령, 추천 시스템(10)은 제1 조건(상황) 하에서는 강화학습 모델(180)을 이용하여 추천을 수행하고 제2 조건(상황) 하에서는 딥러닝 모델(100)을 이용하여 추천을 수행할 수 있다. 물론, 추천 시스템(10)은 경우에 따라 두가지 모델들(100, 180)의 예측 결과를 함께 이용하여 추천을 수행할 수도 있다. 참고로, 도 18은 두가지 추천 모델들(100, 180)을 운용하는 구체적인 시나리오를 예시하고 있는데, 본 개시의 범위가 이러한 예시에 한정되는 것은 아니다.As shown in FIG. 18, these embodiments relate to a method of performing recommendation using the reinforcement learning model 180 and the deep learning model 100 together. For example, the recommendation system 10 may perform recommendation using the reinforcement learning model 180 under the first condition (situation) and use the deep learning model 100 under the second condition (situation). . Of course, in some cases, the recommendation system 10 may perform recommendations by using the prediction results of the two models 100 and 180 together. For reference, Figure 18 illustrates a specific scenario in which two recommendation models 100 and 180 are operated, but the scope of the present disclosure is not limited to this example.

구체적인 예를 들어, 사용자에 대한 콘텐츠 소비 이력 데이터의 양이 기준치 미만인 경우(e.g., 이력 데이터가 충분하게 축적되지 않은 추천 초기), 추천 시스템(10)은 강화학습 모델(180)을 이용하여 추천을 수행할 수 있다(T1-T2 구간 참고). 경우에 따라, 추천 시스템(10)은 강화학습 모델(180)도 이용하지 않고 랜덤하게 추천 콘텐츠를 결정할 수도 있다.For a specific example, when the amount of content consumption history data for a user is less than the standard value (e.g., at the beginning of recommendation when the history data is not sufficiently accumulated), the recommendation system 10 uses the reinforcement learning model 180 to make recommendations. It can be performed (refer to T1-T2 section). In some cases, the recommendation system 10 may randomly determine recommended content without using the reinforcement learning model 180.

또한, 예를 들어, 사용자에 대한 콘텐츠 소비 이력 데이터의 양이 기준치 이상인 경우, 추천 시스템(10)은 딥러닝 모델(100, 즉 해당 데이터를 학습한 딥러닝 모델)을 이용하여 추천을 수행할 수 있다(T2-T3 구간 참고). 이를테면, 추천 시스템(10)은 추천 모델을 강화학습 모델(180)에서 딥러닝 모델(100)로 변경할 수 있다. In addition, for example, if the amount of content consumption history data for the user is greater than the standard value, the recommendation system 10 can perform recommendations using a deep learning model (100, that is, a deep learning model that learned the data). Yes (refer to T2-T3 section). For example, the recommendation system 10 may change the recommendation model from the reinforcement learning model 180 to the deep learning model 100.

또한, 예를 들어, 추천 시스템(10)은 주기 또는 비주기적으로 딥러닝 모델(100)을 재구축하며 추천을 수행할 수도 있다(T3-T4 구간 참고). 딥러닝 모델(100)이 재구축되는 동안, 추천 시스템(10)은 강화학습 모델(180)을 이용하거나 랜덤하게 추천 콘텐츠를 결정할 수도 있다.Additionally, for example, the recommender system 10 may rebuild the deep learning model 100 periodically or aperiodically and perform recommendations (see section T3-T4). While the deep learning model 100 is being rebuilt, the recommendation system 10 may use the reinforcement learning model 180 or may randomly determine recommended content.

또한, 예를 들어, 등록된 신규 콘텐츠들의 개수가 기준치 이상인 경우, 추천 시스템(10)은 딥러닝 모델(100)의 예측 레이어를 재구성하고 신규 콘텐츠들에 대한 사용자의 소비 이력 데이터를 수집할 수 있다. 그리고, 추천 시스템(10)은 수집된 소비 이력 데이터를 중심으로 재학습을 수행하여 딥러닝 모델(100)을 다시 구축할 수 있다(T5 이후의 구간 참고). 이러한 재구축은 새로운 딥러닝 모델을 구축하는 것을 의미하는 것일 수도 있다. 딥러닝 모델(100)이 재구축되는 동안, 추천 시스템(10)은 강화학습 모델(180)을 이용하거나 랜덤하게 추천 콘텐츠를 결정할 수 있다(T4-T5 구간 참고).In addition, for example, when the number of registered new contents is greater than the reference value, the recommendation system 10 reconfigures the prediction layer of the deep learning model 100 and collects the user's consumption history data for the new contents. . Additionally, the recommendation system 10 can rebuild the deep learning model 100 by performing re-learning based on the collected consumption history data (refer to the section after T5). This reconstruction may mean building a new deep learning model. While the deep learning model 100 is being rebuilt, the recommendation system 10 may use the reinforcement learning model 180 or randomly determine recommended content (see section T4-T5).

지금까지 도 18을 참조하여 본 개시의 몇몇 실시예들에 따른 추천 모델 운용 방법에 대하여 설명하였다. 상술한 바에 따르면, 강화학습 모델(180)과 딥러닝 모델(100)을 상호보완적으로 운용함으로써 추천 콘텐츠에 대한 사용자의 만족도가 지속적으로 높은 수준으로 유지될 수 있다.So far, a method of operating a recommendation model according to some embodiments of the present disclosure has been described with reference to FIG. 18 . According to the above, by operating the reinforcement learning model 180 and the deep learning model 100 in a complementary manner, user satisfaction with recommended content can be maintained at a continuously high level.

이하에서는, 도 19 내지 도 23을 참조하여 본 개시의 몇몇 실시예들에 따른 기계학습 기반 멀티 도메인 추천 방법에 대하여 설명하도록 한다.Hereinafter, a machine learning-based multi-domain recommendation method according to some embodiments of the present disclosure will be described with reference to FIGS. 19 to 23.

도 19 등에 도시된 바와 같이, 본 실시예들은 딥러닝 모델(190)을 이용하여 멀티 도메인(또는 크로스 도메인) 추천을 수행하는 방법에 관한 것이다. 먼저, 딥러닝 모델(190)의 구조, 아이템 임베딩 방법 및 학습 방법에 대하여 설명하도록 한다.As shown in FIG. 19 and the like, these embodiments relate to a method of performing multi-domain (or cross-domain) recommendation using the deep learning model 190. First, the structure, item embedding method, and learning method of the deep learning model 190 will be explained.

도 19에 도시된 바와 같이, 딥러닝 모델(190)은 멀티 도메인의 아이템 시퀀스(e.g., 191)를 입력받아 멀티 도메인의 아이템 시퀀스(e.g., 192)를 출력하도록 구성될 수 있다. 그리고, 딥러닝 모델(190)도 오토리그레시브한 방식으로 출력 시퀀스를 구성하는 개별 아이템(e.g., 192)을 예측하도록 동작할 수 있다. 딥러닝 모델(190)은 상술한 딥러닝 모델(100)과 유사한 구조로 구성될 수 있다.As shown in FIG. 19, the deep learning model 190 may be configured to receive a multi-domain item sequence (e.g., 191) and output a multi-domain item sequence (e.g., 192). Additionally, the deep learning model 190 may also operate to predict individual items (e.g., 192) constituting the output sequence in an autoregressive manner. The deep learning model 190 may be configured with a structure similar to the deep learning model 100 described above.

한편, 아이템(e.g., 191)의 임베딩을 생성하는 구체적인 방법은 실시예에 따라 달라질 수 있다.Meanwhile, the specific method of generating the embedding of the item (e.g., 191) may vary depending on the embodiment.

몇몇 실시예들에서는, 멀티 도메인에 걸쳐 아이템을 유일하게 식별할 수 있는 코드(e.g., 원-핫 코드)에 기초하여 해당 아이템의 임베딩이 생성될 수 있다(e.g., 임베딩 레이어를 통과시켜서 생성함). 이러한 식별코드는 도메인 식별코드와 아이템 식별코드의 조합에 기초하여 정의될 수도 있고 다른 방식으로 정의될 수도 있다.In some embodiments, an embedding of an item may be generated (e.g., generated by passing it through an embedding layer) based on a code that can uniquely identify the item across multiple domains (e.g., a one-hot code). . This identification code may be defined based on a combination of a domain identification code and an item identification code or may be defined in other ways.

다른 몇몇 실시예들에서는, 도 20에 도시된 바와 같이, 각 도메인의 임베딩들(202 내지 204)을 애그리게이팅(e.g., 접합, 덧셈, 곱셈, 엘리먼트별 곱셈 등)하여 아이템(201)의 최종 임베딩(205)이 생성될 수 있다. 가령, 대상 아이템(201)이 제1 도메인(D1 참고)의 아이템이라고 가정하자. 이러한 경우, 추천 시스템(10)은 제1 도메인의 아이템에 적합한 방식으로 아이템(201)의 임베딩(202)을 생성할 수 있다(e.g., 콘텐츠의 경우 도 14 등의 설명 내용 참고). 그리고, 추천 시스템(10)은 제1 도메인의 임베딩(202)과 해당 아이템(201)의 다른 도메인의 임베딩들(203, 204, e.g., 널 벡터)을 애그리게이팅하여 최종 임베딩(205)을 생성할 수 있다.In some other embodiments, as shown in FIG. 20, the final embedding of the item 201 is achieved by aggregating (e.g., concatenation, addition, multiplication, element-by-element multiplication, etc.) the embeddings 202 to 204 of each domain. (205) can be generated. For example, let's assume that the target item 201 is an item of the first domain (see D1). In this case, the recommendation system 10 may generate the embedding 202 of the item 201 in a manner suitable for the item of the first domain (e.g., for content, refer to the description of FIG. 14, etc.). And, the recommendation system 10 generates the final embedding 205 by aggregating the embedding 202 of the first domain and the embeddings 203, 204, e.g., null vectors of the corresponding item 201 in other domains. You can.

또 다른 몇몇 실시예들에서는, 도 21에 도시된 바와 같이, 도메인의 식별코드(e.g., 원-핫 코드)가 각 아이템(e.g., 212, 213)의 임베딩(e.g., 213, 214)에 반영되어 딥러닝 모델(190)의 분석기(211)로 입력될 수 있다. 가령, 추천 시스템(10)은 제1 도메인(D1 참고)에 속한 아이템(212)의 임베딩(213)에 제1 도메인의 식별코드를 반영(e.g., 접합, 덧셈, 곱셈, 엘리먼트별 곱셈 등)하여 분석기(211)로 입력(피딩)할 수 있다. 유사하게, 추천 시스템(10)은 제2 도메인(D2 참고)에 속한 아이템(213)의 임베딩(214)에 제2 도메인의 식별코드를 반영하여 분석기(211)로 입력(피딩)할 수 있다. 그렇게 함으로써, 분석기(211)가 입력된 아이템 임베딩(e.g., 213, 214)의 도메인을 정확하게 파악할 수 있게 되고 사용자의 행위(소비) 패턴을 더욱 잘 학습할 수 있게 된다.In some other embodiments, as shown in Figure 21, the domain identification code (e.g., one-hot code) is reflected in the embedding (e.g., 213, 214) of each item (e.g., 212, 213) It can be input to the analyzer 211 of the deep learning model 190. For example, the recommendation system 10 reflects the identification code of the first domain in the embedding 213 of the item 212 belonging to the first domain (see D1) (e.g., concatenation, addition, multiplication, multiplication by element, etc.) It can be input (feeding) to the analyzer 211. Similarly, the recommendation system 10 may reflect the identification code of the second domain in the embedding 214 of the item 213 belonging to the second domain (see D2) and input (feed) it to the analyzer 211. By doing so, the analyzer 211 can accurately determine the domain of the input item embedding (e.g., 213, 214) and better learn the user's behavior (consumption) pattern.

다른 몇몇 실시예들에서는, 상술한 실시예들의 다양한 조합에 기초하여 아이템의 임베딩이 생성될 수 있다.In some other embodiments, an embedding of an item may be created based on various combinations of the above-described embodiments.

한편, 딥러닝 모델(190)의 예측 레이어는 특정 도메인에 대한 다음 소비 아이템 예측 태스크만을 수행하도록 구성될 수도 있고 멀티 도메인에 대한 다음 소비 아이템 예측 태스크를 수행하도록 구성될 수도 있다.Meanwhile, the prediction layer of the deep learning model 190 may be configured to perform only the next consumption item prediction task for a specific domain or may be configured to perform the next consumption item prediction task for multiple domains.

예를 들어, 도 22에 도시된 바와 같이, 딥러닝 모델(190)의 예측 레이어(221)는 멀티 도메인에 대한 다음 소비 아이템 예측 태스크를 수행하도록 구성될 수 있다. 즉, 예측 레이어(221)가 멀티 도메인에 속한 아이템들(e.g., 모든 아이템들)의 컨피던스 스코어(224)를 출력하도록 구성될 수 있다. 구체적으로, 예측 레이어(221)는 분석기(211)에서 출력되는 아이템 임베딩(223, e.g., 매 시점(스텝)마다 출력됨)을 입력받아 멀티 도메인에 속한 아이템들에 대한 컨피던스 스코어(224)를 출력할 수 있다. 상술한 바와 같이, 분석기(211)는 입력 시퀀스를 구성하는 아이템(e.g., 222)의 임베딩(e.g., 223)을 분석하여 매 시점(스텝)마다 아이템 임베딩(e.g., 223)을 출력할 수 있다.For example, as shown in FIG. 22, the prediction layer 221 of the deep learning model 190 may be configured to perform the task of predicting the next consumption item for a multi-domain. That is, the prediction layer 221 may be configured to output the confidence score 224 of items belonging to a multi-domain (e.g., all items). Specifically, the prediction layer 221 receives the item embedding 223 (e.g., output at each time point (step)) output from the analyzer 211 and outputs a confidence score 224 for items belonging to the multi-domain. can do. As described above, the analyzer 211 may analyze the embeddings (e.g., 223) of the items (e.g., 222) constituting the input sequence and output the item embeddings (e.g., 223) at every time point (step).

다른 예로서, 딥러닝 모델(190)은 제1 도메인에 대한 다음 소비 아이템 예측 태스크를 수행하는 제1 예측 레이어와 제2 도메인에 대한 다음 소비 아이템 예측 태스크를 수행하는 제2 예측 레이어를 포함하여 구성될 수 있다.As another example, the deep learning model 190 includes a first prediction layer that performs a next consumption item prediction task for the first domain and a second prediction layer that performs a next consumption item prediction task for the second domain. It can be.

또 다른 예로서, 도 23에 도시된 바와 같이, 딥러닝 모델(190)은 서로 다른 도메인의 다음 소비 아이템 예측 태스크를 수행하는 복수의 예측 레이어들(232 내지 234)과 다음 도메인 예측 태스크를 수행하는 레이어(231)를 포함하여 구성될 수 있다. 이때, 도메인 예측 레이어(231)는 도메인별 컨피던스 스코어(237)를 출력하도록 구성될 수 있고 예측 레이어들(232 내지 234) 각각은 해당 도메인의 아이템별 컨피던스 스코어(238-1 내지 238-3)를 출력하도록 구성될 수 있다. 그리고, 모든 예측 레이어들(231 내지 234)은 아이템(e.g., 235)에 대한 출력 임베딩(e.g., 236)을 입력받아 예측 태스크를 수행할 수 있다.As another example, as shown in FIG. 23, the deep learning model 190 includes a plurality of prediction layers 232 to 234 that perform the next consumption item prediction task of different domains and the next domain prediction task. It may be configured to include a layer 231. At this time, the domain prediction layer 231 may be configured to output a confidence score 237 for each domain, and each of the prediction layers 232 to 234 may output a confidence score 238-1 to 238-3 for each item of the domain. It can be configured to output. In addition, all prediction layers 231 to 234 may receive the output embedding (e.g., 236) for the item (e.g., 235) and perform a prediction task.

상술한 딥러닝 모델(190)은 다음 소비 아이템 예측 태스크, 다음 도메인 예측 태스크 등을 통해 학습될 수 있다. 가령, 추천 시스템(10)은 멀티 도메인의 소비 이력 데이터에서 복수의 아이템 시퀀스 샘플들을 추출하여 트레이닝셋을 생성할 수 있다. 이때, 아이템 시퀀스 샘플에는 여러 도메인의 아이템들이 포함되어 있을 수 있다. 그리고, 추천 시스템(10)은 트레이닝셋을 이용하여 다음 소비 아이템 예측 태스크 등을 수행함으로써 딥러닝 모델(190)을 학습시킬 수 있다. 구체적인 학습 과정은 상술한 딥러닝 모델(100)과 유사한 바, 더 이상의 설명은 생략하도록 한다.The deep learning model 190 described above can be learned through the next consumption item prediction task, the next domain prediction task, etc. For example, the recommendation system 10 may generate a training set by extracting a plurality of item sequence samples from multi-domain consumption history data. At this time, the item sequence sample may include items from multiple domains. Additionally, the recommendation system 10 can learn the deep learning model 190 by performing a next consumption item prediction task using the training set. Since the specific learning process is similar to the deep learning model 100 described above, further explanation will be omitted.

학습이 완료되면, 추천 시스템(10)은 학습된 딥러닝 모델(190)을 이용하여 멀티 도메인 추천 서비스를 제공할 수 있다. 구체적으로, 추천 시스템(10)은 사용자의 최근 아이템 시퀀스를 딥러닝 모델(190)에 입력하여 다음 소비 아이템을 예측함으로써 추천 아이템을 결정할 수 있다. 다만, 그 구체적인 방식은 실시예에 따라 달라질 수 있다.Once learning is complete, the recommendation system 10 can provide a multi-domain recommendation service using the learned deep learning model 190. Specifically, the recommendation system 10 may determine a recommended item by inputting the user's recent item sequence into the deep learning model 190 to predict the next consumption item. However, the specific method may vary depending on the embodiment.

몇몇 실시예들에서는, 추천 시스템(10)이 도메인 구분없이 컨피던스 스코어가 기준치 이상인 아이템들을 추천 아이템으로 결정할 수 있다. 가령, 도 22를 다시 참조하면, 추천 시스템(10)은 예측 레이어(221)에서 출력된 멀티 도메인 아이템들의 컨피던스 스코어(224)를 비교하여 기준치 이상의 컨피던스 스코어를 갖는 하나 이상의 아이템을 선별할 수 있다. 그리고, 추천 시스템(10)은 선별된 아이템을 추천 아이템으로 결정할 수 있다.In some embodiments, the recommendation system 10 may determine items with confidence scores greater than or equal to a reference value as recommended items without distinction of domains. For example, referring again to FIG. 22 , the recommendation system 10 may compare the confidence scores 224 of multi-domain items output from the prediction layer 221 and select one or more items having a confidence score greater than a reference value. Additionally, the recommendation system 10 may determine the selected item as a recommended item.

다른 몇몇 실시예들에서는, 추천 시스템(10)이 딥러닝 모델(190)을 통해 오토리그레시브한 방식으로 다음 소비 아이템에 대한 예측 과정을 반복하여 수행할 수 있다. 그리고, 추천 시스템(10)은 이러한 반복 과정을 통해 예측된 복수의 아이템들 중에서 추천 아이템을 결정할 수 있다.In some other embodiments, the recommendation system 10 may repeatedly perform the prediction process for the next consumption item in an autoregressive manner using the deep learning model 190. Additionally, the recommendation system 10 may determine a recommended item from among a plurality of items predicted through this iterative process.

또 다른 몇몇 실시예들에서는, 추천 시스템(10)이 도메인별로 추천 아이템을 결정할 수 있다. 가령, 도 23을 다시 참조하면, 추천 시스템(10)은 제1 예측 레이어(232)에서 출력된 아이템들의 컨피던스 스코어(238-1)를 기초로 제1 도메인의 추천 아이템을 결정하고 제2 예측 레이어(233)에서 출력된 아이템들의 컨피던스 스코어(238-2)를 기초로 제2 도메인의 추천 아이템을 결정할 수 있다. 유사하게, 추천 시스템(10)은 제3 예측 레이어(234)에서 출력된 아이템들의 컨피던스 스코어(238-3)를 기초로 제3 도메인의 추천 아이템도 결정할 수 있다.In some other embodiments, the recommendation system 10 may determine a recommended item for each domain. For example, referring again to FIG. 23, the recommendation system 10 determines recommended items of the first domain based on the confidence scores 238-1 of the items output from the first prediction layer 232 and A recommended item of the second domain may be determined based on the confidence score 238-2 of the items output at 233. Similarly, the recommendation system 10 may also determine recommended items of the third domain based on the confidence scores 238-3 of the items output from the third prediction layer 234.

또 다른 몇몇 실시예들에서는, 추천 시스템(10)이 사용자의 다음 도메인을 예측하고 예측된 도메인의 아이템들 중에서 추천 아이템을 결정할 수 있다. 가령, 도 23을 다시 참조하면, 추천 시스템(10)은 도메인 예측 레이어(231)를 통해 다음 도메인을 예측할 수 있다(e.g., D2 도메인 참고). 그리고, 추천 시스템(10)은 예측된 도메인에 속한 아이템들의 컨피던스 스코어(238-2)를 기초로 추천 아이템을 결정할 수 있다. 그렇게 함으로써, 추천 정확도가 더욱 향상될 수 있다.In some other embodiments, the recommendation system 10 may predict the user's next domain and determine a recommended item from among the items in the predicted domain. For example, referring again to FIG. 23, the recommendation system 10 can predict the next domain through the domain prediction layer 231 (e.g., refer to the D2 domain). Additionally, the recommendation system 10 may determine a recommended item based on the confidence score 238-2 of the items belonging to the predicted domain. By doing so, recommendation accuracy can be further improved.

또 다른 몇몇 실시예들에서는, 상술한 실시예들의 다양한 조합에 기초하여 추천 아이템이 결정될 수도 있다.In some other embodiments, a recommended item may be determined based on various combinations of the above-described embodiments.

지금까지 도 19 내지 도 23을 참조하여 본 개시의 몇몇 실시예들에 따른 기계학습 기반 멀티 도메인 추천 방법에 대하여 설명하였다. 상술한 바에 따르면, 멀티 도메인의 소비 이력 데이터들을 이용하여 학습된 딥러닝 모델을 통해 멀티 도메인 추천 서비스가 제공될 수 있다. 가령, 콘텐츠를 소비 중인 사용자에게 배달 음식 또는 상품을 추천하는 서비스가 제공될 수 있다. 이러한 경우, 추천 서비스에 대한 새로운(신선한) 경험이 사용자에게 제공될 수 있다. 뿐만 아니라, 모델 학습에 필요한 소비 이력 데이터가 빠르게 준비될 수 있기 때문에, 추천 분야의 고질적인 문제 중 하나인 콜드-스타트 문제도 용이하게 해결될 수 있다.So far, a machine learning-based multi-domain recommendation method according to some embodiments of the present disclosure has been described with reference to FIGS. 19 to 23. According to the above, a multi-domain recommendation service can be provided through a deep learning model learned using consumption history data of multi-domains. For example, a service that recommends delivery food or products to a user consuming content may be provided. In this case, a new (fresh) experience with the recommended service may be provided to the user. In addition, because the consumption history data required for model learning can be quickly prepared, the cold-start problem, one of the chronic problems in the recommendation field, can be easily solved.

이하에서는, 도 24를 참조하여 본 개시의 몇몇 실시예들에 따른 추천 시스템(10)을 구현할 수 있는 예시적인 컴퓨팅 장치(240)에 대하여 설명하도록 한다.Hereinafter, an exemplary computing device 240 capable of implementing the recommendation system 10 according to some embodiments of the present disclosure will be described with reference to FIG. 24.

도 24는 컴퓨팅 장치(240)를 나타내는 예시적인 하드웨어 구성도이다.FIG. 24 is an exemplary hardware configuration diagram showing the computing device 240.

도 24에 도시된 바와 같이, 컴퓨팅 장치(240)는 하나 이상의 프로세서(241), 버스(243), 통신 인터페이스(244), 프로세서(241)에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리(242)와, 컴퓨터 프로그램(246)을 저장하는 스토리지(247)를 포함할 수 있다. 다만, 도 24에는 본 개시의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 개시가 속한 기술분야의 통상의 기술자라면 도 24에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 알 수 있다. 즉, 컴퓨팅 장치(240)에는, 도 24에 도시된 구성요소 이외에도 다양한 구성요소가 더 포함될 수 있다. 또한, 경우에 따라, 도 24에 도시된 구성요소들 중 일부가 생략된 형태로 컴퓨팅 장치(240)가 구성될 수도 있다. 이하, 컴퓨팅 장치(240)의 각 구성요소에 대하여 설명한다.As shown in FIG. 24, the computing device 240 includes one or more processors 241, a bus 243, a communication interface 244, and a memory (loading) a computer program executed by the processor 241. 242) and a storage 247 that stores a computer program 246. However, only components related to the embodiment of the present disclosure are shown in FIG. 24. Accordingly, a person skilled in the art to which this disclosure pertains can see that other general-purpose components may be included in addition to the components shown in FIG. 24. That is, the computing device 240 may further include various components in addition to those shown in FIG. 24 . Additionally, in some cases, the computing device 240 may be configured with some of the components shown in FIG. 24 omitted. Hereinafter, each component of the computing device 240 will be described.

프로세서(241)는 컴퓨팅 장치(240)의 각 구성의 전반적인 동작을 제어할 수 있다. 프로세서(241)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit), NPU(Neural Processing Unit) 또는 본 개시의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 프로세서(241)는 본 개시의 실시예들에 따른 동작/방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(240)는 하나 이상의 프로세서를 구비할 수 있다.The processor 241 may control the overall operation of each component of the computing device 240. The processor 241 may be a Central Processing Unit (CPU), Micro Processor Unit (MPU), Micro Controller Unit (MCU), Graphic Processing Unit (GPU), Neural Processing Unit (NPU), or any other device well known in the art of the present disclosure. It may be configured to include at least one of the following types of processors. Additionally, the processor 241 may perform operations on at least one application or program to execute operations/methods according to embodiments of the present disclosure. Computing device 240 may include one or more processors.

다음으로, 메모리(242)는 각종 데이터, 명령 및/또는 정보를 저장할 수 있다. 메모리(242)는 본 개시의 실시예들에 따른 동작/방법을 실행하기 위하여 스토리지(247)로부터 컴퓨터 프로그램(246)을 로드할 수 있다. 메모리(242)는 RAM과 같은 휘발성 메모리로 구현될 수 있을 것이나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다.Next, memory 242 may store various data, instructions and/or information. Memory 242 may load a computer program 246 from storage 247 to execute operations/methods according to embodiments of the present disclosure. The memory 242 may be implemented as a volatile memory such as RAM, but the technical scope of the present disclosure is not limited thereto.

다음으로, 버스(243)는 컴퓨팅 장치(240)의 구성요소 간 통신 기능을 제공할 수 있다. 버스(243)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.Next, bus 243 may provide communication functionality between components of computing device 240. The bus 243 may be implemented as various types of buses, such as an address bus, a data bus, and a control bus.

다음으로, 통신 인터페이스(244)는 컴퓨팅 장치(240)의 유무선 인터넷 통신을 지원할 수 있다. 또한, 통신 인터페이스(244)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(244)는 본 개시의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.Next, the communication interface 244 may support wired and wireless Internet communication of the computing device 240. Additionally, the communication interface 244 may support various communication methods other than Internet communication. To this end, the communication interface 244 may be configured to include a communication module well known in the technical field of the present disclosure.

다음으로, 스토리지(247)는 하나 이상의 컴퓨터 프로그램(246)을 비임시적으로 저장할 수 있다. 스토리지(247)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 개시가 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.Next, storage 247 may non-transitory store one or more computer programs 246. The storage 247 may be used in a non-volatile memory such as Read Only Memory (ROM), Erasable Programmable ROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), flash memory, a hard disk, a removable disk, or the like in the technical field to which this disclosure pertains. It may be configured to include any known type of computer-readable recording medium.

다음으로, 컴퓨터 프로그램(246)은 메모리(242)에 로드될 때 프로세서(241)로 하여금 본 개시의 다양한 실시예들에 따른 동작/방법을 수행하도록 하는 하나 이상의 인스트럭션을 포함할 수 있다. 즉, 프로세서(241)는 상기 하나 이상의 인스트럭션을 실행함으로써, 본 개시의 다양한 실시예들에 따른 동작/방법을 수행할 수 있다.Next, the computer program 246 may include one or more instructions that, when loaded into the memory 242, cause the processor 241 to perform operations/methods according to various embodiments of the present disclosure. That is, the processor 241 can perform operations/methods according to various embodiments of the present disclosure by executing the one or more instructions.

예를 들어, 컴퓨터 프로그램(246)은 사용자의 콘텐츠 소비 이력 데이터를 이용하여 다음 소비 콘텐츠 예측 태스크를 수행함으로써 학습된 시퀀스-투-시퀀스 기반의 딥러닝 모델을 획득하는 동작, 사용자가 소비한 콘텐츠 시퀀스에 대한 정보를 획득하는 동작 및 학습된 딥러닝 모델을 통해 콘텐츠 시퀀스로부터 다음 소비 콘텐츠를 예측함으로써 사용자를 위한 추천 콘텐츠를 결정하는 동작을 수행하도록 하는 인스트럭션들을 포함할 수 있다. 이와 같은 경우, 컴퓨팅 장치(240)를 통해 본 개시의 몇몇 실시예들에 따른 추천 시스템(10)이 구현될 수 있다.For example, the computer program 246 performs a next consumption content prediction task using the user's content consumption history data to obtain a learned sequence-to-sequence based deep learning model, the sequence of content consumed by the user It may include instructions for performing an operation of obtaining information about and determining recommended content for the user by predicting the next consumption content from the content sequence through a learned deep learning model. In this case, the recommendation system 10 according to some embodiments of the present disclosure may be implemented through the computing device 240.

한편, 몇몇 실시예들에서, 도 24에 도시된 컴퓨팅 장치(240)는 클라우드 기술에 기반하여 구현된 가상 머신을 의미하는 것일 수도 있다. 가령, 컴퓨팅 장치(240)는 서버 팜(server farm)에 포함된 하나 이상의 물리 서버(physical server)에서 동작하는 가상 머신일 수 있다. 이 경우, 도 24에 도시된 프로세서(241), 메모리(242) 및 스토리지(247) 중 적어도 일부는 가상 하드웨어(virtual hardware)일 수 있으며, 통신 인터페이스(244) 또한 가상 스위치(virtual switch) 등과 같은 가상화된 네트워킹 요소로 구현된 것일 수 있다.Meanwhile, in some embodiments, the computing device 240 shown in FIG. 24 may mean a virtual machine implemented based on cloud technology. For example, the computing device 240 may be a virtual machine running on one or more physical servers included in a server farm. In this case, at least some of the processor 241, memory 242, and storage 247 shown in FIG. 24 may be virtual hardware, and the communication interface 244 may also be a virtual switch, etc. It may be implemented as a virtualized networking element.

지금까지 도 24를 참조하여 본 개시의 몇몇 실시예들에 따른 추천 시스템(10)을 구현할 수 있는 예시적인 컴퓨팅 장치(240)에 대하여 설명하였다.So far, an exemplary computing device 240 capable of implementing the recommendation system 10 according to some embodiments of the present disclosure has been described with reference to FIG. 24 .

지금까지 도 1 내지 도 24를 참조하여 본 개시의 다양한 실시예들 및 그 실시예들에 따른 효과들을 언급하였다. 본 개시의 기술적 사상에 따른 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.So far, various embodiments of the present disclosure and effects according to the embodiments have been mentioned with reference to FIGS. 1 to 24 . The effects according to the technical idea of the present disclosure are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood by those skilled in the art from the description below.

또한, 이상의 실시예들에서 복수의 구성요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 개시의 기술적 사상이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 개시의 기술적 사상의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.In addition, although it has been described in the above embodiments that a plurality of components are combined or operated in combination, the technical idea of the present disclosure is not necessarily limited to these embodiments. That is, as long as it is within the scope of the technical idea of the present disclosure, all of the components may be operated by selectively combining one or more of them.

지금까지 설명된 본 개시의 기술적 사상은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 컴퓨터로 읽을 수 있는 기록 매체에 기록된 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.The technical ideas of the present disclosure described so far can be implemented as computer-readable code on a computer-readable medium. A computer program recorded on a computer-readable recording medium can be transmitted to another computing device through a network such as the Internet, installed on the other computing device, and thus used on the other computing device.

도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 이상 첨부된 도면을 참조하여 본 개시의 다양한 실시예들을 설명하였지만, 본 개시가 속한 기술분야에서 통상의 지식을 가진 자는 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 개시의 기술적 사상이 다른 구체적인 형태로도 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 개시의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 개시에 의해 정의되는 기술적 사상의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Although operations are shown in the drawings in a specific order, it should not be understood that the operations must be performed in the specific order shown or sequential order or that all illustrated operations must be performed to obtain the desired results. In certain situations, multitasking and parallel processing may be advantageous. Although various embodiments of the present disclosure have been described above with reference to the attached drawings, those skilled in the art will understand that the technical idea of the present disclosure can be modified in a different specific form without changing the technical idea or essential features. It is understandable that it can also be implemented. Therefore, the embodiments described above should be understood in all respects as illustrative and not restrictive. The scope of protection of this disclosure should be interpreted in accordance with the claims below, and all technical ideas within the equivalent scope should be interpreted as being included in the scope of rights of the technical ideas defined by this disclosure.

Claims (19)

적어도 하나의 컴퓨팅 장치에 의해 수행되는 방법으로서,
사용자의 콘텐츠 소비 이력 데이터를 이용하여 학습된 시퀀스-투-시퀀스 기반의 딥러닝 모델을 획득하는 단계 - 상기 딥러닝 모델은 다음(next) 소비 콘텐츠 예측 태스크를 통해 학습된 것임 -;
상기 사용자가 소비한 콘텐츠 시퀀스에 대한 정보를 획득하는 단계; 및
상기 딥러닝 모델을 통해 상기 콘텐츠 시퀀스로부터 다음 소비 콘텐츠를 예측함으로써 상기 사용자를 위한 추천 콘텐츠를 결정하는 단계를 포함하고,
상기 딥러닝 모델의 학습 과정은:
상기 콘텐츠 소비 이력 데이터에서 복수의 콘텐츠 시퀀스 샘플들을 추출하는 단계;
상기 복수의 콘텐츠 시퀀스 샘플들 중 특정 콘텐츠 시퀀스 샘플에서 인기도가 기준치 이상인 콘텐츠를 제거함으로써 상기 다음 소비 콘텐츠 예측 태스크를 위한 트레이닝셋을 생성하는 단계; 및
상기 트레이닝셋을 이용하여 상기 다음 소비 콘텐츠 예측 태스크를 수행함으로써 상기 딥러닝 모델을 학습시키는 단계를 포함하는,
기계학습 기반 추천 방법.
A method performed by at least one computing device, comprising:
Obtaining a sequence-to-sequence based deep learning model learned using the user's content consumption history data - the deep learning model was learned through a next consumption content prediction task -;
Obtaining information about the content sequence consumed by the user; and
Determining recommended content for the user by predicting next consumed content from the content sequence through the deep learning model,
The learning process of the deep learning model is:
extracting a plurality of content sequence samples from the content consumption history data;
generating a training set for the next consumption content prediction task by removing content whose popularity is higher than a threshold value from a specific content sequence sample among the plurality of content sequence samples; and
Comprising training the deep learning model by performing the next consumption content prediction task using the training set,
Machine learning-based recommendation method.
제1항에 있어서,
상기 추천 콘텐츠는 콘텐츠 서비스 페이지의 히어로 영역을 통해 상기 사용자에게 제공되는,
기계학습 기반 추천 방법.
According to paragraph 1,
The recommended content is provided to the user through the hero area of the content service page,
Machine learning-based recommendation method.
제1항에 있어서,
상기 딥러닝 모델은 트랜스포머(transformer)의 인코더와 디코더 중에서 상기 디코더에만 기반하여 구현된 것인,
기계학습 기반 추천 방법.
According to paragraph 1,
The deep learning model is implemented based only on the decoder among the encoder and decoder of the transformer,
Machine learning-based recommendation method.
제1항에 있어서,
상기 다음 소비 콘텐츠 예측 태스크를 위한 트레이닝셋을 생성하는 단계는,
상기 복수의 콘텐츠 시퀀스 샘플들 중에서 길이가 기준치 이상인 콘텐츠 시퀀스 샘플을 선별하는 단계; 및
상기 선별된 콘텐츠 시퀀스 샘플을 상기 기준치 미만의 길이를 갖는 서브 시퀀스 샘플들로 분할함으로써 상기 다음 소비 콘텐츠 예측 태스크를 위한 상기 트레이닝셋을 생성하는 단계를 포함하는,
기계학습 기반 추천 방법.
According to paragraph 1,
The step of generating a training set for the next consumption content prediction task is,
Selecting a content sequence sample whose length is equal to or greater than a reference value from among the plurality of content sequence samples; and
Generating the training set for the next consumed content prediction task by dividing the selected content sequence samples into subsequence samples with a length less than the reference value,
Machine learning-based recommendation method.
삭제delete 제1항에 있어서,
상기 추천 콘텐츠를 결정하는 단계는,
상기 콘텐츠 시퀀스에 포함된 개별 콘텐츠의 식별코드에 기초하여 상기 개별 콘텐츠에 대한 콘텐츠 임베딩을 생성하는 단계; 및
상기 콘텐츠 임베딩을 상기 딥러닝 모델에 입력하여 상기 다음 소비 콘텐츠를 예측하는 단계를 포함하는,
기계학습 기반 추천 방법.
According to paragraph 1,
The step of determining the recommended content is,
generating content embedding for the individual content based on the identification code of the individual content included in the content sequence; and
Including the step of predicting the next consumption content by inputting the content embedding into the deep learning model,
Machine learning-based recommendation method.
제1항에 있어서,
상기 추천 콘텐츠를 결정하는 단계는,
상기 콘텐츠 시퀀스에 포함된 개별 콘텐츠와 연관된 텍스트에 기초하여 제1 임베딩을 생성하는 단계;
상기 개별 콘텐츠와 연관된 이미지에 기초하여 제2 임베딩을 생성하는 단계;
상기 제1 임베딩과 상기 제2 임베딩을 애그리게이팅하여 상기 개별 콘텐츠에 대한 콘텐츠 임베딩을 생성하는 단계; 및
상기 콘텐츠 임베딩을 상기 딥러닝 모델에 입력하여 상기 다음 소비 콘텐츠를 예측하는 단계를 포함하는,
기계학습 기반 추천 방법.
According to paragraph 1,
The step of determining the recommended content is,
generating a first embedding based on text associated with individual content included in the content sequence;
generating a second embedding based on an image associated with the individual content;
generating a content embedding for the individual content by aggregating the first embedding and the second embedding; and
Including the step of predicting the next consumption content by inputting the content embedding into the deep learning model,
Machine learning-based recommendation method.
제1항에 있어서,
상기 추천 콘텐츠를 결정하는 단계는,
상기 콘텐츠 시퀀스에 포함된 개별 콘텐츠의 정보에 기초하여 제1 콘텐츠 임베딩을 생성하는 단계;
상기 제1 콘텐츠 임베딩에 상기 개별 콘텐츠와 연관된 상기 사용자의 컨텍스트 정보를 반영하여 제2 콘텐츠 임베딩을 생성하는 단계; 및
상기 제2 콘텐츠 임베딩을 상기 딥러닝 모델에 입력하여 상기 다음 소비 콘텐츠를 예측하는 단계를 포함하는,
기계학습 기반 추천 방법.
According to paragraph 1,
The step of determining the recommended content is,
generating a first content embedding based on information on individual content included in the content sequence;
generating a second content embedding by reflecting the user's context information associated with the individual content in the first content embedding; and
Including the step of predicting the next consumption content by inputting the second content embedding into the deep learning model,
Machine learning-based recommendation method.
제1항에 있어서,
상기 추천 콘텐츠를 결정하는 단계는,
상기 콘텐츠 시퀀스에서 인기도가 기준치 이상인 콘텐츠를 제거하고 나머지 콘텐츠 시퀀스를 이용하여 상기 다음 소비 콘텐츠를 예측함으로써 상기 추천 콘텐츠를 결정하는 단계를 포함하는,
기계학습 기반 추천 방법.
According to paragraph 1,
The step of determining the recommended content is,
Comprising the step of determining the recommended content by removing content whose popularity is above a threshold value from the content sequence and predicting the next consumed content using the remaining content sequence.
Machine learning-based recommendation method.
제1항에 있어서,
상기 딥러닝 모델은 콘텐츠별 컨피던스 스코어를 출력하도록 구성된 예측 레이어를 포함하고,
상기 추천 콘텐츠를 결정하는 단계는,
상기 예측 레이어를 통해 기 등록된 복수의 콘텐츠들에 대한 컨피던스 스코어를 산출하는 단계; 및
상기 복수의 콘텐츠들 중에서 상기 컨피던스 스코어가 기준치 이상인 콘텐츠를 상기 추천 콘텐츠로 결정하는 단계를 포함하는,
기계학습 기반 추천 방법.
According to paragraph 1,
The deep learning model includes a prediction layer configured to output a confidence score for each content,
The step of determining the recommended content is,
calculating a confidence score for a plurality of pre-registered contents through the prediction layer; and
Comprising the step of determining a content whose confidence score is equal to or higher than a standard value among the plurality of content as the recommended content.
Machine learning-based recommendation method.
제1항에 있어서,
상기 추천 콘텐츠를 결정하는 단계는,
상기 딥러닝 모델을 통해 오토리그레시브(auto-regressive)한 방식으로 상기 다음 소비 콘텐츠에 대한 예측을 반복 수행하여 복수의 후보 콘텐츠들을 도출하는 단계; 및
상기 복수의 후보 콘텐츠들 중에서 상기 추천 콘텐츠를 결정하는 단계를 포함하는,
기계학습 기반 추천 방법.
According to paragraph 1,
The step of determining the recommended content is,
deriving a plurality of candidate contents by repeatedly predicting the next consumption content in an auto-regressive manner using the deep learning model; and
Comprising the step of determining the recommended content among the plurality of candidate content,
Machine learning-based recommendation method.
제1항에 있어서,
상기 추천 콘텐츠를 결정하는 단계는,
상기 콘텐츠 소비 이력 데이터의 양이 기준치 이상인 경우, 상기 콘텐츠 소비 이력 데이터를 학습한 상기 딥러닝 모델을 통해 상기 추천 콘텐츠를 결정하는 단계를 포함하고,
상기 콘텐츠 소비 이력 데이터의 양이 기준치 미만인 경우에는 상기 사용자의 피드백을 학습한 강화학습 모델을 통해 상기 추천 콘텐츠가 결정되는,
기계학습 기반 추천 방법.
According to paragraph 1,
The step of determining the recommended content is,
When the amount of content consumption history data is greater than a reference value, determining the recommended content through the deep learning model that learned the content consumption history data,
If the amount of content consumption history data is less than the standard value, the recommended content is determined through a reinforcement learning model that learned the user's feedback,
Machine learning-based recommendation method.
적어도 하나의 컴퓨팅 장치에 의해 수행되는 방법으로서,
사용자의 아이템 소비 이력 데이터를 이용하여 학습된 시퀀스-투-시퀀스 기반의 딥러닝 모델을 획득하는 단계 - 상기 딥러닝 모델은 다음(next) 소비 아이템 예측 태스크를 통해 학습된 것임 -;
상기 사용자가 소비한 아이템 시퀀스에 대한 정보를 획득하는 단계; 및
상기 딥러닝 모델을 통해 상기 아이템 시퀀스로부터 다음 소비 아이템을 예측함으로써 상기 사용자를 위한 추천 아이템을 결정하는 단계를 포함하고,
상기 딥러닝 모델의 학습 과정은:
상기 아이템 소비 이력 데이터에서 복수의 아이템 시퀀스 샘플들을 추출하는 단계;
상기 복수의 아이템 시퀀스 샘플들 중 특정 아이템 시퀀스 샘플에서 인기도가 기준치 이상인 아이템을 제거함으로써 상기 다음 소비 아이템 예측 태스크를 위한 트레이닝셋을 생성하는 단계; 및
상기 트레이닝셋을 이용하여 상기 다음 소비 아이템 예측 태스크를 수행함으로써 상기 딥러닝 모델을 학습시키는 단계를 포함하는,
기계학습 기반 추천 방법.
A method performed by at least one computing device, comprising:
Obtaining a sequence-to-sequence based deep learning model learned using the user's item consumption history data - the deep learning model was learned through a next consumption item prediction task -;
Obtaining information about the sequence of items consumed by the user; and
Determining a recommended item for the user by predicting the next consumption item from the item sequence through the deep learning model,
The learning process of the deep learning model is:
extracting a plurality of item sequence samples from the item consumption history data;
generating a training set for the next consumption item prediction task by removing an item whose popularity is higher than a reference value from a specific item sequence sample among the plurality of item sequence samples; and
Comprising training the deep learning model by performing the next consumption item prediction task using the training set,
Machine learning-based recommendation method.
제13항에 있어서,
상기 아이템 소비 이력 데이터는 제1 도메인의 아이템 소비 이력 데이터와 제2 도메인의 아이템 소비 이력 데이터를 포함하고,
상기 복수의 아이템 시퀀스 샘플들 중 적어도 일부는 상기 제1 도메인의 아이템과 상기 제2 도메인의 아이템을 포함하는,
기계학습 기반 추천 방법.
According to clause 13,
The item consumption history data includes item consumption history data of a first domain and item consumption history data of a second domain,
At least some of the plurality of item sequence samples include items of the first domain and items of the second domain,
Machine learning-based recommendation method.
제14항에 있어서,
상기 추천 아이템을 결정하는 단계는,
상기 딥러닝 모델을 통해 상기 제1 도메인에 속한 제1 다음 소비 아이템과 상기 제2 도메인에 속한 제2 다음 소비 아이템을 예측하는 단계; 및
상기 제1 다음 소비 아이템과 상기 제2 다음 소비 아이템 중에서 상기 추천 아이템을 결정하는 단계를 포함하는,
기계학습 기반 추천 방법.
According to clause 14,
The step of determining the recommended item is,
predicting a first next consumption item belonging to the first domain and a second next consumption item belonging to the second domain through the deep learning model; and
Comprising the step of determining the recommended item among the first next consumption item and the second next consumption item,
Machine learning-based recommendation method.
제14항에 있어서,
상기 추천 아이템을 결정하는 단계는,
상기 아이템 시퀀스에 포함된 개별 아이템의 정보에 기초하여 아이템 임베딩을 생성하는 단계; 및
상기 아이템 임베딩에 상기 개별 아이템의 도메인 식별코드를 반영하고 상기 딥러닝 모델에 입력하여 상기 다음 소비 아이템을 예측하는 단계를 포함하는,
기계학습 기반 추천 방법.
According to clause 14,
The step of determining the recommended item is,
generating item embeddings based on information on individual items included in the item sequence; and
Comprising the step of reflecting the domain identification code of the individual item in the item embedding and inputting it into the deep learning model to predict the next consumption item,
Machine learning-based recommendation method.
제13항에 있어서,
상기 아이템 소비 이력 데이터는 제1 도메인의 아이템 소비 이력 데이터와 제2 도메인의 아이템 소비 이력 데이터를 포함하고,
상기 아이템 시퀀스는 상기 제1 도메인의 아이템을 포함하며,
상기 추천 아이템을 결정하는 단계는,
상기 딥러닝 모델을 통해 상기 제2 도메인의 다음 소비 아이템을 예측함으로써 상기 추천 아이템을 결정하는 단계를 포함하는,
기계학습 기반 추천 방법.
According to clause 13,
The item consumption history data includes item consumption history data of a first domain and item consumption history data of a second domain,
The item sequence includes items of the first domain,
The step of determining the recommended item is,
Comprising determining the recommended item by predicting the next consumption item of the second domain through the deep learning model,
Machine learning-based recommendation method.
하나 이상의 프로세서; 및
상기 하나 이상의 프로세서에 의해 실행되는 컴퓨터 프로그램을 저장하는 메모리를 포함하고,
상기 컴퓨터 프로그램은:
사용자의 콘텐츠 소비 이력 데이터를 이용하여 학습된 시퀀스-투-시퀀스 기반의 딥러닝 모델을 획득하는 동작 - 상기 딥러닝 모델은 다음(next) 소비 콘텐츠 예측 태스크를 통해 학습된 것임 -;
상기 사용자가 소비한 콘텐츠 시퀀스에 대한 정보를 획득하는 동작; 및
상기 딥러닝 모델을 통해 상기 콘텐츠 시퀀스로부터 다음 소비 콘텐츠를 예측함으로써 상기 사용자를 위한 추천 콘텐츠를 결정하는 동작을 위한 인스트럭션들을 포함하며,
상기 딥러닝 모델의 학습 과정은:
상기 콘텐츠 소비 이력 데이터에서 복수의 콘텐츠 시퀀스 샘플들을 추출하는 동작;
상기 복수의 콘텐츠 시퀀스 샘플들 중 특정 콘텐츠 시퀀스 샘플에서 인기도가 기준치 이상인 콘텐츠를 제거함으로써 상기 다음 소비 콘텐츠 예측 태스크를 위한 트레이닝셋을 생성하는 동작; 및
상기 트레이닝셋을 이용하여 상기 다음 소비 콘텐츠 예측 태스크를 수행함으로써 상기 딥러닝 모델을 학습시키는 동작을 포함하는,
추천 시스템.
One or more processors; and
comprising a memory that stores a computer program executed by the one or more processors,
The computer program:
An operation of acquiring a sequence-to-sequence-based deep learning model learned using the user's content consumption history data - the deep learning model is learned through a next consumption content prediction task -;
Obtaining information about a content sequence consumed by the user; and
Includes instructions for determining recommended content for the user by predicting next consumption content from the content sequence through the deep learning model,
The learning process of the deep learning model is:
extracting a plurality of content sequence samples from the content consumption history data;
generating a training set for the next consumption content prediction task by removing content whose popularity is higher than a threshold value from a specific content sequence sample among the plurality of content sequence samples; and
Comprising the operation of training the deep learning model by performing the next consumption content prediction task using the training set,
Recommendation system.
하나 이상의 프로세서; 및
상기 하나 이상의 프로세서에 의해 실행되는 컴퓨터 프로그램을 저장하는 메모리를 포함하고,
상기 컴퓨터 프로그램은:
사용자의 아이템 소비 이력 데이터를 이용하여 학습된 시퀀스-투-시퀀스 기반의 딥러닝 모델을 획득하는 동작 - 상기 딥러닝 모델은 다음(next) 소비 아이템 예측 태스크를 통해 학습된 것임 -;
상기 사용자가 소비한 아이템 시퀀스에 대한 정보를 획득하는 동작; 및
상기 딥러닝 모델을 통해 상기 아이템 시퀀스로부터 다음 소비 아이템을 예측함으로써 상기 사용자를 위한 추천 아이템을 결정하는 동작을 위한 인스트럭션들을 포함하며,
상기 딥러닝 모델의 학습 과정은:
상기 아이템 소비 이력 데이터에서 복수의 아이템 시퀀스 샘플들을 추출하는 동작;
상기 복수의 아이템 시퀀스 샘플들 중 특정 아이템 시퀀스 샘플에서 인기도가 기준치 이상인 아이템을 제거함으로써 상기 다음 소비 아이템 예측 태스크를 위한 트레이닝셋을 생성하는 동작; 및
상기 트레이닝셋을 이용하여 상기 다음 소비 아이템 예측 태스크를 수행함으로써 상기 딥러닝 모델을 학습시키는 동작을 포함하는,
추천 시스템.
One or more processors; and
comprising a memory that stores a computer program executed by the one or more processors,
The computer program:
An operation of acquiring a sequence-to-sequence based deep learning model learned using the user's item consumption history data - the deep learning model is learned through a next consumption item prediction task -;
Obtaining information about a sequence of items consumed by the user; and
Includes instructions for determining a recommended item for the user by predicting the next consumption item from the item sequence through the deep learning model,
The learning process of the deep learning model is:
extracting a plurality of item sequence samples from the item consumption history data;
generating a training set for the next consumption item prediction task by removing an item whose popularity is higher than a threshold value from a specific item sequence sample among the plurality of item sequence samples; and
Including the operation of training the deep learning model by performing the next consumption item prediction task using the training set,
Recommendation system.
KR1020230036443A 2023-03-21 2023-03-21 Recommending method based on machine-learning and system thereof KR102619044B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230036443A KR102619044B1 (en) 2023-03-21 2023-03-21 Recommending method based on machine-learning and system thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230036443A KR102619044B1 (en) 2023-03-21 2023-03-21 Recommending method based on machine-learning and system thereof

Publications (1)

Publication Number Publication Date
KR102619044B1 true KR102619044B1 (en) 2023-12-27

Family

ID=89377542

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230036443A KR102619044B1 (en) 2023-03-21 2023-03-21 Recommending method based on machine-learning and system thereof

Country Status (1)

Country Link
KR (1) KR102619044B1 (en)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180042934A (en) * 2016-10-19 2018-04-27 삼성에스디에스 주식회사 Method, Apparatus and System for Recommending Contents
KR20180121466A (en) * 2017-04-06 2018-11-07 네이버 주식회사 Personalized product recommendation using deep learning
KR20190066332A (en) * 2017-12-05 2019-06-13 아주대학교산학협력단 Apparatus for generating of Potassium level determination model using ECG and method thereof
KR20190070625A (en) * 2017-12-13 2019-06-21 한국전자통신연구원 Method and apparatus for recommending item using metadata
KR20190088131A (en) * 2018-01-05 2019-07-26 주식회사 라온랩 Deep learning module and curation system therewith for customized travel goods recommendation
KR102352954B1 (en) * 2021-05-31 2022-01-19 주식회사 아미크 Real-time Abnormal Insider Event Detection on Enterprise Resource Planning Systems via Predictive Auto-regression Model
KR20220064833A (en) * 2020-11-12 2022-05-19 주식회사 엔씨소프트 Apparatus and method for embedding item
KR20220066475A (en) * 2020-11-16 2022-05-24 엔에이치엔 주식회사 Device and system for deep learning-based optical character recognition
KR20220080563A (en) 2020-12-07 2022-06-14 김진수 Content recommendation method and system using hybrid collaborative filtering
KR102476499B1 (en) * 2021-11-18 2022-12-12 주식회사 티맥스에이아이 Techniques for providing similar content
KR20230012953A (en) * 2021-07-16 2023-01-26 모셔널 에이디 엘엘씨 Machine learning-based framework for drivable surface annotation

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180042934A (en) * 2016-10-19 2018-04-27 삼성에스디에스 주식회사 Method, Apparatus and System for Recommending Contents
KR20180121466A (en) * 2017-04-06 2018-11-07 네이버 주식회사 Personalized product recommendation using deep learning
KR20190066332A (en) * 2017-12-05 2019-06-13 아주대학교산학협력단 Apparatus for generating of Potassium level determination model using ECG and method thereof
KR20190070625A (en) * 2017-12-13 2019-06-21 한국전자통신연구원 Method and apparatus for recommending item using metadata
KR20190088131A (en) * 2018-01-05 2019-07-26 주식회사 라온랩 Deep learning module and curation system therewith for customized travel goods recommendation
KR20220064833A (en) * 2020-11-12 2022-05-19 주식회사 엔씨소프트 Apparatus and method for embedding item
KR20220066475A (en) * 2020-11-16 2022-05-24 엔에이치엔 주식회사 Device and system for deep learning-based optical character recognition
KR20220080563A (en) 2020-12-07 2022-06-14 김진수 Content recommendation method and system using hybrid collaborative filtering
KR102352954B1 (en) * 2021-05-31 2022-01-19 주식회사 아미크 Real-time Abnormal Insider Event Detection on Enterprise Resource Planning Systems via Predictive Auto-regression Model
KR20230012953A (en) * 2021-07-16 2023-01-26 모셔널 에이디 엘엘씨 Machine learning-based framework for drivable surface annotation
KR102476499B1 (en) * 2021-11-18 2022-12-12 주식회사 티맥스에이아이 Techniques for providing similar content

Similar Documents

Publication Publication Date Title
CN110781321B (en) Multimedia content recommendation method and device
US9934515B1 (en) Content recommendation system using a neural network language model
US10769189B2 (en) Computer speech recognition and semantic understanding from activity patterns
CN110263244B (en) Content recommendation method, device, storage medium and computer equipment
US11539992B2 (en) Auto-adjust playback speed and contextual information
CN111966914B (en) Content recommendation method and device based on artificial intelligence and computer equipment
CN110717099B (en) Method and terminal for recommending film
CN107463701B (en) Method and device for pushing information stream based on artificial intelligence
WO2017197806A1 (en) Method for providing intelligent service, intelligent service system and intelligent terminal based on artificial intelligence
KR102066773B1 (en) Method, apparatus and system for content recommendation
CN111046286A (en) Object recommendation method and device and computer storage medium
WO2021139415A1 (en) Data processing method and apparatus, computer readable storage medium, and electronic device
US20210097372A1 (en) Co-Informatic Generative Adversarial Networks for Efficient Data Co-Clustering
CN112235641A (en) Video recommendation mode, device, equipment and storage medium
CN115238126A (en) Method, device and equipment for reordering search results and computer storage medium
CN115618101A (en) Streaming media content recommendation method and device based on negative feedback and electronic equipment
CN118119954A (en) Hint adjustment using one or more machine learning models
US20210201208A1 (en) System and methods for machine learning training data selection
CN110807693A (en) Album recommendation method, device, equipment and storage medium
CN115152242A (en) Machine learning management of videos for selection and display
CN114817692A (en) Method, device and equipment for determining recommended object and computer storage medium
KR102619044B1 (en) Recommending method based on machine-learning and system thereof
US20170078750A1 (en) Forecasting and guidance of content consumption
Liu et al. Cost-effective Modality Selection for Video Popularity Prediction
KR102679131B1 (en) Method for recommending contents and system thereof

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant