KR102619044B1 - Recommending method based on machine-learning and system thereof - Google Patents
Recommending method based on machine-learning and system thereof Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 125
- 238000010801 machine learning Methods 0.000 title claims abstract description 32
- 238000013136 deep learning model Methods 0.000 claims abstract description 193
- 238000012549 training Methods 0.000 claims description 41
- 230000002787 reinforcement Effects 0.000 claims description 28
- 230000008569 process Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 13
- 230000004931 aggregating effect Effects 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 21
- 238000004891 communication Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 10
- 238000000746 purification Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 239000013598 vector Substances 0.000 description 5
- 230000001684 chronic effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004140 cleaning Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 238000012552 review Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000001151 other effect Effects 0.000 description 2
- 235000019640 taste Nutrition 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/466—Learning process for intelligent management, e.g. learning user preferences for recommending movies
- H04N21/4668—Learning process for intelligent management, e.g. learning user preferences for recommending movies for recommending content, e.g. movies
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
본 개시는 기계학습 기법을 이용하여 다양한 도메인의 아이템들(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.
본 개시의 몇몇 실시예들을 통해 해결하고자 하는 기술적 과제는, 사용자가 선호하는 맞춤형 콘텐츠를 정확하게 추천할 수 있는 방법 및 그 방법을 수행하는 시스템을 제공하는 것이다.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
도 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
이해의 편의를 제공하기 위해, 추천 시스템(10)에 앞서 콘텐츠 서비스 시스템(11)과 사용자 단말(12)에 대해 먼저 설명하도록 한다.To provide convenience of understanding, the
콘텐츠 서비스 시스템(11)은 사용자에게 콘텐츠 서비스를 제공하는 컴퓨팅 장치/시스템일 수 있다. 가령, 콘텐츠 서비스 시스템(11)은 기 등록된 콘텐츠들 중에서 요청된 콘텐츠를 사용자 단말(12)로 스트리밍하는 시스템(플랫폼)일 수 있다. 이러한 경우에 한하여, 콘텐츠 서비스 시스템(11)은 '콘텐츠 스트리밍 시스템(플랫폼)', '콘텐츠 스트리밍 서버' 등과 같이 명명될 수도 있다. 콘텐츠 서비스 시스템(11)은 어떠한 형태로 구현되더라도 무방하다.The
서비스(제공)되는 콘텐츠는 예를 들어 비디오(영상), 이미지, 오디오(음성), 텍스트, 멀티미디어 등과 같이 다양한 형태를 가질 수 있으며, 어떠한 형태가 되더라도 무방하다. 또한, 서비스되는 콘텐츠는 예를 들어 영화, 드라마, 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
사용자는 단말(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
참고로, 도 1은 콘텐츠 서비스 시스템(11)과 추천 시스템(10)이 서로 별개의 물리적 컴퓨팅 장치/시스템에서 구현되는 것처럼 도시하고 있으나, 경우에 따라 두 시스템들(10, 11)은 동일한 물리적 컴퓨팅 장치/시스템 내에서 서로 통합된 형태로 구현될 수도 있다. 가령, 추천 시스템(10)이 콘텐츠 서비스 시스템(11) 내에서 모듈의 형태로 구현될 수도 있다.For reference, Figure 1 shows the
또한, 상술한 바와 같이, 도 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
추천 시스템(10)은 기계학습(machine-learning) 모델을 이용하여 사용자를 위한 추천 콘텐츠(e.g., 맞춤형 콘텐츠)를 결정할 수 있다. 다만, 그 구체적인 방식은 실시예에 따라 달라질 수 있다.The
몇몇 실시예들에서는, 도 2에 도시된 바와 같이, 추천 시스템(10)이 강화학습 모델(20)을 통해 추천 콘텐츠를 결정할 수 있다. 가령, 추천 시스템(10)은 강화학습 모델(20)을 통해 추천 콘텐츠를 결정하고, 이에 대한 사용자의 피드백 정보를 이용하여 강화학습 모델(20)을 업데이트(학습)하며, 업데이트된 모델(20)을 통해 다시 추천 콘텐츠를 결정하는 과정을 반복적으로 수행할 수 있다. 이러한 과정이 반복됨에 따라 강화학습 모델(20)이 사용자 맞춤형 콘텐츠를 보다 정확하게 추천할 수 있게 된다.In some embodiments, as shown in FIG. 2, the
피드백(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
예를 들어, 추천 콘텐츠를 선택 또는 재생하기까지 소요된 시간이 짧을수록 리워드는 더 높은 값으로 산정될 수 있다.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
강화학습 모델(20)은 예를 들어 MAB(Multi-Armed Bandits) 알고리즘에 기반하여 동작하는 모델일 수 있다. 보다 구체적인 예를 들면, 강화학습 모델(20)은 톰슨 샘플링(Thompson sampling), UCB(Upper Confidence Bound), ε-그리디 알고리즘 등에 기반하여 동작하는 모델일 수 있다. 그러나, 본 개시의 범위가 이에 한정되는 것은 아니다. 당해 기술 분야의 종사자라면, 예시된 알고리즘/모델의 동작 원리와 방식에 대해 이미 숙지하고 있을 것인 바, 이들에 대한 설명은 생략하도록 한다.The
다른 몇몇 실시예들에서는, 도 3에 도시된 바와 같이, 추천 시스템(10)이 딥러닝 모델(30)을 통해 추천 콘텐츠를 결정할 수 있다. 가령, 추천 시스템(10)은 사용자의 콘텐츠 소비 이력 데이터(31)를 이용하여 딥러닝 모델(30)을 학습시킬 수 있다. 그리고, 추천 시스템(10)은 학습된 딥러닝 모델(30)을 통해 해당 사용자의 최근 소비 콘텐츠들로부터 다음(next) 소비 콘텐츠를 예측함으로써 추천 콘텐츠를 결정할 수 있다. 딥러닝 모델(30)은 콘텐츠 소비 이력 데이터(31)에 내재된 사용자의 순차적인(sequential) 소비 패턴을 학습함으로써 정확하게 다음 소비 콘텐츠를 예측할 수 있는데, 이에 대해서는 추후 도 9 이하의 도면들을 참조하여 상세하게 설명하도록 한다.In some other embodiments, as shown in FIG. 3, the
또 다른 몇몇 실시예들에서는, 상술한 실시예들의 다양한 조합에 기초하여 추천 콘텐츠가 결정될 수도 있다. 가령, 추천 시스템(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
한편, 몇몇 실시예들에서는, 추천 시스템(10)이 사용자에게 멀티(크로스) 도메인 추천 서비스를 제공할 수도 있다. 가령, 추천 시스템(10)은 서로 다른 도메인에서 생성된 사용자의 이력 데이터를 수집하고 이를 학습하여 멀티 도메인 추천 서비스를 제공할 수 있다. 이러한 경우, 모델 학습에 필요한 데이터가 빠르게 준비될 수 있기 때문에, 추천 분야의 고질적인 문제 중 하나인 콜드-스타트(cold start) 문제가 용이하게 해결될 수 있다. 보다 이해의 편의를 제공하기 위해, 도 4 및 도 5를 참조하여 본 실시예들에 대하여 부연 설명하도록 한다.Meanwhile, in some embodiments, the
도 4에 도시된 바와 같이, 추천 시스템(10)은 다수의 도메인들(D1 내지 D3 참고)에서 생성되는 사용자의 이력 데이터들(41 내지 43)을 수집할 수 있다. 예를 들어, 추천 시스템(10)은 각 도메인의 서비스 시스템들(e.g., 11 등)을 통해 사용자에 대한 다양한 이력 데이터들(41 내지 43)을 수집할 수 있다. 그러나, 본 개시의 범위가 이에 한정되는 것은 아니며, 도메인별 이력 데이터를 수집하는 방식은 어떠한 방식이 되더라도 무방하다.As shown in FIG. 4, the
도메인은 예를 들어 추천 대상 아이템의 유형, 아이템과 관련된 서비스(또는 앱)의 유형 등에 기초하여 구분될 수 있을 것이나, 본 개시의 범위가 이에 한정되는 것은 아니다. 도 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
딥러닝 모델을 통해 멀티 도메인 추천을 수행하는 방법에 대해서는 추후 도 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
컴퓨팅 장치는 컴퓨팅 기능을 구비한 임의의 장치를 모두 포함할 수 있으며, 이러한 장치의 일 예시에 대해서는 도 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
지금까지 도 1 내지 도 5를 참조하여 본 개시의 몇몇 실시예들에 따른 추천 시스템(10)의 예시적인 동작 환경에 대하여 개략적으로 설명하였다. 이하에서는, 도 6 내지 도 8을 참조하여 본 개시의 몇몇 실시예들에 따른 추천 콘텐츠 제공(노출) 방식과 사용자 피드백 정보의 예시에 대하여 간략하게 설명하도록 한다.So far, an exemplary operating environment of the
이하에서는, 본 개시의 명료함을 위해, 도면을 직접적으로 참조하지 않는 경우에는 모델들(20, 30)의 참조번호가 생략될 수 있으며, 실시예에 따라 모델들(20, 30)의 참조번호가 변경될 수 있다.Hereinafter, for clarity of the present disclosure, the reference numbers of the
도 6은 본 개시의 몇몇 실시예들에 따라 콘텐츠 서비스 페이지들 중 프로필 선택 페이지(60)를 통해 추천 콘텐츠가 제공되는 경우를 예시하고 있다. 프로필 선택 페이지(60)는 예를 들어 로그인 성공 시에 사용자 단말(12)에 표시되는 페이지(화면)일 수 있으나(e.g., 콘텐츠 서비스가 멀티-프로필을 지원하는 경우), 본 개시의 범위가 이에 한정되는 것은 아니다.FIG. 6 illustrates a case where recommended content is provided through a
도 6에 예시된 바와 같이, 추천 시스템(10)에 의해 결정된 추천 콘텐츠는 프로필 선택 페이지(60)의 히어로 영역(64)에 표시될 수 있다. 예를 들어, 추천 콘텐츠의 스틸 이미지, 숏 비디오(클립), 텍스트 등의 정보가 히어로 영역(64)에 표시될 수 있다. 그러나, 본 개시의 범위가 이에 한정되는 것은 아니다.As illustrated in FIG. 6 , recommended content determined by the
참고로, 히어로 영역(64)은 해당 페이지(60)에서 상대적으로 큰 비중을 차지하는 영역 또는 시각적으로 두드러지는 영역을 의미할 수 있다. 당해 기술 분야의 종사자라면, 히어로 영역의 개념에 대해 이미 숙지하고 있을 것인 바, 이에 대한 설명은 생략하도록 한다.For reference, the
본 실시예들에서, 추천 시스템(10)은 사용자의 로그인 정보를 이용하여 해당 사용자(또는 사용자의 유형)에 대응되는 기계학습 모델(즉, 맞춤형/개인화된 기계학습 모델)을 선택하고, 선택된 기계학습 모델을 이용하여 추천 콘텐츠를 결정할 수 있다. 또는, 추천 시스템(10)이 해당 사용자의 유형 정보를 기계학습 모델에 입력(피딩(feeding)함으로써(즉, 명시적으로 제공함) 맞춤형 추천을 수행할 수도 있다.In these embodiments, the
다수의 프로필들(61 내지 66)은 사용자와 1:1 대응될 수도 있고, 그렇지 않을 수도 있다. 다만, 이하에서는, 이해의 편의를 제공하기 위해, 하나의 프로필(e.g., 61)이 한 명의 사용자를 의미하는 것으로 가정하도록 한다.
도 7는 본 개시의 몇몇 실시예들에 따라 콘텐츠 서비스 페이지들 중 메인 서비스 페이지(70)에 추천 콘텐츠가 표시되는 경우를 도시하고 있다. 메인 서비스 페이지(70)는 예를 들어 프로필(e.g., 61) 선택 또는 로그인 성공 시에 사용자 단말(12)에 표시되는 페이지(화면)일 수 있으나, 본 개시의 범위가 이에 한정되는 것은 아니다.FIG. 7 illustrates a case where recommended content is displayed on the
도 7에 도시된 바와 같이, 메인 서비스 페이지(70)는 카테고리 메뉴 영역(71), 히어로 영역(72), 기타 콘텐츠 영역(e.g., 73)을 포함할 수 있다. 또한, 메인 서비스 페이지(70)는 추천 콘텐츠의 대표 정보 영역(75), 재생하기 버튼(76), 콘텐츠 인디케이터(77) 등을 더 포함할 수도 있다. 메인 서비스 페이지(70)는 카테고리, 토픽 등에 따른 콘텐츠 탐색 기능을 제공할 수 있고 콘텐츠 검색 기능(75 참조), 프로필 변경 기능(74 참고) 등을 더 제공할 수도 있다.As shown in FIG. 7, the
상술한 바와 유사하게, 추천 콘텐츠는 메인 서비스 페이지(70)의 히어로 영역(72)에 표시될 수 있다. 또한, 히어로 영역(72) 근처에 추천 콘텐츠의 대표 정보(75, e.g., 제목, 장르, 출연 배우 등)가 함께 표시될 수도 있다.Similar to what was described above, recommended content may be displayed in the
참고로, 콘텐츠 인디케이터(77)는 추천 콘텐츠들에 대한 탐색 기능과 추천 콘텐츠의 전체 개수(e.g., 6개)를 알리는 용도를 갖는 것으로 이해될 수 있다.For reference, the
이러한 페이지(70)에서, 콘텐츠 재생 관련 피드백 정보는 예를 들어 사용자가 재생하기 버튼(76)을 선택한 경우에 생성될 수 있다.In this
또한, 콘텐츠 선택 관련 피드백 정보는 예를 들어 사용자가 추천 콘텐츠의 대표 정보 영역(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
도 8은 본 개시의 몇몇 실시예들에 따른 콘텐츠 페이지(80)를 예시하고 있다. 콘텐츠 페이지(80)는 예를 들어 사용자가 해당 콘텐츠를 선택(e.g., 히어로 영역 72 선택 등)한 경우에 사용자 단말(12)에 표시되는 페이지(화면)일 수 있으나, 본 개시의 범위가 이에 한정되는 것은 아니다.8 illustrates a
도 8에 도시된 바와 같이, 콘텐츠 페이지(80)는 카테고리 메뉴 영역(71), 히어로 영역(81), 콘텐츠 상세 정보 영역(82) 등을 포함할 수 있다. 또한, 콘텐츠 페이지(80)는 재생하기 버튼(83), 찜하기 버튼(84), 공유하기 버튼(85) 등을 더 포함할 수 있다. 히어로 영역(81)에는 해당 페이지(80)의 콘텐츠가 표시될 수 있다.As shown in FIG. 8, the
이러한 페이지(80)에서, 콘텐츠 재생 관련 피드백 정보는 예를 들어 사용자가 재생하기 버튼(83)을 선택한 경우에 생성될 수 있다. 물론, 사용자가 콘텐츠를 시청하거나 완료한 경우에도, 일시정지횟수, 총 재생(시청) 시간과 같은 피드백 정보가 생성될 수 있다.In this
또한, 찜하기 버튼(84), 공유하기 버튼(88)을 통해 찜하기와 공유하기 관련 피드백 정보도 생성될 수 있다.Additionally, feedback information related to saving and sharing can also be generated through the saving
지금까지 도 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
도 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
콘텐츠 소비 이력 데이터는 사용자가 소비한 콘텐츠에 대한 다양한 정보를 제한없이 포함할 수 있다. 예를 들어, 콘텐츠 소비 이력 데이터는 소비된 콘텐츠의 정보(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
경우에 따라, 추천 시스템(10)은 다수의 사용자들의 콘텐츠 소비 이력 데이터들을 이용하여 범용적인 추천을 위한 딥러닝 모델을 더 구축할 수도 있다. 또한, 추천 시스템(10)은 다수의 사용자들의 콘텐츠 소비 이력 데이터와 특정 사용자(또는 특정 유형의 사용자)의 콘텐츠 소비 이력 데이터를 함께 이용(e.g., 적절한 비율로 조합)하여 특정 사용자(또는 특정 유형의 사용자)를 위한 딥러닝 모델(즉, 맞춤형 추천 모델)을 구축할 수도 있다. 이 경우, 딥러닝 모델의 트레이닝셋이 빠르게 준비될 수 있기 때문에, 콜드-스타트 문제가 크게 완화될 수 있다.In some cases, the
추천 시스템(10)은 트레이닝셋의 품질 향상(또는 딥러닝 모델의 성능 향상)을 위해 콘텐츠 소비 이력 데이터(또는 트레이닝셋)에 대해 다양한 정제(cleaning) 처리를 수행할 수 있다. 다만, 그 구체적인 방식은 실시예에 따라 달라질 수 있다.The
몇몇 실시예들에서는, 추천 시스템(10)이 시간적 연관성(또는 거리), 콘텐츠 유사도 등을 기초로 하나의 콘텐츠 시퀀스 샘플을 다수의 서브 시퀀스 샘플들로 분할할 수 있다(또는 서브 시퀀스 샘플들을 추출함). 가령, 추천 시스템(10)은 콘텐츠 시퀀스 샘플에서 일정 기간 내에 소비된 콘텐츠들을 하나의 서브 시퀀스샘플로 추출할 수 있다(e.g., 3일 동안 소비된 콘텐츠들을 하나의 서브 시퀀스 샘플로 추출함). 다른 예로서, 추천 시스템(10)은 콘텐츠 시퀀스 샘플을 주중 소비 시퀀스 샘플과 주말 소비 시퀀스 샘플로 분할할 수 있다. 또 다른 예로서, 추천 시스템(10)은 콘텐츠 시퀀스 샘플에서 두 콘텐츠들 사이의 시간 거리가 기준치 이상인 지점을 결정하고 해당 지점을 기준으로 해당 콘텐츠 시퀀스 샘플을 다수의 서브 시퀀스 샘플들로 분할할 수 있다.In some embodiments,
다른 몇몇 실시예들에서는, 추천 시스템(10)이 콘텐츠 시퀀스 샘플에서 소비(재생) 시간이 기준치 미만인 콘텐츠를 제거할 수 있다. 그러한 콘텐츠는 사용자의 선호도에 부합하지 않을 가능성이 높기 때문이다.In some other embodiments,
또 다른 몇몇 실시예들에서는, 추천 시스템(10)이 길이가 긴 콘텐츠 시퀀스(이하, '롱 시퀀스'로 약칭될 수도 있음) 샘플을 적절한 길이로 가공할 수 있다. 본 실시예들에 대해서는 추후 도 15를 참조하여 부연 설명하도록 한다.In some other embodiments, the
또 다른 몇몇 실시예들에서는, 추천 시스템(10)이 콘텐츠 시퀀스 샘플에서 인기도가 기준치 이상인 콘텐츠(이하, '메가 콘텐츠'로 약칭될 수도 있음)를 제거할 수 있다. 본 실시예들에 대해서는 추후 도 16을 참조하여 보다 상세하게 설명하도록 한다.In some other embodiments, the
또 다른 몇몇 실시예들에서는, 상술한 실시예들의 다양한 조합에 기초하여 데이터 정제가 수행될 수도 있다.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
도 10 내지 도 12는 본 개시의 몇몇 실시예들에 따른 딥러닝 모델(100)의 동작 및 구현 방식을 설명하기 위한 예시적인 도면이다.10 to 12 are exemplary diagrams for explaining the operation and implementation method of the
도 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
상술한 딥러닝 모델(100)은 다양한 방식으로 설계/구현될 수 있다.The
예를 들어, 도 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
다른 예로서, 도 12에 도시된 바와 같이, 딥러닝 모델(100)은 RNN(Recurrent Neural Network)에 기반하여 설계/구현될 수 있다. 가령, 딥러닝 모델(100)은 복수의 RNN 블록들(e.g., 121, 122)를 포함하여 구성될 수 있다. 이러한 구조의 딥러닝 모델(100)도 콘텐츠 시퀀스에 내재된 소비 패턴을 정확하게 포착하여 학습할 수 있다.As another example, as shown in FIG. 12, the
또 다른 예로서, 딥러닝 모델(100)은 상술한 예시들과 다른 방식으로 설계/구현될 수도 있다.As another example, the
이하에서는, 도 13을 참조하여 딥러닝 모델(100)의 구조와 학습 방법에 대하여 설명하도록 한다.Below, the structure and learning method of the
도 13에 도시된 바와 같이, 딥러닝 모델(100)은 임베딩 레이어(132), 분석기(131) 및 예측 레이어(133)를 포함하여 구성될 수 있다. 경우에 따라, 딥러닝 모델(100)은 일부 레이어(모듈)을 더 포함하거나 일부 레이어(모듈)가 생략된 형태로 구성될 수도 있다.As shown in FIG. 13, the
임베딩 레이어(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
참고로, 상술한 임베딩은 임베딩(잠재) 공간에서의 표현을 의미하고 벡터 형식을 갖는 것이 보통이므로, 경우에 따라 '임베딩 표현(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
몇몇 실시예들에서는, 콘텐츠의 소비 순서(즉, 콘텐츠 시퀀스 내에서 해당 콘텐츠의 순서/위치) 정보에 대한 코드(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
다음으로, 분석기(131)는 입력된 콘텐츠 시퀀스의 임베딩들(e.g., 135)을 분석하는 신경망 모듈로서, 도 11 및 도 12를 참조하여 설명한 바와 같이 트랜스포머 디코더, RNN 블록 등에 기초하여 구현될 수 있다. 가령, 분석기(131)는 입력된 콘텐츠 임베딩들(e.g., 135)의 연관성을 분석하고(e.g., 소비된 콘텐츠 간의 연관성을 분석함) 분석 결과를 종합하여 매 스텝(시점)마다 콘텐츠 임베딩(e.g., 136)을 출력할 수 있다. 출력된 콘텐츠 임베딩(e.g., 136)은 미리 정의된 예측 태스크를 수행하는데 이용될 수 있다.Next, the
다음으로, 예측 레이어(133)는 미리 정의된 예측 태스크를 수행하는 레이어(모듈)를 의미할 수 있다. 가령, 예측 레이어(133)는 특정 스텝(시점)의 출력 콘텐츠 임베딩(e.g., 136)을 입력받아 예측 태스크를 수행할 수 있다. 도시된 바와 같이, 예측 레이어(133)가 다음 소비 콘텐츠 예측 태스크를 수행하는 레이어인 경우, 예측 레이어(133)는 콘텐츠별 컨피던스 스코어(137)를 출력하도록 구성될 수 있다.Next, the
예측 레이어(133)는 완전연결(또는 선형) 레이어, MLP 등에 기반하여 구현될 수 있다. 그러나, 본 개시의 범위가 이에 한정되는 것은 아니다. 예측 레이어(133)의 출력 형태는 관련된 태스크에 맞게 적절하게 구성될 수 있다.The
상술한 바와 같이, 딥러닝 모델(100)은 다음 소비 콘텐츠 예측 태스크를 통해 학습될 수 있다. 이러한 학습은 트레이닝셋에 포함된 콘텐츠 시퀀스 샘플들을 이용하여 수행될 수 있다. 구체적인 예를 들어, 추천 시스템(10)은 첫번째 스텝(시점)의 출력 콘텐츠 임베딩(136)을 예측 레이어(133)에 입력(피딩)하여 다음 소비 콘텐츠를 예측하고(즉, 컨피던스 스코어(137)를 산출함), 예측 결과(137)와 정답(즉, 사용자가 다음 순서로 소비한 실제 콘텐츠)의 차이에 기초하여 딥러닝 모델(100)의 가중치 파라미터들을 업데이트할 수 있다(e.g., 크로스엔트로피 손실을 기초로 예측 레이어(133), 분석기(131), 임베딩 레이어(132)를 업데이트함). 또한, 추천 시스템(10)은 다음 스텝(시점)의 출력 콘텐츠 임베딩(미도시)에 대해서도 동일한 태스크를 반복하여 수행할 수 있다. 그렇게 함으로써, 딥러닝 모델(100)이 콘텐츠 시퀀스에 내재된 사용자의 소비 패턴을 학습하여 다음 소비 콘텐츠를 정확하게 예측하는 능력을 구비하게 된다.As described above, the
학습의 효율성을 위해, 추천 시스템(10)은 티처 포싱(teacher forcing) 기법(즉, 이전 스텝의 예측 결과 대신에 정답을 입력하는 방식)을 통해 딥러닝 모델(100)을 학습시킬 수도 있다. 그러나, 본 개시의 범위가 이에 한정되는 것은 아니다. 당해 기술 분야의 종사자라면, 티처 포싱 기법에 대해 이미 숙지하고 있을 것인 바, 이에 대한 자세한 설명은 생략하도록 한다.For learning efficiency, the
한편, 몇몇 실시예들에서는, 추천 시스템(10)이 다음 소비 콘텐츠의 속성(특성)(e.g., 장르, 등장인물, 배우, 배경음악, 러닝타임 등)을 예측하는 태스크를 더 수행하여 딥러닝 모델(100)을 학습시킬 수도 있다. 가령, 추천 시스템(10)은 속성(특성)별 컨피던스 스코어를 출력하도록 구성된 별도의 예측 레이어를 통해 이러한 태스크를 더 수행할 수도 있다. 이 경우, 딥러닝 모델(100)의 성능이 더욱 향상될 수 있다.Meanwhile, in some embodiments, the
지금까지 도 10 내지 도 13을 본 개시의 몇몇 실시예들에 따른 딥러닝 모델(100)과 이의 학습 방법에 대하여 설명하였다.So far, the
다시 도 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
몇몇 실시예들에서는, 추천 시스템(10)이 사용자의 최근 콘텐츠 시퀀스에 대해서도 상술한 정제 처리(e.g., 메가 콘텐츠 제거, 소비 시간이 짧은 콘텐츠 제거, 롱 시퀀스의 길이 가공 등)를 수행할 수 있다. 그렇게 함으로써, 추천 정확도가 더욱 향상될 수 있다.In some embodiments, the
단계 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
몇몇 실시예들에서는, 추천 시스템(10)이 딥러닝 모델의 예측 레이어를 통해 기 등록된 복수의 콘텐츠들에 대한 컨피던스 스코어를 산출할 수 있다. 그리고, 추천 시스템(10)은 산출된 컨피던스 스코어가 기준치 이상인 적어도 하나의 콘텐츠를 추천 콘텐츠로 결정할 수 있다.In some embodiments, the
다른 몇몇 실시예들에서는, 추천 시스템(10)이 딥러닝 모델을 통해 오토리그레시브한 방식으로 다음 소비 콘텐츠에 대한 예측 과정을 반복하여 수행할 수 있다. 가령, 추천 시스템(10)은 이전 시점(스텝)의 예측 콘텐츠를 딥러닝 모델의 입력으로 이용하여 현재 시점(스텝)의 다음 소비 콘텐츠를 예측할 수 있고, 이러한 과정을 기 설정된 횟수만큼 반복하여 수행할 수 있다. 그 결과 복수의 추천 후보 콘텐츠들(즉, 예측된 콘텐츠들)이 도출될 수 있다. 그리고, 추천 시스템(10)은 복수의 추천 후보 콘텐츠들 중에서 추천 콘텐츠를 결정할 수 있다.In some other embodiments, the
또 다른 몇몇 실시예들에서는, 추천 시스템(10)이 딥러닝 모델을 통해 다음 소비 콘텐츠를 예측하고 예측된 콘텐츠와 이의 유사 콘텐츠(e.g., 동일한 배우가 등장하는 콘텐츠, 배경음악이 유사한 콘텐츠, 동일 장르의 콘텐츠 등)를 추천 콘텐츠로 결정할 수 있다.In some other embodiments, the
또 다른 몇몇 실시예들에서는, 상술한 실시예들의 다양한 조합에 기초하여 추천 콘텐츠가 결정될 수도 있다.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
한편, 추천 시스템(10)은 주기적으로 추천 콘텐츠를 결정할 수도 있고 비주기적으로 추천 콘텐츠를 결정할 수 있다.Meanwhile, the
예를 들어, 추천 시스템(10)은 기 설정된 시간 주기에 따라 새로운 추천 콘텐츠를 결정할 수 있다. 추천 시점이 도래하기 전에 사용자가 콘텐츠를 추가로 소비한 경우라면, 추천 시스템(10)은 추가 콘텐츠를 포함하는 최근 콘텐츠 시퀀스를 이용하여 현재 시점의 추천 콘텐츠를 결정할 수 있다(즉, 최근 콘텐츠 시퀀스도 주기적으로 업데이트될 수 있음). 반대의 경우라면, 추천 시스템(10)은 이전 시점의 추천 콘텐츠(e.g., 예측된 다음 소비 콘텐츠)를 입력으로 더 이용하여(즉, 오토리그레시브한 방식으로) 현재 시점의 추천 콘텐츠를 결정할 수 있다. 또는, 추천 시스템(10)은 이전 시점의 최근 콘텐츠 시퀀스를 다시 이용하여 현재 시점의 추천 콘텐츠를 결정할 수도 있다.For example, the
다른 예로서, 추천 시스템(10)은 사용자가 콘텐츠를 추가로 소비하는 등의 이벤트에 응답하여 추천 콘텐츠를 업데이트(즉, 다시 결정)할 수 있다.As another example,
또 다른 예로서, 추천 시스템(10)은 상술한 예시들의 다양한 조합에 기초하여 추천 콘텐츠를 결정할 수도 있다.As another example, the
한편, 본 개시의 몇몇 실시예들에 따르면, 추천 시스템(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
또한, 몇몇 실시예들에 따르면, 추천 시스템(10)이 강화학습 모델과 딥러닝 모델을 함께 이용하여 콘텐츠 추천을 수행할 수도 있다. 가령, 추천 시스템(10)은 제1 조건(상황) 하에서는 강화학습 모델을 통해 추천 콘텐츠를 결정하고 제2 조건(상황) 하에서는 딥러닝 모델을 통해 추천 콘텐츠를 결정할 수 있는데, 이에 대해서는 도 18의 설명 내용을 더 참고하도록 한다.Additionally, according to some embodiments, the
또한, 몇몇 실시예들에 따르면, 추천 시스템(10)이 서로 다른 도메인들에서 수집된 사용자의 이력 데이터를 이용하여 딥러닝 모델을 학습시키고 학습된 딥러닝 모델을 통해 멀티 도메인 추천을 수행할 수도 있는데, 이에 대해서는 도 20 내지 도 23을 참조하여 후술하도록 한다.Additionally, according to some embodiments, the
지금까지 도 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
예를 들어, 추천 시스템(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
경우에 따라, 추천 시스템(10)은 제목 이외에 다른 속성(특성) 정보(e.g., 장르, 등장인물, 배우, 배경음악, 러닝타임 등)를 콘텐츠 임베딩(148)에 더 애그리게이팅(반영)하여 콘텐츠(141)에 대한 최종 콘텐츠 임베딩을 생성할 수도 있다. 가령, 추천 시스템(10)은 속성(특성) 정보에 대한 임베딩을 콘텐츠 임베딩(148)을 애그리게이팅하여 최종 콘텐츠 임베딩을 생성할 수도 있다.In some cases, the
또한, 추천 시스템(10)은 사용자의 컨텍스트 정보(e.g., 단말 컨텍스트, 시간 컨텍스트 등)를 콘텐츠 임베딩(148)에 더 애그리게이팅(반영)하여 콘텐츠(141)에 대한 최종 콘텐츠 임베딩을 생성할 수도 있다. 가령, 추천 시스템(10)은 적절한 임베딩 기법을 통해 사용자의 컨텍스트 정보에 대한 임베딩을 생성하고, 생성된 임베딩과 콘텐츠 임베딩(148)을 애그리게이팅하여 최종 콘텐츠 임베딩을 생성할 수도 있다. 이러한 경우, 딥러닝 모델이 사용자의 컨텍스트 정보까지 고려하여 다음 소비 콘텐츠를 예측하게 되는 바, 딥러닝 모델의 성능이 더욱 향상될 수 있다.Additionally, the
지금까지 도 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
구체적으로, 추천 시스템(10)은 콘텐츠 시퀀스 샘플들 중에서 길이가 기준치 이상인 롱 시퀀스 샘플(151)를 식별할 수 있다. 그리고, 추천 시스템(10)은 롱 시퀀스 샘플(151)을 기준치 미만의 길이를 갖는 서브 시퀀스 샘플들(152, 153)로 분할할 수 있다. 가령, 추천 시스템(10)은 롱 시퀀스 샘플(151)에서 복수의 서브 시퀀스 샘플들(152, 153)을 추출할 수 있다. 여기서, 시퀀스의 분할(또는 추출)은 서브 시퀀스 샘플들(152, 153) 간에 중첩 콘텐츠(e.g., C)가 존재하는 방식으로 수행될 수도 있고, 그렇지 않을 수도 있다.Specifically, the
상술한 데이터 정제 방법은 추론 단계(즉, 실제 추천 단계)에서도 적용될 수 있다. 가령, 최근 콘텐츠 시퀀스의 길이가 기준치 이상인 경우, 추천 시스템(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
이하에서는, 도 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
구체적으로, 추천 시스템(10)은 콘텐츠 시퀀스 샘플(161)에서 기준치 이상의 인기도를 갖는 콘텐츠(162)를 제거할 수 있다(163 참고). 이러한 단순한 제거 처리를 통해서도 트레이닝셋의 품질이 크게 향상될 수 있다.Specifically, the
경우에 따라서는, 추천 시스템(10)이 인기도에 따른 가중 학습을 통해 메가 콘텐츠 관련 문제를 해결할 수도 있다. 가령, 추천 시스템(10)은 인기도에 따른 가중치를 반영하여 예측 손실(e.g., 크로스엔트로피 손실)을 조정하고(e.g., 메가 콘텐츠의 예측 손실에는 낮은 가중치를 반영하여 손실값을 감소시키고 반대의 경우에는 높은 가중치를 반영하여 손실값을 증폭시킴), 조정된 예측 손실에 기초하여 딥러닝 모델(e.g., 100)을 학습시킬 수도 있다.In some cases, the
상술한 데이터 정제 방법은 추론 단계(즉, 실제 추천 단계)에서도 적용될 수 있다. 가령, 추천 시스템(10)은 사용자의 최근 콘텐츠 시퀀스에서 메가 콘텐츠를 제거하고 나머지 시퀀스를 이용하여 다음 소비 콘텐츠를 예측할 수도 있다. 그렇게 함으로써, 추천 정확도가 더욱 향상될 수 있다.The above-described data purification method can also be applied at the inference stage (i.e., the actual recommendation stage). For example, the
지금까지 도 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,
도 17의 우측에 도시된 바와 같이, 신규 콘텐츠(D 참고)가 등록되는 경우, 추천 시스템(10)은 신규 콘텐츠에 대응되는 노드(174)를 활성화 상태로 변경할 수 있다. 그리고, 추천 시스템(10)은 신규 콘텐츠에 대한 사용자의 소비 이력 데이터를 이용하여 딥러닝 모델을 추가 학습하고 해당 딥러닝 모델을 이용하여 추천 콘텐츠를 결정할 수 있다. 이러한 경우, 딥러닝 모델에 대한 재구축(e.g., 초기화 후 재학습)이 수행될 필요가 없는 바, 모델 학습에 소요되는 시간 비용과 컴퓨팅 비용이 크게 절감될 수 있다.As shown on the right side of FIG. 17, when new content (see D) is registered, the
지금까지 도 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
도 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
구체적인 예를 들어, 사용자에 대한 콘텐츠 소비 이력 데이터의 양이 기준치 미만인 경우(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
또한, 예를 들어, 사용자에 대한 콘텐츠 소비 이력 데이터의 양이 기준치 이상인 경우, 추천 시스템(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
또한, 예를 들어, 추천 시스템(10)은 주기 또는 비주기적으로 딥러닝 모델(100)을 재구축하며 추천을 수행할 수도 있다(T3-T4 구간 참고). 딥러닝 모델(100)이 재구축되는 동안, 추천 시스템(10)은 강화학습 모델(180)을 이용하거나 랜덤하게 추천 콘텐츠를 결정할 수도 있다.Additionally, for example, the
또한, 예를 들어, 등록된 신규 콘텐츠들의 개수가 기준치 이상인 경우, 추천 시스템(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
지금까지 도 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
이하에서는, 도 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
도 19에 도시된 바와 같이, 딥러닝 모델(190)은 멀티 도메인의 아이템 시퀀스(e.g., 191)를 입력받아 멀티 도메인의 아이템 시퀀스(e.g., 192)를 출력하도록 구성될 수 있다. 그리고, 딥러닝 모델(190)도 오토리그레시브한 방식으로 출력 시퀀스를 구성하는 개별 아이템(e.g., 192)을 예측하도록 동작할 수 있다. 딥러닝 모델(190)은 상술한 딥러닝 모델(100)과 유사한 구조로 구성될 수 있다.As shown in FIG. 19, the
한편, 아이템(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
또 다른 몇몇 실시예들에서는, 도 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
다른 몇몇 실시예들에서는, 상술한 실시예들의 다양한 조합에 기초하여 아이템의 임베딩이 생성될 수 있다.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
예를 들어, 도 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
다른 예로서, 딥러닝 모델(190)은 제1 도메인에 대한 다음 소비 아이템 예측 태스크를 수행하는 제1 예측 레이어와 제2 도메인에 대한 다음 소비 아이템 예측 태스크를 수행하는 제2 예측 레이어를 포함하여 구성될 수 있다.As another example, the
또 다른 예로서, 도 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
상술한 딥러닝 모델(190)은 다음 소비 아이템 예측 태스크, 다음 도메인 예측 태스크 등을 통해 학습될 수 있다. 가령, 추천 시스템(10)은 멀티 도메인의 소비 이력 데이터에서 복수의 아이템 시퀀스 샘플들을 추출하여 트레이닝셋을 생성할 수 있다. 이때, 아이템 시퀀스 샘플에는 여러 도메인의 아이템들이 포함되어 있을 수 있다. 그리고, 추천 시스템(10)은 트레이닝셋을 이용하여 다음 소비 아이템 예측 태스크 등을 수행함으로써 딥러닝 모델(190)을 학습시킬 수 있다. 구체적인 학습 과정은 상술한 딥러닝 모델(100)과 유사한 바, 더 이상의 설명은 생략하도록 한다.The
학습이 완료되면, 추천 시스템(10)은 학습된 딥러닝 모델(190)을 이용하여 멀티 도메인 추천 서비스를 제공할 수 있다. 구체적으로, 추천 시스템(10)은 사용자의 최근 아이템 시퀀스를 딥러닝 모델(190)에 입력하여 다음 소비 아이템을 예측함으로써 추천 아이템을 결정할 수 있다. 다만, 그 구체적인 방식은 실시예에 따라 달라질 수 있다.Once learning is complete, the
몇몇 실시예들에서는, 추천 시스템(10)이 도메인 구분없이 컨피던스 스코어가 기준치 이상인 아이템들을 추천 아이템으로 결정할 수 있다. 가령, 도 22를 다시 참조하면, 추천 시스템(10)은 예측 레이어(221)에서 출력된 멀티 도메인 아이템들의 컨피던스 스코어(224)를 비교하여 기준치 이상의 컨피던스 스코어를 갖는 하나 이상의 아이템을 선별할 수 있다. 그리고, 추천 시스템(10)은 선별된 아이템을 추천 아이템으로 결정할 수 있다.In some embodiments, the
다른 몇몇 실시예들에서는, 추천 시스템(10)이 딥러닝 모델(190)을 통해 오토리그레시브한 방식으로 다음 소비 아이템에 대한 예측 과정을 반복하여 수행할 수 있다. 그리고, 추천 시스템(10)은 이러한 반복 과정을 통해 예측된 복수의 아이템들 중에서 추천 아이템을 결정할 수 있다.In some other embodiments, the
또 다른 몇몇 실시예들에서는, 추천 시스템(10)이 도메인별로 추천 아이템을 결정할 수 있다. 가령, 도 23을 다시 참조하면, 추천 시스템(10)은 제1 예측 레이어(232)에서 출력된 아이템들의 컨피던스 스코어(238-1)를 기초로 제1 도메인의 추천 아이템을 결정하고 제2 예측 레이어(233)에서 출력된 아이템들의 컨피던스 스코어(238-2)를 기초로 제2 도메인의 추천 아이템을 결정할 수 있다. 유사하게, 추천 시스템(10)은 제3 예측 레이어(234)에서 출력된 아이템들의 컨피던스 스코어(238-3)를 기초로 제3 도메인의 추천 아이템도 결정할 수 있다.In some other embodiments, the
또 다른 몇몇 실시예들에서는, 추천 시스템(10)이 사용자의 다음 도메인을 예측하고 예측된 도메인의 아이템들 중에서 추천 아이템을 결정할 수 있다. 가령, 도 23을 다시 참조하면, 추천 시스템(10)은 도메인 예측 레이어(231)를 통해 다음 도메인을 예측할 수 있다(e.g., D2 도메인 참고). 그리고, 추천 시스템(10)은 예측된 도메인에 속한 아이템들의 컨피던스 스코어(238-2)를 기초로 추천 아이템을 결정할 수 있다. 그렇게 함으로써, 추천 정확도가 더욱 향상될 수 있다.In some other embodiments, the
또 다른 몇몇 실시예들에서는, 상술한 실시예들의 다양한 조합에 기초하여 추천 아이템이 결정될 수도 있다.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
도 24는 컴퓨팅 장치(240)를 나타내는 예시적인 하드웨어 구성도이다.FIG. 24 is an exemplary hardware configuration diagram showing the
도 24에 도시된 바와 같이, 컴퓨팅 장치(240)는 하나 이상의 프로세서(241), 버스(243), 통신 인터페이스(244), 프로세서(241)에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리(242)와, 컴퓨터 프로그램(246)을 저장하는 스토리지(247)를 포함할 수 있다. 다만, 도 24에는 본 개시의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 개시가 속한 기술분야의 통상의 기술자라면 도 24에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 알 수 있다. 즉, 컴퓨팅 장치(240)에는, 도 24에 도시된 구성요소 이외에도 다양한 구성요소가 더 포함될 수 있다. 또한, 경우에 따라, 도 24에 도시된 구성요소들 중 일부가 생략된 형태로 컴퓨팅 장치(240)가 구성될 수도 있다. 이하, 컴퓨팅 장치(240)의 각 구성요소에 대하여 설명한다.As shown in FIG. 24, the
프로세서(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
다음으로, 메모리(242)는 각종 데이터, 명령 및/또는 정보를 저장할 수 있다. 메모리(242)는 본 개시의 실시예들에 따른 동작/방법을 실행하기 위하여 스토리지(247)로부터 컴퓨터 프로그램(246)을 로드할 수 있다. 메모리(242)는 RAM과 같은 휘발성 메모리로 구현될 수 있을 것이나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다.Next,
다음으로, 버스(243)는 컴퓨팅 장치(240)의 구성요소 간 통신 기능을 제공할 수 있다. 버스(243)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.Next,
다음으로, 통신 인터페이스(244)는 컴퓨팅 장치(240)의 유무선 인터넷 통신을 지원할 수 있다. 또한, 통신 인터페이스(244)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(244)는 본 개시의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.Next, the
다음으로, 스토리지(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
다음으로, 컴퓨터 프로그램(246)은 메모리(242)에 로드될 때 프로세서(241)로 하여금 본 개시의 다양한 실시예들에 따른 동작/방법을 수행하도록 하는 하나 이상의 인스트럭션을 포함할 수 있다. 즉, 프로세서(241)는 상기 하나 이상의 인스트럭션을 실행함으로써, 본 개시의 다양한 실시예들에 따른 동작/방법을 수행할 수 있다.Next, the
예를 들어, 컴퓨터 프로그램(246)은 사용자의 콘텐츠 소비 이력 데이터를 이용하여 다음 소비 콘텐츠 예측 태스크를 수행함으로써 학습된 시퀀스-투-시퀀스 기반의 딥러닝 모델을 획득하는 동작, 사용자가 소비한 콘텐츠 시퀀스에 대한 정보를 획득하는 동작 및 학습된 딥러닝 모델을 통해 콘텐츠 시퀀스로부터 다음 소비 콘텐츠를 예측함으로써 사용자를 위한 추천 콘텐츠를 결정하는 동작을 수행하도록 하는 인스트럭션들을 포함할 수 있다. 이와 같은 경우, 컴퓨팅 장치(240)를 통해 본 개시의 몇몇 실시예들에 따른 추천 시스템(10)이 구현될 수 있다.For example, the
한편, 몇몇 실시예들에서, 도 24에 도시된 컴퓨팅 장치(240)는 클라우드 기술에 기반하여 구현된 가상 머신을 의미하는 것일 수도 있다. 가령, 컴퓨팅 장치(240)는 서버 팜(server farm)에 포함된 하나 이상의 물리 서버(physical server)에서 동작하는 가상 머신일 수 있다. 이 경우, 도 24에 도시된 프로세서(241), 메모리(242) 및 스토리지(247) 중 적어도 일부는 가상 하드웨어(virtual hardware)일 수 있으며, 통신 인터페이스(244) 또한 가상 스위치(virtual switch) 등과 같은 가상화된 네트워킹 요소로 구현된 것일 수 있다.Meanwhile, in some embodiments, the
지금까지 도 24를 참조하여 본 개시의 몇몇 실시예들에 따른 추천 시스템(10)을 구현할 수 있는 예시적인 컴퓨팅 장치(240)에 대하여 설명하였다.So far, an
지금까지 도 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.
상기 추천 콘텐츠는 콘텐츠 서비스 페이지의 히어로 영역을 통해 상기 사용자에게 제공되는,
기계학습 기반 추천 방법.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.
상기 딥러닝 모델은 트랜스포머(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.
상기 다음 소비 콘텐츠 예측 태스크를 위한 트레이닝셋을 생성하는 단계는,
상기 복수의 콘텐츠 시퀀스 샘플들 중에서 길이가 기준치 이상인 콘텐츠 시퀀스 샘플을 선별하는 단계; 및
상기 선별된 콘텐츠 시퀀스 샘플을 상기 기준치 미만의 길이를 갖는 서브 시퀀스 샘플들로 분할함으로써 상기 다음 소비 콘텐츠 예측 태스크를 위한 상기 트레이닝셋을 생성하는 단계를 포함하는,
기계학습 기반 추천 방법.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.
상기 추천 콘텐츠를 결정하는 단계는,
상기 콘텐츠 시퀀스에 포함된 개별 콘텐츠의 식별코드에 기초하여 상기 개별 콘텐츠에 대한 콘텐츠 임베딩을 생성하는 단계; 및
상기 콘텐츠 임베딩을 상기 딥러닝 모델에 입력하여 상기 다음 소비 콘텐츠를 예측하는 단계를 포함하는,
기계학습 기반 추천 방법.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 임베딩을 생성하는 단계;
상기 개별 콘텐츠와 연관된 이미지에 기초하여 제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 콘텐츠 임베딩에 상기 개별 콘텐츠와 연관된 상기 사용자의 컨텍스트 정보를 반영하여 제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.
상기 추천 콘텐츠를 결정하는 단계는,
상기 콘텐츠 시퀀스에서 인기도가 기준치 이상인 콘텐츠를 제거하고 나머지 콘텐츠 시퀀스를 이용하여 상기 다음 소비 콘텐츠를 예측함으로써 상기 추천 콘텐츠를 결정하는 단계를 포함하는,
기계학습 기반 추천 방법.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.
상기 딥러닝 모델은 콘텐츠별 컨피던스 스코어를 출력하도록 구성된 예측 레이어를 포함하고,
상기 추천 콘텐츠를 결정하는 단계는,
상기 예측 레이어를 통해 기 등록된 복수의 콘텐츠들에 대한 컨피던스 스코어를 산출하는 단계; 및
상기 복수의 콘텐츠들 중에서 상기 컨피던스 스코어가 기준치 이상인 콘텐츠를 상기 추천 콘텐츠로 결정하는 단계를 포함하는,
기계학습 기반 추천 방법.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.
상기 추천 콘텐츠를 결정하는 단계는,
상기 딥러닝 모델을 통해 오토리그레시브(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.
상기 추천 콘텐츠를 결정하는 단계는,
상기 콘텐츠 소비 이력 데이터의 양이 기준치 이상인 경우, 상기 콘텐츠 소비 이력 데이터를 학습한 상기 딥러닝 모델을 통해 상기 추천 콘텐츠를 결정하는 단계를 포함하고,
상기 콘텐츠 소비 이력 데이터의 양이 기준치 미만인 경우에는 상기 사용자의 피드백을 학습한 강화학습 모델을 통해 상기 추천 콘텐츠가 결정되는,
기계학습 기반 추천 방법.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.
상기 아이템 소비 이력 데이터는 제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.
상기 추천 아이템을 결정하는 단계는,
상기 딥러닝 모델을 통해 상기 제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.
상기 추천 아이템을 결정하는 단계는,
상기 아이템 시퀀스에 포함된 개별 아이템의 정보에 기초하여 아이템 임베딩을 생성하는 단계; 및
상기 아이템 임베딩에 상기 개별 아이템의 도메인 식별코드를 반영하고 상기 딥러닝 모델에 입력하여 상기 다음 소비 아이템을 예측하는 단계를 포함하는,
기계학습 기반 추천 방법.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.
상기 아이템 소비 이력 데이터는 제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.
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)
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 |
-
2023
- 2023-03-21 KR KR1020230036443A patent/KR102619044B1/en active IP Right Grant
Patent Citations (11)
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 |