KR20210144330A - Method and apparatus for recommending item based on collaborative filtering neural network - Google Patents

Method and apparatus for recommending item based on collaborative filtering neural network Download PDF

Info

Publication number
KR20210144330A
KR20210144330A KR1020200061542A KR20200061542A KR20210144330A KR 20210144330 A KR20210144330 A KR 20210144330A KR 1020200061542 A KR1020200061542 A KR 1020200061542A KR 20200061542 A KR20200061542 A KR 20200061542A KR 20210144330 A KR20210144330 A KR 20210144330A
Authority
KR
South Korea
Prior art keywords
product
layer
seller
buyer
gmf
Prior art date
Application number
KR1020200061542A
Other languages
Korean (ko)
Other versions
KR102422408B1 (en
Inventor
김영채
안성국
안시현
Original Assignee
주식회사 스타일셀러
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 스타일셀러 filed Critical 주식회사 스타일셀러
Priority to KR1020200061542A priority Critical patent/KR102422408B1/en
Publication of KR20210144330A publication Critical patent/KR20210144330A/en
Application granted granted Critical
Publication of KR102422408B1 publication Critical patent/KR102422408B1/en

Links

Images

Classifications

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

Landscapes

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

Abstract

Disclosed are a method and apparatus for recommending a product using a collaborative filtering neural network. The method for recommending a product according to the present invention comprises: a data collection step of extracting identification information of a buyer, a seller, and a product, and profit information caused by a corresponding payment from payment logs of an online shopping mall; a learning step of modeling a collaborative filtering neural network by learning a relationship between the buyer and the product, a relationship between the product and the seller, and a relationship between the buyer and the seller using the data extracted in the data collection step; and a prediction step of calculating a predicted profit for each product used for determining a recommended product for each seller of the online shopping mall by using the collaborative filtering neural network having learned the relationships, wherein the collaborative filtering neural network may include: a plurality of generalized matrix factorization (GMF) layers to which a linear kernel is applied in order to model latent feature interaction; a plurality of multi-layer perceptron (MLP) layers using a non-linear kernel in order to learn an interaction function; and a neural matrix factorization (NeuMF) layer combining the output of the GMF layer with that of the MLP layer. The present invention can maximize a profit for an individual seller of an online shopping mall.

Description

협업 필터링 신경망을 이용하여 상품을 추천하는 방법 및 장치 {Method and apparatus for recommending item based on collaborative filtering neural network}{Method and apparatus for recommending item based on collaborative filtering neural network}

본 발명은 추천 시스템에 대한 것으로, 더 구체적으로는 암시적 피드백(implicit feedback)을 기초로 협업 필터링 및 인공 신경망 기술을 이용하여 온라인 쇼핑몰의 판매자들에게 판매 상품을 추천해주는 방법 및 장치에 대한 것이다.The present invention relates to a recommendation system, and more particularly, to a method and apparatus for recommending products to be sold to sellers of an online shopping mall by using collaborative filtering and artificial neural network technology based on implicit feedback.

정보 폭발의 시대에, 전자 상거래, 온라인 뉴스 및 소셜 미디어 사이트 등 많은 온라인 서비스에서 널리 채택되고 있는 추천 시스템은 정보 과부하를 완화하는 데 중추적인 역할을 한다.In the age of information explosion, recommendation systems, which are widely adopted in many online services such as e-commerce, online news and social media sites, play a pivotal role in alleviating information overload.

추천 알고리즘이란 사용자 및 상품의 프로필 정보나 사용자의 행동(클릭, 장바구니 담기, 구매 등) 정보를 통해 사용자가 어떤 상품을 좋아할지 예측하는 알고리즘으로, 크게 콘텐츠 기반 필터링(Contents Based Filtering) 알고리즘 계열과 협업 필터링(Collaborative Filtering) 알고리즘 계열로 나뉜다.The recommendation algorithm is an algorithm that predicts which product a user will like based on user and product profile information or user behavior (click, add to cart, purchase, etc.) It is divided into a family of collaborative filtering algorithms.

콘텐츠 기반 필터링은 프로필(메타 데이터)을 이용하는 방식이다. 특정 사용자와 프로필이 비슷한 사용자가 좋아한 상품을 추천하거나, 어떤 사용자가 좋아한 특정 아이템과 프로필이 유사한 아이템을 추천해준다.Content-based filtering is a method of using profiles (metadata). It recommends products liked by users with a profile similar to that of a specific user, or items with a profile similar to a specific item liked by a specific user.

그에 비해 협업 필터링은 사용자가 남긴 행동을 바탕으로 사용자들 간의 유사 관계도나 아이템들 간의 유사 관계도를 계산하는 방식이다. 협업 필터링은 사용자 행동, 활동 또는 선호도에 대한 많은 정보를 분석 및 수집하고 다른 사용자와의 비슷함에 기초를 두고 사용자들이 무엇을 좋아할 지를 예측한다. 흔히 협업 필터링은 콘텐츠 기반 필터링보다 정확하다고 알려져 있다. 아마존 같은 대형 이커머스 회사에서는 협업 필터링을 사용하여 소비자에게 구매할만한 상품을 추천한다.On the other hand, collaborative filtering is a method of calculating a degree of similarity between users or a degree of similarity between items based on actions left by the user. Collaborative filtering analyzes and gathers a lot of information about user behavior, activity or preferences and predicts what users will like based on their similarity to other users. Collaborative filtering is often known to be more accurate than content-based filtering. Large e-commerce companies like Amazon use collaborative filtering to recommend products to consumers to buy.

다양한 협업 필터링 기술 중 행렬 분해(Matrix Factorization, MF)는 가장 널리 사용되며, 사용자 또는 아이템(상품)을 나타내는 잠재 특징(latent features)의 벡터를 사용하여 사용자와 아이템을 공유된 잠재 공간(shared latent space)에 투영시킨다. 이에 따라 아이템에 대한 사용자의 상호작용이 잠재 벡터의 내적으로 모델링된다. 그러나, 협업 필터링을 위한 MF의 효과에도 불구하고, 인터랙션 함수(interaction function) ― 내적(inner product)의 단순한 선택에 의해 MF의 성능이 저하되는 문제가 있다.Among various collaborative filtering techniques, matrix factorization (MF) is the most widely used and uses vectors of latent features representing users or items (products) to share items with users in a shared latent space. ) is projected on Accordingly, the user's interaction with the item is modeled as the dot product of the latent vector. However, despite the effect of MF for collaborative filtering, there is a problem in that the performance of the MF is degraded by the simple selection of an interaction function - an inner product.

도 1은 종래의 행렬 분해(Matrix Factorization)를 이용한 추천 기술의 한계를 설명하기 위한 도면이다.1 is a diagram for explaining the limitation of a recommendation technique using a conventional matrix factorization.

도 1의 (a)는 사용자-아이템 행렬이고 (b)는 사용자 잠재 공간을 도시한 것이다. (b)에서 pi는 사용자 ui를 의미하며 선끼리 가까울수록 해당 사용자들 간의 유사도가 높다는 의미이다. 유사도를 S라 할 때 사용자 u1, u2, u3 간의 유사도는 S23 > S12 > S13 순임을 알 수 있다.Figure 1 (a) is a user-item matrix and (b) shows the user latent space. In (b), p i means user u i , and the closer the lines are, the higher the similarity between the users. When the similarity is S, it can be seen that the similarity between users u 1 , u 2 , and u 3 is in the order S 23 > S 12 > S 13 .

새로운 사용자에 대해 u4가 추가되면 유사도 관계는 S41 > S43 > S42 순인데, 도 1의 (b)를 보면 p4는 유사도 값과 달리 p2에 더 가까운 것을 볼 수 있다. 이로 인해 랭킹 로스(ranking loss)가 크게 발생하게 된다. When u 4 is added for a new user, the similarity relationship is in the order of S 41 > S 43 > S 42 . Referring to FIG. 1B , it can be seen that p 4 is closer to p 2 unlike the similarity value. This causes a large ranking loss.

최근 딥 러닝(Deep Learning)이 주목을 받으며 추천 시스템에 DNN(Deep Neural Network)을 사용하고 있지만, 주로 상품에 대한 텍스트 설명, 음악의 오디오 기능 및 이미지의 시각적 콘텐츠와 같은 보조 정보를 모델링하기 위한 사용에 그치고 있다.Although deep learning has recently attracted attention and is using deep neural networks (DNNs) for recommendation systems, it is mainly used for modeling auxiliary information such as text descriptions of products, audio features of music, and visual content of images. is ending at

한편, 상품 구매, 항목 클릭, 동영상 시청 등과 같은 행동을 통해 사용자의 선호도를 간접적으로 반영하는 암시적 피드백에 중점을 둔 추천 시스템의 개발이 진행되고 있다. 사용자가 리뷰를 남기거나 평점을 매기는 명시적 피드백(explicit feedback)에 비해 암시적 피드백은 자동으로 추적할 수 있으므로 콘텐츠 공급자가 수집하는 것이 훨씬 쉽다. 그러나 사용자 만족도가 관찰되지 않고 부정적인 피드백이 부족하기 때문에 활용하기는 더 어렵다는 문제가 있다.Meanwhile, development of a recommendation system focusing on implicit feedback that indirectly reflects a user's preference through actions such as purchasing a product, clicking an item, watching a video, etc. is in progress. Compared to explicit feedback, where users leave a review or rate, implicit feedback can be tracked automatically, making it much easier for content providers to collect. However, the problem is that it is more difficult to utilize because user satisfaction is not observed and there is a lack of negative feedback.

또한, 종래 전자상거래에서 추천 알고리즘은 구매자의 취향을 예측하여 구매자에게 어떤 상품을 구매할지 추천하는 것이 대부분인데, 판매자가 개인 마켓을 운영하면서 큰 어려움을 겪는 부분은 본인에게 알맞은 판매 상품이 무엇인지 알아내는 과정이다.Also, in conventional e-commerce, the recommendation algorithm predicts the taste of the buyer and recommends which product to purchase to the buyer. It is a process of paying

단순하게 판매량이나 매출액 순으로 판매 상품을 선택 또는 추천하게 되면 대부분의 판매자가 비슷한 인기 상품만을 팔게 되는 상황에 놓일 수도 있다. 이는 판매자들의 출혈 경쟁을 야기하고 때로는 자극적인 과장 광고로 소비자를 눈속임하는 전략이 사용된다. 결과적으로 쇼핑몰 전체의 발전에 악영향을 끼치게 된다.If you simply select or recommend products for sale in the order of sales or sales, you may be in a situation where most sellers will only sell similarly popular products. This leads to bleeding competition among sellers, and sometimes a strategy is used to deceive consumers with provocative exaggerated advertisements. As a result, it adversely affects the development of the entire shopping mall.

사용자가 구매 활동을 하면서 동시에 상품을 판매할 수 있도록 하는 온라인 쇼핑몰 서비스 역시 판매 활동을 하는 사용자 개개인의 수익을 극대화할 수 있도록 맞춤형으로 판매 상품을 추천해주는 기술이 부족하다. 특히, 판매자와 소비자가 밀접하게 상호작용하는 소셜 네트워크 서비스(Social Network Service, SNS)형 커머스의 경우, 각 판매자에게 적합한 판매 상품은 해당 판매자에게서 구매하는 소비자의 패턴에 따라 각자 다른 양상을 보인다. 하지만 개인 판매자로서는 본인의 고객들의 특징을 분석하여 적합한 판매 상품을 선택하기 어렵다.The online shopping mall service, which allows users to sell products while making purchases, also lacks the technology to recommend products for sale in a customized way to maximize the profits of individual users who engage in sales activities. In particular, in the case of social network service (SNS)-type commerce where sellers and consumers interact closely, products suitable for each seller show different aspects depending on the pattern of consumers who purchase from the seller. However, as an individual seller, it is difficult to select a suitable product for sale by analyzing the characteristics of their customers.

본 발명은 상기와 같은 종래 기술의 문제점을 해소하기 위한 것으로, 온라인 쇼핑몰의 거래 데이터에서 인터랙션 함수(interaction function)를 학습하기 위한 심층 신경망(deep neural network) 기반의 판매 상품 추천 방법 및 장치를 제공하는 것을 목적으로 한다.The present invention is to solve the problems of the prior art as described above, and to provide a method and apparatus for recommending products for sale based on a deep neural network for learning an interaction function from transaction data of an online shopping mall. aim to

또한, 본 발명은 심층 신경망을 이용하여 사용자의 암시적 피드백 신호를 모델링한 판매 상품 추천 방법 및 장치를 제공하는 것을 목적으로 한다. Another object of the present invention is to provide a method and apparatus for recommending a product for sale by modeling an implicit feedback signal of a user using a deep neural network.

또한, 본 발명은 온라인 쇼핑몰의 사용자 개개인에 대해 수익을 극대화할 수 있는 판매 상품을 추천하는 맞춤형 판매 상품 추천 방법 및 장치를 제공하는 것을 목적으로 한다. Another object of the present invention is to provide a customized product recommendation method and apparatus for recommending products for sale that can maximize profits for individual users of an online shopping mall.

상기와 같은 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 상품 추천 장치가 협업 필터링 신경망을 이용하여 상품을 추천하는 방법은, 온라인 쇼핑몰의 결제 로그로부터 구매자, 판매자 및 상품의 식별 정보와 해당 결제로 인한 수익 정보를 추출하는 데이터 수집 단계; 상기 데이터 수집 단계에서 추출한 데이터를 이용하여 구매자와 상품의 관계, 상품과 판매자의 관계 및 구매자와 판매자의 관계를 학습하는 협업 필터링 신경망을 모델링하는 학습 단계; 및 상기 학습된 협업 필터링 신경망을 이용하여, 상기 온라인 쇼핑몰의 각 판매자에 대해 추천 상품을 결정하는데 사용되는 상품별 예측 수익을 산출하는 예측 단계;를 포함하고, 상기 협업 필터링 신경망은, 잠재 특징 인터랙션(latent feature interaction)을 모델링하기 위해 선형 커널을 적용하는 복수의 GMF(Generalized Matrix Factorization) 레이어, 인터랙션 함수(interaction function)를 러닝하기 위해 비선형 커널을 사용하는 복수의 MLP(Multi-Layer Perceptron) 레이어, 및 상기 GMF 레이어와 상기 MLP 레이어의 출력을 결합하는 NeuMF(Neural Matrix Factorization) 레이어를 포함할 수 있다.In order to achieve the above object, a method for a product recommendation device to recommend a product using a collaborative filtering neural network according to an embodiment of the present invention includes identification information of a buyer, a seller, and a product from a payment log of an online shopping mall and corresponding information. A data collection step of extracting revenue information due to payment; a learning step of modeling a collaborative filtering neural network for learning a relationship between a buyer and a product, a relationship between a product and a seller, and a relationship between a buyer and a seller using the data extracted in the data collection step; and a prediction step of calculating a predicted profit for each product used to determine a recommended product for each seller of the online shopping mall by using the learned collaborative filtering neural network, wherein the collaborative filtering neural network includes a latent feature interaction (latent) A plurality of Generalized Matrix Factorization (GMF) layers that apply a linear kernel to model feature interaction), a plurality of Multi-Layer Perceptron (MLP) layers that use a non-linear kernel to learn an interaction function, and the above It may include a NeuMF (Neural Matrix Factorization) layer that combines the output of the GMF layer and the MLP layer.

상기 학습 단계는, 상기 데이터 수집 단계에서 추출한 구매자, 판매자 및 상품의 식별 정보를 원-핫 인코딩(one-hot encoding)하여 이진화된 스파스 벡터(sparse vector)로 변환하는 단계; 및 상기 이진화된 스파스 벡터를 저차원의 임베딩 벡터로 변환하는 단계;를 포함할 수 있다.The learning step may include converting the identification information of the buyer, the seller, and the product extracted in the data collection step into a binary sparse vector by one-hot encoding; and converting the binarized sparse vector into a low-dimensional embedding vector.

상기 복수의 GMF 레이어는, 상기 구매자에 대한 잠재 벡터(latent vector)와 상기 상품에 대한 잠재 벡터에 대해 요소별 곱(element-wise product)을 적용한 구매자-상품 GMF 레이어; 상기 상품에 대한 잠재 벡터와 상기 판매자에 대한 잠재 벡터에 대해 요소별 곱을 적용한 상품-판매자 GMF 레이어; 및 상기 구매자에 대한 잠재 벡터와 상기 판매자에 대한 잠재 벡터에 대해 요소별 곱을 적용한 구매자-판매자 GMF 레이어;를 포함할 수 있다.The plurality of GMF layers may include: a buyer-product GMF layer in which an element-wise product is applied to a latent vector for the buyer and a latent vector for the product; a product-seller GMF layer in which a product-by-element product is applied to the latent vector for the product and the latent vector for the seller; and a buyer-seller GMF layer in which an element-wise product is applied to the latent vector for the buyer and the latent vector for the seller.

상기 학습 단계는, 상기 구매자-상품 GMF 레이어, 상기 상품-판매자 GMF 레이어 및 상기 구매자-판매자 GMF 레이어를 통해 상기 임베딩 벡터를 학습하는 단계; 상기 복수의 MLP 레이어를 통해 상기 임베딩 벡터를 학습하는 단계; 및 상기 구매자-상품 GMF 레이어, 상기 상품-판매자 GMF 레이어, 상기 구매자-판매자 GMF 레이어 및 상기 복수의 MLP 레이어의 출력을 결합하여 상기 NeuMF 레이어를 통해 학습하는 단계;를 더 포함할 수 있다.The learning step may include: learning the embedding vector through the buyer-product GMF layer, the product-seller GMF layer, and the buyer-seller GMF layer; learning the embedding vector through the plurality of MLP layers; and combining outputs of the buyer-product GMF layer, the product-seller GMF layer, the buyer-seller GMF layer, and the plurality of MLP layers to learn through the NeuMF layer.

상기 학습 단계는, 상기 NeuMF 레이어의 출력과 상기 데이터 수집 단계에서 추출한 수익 정보를 이용하여 손실(loss)을 계산하는 단계;를 더 포함할 수 있다.The learning step may further include calculating a loss using the output of the NeuMF layer and the profit information extracted in the data collection step.

상기 임베딩 벡터로 변환하는 단계는, 상기 GMF 레이어 및 상기 MLP 레이어 각각을 위해 잠재 벡터의 원소 개수가 상이한 별개의 임베딩 벡터를 생성하는 단계;를 포함할 수 있다.The converting into the embedding vector may include generating a separate embedding vector having a different number of elements of the latent vector for each of the GMF layer and the MLP layer.

본 발명의 일 실시예에 따른 컴퓨터로 구현되는 협업 필터링 신경망을 이용한 상품 추천 장치는 컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 온라인 쇼핑몰의 결제 로그로부터 구매자, 판매자 및 상품의 식별 정보와 해당 결제로 인한 수익 정보를 추출하는 데이터 수집 모듈; 상기 데이터 수집 단계에서 추출한 데이터를 이용하여 구매자와 상품의 관계, 상품과 판매자의 관계 및 구매자와 판매자의 관계를 학습하는 협업 필터링 신경망을 모델링하는 신경망 학습 모듈; 및 상기 학습된 협업 필터링 신경망을 이용하여, 상기 온라인 쇼핑몰의 각 판매자에 대해 추천 상품을 결정하는데 사용되는 상품별 예측 수익을 산출하는 예측 모듈;을 포함하고, 상기 협업 필터링 신경망은, 잠재 특징 인터랙션(latent feature interaction)을 모델링하기 위해 선형 커널을 적용하는 복수의 GMF(Generalized Matrix Factorization) 레이어, 인터랙션 함수(interaction function)를 러닝하기 위해 비선형 커널을 사용하는 복수의 MLP(Multi-Layer Perceptron) 레이어, 및 상기 GMF 레이어와 상기 MLP 레이어의 출력을 결합하는 NeuMF(Neural Matrix Factorization) 레이어를 포함할 수 있다.A product recommendation apparatus using a computer-implemented collaborative filtering neural network according to an embodiment of the present invention includes at least one processor implemented to execute a computer-readable command, wherein the at least one processor is configured to pay for an online shopping mall a data collection module for extracting identification information of buyers, sellers, and products from the log, and revenue information from the corresponding payment; a neural network learning module for modeling a collaborative filtering neural network that learns a relationship between a buyer and a product, a relationship between a product and a seller, and a relationship between a buyer and a seller using the data extracted in the data collection step; and a prediction module for calculating a predicted profit for each product used to determine a recommended product for each seller of the online shopping mall by using the learned collaborative filtering neural network, wherein the collaborative filtering neural network includes a latent feature interaction (latent) A plurality of Generalized Matrix Factorization (GMF) layers that apply a linear kernel to model feature interaction), a plurality of Multi-Layer Perceptron (MLP) layers that use a non-linear kernel to learn an interaction function, and the above It may include a NeuMF (Neural Matrix Factorization) layer that combines the output of the GMF layer and the MLP layer.

본 발명에 의하면, 온라인 쇼핑몰의 거래 데이터에서 인터랙션 함수를 학습하기 위한 심층 신경망 기반의 판매 상품 추천 방법 및 장치를 제공할 수 있다.According to the present invention, it is possible to provide a method and apparatus for recommending products for sale based on a deep neural network for learning an interaction function from transaction data of an online shopping mall.

또한, 본 발명에 의하면, 심층 신경망을 이용하여 사용자의 암시적 피드백 신호를 모델링한 판매 상품 추천 방법 및 장치를 제공할 수 있다. Further, according to the present invention, it is possible to provide a method and apparatus for recommending a product for sale by modeling an implicit feedback signal of a user using a deep neural network.

또한, 본 발명에 의하면, 소셜 네트워크의 형태로 구매자와 판매자가 인터랙션하도록 인터페이스를 제공하는 쇼핑몰 서비스에서 그 상호 작용도 신경망 모델이 학습하도록 함으로써, 온라인 쇼핑몰의 판매자 개개인에 대해 수익을 극대화할 수 있는 판매 상품을 추천하는 맞춤형 판매 상품 추천 방법 및 장치를 제공할 수 있다.In addition, according to the present invention, by allowing the neural network model to learn the interaction in the shopping mall service that provides an interface for the interaction between the buyer and the seller in the form of a social network, sales that can maximize profits for individual sellers of the online shopping mall A customized sales product recommendation method and apparatus for recommending a product may be provided.

도 1은 종래의 행렬 분해(Matrix Factorization)를 이용한 추천 기술의 한계를 설명하기 위한 도면이다.
도 2 및 도 3은 본 발명의 일 실시예에 따른 판매 상품 추천 시스템의 구성을 설명하기 위한 블록도이다.
도 4 및 도 5는 본 발명의 일 실시예에 따른 협업 필터링 신경망의 모델을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 판매 상품 추천 방법을 설명하기 위한 순서도이다.
도 7 내지 도 9는 본 발명의 일 실시예에 따른 협업 필터링 신경망의 학습 및 예측 원리를 설명하기 위한 도면이다.
1 is a diagram for explaining the limitation of a recommendation technique using a conventional matrix factorization.
2 and 3 are block diagrams for explaining the configuration of a product recommendation system for sale according to an embodiment of the present invention.
4 and 5 are diagrams for explaining a model of a collaborative filtering neural network according to an embodiment of the present invention.
6 is a flowchart illustrating a method for recommending a product for sale according to an embodiment of the present invention.
7 to 9 are diagrams for explaining a learning and prediction principle of a collaborative filtering neural network according to an embodiment of the present invention.

본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다. Terms used in this specification will be briefly described, and the present invention will be described in detail.

본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다. The terms used in the present invention have been selected as currently widely used general terms as possible while considering the functions in the present invention, but these may vary depending on the intention or precedent of a person skilled in the art, the emergence of new technology, and the like. In addition, in a specific case, there is a term arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the description of the corresponding invention. Therefore, the term used in the present invention should be defined based on the meaning of the term and the overall content of the present invention, rather than the name of a simple term.

명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...수단", "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.When a part "includes" a certain element throughout the specification, this means that other elements may be further included, rather than excluding other elements, unless otherwise stated. In addition, terms such as "...means", "...unit", and "module" described in the specification mean a unit that processes at least one function or operation, which is implemented in hardware or software, or is implemented in hardware and software. It can be implemented by combining

아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, with reference to the accompanying drawings, embodiments of the present invention will be described in detail so that those of ordinary skill in the art can easily carry out the embodiments of the present invention. However, the present invention may be embodied in many different forms and is not limited to the embodiments described herein. And in order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.

이하에서는, 첨부된 도면을 참조하여 본 발명의 다양한 실시예에 따른 판매 상품 추천 방법 및 장치에 대해 구체적으로 설명하기로 한다.Hereinafter, a method and apparatus for recommending a product for sale according to various embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명의 일 실시예에 따른 사용자 단말 및 판매 상품 추천 장치의 내부 구성을 설명하기 위한 블록도이다.2 is a block diagram illustrating the internal configuration of a user terminal and an apparatus for recommending a product for sale according to an embodiment of the present invention.

사용자 단말(310)과 판매 상품 추천 장치(100)는 메모리(211, 221), 프로세서(212, 222), 통신 모듈(213, 223) 그리고 입출력 인터페이스(214, 224)를 포함하는 컴퓨팅 장치이다. 사용자 단말(310)은 판매 상품 추천 서비스를 포함하는 온라인 쇼핑몰 서비스를 이용하는 사용자의 전자 기기이다.The user terminal 310 and the product recommendation device 100 are computing devices including memories 211 and 221 , processors 212 and 222 , communication modules 213 and 223 , and input/output interfaces 214 and 224 . The user terminal 310 is an electronic device of a user using an online shopping mall service including a product recommendation service.

본 발명에서 사용자는 구매자일 수도 있고 판매자일 수도 있으며, 소정 시점에 상품의 구매자 또는 판매자로 활동한다. 즉, 판매자는 온라인 쇼핑몰에서 상품을 판매할 뿐만 아니라 해당 쇼핑몰의 상품을 구매하기도 하는 사용자를 말하며, 본 발명은 판매자 모드로 접속한 사용자에게 판매 상품을 추천하는 기술을 제시한다. 온라인 쇼핑몰 서비스를 제공하는 서버(미도시)는 판매 상품 추천 장치(100)와 동일한 서버 또는 별도의 서버로 구현될 수 있다.In the present invention, a user may be a buyer or a seller, and acts as a buyer or seller of a product at a predetermined time. That is, the seller refers to a user who not only sells products in the online shopping mall but also purchases products of the corresponding shopping mall, and the present invention provides a technology for recommending products to be sold to a user connected in the seller mode. The server (not shown) providing the online shopping mall service may be implemented as the same server as the selling product recommendation apparatus 100 or a separate server.

메모리(211, 221)는 비-일시적인 컴퓨터 판독 가능한 기록매체로서, RAM(Random Access Memory), ROM(Read Only Memory), 디스크 드라이브, SSD(Solid State Drive), 플래시 메모리(flash memory) 등과 같은 비소멸성 대용량 저장 장치를 포함할 수 있다. 여기서 ROM, SSD, 플래시 메모리, 디스크 드라이브 등과 같은 비소멸성 대용량 저장 장치는 메모리(211, 221)와는 구분되는 별도의 영구 저장 장치로서 사용자 단말(310)이나 판매 상품 추천 장치(100)에 포함될 수도 있다. 또한, 메모리(211, 221)에는 운영체제와 적어도 하나의 프로그램 코드(예를 들어, 온라인 쇼핑몰 서비스 이용을 위해 사용자 단말(310)에 설치된 어플리케이션, 판매 상품 추천 서비스 제공을 위해 추천 장치(100)에 설치된 프로그램을 위한 코드 등)가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(211, 221)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 로딩될 수도 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 모듈(213, 223)을 통해 메모리(211, 221)에 로딩될 수도 있다. 예를 들어, 적어도 하나의 프로그램은 개발자들 또는 어플리케이션의 설치 파일을 배포하는 파일 배포 시스템이 네트워크(320)를 통해 제공하는 파일들에 의해 설치되는 컴퓨터 프로그램에 기반하여 메모리(211, 221)에 로딩될 수 있다.The memories 211 and 221 are non-transitory computer-readable recording media, and are non-transitory computer-readable recording media such as random access memory (RAM), read only memory (ROM), disk drives, solid state drives (SSDs), flash memory, and the like. It may include a volatile mass storage device. Here, a non-volatile mass storage device such as a ROM, SSD, flash memory, disk drive, etc. may be included in the user terminal 310 or the product recommendation device 100 as a separate permanent storage device distinct from the memories 211 and 221 . . In addition, in the memories 211 and 221 , an operating system and at least one program code (eg, an application installed in the user terminal 310 to use an online shopping mall service, and an application installed in the recommendation device 100 to provide a product recommendation service for sale) code for a program, etc.) may be stored. These software components may be loaded from a computer-readable recording medium separate from the memories 211 and 221 . The separate computer-readable recording medium may include a computer-readable recording medium such as a floppy drive, a disk, a tape, a DVD/CD-ROM drive, and a memory card. In another embodiment, the software components may be loaded into the memories 211 and 221 through the communication modules 213 and 223 rather than the computer-readable recording medium. For example, at least one program is loaded into the memories 211 and 221 based on a computer program installed by files provided through the network 320 by developers or a file distribution system that distributes installation files of applications. can be

프로세서(212, 222)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(211, 221) 또는 통신 모듈(213, 223)에 의해 프로세서(212, 222)로 제공될 수 있다. 예를 들어 프로세서(212, 222)는 메모리(211, 221)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.The processors 212 and 222 may be configured to process instructions of a computer program by performing basic arithmetic, logic, and input/output operations. The instructions may be provided to the processors 212 and 222 by the memories 211 and 221 or the communication modules 213 and 223 . For example, the processors 212 and 222 may be configured to execute received instructions according to program codes stored in a recording device such as the memories 211 and 221 .

통신 모듈(213, 223)은 네트워크(320)를 통해 사용자 단말(310)과 판매 상품 추천 장치(100)가 서로 통신하기 위한 기능을 제공할 수 있으며, 사용자 단말(310) 및/또는 판매 상품 추천 장치(100)가 다른 전자 기기 또는 다른 서버와 통신하기 위한 기능을 제공할 수 있다.The communication modules 213 and 223 may provide a function for the user terminal 310 and the selling product recommendation apparatus 100 to communicate with each other through the network 320 , and the user terminal 310 and/or selling product recommendation The device 100 may provide a function for communicating with another electronic device or another server.

입출력 인터페이스(214)는 입출력 장치(311)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 키보드, 마우스, 마이크로폰, 카메라 등의 장치를, 그리고 출력 장치는 디스플레이, 스피커, 햅틱 피드백 디바이스(haptic feedback device) 등과 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(214)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수 있다. 사용자 단말(310)의 프로세서(212)가 메모리(211)에 로딩된 컴퓨터 프로그램의 명령을 처리함에 있어서 판매 상품 추천 장치(100)가 제공하는 데이터를 이용하여 구성되는 서비스 화면이나 컨텐츠가 입출력 인터페이스(214)를 통해 디스플레이에 표시될 수 있다. 입출력 장치(311)는 사용자 단말(310)과 하나의 장치로 구성될 수도 있다.The input/output interface 214 may be a means for interfacing with the input/output device 311 . For example, the input device may include a device such as a keyboard, mouse, microphone, camera, and the like, and the output device may include a device such as a display, speaker, haptic feedback device, and the like. As another example, the input/output interface 214 may be a means for an interface with a device in which functions for input and output are integrated into one, such as a touch screen. When the processor 212 of the user terminal 310 processes the command of the computer program loaded in the memory 211, the service screen or content configured using the data provided by the product recommendation device 100 for sale is displayed on the input/output interface ( 214) may be displayed on the display. The input/output device 311 may include the user terminal 310 and one device.

또한, 판매 상품 추천 장치(100)의 입출력 인터페이스(224)는 판매 상품 추천 장치(100)와 연결되거나 판매 상품 추천 장치(100)가 포함할 수 있는 입력 또는 출력을 위한 장치(미도시)와의 인터페이스를 위한 수단일 수 있다.In addition, the input/output interface 224 of the product recommendation apparatus 100 for sale is an interface with an input or output device (not shown) that may be connected to the product recommendation device 100 or included in the product recommendation device 100 for sale. may be a means for

또한, 다른 실시예에서 사용자 단말(310) 및 판매 상품 추천 장치(100)는 도 2의 구성요소들보다 더 많은 구성요소들을 포함할 수 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 사용자 단말(310)은 상술한 입출력 장치(311) 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), GPS(Global Positioning System) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수 있다. 보다 구체적인 예로, 사용자 단말(310)이 스마트폰인 경우, 일반적으로 스마트폰이 포함하고 있는 가속도 센서나 자이로 센서, 카메라 모듈, 각종 물리적인 버튼, 터치패널을 이용한 버튼, 입출력 포트, 진동을 위한 진동기 등의 다양한 구성요소들이 사용자 단말(310)에 더 포함되도록 구현될 수 있다.In addition, in another embodiment, the user terminal 310 and the product recommendation apparatus 100 may include more components than those of FIG. 2 . However, there is no need to clearly show most of the prior art components. For example, the user terminal 310 is implemented to include at least a part of the above-described input/output device 311 or other components such as a transceiver, a global positioning system (GPS) module, a camera, various sensors, and a database. may include more. As a more specific example, when the user terminal 310 is a smartphone, an acceleration sensor or a gyro sensor, a camera module, various physical buttons, a button using a touch panel, an input/output port, and a vibrator for vibration generally included in the smartphone. Various components such as may be implemented to be further included in the user terminal 310 .

도 3은 본 발명의 일 실시예에 따른 판매 상품 추천 시스템의 구성을 설명하기 위한 블록도이다.3 is a block diagram illustrating the configuration of a product recommendation system for sale according to an embodiment of the present invention.

도 2 및 도 3를 참조하면, 컴퓨터로 구현되는 협업 필터링 신경망을 이용한 판매 상품 추천 장치(100)는, 컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서(222)를 포함하고, 프로세서(222)는 데이터 수집 모듈(101), 학습 모듈(102) 및 예측 모듈(103)을 포함하여 실행할 수 있다.2 and 3, the product recommendation apparatus 100 using a collaborative filtering neural network implemented by a computer includes at least one processor 222 implemented to execute a computer-readable instruction, and the processor ( 222 may include a data collection module 101 , a learning module 102 , and a prediction module 103 .

데이터 수집 모듈(101)은, 온라인 쇼핑몰의 결제 로그(110)로부터 구매자, 판매자 및 상품의 식별 정보와 해당 결제로 인한 수익 정보를 추출한다. 결제 로그를 제공하는 온라인 쇼핑몰은 하나 또는 복수의 서비스일 수 있다. The data collection module 101 extracts identification information of a buyer, a seller, and a product and information on revenue resulting from the corresponding payment from the payment log 110 of the online shopping mall. The online shopping mall providing the payment log may be one or a plurality of services.

신경망 학습 모듈(102)은 데이터 수집 모듈(101)에 의해 추출된 데이터를 이용하여 협업 필터링 신경망을 딥 러닝(deep learning) 시킨다. 신경망 학습 모듈(102)은 구매자와 상품의 관계, 상품과 판매자의 관계 및 구매자와 판매자의 관계를 딥 러닝(deep learning)한다. 이를 위해, 협업 필터링 신경망은 판매자, 구매자, 상품이라는 3개의 엔터티(entity)를 가지고 머신 러닝(machine learning)을 수행하여 확률값을 계산한다. 판매자와 구매자는 모두 해당 온라인 쇼핑몰의 사용자로 인플루언서(influencer)와 팔로워(follower)라는 밀접한 특정 관계가 있으며, 구매자와 상품 사이에는 구매 여부라는 특정 관계가 있다.The neural network learning module 102 performs deep learning of the collaborative filtering neural network using the data extracted by the data collection module 101 . The neural network learning module 102 deep learns the relationship between the buyer and the product, the relationship between the product and the seller, and the relationship between the buyer and the seller. To this end, the collaborative filtering neural network calculates a probability value by performing machine learning with three entities: a seller, a buyer, and a product. Both the seller and the buyer are users of the corresponding online shopping mall, and there is a close specific relationship between the influencer and the follower, and there is a specific relationship between the buyer and the product, whether or not to purchase.

예측 모듈(103)은 학습된 협업 필터링 신경망을 이용해 온라인 쇼핑몰의 소정 판매자에 대한 각 상품별 예측 수익(120)을 산출한다. 예측 모듈(103)은 모든 판매자에 대해, 각 판매자와 연관된 구매자들에 대해, 그리고 모든 상품에 대해 수익을 예측한다. 즉, 모든 판매자-구매자-상품 쌍에 대한 수익을 예측한다. 예측된 수익은 각 판매자에게 추천할 상품을 결정하고 추천 판매 상품 리스트를 생성하는데 사용될 것이다.The prediction module 103 calculates the predicted revenue 120 for each product for a predetermined seller of the online shopping mall by using the learned collaborative filtering neural network. The prediction module 103 predicts revenue for all sellers, for buyers associated with each seller, and for all products. That is, it predicts the revenue for every seller-buyer-product pair. The predicted revenue will be used to determine products to recommend to each seller and to generate a list of recommended products for sale.

도 4 및 도 5는 본 발명의 일 실시예에 따른 협업 필터링 신경망의 모델을 설명하기 위한 도면이다.4 and 5 are diagrams for explaining a model of a collaborative filtering neural network according to an embodiment of the present invention.

본 발명은 인공신경망 모델에서 행렬 분해(MF)를 표현하고 일반화하는 동시에 인공신경망 모델의 비선형성을 증대시키기 위해 다층 퍼셉트론(Multi-Layer Perceptron)을 활용하여 사용자와 상품 간의 인터랙션 함수를 학습함으로써, 더 효율적인 추천 성능을 가지는 상품 추천 방법 및 장치를 제안한다.The present invention uses a multi-layer perceptron to express and generalize matrix decomposition (MF) in an artificial neural network model and at the same time increase the non-linearity of the artificial neural network model by learning the interaction function between the user and the product. A product recommendation method and apparatus having efficient recommendation performance are proposed.

도 4에 도시된 바와 같이, 본 발명에서는 암시적 피드백 데이터의 이진 속성을 강조하는 확률적 모델로 협업 필터링 신경망을 학습한다. 본원에서는 협업 필터링에 중점을 두므로, 입력 특징(input feature)으로 사용자(user)와 상품(item)의 식별자(identity)만을 사용한다.As shown in FIG. 4 , in the present invention, a collaborative filtering neural network is trained with a probabilistic model that emphasizes the binary properties of implicit feedback data. Since the focus is on collaborative filtering in this application, only the identities of the user and the item are used as input features.

도 4를 참조하면, 협업 필터링 신경망의 입력 레이어(Input Layer)는 사용자(판매자)와 제품 식별자를 원-핫 인코딩(one-hot-encoding)한 이진화된 스파스 벡터(sparse vector, 411, 412)를 포함할 수 있다.Referring to FIG. 4, the input layer of the collaborative filtering neural network is a binarized sparse vector (sparse vector, 411, 412) obtained by one-hot-encoding a user (seller) and a product identifier. may include.

임베딩 레이어(Embedding Layer)는 아래 계층인 입력 레이어의 입력 벡터들(411, 412)을 임베딩한 것으로 입력 벡터를 차원을 축소시켜 표현한 밀집 벡터(421, 422, 423, 424)를 포함한다.The embedding layer embeds the input vectors 411 and 412 of the input layer, which is a lower layer, and includes dense vectors 421 , 422 , 423 , and 424 expressed by reducing the dimension of the input vector.

타겟 데이터

Figure pat00001
(461)는 0 또는 1로, item(i)가 user(u)와 관련이 있을 때 1로 관련이 없을 때 0으로 정의한다. 예측값
Figure pat00002
(451)는 0과 1 사이로 하여 1에 가까울수록 item(i)와 user(u)의 관련도가 높도록 설정한다. target data
Figure pat00001
(461) is defined as 0 or 1, 1 when item(i) is related to user(u), and 0 when not related to user(u). predicted value
Figure pat00002
(451) is set between 0 and 1 so that the closer to 1, the higher the relation between item(i) and user(u).

우도 함수(likelihood function)는 다음과 같이 정의할 수 있다.The likelihood function can be defined as follows.

Figure pat00003
Figure pat00003

상기 함수의 네거티브 로그화로 다음과 같이 함수를 완성할 수 있다.With the negative logarithm of the above function, the function can be completed as follows.

Figure pat00004
Figure pat00004

GMF 레이어(Generalized Matrix Factorization Layer, 431)는 잠재 특징 인터랙션(latent feature interactions)을 모델링하기 위해 선형 커널(linear kernel)을 적용하는 레이어이다. GMF 레이어(431)에서는 사용자의 잠재 공간과 상품의 잠재 공간 간의 관계를 요소별 연산으로 학습하여 사용자와 상품의 관계를 파악한다. The GMF layer (Generalized Matrix Factorization Layer, 431) is a layer that applies a linear kernel to model latent feature interactions. The GMF layer 431 learns the relationship between the user's latent space and the product's latent space by element-by-element operation to understand the relationship between the user and the product.

임베딩 레이어의 임베딩 벡터는 사용자의 잠재 벡터(421, 422)와 상품의 잠재 벡터(423, 424)로 표현되는데 사용자 잠재 벡터

Figure pat00005
Figure pat00006
로 상품 잠재 벡터
Figure pat00007
Figure pat00008
로 표현될 수 있으며, GMF 레이어의 매핑 함수는 다음과 같이 정의할 수 있다. 여기서, ⊙는 벡터들의 요소별 곱(element-wise product)을 나타낸다.The embedding vector of the embedding layer is expressed by the user's latent vectors (421, 422) and the product's latent vectors (423, 424).
Figure pat00005
Is
Figure pat00006
As Goods Potential Vector
Figure pat00007
Is
Figure pat00008
It can be expressed as , and the mapping function of the GMF layer can be defined as follows. Here, ⊙ denotes an element-wise product of vectors.

Figure pat00009
Figure pat00009

이 벡터를 출력 레이어에 투영하면 다음과 같다. 여기서, aout은 활성화 함수(activation function)를 h는 출력 레이어의 에지 웨이트(edge weights)를 나타낸다.Projecting this vector onto the output layer looks like this: Here, a out denotes an activation function and h denotes edge weights of the output layer.

Figure pat00010
Figure pat00010

MLP(Multi-Layer Perceptron) 레이어(432)는 입력 데이터로부터 인터랙션 함수(interaction function)를 러닝하기 위해 비선형 커널을 사용하는 레이어이다. MLP 레이어(432)에서는 사용자의 잠재 공간과 상품의 잠재 공간 간의 관계를 DNN으로 학습하는데, 사용자의 잠재 공간과 상품의 잠재 공간을 하나의 잠재 공간으로 이어 이들 간의 관계를 GMF와 다른 형태의 네트워크로 학습할 수 있다.The Multi-Layer Perceptron (MLP) layer 432 is a layer that uses a non-linear kernel to learn an interaction function from input data. The MLP layer 432 learns the relationship between the user's latent space and the product's latent space with DNN. can learn

MLP 모델은 다음과 같이 정의할 수 있다. 여기서, Wx, Bx, ax는 각각 x 번째 MLP 레이어의 웨이트 매트릭스(weight matrix), 바이어스 벡터(vias vector), 활성화 함수를 나타낸다. 이 예에서 활성화 함수로 Rectifier(ReLU)를 사용하고 있음을 알 수 있으나, 실시예에 따라서는 다른 함수를 사용할 수도 있다.The MLP model can be defined as follows. Here, W x , B x , and a x represent a weight matrix, a bias vector, and an activation function of the x-th MLP layer, respectively. Although it can be seen that Rectifier (ReLU) is used as the activation function in this example, another function may be used depending on the embodiment.

Figure pat00011
Figure pat00011

Figure pat00012
Figure pat00012

NeuMF 레이어(441)는 다음 수식과 같이 GMF 레이어(431)와 MLP 레이어(432)를 concatenation으로 합친다. 임베딩 벡터는 MF 사용자 벡터(421)과 MLP 사용자 벡터(422)와 같이 2 종류로 나뉜다. GMF와 MLP에서 최적의 임베딩 개수가 각각 다를 것이므로 모델별로 각각 임베딩을 한 것이다.The NeuMF layer 441 combines the GMF layer 431 and the MLP layer 432 by concatenation as shown in the following equation. The embedding vector is divided into two types, such as an MF user vector 421 and an MLP user vector 422 . Since the optimal number of embeddings will be different in GMF and MLP, embeddings are performed for each model.

Figure pat00013
Figure pat00013

Figure pat00014
Figure pat00014

Figure pat00015
는 GMF 레이어(431)에 입력되는 사용자 임베딩 벡터(421)이고,
Figure pat00016
는 MLP 레이어(432)에 입력되는 사용자 임베딩 벡터(422)를 나타낸다. 이와 유사하게
Figure pat00017
,
Figure pat00018
는 각각 GMF 파트, MLP 파트의 상품 벡터(423, 424)를 나타낸다.
Figure pat00015
is a user embedding vector 421 input to the GMF layer 431,
Figure pat00016
denotes a user embedding vector 422 input to the MLP layer 432 . similarly
Figure pat00017
,
Figure pat00018
denotes product vectors 423 and 424 of the GMF part and the MLP part, respectively.

NeuMF 레이어(441)의 입력으로 들어갈 GMF 레이어(431)와 MLP 레이어(432) 파트를 합칠 때 가중치(weight)를 사용해서 상황에 따라 각 파트에 대한 중요도를 조절할 수 있다. GMF와 MLP를 각각 사전 훈련(pre-training)한 다음에 사전 훈련된 파라미터를 이용해 NeuMF 파라미터의 연관 부분을 초기화시키고 vanilla SGD(stochastic gradient descent)로 NeuMF를 최적화할 수 있다.When combining parts of the GMF layer 431 and the MLP layer 432 to be input to the NeuMF layer 441 , a weight may be used to adjust the importance of each part according to a situation. After pre-training GMF and MLP, respectively, we can initialize the associative part of the NeuMF parameters using the pre-trained parameters and optimize NeuMF with vanilla SGD (stochastic gradient descent).

상술한 바와 같이 도 4의 실시예에서는 사용자 u가 상품 i를 좋아할 확률을 예측할 수 있다. 이에 비해 도 5의 실시예에서는 구매자 b가 상품 i로 판매자 s에게 일으킬 수익을 예측할 수 있다.As described above, in the embodiment of FIG. 4 , the probability that user u likes product i can be predicted. In contrast, in the embodiment of FIG. 5 , it is possible to predict the profit that the buyer b will generate to the seller s with the product i.

본 발명에서는 온라인 쇼핑몰 서비스의 사용자를 구매자와 판매자로 구분하고, 구매자의 상품에 대한 선호도뿐만 아니라 상품과 판매자 간의 관계 그리고 구매자와 판매자 간의 상호작용까지 신경망 모델이 학습하도록 함으로써, 어떤 상품이 판매자가 판매하기에 좋은 상품인지 정확히 예측할 수 있다. 즉, 구매자가 판매자에게 상품을 구매한 이력을 바탕으로 구매자-판매자-상품 간의 상호작용을 학습하여 판매자가 어떤 상품을 좋아하고 어떤 상품에 의해 수익을 극대화시킬지 예측한다.In the present invention, a user of an online shopping mall service is divided into a buyer and a seller, and the neural network model learns not only the buyer's preference for the product, but also the relationship between the product and the seller and the interaction between the buyer and the seller, so that a certain product is sold by the seller. You can accurately predict whether it is a good product to do. In other words, the buyer-seller-product interaction is learned based on the purchase history of the buyer from the seller to predict which products the seller will like and which products will maximize profits.

도 5의 실시예에 따르면, 온라인 쇼핑몰 서비스의 거래 로그로부터 구매자, 판매자, 거래 상품에 대한 식별 정보와 해당 거래에 의한 수익 정보를 수집하고, 수집된 데이터를 협업 필터링 신경망 모델의 입력으로 하여 구매자와 상품 간의 관계, 판매자와 구매자 간의 관계 및 판매자와 상품 간의 관계를 학습시킨다. 학습된 협업 필터링 신경망을 통해 어떤 판매자가 어떤 구매자로부터 어떤 상품으로 인해 얼마만큼의 수익이 발생할 것인지 예측할 수 있다. 판매자에게 예측되는 수익이 가장 높은 상품 또는 소정의 수익 이상이 예측되는 상품을 추천함으로써 판매자의 수익을 극대화할 수 있다. 이로써 인기 상품만 추천하는 형태가 아니라 판매자에게 개인화된 맞춤형 상품 추천 서비스가 가능하다.According to the embodiment of Fig. 5, identification information on buyers, sellers, and transaction products and revenue information from the transaction are collected from the transaction log of the online shopping mall service, and the collected data is used as an input to the collaborative filtering neural network model to communicate with the buyer. Students learn the relationship between products, the relationship between the seller and the buyer, and the relationship between the seller and the product. A trained collaborative filtering neural network can predict which sellers will generate how much revenue from which products from which buyers. The seller's profit can be maximized by recommending a product with the highest expected profit to the seller or a product for which a predetermined profit or more is predicted. This makes it possible to provide personalized product recommendation service to sellers rather than recommending only popular products.

도 6은 본 발명의 일 실시예에 따른 협업 필터링 신경망을 이용한 판매 상품 추천 방법을 설명하기 위한 순서도이고, 도 7 내지 도 9는 본 발명의 일 실시예에 따른 협업 필터링 신경망의 학습 및 예측 원리를 설명하기 위한 도면이다.6 is a flowchart for explaining a method for recommending a product for sale using a collaborative filtering neural network according to an embodiment of the present invention, and FIGS. 7 to 9 are learning and prediction principles of a collaborative filtering neural network according to an embodiment of the present invention. It is a drawing for explanation.

도 5의 실시예에서 협업 필터링 신경망은, 거래 로그로부터 추출되는 구매자, 판매자 및 상품의 식별 정보를 원-핫 인코딩하여 이진화된 스파스 벡터(511, 512, 513)로 변환하는 입력 레이어, 이진화된 스파스 벡터를 저차원의 임베딩 벡터(521, 522, 523, 524, 525, 526)로 변환하는 임베딩 레이어, 잠재 특징 인터랙션(latent feature interaction)을 모델링하기 위해 선형 커널을 적용하는 복수의 GMF 레이어(531, 532, 533), 인터랙션 함수(interaction function)를 러닝하기 위해 비선형 커널을 사용하는 복수의 MLP 레이어(534), 그리고 GMF 레이어(531, 532, 533) 및 MLP 레이어(534)의 출력을 결합하는 NeuMF 레이어(541)를 포함하여 모델링된다. 또한, 도 4의 타겟데이터 y(u,i) 가 도 5의 실시예에서는 y(b,i,s)로 변경되고, 해당 데이터가 1과 0 사이값을 가지는 확률값에서 '수익'으로 확장된다.In the embodiment of Figure 5, the collaborative filtering neural network is an input layer that converts the identification information of buyers, sellers, and products extracted from the transaction log into one-hot encoding and binarized sparse vectors 511, 512, and 513, binarized An embedding layer that transforms a sparse vector into a low-dimensional embedding vector (521, 522, 523, 524, 525, 526), a plurality of GMF layers that apply a linear kernel to model latent feature interactions ( 531, 532, 533), a plurality of MLP layers 534 using a non-linear kernel to learn an interaction function, and combining the outputs of GMF layers 531, 532, 533 and MLP layer 534 It is modeled by including the NeuMF layer 541. In addition, the target data y(u,i) of FIG. 4 is changed to y(b,i,s) in the embodiment of FIG. 5, and the data is expanded from a probability value having a value between 1 and 0 to 'revenue' .

도 6을 참조하면, 단계 S61 내지 S67은 입력 데이터를 이용하여 협업 필터링 신경망을 딥 러닝시키는 학습 단계이고, S68은 학습된 신경망을 이용한 예측 단계이다.Referring to FIG. 6 , steps S61 to S67 are a learning step of deep learning the collaborative filtering neural network using input data, and S68 is a prediction step using the learned neural network.

단계 S61에서는 입력 데이터를 수집한다. In step S61, input data is collected.

이 실시예에서, 협업 필터링 신경망 모델의 입력 데이터는 온라인 쇼핑몰의 결제 로그로부터 추출한 구매자, 판매자 및 상품의 식별 정보와, 해당 결제에 의해 발생한 수익에 대한 정보이다.In this embodiment, input data of the collaborative filtering neural network model are identification information of buyers, sellers, and products extracted from payment logs of an online shopping mall, and information on revenue generated by the corresponding payment.

신경망 학습을 위해 데이터 전처리가 필요하며, 단계 S62에서는 결제 로그에서 추출한 구매자, 판매자 및 상품의 식별 정보를 1과 0으로 이루어진 원-핫 벡터(511, 512, 513)로 변환하여 입력 벡터를 생성한다.Data preprocessing is required for neural network learning, and in step S62, the identification information of buyers, sellers, and products extracted from the payment log is converted into one-hot vectors 511, 512, and 513 composed of 1 and 0 to generate an input vector. .

도 7은 도 5에 도시된 협업 필터링 신경망 모델의 입력 레이어에서 구매자 ID, 상품 ID 및 판매자 ID를 원-핫 벡터로 변환하는 과정을 예시한 도면이다.FIG. 7 is a diagram illustrating a process of converting a buyer ID, a product ID, and a seller ID into a one-hot vector in the input layer of the collaborative filtering neural network model shown in FIG. 5 .

도 7(a)의 결제 로그는 결제#1(Alena가 Roy의 샵에서 비타500을 샀고, Roy에게 100원의 수익 발생), 결제#2(Victoria가 Alena의 샵에서 비타800을 샀고, Alena에게 250원의 수익 발생), 결제#3(Jay가 Roy의 샵에서 비타1000을 샀고, Roy에게 500원의 수익 발생), 결제#4(Stella가 Jay의 샵에서 비타500을 샀고, Jay에게 100원의 수익 발생)를 포함하고 있다.The payment log of Fig. 7(a) shows payment #1 (Alena bought Vita 500 at Roy's shop, and earned 100 won from Roy), Payment #2 (Victoria bought Vita 800 at Alena's shop, and Alena 250 won profit), Payment #3 (Jay bought Vita 1000 at Roy's shop, and Roy earned 500 won profit), Payment #4 (Stella bought Vita 500 at Jay's shop, 100 won from Jay) revenue generation) is included.

도 7(b)는 (a)의 구매자 ID, 판매자 ID 및 상품 ID를 각각 원-핫 인코딩하여 생성한 입력 벡터로, 해당하는 번호를 제외하고는 전부 0으로 처리한 것을 알 수 있다.7(b) is an input vector generated by one-hot encoding each of the buyer ID, the seller ID, and the product ID of (a), and it can be seen that all of them are 0 except for the corresponding number.

단계 S63에서는 입력 레이어의 입력 벡터를 저차원의 임베딩 벡터로 변환한다. In step S63, the input vector of the input layer is converted into a low-dimensional embedding vector.

도 5에 도시된 협업 필터링 신경망 모델의 임베딩 레이어는 1과 0으로 이루어진 입력 레이어의 원-핫 벡터들(511, 512, 513)을 저차원 벡터로 임베딩한 임베딩 벡터(521 내지 526)를 포함한다.The embedding layer of the collaborative filtering neural network model shown in FIG. 5 includes embedding vectors 521 to 526 in which the one-hot vectors 511, 512, and 513 of the input layer consisting of 1s and 0s are embedded as low-dimensional vectors. .

도 8은 도 5의 신경망 모델에서 임베딩 벡터를 생성하는 과정을 예시한 것이다.FIG. 8 illustrates a process of generating an embedding vector in the neural network model of FIG. 5 .

도 8의 (b)는 (a)의 1과 0으로 이루어진 원-핫 벡터를 저차원 벡터로 임베딩한 예이다. 임베딩 레이어에서는 구매자 ID, 판매자 ID 및 상품 ID를 모두 n 차원으로 변환하며, 도 8은 잠재 차원(latent dimansion)을 2로 설정하여 임베딩 벡터로 변환한 예이다.(b) of FIG. 8 is an example in which the one-hot vector composed of 1 and 0 of (a) is embedded as a low-dimensional vector. In the embedding layer, all of the buyer ID, the seller ID, and the product ID are converted into n dimensions, and FIG. 8 is an example in which the latent dimension is set to 2 and converted into an embedding vector.

일 실시예에서 GMF 레이어(531, 532, 533) 및 MLP 레이어(534) 각각을 위해 잠재 벡터의 원소 개수가 상이한 별개의 임베딩 벡터를 생성하여 제공할 수 있다.In an embodiment, a separate embedding vector having a different number of elements of a latent vector may be generated and provided for each of the GMF layers 531 , 532 , 533 and the MLP layer 534 .

단계 S64에서는 GMF 레이어를 통해 구매자, 판매자 및 상품 벡터를 학습한다.In step S64, the buyer, seller, and product vectors are learned through the GMF layer.

도 5를 참조하면, 협업 필터링 신경망 모델의 GMF 레이어는 구매자, 판매자 및 상품의 임베딩 벡터들(521 내지 526)을 학습한다. 구체적으로, GMF 레이어는 구매자의 임베딩 벡터(521) 및 상품의 임베딩 벡터(523)를 학습하는 구매자-상품(B-I) GMF 레이어(531), 상품의 임베딩 벡터(523) 및 판매자의 임베딩 벡터(525)를 학습하는 상품-판매자(I-S) GMF 레이어(532), 그리고 구매자의 임베딩 벡터(521) 및 판매자의 임베딩 벡터(525)를 학습하는 구매자-판매자(B-S) GMF 레이어(533)를 포함한다. Referring to FIG. 5 , the GMF layer of the collaborative filtering neural network model learns embedding vectors 521 to 526 of buyers, sellers, and products. Specifically, the GMF layer is a buyer-product (BI) GMF layer 531 that learns the embedding vector 521 of the buyer and the embedding vector 523 of the product, the embedding vector 523 of the product, and the embedding vector 525 of the seller. ), a product-seller (IS) GMF layer 532, and a buyer-seller (BS) GMF layer 533 that learns the buyer's embedding vector 521 and the seller's embedding vector 525.

B-I GMF 레이어(531)는 구매자에 대한 잠재 벡터(latent vector)와 상품에 대한 잠재 벡터에 대해 요소별 곱(element-wise product)을 적용하고, I-S GMF 레이어(532)는 상품에 대한 잠재 벡터와 판매자에 대한 잠재 벡터에 대해 요소별 곱을 적용하고, B-S GMF 레이어(533)는 구매자에 대한 잠재 벡터와 판매자에 대한 잠재 벡터에 대해 요소별 곱을 적용할 수 있다.The BI GMF layer 531 applies an element-wise product to the latent vector for the buyer and the latent vector for the product, and the IS GMF layer 532 applies the latent vector for the product and The element-wise product is applied to the latent vector for the seller, and the BS GMF layer 533 may apply the element-wise product to the latent vector for the buyer and the latent vector for the seller.

다음 식은 도 8의 1번 거래를 학습하였을 때 각 GMF 레이어의 출력을 예시한 것이다. 여기서,

Figure pat00019
은 활성화 함수로, 예를 들어 sigmoid 함수를 사용할 수 있지만, 함수의 종류는 하이퍼파라미터 튜닝에 따라 달라질 수 있다. 또한, ω값들은 학습 파라미터를 나타낸다.The following equation exemplifies the output of each GMF layer when transaction 1 of FIG. 8 is learned. here,
Figure pat00019
is an activation function, for example, the sigmoid function can be used, but the type of function may vary depending on hyperparameter tuning. Also, ω values represent learning parameters.

Figure pat00020
Figure pat00020

Figure pat00021
Figure pat00021

Figure pat00022
Figure pat00022

단계 S65에서는 복수의 MLP 레이어를 통해 임베딩 벡터를 학습한다.In step S65, an embedding vector is learned through a plurality of MLP layers.

도 5의 실시예에서, 협업 필터링 신경망 모델의 MLP 레이어(534)에서는 구매자, 판매자 및 상품의 임베딩 벡터들(521 내지 526)을 학습한다. 아래의 수식은 MLP 레이어(534)의 개수를 2, 차원의 크기를 각각 4차원, 2차원이라고 가정했을 때의 예시이다. 여기서, 모든 ω는 학습 파라미터이다.5, the MLP layer 534 of the collaborative filtering neural network model learns embedding vectors 521 to 526 of buyers, sellers, and products. The following equation is an example when it is assumed that the number of MLP layers 534 is 2 and the dimensions of the MLP layer 534 are 4 dimensions and 2 dimensions, respectively. Here, all ω are learning parameters.

Figure pat00023
Figure pat00023

Figure pat00024
Figure pat00024

Figure pat00025
Figure pat00025

Figure pat00026
Figure pat00026

Figure pat00027
Figure pat00027

Figure pat00028
Figure pat00028

Figure pat00029
Figure pat00029

Figure pat00030
Figure pat00030

단계 S66에서는 B-I GMF 레이어(531), I-S GMF 레이어(532) 및 B-S GMF 레이어(533)의 출력과 복수의 MLP 레이어(534)의 출력을 결합하여 NeuMF 레이어(541)를 통해 학습한다.In step S66, the output of the B-I GMF layer 531, the I-S GMF layer 532, and the B-S GMF layer 533 and the output of the plurality of MLP layers 534 are combined to learn through the NeuMF layer 541.

즉, 협업 필터링 신경망 모델의 NeuMF 레이어(541)에서는 구매자, 판매자 및 상품에 대한 GML 레이어(531, 532, 533)의 출력과 MLP 레이어(534)의 출력이 한꺼번에 학습된다. 아래는 상술한 GMF 및 MLP 결과를 이용한 NeuMF 레이어의 학습 단계를 기술한 수식이다.That is, in the NeuMF layer 541 of the collaborative filtering neural network model, the outputs of the GML layers 531 , 532 , 533 and the output of the MLP layer 534 for buyers, sellers, and products are learned at once. The following is an equation describing the learning step of the NeuMF layer using the GMF and MLP results described above.

Figure pat00031
Figure pat00031

Figure pat00032
Figure pat00032

Figure pat00033
Figure pat00033

Figure pat00034
Figure pat00034

Figure pat00035
Figure pat00035

단계 S67에서는 NeuMF 레이어(541)의 출력과 데이터 수집 단계(S61)에서 추출한 수익 정보를 이용하여 손실(loss)을 계산한다.In step S67, a loss is calculated using the output of the NeuMF layer 541 and the profit information extracted in the data collection step S61.

아래 수식은 NeuMF 레이어(541)의 출력에 대해 손실(loss)을 계산한 것이다.The following equation calculates a loss for the output of the NeuMF layer 541 .

Figure pat00036
Figure pat00036

단계 S68에서는 상기와 같이 학습된 협업 필터링 신경망을 이용해 온라인 쇼핑몰의 각 판매자-구매자-상품 쌍에 대한 예측 수익을 산출한다. Target(552)은 판매자 s가 상품 i로 인해 구매자 b로부터 발생한 수익을 나타내며, Score(551)는 판매자 s가 상품 i로 인해 구매자 b로부터 얻을 수 있는 예측 수익을 나타낸다.In step S68, the predicted revenue for each seller-buyer-product pair of the online shopping mall is calculated using the cooperative filtering neural network learned as described above. Target 552 represents the revenue generated by the seller s from the buyer b due to the product i, and the score 551 represents the predicted profit that the seller s can obtain from the buyer b due to the product i.

예측 단계에서는 모든 판매자에 대해 상품별 수익을 예측할 수 있다. 각 판매자는 자신을 팔로우하는 등 연관성이 있는 구매자를 보유하고 있다. 각 판매자에 대한 수익 예측은, 해당 판매자와 관계 있는 구매자들과 모든 아이템에 대한 수익 예측이 될 것이다.In the forecasting stage, it is possible to predict the profit by product for all sellers. Each seller has relevant buyers, such as following them. The revenue forecast for each seller will be the revenue forecast for all items and buyers related to that seller.

예측 단계에서도 학습 단계에서와 마찬가지로 전처리한 데이터가 필요하다. 거래 정보를 저장한 데이터베이스에서 필요 데이터인 구매자 ID, 판매자 ID, 상품 ID를 추출하고 원-핫 인코딩과 임베딩 단계를 거쳐서 생성된 임베딩 벡터를 입력으로 하여 예측 단계를 수행한다.In the prediction stage, as in the learning stage, preprocessed data is required. The prediction step is performed by extracting necessary data such as buyer ID, seller ID, and product ID from the database storing transaction information, and inputting the embedding vector generated through one-hot encoding and embedding steps.

도 9는 본 발명의 일 실시예에 따라 판매자의 수익을 예측하는 과정을 설명하기 위한 도면이다.9 is a diagram for explaining a process of predicting a seller's profit according to an embodiment of the present invention.

온라인 쇼핑몰의 전체 상품이 '비타 500', '비타 800', '비타 1000'이고, 사용자 'Alena', 'Victoria', 'Jay'가 'Roy'의 샵을 팔로우하고, 'Alena', 'Stella'가 'Jay'의 샵을 팔로우하고, 'Victoria', 'Stella'가 'Alena'의 샵을 팔로우한다고 가정하면, 도 9는 'Jay'의 샵을 팔로우하는 구매자들과 각 상품에 대한 수익을 예측한 상황을 예시로 든 것이다.All products in the online shopping mall are 'Vita 500', 'Vita 800', and 'Vita 1000', users 'Alena', 'Victoria' and 'Jay' follow 'Roy' shop, 'Alena', 'Stella' Assuming that ' follows 'Jay''s shop and 'Victoria' and 'Stella' follow 'Alena''s shop, FIG. This is an example of a predicted situation.

도 9의 (a)는 데이터베이스에서 추출한 판매자 'Jay', 팔로워들(followers) 및 상품에 대한 데이터이고, (b)는 (a)의 각 레코드에 대해 예측한 수익 정보이다. 판매자 'Jay'와 'Jay'를 팔로우하는 모든 구매자 'Alena', 'Stella'에 대해 모든 상품에 대한 수입을 예측하고, 상품별로 예측 수입을 합했을 때, 판매자 'Jay'에겐 상품 '비타 500'의 예측 수익이 가장 높음을 알 수 있다. 따라서, 'Jay'에게 판매 상품으로 '비타 500'이 추천될 것이다.Figure 9 (a) is data about the seller 'Jay', followers and products extracted from the database, (b) is the predicted profit information for each record of (a). When the revenue for all products is predicted for all buyers 'Alena' and 'Stella' following the seller 'Jay' and 'Jay', and the predicted income for each product is added up, the product 'Vita 500' for the seller 'Jay' It can be seen that the predicted return of Therefore, 'Vita 500' will be recommended to 'Jay' as a sale product.

본 발명의 일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. The method according to an embodiment of the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the present invention, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and carry out program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.

이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속한다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improved forms of the present invention are also provided by those skilled in the art using the basic concept of the present invention as defined in the following claims. belong to the scope of the right.

Claims (10)

상품 추천 장치가 협업 필터링 신경망을 이용하여 상품을 추천하는 방법에 있어서,
온라인 쇼핑몰의 결제 로그로부터 구매자, 판매자 및 상품의 식별 정보와 해당 결제로 인한 수익 정보를 추출하는 데이터 수집 단계;
상기 데이터 수집 단계에서 추출한 데이터를 이용하여 구매자와 상품의 관계, 상품과 판매자의 관계 및 구매자와 판매자의 관계를 학습하는 협업 필터링 신경망을 모델링하는 학습 단계; 및
상기 학습된 협업 필터링 신경망을 이용하여, 상기 온라인 쇼핑몰의 각 판매자에 대해 추천 상품을 결정하는데 사용되는 상품별 예측 수익을 산출하는 예측 단계;를 포함하고,
상기 협업 필터링 신경망은, 잠재 특징 인터랙션(latent feature interaction)을 모델링하기 위해 선형 커널을 적용하는 복수의 GMF(Generalized Matrix Factorization) 레이어, 인터랙션 함수(interaction function)를 러닝하기 위해 비선형 커널을 사용하는 복수의 MLP(Multi-Layer Perceptron) 레이어, 및 상기 GMF 레이어와 상기 MLP 레이어의 출력을 결합하는 NeuMF(Neural Matrix Factorization) 레이어를 포함하는 것을 특징으로 하는 방법.
In a method for a product recommendation device to recommend a product using a collaborative filtering neural network,
a data collection step of extracting identification information of buyers, sellers, and products from the payment log of the online shopping mall, and revenue information due to the corresponding payment;
a learning step of modeling a collaborative filtering neural network for learning a relationship between a buyer and a product, a relationship between a product and a seller, and a relationship between a buyer and a seller using the data extracted in the data collection step; and
A prediction step of calculating a predicted profit for each product used to determine a recommended product for each seller of the online shopping mall by using the learned collaborative filtering neural network;
The collaborative filtering neural network includes a plurality of Generalized Matrix Factorization (GMF) layers that apply a linear kernel to model latent feature interaction, and a plurality of nonlinear kernels using a nonlinear kernel to learn an interaction function. A method comprising: a Multi-Layer Perceptron (MLP) layer; and a NeuMF (Neural Matrix Factorization) layer that combines the output of the GMF layer and the MLP layer.
제1항에 있어서,
상기 학습 단계는,
상기 데이터 수집 단계에서 추출한 구매자, 판매자 및 상품의 식별 정보를 원-핫 인코딩(one-hot encoding)하여 이진화된 스파스 벡터(sparse vector)로 변환하는 단계; 및
상기 이진화된 스파스 벡터를 저차원의 임베딩 벡터로 변환하는 단계;를 포함하는 것을 특징으로 하는 방법.
According to claim 1,
The learning step is
converting the identification information of the buyer, the seller, and the product extracted in the data collection step into a binary sparse vector by one-hot encoding; and
Transforming the binarized sparse vector into a low-dimensional embedding vector.
제2항에 있어서,
상기 복수의 GMF 레이어는,
상기 구매자에 대한 잠재 벡터(latent vector)와 상기 상품에 대한 잠재 벡터에 대해 요소별 곱(element-wise product)을 적용한 구매자-상품 GMF 레이어;
상기 상품에 대한 잠재 벡터와 상기 판매자에 대한 잠재 벡터에 대해 요소별 곱을 적용한 상품-판매자 GMF 레이어; 및
상기 구매자에 대한 잠재 벡터와 상기 판매자에 대한 잠재 벡터에 대해 요소별 곱을 적용한 구매자-판매자 GMF 레이어;를 포함하는 것을 특징으로 하는 방법.
3. The method of claim 2,
The plurality of GMF layers,
a buyer-product GMF layer in which an element-wise product is applied to a latent vector for the buyer and a latent vector for the product;
a product-seller GMF layer in which a product-by-element product is applied to the latent vector for the product and the latent vector for the seller; and
A method comprising: a buyer-seller GMF layer in which element-wise product of the latent vector for the buyer and the latent vector for the seller is applied.
제3항에 있어서,
상기 학습 단계는,
상기 구매자-상품 GMF 레이어, 상기 상품-판매자 GMF 레이어 및 상기 구매자-판매자 GMF 레이어를 통해 상기 임베딩 벡터를 학습하는 단계;
상기 복수의 MLP 레이어를 통해 상기 임베딩 벡터를 학습하는 단계; 및
상기 구매자-상품 GMF 레이어, 상기 상품-판매자 GMF 레이어, 상기 구매자-판매자 GMF 레이어 및 상기 복수의 MLP 레이어의 출력을 결합하여 상기 NeuMF 레이어를 통해 학습하는 단계;를 더 포함하는 것을 특징으로 하는 방법.
4. The method of claim 3,
The learning step is
learning the embedding vector through the buyer-product GMF layer, the product-seller GMF layer, and the buyer-seller GMF layer;
learning the embedding vector through the plurality of MLP layers; and
The method further comprising: combining outputs of the buyer-product GMF layer, the product-seller GMF layer, the buyer-seller GMF layer, and the plurality of MLP layers to learn through the NeuMF layer.
제4항에 있어서,
상기 학습 단계는,
상기 NeuMF 레이어의 출력과 상기 데이터 수집 단계에서 추출한 수익 정보를 이용하여 손실(loss)을 계산하는 단계;를 더 포함하는 것을 특징으로 하는 방법.
5. The method of claim 4,
The learning step is
Calculating a loss by using the output of the NeuMF layer and the profit information extracted in the data collection step;
제2항에 있어서,
상기 임베딩 벡터로 변환하는 단계는,
상기 GMF 레이어 및 상기 MLP 레이어 각각을 위해 잠재 벡터의 원소 개수가 상이한 별개의 임베딩 벡터를 생성하는 단계;를 포함하는 것을 특징으로 하는 방법.
3. The method of claim 2,
The step of converting to the embedding vector is,
generating a separate embedding vector having a different number of elements of a latent vector for each of the GMF layer and the MLP layer.
제1항 내지 제6항 중 어느 한 항의 협업 필터링 신경망을 이용한 상품 추천 방법을 수행하기 위해 기록매체에 기록된 컴퓨터 프로그램.A computer program recorded on a recording medium to perform the product recommendation method using the cooperative filtering neural network of any one of claims 1 to 6. 컴퓨터로 구현되는 협업 필터링 신경망을 이용한 상품 추천 장치에 있어서, 상기 상품 추천 장치는 컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고,
상기 적어도 하나의 프로세서는,
온라인 쇼핑몰의 결제 로그로부터 구매자, 판매자 및 상품의 식별 정보와 해당 결제로 인한 수익 정보를 추출하는 데이터 수집 모듈;
상기 데이터 수집 단계에서 추출한 데이터를 이용하여 구매자와 상품의 관계, 상품과 판매자의 관계 및 구매자와 판매자의 관계를 학습하는 협업 필터링 신경망을 모델링하는 신경망 학습 모듈; 및
상기 학습된 협업 필터링 신경망을 이용하여, 상기 온라인 쇼핑몰의 각 판매자에 대해 추천 상품을 결정하는데 사용되는 상품별 예측 수익을 산출하는 예측 모듈;을 포함하고,
상기 협업 필터링 신경망은, 잠재 특징 인터랙션(latent feature interaction)을 모델링하기 위해 선형 커널을 적용하는 복수의 GMF(Generalized Matrix Factorization) 레이어, 인터랙션 함수(interaction function)를 러닝하기 위해 비선형 커널을 사용하는 복수의 MLP(Multi-Layer Perceptron) 레이어, 및 상기 GMF 레이어와 상기 MLP 레이어의 출력을 결합하는 NeuMF(Neural Matrix Factorization) 레이어를 포함하는 것을 특징으로 하는 장치.
A product recommendation device using a computer-implemented collaborative filtering neural network, wherein the product recommendation device includes at least one processor implemented to execute a computer-readable command,
the at least one processor,
a data collection module for extracting identification information of buyers, sellers, and products from the payment log of the online shopping mall, and revenue information due to the corresponding payment;
a neural network learning module for modeling a collaborative filtering neural network that learns a relationship between a buyer and a product, a relationship between a product and a seller, and a relationship between a buyer and a seller using the data extracted in the data collection step; and
A prediction module for calculating a predicted profit for each product used to determine a recommended product for each seller of the online shopping mall by using the learned collaborative filtering neural network;
The collaborative filtering neural network includes a plurality of Generalized Matrix Factorization (GMF) layers that apply a linear kernel to model latent feature interaction, and a plurality of nonlinear kernels using a nonlinear kernel to learn an interaction function. An apparatus comprising: a Multi-Layer Perceptron (MLP) layer; and a NeuMF (Neural Matrix Factorization) layer that combines the output of the GMF layer and the MLP layer.
제8항에 있어서,
상기 협업 필터링 신경망은,
상기 데이터 수집 모듈에 의해 추출되는 구매자, 판매자 및 상품의 식별 정보를 원-핫 인코딩(one-hot encoding)하여 이진화된 스파스 벡터(sparse vector)로 변환하는 입력 레이어; 및
상기 이진화된 스파스 벡터를 저차원의 임베딩 벡터로 변환하는 임베딩 레이어;를 더 포함하는 것을 특징으로 하는 장치.
9. The method of claim 8,
The collaborative filtering neural network is
an input layer converting identification information of a buyer, a seller, and a product extracted by the data collection module into a binary sparse vector by one-hot encoding; and
An embedding layer that converts the binarized sparse vector into a low-dimensional embedding vector.
제8항에 있어서,
상기 복수의 GMF 레이어는,
상기 구매자에 대한 잠재 벡터(latent vector)와 상기 상품에 대한 잠재 벡터에 대해 요소별 곱(element-wise product)을 적용한 구매자-상품 GMF 레이어;
상기 상품에 대한 잠재 벡터와 상기 판매자에 대한 잠재 벡터에 대해 요소별 곱을 적용한 상품-판매자 GMF 레이어; 및
상기 구매자에 대한 잠재 벡터와 상기 판매자에 대한 잠재 벡터에 대해 요소별 곱을 적용한 구매자-판매자 GMF 레이어;를 포함하는 것을 특징으로 하는 장치.
9. The method of claim 8,
The plurality of GMF layers,
a buyer-product GMF layer in which an element-wise product is applied to a latent vector for the buyer and a latent vector for the product;
a product-seller GMF layer in which a product-by-element product is applied to the latent vector for the product and the latent vector for the seller; and
and a buyer-seller GMF layer in which an element-wise product is applied to the latent vector for the buyer and the latent vector for the seller.
KR1020200061542A 2020-05-22 2020-05-22 Method and apparatus for recommending item based on collaborative filtering neural network KR102422408B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200061542A KR102422408B1 (en) 2020-05-22 2020-05-22 Method and apparatus for recommending item based on collaborative filtering neural network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200061542A KR102422408B1 (en) 2020-05-22 2020-05-22 Method and apparatus for recommending item based on collaborative filtering neural network

Publications (2)

Publication Number Publication Date
KR20210144330A true KR20210144330A (en) 2021-11-30
KR102422408B1 KR102422408B1 (en) 2022-07-19

Family

ID=78722492

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200061542A KR102422408B1 (en) 2020-05-22 2020-05-22 Method and apparatus for recommending item based on collaborative filtering neural network

Country Status (1)

Country Link
KR (1) KR102422408B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102421684B1 (en) 2022-05-03 2022-07-14 이명수 Method, device and system for deriving items for sale online based on artificial intelligence
GR20220100246A (en) * 2022-03-21 2023-10-10 My Company Projects Ο.Ε., Method for automatically converting purchase data history derived from electronic stores into clear signal and training a deep machine learining meural network to produce recommendations for consumers
CN117436993A (en) * 2023-11-10 2024-01-23 张家口微智网络科技有限公司 Commodity recommendation method and system based on online shopping data

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Ye-Seul Jeon et al., Identification of sentiment keywords association-based hotel network of hotel review using mapper method in topological data analysis, The Korean Journal of Applied Statistics (2020) 33(1), 75-86pages (2020. 02. 29.)* *
천상진 등., 추천 정확도 향상을 위한 선호도 예측모델 통합 기법, 2019 한국정보과학회 학술발표논문집, 118-120pages (2019. 6.)* *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GR20220100246A (en) * 2022-03-21 2023-10-10 My Company Projects Ο.Ε., Method for automatically converting purchase data history derived from electronic stores into clear signal and training a deep machine learining meural network to produce recommendations for consumers
GR1010678B (en) * 2022-03-21 2024-04-26 My Company Projects Ο.Ε., Method for automatically converting purchase data history derived from electronic stores into clear signal and training a deep machine learining meural network to produce recommendations for consumers
KR102421684B1 (en) 2022-05-03 2022-07-14 이명수 Method, device and system for deriving items for sale online based on artificial intelligence
CN117436993A (en) * 2023-11-10 2024-01-23 张家口微智网络科技有限公司 Commodity recommendation method and system based on online shopping data

Also Published As

Publication number Publication date
KR102422408B1 (en) 2022-07-19

Similar Documents

Publication Publication Date Title
Sismeiro et al. Modeling purchase behavior at an e-commerce web site: A task-completion approach
US10354184B1 (en) Joint modeling of user behavior
KR102422408B1 (en) Method and apparatus for recommending item based on collaborative filtering neural network
KR102409718B1 (en) Method and system for managing personal review shop on commerce platform connected with social network service
KR102409717B1 (en) Method and apparatus for recommending selling item to seller of on-line shopping mall
KR102468827B1 (en) Method, device and system for sourcing products based on artificial intelligence and providing category-customized review analysis service
US20180365718A1 (en) Machine learning for marketing of branded consumer products
Yu et al. Multi-linear interactive matrix factorization
US20210150604A1 (en) Systems and methods for customization of reviews
US20210182730A1 (en) Systems and methods for detecting non-causal dependencies in machine learning models
Khandokar et al. A gradient boosting classifier for purchase intention prediction of online shoppers
US20240144363A1 (en) Methods and systems for updating a user interface based on level of user interest
Latha et al. Product recommendation using enhanced convolutional neural network for e-commerce platform
CA3098792A1 (en) Systems and methods for customization of reviews
CA3169819C (en) Systems and methods for automated product classification
US20230162253A1 (en) Method and system for providing category suggestions
CN115375219A (en) Inventory item forecast and item recommendation
CN116109354A (en) Content recommendation method, apparatus, device, storage medium, and computer program product
Chabane et al. Intelligent personalized shopping recommendation using clustering and supervised machine learning algorithms
Guan Multi-feature collaborative filtering recommendation for sparse dataset
Wang et al. Personalized promotion recommendation through consumer experience evolution modeling
Albert et al. Fidelity Homogenous Genesis Recommendation Model for User Trust with Item Ratings
Verma et al. A Smart Movie Recommendation System Using Machine Learning Predictive Analysis
US20230078260A1 (en) Systems and methods for providing recommendations of computer applications based on similarity
Gu Ad click-through rate prediction: a survey

Legal Events

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