KR102129583B1 - Method and apparatus for recommending items based on deep learning - Google Patents
Method and apparatus for recommending items based on deep learning Download PDFInfo
- Publication number
- KR102129583B1 KR102129583B1 KR1020180016949A KR20180016949A KR102129583B1 KR 102129583 B1 KR102129583 B1 KR 102129583B1 KR 1020180016949 A KR1020180016949 A KR 1020180016949A KR 20180016949 A KR20180016949 A KR 20180016949A KR 102129583 B1 KR102129583 B1 KR 102129583B1
- Authority
- KR
- South Korea
- Prior art keywords
- item
- evaluation information
- items
- evaluation
- deep learning
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000013135 deep learning Methods 0.000 title claims abstract description 21
- 238000011156 evaluation Methods 0.000 claims abstract description 184
- 238000013136 deep learning model Methods 0.000 claims abstract description 61
- 238000012549 training Methods 0.000 claims description 5
- 238000001914 filtration Methods 0.000 description 8
- 239000000284 extract Substances 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization 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
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- 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/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0254—Targeted advertisements based on statistics
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Probability & Statistics with Applications (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
딥러닝 기반의 아이템 추천 방법을 개시한다. 본 발명의 일 실시예에 따른 복수의 사용자 각각이 복수의 아이템 중 적어도 하나를 평가한 평가결과값을 포함하는 정보인 초기평가정보를 이용하여 아이템을 추천하는 방법은 상기 초기평가정보에 대하여 사용자가 평가하지 않은 아이템인 미평가아이템에 대응되는 평가결과값으로 소정의 초기결과값을 입력하여, 갱신평가정보를 생성하는 단계; 상기 갱신평가정보 및 상기 갱신평가정보에서 상기 미평가아이템에 대응되는 오차에 적용되는 소정의 차등가중치에 기초하여, 딥러닝 모델(deep learning model)을 학습시키는 단계; 상기 딥러닝 모델 및 상기 초기평가정보에 기초하여, 상기 복수의 사용자가 상기 복수의 아이템을 평가한 결과를 예측하는 예측평가정보를 생성하는 단계; 및 상기 예측평가정보를 이용하여 상기 복수의 사용자 중 하나인 추천대상자에게 상기 복수의 아이템 중에서 복수의 추천아이템을 추천하는 단계를 포함한다.Disclosed is a method for recommending items based on deep learning. A method of recommending an item by using initial evaluation information, which is information including an evaluation result value in which each of a plurality of users evaluates at least one of a plurality of items according to an embodiment of the present invention, allows the user to Generating predetermined evaluation information by inputting a predetermined initial result value as an evaluation result value corresponding to an unevaluated item which is an item not evaluated; Learning a deep learning model based on a predetermined differential weight applied to the update evaluation information and the error corresponding to the unevaluated item in the update evaluation information; Generating predictive evaluation information predicting a result of evaluating the plurality of items by the plurality of users based on the deep learning model and the initial evaluation information; And recommending a plurality of recommended items among the plurality of items to a recommendation target that is one of the plurality of users using the prediction evaluation information.
Description
본 발명은 딥러닝에 기반하여 아이템을 추천하는 방법 및 장치에 관한 것으로, 더욱 상세하게는, 딥러닝 모델 기반의 협업 필터링을 구현함으로써 추천 정확도가 향상된 아이템 추천 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for recommending an item based on deep learning, and more particularly, to an item recommendation method and apparatus for improving recommendation accuracy by implementing deep learning model-based collaborative filtering.
추천 시스템은 오늘날 대부분의 온라인 쇼핑몰에서 사용자의 구매 촉진을 위해 필수적으로 이용되고 있으며, 학계에서도 활발히 연구되고 있다. 추천 알고리즘의 여러 접근방법들 중 가장 대표적인 것으로 협업 필터링(collaborative filtering, CF)을 들 수 있다. 협업 필터링은 사용자가 남긴 평점을 기반으로 사용자의 취향과 아이템(상품)에 관한 성향을 분석한 후, 사용자가 아직 구매하지 않은 아이템들에 부여할 평점 혹은 구매할만한 상위 N개(top-N)의 아이템을 예측한다.The recommendation system is essentially used in most online shopping malls to facilitate the purchase of users, and it is actively studied in academia. Collaborative filtering (CF) is the most representative of several approaches to the recommended algorithm. Collaborative filtering analyzes the user's preferences and propensity for items (products) based on the user's rating, and then assigns the top N to the ratings or items to be given to items that the user has not yet purchased. Predict items.
또한, 최근 딥러닝(deep learning)이 여러 분야에 성공적으로 적용됨에 따라, 추천 시스템에도 딥러닝을 접목하려는 시도가 늘고 있다. 그 중 오토인코더(autoencoder)는 대표적인 딥러닝 모델로써 다양한 추천 연구들에서 활발하게 사용되고 있다. In addition, as deep learning has been successfully applied in various fields, attempts to incorporate deep learning into recommendation systems are also increasing. Among them, autoencoder is a representative deep learning model and is actively used in various recommended studies.
그러나, 기존의 딥러닝 모델을 이용한 추천 시스템은 모두 사용자가 아이템에 어떤 평점을 부여할 것인지를 정확하게 예측하는 것에 초점을 맞추었으며, 상위 N개 아이템 추천의 정확도를 높이려는 시도는 이루어지지 않고 있다. However, all of the recommendation systems using the existing deep learning model have focused on accurately predicting what rating the user will give to the item, and no attempt has been made to increase the accuracy of recommending the top N items.
따라서, 딥러닝 모델을 기반으로 하는 협업 필터링을 이용하여 상위 N개 아이템 추천을 수행할 때, 추천 결과의 정확성을 향상시킬 수 있는 방법 및 장치에 관한 필요성이 대두되고 있다.Accordingly, when performing recommendation of the top N items using collaborative filtering based on a deep learning model, there is a need for a method and apparatus capable of improving the accuracy of the recommendation result.
관련 선행기술로는 대한민국 공개특허공보 제 10-2014-0046108호(발명의 명칭: 온라인 쇼핑몰에서 상품 간의 연관 분석을 통한 상품추천시스템, 공개일자: 2014년 4월 18일)가 있다.A related prior art is Republic of Korea Patent Publication No. 10-2014-0046108 (invention name: product recommendation system through analysis of association between products in an online shopping mall, publication date: April 18, 2014).
본 발명은 딥러닝 모델을 기반으로 하는 협업 필터링을 이용하여 상위 N개(top-N) 아이템을 보다 높은 정확도로 추천하는 방법 및 장치를 제공하고자 한다.The present invention is to provide a method and apparatus for recommending top N items with higher accuracy using collaborative filtering based on a deep learning model.
본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The problem to be solved by the present invention is not limited to the problem(s) mentioned above, and another problem(s) not mentioned will be clearly understood by those skilled in the art from the following description.
상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 딥러닝 기반의 아이템 추천 방법은 복수의 사용자 각각이 복수의 아이템 중 적어도 하나를 평가한 평가결과값을 포함하는 정보인 초기평가정보를 이용하여 아이템을 추천하는 방법에 있어서, 상기 초기평가정보에 대하여 사용자가 평가하지 않은 아이템인 미평가아이템에 대응되는 평가결과값으로 소정의 초기결과값을 입력하여, 갱신평가정보를 생성하는 단계; 상기 갱신평가정보 및 상기 갱신평가정보에서 상기 미평가아이템에 대응되는 오차에 적용되는 소정의 차등가중치에 기초하여, 딥러닝 모델(deep learning model)을 학습시키는 단계; 상기 딥러닝 모델 및 상기 초기평가정보에 기초하여, 상기 복수의 사용자가 상기 복수의 아이템을 평가한 결과를 예측하는 예측평가정보를 생성하는 단계; 및 상기 예측평가정보를 이용하여 상기 복수의 사용자 중 하나인 추천대상자에게 상기 복수의 아이템 중에서 복수의 추천아이템을 추천하는 단계를 포함한다.In order to solve the above problems, a method for recommending items based on deep learning according to an embodiment of the present invention uses initial evaluation information, which is information including an evaluation result value in which each of a plurality of users evaluates at least one of a plurality of items. A method of recommending an item, the method comprising: inputting a predetermined initial result value as an evaluation result value corresponding to an unevaluated item which is an item not evaluated by the user with respect to the initial evaluation information, and generating update evaluation information; Learning a deep learning model based on a predetermined differential weight applied to the update evaluation information and the error corresponding to the unevaluated item in the update evaluation information; Generating predictive evaluation information predicting a result of evaluating the plurality of items by the plurality of users based on the deep learning model and the initial evaluation information; And recommending a plurality of recommended items from among the plurality of items to a recommendation target that is one of the plurality of users by using the prediction evaluation information.
바람직하게는, 상기 초기결과값은 상기 복수의 아이템 각각에 부여할 수 있는 평가결과값 중에서, 소정의 임계평가값 이하의 값으로 결정될 수 있다.Preferably, the initial result value may be determined as a value equal to or less than a predetermined threshold evaluation value among evaluation result values that can be assigned to each of the plurality of items.
바람직하게는, 상기 딥러닝 모델을 학습시키는 단계는 상기 갱신평가정보에서 상기 미평가아이템에 대응되는 오차에 적용되는 가중치로 상기 차등가중치를 설정하는 단계; 상기 갱신평가정보에서 상기 미평가아이템을 제외한 나머지 아이템인 평가아이템에 대응되는 오차에 적용되는 가중치로 상기 차등가중치보다 큰 값을 갖는 기본가중치를 설정하는 단계; 및 상기 차등가중치, 상기 기본가중치 및 상기 갱신평가정보를 이용하여, 상기 딥러닝 모델을 반복적으로 학습시키는 단계를 포함할 수 있다.Preferably, the step of training the deep learning model may include setting the differential weight value as a weight applied to an error corresponding to the unevaluated item in the update evaluation information; Setting a basic weight value having a value greater than the differential weight value as a weight applied to an error corresponding to an evaluation item that is an item other than the unevaluated item in the update evaluation information; And repeatedly learning the deep learning model using the differential weight, the basic weight, and the update evaluation information.
바람직하게는, 상기 딥러닝 모델은 오토인코더(autoencoder)에 기반할 수 있다. Preferably, the deep learning model may be based on an autoencoder.
바람직하게는, 상기 복수의 추천아이템을 추천하는 단계는 상기 예측평가정보로부터 상기 추천대상자에 대한 상기 복수의 아이템에 대응되는 평가결과값을 추출하는 단계; 상기 추출된 평가결과값을 내림차순으로 정렬하는 단계; 및 상기 정렬된 평가결과값의 크기 순서에 따라, 상기 복수의 추천아이템을 추천하는 단계를 포함할 수 있다.Preferably, the step of recommending the plurality of recommended items comprises: extracting evaluation result values corresponding to the plurality of items for the recommendation target from the predicted evaluation information; Sorting the extracted evaluation result values in descending order; And recommending the plurality of recommended items according to the order of size of the sorted evaluation result values.
또한, 상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 딥러닝 기반의 아이템 추천 장치는 복수의 사용자 각각이 복수의 아이템 중 적어도 하나를 평가한 평가결과값을 포함하는 정보인 초기평가정보를 이용하여 아이템을 추천하는 장치에 있어서, 상기 초기평가정보에 대하여 사용자가 평가하지 않은 아이템인 미평가아이템에 대응되는 평가결과값으로 소정의 초기결과값을 입력하여, 갱신평가정보를 생성하는 갱신부; 상기 갱신평가정보 및 상기 갱신평가정보에서 상기 미평가아이템에 대응되는 오차에 적용되는 소정의 차등가중치에 기초하여, 딥러닝 모델(deep learning model)을 학습시키는 학습부; 상기 딥러닝 모델 및 상기 초기평가정보에 기초하여, 상기 복수의 사용자가 상기 복수의 아이템을 평가한 결과를 예측하는 예측평가정보를 생성하는 예측부; 및 상기 예측평가정보를 이용하여 상기 복수의 사용자 중 하나인 추천대상자에게 상기 복수의 아이템 중에서 복수의 추천아이템을 추천하는 추천부를 포함한다.In addition, the deep learning-based item recommendation apparatus according to an embodiment of the present invention for solving the above problems includes initial evaluation information, which is information including an evaluation result value in which each of a plurality of users evaluates at least one of a plurality of items. In the apparatus for recommending an item by using, an update unit for generating update evaluation information by inputting a predetermined initial result value as an evaluation result value corresponding to an unevaluated item which is an item not evaluated by the user with respect to the initial evaluation information ; A learning unit learning a deep learning model based on a predetermined differential weight applied to the update evaluation information and the error corresponding to the unevaluated item in the update evaluation information; A prediction unit generating prediction evaluation information predicting a result of evaluating the plurality of items by the plurality of users based on the deep learning model and the initial evaluation information; And a recommendation unit for recommending a plurality of recommendation items from among the plurality of items to a recommendation target that is one of the plurality of users using the prediction evaluation information.
바람직하게는, 상기 초기결과값은 상기 복수의 아이템 각각에 부여할 수 있는 평가결과값 중에서, 소정의 임계평가값 이하의 값으로 결정될 수 있다.Preferably, the initial result value may be determined as a value equal to or less than a predetermined threshold evaluation value among evaluation result values that can be assigned to each of the plurality of items.
바람직하게는, 상기 학습부는 상기 갱신평가정보에서 상기 미평가아이템에 대응되는 오차에 적용되는 가중치로 상기 차등가중치를 설정하고, 상기 갱신평가정보에서 상기 미평가아이템을 제외한 나머지 아이템인 평가아이템에 대응되는 오차에 적용되는 가중치로 상기 차등가중치보다 큰 값을 갖는 기본가중치를 설정한 후, 상기 차등가중치, 상기 기본가중치 및 상기 갱신평가정보를 이용하여, 상기 딥러닝 모델을 반복적으로 학습시킬 수 있다.Preferably, the learning unit sets the differential weight value as a weight applied to an error corresponding to the unevaluated item in the update evaluation information, and corresponds to an evaluation item that is the remaining item excluding the unevaluated item in the update evaluation information. After setting a basic weight having a value greater than the differential weight as a weight applied to the error, the deep learning model can be repeatedly trained using the differential weight, the basic weight, and the update evaluation information.
바람직하게는, 상기 딥러닝 모델은 오토인코더(autoencoder)에 기반할 수 있다.Preferably, the deep learning model may be based on an autoencoder.
바람직하게는, 상기 추천부는 상기 예측평가정보로부터 상기 추천대상자에 대한 상기 복수의 아이템에 대응되는 평가결과값을 추출하고, 상기 추출된 평가결과값을 내림차순으로 정렬하고, 상기 정렬된 평가결과값의 크기 순서에 따라, 상기 복수의 추천아이템을 추천할 수 있다.Preferably, the recommendation unit extracts evaluation result values corresponding to the plurality of items for the recommendation target from the predicted evaluation information, sorts the extracted evaluation result values in descending order, and displays the sorted evaluation result values. According to the size order, the plurality of recommended items may be recommended.
본 발명은 사용자들의 아이템 각각에 대한 상대적 선호도를 보다 효과적으로 학습하는 딥러닝 모델을 기반으로 하는 협업 필터링을 이용함으로써, 사용자들에게 상위 N개(top-N) 아이템을 보다 높은 정확도로 추천할 수 있는 효과가 있다.According to the present invention, by using a collaborative filtering based on a deep learning model that more effectively learns the relative preferences of each user's items, it is possible to recommend the top N items to users with higher accuracy. It works.
도 1은 본 발명의 일 실시예에 따른 딥러닝 기반의 아이템 추천 방법을 설명하기 위한 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 딥러닝 모델의 학습 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 복수의 추천아이템을 추천하는 방법을 설명하기 위한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 딥러닝 기반의 아이템 추천 장치를 설명하기 위한 블록도이다.
도 5는 본 발명의 일 실시예에 따른 딥러닝 기반의 아이템 추천 방법의 효과를 설명하기 위한 도면이다.1 is a flowchart illustrating a deep learning-based item recommendation method according to an embodiment of the present invention.
2 is a flowchart for explaining a learning method of a deep learning model according to an embodiment of the present invention.
3 is a flowchart illustrating a method of recommending a plurality of recommended items according to an embodiment of the present invention.
4 is a block diagram illustrating an apparatus for recommending items based on deep learning according to an embodiment of the present invention.
5 is a diagram for explaining the effect of a deep learning based item recommendation method according to an embodiment of the present invention.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.The present invention can be applied to various changes and can have various embodiments, and specific embodiments will be illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to specific embodiments, and should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. In describing each drawing, similar reference numerals are used for similar components.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Terms such as first, second, A, and B may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from other components. For example, the first component may be referred to as a second component without departing from the scope of the present invention, and similarly, the second component may be referred to as a first component. The term and/or includes a combination of a plurality of related described items or any one of a plurality of related described items.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.When an element is said to be "connected" or "connected" to another component, it is understood that other components may be directly connected or connected to the other component, but other components may exist in the middle. It should be. On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that no other component exists in the middle.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in this application are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "include" or "have" are intended to indicate the presence of features, numbers, steps, actions, components, parts or combinations thereof described herein, one or more other features. It should be understood that the existence or addition possibilities of fields or numbers, steps, operations, components, parts or combinations thereof are not excluded in advance.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person skilled in the art to which the present invention pertains. Terms, such as those defined in a commonly used dictionary, should be interpreted as having meanings consistent with meanings in the context of related technologies, and should not be interpreted as ideal or excessively formal meanings unless explicitly defined in the present application. Does not.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 딥러닝 기반의 아이템 추천 방법을 설명하기 위한 흐름도이다.1 is a flowchart illustrating a deep learning-based item recommendation method according to an embodiment of the present invention.
단계 S110에서는, 아이템 추천 장치가 초기평가정보에 대하여 사용자가 평가하지 않은 아이템인 미평가아이템에 대응되는 평가결과값으로 소정의 초기결과값을 입력하여, 갱신평가정보를 생성한다.In step S110, the item recommendation device inputs a predetermined initial result value as an evaluation result value corresponding to an unevaluated item which is an item that the user has not evaluated for the initial evaluation information, and generates update evaluation information.
이때, 초기평가정보는 복수의 사용자 각각이 복수의 아이템 중 적어도 하나를 평가한 평가결과값을 포함하는 정보일 수 있다. At this time, the initial evaluation information may be information including an evaluation result value in which each of a plurality of users evaluates at least one of the plurality of items.
예컨대, 초기평가정보는, 사용자 M명과 영화 N개가 존재하는 인터넷 영화사이트에서, 그 사용자 M명 각각이 N개의 영화 각각에 대하여 평가한 평가결과값을 포함하는 정보일 수 있다. 하지만, 현실적으로 그 사용자 M명 모두가 N개의 영화를 전부 관람하고 평가하는 것은 극히 가능성이 낮은 일이다. 따라서, 초기평가정보는 사용자별로 관람한 N개 이하의 영화에 대한 평가결과값을 포함하지만, 관람하지 않은 나머지 영화에 대한 평가결과값은 포함하지 않을 수 있다.For example, the initial evaluation information may be information including an evaluation result value evaluated for each of the N movies by an Internet movie site where there are M users and N movies. However, in reality, it is extremely unlikely that all of the M users watch and evaluate all N movies. Accordingly, the initial evaluation information includes evaluation result values for N or fewer movies viewed by users, but may not include evaluation result values for the remaining movies that have not been viewed.
여기서, 아이템 추천 장치는 초기평가정보에 존재하는 미평가아이템에 대응되는 평가결과값으로 초기결과값을 입력하여, 갱신평가정보를 생성할 수 있다. 즉, 갱신평가정보는 사용자가 평가한 아이템인 평가아이템에 대하여는 사용자가 직접 평가한 값으로 구성된 평가결과값을 포함하고, 미평가아이템에 대하여는 초기결과값으로 구성된 평가결과값을 포함하여 구성될 수 있다.Here, the item recommendation device may generate update evaluation information by inputting an initial result value as an evaluation result value corresponding to an unevaluated item existing in the initial evaluation information. That is, the update evaluation information may include an evaluation result value composed of values directly evaluated by the user for an evaluation item that is an item evaluated by the user, and an evaluation result value composed of initial results for an unevaluated item. have.
다른 실시예에서는, 초기결과값은 사용자가 복수의 아이템 각각에 부여할 수 있는 평가결과값 중에서, 소정의 임계평가값 이하의 값으로 결정될 수 있다.In another embodiment, the initial result value may be determined as a value less than or equal to a predetermined threshold evaluation value among evaluation result values that a user can give to each of a plurality of items.
예컨대, 사용자가 아이템에 관하여 {0, 1, 2, 3, 4, 5} 중 하나의 평가결과값으로 평가하는 경우를 가정할 수 있다. 이때, 임계평가값이 0이라면 초기결과값은 0이하인 0으로 결정될 수 있다. 또한, 임계평가값이 1이라면 초기결과값은 0 및 1 중 하나로 결정될 수 있다.For example, it may be assumed that a user evaluates an item with an evaluation result value of {0, 1, 2, 3, 4, 5}. At this time, if the threshold evaluation value is 0, the initial result value may be determined to be 0 or less. In addition, if the threshold evaluation value is 1, the initial result value may be determined as one of 0 and 1.
이처럼, 초기결과값이 사용자가 부여할 수 있는 평가결과값 중에서 적절히 낮은 값으로 결정됨으로써, 아이템 추천 장치가 추후에 아이템에 관한 평가결과값을 정확하게 예측하는 측면에서는 불리할 수 있지만, 각 아이템 간의 상대적인 선호도를 예측하는 측면에서는 유리할 수 있다. 이는, 미평가아이템에 대한 평가결과값이 상대적으로 낮아져서, 평가아이템과 미평가아이템 간의 평가결과값의 차이가 두드러질 수 있기 때문이다.As described above, since the initial result value is determined to be an appropriately low value among the evaluation result values that can be given by the user, the item recommendation device may be disadvantageous in terms of accurately predicting the evaluation result value for the item in the future, but it is relative between each item. It can be advantageous in terms of predicting preferences. This is because the evaluation result value for the unevaluated item is relatively low, so that the difference in the evaluation result value between the evaluation item and the unevaluated item may be remarkable.
단계 S120에서는, 아이템 추천 장치가 그 갱신평가정보 및 갱신평가정보에서 미평가아이템에 대응되는 오차에 적용되는 소정의 차등가중치에 기초하여, 딥러닝 모델(deep learning model)을 학습시킨다.In step S120, the item recommendation apparatus trains a deep learning model based on a predetermined differential weight applied to an error corresponding to an unevaluated item in the updated evaluation information and the updated evaluation information.
즉, 아이템 추천 장치는 그 갱신평가정보 및 차등가중치를 이용하여, 딥러닝 모델을 반복적으로 학습시킴으로써, 보다 정확하게 상위 N개의 아이템을 추천할 수 있다.That is, the item recommendation apparatus can more accurately recommend the top N items by repeatedly learning the deep learning model using the updated evaluation information and the differential weight.
한편, 아이템 추천 장치가 딥러닝 모델을 학습시키는 구체적인 방법에 관하여는 도 2에 대한 설명에서 구체적으로 후술한다.Meanwhile, a specific method for the item recommendation apparatus to train the deep learning model will be described later in detail with reference to FIG. 2.
다른 실시예에서는, 딥러닝 모델은 오토인코더(autoencoder)에 기반할 수 있다.In other embodiments, the deep learning model may be based on an autoencoder.
여기서, 오토인코더는 비감독 학습(unsupervised learning)을 위하여 사용되는 인공신경망(artificial neural network)으로, 입력과 출력이 최대한 같아지도록 학습될 수 있다.Here, the autoencoder is an artificial neural network used for unsupervised learning, and can be learned so that the input and output are the same as possible.
나아가, 본 발명의 딥러닝 모델은 오토인코더에 기반하는 오토렉(AutoRec) 모델에 기반할 수 있다. 오토렉은 하나 또는 다수의 은닉층을 가지는 오토인코더 기반의 추천 모델로, 협업 필터링의 접근 방법을 이용한다. Furthermore, the deep learning model of the present invention may be based on an AutoRec model based on an autoencoder. Autorec is an autoencoder-based recommendation model with one or multiple hidden layers, and uses a collaborative filtering approach.
한편, 오토렉의 동작 방법을 간략히 설명하면, 오토렉은 사용자의 평점 벡터를 은닉층으로 인코딩한 후, 인코딩된 정보를 다시 디코딩한다. 이때, 그 디코딩된 결과가 최초 입력된 평점 벡터와 같아지도록 인코딩 모델 파라미터와 디코딩 모델 파라미터가 학습될 수 있다. 몇 번의 반복 학습을 통해 인코딩 모델 파라미터와 디코딩 모델 파라미터의 학습이 완료되면, 오토렉은 사용자의 평점 벡터를 인코딩한 후 다시 디코딩함으로써, 각 사용자의 평점 벡터의 비어있는 평가결과값(즉, 평가되지 않은 아이템에 관한 평가결과값)을 예측하여 계산할 수 있다.On the other hand, briefly explaining the operation method of the Autorec, Autorec encodes the user's rating vector into a hidden layer, and then decodes the encoded information again. At this time, the encoding model parameter and the decoding model parameter can be learned so that the decoded result is equal to the first input rating vector. When learning of the encoding model parameter and decoding model parameter is completed through several iterative learning, Autorec encodes the user's rating vector and decodes it again, so that the empty evaluation result of each user's rating vector (that is, not evaluated) It can be calculated by predicting the evaluation result value for an item that is not).
한편, 본 발명의 딥러닝 모델은 상술한 종래 기술의 오토렉을 이용하는 예측 방법과 비교할 때, 딥러닝 모델을 학습시키기 위한 방법 및 학습 데이터의 구성에서 차이가 존재한다. 이는, 본 발명의 딥러닝 모델은 평가결과값의 정확한 예측을 위한 모델이 아니라, 상위 N개 아이템 추천을 정확하게 수행하기 위한 모델이기 때문이다. 이러한 차이점에 관하여는 도 2에 대한 설명에서 구체적으로 후술한다.On the other hand, the deep learning model of the present invention has a difference in the configuration of the method and the training data for training the deep learning model, as compared to the prediction method using the autoleg of the prior art described above. This is because the deep learning model of the present invention is not a model for accurately predicting evaluation result values, but a model for accurately performing recommendation of top N items. This difference will be described later in detail in the description of FIG. 2.
단계 S130에서는, 아이템 추천 장치가 그 딥러닝 모델 및 초기평가정보에 기초하여, 복수의 사용자가 복수의 아이템을 평가한 결과를 예측하는 예측평가정보를 생성한다.In step S130, the item recommendation device generates predictive evaluation information predicting a result of evaluating a plurality of items by a plurality of users based on the deep learning model and initial evaluation information.
예컨대, 아이템 추천 장치는 그 학습된 딥러닝 모델을 이용하여 초기평가정보를 인코딩하고, 디코딩함으로써 초기평가정보에 포함된 미평가아이템에 대응되는 평가결과값을 산출하여, 예측평가정보를 생성할 수 있다.For example, the item recommendation apparatus may encode and decode initial evaluation information using the trained deep learning model, calculate an evaluation result value corresponding to an unevaluated item included in the initial evaluation information, and generate predictive evaluation information. have.
보다 구체적으로, M1-M10까지의 사용자가 존재하고, N1-N10까지의 아이템이 존재하는 경우를 가정한다. 만일, 사용자 M1은 N1-N5의 아이템만을 평가하였고, 사용자 M2는 N5-N10의 아이템만을 평가하였다면, 초기평가정보에서 사용자 M1 및 M2 각각이 평가하지 않은 미평가아이템에 관한 평가결과값은 존재하지 않을 수 있다. 이때, 아이템 추천 장치가 그 학습된 딥러닝 모델을 이용하여 초기평가정보를 인코딩 및 디코딩함으로써, 사용자 M1 및 M2 각각의 미평가아이템(즉, N6-N10 및 N1-N4)에 관한 평가결과값을 산출하여 예측평가정보를 생성할 수 있다.More specifically, it is assumed that a user up to M1-M10 exists and an item up to N1-N10 exists. If the user M1 evaluated only the items of N1-N5, and the user M2 evaluated only the items of N5-N10, in the initial evaluation information, there are no evaluation result values for the unevaluated items not evaluated by the users M1 and M2 respectively. It may not. At this time, the item recommendation device encodes and decodes the initial evaluation information by using the learned deep learning model, thereby evaluating the evaluation result values for the unevaluated items (ie, N6-N10 and N1-N4) of each of the users M1 and M2. Predictive evaluation information can be generated by calculating.
마지막으로 단계 S140에서는, 아이템 추천 장치가 그 예측평가정보를 이용하여 복수의 사용자 중 하나인 추천대상자에게 복수의 아이템 중에서 복수의 추천아이템을 추천한다.Finally, in step S140, the item recommendation device recommends a plurality of recommended items among a plurality of items to a recommendation target that is one of a plurality of users using the predicted evaluation information.
즉, 아이템 추천 장치는 추천대상자에게 그 예측평가정보에 포함된 복수의 아이템별로 평가결과값이 높은 순서에 따라 복수의 추천아이템을 추천할 수 있다. 이때, 복수의 추천아이템은 평가결과값이 높은 상위 N개(top-N) 아이템에 해당할 수 있다.That is, the item recommendation device may recommend a plurality of recommendation items to a recommendation target according to a plurality of items included in the prediction evaluation information in the order of highest evaluation result value. At this time, the plurality of recommended items may correspond to the top N items having a high evaluation result value.
한편, 도 5를 참조하면, N이 5 및 20일 때, 본 발명에 따른 딥러닝 모델(proposed)와 오토렉 모델(AutoRec)의 은닉 노드(hidden nodes) 수에 따른 추천의 정확도가 나타나 있다. 여기서, x축은 은닉 노드의 수, y축은 precision@N의 값을 나타낸다. Meanwhile, referring to FIG. 5, when N is 5 and 20, accuracy of recommendation according to the number of hidden nodes of the deep learning model (proposed) and the autorec model (AutoRec) according to the present invention is shown. Here, the x-axis represents the number of hidden nodes, and the y-axis represents the value of precision@N.
실험 결과에서 볼 수 있듯이 본 발명의 딥러닝 모델을 이용하는 방법이 기존의 오토렉 모델을 이용하는 방법보다 정확한 top-N 아이템 추천을 수행하는 것을 알 수 있다. 이는 본 발명의 딥러닝 모델을 이용하는 방법이 평가결과값을 정확하게 예측하기 보다는 사용자별로 아이템에 대한 상대적인 선호도를 정확하게 예측하는 것을 목적으로 학습데이터(초기평가정보)에 적절히 낮은 값(초기결과값)을 채우고, 이를 고려하기 위하여 차등적인 가중치를 부여하는 학습 방법을 적용하였기 때문이다. As can be seen from the results of the experiment, it can be seen that the method using the deep learning model of the present invention performs more accurate top-N item recommendation than the method using the existing autoleg model. This is because the method using the deep learning model of the present invention does not accurately predict the evaluation result value, but rather uses the lower value (initial result value) appropriately in the learning data (initial evaluation information) for the purpose of accurately predicting the relative preference for the item for each user. This is because a learning method that applies a differential weight to fill in and consider this is applied.
보다 구체적으로 도 5의 실험을 설명하면 다음과 같다. 도 5의 실험은 MovieLens 100K 데이터를 이용하여 수행되었으며, 이 데이터는 943명의 사용자와 1682편의 영화, 10만 건의 평점으로 구성되어 있다. 이때, 10만 건의 평점들 중 임의로 선택한 80%의 평점을 딥러닝 모델 학습을 위한 데이터로 사용하였고, 나머지 20% 데이터를 추천 정확도를 평가하기 위한 데이터로 사용하였다. 본 발명의 딥러닝 모델과 기존의 오토렉 모델을 각각 학습 데이터를 이용하여 학습시키고, 평가 데이터를 이용하여 각 모델의 top-N 추천 정확도를 계산한 후, 그 결과를 비교하였다. 학습을 이용한 최적화 알고리즘은 널리 이용되는 Adam optimizer를 이용하였으며, learning rate는 0.001로 설정하였다. 정확도 계산을 위한 척도는 기존에 널리 이용되는 precision@N을 이용하였다. 각 모델의 은닉 층은 하나만 두었으며, 은닉 층에 존재하는 은닉 노드의 수는 20개부터 60개까지 20개씩 증가시켜 가며 각각의 정확도를 측정하다.More specifically, the experiment of FIG. 5 is as follows. The experiment in FIG. 5 was performed using MovieLens 100K data, which consists of 943 users, 1682 movies, and 100,000 ratings. At this time, 80% of randomly selected ratings among 100,000 ratings were used as data for deep learning model learning, and the remaining 20% of data were used as data for evaluating recommended accuracy. The deep learning model of the present invention and the existing autorex model were trained using training data, and the top-N recommended accuracy of each model was calculated using the evaluation data, and the results were compared. The optimization algorithm using learning used the Adam optimizer, which was widely used, and the learning rate was set to 0.001. For precision calculation, precision@N, which is widely used, was used. Each model has only one hidden layer, and the number of hidden nodes in the hidden layer is increased by 20 from 20 to 60, and the accuracy of each is measured.
이와 같이, 본 발명의 일 실시예에 따른 딥러닝 기반의 아이템 추천 방법은 사용자들의 아이템 각각에 대한 상대적 선호도를 보다 효과적으로 학습하는 딥러닝 모델을 기반으로 하는 협업 필터링을 이용함으로써, 사용자들에게 상위 N개 아이템을 보다 높은 정확도로 추천할 수 있는 효과가 있다.As described above, the deep learning-based item recommendation method according to an embodiment of the present invention uses the collaborative filtering based on the deep learning model to more effectively learn the relative preference of each item of users, thereby providing the users with the top N It has the effect of recommending dog items with higher accuracy.
도 2는 본 발명의 일 실시예에 따른 딥러닝 모델의 학습 방법을 설명하기 위한 흐름도이다.2 is a flowchart for explaining a learning method of a deep learning model according to an embodiment of the present invention.
단계 S210에서는, 아이템 추천 장치가 갱신평가정보에서 미평가아이템에 대응되는 오차에 적용되는 가중치로 차등가중치를 설정한다.In step S210, the item recommendation device sets a differential weight value as a weight applied to the error corresponding to the unevaluated item in the update evaluation information.
즉, 아이템 추천 장치는 딥러닝 모델의 학습 과정에서 미평가아이템과 관련된 오차에 적용되는 가중치로 차등가중치를 설정할 수 있다. 보다 구체적으로, 차등가중치는 딥러닝 모델의 학습 과정에서 이용되는 가중치로, 아이템 추천 장치가 딥러닝 모델에 차등가중치를 설정할 수 있다.That is, the item recommendation device may set a differential weight as a weight applied to an error related to an unevaluated item in a learning process of a deep learning model. More specifically, the differential weight is a weight used in the learning process of the deep learning model, and the item recommendation device may set the differential weight in the deep learning model.
단계 S220에서는, 아이템 추천 장치가 갱신평가정보에서 미평가아이템을 제외한 나머지 아이템인 평가아이템에 대응되는 오차에 적용되는 가중치로 차등가중치보다 큰 값을 갖는 기본가중치를 설정한다.In step S220, the item recommendation device sets a basic weight having a value greater than a differential weight as a weight applied to an error corresponding to an evaluation item that is an item other than the unevaluated item in the update evaluation information.
즉, 아이템 추천 장치는 딥러닝 모델의 학습 과정에서 평가아이템과 관련된 오차에 적용되는 가중치로 기본가중치를 설정할 수 있다. 보다 구체적으로, 기본가중치는 딥러닝 모델의 학습 과정에서 이용되는 가중치로, 아이템 추천 장치가 딥러닝 모델에 기본가중치를 설정할 수 있다. That is, the item recommendation device may set a basic weight as a weight applied to an error related to an evaluation item in a learning process of a deep learning model. More specifically, the basic weight is a weight used in the learning process of the deep learning model, and the item recommendation device may set the basic weight in the deep learning model.
이때, 기본가중치는 차등가중치보다 큰 값을 가진다. 예컨대, 기본가중치는 1.0이고 차등가중치는 0.7일 수 있다. At this time, the basic weight has a larger value than the differential weight. For example, the basic weight may be 1.0 and the differential weight may be 0.7.
이처럼, 기본가중치의 값을 차등가중치의 값보다 크게 설정하는 이유는 사용자가 평가결과값을 부여한 아이템인 평가아이템과 그렇지 않은 미평가아이템에 대응되는 오차를 동등하게 고려하여 딥러닝 모델을 학습시키는 것이 적절하지 않기 때문이다. 즉, 아이템 추천 장치는 미평가아이템에 대응되는 오차에 기본가중치보다 낮은 차등가중치를 부여함으로써, 평가아이템에 대응되는 오차와 미평가아이템에 대응되는 오차가 차등적으로 고려되도록 할 수 있다.As described above, the reason for setting the value of the basic weight value to be greater than the value of the differential weight value is to train the deep learning model by considering the error corresponding to the evaluation item, which is the item to which the user has given the evaluation result value, and the non-evaluation item, which are not. Because it is not appropriate. That is, the item recommendation apparatus may allow the error corresponding to the evaluation item and the error corresponding to the unevaluated item to be differentially considered by giving a difference weight lower than the basic weight to the error corresponding to the unevaluated item.
마지막으로 단계 S230에서는, 아이템 추천 장치가 차등가중치, 기본가중치 및 갱신평가정보를 이용하여, 딥러닝 모델을 반복적으로 학습시킨다.Finally, in step S230, the item recommendation device repeatedly trains the deep learning model using the differential weight, the basic weight, and the update evaluation information.
예컨대, 아이템 추천 장치는 차등가중치, 기본가중치 및 갱신평가정보를 딥러닝 모델에 입력한 후, 그 딥러닝 모델이 갱신평가정보를 반복적으로 인코딩 및 디코딩함으로써 인코딩 모델 파라미터와 디코딩 모델 파라미터를 보다 정확하게 학습시킬 수 있다.For example, the item recommendation apparatus learns the encoding model parameters and the decoding model parameters more accurately by inputting the differential weight, the basic weight, and the update evaluation information into the deep learning model, and then the deep learning model repeatedly encodes and decodes the update evaluation information. I can do it.
이와 같이, 본 발명의 일 실시예에 따른 딥러닝 모델의 학습 방법은 평가아이템에 대응되는 오차에 기본가중치보다 낮은 차등가중치를 부여함으로써, 평가아이템에 대응되는 오차와 미평가아이템에 대응되는 오차를 차등적으로 고려하여, 상위 N개 아이템의 추천 정확도를 향상시킬 수 있도록 딥러닝 모델을 학습시킬 수 있는 효과가 있다.As described above, the learning method of the deep learning model according to an embodiment of the present invention provides an error corresponding to an evaluation item and an error not evaluated by assigning a differential weight value lower than a basic weight to an error corresponding to an evaluation item. Considering differentially, there is an effect that can train a deep learning model to improve the recommendation accuracy of the top N items.
도 3은 본 발명의 일 실시예에 따른 복수의 추천아이템을 추천하는 방법을 설명하기 위한 흐름도이다.3 is a flowchart illustrating a method of recommending a plurality of recommended items according to an embodiment of the present invention.
단계 S310에서는, 아이템 추천 장치가 예측평가정보로부터 추천대상자에 대한 복수의 아이템에 대응되는 평가결과값을 추출한다.In step S310, the item recommendation device extracts the evaluation result values corresponding to the plurality of items for the recommendation target from the prediction evaluation information.
이때, 예측평가정보에는 복수의 사용자 각각에 대하여 평가아이템 및 미평가아이템에 대응되는 평가결과값의 산출 결과가 모두 포함되어 있다. 아이템 추천 장치는 그 예측평가정보로부터 추천대상자에 대한 복수의 아이템에 대한 평가결과값을 모두 추출할 수 있다.At this time, the prediction evaluation information includes all of the calculation results of the evaluation result values corresponding to the evaluation item and the unevaluated item for each of the plurality of users. The item recommendation device can extract all the evaluation result values for a plurality of items for the recommendation target from the predicted evaluation information.
단계 S320에서는, 아이템 추천 장치가 그 추출된 평가결과값을 내림차순으로 정렬한다.In step S320, the item recommendation device sorts the extracted evaluation result values in descending order.
즉, 아이템 추천 장치는 추천대상자의 복수의 아이템에 대응되는 평가결과값을 크기에 따라 내림차순으로 정렬할 수 있다. 즉, 평가결과값이 가장 큰 아이템부터 가장 작은 아이템의 순서로 정렬할 수 있다.That is, the item recommendation device may sort the evaluation result values corresponding to the plurality of items of the recommendation target in descending order according to the size. That is, the items with the largest evaluation result value can be sorted in order from the smallest item.
마지막으로 단계 S330에서는, 아이템 추천 장치가 그 정렬된 평가결과값의 크기 순서에 따라, 복수의 추천아이템을 추천대상자에게 추천한다.Finally, in step S330, the item recommendation device recommends a plurality of recommended items to the recommendation targets according to the size order of the sorted evaluation result values.
이때, 아이템 추천 장치는 그 정렬된 평가결과값의 크기에 따라, 상위 N개의 추천아이템을 추천대상자에게 추천할 수 있다. 즉, 아이템 추천 장치는 상위 N개(즉, top-N)의 아이템을 복수의 추천아이템으로 추천할 수 있다.At this time, the item recommendation device may recommend the top N recommended items to the recommendation targets according to the size of the sorted evaluation result value. That is, the item recommendation device may recommend the top N (ie, top-N) items as a plurality of recommended items.
도 4는 본 발명의 일 실시예에 따른 딥러닝 기반의 아이템 추천 장치를 설명하기 위한 블록도이다.4 is a block diagram illustrating an apparatus for recommending items based on deep learning according to an embodiment of the present invention.
도 4를 참조하면, 본 발명의 일 실시예에 따른 딥러닝 기반의 아이템 추천 장치(400)는 갱신부(410), 학습부(420), 예측부(430) 및 추천부(440)를 포함한다.Referring to FIG. 4, an
한편, 딥러닝 기반의 아이템 추천 장치(400)는 PC, 서버, 스마트폰 및 태블릿과 같은 다양한 컴퓨팅 장치에 탑재되어, 아이템을 추천하기 위하여 이용될 수 있다.Meanwhile, the deep learning-based
갱신부(410)는 초기평가정보에 대하여 사용자가 평가하지 않은 아이템인 미평가아이템에 대응되는 평가결과값으로 소정의 초기결과값을 입력하여, 갱신평가정보를 생성한다.The
다른 실시예에서는, 초기결과값은 복수의 아이템 각각에 부여할 수 있는 평가결과값 중에서, 소정의 임계평가값 이하의 값으로 결정될 수 있다.In another embodiment, the initial result value may be determined as a value less than or equal to a predetermined threshold evaluation value among evaluation result values that can be applied to each of a plurality of items.
학습부(420)는 그 갱신평가정보 및 갱신평가정보에서 미평가아이템에 대응되는 오차에 적용되는 소정의 차등가중치에 기초하여, 딥러닝 모델을 학습시킨다.The learning unit 420 trains the deep learning model based on a predetermined differential weight applied to an error corresponding to an unevaluated item in the updated evaluation information and the updated evaluation information.
다른 실시예에서는, 학습부(420)는 갱신평가정보에서 미평가아이템에 대응되는 오차에 적용되는 가중치로 차등가중치를 설정하고, 갱신평가정보에서 미평가아이템을 제외한 나머지 아이템인 평가아이템에 대응되는 오차에 적용되는 가중치로 차등가중치보다 큰 값을 갖는 기본가중치를 설정한 후, 그 차등가중치, 기본가중치 및 갱신평가정보를 이용하여, 딥러닝 모델을 반복적으로 학습시킬 수 있다.In another embodiment, the learning unit 420 sets a differential weight value as a weight applied to an error corresponding to an unevaluated item in the updated evaluation information, and corresponds to an evaluation item that is the remaining item except the unevaluated item in the updated evaluation information. After setting a basic weight having a value greater than the differential weight as a weight applied to the error, the deep learning model can be repeatedly trained using the differential weight, the basic weight, and the update evaluation information.
또 다른 실시예에서는, 딥러닝 모델은 오토인코더에 기반할 수 있다.In another embodiment, the deep learning model can be based on an autoencoder.
예측부(430)는 그 딥러닝 모델 및 초기평가정보에 기초하여, 복수의 사용자가 복수의 아이템을 평가한 결과를 예측하는 예측평가정보를 생성한다.The prediction unit 430 generates prediction evaluation information predicting a result of evaluating a plurality of items by a plurality of users based on the deep learning model and initial evaluation information.
마지막으로 추천부(440)는 그 예측평가정보를 이용하여 복수의 사용자 중 하나인 추천대상자에게 복수의 아이템 중에서 복수의 추천아이템을 추천한다.Finally, the recommendation unit 440 recommends a plurality of recommendation items from among a plurality of items to a recommendation target that is one of a plurality of users using the predicted evaluation information.
다른 실시예에서는, 추천부(440)는 그 예측평가정보로부터 추천대상자에 대한 복수의 아이템에 대응되는 평가결과값을 추출하고, 그 추출된 평가결과값을 내림차순으로 정렬하고, 그 정렬된 평가결과값의 크기 순서에 따라, 복수의 추천아이템을 추천할 수 있다.In another embodiment, the recommendation unit 440 extracts evaluation result values corresponding to a plurality of items for a recommendation target from the predicted evaluation information, sorts the extracted evaluation result values in descending order, and sorts the evaluated evaluation results. A plurality of recommended items may be recommended according to the size order of values.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.Meanwhile, the above-described embodiments of the present invention can be implemented as a program executable on a computer, and can be implemented on a general-purpose digital computer that operates the program using a computer-readable recording medium.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 를 포함한다.The computer-readable recording medium includes a magnetic storage medium (eg, ROM, floppy disk, hard disk, etc.), optical reading medium (eg, CD-ROM, DVD, etc.).
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
So far, the present invention has been focused on the preferred embodiments. Those skilled in the art to which the present invention pertains will understand that the present invention may be implemented in a modified form without departing from the essential characteristics of the present invention. Therefore, the disclosed embodiments should be considered in terms of explanation, not limitation. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the equivalent range should be interpreted as being included in the present invention.
Claims (10)
상기 아이템 추천 장치가 상기 초기평가정보에 대하여 사용자가 평가하지 않은 아이템인 미평가아이템에 대응되는 평가결과값으로 초기결과값을 입력하여, 갱신평가정보를 생성하는 단계;
상기 아이템 추천 장치가 상기 갱신평가정보 및 상기 갱신평가정보에서 상기 미평가아이템에 대응되는 오차에 적용되는 소정의 차등가중치에 기초하여, 딥러닝 모델(deep learning model)을 학습시키는 단계;
상기 아이템 추천 장치가 상기 딥러닝 모델 및 상기 초기평가정보에 기초하여, 상기 복수의 사용자가 상기 복수의 아이템을 평가한 결과를 예측하는 예측평가정보를 생성하는 단계; 및
상기 아이템 추천 장치가 상기 예측평가정보를 이용하여 상기 복수의 사용자 중 하나인 추천대상자에게 상기 복수의 아이템 중에서 복수의 추천아이템을 추천하는 단계를 포함하고,
상기 초기결과값은 상기 복수의 아이템 각각에 부여할 수 있는 평가결과값 중에서 기설정된 임계평가값 이하의 값으로 결정되며,
상기 딥러닝 모델을 학습시키는 단계는
상기 아이템 추천 장치가 상기 갱신평가정보에서 상기 미평가아이템에 대응되는 오차에 적용되는 가중치로 상기 차등가중치를 설정하는 단계;
상기 아이템 추천 장치가 상기 갱신평가정보에서 상기 미평가아이템을 제외한 나머지 아이템인 평가아이템에 대응되는 오차에 적용되는 가중치로 상기 차등가중치보다 큰 값을 갖는 기본가중치를 설정하는 단계; 및
상기 아이템 추천 장치가 상기 차등가중치, 상기 기본가중치 및 상기 갱신평가정보를 이용하여, 상기 딥러닝 모델을 반복적으로 학습시키는 단계를 포함하는 것을 특징으로 하는 딥러닝 기반의 아이템 추천 방법.A method for recommending an item by an item recommendation device using initial evaluation information, which is information including an evaluation result value in which each of a plurality of users evaluates at least one of a plurality of items,
Generating, by the item recommendation apparatus, an initial result value as an evaluation result value corresponding to an unevaluated item which is an item not evaluated by the user with respect to the initial evaluation information, and generating update evaluation information;
Learning, by the item recommendation apparatus, a deep learning model based on a predetermined differential weight applied to an error corresponding to the unevaluated item in the update evaluation information and the update evaluation information;
Generating, by the item recommendation apparatus, predictive evaluation information predicting a result of evaluating the plurality of items by the plurality of users based on the deep learning model and the initial evaluation information; And
The item recommending device includes the step of recommending a plurality of recommended items among the plurality of items to a recommendation target that is one of the plurality of users using the predictive evaluation information,
The initial result value is determined as a value equal to or less than a predetermined threshold evaluation value among evaluation result values that can be assigned to each of the plurality of items,
The step of training the deep learning model is
Setting, by the item recommendation apparatus, the differential weight value as a weight applied to an error corresponding to the unevaluated item in the update evaluation information;
Setting, by the item recommendation apparatus, a basic weight having a value greater than the differential weight as a weight applied to an error corresponding to an evaluation item that is the remaining item excluding the unevaluated item from the update evaluation information; And
A method of recommending items based on deep learning, wherein the item recommendation apparatus comprises repeatedly learning the deep learning model using the differential weight, the basic weight, and the update evaluation information.
상기 딥러닝 모델은
오토인코더(autoencoder)에 기반하는 것을 특징으로 하는 딥러닝 기반의 아이템 추천 방법. According to claim 1,
The deep learning model
A deep learning based item recommendation method characterized by being based on an autoencoder.
상기 복수의 추천아이템을 추천하는 단계는
상기 아이템 추천 장치가 상기 예측평가정보로부터 상기 추천대상자에 대한 상기 복수의 아이템에 대응되는 평가결과값을 추출하는 단계;
상기 아이템 추천 장치가 상기 추출된 평가결과값을 내림차순으로 정렬하는 단계; 및
상기 아이템 추천 장치가 상기 정렬된 평가결과값의 크기 순서에 따라, 상기 복수의 추천아이템을 추천하는 단계
를 포함하는 것을 특징으로 하는 딥러닝 기반의 아이템 추천 방법.According to claim 1,
The step of recommending the plurality of recommended items is
Extracting an evaluation result value corresponding to the plurality of items for the recommendation target by the item recommendation apparatus from the predicted evaluation information;
The item recommendation apparatus sorting the extracted evaluation result values in descending order; And
Recommending the plurality of recommendation items by the item recommendation apparatus according to the size order of the sorted evaluation result values.
Deep learning based item recommendation method comprising a.
상기 초기평가정보에 대하여 사용자가 평가하지 않은 아이템인 미평가아이템에 대응되는 평가결과값으로 소정의 초기결과값을 입력하여, 갱신평가정보를 생성하는 갱신부;
상기 갱신평가정보 및 상기 갱신평가정보에서 상기 미평가아이템에 대응되는 오차에 적용되는 소정의 차등가중치에 기초하여, 딥러닝 모델(deep learning model)을 학습시키는 학습부;
상기 딥러닝 모델 및 상기 초기평가정보에 기초하여, 상기 복수의 사용자가 상기 복수의 아이템을 평가한 결과를 예측하는 예측평가정보를 생성하는 예측부; 및
상기 예측평가정보를 이용하여 상기 복수의 사용자 중 하나인 추천대상자에게 상기 복수의 아이템 중에서 복수의 추천아이템을 추천하는 추천부를 포함하고,
상기 초기결과값은 상기 복수의 아이템 각각에 부여할 수 있는 평가결과값 중에서 기설정된 임계평가값 이하의 값으로 결정되며,
상기 학습부는 상기 갱신평가정보에서 상기 미평가아이템에 대응되는 오차에 적용되는 가중치로 상기 차등가중치를 설정하고,
상기 갱신평가정보에서 상기 미평가아이템을 제외한 나머지 아이템인 평가아이템에 대응되는 오차에 적용되는 가중치로 상기 차등가중치보다 큰 값을 갖는 기본가중치를 설정한 후,
상기 차등가중치, 상기 기본가중치 및 상기 갱신평가정보를 이용하여, 상기 딥러닝 모델을 반복적으로 학습시키는 것을 특징으로 하는 딥러닝 기반의 아이템 추천 장치.In the apparatus for recommending an item using the initial evaluation information that is information including the evaluation result value of each of a plurality of users, at least one evaluation of the plurality of items,
An update unit for generating update evaluation information by inputting a predetermined initial result value as an evaluation result value corresponding to an unevaluated item which is an item not evaluated by the user for the initial evaluation information;
A learning unit learning a deep learning model based on a predetermined differential weight applied to the update evaluation information and the error corresponding to the unevaluated item in the update evaluation information;
A prediction unit generating prediction evaluation information predicting a result of evaluating the plurality of items by the plurality of users based on the deep learning model and the initial evaluation information; And
And a recommendation unit for recommending a plurality of recommendation items among the plurality of items to a recommendation target that is one of the plurality of users using the prediction evaluation information.
The initial result value is determined as a value equal to or less than a preset threshold evaluation value among evaluation result values that can be assigned to each of the plurality of items,
The learning unit sets the differential weight value as a weight applied to an error corresponding to the unevaluated item in the update evaluation information,
After setting a basic weight value having a value greater than the differential weight value as a weight applied to an error corresponding to an evaluation item that is an item other than the unevaluated item in the update evaluation information,
A deep learning-based item recommendation apparatus characterized by repeatedly learning the deep learning model using the differential weight, the basic weight, and the update evaluation information.
상기 딥러닝 모델은
오토인코더(autoencoder)에 기반하는 것을 특징으로 하는 딥러닝 기반의 아이템 추천 장치.The method of claim 6,
The deep learning model
Deep learning based item recommendation device, characterized in that it is based on an autoencoder.
상기 추천부는
상기 예측평가정보로부터 상기 추천대상자에 대한 상기 복수의 아이템에 대응되는 평가결과값을 추출하고,
상기 추출된 평가결과값을 내림차순으로 정렬하고,
상기 정렬된 평가결과값의 크기 순서에 따라, 상기 복수의 추천아이템을 추천하는 것을 특징으로 하는 딥러닝 기반의 아이템 추천 장치.The method of claim 6,
The recommendation section
An evaluation result value corresponding to the plurality of items for the recommendation target is extracted from the prediction evaluation information,
Sort the extracted evaluation result values in descending order,
A device for recommending items based on deep learning, wherein the plurality of recommended items are recommended according to the size order of the sorted evaluation result values.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180016949A KR102129583B1 (en) | 2018-02-12 | 2018-02-12 | Method and apparatus for recommending items based on deep learning |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180016949A KR102129583B1 (en) | 2018-02-12 | 2018-02-12 | Method and apparatus for recommending items based on deep learning |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190103505A KR20190103505A (en) | 2019-09-05 |
KR102129583B1 true KR102129583B1 (en) | 2020-07-03 |
Family
ID=67949601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180016949A KR102129583B1 (en) | 2018-02-12 | 2018-02-12 | Method and apparatus for recommending items based on deep learning |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102129583B1 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102223161B1 (en) | 2019-10-11 | 2021-03-03 | 노주현 | System and methods of predicting timeliness products based on weather data |
KR20210082977A (en) * | 2019-12-26 | 2021-07-06 | 삼성전자주식회사 | Computing apparatus and operating method thereof |
KR20210117623A (en) | 2020-03-19 | 2021-09-29 | 삼성전자주식회사 | Computing apparatus and operating method thereof |
US20230259703A1 (en) * | 2020-05-29 | 2023-08-17 | Samsung Electronics Co., Ltd. | Electronic device and method for controlling the electronic device |
KR102553259B1 (en) * | 2020-12-28 | 2023-07-10 | 엠케이지 주식회사 | Coffee recommending system based on artificial intelligence |
CN113515704B (en) * | 2021-07-22 | 2024-05-03 | 中移(杭州)信息技术有限公司 | Recommendation effect evaluation method, device, system and computer program product |
KR102596352B1 (en) * | 2023-03-29 | 2023-11-01 | 주식회사 리버트리 | AI-based product recommendation system based on user psychology |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170132509A1 (en) * | 2015-11-06 | 2017-05-11 | Adobe Systems Incorporated | Item recommendations via deep collaborative filtering |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130046688A (en) * | 2011-10-28 | 2013-05-08 | 주식회사 비트컴퓨터 | Item recommendation system and method for personalization services |
KR101572719B1 (en) * | 2013-09-06 | 2015-12-01 | 한양대학교 산학협력단 | Data Imputation Using a Trust Network for Recommendation via Matrix Factorization |
-
2018
- 2018-02-12 KR KR1020180016949A patent/KR102129583B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170132509A1 (en) * | 2015-11-06 | 2017-05-11 | Adobe Systems Incorporated | Item recommendations via deep collaborative filtering |
Also Published As
Publication number | Publication date |
---|---|
KR20190103505A (en) | 2019-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102129583B1 (en) | Method and apparatus for recommending items based on deep learning | |
US11699095B2 (en) | Cross-domain recommender systems using domain separation networks and autoencoders | |
CN111797321B (en) | Personalized knowledge recommendation method and system for different scenes | |
CN110162709B (en) | Robust personalized ranking method for generating network by combining dual confrontation | |
CN108920503A (en) | A kind of micro- video personalized recommendation algorithm based on social networks degree of belief | |
US20170032398A1 (en) | Method and apparatus for judging age brackets of users | |
CN115082142A (en) | Recommendation method, device and medium based on heterogeneous relational graph neural network | |
CN112115377A (en) | Graph neural network link prediction recommendation method based on social relationship | |
CN112507245B (en) | Social network friend recommendation method based on graph neural network | |
CN113761388B (en) | Recommendation method and device, electronic equipment and storage medium | |
CN114780831A (en) | Sequence recommendation method and system based on Transformer | |
KR102195894B1 (en) | Hybrid item recommending method and apparatus | |
Sridhar et al. | Content-Based Movie Recommendation System Using MBO with DBN. | |
CN114386513A (en) | Interactive grading prediction method and system integrating comment and grading | |
Wang et al. | Online course recommendation algorithm based on multilevel fusion of user features and item features | |
KR102280301B1 (en) | Method and apparatus for recommending items using explicit and implicit feedback | |
CN113457167A (en) | Training method of user classification network, user classification method and device | |
CN111782934A (en) | Movie recommendation system and method for relieving data sparsity | |
CN112784153B (en) | Tourist attraction recommendation method integrating attribute feature attention and heterogeneous type information | |
Song et al. | Algorithm for generating negative cases for collaborative filtering recommender | |
CN114912031A (en) | Mixed recommendation method and system based on clustering and collaborative filtering | |
Sharma et al. | A generalized novel image forgery detection method using generative adversarial network | |
KR20200023686A (en) | Method and apparatus for item recommendation using deep learning | |
Haidn | Flight recommender system using implicit feedback | |
Boryczka et al. | Differential evolution in a recommendation system based on collaborative filtering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
X091 | Application refused [patent] | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) |