KR20240027478A - Method, computer device, and computer program to recommend products to buy together - Google Patents

Method, computer device, and computer program to recommend products to buy together Download PDF

Info

Publication number
KR20240027478A
KR20240027478A KR1020220105755A KR20220105755A KR20240027478A KR 20240027478 A KR20240027478 A KR 20240027478A KR 1020220105755 A KR1020220105755 A KR 1020220105755A KR 20220105755 A KR20220105755 A KR 20220105755A KR 20240027478 A KR20240027478 A KR 20240027478A
Authority
KR
South Korea
Prior art keywords
product
products
category
recommended
language model
Prior art date
Application number
KR1020220105755A
Other languages
Korean (ko)
Inventor
김희언
정지수
김락영
Original Assignee
네이버 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 네이버 주식회사 filed Critical 네이버 주식회사
Priority to KR1020220105755A priority Critical patent/KR20240027478A/en
Publication of KR20240027478A publication Critical patent/KR20240027478A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • 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/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0282Rating or review of business operators or products

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Theoretical Computer Science (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Data Mining & Analysis (AREA)
  • Game Theory and Decision Science (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

함께 구매할 상품을 추천하는 방법, 컴퓨터 장치, 및 컴퓨터 프로그램이 개시된다. 상품 추천 방법은, 일정 시간 이내에 둘 이상의 상품을 함께 구매한 이력을 나타내는 함께 구매 데이터로 학습된 언어 모델을 이용하여 기준 상품과 함께 구매할 상품을 추천하는 단계를 포함할 수 있고, 상기 언어 모델은 각 상품과 관련하여 자연어로 이루어진 언어적 정보를 이용하여 상품 간의 관계가 학습된 모델일 수 있다.A method, computer device, and computer program for recommending products to be purchased together are disclosed. The product recommendation method may include recommending a product to be purchased together with a reference product using a language model learned from joint purchase data indicating a history of purchasing two or more products together within a certain time, and the language model may be used for each product. It may be a model in which relationships between products are learned using linguistic information made up of natural language related to products.

Description

함께 구매할 상품을 추천하는 방법, 컴퓨터 장치, 및 컴퓨터 프로그램{METHOD, COMPUTER DEVICE, AND COMPUTER PROGRAM TO RECOMMEND PRODUCTS TO BUY TOGETHER}Method for recommending products to purchase together, computer devices, and computer programs {METHOD, COMPUTER DEVICE, AND COMPUTER PROGRAM TO RECOMMEND PRODUCTS TO BUY TOGETHER}

아래의 설명은 상품을 추천하는 기술에 관한 것이다.The explanation below is about product recommendation technology.

일반적으로 사용자가 인터넷 상의 상품을 선택하면 선택된 상품과 유사한 상품을 추천할 수 있다.Generally, when a user selects a product on the Internet, products similar to the selected product may be recommended.

상품 추천을 위해 주로 사용되는 방법은 크게 사용자들 간의 유사도를 활용한 협력적 필터링(Collaborative filtering) 방식, 그리고 상품 및 사용자의 특성 값을 활용하는 내용 기반 필터링(Content-based filtering) 방식 등으로 구분될 수 있다.Methods mainly used for product recommendation can be broadly divided into collaborative filtering methods that utilize similarities between users, and content-based filtering methods that utilize characteristic values of products and users. You can.

예컨대, 한국 공개특허공보 제10-2021-0131198호(공개일 2021년 11월 02일)에는 인공 신경망을 통해 추출된 이미지를 기반으로 유사 상품을 추천하는 기술이 개시되어 있다.For example, Korean Patent Publication No. 10-2021-0131198 (published on November 2, 2021) discloses a technology for recommending similar products based on images extracted through an artificial neural network.

실제 구매 데이터를 기반으로 하여 기준 상품과 함께 구매할 확률이 높은 카테고리의 상품을 추천할 수 있다.Based on actual purchase data, products in categories that are likely to be purchased along with the standard product can be recommended.

기준 상품의 언어적 특성을 고려하여 함께 구매가 많이 이루어진 특성의 상품을 추천할 수 있다.Considering the linguistic characteristics of the standard product, products with characteristics that are frequently purchased together can be recommended.

구매 데이터를 학습한 언어 모델과 함께 구매 데이터에 대한 카테고리 사전을 활용하여 전반적인 구매 행태에 적합한 상품을 추천할 수 있다.By using a category dictionary for purchase data along with a language model learned from purchase data, products suitable for overall purchase behavior can be recommended.

컴퓨터 장치에서 실행되는 상품 추천 방법에 있어서, 상기 컴퓨터 장치는 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 상품 추천 방법은, 상기 적어도 하나의 프로세서에 의해, 일정 시간 이내에 둘 이상의 상품을 함께 구매한 이력을 나타내는 함께 구매 데이터로 학습된 언어 모델을 이용하여 기준 상품과 함께 구매할 상품을 추천하는 단계를 포함하고, 상기 언어 모델은 각 상품과 관련하여 자연어로 이루어진 언어적 정보를 이용하여 상품 간의 관계가 학습된 모델인 것을 특징으로 하는 상품 추천 방법을 제공한다.In a product recommendation method executed on a computer device, the computer device includes at least one processor configured to execute computer-readable instructions included in a memory, and the product recommendation method includes, by the at least one processor, A step of recommending a product to be purchased together with a reference product using a language model learned from joint purchase data indicating a history of purchasing two or more products together within a period of time, wherein the language model is a language composed of natural language in relation to each product. We provide a product recommendation method characterized by a model in which relationships between products are learned using enemy information.

일 측면에 따르면, 상기 언어 모델은 상위 카테고리 별로 학습되고, 상기 추천하는 단계는, 상기 기준 상품이 속한 상위 카테고리에 대해 학습된 언어 모델을 통해 추천 상품을 선정하는 단계를 포함할 수 있다.According to one aspect, the language model is learned for each higher-level category, and the recommending step may include selecting a recommended product through a language model learned for the higher-level category to which the reference product belongs.

다른 측면에 따르면, 상기 언어 모델은 상기 상위 카테고리에 따라 서로 다른 기간 동안의 함께 구매 데이터로 학습될 수 있다.According to another aspect, the language model may be trained with purchase data for different periods of time according to the upper category.

또 다른 측면에 따르면, 상기 추천하는 단계는, 상기 언어 모델을 이용하여 상기 기준 상품과 카테고리가 다른 상품 중 상기 기준 상품과 언어적 관계를 가진 상품을 추천하는 단계를 포함할 수 있다.According to another aspect, the recommending step may include recommending a product that has a linguistic relationship with the reference product among products whose categories are different from the reference product using the language model.

또 다른 측면에 따르면, 상기 추천하는 단계는, 상기 기준 상품이 속한 상위 카테고리에 대해 학습된 언어 모델을 이용하여 해당 상위 카테고리의 상품 중 상기 기준 상품과 하위 카테고리가 다르고 상기 기준 상품과 언어적 관계를 가진 상품을 추천하는 단계를 포함할 수 있다.According to another aspect, the recommendation step uses a language model learned for the upper category to which the reference product belongs to determine if the lower category among products in the higher category is different from the reference product and establishes a linguistic relationship with the reference product. It may include the step of recommending existing products.

또 다른 측면에 따르면, 상기 추천하는 단계는, 상기 함께 구매 데이터를 기초로 함께 구매한 상품의 카테고리가 집계된 카테고리 사전을 이용하여 상기 언어 모델을 통해 선정된 추천 상품을 재정렬(reordering)하는 단계를 포함할 수 있다.According to another aspect, the recommending step includes reordering recommended products selected through the language model using a category dictionary in which categories of products purchased together are aggregated based on the joint purchase data. It can be included.

또 다른 측면에 따르면, 상기 카테고리 사전은 전체 카테고리 셋을 대상으로 상기 함께 구매한 상품의 카테고리를 집계한 결과로 구성될 수 있다.According to another aspect, the category dictionary may be composed of the results of aggregating the categories of the products purchased together for the entire category set.

또 다른 측면에 따르면, 상기 카테고리 사전은 상위 카테고리 별로 생성되는 것으로 상기 상위 카테고리를 세분화한 하위 카테고리 단위의 집계 결과로 구성될 수 있다.According to another aspect, the category dictionary is created for each higher-level category and may be composed of an aggregate result of sub-category units that subdivide the higher-level category.

또 다른 측면에 따르면, 상기 재정렬하는 단계는, 상기 카테고리 사전을 통해 상기 기준 상품이 속한 카테고리에 대한 함께 구매 카테고리를 확인하여 상기 추천 상품의 순서와 카테고리 별 비율 중 적어도 하나를 재정렬할 수 있다.According to another aspect, in the reordering step, at least one of the order of the recommended products and the ratio by category can be rearranged by checking the together purchase category for the category to which the reference product belongs through the category dictionary.

또 다른 측면에 따르면, 상기 추천하는 단계는, 사용자 개인 또는 사용자가 속한 사용자 그룹의 상품 관련 이력을 기반으로 상기 언어 모델을 통해 선정된 추천 상품을 재정렬하는 단계를 포함할 수 있다.According to another aspect, the recommending step may include rearranging recommended products selected through the language model based on the product-related history of an individual user or a user group to which the user belongs.

또 다른 측면에 따르면, 상기 카테고리 사전은 사용자 개인 또는 사용자가 속한 사용자 그룹에 의한 상기 함께 구매 데이터를 기초로 함께 구매한 상품의 카테고리가 집계되어 개인화될 수 있다.According to another aspect, the category dictionary may be personalized by aggregating categories of products purchased together based on the joint purchase data by an individual user or a user group to which the user belongs.

또 다른 측면에 따르면, 상기 추천하는 단계는, 상기 기준 상품과 관련된 키워드를 기준으로 상기 언어 모델을 통해 선정된 추천 상품을 재정렬하는 단계를 포함할 수 있다.According to another aspect, the recommending step may include rearranging recommended products selected through the language model based on keywords related to the reference product.

또 다른 측면에 따르면, 상기 추천하는 단계는, 사용자 개인 또는 사용자가 속한 사용자 그룹의 상품 구매 행태를 고려하여 상기 언어 모델을 통해 선정된 추천 상품의 노출 시점을 결정하는 단계를 포함할 수 있다.According to another aspect, the recommending step may include determining the exposure time of the recommended product selected through the language model in consideration of the product purchase behavior of the individual user or the user group to which the user belongs.

또 다른 측면에 따르면, 상기 결정하는 단계는, 상기 사용자의 행동이 상기 상품 구매 행태에 도달하는 시점에 상기 추천 상품을 노출할 수 있다.According to another aspect, the determining step may expose the recommended product at the point when the user's behavior reaches the product purchasing behavior.

상기 상품 추천 방법을 컴퓨터 장치에 실행시키기 위해 컴퓨터 판독가능한 기록 매체에 저장되는 컴퓨터 프로그램을 제공한다.A computer program stored in a computer-readable recording medium is provided to execute the product recommendation method on a computer device.

컴퓨터 장치에 있어서, 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 일정 시간 이내에 둘 이상의 상품을 함께 구매한 이력을 나타내는 함께 구매 데이터로 학습된 언어 모델을 이용하여 기준 상품과 함께 구매할 상품을 추천하는 과정을 처리하고, 상기 언어 모델은 각 상품과 관련하여 자연어로 이루어진 언어적 정보를 이용하여 상품 간의 관계가 학습된 모델인 것을 특징으로 하는 컴퓨터 장치를 제공한다.A computer device comprising: at least one processor configured to execute computer-readable instructions included in a memory, wherein the at least one processor learns from joint purchase data indicating a history of purchasing two or more products together within a certain period of time; The language model is used to process the process of recommending products to be purchased together with the reference product, and the language model is a model in which the relationship between products is learned using linguistic information made up of natural language in relation to each product. Provide computer equipment.

본 발명의 실시예들에 따르면, 실제 구매 데이터를 기반으로 하여 기준 상품과 함께 구매할 확률이 높은 카테고리의 상품을 추천함으로써 추천 품질을 향상시킬 수 있다.According to embodiments of the present invention, recommendation quality can be improved by recommending products in a category that have a high probability of being purchased together with a reference product based on actual purchase data.

본 발명의 실시예들에 따르면, 기준 상품의 언어적 특성을 고려하여 함께 구매가 많이 이루어진 특성의 상품을 추천함으로써 추천의 신뢰도와 정확도를 높일 수 있다.According to embodiments of the present invention, reliability and accuracy of recommendation can be increased by recommending products with characteristics that are frequently purchased together by considering the linguistic characteristics of the reference product.

본 발명의 실시예들에 따르면, 구매 데이터를 학습한 언어 모델과 함께 구매 데이터에 대한 카테고리 사전을 활용하여 전반적인 구매 행태에 적합한 상품을 추천함으로써 콜드 스타트(cold start) 문제에 강인한 상품 추천 모델을 제공할 수 있다.According to embodiments of the present invention, a language model learned from purchase data is used along with a category dictionary for purchase data to recommend products suitable for overall purchase behavior, thereby providing a product recommendation model that is robust to the cold start problem. can do.

도 1은 본 발명의 일실시예에 따른 네트워크 환경의 예를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 컴퓨터 장치의 예를 도시한 블록도이다.
도 3은 본 발명의 일실시예에 따른 컴퓨터 장치가 수행할 수 있는 방법의 일례를 도시한 순서도이다.
도 4는 본 발명의 일실시예에 있어서 함께 구매 데이터의 예시를 도시한 것이다.
도 5 내지 도 6은 본 발명의 일실시예에 있어서 언어 모델 학습 과정의 예시를 도시한 것이다.
도 7은 본 발명의 일실시예에 있어서 함께 구매 카테고리 사전 구성 예시를 도시한 것이다.
도 8 내지 도 9는 본 발명의 일실시예에 있어서 함께 구매할 상품을 추천하는 과정의 일례를 도시한 것이다.
도 10은 본 발명의 일실시예에 있어서 함께 구매할 상품을 추천하는 과정의 다른 예를 도시한 것이다.
도 11은 본 발명의 일실시예에 있어서 함께 구매할 상품을 추천하는 과정의 또 다른 예를 도시한 것이다.
도 12는 본 발명의 일실시예에 있어서 함께 구매할 상품을 추천하는 과정의 또 다른 예를 도시한 것이다.
도 13은 본 발명의 일실시예에 있어서 함께 구매할 상품 추천 예시를 도시한 것이다.
1 is a diagram illustrating an example of a network environment according to an embodiment of the present invention.
Figure 2 is a block diagram showing an example of a computer device according to an embodiment of the present invention.
Figure 3 is a flowchart showing an example of a method that can be performed by a computer device according to an embodiment of the present invention.
Figure 4 shows an example of purchase data in one embodiment of the present invention.
Figures 5 and 6 show an example of a language model learning process in one embodiment of the present invention.
Figure 7 shows an example of pre-configuring purchase categories in one embodiment of the present invention.
Figures 8 and 9 show an example of a process for recommending products to be purchased together in an embodiment of the present invention.
Figure 10 shows another example of a process for recommending products to be purchased together in one embodiment of the present invention.
Figure 11 shows another example of a process for recommending products to be purchased together in one embodiment of the present invention.
Figure 12 shows another example of a process for recommending products to be purchased together in one embodiment of the present invention.
Figure 13 shows an example of recommending products to be purchased together in one embodiment of the present invention.

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

본 발명의 실시예들은 상품을 추천하는 기술에 관한 것이다.Embodiments of the present invention relate to technology for recommending products.

본 명세서에서 구체적으로 개시되는 것들을 포함하는 실시예들은 함께 구매된 상품들의 언어적 관계를 학습한 언어 모델을 통해 함께 구매할 확률이 높은 카테고리의 상품을 추천할 수 있다.Embodiments including those specifically disclosed in this specification can recommend products in a category with a high probability of being purchased together through a language model that learns the linguistic relationship between products purchased together.

본 발명의 실시예들에 따른 상품 추천 시스템은 적어도 하나의 컴퓨터 장치에 의해 구현될 수 있으며, 본 발명의 실시예들에 따른 상품 추천 방법은 상품 추천 시스템에 포함되는 적어도 하나의 컴퓨터 장치를 통해 수행될 수 있다. 이때, 컴퓨터 장치에는 본 발명의 일실시예에 따른 컴퓨터 프로그램이 설치 및 구동될 수 있고, 컴퓨터 장치는 구동된 컴퓨터 프로그램의 제어에 따라 본 발명의 실시예들에 따른 상품 추천 방법을 수행할 수 있다. 상술한 컴퓨터 프로그램은 컴퓨터 장치와 결합되어 상품 추천 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장될 수 있다.The product recommendation system according to embodiments of the present invention may be implemented by at least one computer device, and the product recommendation method according to embodiments of the present invention may be performed through at least one computer device included in the product recommendation system. It can be. At this time, the computer program according to an embodiment of the present invention may be installed and driven in the computer device, and the computer device may perform the product recommendation method according to the embodiments of the present invention under the control of the driven computer program. . The above-described computer program can be combined with a computer device and stored in a computer-readable recording medium to execute the product recommendation method on the computer.

도 1은 본 발명의 일실시예에 따른 네트워크 환경의 예를 도시한 도면이다. 도 1의 네트워크 환경은 복수의 전자 기기들(110, 120, 130, 140), 복수의 서버들(150, 160) 및 네트워크(170)를 포함하는 예를 나타내고 있다. 이러한 도 1은 발명의 설명을 위한 일례로 전자 기기의 수나 서버의 수가 도 1과 같이 한정되는 것은 아니다. 또한, 도 1의 네트워크 환경은 본 실시예들에 적용 가능한 환경들 중 하나의 예를 설명하는 것일 뿐, 본 실시예들에 적용 가능한 환경이 도 1의 네트워크 환경으로 한정되는 것은 아니다.1 is a diagram illustrating an example of a network environment according to an embodiment of the present invention. The network environment in FIG. 1 shows an example including a plurality of electronic devices 110, 120, 130, and 140, a plurality of servers 150 and 160, and a network 170. Figure 1 is an example for explaining the invention, and the number of electronic devices or servers is not limited as in Figure 1. In addition, the network environment in FIG. 1 only explains one example of environments applicable to the present embodiments, and the environment applicable to the present embodiments is not limited to the network environment in FIG. 1.

복수의 전자 기기들(110, 120, 130, 140)은 컴퓨터 장치로 구현되는 고정형 단말이거나 이동형 단말일 수 있다. 복수의 전자 기기들(110, 120, 130, 140)의 예를 들면, 스마트폰(smart phone), 휴대폰, 내비게이션, 컴퓨터, 노트북, 디지털방송용 단말, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 태블릿 PC 등이 있다. 일례로 도 1에서는 전자 기기(110)의 예로 스마트폰의 형상을 나타내고 있으나, 본 발명의 실시예들에서 전자 기기(110)는 실질적으로 무선 또는 유선 통신 방식을 이용하여 네트워크(170)를 통해 다른 전자 기기들(120, 130, 140) 및/또는 서버(150, 160)와 통신할 수 있는 다양한 물리적인 컴퓨터 장치들 중 하나를 의미할 수 있다.The plurality of electronic devices 110, 120, 130, and 140 may be fixed terminals or mobile terminals implemented as computer devices. Examples of the plurality of electronic devices 110, 120, 130, and 140 include smart phones, mobile phones, navigation devices, computers, laptops, digital broadcasting terminals, Personal Digital Assistants (PDAs), and Portable Multimedia Players (PMPs). ), tablet PC, etc. For example, in FIG. 1, the shape of a smartphone is shown as an example of the electronic device 110. However, in embodiments of the present invention, the electronic device 110 actually communicates with other devices through the network 170 using a wireless or wired communication method. It may refer to one of various physical computer devices capable of communicating with electronic devices 120, 130, 140 and/or servers 150, 160.

통신 방식은 제한되지 않으며, 네트워크(170)가 포함할 수 있는 통신망(일례로, 이동통신망, 유선 인터넷, 무선 인터넷, 방송망)을 활용하는 통신 방식뿐만 아니라 기기들 간의 근거리 무선 통신 역시 포함될 수 있다. 예를 들어, 네트워크(170)는, PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다. 또한, 네트워크(170)는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적(hierarchical) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있으나, 이에 제한되지 않는다.The communication method is not limited, and may include not only a communication method utilizing a communication network that the network 170 may include (for example, a mobile communication network, wired Internet, wireless Internet, and a broadcast network), but also short-range wireless communication between devices. For example, the network 170 may include a personal area network (PAN), a local area network (LAN), a campus area network (CAN), a metropolitan area network (MAN), a wide area network (WAN), and a broadband network (BBN). , may include one or more arbitrary networks such as the Internet. Additionally, the network 170 may include any one or more of network topologies including a bus network, star network, ring network, mesh network, star-bus network, tree or hierarchical network, etc. Not limited.

서버(150, 160) 각각은 복수의 전자 기기들(110, 120, 130, 140)과 네트워크(170)를 통해 통신하여 명령, 코드, 파일, 컨텐츠, 서비스 등을 제공하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다. 예를 들어, 서버(150)는 네트워크(170)를 통해 접속한 복수의 전자 기기들(110, 120, 130, 140)로 서비스(일례로, 상품 추천 서비스 등)를 제공하는 시스템일 수 있다.Each of the servers 150 and 160 is a computer device or a plurality of computers that communicate with a plurality of electronic devices 110, 120, 130, 140 and a network 170 to provide commands, codes, files, content, services, etc. It can be implemented with devices. For example, the server 150 may be a system that provides a service (for example, a product recommendation service, etc.) to a plurality of electronic devices 110, 120, 130, and 140 connected through the network 170.

도 2는 본 발명의 일실시예에 따른 컴퓨터 장치의 예를 도시한 블록도이다. 앞서 설명한 복수의 전자 기기들(110, 120, 130, 140) 각각이나 서버들(150, 160) 각각은 도 2를 통해 도시된 컴퓨터 장치(200)에 의해 구현될 수 있다.Figure 2 is a block diagram showing an example of a computer device according to an embodiment of the present invention. Each of the plurality of electronic devices 110, 120, 130, and 140 described above or each of the servers 150 and 160 may be implemented by the computer device 200 shown in FIG. 2.

이러한 컴퓨터 장치(200)는 도 2에 도시된 바와 같이, 메모리(210), 프로세서(220), 통신 인터페이스(230) 그리고 입출력 인터페이스(240)를 포함할 수 있다. 메모리(210)는 컴퓨터에서 판독 가능한 기록매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 여기서 ROM과 디스크 드라이브와 같은 비소멸성 대용량 기록장치는 메모리(210)와는 구분되는 별도의 영구 저장 장치로서 컴퓨터 장치(200)에 포함될 수도 있다. 또한, 메모리(210)에는 운영체제와 적어도 하나의 프로그램 코드가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(210)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 메모리(210)로 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 인터페이스(230)를 통해 메모리(210)에 로딩될 수도 있다. 예를 들어, 소프트웨어 구성요소들은 네트워크(170)를 통해 수신되는 파일들에 의해 설치되는 컴퓨터 프로그램에 기반하여 컴퓨터 장치(200)의 메모리(210)에 로딩될 수 있다.As shown in FIG. 2, this computer device 200 may include a memory 210, a processor 220, a communication interface 230, and an input/output interface 240. The memory 210 is a computer-readable recording medium and may include a non-permanent mass storage device such as random access memory (RAM), read only memory (ROM), and a disk drive. Here, non-perishable large-capacity recording devices such as ROM and disk drives may be included in the computer device 200 as a separate permanent storage device that is distinct from the memory 210. Additionally, an operating system and at least one program code may be stored in the memory 210. These software components may be loaded into the memory 210 from a computer-readable recording medium separate from the memory 210. Such separate computer-readable recording media may include computer-readable recording media such as floppy drives, disks, tapes, DVD/CD-ROM drives, and memory cards. In another embodiment, software components may be loaded into the memory 210 through the communication interface 230 rather than a computer-readable recording medium. For example, software components may be loaded into memory 210 of computer device 200 based on computer programs installed by files received over network 170.

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

통신 인터페이스(230)는 네트워크(170)를 통해 컴퓨터 장치(200)가 다른 장치(일례로, 앞서 설명한 저장 장치들)와 서로 통신하기 위한 기능을 제공할 수 있다. 일례로, 컴퓨터 장치(200)의 프로세서(220)가 메모리(210)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청이나 명령, 데이터, 파일 등이 통신 인터페이스(230)의 제어에 따라 네트워크(170)를 통해 다른 장치들로 전달될 수 있다. 역으로, 다른 장치로부터의 신호나 명령, 데이터, 파일 등이 네트워크(170)를 거쳐 컴퓨터 장치(200)의 통신 인터페이스(230)를 통해 컴퓨터 장치(200)로 수신될 수 있다. 통신 인터페이스(230)를 통해 수신된 신호나 명령, 데이터 등은 프로세서(220)나 메모리(210)로 전달될 수 있고, 파일 등은 컴퓨터 장치(200)가 더 포함할 수 있는 저장 매체(상술한 영구 저장 장치)로 저장될 수 있다.The communication interface 230 may provide a function for the computer device 200 to communicate with other devices (eg, the storage devices described above) through the network 170. For example, a request, command, data, file, etc. generated by the processor 220 of the computer device 200 according to a program code stored in a recording device such as memory 210 is transmitted to the network ( 170) and can be transmitted to other devices. Conversely, signals, commands, data, files, etc. from other devices may be received by the computer device 200 through the communication interface 230 of the computer device 200 via the network 170. Signals, commands, data, etc. received through the communication interface 230 may be transmitted to the processor 220 or memory 210, and files, etc. may be stored in a storage medium (as described above) that the computer device 200 may further include. It can be stored as a permanent storage device).

입출력 인터페이스(240)는 입출력 장치(250)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 마이크, 키보드 또는 마우스 등의 장치를, 그리고 출력 장치는 디스플레이, 스피커와 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(240)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 입출력 장치(250)는 컴퓨터 장치(200)와 하나의 장치로 구성될 수도 있다.The input/output interface 240 may be a means for interfacing with the input/output device 250. For example, input devices may include devices such as a microphone, keyboard, or mouse, and output devices may include devices such as displays and speakers. As another example, the input/output interface 240 may be a means for interfacing with a device that integrates input and output functions, such as a touch screen. The input/output device 250 may be configured as a single device with the computer device 200.

또한, 다른 실시예들에서 컴퓨터 장치(200)는 도 2의 구성요소들보다 더 적은 혹은 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 컴퓨터 장치(200)는 상술한 입출력 장치(250) 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다.Additionally, in other embodiments, computer device 200 may include fewer or more components than those of FIG. 2 . However, there is no need to clearly show most prior art components. For example, the computer device 200 may be implemented to include at least some of the input/output devices 250 described above, or may further include other components such as a transceiver, a database, etc.

이하에서는 함께 구매할 상품을 추천하는 방법 및 장치의 구체적인 실시예를 설명하기로 한다.Hereinafter, specific embodiments of a method and device for recommending products to be purchased together will be described.

쇼핑 도메인에서 연관 상품을 추천하기 위해 협업 필터링 기반 추천 모델, MPV(Meta Product2Vector) 기반 추천 모델, 샴 네트워크(Siamese network) 및 트리플렛 네트워크(triplet network) 기반 추천 모델 등이 활용되고 있다.To recommend related products in the shopping domain, recommendation models based on collaborative filtering, recommendation models based on MPV (Meta Product2Vector), and recommendation models based on Siamese networks and triplet networks are being used.

상기한 상품 추천 모델들은 사용자에 의한 구매 이력이 얼마나 많고 적은지에 따라 추천 성능이 좌우된다. 어느 정도 구매 이력이 쌓인 상품들 위주로 추천하기 때문에 일부 상품에 구매 이력이 집중되는 추천 쏠림 현상이 발생하기 쉽다. 다시 말해, 처음 판매되는 아이템이나 구매 이력이 부족한 콜드 아이템(cold item)의 경우 많은 이력을 보유하고 있는 웜 아이템(warm item)에 비해 추천 기회를 얻지 못하는 문제가 있다.The recommendation performance of the above product recommendation models depends on how large or small the user's purchase history is. Since recommendations are made primarily for products with a certain amount of purchase history, it is easy for a phenomenon of recommendation concentration, where purchase history is concentrated on some products, to occur. In other words, there is a problem that cold items that are sold for the first time or have a lack of purchase history do not receive recommendation opportunities compared to warm items that have a lot of history.

본 실시예들은 구매 이력이 없거나 부족한 경우에도 다양한 상품 추천이 가능한 새로운 방법론을 제공하는 것으로, 상품의 명칭, 카테고리, 브랜드, 가격, 소재, 태그 등 다양한 언어적 정보를 통합적으로 이해하여 함께 구매된 상품들의 언어적 관계를 학습한 언어 모델을 이용하여 콜드 스타트 문제에 강인한 상품 추천 모델을 제공할 수 있다.These embodiments provide a new methodology capable of recommending various products even when there is no or insufficient purchase history, and provide a comprehensive understanding of various linguistic information such as product name, category, brand, price, material, and tag to identify products purchased together. Using a language model that learns the linguistic relationships between products, it is possible to provide a product recommendation model that is robust to the cold start problem.

본 실시예에 따른 컴퓨터 장치(200)는 클라이언트(client)를 대상으로 클라이언트 상에 설치된 전용 어플리케이션이나 컴퓨터 장치(200)와 관련된 웹/모바일 사이트 접속을 통해 상품 추천 서비스를 제공할 수 있다. 컴퓨터 장치(200)에는 컴퓨터로 구현된 상품 추천 시스템이 구성될 수 있다. 일례로, 상품 추천 시스템은 독립적으로 동작하는 프로그램 형태로 구현되거나, 혹은 특정 어플리케이션의 인-앱(in-app) 형태로 구성되어 상기 특정 어플리케이션 상에서 동작이 가능하도록 구현될 수 있다.The computer device 200 according to this embodiment can provide a product recommendation service to clients through a dedicated application installed on the client or through access to a web/mobile site related to the computer device 200. The computer device 200 may be configured with a computer-implemented product recommendation system. For example, a product recommendation system may be implemented in the form of a program that operates independently, or may be implemented in the form of an in-app of a specific application so that it can operate on the specific application.

컴퓨터 장치(200)의 프로세서(220)는 이하의 상품 추천 방법을 수행하기 위한 구성요소로 구현될 수 있다. 실시예에 따라 프로세서(220)의 구성요소들은 선택적으로 프로세서(220)에 포함되거나 제외될 수도 있다. 또한, 실시예에 따라 프로세서(220)의 구성요소들은 프로세서(220)의 기능의 표현을 위해 분리 또는 병합될 수도 있다.The processor 220 of the computer device 200 may be implemented as a component for performing the following product recommendation method. Depending on the embodiment, components of the processor 220 may be selectively included in or excluded from the processor 220. Additionally, depending on the embodiment, components of the processor 220 may be separated or merged to express the functions of the processor 220.

이러한 프로세서(220) 및 프로세서(220)의 구성요소들은 이하의 상품 추천 방법이 포함하는 단계들을 수행하도록 컴퓨터 장치(200)를 제어할 수 있다. 예를 들어, 프로세서(220) 및 프로세서(220)의 구성요소들은 메모리(210)가 포함하는 운영체제의 코드와 적어도 하나의 프로그램의 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다.The processor 220 and the components of the processor 220 can control the computer device 200 to perform the steps included in the product recommendation method below. For example, the processor 220 and its components may be implemented to execute instructions according to the code of an operating system included in the memory 210 and the code of at least one program.

여기서, 프로세서(220)의 구성요소들은 컴퓨터 장치(200)에 저장된 프로그램 코드가 제공하는 명령에 따라 프로세서(220)에 의해 수행되는 서로 다른 기능들(different functions)의 표현들일 수 있다.Here, the components of the processor 220 may be expressions of different functions performed by the processor 220 according to instructions provided by program codes stored in the computer device 200.

프로세서(220)는 컴퓨터 장치(200)의 제어와 관련된 명령이 로딩된 메모리(210)로부터 필요한 명령을 읽어들일 수 있다. 이 경우, 상기 읽어들인 명령은 프로세서(220)가 이후 설명될 단계들을 실행하도록 제어하기 위한 명령을 포함할 수 있다.The processor 220 may read necessary instructions from the memory 210 where instructions related to controlling the computer device 200 are loaded. In this case, the read command may include an command for controlling the processor 220 to execute steps that will be described later.

이후 설명될 상품 추천 방법이 포함하는 단계들은 도시된 순서와 다른 순서로 수행될 수 있으며, 단계들 중 일부가 생략되거나 추가의 과정이 더 포함될 수 있다.Steps included in the product recommendation method to be described later may be performed in an order different from the order shown, and some of the steps may be omitted or additional processes may be included.

도 3은 본 발명의 일실시예에 따른 컴퓨터 장치가 수행할 수 있는 방법의 일례를 도시한 흐름도이다.Figure 3 is a flowchart showing an example of a method that can be performed by a computer device according to an embodiment of the present invention.

도 3을 참조하면, 단계(S310)에서 프로세서(220)는 사용자에 의한 구매 이력으로서 함께 구매된 상품들을 대상으로 각 상품의 언어적 정보를 이용하여 상품 간의 관계를 학습한 언어 모델을 생성할 수 있다. 언어적 정보는 상품과 관련하여 자연어로 이루어진 부가 정보(Side Information)로서, 예를 들어, 상품명, 카테고리, 브랜드, 가격, 소재, 태그 등을 포함할 수 있다. 일례로, 프로세서(220)는 언어 모델을 기반으로 쇼핑 도메인에서의 상품을 벡터(임베딩)로 표현하여 함께 구매된 상품의 의미적 관계를 잘 이해하는 모델을 생성할 수 있다. 프로세서(220)는 상품의 상품명, 카테고리, 브랜드, 가격, 소재, 태그 등 다양한 언어적 정보를 통합적으로 이해하여 함께 구매된 상품 간의 언어적 관계를 학습한 언어 모델을 마련할 수 있다. 프로세서(220)는 상품을 분류하는 상위 카테고리를 기준으로 상위 카테고리 별로 해당 카테고리 내에서의 함께 구매 데이터를 학습한 언어 모델을 마련할 수 있다. 상위 카테고리는 루트 카테고리(root category)를 의미하는 것으로, 상품 대분류 기준으로서 예를 들어, 생활/건강, 식품, 디지털/가전, 출산/육아, 가구/인테리어, 화장품/미용, 스포츠/레저, 패션 등을 포함할 수 있다. 본 실시예에서 함께 구매 데이터는 동일한 상위 카테고리 내의 상품을 일정 시간(예를 들어, 하루, 24시간 등) 내로 구매한 이력을 의미할 수 있다. 프로세서(220)는 상위 카테고리 별로 최근 일정 기간 동안의 함께 구매 데이터를 정제하여 언어 모델을 학습할 수 있다. 모든 상위 카테고리에 대해 동등한 기간(예를 들어, 최근 1년) 동안의 함께 구매 데이터를 학습 데이터로 사용할 수 있으며, 실시예에 따라서는 상위 카테고리에 따라 학습 데이터로 사용하기 위한 함께 구매 데이터의 정제 기간이 다르게 적용될 수 있다. 예를 들어, 디지털/가전이나 출산/육아의 경우 최근 1년 동안의 함께 구매 데이터를 언어 모델 학습에 활용하고, 스포츠/레저나 패션의 경우 최근 3개월 동안의 함께 구매 데이터를 언어 모델 학습에 활용할 수 있다.Referring to FIG. 3, in step S310, the processor 220 can generate a language model that learns the relationship between products using the linguistic information of each product for products purchased together as the user's purchase history. there is. Linguistic information is side information made up of natural language related to a product and may include, for example, product name, category, brand, price, material, tag, etc. For example, the processor 220 may represent products in the shopping domain as vectors (embeddings) based on a language model to create a model that better understands the semantic relationship between products purchased together. The processor 220 can prepare a language model that learns the linguistic relationship between products purchased together by comprehensively understanding various linguistic information such as product name, category, brand, price, material, and tag. The processor 220 may prepare a language model that learns purchase data within the category for each higher-level category based on the higher-level category that classifies the product. The upper category refers to the root category and is a product classification standard, for example, living/health, food, digital/home appliances, childbirth/childcare, furniture/interior, cosmetics/beauty, sports/leisure, fashion, etc. may include. In this embodiment, joint purchase data may refer to a history of purchasing products in the same upper category within a certain period of time (eg, one day, 24 hours, etc.). The processor 220 may learn a language model by refining purchase data for each upper category over a recent period of time. Together purchase data for an equal period of time (e.g., the last 1 year) for all top categories can be used as learning data, and depending on the embodiment, a purification period of the together purchase data to be used as learning data according to the top category. This can be applied differently. For example, in the case of digital/home appliances or childbirth/childcare, the recent year's joint purchase data is used to learn the language model, and in the case of sports/leisure and fashion, the recent three months' joint purchase data is used to learn the language model. You can.

단계(S320)에서 프로세서(220)는 함께 구매 데이터를 이용하여 함께 구매한 상품의 카테고리를 집계하여 카테고리 사전을 생성할 수 있다. 프로세서(220)는 함께 구매 데이터를 기반으로 하위 카테고리 단위의 사전을 생성할 수 있다. 하위 카테고리는 상위 카테고리를 세분화한 리프 카테고리(leaf category)를 의미하는 것으로, 상품 소분류 기준으로서 예를 들어, 패션의 하위 카테고리는 티셔츠, 바지, 치마, 아우터, 테마 의류, 신발, 가방, 쥬얼리 등으로 분류될 수 있고, 가구/인테리어의 하위 카테고리는 소파, 침대/매트리스, 드레스룸/행거, 거실장/테이블, 책상/책장, 의자, 식탁/주방가구, 선반/수납가구 등으로 분류될 수 있다. 프로세서(220)는 전체 리프 카테고리 셋을 대상으로 함께 구매된 상품의 카테고리를 취합하여 함께 구매 카테고리 사전을 생성할 수 있다. 예를 들어, '티셔츠' 카테고리를 기준으로 '티셔츠' 카테고리의 상품과 함께 구매된 상품의 카테고리로 '바지' 카테고리, '아우터' 카테고리, '치마' 카테고리 등을 연계하여 카테고리 사전을 만들 수 있다. 실시예에 따라서는 상위 카테고리 별로 최근 일정 기간 동안의 함께 구매 데이터를 정제하여 함께 구매 상품에 대한 카테고리 사전을 만들 수 있다. 상위 카테고리 별로 함께 구매 데이터의 볼륨이 다를 수 있기 때문에 카테고리 사전을 만들기 위해 사용되는 함께 구매 데이터의 정제 기간이 다르게 적용될 수 있다.In step S320, the processor 220 may generate a category dictionary by aggregating categories of products purchased together using joint purchase data. The processor 220 may together create a dictionary in units of subcategories based on purchase data. A subcategory refers to a leaf category that subdivides the upper category. It is a standard for subcategorizing products. For example, the subcategories of fashion include T-shirts, pants, skirts, outerwear, theme clothing, shoes, bags, jewelry, etc. It can be classified, and sub-categories of furniture/interior can be classified into sofa, bed/mattress, dressing room/hanger, living room cabinet/table, desk/bookcase, chair, dining table/kitchen furniture, shelf/storage furniture, etc. The processor 220 may collect categories of products purchased together for the entire leaf category set and create a joint purchase category dictionary. For example, based on the 'T-shirt' category, a category dictionary can be created by linking the 'Pants' category, 'Outerwear' category, and 'Skirt' category as categories of products purchased together with products in the 'T-shirt' category. Depending on the embodiment, a category dictionary for jointly purchased products may be created by refining joint purchase data for a recent certain period of time for each upper category. Since the volume of together purchase data may be different for each parent category, the purification period of the together purchase data used to create the category dictionary may be applied differently.

단계(S330)에서 프로세서(220)는 주어진 기준 상품에 대해 언어 모델과 카테고리 사전을 이용하여 기준 상품의 언어적 정보와 카테고리 정보를 기초로 기준 상품과 함께 구매할 상품을 추천할 수 있다. 프로세서(220)는 사용자가 클릭하거나 검색한 상품이나 장바구니 또는 찜 상품으로 등록한 상품 등을 기준 상품으로 하여 기준 상품과 함께 구매할 확률이 높은 카테고리의 상품을 추천할 수 있다. 프로세서(220)는 기준 상품이 속하는 상위 카테고리에 대해 학습된 언어 모델을 통해 해당 상위 카테고리의 전체 상품 중 기준 상품과 언어적 관계를 나타내는 벡터 거리가 짧은 상품을 중심으로 추천 상품을 선정할 수 있다. 이때, 프로세서(220)는 카테고리 사전을 이용하여 언어 모델로 선정된 추천 상품을 재정렬(reordering)할 수 있다. 프로세서(220)는 카테고리 사전에서 기준 상품이 속하는 하위 카테고리에 대한 함께 구매 카테고리들을 확인할 수 있고 함께 구매 카테고리의 순서와 비율 중 적어도 하나에 따라 언어 모델로 선정된 추천 상품을 재정렬할 수 있다.In step S330, the processor 220 may use a language model and a category dictionary for a given standard product to recommend a product to be purchased together with the standard product based on the linguistic information and category information of the standard product. The processor 220 may recommend products in a category that have a high probability of being purchased together with the standard product, using products clicked or searched by the user, products registered in the shopping cart or as a favorite product, etc., as standard products. The processor 220 may select recommended products focusing on products with a short vector distance indicating a linguistic relationship with the reference product among all products in the upper category through a language model learned for the upper category to which the reference product belongs. At this time, the processor 220 may reorder recommended products selected as a language model using a category dictionary. The processor 220 may check the together purchase categories for the subcategory to which the reference product belongs in the category dictionary and rearrange the recommended products selected by the language model according to at least one of the order and ratio of the together purchase categories.

콜드 스타트 문제에 강인한 상품 추천 모델을 생성하는 과정을 구체적으로 설명하면 다음과 같다.The process of creating a product recommendation model that is robust to the cold start problem is described in detail as follows.

도 4는 본 발명의 일실시예에 있어서 함께 구매 데이터의 예시를 도시한 것이다.Figure 4 shows an example of purchase data in one embodiment of the present invention.

도 4를 참조하면, 프로세서(220)는 상위 카테고리 단위로 언어 모델을 학습하기 위해 해당 카테고리 내에서의 구매 이력 중 함께 구매된 상품들을 대상으로 한 함께 구매 데이터(401, 402, 403)를 수집할 수 있다.Referring to FIG. 4, the processor 220 collects together purchase data 401, 402, and 403 for products purchased together among the purchase history within the category in order to learn a language model in units of higher categories. You can.

이때, 함께 구매 데이터(401, 402, 403)는 동일한 상위 카테고리 내의 상품을 동일 사용자가 일정 기간(예를 들어, 하루) 동안에 함께 구매한 이력을 의미할 수 있다. 프로세서(220)는 함께 구매 데이터(401, 402, 403)로서 함께 구매된 상품 각각의 상품명, 카테고리, 브랜드, 가격, 소재, 태그 등 자연어로 이루어진 다양한 언어적 정보를 수집할 수 있다.At this time, the joint purchase data 401, 402, and 403 may refer to a history of products in the same upper category being purchased together by the same user over a certain period of time (eg, one day). The processor 220 can collect various linguistic information consisting of natural language such as product name, category, brand, price, material, tag, etc. of each product purchased together as purchase data 401, 402, and 403.

프로세서(220)는 함께 구매 데이터(401, 402, 403)를 수집함에 있어 하위 카테고리가 동일한 상품의 경우 수집 대상에서 제외시킬 수 있다. 동일 상품을 복수 개 구매한 경우도 마찬가지로 함께 구매 데이터(401, 402, 403)에서 제외시킬 수 있다.When collecting purchase data 401, 402, and 403 together, the processor 220 may exclude products of the same subcategory from collection. Likewise, if multiple identical products are purchased, they can be excluded from the purchase data (401, 402, 403).

다시 말해, 프로세서(220)는 상위 카테고리의 상품 중 하위 카테고리가 서로 다른, 즉 2종류 이상의 상품을 함께 구매한 이력을 나타내는 함께 구매 데이터(401, 402, 403)를 언어 모델 학습에 활용할 수 있다.In other words, the processor 220 may use the joint purchase data 401, 402, and 403, which indicates a history of purchasing two or more types of products with different lower categories among products in the upper category, for language model training.

프로세서(220)는 함께 구매 데이터(401, 402, 403)가 주어지는 경우 정규화(normalization)를 포함한 전처리 작업을 진행할 수 있다. 함께 구매 데이터(401, 402, 403)에서 특수문자, 관사, 전치사, 조사, 접속사 등의 불용어와 같은 노이즈 데이터를 제거한 후 언어 모델 학습에 활용할 수 있다.The processor 220 may perform preprocessing, including normalization, when the purchase data 401, 402, and 403 are given together. Together, noise data such as stop words such as special characters, articles, prepositions, particles, and conjunctions can be removed from purchase data (401, 402, 403) and then used for language model learning.

도 5 내지 도 6은 본 발명의 일실시예에 있어서 언어 모델 학습 과정의 예시를 도시한 것이다.Figures 5 and 6 show an example of a language model learning process in one embodiment of the present invention.

본 실시예에서는 트리플렛 학습(triplet learning)을 통해 함께 구매 데이터를 학습하여 함께 구매된 상품 간의 의미적 관계를 이해하는 언어 모델(예를 들어, BERT(Bidirectional Encoder Representations from Transformers) 등)을 마련할 수 있다.In this embodiment, it is possible to prepare a language model (for example, BERT (Bidirectional Encoder Representations from Transformers), etc.) that understands the semantic relationship between products purchased together by learning purchase data together through triplet learning. there is.

콜드 스타트 문제를 해결하기 위한 방법론 중 하나인 트리플렛 네트워크(triplet network) 기반 추천 모델은 상품의 언어적 정보로 인코딩한 임베딩을 트리플렛 손실(triplet loss)을 활용하여 학습하는 방식을 사용할 수 있다.A triplet network-based recommendation model, which is one of the methodologies for solving the cold start problem, can use a method of learning embeddings encoded with linguistic information of products using triplet loss.

트리플렛 학습은 메트릭 학습(metric learning)이라는 거리 기반 학습 방법론으로, 기준(anchor) 정보와 정답(positive) 정보 및 오답(negative) 정보가 존재하며 정답은 기준에서 가까워지도록, 오답은 기준에서 멀어지도록 학습하는 것이다.Triplet learning is a distance-based learning methodology called metric learning. There is anchor information, positive information, and negative information, and the correct answer is learned to be closer to the standard and the incorrect answer is learned to be farther away from the standard. It is done.

도 5를 참조하면, 프로세서(220)는 함께 구매 데이터(501)를 이용하여 정답 데이터 쌍(510)을 구성할 수 있다. 특정 사용자가 특정 날짜에 특정 상위 카테고리에서 함께 구매한 서로 다른 하위 카테고리의 상품 목록(상품A, 상품B, 상품C, 상품D)이 있을 때, 이를 레이블(label) 정보로 삼아 정답 데이터 쌍(510)을 만들 수 있다. 함께 구매 데이터(501)가 수집된 상위 카테고리의 상품 중에서 함께 구매 데이터(501)에 포함되지 않은 다른 상품들은 오답 데이터로 활용할 수 있다. 예를 들어, 상품A를 기준 정보라 할 때 상품B, 상품C, 상품D는 정답 정보가 되고 그 외 나머지 상품들은 오답 정보가 될 수 있다.Referring to FIG. 5 , the processor 220 may configure the correct answer data pair 510 using the purchase data 501 together. When there is a list of products (Product A, Product B, Product C, Product D) of different subcategories that a specific user purchased together in a specific parent category on a specific date, this is used as label information and the answer data pair (510 ) can be made. Among products in the upper category for which the together purchase data 501 is collected, other products that are not included in the together purchase data 501 can be used as incorrect answer data. For example, when product A is considered standard information, product B, product C, and product D can be correct information, and the remaining products can be incorrect information.

한편, 프로세서(220)는 특정 사용자가 특정 날짜에 특정 스토어에서 함께 구매한 상품 목록을 정답 데이터 쌍(510)으로 만들 수 있다. 함께 구매 데이터(501)가 수집된 특정 스토어의 상품 중에서 함께 구매 데이터(501)에 포함되지 않은 다른 상품들은 오답 데이터로 활용할 수 있다. 또한, 특정 스토어에서의 구매 기록 중, 특정 상위 카테고리 상품의 구매기록을 이용하여 동일한 방식으로 학습 데이터를 구성할 수도 있다.Meanwhile, the processor 220 may create a list of products purchased by a specific user from a specific store on a specific date as the correct answer data pair 510. Among the products of a specific store for which the purchase data 501 is collected, other products that are not included in the purchase data 501 can be used as incorrect answer data. Additionally, learning data can be constructed in the same way using purchase records of products in a specific higher category among purchase records at a specific store.

도 6에 도시한 바와 같이, 프로세서(220)는 함께 구매 데이터(501)를 학습하는 과정에서 기준 정보인 상품A에 대해 정답 정보인 상품B를 상품A와 가까워지도록 학습하고(즉, 함께 구매 관계), 오답 정보인 상품X를 상품A와 멀어지도록 학습할 수 있다.As shown in FIG. 6, in the process of learning the purchase data 501 together, the processor 220 learns product B, which is the correct answer information, to be closer to product A with respect to product A, which is the reference information (i.e., a joint purchase relationship). ), product X, which is incorrect information, can be learned to move away from product A.

프로세서(220)는 트리플렛 학습을 통해 함께 구매 데이터(501)로 학습된 언어 모델을 통해 상품A를 보고 있는 사용자에게 상품B, 상품C, 상품D를 추천하는 것은 물론이고, 상품A와 언어적 관계가 유사한 다른 상품을 포함하여 추천할 수 있다. 예를 들어, 상품Q에 대한 구매 이력이 없더라도 상품A와 상품Q가 함께 구매 가능한 언어적 관계(예를 들어, "티셔츠" 와 "반바지"와 같이 문자 자체의 유사도는 떨어지더라도 함께 구매할 언어적 관계가 높은 경우)를 가진 경우 상품Q를 상품A에 대한 추천 상품으로 제공할 수 있다.The processor 220 not only recommends product B, product C, and product D to a user viewing product A through a language model learned with purchase data 501 through triplet learning, but also recommends product A and product D. You can recommend products including other similar products. For example, a linguistic relationship in which product A and product Q can be purchased together even if there is no purchase history for product Q (for example, a linguistic relationship in which product A and product Q can be purchased together even if the similarity of the letters themselves is low, such as "T-shirt" and "shorts") is high), product Q can be provided as a recommended product for product A.

상위 카테고리 중 동일 카테고리 내 상품이더라도 계절성의 차이가 존재하는 카테고리에 대한 언어 모델의 경우 구매 시점과 계절성 관련 데이터를 포함한 추가 학습을 진행할 수 있다.In the case of language models for categories where differences in seasonality exist even for products within the same category among higher-level categories, additional learning can be conducted including data related to purchase point and seasonality.

언어 모델의 경우 상품의 다양한 언어적 정보를 임베딩으로 만들고 함께 구매된 상품의 의미적 관계를 이해하기 때문에 상품 이해에 있어 일반화(generalization)가 가능하고, 구매 이력이 없거나 부족한 상품에 대해서도 추천 가능하다.In the case of a language model, because it embeds various linguistic information of a product and understands the semantic relationship between products purchased together, generalization is possible in understanding the product, and it can also recommend products with no or insufficient purchase history.

도 7은 본 발명의 일실시예에 있어서 함께 구매 카테고리 사전 구성 예시를 도시한 것이다.Figure 7 shows an example of pre-configuring purchase categories in one embodiment of the present invention.

프로세서(220)는 카테고리 셋(예를 들면, 전체 하위 카테고리 셋)에 대해 함께 구매 데이터를 이용하여 함께 구매한 상품의 카테고리를 집계하여 함께 구매 카테고리 사전을 생성할 수 있다. 예를 들어, 도 7에 도시한 바와 같이 상품 카테고리가 카테고리A, 카테고리W라 할 때, 카테고리A의 상품과 함께 구매된 상품의 카테고리를 집계하고, 카테고리W의 상품과 함께 구매된 상품의 카테고리를 집계하여 함께 구매 카테고리 사전(700)을 만들 수 있다. 이때, 함께 구매 카테고리 사전(700)에는 카테고리 별로 상품 구매 비율이 포함될 수 있다. 카테고리A의 상품 구매 비율과 카테고리A의 상품과 함께 구매된 상품의 카테고리인 카테고리B, 카테고리C, 카테고리D의 상품 구매 비율을 모두 집계하여 함께 구매 카테고리 사전(700)을 만들 수 있다.The processor 220 may generate a joint purchase category dictionary by aggregating categories of products purchased together using joint purchase data for a set of categories (e.g., an entire set of subcategories). For example, as shown in Figure 7, when the product categories are Category A and Category W, the categories of products purchased together with products of Category A are aggregated, and the categories of products purchased together with products of Category W are calculated. By counting, you can create a dictionary of purchase categories (700) together. At this time, the purchase category dictionary 700 may include the product purchase rate for each category. A purchase category dictionary (700) can be created by tallying up the purchase rate of products in Category A and the purchase rates of products in Category B, Category C, and Category D, which are categories of products purchased together with products in Category A.

상기에서는 카테고리의 계층을 구분하지 않고 함께 구매 카테고리 사전을 생성하는 것으로 설명하고 있으나, 이에 한정되는 것은 아니며, 실시예에 따라서는 계층형 구조의 카테고리 사전으로서 상위 카테고리 별로 하위 카테고리 단위의 카테고리 사전을 각각 만드는 것 또한 가능하다.In the above, it is explained that a purchase category dictionary is created together without distinguishing the hierarchy of categories, but it is not limited to this, and depending on the embodiment, it is a category dictionary with a hierarchical structure, and a category dictionary of lower category units is created for each upper category. It is also possible to make it.

함께 구매 카테고리 사전(700)은 함께 구매 데이터를 이용한 데이터 집계를 통해 주기적으로 자동 생성될 수 있으며, 계절성 등을 고려하여 카테고리 사전(700)의 업데이트 주기나 시점이 결정될 수 있다.The together purchase category dictionary 700 can be automatically created periodically through data aggregation using together purchase data, and the update cycle or timing of the category dictionary 700 can be determined by considering seasonality, etc.

프로세서(220)는 카테고리 사전(700)을 생성함에 있어 함께 구매 데이터의 시간 데이터를 활용하여 구매 순서에 따른 방향성을 고려한 카테고리 사전을 만들 수도 있다. 공기청정기를 구매한 사용자에게 공기청정기 필터를 추천하는 것은 유효하지만 공기청정기 필터를 구매한 사용자에게 공기청정기를 추천하는 것은 바람직하지 않을 수 있다. 이러한 점을 고려하여 상품 구매 순서를 고려한 함께 구매 카테고리 사전(700)을 만들 수 있다.When creating the category dictionary 700, the processor 220 may also utilize time data of purchase data to create a category dictionary that takes into account the direction according to the purchase order. It is valid to recommend an air purifier filter to a user who purchased an air purifier, but it may not be desirable to recommend an air purifier to a user who purchased an air purifier filter. Taking this into consideration, it is possible to create a purchase category dictionary 700 that takes into account the product purchase order.

도 8은 본 발명의 일실시예에 있어서 함께 구매할 상품을 추천하는 과정의 일례를 도시한 것이다.Figure 8 shows an example of a process for recommending products to be purchased together in one embodiment of the present invention.

도 8을 참조하면, 단계(S801)에서 프로세서(220)는 함께 구매 데이터로 학습된 언어 모델을 통해 기준 상품과의 함께 구매 확률이 높은 추천 상품을 추출할 수 있다. 프로세서(220)는 기준 상품이 속하는 상위 카테고리에 대해 학습된 언어 모델을 이용하여 해당 상위 카테고리의 전체 상품 중 기준 상품과 언어적 관계를 나타내는 벡터 거리가 짧은 상품을 중심으로 추천 상품을 선정할 수 있다. 이때, 프로세서(220)는 상위 카테고리의 상품 중 하위 카테고리가 기준 상품과 다른 상품을 추천 상품으로 선정할 수 있다.Referring to FIG. 8, in step S801, the processor 220 may extract a recommended product with a high probability of being purchased together with a reference product through a language model learned with purchase data. The processor 220 can use a language model learned for the upper category to which the reference product belongs to select recommended products focusing on products with a short vector distance indicating a linguistic relationship with the reference product among all products in the higher category. . At this time, the processor 220 may select a product whose lower category is different from the standard product among products in the upper category as a recommended product.

단계(S802)에서 프로세서(220)는 기준 상품에 대해 함께 구매 카테고리 사전을 이용하여 단계(S801)에서 선정된 추천 상품을 재정렬하여 보여줄 수 있다. 같은 카테고리에 속한 상품들은 사용하는 키워드 등 언어적 유사도가 높기 때문에 언어 모델을 통해 벡터 거리가 짧은 상품만을 선정하게 되면 때에 따라 기준 상품과 같은 하위 카테고리의 상품들이 주를 이루게 된다. 이러한 결과를 개선하기 위해 기준 상품과 같은 하위 카테고리의 상품을 제외하고 기준 상품과 다른 하위 카테고리의 상품을 기준 상품과 함께 구매할 상품으로 추천할 수 있으며, 이때 함께 구매 카테고리 사전을 이용하여 기준 상품과 함께 구매할 상품을 재정렬할 수 있다.In step S802, the processor 220 may rearrange and display the recommended products selected in step S801 using a purchase category dictionary together with the reference product. Products belonging to the same category have high linguistic similarity, such as keywords used, so when only products with short vector distances are selected through a language model, products in the same subcategory as the standard product sometimes become the main products. To improve these results, you can exclude products in the same subcategory as the reference product and recommend products in a different subcategory from the reference product as products to be purchased together with the reference product. You can rearrange the products you want to purchase.

도 9를 참조하면, 프로세서(220)는 언어 모델을 통해 카테고리W에 속한 기준 상품과 함께 구매할 추천 상품(910)을 추출할 수 있고, 이때 언어 모델을 통해 추출한 추천 상품(910)을 먼저 벡터 거리가 짧은 순으로(언어 모델 점수가 높은 순으로) 정렬할 수 있다.Referring to FIG. 9, the processor 220 may extract a recommended product 910 to be purchased together with a reference product belonging to category W through a language model, and at this time, the recommended product 910 extracted through the language model is first divided into vector distances. You can sort them in descending order (highest language model score).

프로세서(220)는 기준 상품의 하위 카테고리를 기준으로 카테고리 사전을 확인할 수 있다. 함께 구매 카테고리 사전에서 카테고리W의 상품과 함께 구매한 상품의 카테고리가 카테고리X, 카테고리Y, 카테고리Z이고, 상품 구매 비율이 카테고리X가 가장 높고, 카테고리Z가 가장 적다고 할 때, 해당 순서 및/또는 비율에 맞춰 언어 모델을 통해 추출한 추천 상품(910)을 재정렬할 수 있다.The processor 220 may check the category dictionary based on the subcategory of the standard product. In the together purchase category dictionary, the categories of products purchased together with products of Category W are Category Alternatively, the recommended products 910 extracted through the language model can be rearranged according to the ratio.

예를 들어, 특정 티셔츠z에 대해, 언어 모델을 통해 언어적 관계가 유사한 순으로 니트a, 점퍼b, 바지c가 추출된 것으로 가정한다. 카테고리 사전에 티셔츠와 바지가 함께 구매된 것으로 집계된 경우, 티셔츠z와 함께 구매할 상품을 니트a, 점퍼b, 바지c 순으로 추천하지 않고 카테고리 사전 정보를 반영하여 바지c, 니트a, 점퍼b 순으로 재정렬하여 추천할 수 있다.For example, assume that for a specific t-shirt z, knit a, jumper b, and pants c are extracted through a language model in the order of similar linguistic relationships. If a t-shirt and pants are counted as purchased together in the category dictionary, the products to be purchased with t-shirt z are not recommended in the order of knit, jumper b, and pants c. Instead, the category dictionary information is reflected in the order of pants c, knit, and jumper b. It can be recommended by rearranging.

다른 예로, <우유> 카테고리와 함께 구매한 카테고리를 집계한 결과가 두유 90건, 유산균 70건, 쥬스 40건이라 할 때, 기준 상품 <소화가 잘되는 우유 멸균 190ml>와 함께 구매할 상품을 언어 모델로 선정한 후 선정된 상품 중 두유 상품, 유산균 상품, 주스 상품을 9:7:4의 비율로 재정렬하여 노출할 수 있다.As another example, if the result of counting the categories purchased together with the <Milk> category is 90 soy milk, 70 lactic acid bacteria, and 40 juice, the product to be purchased along with the standard product <Easily digestible sterilized milk 190ml> is used as a language model. After selection, soy milk products, lactic acid bacteria products, and juice products among the selected products can be rearranged and exposed in a ratio of 9:7:4.

언어 모델을 통해 추출한 추천 상품(910)을 함께 구매 카테고리 별 상품 구매 비율에 따라 재정렬하는 것은 물론이고, 상품 구매 비율에 따라 함께 구매 카테고리에 대한 가중치를 결정할 수 있고 추천 상품(910)에 해당 상품이 속한 카테고리의 상품 구매 비율에 따른 가중치를 반영하여 재정렬하는 것 또한 가능하다.Not only can the recommended products (910) extracted through the language model be rearranged according to the product purchase rate for each category, but also the weight for the combined purchase categories can be determined according to the product purchase rate, and the corresponding product in the recommended product (910) can be determined. It is also possible to reorder to reflect the weight according to the purchase rate of products in the category to which it belongs.

본 실시예에서는 언어 모델의 한계점이라 할 수 있는 제한된 카테고리 추천 문제를 카테고리 사전을 활용하여 해결할 수 있다.In this embodiment, the limited category recommendation problem, which can be considered a limitation of the language model, can be solved by using a category dictionary.

도 10은 본 발명의 일실시예에 있어서 함께 구매할 상품을 추천하는 과정의 다른 예를 도시한 것이다.Figure 10 shows another example of a process for recommending products to be purchased together in one embodiment of the present invention.

본 실시예에서는 카테고리 사전을 이용한 추천 상품 재정렬을 개인화할 수 있다.In this embodiment, the reordering of recommended products using a category dictionary can be personalized.

도 10을 참조하면, 단계(S1001)에서 프로세서(220)는 기준 상품이 속하는 상위 카테고리의 함께 구매 데이터로 학습된 언어 모델을 통해 기준 상품과의 함께 구매 확률이 높은 추천 상품을 추출할 수 있다.Referring to FIG. 10 , in step S1001, the processor 220 may extract a recommended product with a high probability of being purchased together with the reference product through a language model learned with joint purchase data of the upper category to which the reference product belongs.

단계(S1002)에서 프로세서(220)는 단계(S1001)에서 선정된 추천 상품을 재정렬함에 있어 기준 상품이 속하는 상위 카테고리 내 상품과 관련된 개인 이력을 기반으로 추천 상품의 재정렬을 개인화할 수 있다. 일례로, 프로세서(220)는 기준 상품이 속하는 상위 카테고리에서의 사용자 개인 또는 사용자가 속한 사용자 그룹(예를 들어, 프로필이나 관심사, 쇼핑 패턴, 검색 패턴 등이 유사한 사용자 그룹)의 함께 구매 데이터를 이용하여 함께 구매 카테고리 사전을 개인이나 그룹의 취향을 고려한 형태로 구성할 수 있다. 다른 예로, 프로세서(220)는 기준 상품이 속하는 상위 카테고리 내에서 최근 일정 기간(예를 들어, 30일) 동안 사용자가 클릭하거나 검색한 상품이나 장바구니 또는 찜 상품으로 등록한 상품 등을 중심으로 카테고리 사전을 구성할 수 있다.In step S1002, the processor 220 may personalize the rearrangement of recommended products based on personal history related to products in the upper category to which the reference product belongs when rearranging the recommended products selected in step S1001. For example, the processor 220 uses purchase data of an individual user or a user group to which the user belongs (e.g., a group of users with similar profiles, interests, shopping patterns, search patterns, etc.) in the upper category to which the reference product belongs. Thus, a dictionary of purchase categories can be constructed in a form that takes into account the tastes of individuals or groups. As another example, the processor 220 creates a category dictionary focusing on products clicked or searched by the user during a recent certain period (for example, 30 days) or products registered as a shopping cart or favorite product within the upper category to which the standard product belongs. It can be configured.

예를 들어, 상품 <우유 멸균 저지방 2% 200ml>을 보고 있는 사용자A와 사용자B를 대상으로 함께 구매할 상품을 추천함에 있어 각 사용자의 취향에 따라 사용자A에게는 상품 <쥬스 과일야채 샐러드 레드 200ml/건강 위한 식이섬유, 라이코펜 함유>를 보여주고, 사용자B에게는 <헬스 단백질 보충제 웨이프로틴 파우더 단백질 스틱 초콜릿>을 보여줄 수 있다. 또한, <한강 데이트>와 <도시락>을 검색하던 사용자가 <돗자리> 상품을 보고 있을 때, 해당 사용자와 비슷한 검색/쇼핑 패턴을 가진 사용자 그룹에서 많이 구매한 <피크닉 바구니> 카테고리의 상품을 추천할 수 있다.For example, when recommending products to purchase together for User A and User B who are looking at the product <Milk Sterilized Low Fat 2% 200ml>, User A is recommended the product <Juice Fruit Vegetable Salad Red 200ml/Healthy according to each user's taste. Contains dietary fiber and lycopene> for user B, and <health protein supplement whey protein powder protein stick chocolate> to user B. Additionally, when a user who was searching for <Han River Date> and <Lunch Box> is looking at the <Mat> product, products in the <Picnic Basket> category that were frequently purchased by a group of users with similar search/shopping patterns as the user may be recommended. You can.

프로세서(220)는 언어 모델로 선정된 추천 상품 중 사용자 취향에 맞는 카테고리의 상품 또는 최근 쇼핑 의도에 대응되는 카테고리의 상품을 상위에 정렬하여 보여줄 수 있다.The processor 220 may display products in a category that matches the user's taste or products in a category that corresponds to recent shopping intention among the recommended products selected by the language model, sorted at the top.

도 11은 본 발명의 일실시예에 있어서 함께 구매할 상품을 추천하는 과정의 또 다른 예를 도시한 것이다.Figure 11 shows another example of a process for recommending products to be purchased together in one embodiment of the present invention.

본 실시예에서는 키워드를 중심으로 상품을 추천하여 추천 결과의 해석력(explainability)을 높일 수 있다.In this embodiment, the explainability of the recommendation results can be improved by recommending products based on keywords.

도 11을 참조하면, 단계(S1101)에서 프로세서(220)는 기준 상품이 속하는 상위 카테고리의 함께 구매 데이터로 학습된 언어 모델을 통해 기준 상품과의 함께 구매 확률이 높은 추천 상품을 추출할 수 있다.Referring to FIG. 11 , in step S1101, the processor 220 may extract a recommended product with a high probability of being purchased together with the reference product through a language model learned with joint purchase data of the upper category to which the reference product belongs.

단계(S1102)에서 프로세서(220)는 단계(S1101)에서 선정된 추천 상품을 재정렬함에 있어 기준 상품과 관련된 키워드를 기준으로 추천 상품을 재정렬할 수 있다. 예를 들어, 상품 <만두 매운 왕교자 385Gx4봉>을 보고 있는 사용자를 대상으로 '매운'이라는 키워드를 활용하여 상품 <남해 매운 굴소스 350G>, <청양초 매운 물냉면 2인 954.4G> 등을 추천할 수 있고, '왕교자'라는 키워드를 활용하여 상품 <만두 김치 왕교자 420Gx4봉>, 상품 <만두 새우 왕교자 315Gx6개> 등을 추천할 수 있다.In step S1102, the processor 220 may rearrange the recommended products selected in step S1101 based on keywords related to the standard product. For example, for users who are looking at the product <Spicy dumpling dumplings 385Gx4 bags>, products such as <Namhae Spicy Oyster Sauce 350G> and <Cheongyangcho Spicy Mulnaengmyeon for 2 954.4G> were recommended using the keyword ‘spicy’. You can use the keyword ‘Wang Gyoza’ to recommend products such as <Dumpling Kimchi Wang Gyoja 420Gx4 bags>, product <Dumpling and Shrimp Wang Gyoja 315Gx6 pieces>, etc.

키워드를 중심으로 추천 상품을 재정렬하기 위해서는 상품 별로 해당 상품과 관련된 주요 키워드를 미리 매핑해 놓고 상품 간에 키워드를 중심으로 매핑하여 추천에 사용할 수 있다. 예를 들어, 상품 <만두 매운 왕교자 385Gx4봉>과 <만두 김치 왕교자 420Gx4봉>에 키워드 '매운'과 '만두'를 매핑하고, 상품 <만두 새우 왕교자 315Gx6개>에 키워드 '새우', '해물', '만두'를 매핑하고, 상품 <우유 멸균 저지방 2% 200ml>에 키워드 '저지방'과 '우유'를 매핑하고, 상품 <쥬스 과일야채 샐러드 레드 200ml/건강 위한 식이섬유, 라이코펜 함유>에 키워드 '과일 주스'와 '다이어트'를 매핑하고, 상품 <헬스 단백질 보충제 웨이프로틴 파우더 단백질 스틱 초콜릿>에 키워드 '단백질 파우더'와 '초콜릿'을 매핑할 수 있다. 이와 같이 상품 별로 핵심이 되는 키워드를 사전에 매핑할 수 있고, 실시예에 따라서는 상품의 언어적 정보에서 핵심 키워드를 예측하는 모델을 만들어 활용하는 것 또한 가능하다.In order to rearrange recommended products based on keywords, you can map the main keywords related to each product in advance and use them for recommendations by mapping keywords between products. For example, the keywords 'spicy' and 'dumpling' were mapped to the products <Spicy dumpling dumplings 385Gx4 bags> and <Dumpling Kimchi Wang dumplings 420Gx4 bags>, and the keywords 'shrimp', ‘Seafood’ and ‘dumplings’ were mapped, and the keywords ‘low fat’ and ‘milk’ were mapped to the product <Milk Sterilized Low Fat 2% 200ml>, and the product <Juice Fruit and Vegetable Salad Red 200ml/Contains dietary fiber and lycopene for health> You can map the keywords 'fruit juice' and 'diet' to the product <Health Protein Supplement Whey Protein Powder Protein Stick Chocolate> and the keywords 'protein powder' and 'chocolate'. In this way, key keywords for each product can be mapped in advance, and depending on the embodiment, it is also possible to create and utilize a model that predicts key keywords from the linguistic information of the product.

도 12는 본 발명의 일실시예에 있어서 함께 구매할 상품을 추천하는 과정의 또 다른 예를 도시한 것이다.Figure 12 shows another example of a process for recommending products to be purchased together in one embodiment of the present invention.

본 실시예에서는 사용자 개인의 상품 구매 행태를 고려한 시점에 추천 상품을 노출할 수 있다.In this embodiment, recommended products can be exposed at a time when the user's individual product purchase behavior is taken into consideration.

도 12를 참조하면, 단계(S1201)에서 프로세서(220)는 기준 상품이 속하는 상위 카테고리의 함께 구매 데이터로 학습된 언어 모델을 통해 기준 상품과의 함께 구매 확률이 높은 추천 상품을 추출할 수 있다.Referring to FIG. 12, in step S1201, the processor 220 may extract a recommended product with a high probability of being purchased together with the reference product through a language model learned with joint purchase data of the higher category to which the reference product belongs.

단계(S1202)에서 프로세서(220)는 함께 구매 카테고리 사전을 이용하여 단계(S1201)에서 선정된 추천 상품을 재정렬할 수 있다.In step S1202, the processor 220 may rearrange the recommended products selected in step S1201 using the purchase category dictionary.

단계(S1203)에서 프로세서(220)는 사용자 개인의 상품 구매 행태를 고려하여 단계(S1202)에서 재정렬된 추천 상품의 노출 시점을 결정할 수 있다. 사용자마다 상품을 구매하는 행태가 다양하고 기존 쇼핑 의도가 완료되고 새로운 쇼핑 의도를 가질 수 있는 시점이 다르기 때문에 상품 추천 시점이 중요하다고 할 수 있다. 평균적으로 상품을 몇 번 확인한 후에 구매로 이어지는지 혹은 구매 직전 어떤 행동을 하는지 등의 상품 구매 행태를 학습한 모델을 생성할 수 있고, 이를 통해 비슷한 상품 구매 행태를 보이는 사용자를 그룹핑하여 사용자 그룹 별로 다른 시점에 추천 상품을 노출할 수 있다. 상품A와 함께 구매할 확률이 높은 추천 상품으로 상품B, 상품C, 상품D가 정해진 경우, 사용자마다 다른 시점에 상품B, 상품C, 상품D를 추천할 수 있다. 예를 들어, 찜 상품으로 등록한 이후 구매하는 행태를 보이는 사용자A에게는 상품A가 찜 상품으로 등록되는 시점에 상품B, 상품C, 상품D를 추천할 수 있고, 장바구니에 동일 카테고리의 유사 상품을 5개 이상 등록하여 비교 후 구매하는 행태를 보이는 사용자B에게는 상품A와 동일한 카테고리의 다른 상품이 5개 이상 등록된 시점에 상품B, 상품C, 상품D를 추천할 수 있다.In step S1203, the processor 220 may determine the exposure time of the recommended products rearranged in step S1202 by considering the user's individual product purchase behavior. The timing of product recommendation can be said to be important because each user's product purchasing behavior varies and the point in time when existing shopping intentions are completed and new shopping intentions can be formed is different. It is possible to create a model that learns product purchase behavior, such as how many times a product is checked on average before a purchase is made or what actions are taken immediately before purchase. Through this, users who show similar product purchase behavior can be grouped together to create different products for each user group. Recommended products can be displayed at the right time. If product B, product C, and product D are selected as recommended products that are likely to be purchased together with product A, product B, product C, and product D can be recommended to each user at different times. For example, to User A, who shows purchasing behavior after registering a favorite product, Product B, Product C, and Product D can be recommended at the time Product A is registered as a favorite product, and 5 similar products of the same category can be added to the shopping cart. Product B, Product C, and Product D can be recommended to User B, who registers more than 5 products and compares them before purchasing. When 5 or more other products in the same category as Product A are registered.

개인 구매 행태는 함께 구매할 추천 상품의 노출 시점을 결정하기 위해 활용될 수 있으며, 실시예에 따라서는 추천 상품의 카테고리를 결정하기 위해 개인 구매 행태를 활용하는 것 또한 가능하다. 예를 들어, 장바구니에 동일 카테고리의 유사 상품을 5개 이상 등록하여 비교 후 구매하는 행태를 보이는 사용자B를 대상으로 상품을 추천함에 있어 장바구니에 유사 상품이 5개 미만으로 등록된 경우에는 기준 상품과 동일한 하위 카테고리의 다른 상품을 우선 추천하고, 이후 장바구니에 유사 상품이 5개 이상 등록된 시점에 기준 상품과 다른 하위 카테고리의 상품으로서 기준 상품과 함께 구매할 확률이 높은 카테고리의 상품을 추천할 수 있다.Personal purchase behavior can be used to determine the exposure time of recommended products to be purchased together, and depending on the embodiment, it is also possible to use personal purchase behavior to determine the category of recommended products. For example, when recommending a product to User B, who registers more than 5 similar products of the same category in the shopping cart and shows the behavior of comparing and then purchasing, if there are less than 5 similar products registered in the shopping cart, the standard product and Other products in the same subcategory are recommended first, and later, when five or more similar products are registered in the shopping cart, a product in a subcategory different from the standard product that is likely to be purchased together with the standard product can be recommended.

도 13은 본 발명의 일실시예에 있어서 함께 구매할 상품 추천 예시를 도시한 것이다.Figure 13 shows an example of recommending products to be purchased together in one embodiment of the present invention.

프로세서(220)는 함께 구매 데이터로 학습된 언어 모델을 통해 기준 상품과 하위 카테고리가 다른 상품 중 기준 상품과 언어적 관계가 유사한 상품을 선정한 후 함께 구매 데이터의 집계로 구성된 카테고리 사전을 통해 언어 모델로 선정된 상품을 재정렬하여 기준 상품과 함께 구매할 확률이 높은 카테고리의 상품으로 추천할 수 있다.The processor 220 selects products that have a similar linguistic relationship to the reference product among products with different subcategories from the reference product through a language model learned from the purchase data together, and then uses a category dictionary composed of an aggregation of the purchase data to create a language model. Selected products can be reordered to recommend products in categories that are likely to be purchased together with the standard product.

예를 들어, 도 13에 도시한 바와 같이 프로세서(220)는 하위 카테고리가 <트리트먼트>인 기준 상품(1310)에 대해 함께 구매할 확률이 높은 카테고리의 추천 상품(1320)을 제공할 수 있다.For example, as shown in FIG. 13, the processor 220 may provide a recommended product 1320 in a category with a high probability of being purchased together with the reference product 1310 whose subcategory is <treatment>.

프로세서(220)는 언어 모델을 통해 기준 상품(1310)과 다른 하위 카테고리(예를 들어, 샴푸, 염색약, 탈모케어, 헤어팩, 린스, 치약 등)의 상품 중 기준 상품(1310)과 언어적 관계가 유사한 상품을 추천 상품(1320)으로 선정할 수 있다.The processor 220 has a linguistic relationship with the reference product 1310 among products of subcategories (e.g., shampoo, hair dye, hair loss care, hair pack, rinse, toothpaste, etc.) different from the reference product 1310 through the language model. A similar product can be selected as a recommended product (1320).

프로세서(220)는 함께 구매 카테고리 사전을 이용하여 기준 상품(1310)과 함께 많이 구매된 상품의 하위 카테고리 순으로 추천 상품(1320)을 재정렬하여 보여줄 수 있다.The processor 220 may use the purchase category dictionary to rearrange and display the recommended products 1320 in the order of subcategories of products frequently purchased together with the reference product 1310.

사용자의 행동이 사용자 개인 또는 사용자가 속한 사용자 그룹에서 나타나는 과거 상품 구매 행태에 도달하기 이전에는 기준 상품(1310)과 동일한 하위 카테고리의 상품(미도시)을 추천할 수 있고, 이후 사용자의 행동이 과거 상품 구매 행태에 도달하는 시점에 팝업 등을 활용한 적극적인 인터페이스를 통해 기준 상품(1310)과 함께 구매할 확률이 높은 다른 하위 카테고리의 상품(1320)을 추천할 수 있다.Before the user's behavior reaches the past product purchase behavior shown by the individual user or the user group to which the user belongs, a product (not shown) of the same subcategory as the reference product 1310 may be recommended, and thereafter, the user's behavior in the past may be recommended. At the point when product purchase behavior is reached, products (1320) of other subcategories that are likely to be purchased along with the standard product (1310) can be recommended through an active interface using pop-ups.

프로세서(220)는 사용자마다 다른 패턴을 가진 상품 구매 행태를 고려하여 개인화된 시점에 추천 상품(1320)을 제공할 수 있다.The processor 220 may provide a recommended product 1320 at a personalized time by considering product purchase behavior with different patterns for each user.

이처럼 본 발명의 실시예들에 따르면, 실제 구매 데이터를 기반으로 하여 기준 상품과 함께 구매할 확률이 높은 카테고리의 상품을 추천함으로써 추천 품질을 향상시킬 수 있다. 그리고, 본 발명의 실시예들에 따르면, 기준 상품의 언어적 특성을 고려하여 함께 구매가 많이 이루어진 특성의 상품을 추천함으로써 추천의 신뢰도와 정확도를 높일 수 있다. 또한, 본 발명의 실시예들에 따르면, 구매 데이터를 학습한 언어 모델과 함께 구매 데이터에 대한 카테고리 사전을 활용하여 전반적인 구매 행태에 적합한 상품을 추천함으로써 콜드 스타트 문제에 강인한 상품 추천 모델을 제공할 수 있다.In this way, according to embodiments of the present invention, recommendation quality can be improved by recommending products in a category with a high probability of being purchased together with the reference product based on actual purchase data. And, according to embodiments of the present invention, the reliability and accuracy of recommendation can be increased by recommending products with characteristics that are frequently purchased together by considering the linguistic characteristics of the reference product. In addition, according to embodiments of the present invention, it is possible to provide a product recommendation model that is robust to the cold start problem by recommending products suitable for overall purchase behavior by using a category dictionary for purchase data along with a language model learned from purchase data. there is.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The device described above may be implemented with hardware components, software components, and/or a combination of hardware components and software components. For example, the devices and components described in the embodiments include a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), and a programmable logic unit (PLU). It may be implemented using one or more general-purpose or special-purpose computers, such as a logic unit, microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. Additionally, a processing device may access, store, manipulate, process, and generate data in response to the execution of software. For ease of understanding, a single processing device may be described as being used; however, those skilled in the art will understand that a processing device includes multiple processing elements and/or multiple types of processing elements. It can be seen that it may include. For example, a processing device may include a plurality of processors or one processor and one controller. Additionally, other processing configurations, such as parallel processors, are possible.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may include a computer program, code, instructions, or a combination of one or more of these, which may configure a processing unit to operate as desired, or may be processed independently or collectively. You can command the device. The software and/or data may be embodied in any type of machine, component, physical device, computer storage medium or device for the purpose of being interpreted by or providing instructions or data to the processing device. there is. Software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer-readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. At this time, the medium may continuously store a computer-executable program, or temporarily store it for execution or download. In addition, the medium may be a variety of recording or storage means in the form of a single or several pieces of hardware combined. It is not limited to a medium directly connected to a computer system and may be distributed over a network. Examples of media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, And there may be something configured to store program instructions, including ROM, RAM, flash memory, etc. Additionally, examples of other media include recording or storage media managed by app stores that distribute applications, sites or servers that supply or distribute various other software, etc.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with limited examples and drawings, various modifications and variations can be made by those skilled in the art from the above description. For example, the described techniques are performed in a different order than the described method, and/or components of the described system, structure, device, circuit, etc. are combined or combined in a different form than the described method, or other components are used. Alternatively, appropriate results may be achieved even if substituted or substituted by an equivalent.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents of the claims also fall within the scope of the claims described below.

Claims (20)

컴퓨터 장치에서 실행되는 상품 추천 방법에 있어서,
상기 컴퓨터 장치는 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고,
상기 상품 추천 방법은,
상기 적어도 하나의 프로세서에 의해, 일정 시간 이내에 둘 이상의 상품을 함께 구매한 이력을 나타내는 함께 구매 데이터로 학습된 언어 모델을 이용하여 기준 상품과 함께 구매할 상품을 추천하는 단계
를 포함하고,
상기 언어 모델은 각 상품과 관련하여 자연어로 이루어진 언어적 정보를 이용하여 상품 간의 관계가 학습된 모델인 것
을 특징으로 하는 상품 추천 방법.
In a product recommendation method executed on a computer device,
The computer device includes at least one processor configured to execute computer-readable instructions contained in a memory,
The method of recommending the above product is:
Recommending, by the at least one processor, a product to be purchased together with a reference product using a language model learned with joint purchase data indicating a history of purchasing two or more products together within a certain time period.
Including,
The language model is a model in which the relationships between products are learned using linguistic information made up of natural language in relation to each product.
A product recommendation method characterized by .
제1항에 있어서,
상기 언어 모델은 상위 카테고리 별로 학습되고,
상기 추천하는 단계는,
상기 기준 상품이 속한 상위 카테고리에 대해 학습된 언어 모델을 통해 추천 상품을 선정하는 단계
를 포함하는 상품 추천 방법.
According to paragraph 1,
The language model is learned for each upper category,
The recommended steps above are:
Step of selecting a recommended product through a language model learned for the upper category to which the reference product belongs
A product recommendation method including.
제2항에 있어서,
상기 언어 모델은 상기 상위 카테고리에 따라 서로 다른 기간 동안의 함께 구매 데이터로 학습되는 것
을 특징으로 하는 상품 추천 방법.
According to paragraph 2,
The language model is learned with purchase data from different periods of time according to the parent category.
A product recommendation method characterized by .
제1항에 있어서,
상기 추천하는 단계는,
상기 언어 모델을 이용하여 상기 기준 상품과 카테고리가 다른 상품 중 상기 기준 상품과 언어적 관계를 가진 상품을 추천하는 단계
를 포함하는 상품 추천 방법.
According to paragraph 1,
The recommended steps above are:
Recommending a product that has a linguistic relationship with the standard product among products that have a different category from the standard product using the language model
A product recommendation method including.
제2항에 있어서,
상기 추천하는 단계는,
상기 기준 상품이 속한 상위 카테고리에 대해 학습된 언어 모델을 이용하여 해당 상위 카테고리의 상품 중 상기 기준 상품과 하위 카테고리가 다르고 상기 기준 상품과 언어적 관계를 가진 상품을 추천하는 단계
를 포함하는 상품 추천 방법.
According to paragraph 2,
The recommended steps above are:
Using a language model learned for the upper category to which the standard product belongs, recommending products that have a different subcategory from the standard product and have a linguistic relationship with the standard product among products in the higher category
A product recommendation method including.
제1항에 있어서,
상기 추천하는 단계는,
상기 함께 구매 데이터를 기초로 함께 구매한 상품의 카테고리가 집계된 카테고리 사전을 이용하여 상기 언어 모델을 통해 선정된 추천 상품을 재정렬(reordering)하는 단계
를 포함하는 상품 추천 방법.
According to paragraph 1,
The recommended steps above are:
A step of reordering recommended products selected through the language model using a category dictionary in which categories of products purchased together are aggregated based on the joint purchase data.
A product recommendation method including.
제6항에 있어서,
상기 카테고리 사전은 전체 카테고리 셋을 대상으로 상기 함께 구매한 상품의 카테고리를 집계한 결과로 구성되는 것
을 특징으로 하는 상품 추천 방법.
According to clause 6,
The category dictionary is composed of the results of aggregating the categories of products purchased together for the entire category set.
A product recommendation method characterized by .
제6항에 있어서,
상기 카테고리 사전은 상위 카테고리 별로 생성되는 것으로 상기 상위 카테고리를 세분화한 하위 카테고리 단위의 집계 결과로 구성되는 것
을 특징으로 하는 상품 추천 방법.
According to clause 6,
The category dictionary is created for each high-level category and consists of the aggregate results of sub-category units that subdivide the high-level category.
A product recommendation method characterized by .
제6항에 있어서,
상기 재정렬하는 단계는,
상기 카테고리 사전을 통해 상기 기준 상품이 속한 카테고리에 대한 함께 구매 카테고리를 확인하여 상기 추천 상품의 순서와 카테고리 별 비율 중 적어도 하나를 재정렬하는 것
을 특징으로 하는 상품 추천 방법.
According to clause 6,
The rearrangement step is,
Confirming together purchase categories for the category to which the reference product belongs through the category dictionary and rearranging at least one of the order of the recommended products and the ratio by category
A product recommendation method characterized by .
제1항에 있어서,
상기 추천하는 단계는,
사용자 개인 또는 사용자가 속한 사용자 그룹의 상품 관련 이력을 기반으로 상기 언어 모델을 통해 선정된 추천 상품을 재정렬하는 단계
를 포함하는 상품 추천 방법.
According to paragraph 1,
The recommended steps above are:
A step of rearranging recommended products selected through the language model based on the product-related history of the individual user or the user group to which the user belongs.
A product recommendation method including.
제6항에 있어서,
상기 카테고리 사전은 사용자 개인 또는 사용자가 속한 사용자 그룹에 의한 상기 함께 구매 데이터를 기초로 함께 구매한 상품의 카테고리가 집계되어 개인화되는 것
을 특징으로 하는 상품 추천 방법.
According to clause 6,
The category dictionary aggregates and personalizes the categories of products purchased together based on the joint purchase data by the individual user or the user group to which the user belongs.
A product recommendation method characterized by .
제1항에 있어서,
상기 추천하는 단계는,
상기 기준 상품과 관련된 키워드를 기준으로 상기 언어 모델을 통해 선정된 추천 상품을 재정렬하는 단계
를 포함하는 상품 추천 방법.
According to paragraph 1,
The recommended steps above are:
A step of rearranging recommended products selected through the language model based on keywords related to the reference product
A product recommendation method including.
제1항에 있어서,
상기 추천하는 단계는,
사용자 개인 또는 사용자가 속한 사용자 그룹의 상품 구매 행태를 고려하여 상기 언어 모델을 통해 선정된 추천 상품의 노출 시점을 결정하는 단계
를 포함하는 상품 추천 방법.
According to paragraph 1,
The recommended steps above are:
A step of determining the exposure time of the recommended product selected through the language model in consideration of the product purchase behavior of the individual user or the user group to which the user belongs.
A product recommendation method including.
제13항에 있어서,
상기 결정하는 단계는,
상기 사용자의 행동이 상기 상품 구매 행태에 도달하는 시점에 상기 추천 상품을 노출하는 것
을 특징으로 하는 상품 추천 방법.
According to clause 13,
The determining step is,
Exposing the recommended product at the point when the user's behavior reaches the purchasing behavior of the product
A product recommendation method characterized by .
제1항 내지 제14항 중 어느 한 항의 상품 추천 방법을 컴퓨터 장치에 실행시키기 위해 컴퓨터 판독가능한 기록 매체에 저장되는 컴퓨터 프로그램.A computer program stored in a computer-readable recording medium for executing the product recommendation method of any one of claims 1 to 14 on a computer device. 컴퓨터 장치에 있어서,
메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서
를 포함하고,
상기 적어도 하나의 프로세서는,
일정 시간 이내에 둘 이상의 상품을 함께 구매한 이력을 나타내는 함께 구매 데이터로 학습된 언어 모델을 이용하여 기준 상품과 함께 구매할 상품을 추천하는 과정
을 처리하고,
상기 언어 모델은 각 상품과 관련하여 자연어로 이루어진 언어적 정보를 이용하여 상품 간의 관계가 학습된 모델인 것
을 특징으로 하는 컴퓨터 장치.
In computer devices,
At least one processor configured to execute computer readable instructions contained in memory
Including,
The at least one processor,
The process of recommending products to be purchased together with a reference product using a language model learned with joint purchase data that represents the history of purchasing two or more products together within a certain period of time
Process it,
The language model is a model in which the relationships between products are learned using linguistic information made up of natural language in relation to each product.
A computer device characterized by a.
제16항에 있어서,
상기 적어도 하나의 프로세서는,
상기 함께 구매 데이터를 기초로 함께 구매한 상품의 카테고리가 집계된 카테고리 사전을 이용하여 상기 언어 모델을 통해 선정된 추천 상품을 재정렬하는 것
을 특징으로 하는 컴퓨터 장치.
According to clause 16,
The at least one processor,
Reordering the recommended products selected through the language model using a category dictionary in which categories of products purchased together are aggregated based on the joint purchase data.
A computer device characterized by a.
제17항에 있어서,
상기 적어도 하나의 프로세서는,
상기 카테고리 사전을 통해 상기 기준 상품이 속한 카테고리에 대한 함께 구매 카테고리를 확인하여 상기 추천 상품의 순서와 카테고리 별 비율 중 적어도 하나를 재정렬하는 것
을 특징으로 하는 컴퓨터 장치.
According to clause 17,
The at least one processor,
Confirming together purchase categories for the category to which the reference product belongs through the category dictionary and rearranging at least one of the order of the recommended products and the ratio by category
A computer device characterized by a.
제16항에 있어서,
상기 적어도 하나의 프로세서는,
사용자 개인 또는 사용자가 속한 사용자 그룹의 상품 관련 이력을 기반으로 상기 언어 모델을 통해 선정된 추천 상품을 재정렬하는 것
을 특징으로 하는 컴퓨터 장치.
According to clause 16,
The at least one processor,
Reordering recommended products selected through the language model based on the product-related history of the individual user or the user group to which the user belongs.
A computer device characterized by a.
제16항에 있어서,
상기 적어도 하나의 프로세서는,
사용자 개인 또는 사용자가 속한 사용자 그룹의 상품 구매 행태를 고려하여 상기 언어 모델을 통해 선정된 추천 상품의 노출 시점을 결정하는 것
을 특징으로 하는 컴퓨터 장치.
According to clause 16,
The at least one processor,
Determining the exposure time of recommended products selected through the language model by considering the product purchase behavior of the individual user or the user group to which the user belongs
A computer device characterized by a.
KR1020220105755A 2022-08-23 2022-08-23 Method, computer device, and computer program to recommend products to buy together KR20240027478A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220105755A KR20240027478A (en) 2022-08-23 2022-08-23 Method, computer device, and computer program to recommend products to buy together

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220105755A KR20240027478A (en) 2022-08-23 2022-08-23 Method, computer device, and computer program to recommend products to buy together

Publications (1)

Publication Number Publication Date
KR20240027478A true KR20240027478A (en) 2024-03-04

Family

ID=90297914

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220105755A KR20240027478A (en) 2022-08-23 2022-08-23 Method, computer device, and computer program to recommend products to buy together

Country Status (1)

Country Link
KR (1) KR20240027478A (en)

Similar Documents

Publication Publication Date Title
Trang Tran et al. An overview of recommender systems in the healthy food domain
CN111784455B (en) Article recommendation method and recommendation equipment
CN110135957A (en) A kind of vegetable recommended method, device and the storage medium of intelligent restaurant healthy diet
US20150169758A1 (en) Multi-partite graph database
KR20130099240A (en) Interestingness recommendations in a computing advice facility
CN108648058B (en) Product sorting method and device, electronic equipment and storage medium
KR102227552B1 (en) System for providing context awareness algorithm based restaurant sorting personalized service using review category
CN103198089A (en) Information processing apparatus, information processing method, and program
Casas‐Rosal et al. Food market segmentation based on consumer preferences using outranking multicriteria approaches
Puerta et al. Co-occurrence networks of Twitter content after manual or automatic processing. A case-study on “gluten-free”
Yuan et al. Walmart online grocery personalization: Behavioral insights and basket recommendations
CN115496566A (en) Regional specialty recommendation method and system based on big data
Melese Food and restaurant recommendation system using hybrid filtering mechanism
Elsweiler et al. Food recommender systems
Alaimo et al. Encoding the Everyday: Social data and its media apparatus
Liao et al. Mining information users’ knowledge for one-to-one marketing on information appliance
Ventura The computational creativity complex
KR20240027478A (en) Method, computer device, and computer program to recommend products to buy together
CN110379483A (en) For the diet supervision of sick people and recommended method
Brüggemann et al. Framing food in the news: Still keeping the politics out of the broccoli
Zoghbi et al. I pinned it. Where can i buy one like it? Automatically linking Pinterest pins to online Webshops
Ito et al. Modeling weather context dependent food choice process
CN114780865A (en) Information recommendation method and device, computer equipment and storage medium
Somya et al. A hybrid recommender system based on customer behavior and transaction data using generalized sequential pattern algorithm
CN116521937A (en) Video form generation method, device, equipment, storage medium and program product

Legal Events

Date Code Title Description
E902 Notification of reason for refusal