KR102246538B1 - Item recommendation method and apparatus using graph database - Google Patents

Item recommendation method and apparatus using graph database Download PDF

Info

Publication number
KR102246538B1
KR102246538B1 KR1020190004740A KR20190004740A KR102246538B1 KR 102246538 B1 KR102246538 B1 KR 102246538B1 KR 1020190004740 A KR1020190004740 A KR 1020190004740A KR 20190004740 A KR20190004740 A KR 20190004740A KR 102246538 B1 KR102246538 B1 KR 102246538B1
Authority
KR
South Korea
Prior art keywords
node
product
customer
products
order
Prior art date
Application number
KR1020190004740A
Other languages
Korean (ko)
Other versions
KR20200088131A (en
Inventor
최원규
문현규
정유현
Original Assignee
카페24 주식회사
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 카페24 주식회사 filed Critical 카페24 주식회사
Priority to KR1020190004740A priority Critical patent/KR102246538B1/en
Publication of KR20200088131A publication Critical patent/KR20200088131A/en
Application granted granted Critical
Publication of KR102246538B1 publication Critical patent/KR102246538B1/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
    • 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/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0254Targeted advertisements based on statistics
    • 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/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0255Targeted advertisements based on user history

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Engineering & Computer Science (AREA)
  • Development Economics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Probability & Statistics with Applications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명의 일 양태는 전자상거래 시스템에서의 상품 추천 방법을 개시하고 있다. 상기 방법은, 전자상거래 기반의 복수의 쇼핑몰들로부터 복수의 고객들의 주문 이력 데이터를 수집하는 단계(상기 주문이력 데이터는 고객이 주문한 적어도 하나의 상품들에 대한 데이터를 포함함), 상기 수집된 주문이력 데이터를 적어도 3개의 노드(node) 계층(layer)으로 구성된 그래프 형태의 데이터로 변환하는 단계(상기 적어도 3개의 노드 계층은 상품과 연관된 제 1 노드 계층, 주문과 연관된 제 2 노드 계층 및 고객과 연관된 제 3 노드 계층을 포함함), 상기 그래프 형태의 데이터를 데이터베이스에 저장하는 단계, 및 상기 저장된 그래프 형태의 데이터 상에서, 유사상품에 대한 질의에 대응하여 적어도 하나의 제 1 노드 계층의 노드들 및 적어도 하나의 제 3 노드 계층의 노드들 중 적어도 두 노드 사이의 연결경로의 갯수를 기반으로 유사도를 판단하여 반환하는 단계를 포함한다.One aspect of the present invention discloses a product recommendation method in an electronic commerce system. The method includes collecting order history data of a plurality of customers from a plurality of shopping malls based on e-commerce (the order history data includes data on at least one product ordered by a customer), the collected order Converting the historical data into graph-type data composed of at least three node layers (the at least three node layers are a first node layer associated with a product, a second node layer associated with an order, and a customer). Including an associated third node layer), storing the graph type data in a database, and on the stored graph type data, at least one node of the first node layer in response to a query for a similar product, and And determining and returning a similarity based on the number of connection paths between at least two nodes among the at least one third node layer.

Description

그래프 데이터베이스를 이용한 상품 추천 방법 및 장치{ITEM RECOMMENDATION METHOD AND APPARATUS USING GRAPH DATABASE}Product recommendation method and device using graph database {ITEM RECOMMENDATION METHOD AND APPARATUS USING GRAPH DATABASE}

본 발명은 상품 추천 방법에 관한 것으로, 보다 상세하게는, 전자상거래 기반의 온라인 쇼핑몰 서비스에서 개인화된 추천을 효율적으로 하기 위한 상품 추천 방법에 관한 것이다.The present invention relates to a product recommendation method, and more particularly, to a product recommendation method for efficient personalized recommendation in an online shopping mall service based on an e-commerce transaction.

최근 인터넷이 보급되면서 온라인 쇼핑몰을 통한 구매가 활발해지고 있고, 고객의 구매를 효율적으로 수행하도록 지원하기 위해 개인화된 상품추천 방법이 다양하게 연구되고 있는 실정이다. 이러한 개인화된 상품추천 방법을 활용하여 쇼핑몰 운영자들은 구매자들의 구매확률을 제고시키고, 자신의 가게의 매출은 높이기 위해 노력한다.With the recent spread of the Internet, purchases through online shopping malls are becoming more active, and a variety of personalized product recommendation methods are being studied in order to support customers' purchases efficiently. Using this personalized product recommendation method, shopping mall operators try to increase the purchase probability of buyers and increase the sales of their stores.

이러한 연구들에 있어서, 종래의 개인화된 상품추천 방법은 온라인 쇼핑몰에서 고객의 성향을 사전에 분석하여 구매할 가능성이 높은 상품을 추출하는 방법을 사용하였다. 이를 통해 구매가능성이 높은 상품의 배열을 변경하거나 화면 일부분에 표시하는 형태로 구매자의 구매의욕을 고취시키는 방법이 사용되곤 하였다. 종래의 방법에서, 구매가능성의 계산은 사용자의 이전 구매 이력, 고객 속성 및 상품간 유사성 등의 요소를 감안하여 산출되는 방식이 사용된다. In these studies, the conventional personalized product recommendation method used a method of extracting a product with a high probability of purchase by analyzing customer preferences in advance in an online shopping mall. Through this, a method to inspire buyers to purchase in the form of changing the arrangement of products with high purchase possibility or displaying them on a part of the screen has been used. In the conventional method, the purchase possibility is calculated in consideration of factors such as a user's previous purchase history, customer attributes, and product similarities.

다만, 의류의 경우, 비슷한 상품을 여러벌 구매하지 않기 때문에, 유사한 상품이 동시에 구매되기 보다는 오히려, 서로 다른 카테고리, 대체의 카테고리에 있는 상품을 구매할 가능성이 높다. 예컨대, 아주 유사한 상의 2벌을 한꺼번에 구매하기 보다는, 상의와 하의의 조합으로 구매할 가능성이 높다. However, in the case of clothing, since multiple sets of similar products are not purchased, there is a high possibility of purchasing products in different categories or alternative categories rather than purchasing similar products at the same time. For example, rather than buying two sets of very similar tops at once, it is more likely to buy a combination of tops and bottoms.

즉, 종래의 개인화된 상품 추천 방법은 상기와 같이 거시적으로는 연관성이 크지만 미시적으로는 서로 배제하는 현상을 반영하지 못하고 있고, 이에 따라 상품추천을 받는 구매자의 기대를 충족시키지 못하는 문제점이 있다.That is, the conventional personalized product recommendation method has a large macroscopic correlation as described above, but does not reflect the phenomenon of excluding each other microscopically, and accordingly, there is a problem in that it does not meet the expectations of buyers who receive product recommendation.

상술한 문제점을 해결하기 위한 본 발명의 일 양태에 따른 목적은 이력 데이터를 그래프 형태로 변환하여 그래프를 이용한 분석을 통해 상품간의 간접적인 연결구조를 추출하여 상품 추천을 수행하는 전자상거래 시스템에서의 상품 추천 방법 및 장치를 제공하는 것이다.An object according to an aspect of the present invention for solving the above-described problem is a product in an e-commerce system that performs product recommendation by converting historical data into a graph form and extracting an indirect connection structure between products through analysis using graphs. It is to provide a recommended method and device.

상기한 목적을 달성하기 위한 본 발명의 일 양태에 따른 전자상거래 시스템에서의 상품 추천 방법은, 전자상거래 기반의 복수의 쇼핑몰들로부터 복수의 고객들의 주문 이력 데이터를 수집하는 단계(상기 주문이력 데이터는 고객이 주문한 적어도 하나의 상품들에 대한 데이터를 포함함), 상기 수집된 주문이력 데이터를 적어도 3개의 노드(node) 계층(layer)으로 구성된 그래프 형태의 데이터로 변환하는 단계(상기 적어도 3개의 노드 계층은 상품과 연관된 제 1 노드 계층, 주문과 연관된 제 2 노드 계층 및 고객과 연관된 제 3 노드 계층을 포함함), 상기 그래프 형태의 데이터를 데이터베이스에 저장하는 단계, 및 상기 저장된 그래프 형태의 데이터 상에서, 유사상품에 대한 질의에 대응하여 적어도 하나의 제 1 노드 계층의 노드들 및 적어도 하나의 제 3 노드 계층의 노드들 중 적어도 두 노드 사이의 연결경로의 갯수를 기반으로 유사도를 판단하여 반환하는 단계를 포함할 수 있다.A product recommendation method in an e-commerce system according to an aspect of the present invention for achieving the above object comprises the steps of collecting order history data of a plurality of customers from a plurality of shopping malls based on e-commerce (the order history data is Including data on at least one product ordered by a customer), converting the collected order history data into graph-type data composed of at least three node layers (the at least three nodes The layer includes a first node layer associated with a product, a second node layer associated with an order, and a third node layer associated with a customer), storing the graph type data in a database, and on the stored graph type data , In response to a query for similar products, determining and returning the similarity based on the number of connection paths between at least two nodes among at least one node of the first node layer and at least one node of the third node layer. It may include.

상기 그래프 형태의 데이터는 제 1 노드 계층의 제 1 노드를 중심으로 제 2 노드 계층의 적어도 하나의 제 2 노드가 연결되고 그리고, 상기 적어도 하나의 제 2 노드에 제 3 노드 계층의 제 3 노드가 연결됨에 따라, 방사형의 그래프 형태로 생성될 수 있다.In the graph-type data, at least one second node of the second node layer is connected to the first node of the first node layer, and a third node of the third node layer is connected to the at least one second node. As connected, it can be generated in the form of a radial graph.

상기 적어도 하나의 제 1 노드 계층의 노드들 및 적어도 하나의 제 3 노드 계층의 노드들 중 적어도 두 노드가 연결될 수 있는 적어도 하나의 연결경로들 중 제 1 거리 범위 내에 속하는 연결경로들을 추출하여 추출된 연결경로의 갯수가 많을수록 유사성의 정도가 높다고 판단할 수 있다.Extracted by extracting connection paths within a first distance range among at least one connection paths to which at least two nodes can be connected among nodes of the at least one first node layer and nodes of at least one third node layer The higher the number of connection paths, the higher the degree of similarity can be determined.

직접적으로 연결된 두 노드의 거리를 1 홉(hop)의 거리라고 정의하고, 상기 제 1 거리 범위는 직접적인 상관성을 나타내는 2 홉 거리를 초과하는 범위를 가질 수 있다.A distance between two directly connected nodes is defined as a distance of one hop, and the first distance range may have a range exceeding a distance of two hops indicating direct correlation.

상기 제 1 거리 범위는 제 2 거리 이상의 거리를 갖는 연결경로는 제외하는 범위를 가질 수 있다.The first distance range may have a range excluding a connection path having a distance greater than or equal to the second distance.

상기 적어도 하나의 제 1 노드 계층의 노드들 및 적어도 하나의 제 3 노드 계층의 노드들 중 적어도 두 노드는, (i) 상기 제 1 노드 계층의 제 1 상품 노드와 제 2 상품 노드, (ii) 상기 제 3 노드 계층의 제 1 고객 노드와 제 2 고객 노드 및 (iii) 상기 제 1 노드 계층의 제 1 상품 노드와 상기 제 3 노드 계층의 제 1 고객 노드 중 하나를 포함할 수 있다.At least two of the at least one first node layer nodes and at least one third node layer nodes include (i) a first product node and a second product node of the first node layer, (ii) It may include one of a first customer node and a second customer node of the third node layer, and (iii) a first product node of the first node layer and a first customer node of the third node layer.

상기 (i)의 제 1 상품 노드와 유사성이 있는 제 2 상품 노드에 대한 질의에 대응하여, 상기 제 1 상품 노드 - 상기 제 1 상품 노드는 제 2 노드 계층의 제 1 주문 노드에 포함됨 - 와 연관된 제 3 노드 계층의 제 3 고객 노드의 적어도 하나의 제 2 노드 계층의 노드들 중 상기 제 1 주문 노드와 다른 제 2 주문 노드에 포함된 상품과의 연결경로를 고려할 수 있다.In response to a query for a second product node having a similarity to the first product node of (i), the first product node-the first product node is included in the first order node of the second node hierarchy-is associated with A connection path between the first order node and a product included in another second order node among at least one node of the second node hierarchy of the third customer node of the third node hierarchy may be considered.

상기 (ii)의 상기 제 1 고객 노드와 유사성이 있는 제 2 고객 노드에 대한 질의에 대응하여, 상기 제 2 고객은 상기 제 1 고객 노드과 연관된 제 1 노드 계층의 제 3 상품 노드와 연관된 고객으로 결정되되, 상기 제 2 고객의 제 3 주문 노드 - 제 3 주문 노드는 제 2 노드 계층의 노드로써, 상기 제 3 상품 노드를 포함하는 주문 노드임 - 에서 상기 제 3 상품을 제외한 다른 상품 노드를 채택할 수 있다.In response to a query for a second customer node similar to the first customer node in (ii), the second customer is determined to be a customer associated with a third product node of the first node hierarchy associated with the first customer node. However, the third order node of the second customer-the third order node is a node of the second node hierarchy, and is an order node including the third product node-in which a product node other than the third product is selected. I can.

상기 (iii)의 상기 제 1 상품 노드와 유사성이 있는 제 1 고객 노드 또는 제 1 고객 노드와 유사성이 있는 제 1 상품 노드에 대한 질의에 대응하여, 상기 제 1 상품 노드를 포함하는 제 2 노드 계층의 제 3 주문 노드 내에서 묶음구매된 제 3 상품 노드와 연관된 고객과의 연결경로 및 제 1 고객 노드와 연관된 제 2 노드 계층의 제 4 주문 노드 내의 묶음구매된 상품들 중 적어도 하나와의 연결경로를 고려할 수 있다.In response to a query for a first customer node similar to the first product node or a first product node similar to the first customer node in (iii), a second node hierarchy including the first product node The connection path with the customer associated with the third product node that is bundled within the third order node of and the connection path with at least one of the bundled products within the fourth order node of the second node hierarchy associated with the first customer node Can be considered.

상기 제 1 노드 계층의 상품은 카테고리화되어 상품 카테고리 식별자와 함께 정의되고, 상기 제 1 노드 계층의 제 1 상품에 대한 유사상품에 대한 질의에 대응하여, 상기 제 1 상품과 직간접적으로 연결된 제 2 노드 계층의 제 2 노드 및 제 3 노드 계층의 제 3 노드 중 적어도 하나와 연관된 상품들 중 제 1 상품의 제 1 상품 카테고리 식별자를 기반으로, 그와 유사의 대응관계를 갖는 제 2 상품 카테고리의 상품만을 연결경로로써 고려할 수 있다.The product of the first node layer is categorized and defined together with a product category identifier, and in response to a query for a similar product for the first product of the first node layer, a second product is directly or indirectly connected to the first product. A product of a second product category having a similar correspondence to the first product category identifier of the first product among products associated with at least one of the second node of the node hierarchy and the third node of the third node hierarchy. Bay can be considered as a connection path.

상기 제 1 노드의 상품은 카테고리화되어 상품 카테고리 식별자와 함께 정의되고, 상기 제 1 노드의 제 1 상품에 대한 유사상품에 대한 질의에 대응하여, 상기 제 1 상품과 직간접적으로 연결된 제 2 노드 계층의 제 2 노드 및 제 3 노드 계층의 제 3 노드 중 적어도 하나와 연관된 상품들 중 제 1 상품의 제 1 상품 카테고리 식별자를 기반으로, 그와 유사의 대응관계를 갖는 제 2 상품 카테고리의 상품과의 연결경로를 배제할 수 있다.The product of the first node is categorized and defined together with a product category identifier, and a second node layer directly or indirectly connected to the first product in response to a query for a similar product for the first product of the first node Based on the first product category identifier of the first product among products associated with at least one of the second node of the second node and the third node of the third node hierarchy, the product of the second product category having a similar correspondence Connection paths can be excluded.

상기 제 1 노드의 상품은 카테고리화되어 상품 카테고리 식별자와 함께 정의되고, 상기 제 1 노드의 제 1 상품에 대한 유사상품에 대한 질의에 대응하여, 상기 제 1 상품과 직간접적으로 연결된 제 2 노드 계층의 제 2 노드 및 제 3 노드 계층의 제 3 노드 중 적어도 하나와 연관된 상품들 중 제 1 상품의 제 1 상품 카테고리 식별자를 기반으로, 그와 결합에 의한 대응관계를 갖는 제 3 상품 카테고리의 상품과의 연결경로를 고려할 수 있다.The product of the first node is categorized and defined together with a product category identifier, and a second node layer directly or indirectly connected to the first product in response to a query for a similar product for the first product of the first node Based on the first product category identifier of the first product among products associated with at least one of the second node of the second node and the third node of the third node hierarchy, the product of the third product category having a corresponding relationship with the first product category The connection path of can be considered.

상기 연결경로의 갯수를 기반으로 유사도를 판단하여 반환하는 단계는, 연결경로의 갯수를 산정함에 있어서, 직접적으로 연결된 두 노드의 거리를 1 홉(hop)의 거리라고 정의하고, 상기 적어도 하나의 제 1 노드 계층의 노드들 및 상기 적어도 하나의 제 3 노드 계층의 노드들 중 적어도 두 노드 간의 연결경로의 거리를 고려하여 연결경로의 갯수를 조정하는 단계를 포함할 수 있다.In the step of determining and returning the similarity based on the number of connection paths, in calculating the number of connection paths, a distance between two directly connected nodes is defined as a distance of one hop, and the at least one second The number of connection paths may be adjusted in consideration of a distance of a connection path between at least two nodes among nodes of the first node layer and the nodes of the at least one third node layer.

적어도 하나의 제 1 노드 계층의 노드들 및 적어도 하나의 제 3 노드 계층의 노드들 중 적어도 두 노드 간의, 제 1 연결경로의 거리는 n1이고, 제 2 연결경로의 거리는 n2 - n1과 n2는 자연수임 - 이라고 할 때, 상기 제 1 연결경로의 갯수는 1/n1으로 조정되어 산정되고, 상기 제 2 연결경로의 갯수는 1/n2으로 조정되어 산정될 수 있다.Between at least one node of the first node layer and at least two nodes of the at least one third node layer, the distance of the first connection path is n 1, and the distance of the second connection path is n 2 -n 1 and n When 2 is a natural number-, the number of first connection paths may be adjusted to 1/n 1 and calculated, and the number of second connection paths may be adjusted to 1/n 2 to be calculated.

상기 제 1 노드 계층의 노드는 p로 정의하고, 상기 제 3 노드 계층의 노드는 m으로 정의하여 유사상품에 대한 질의 및 그에 대응한 노드들 간의 연결경로를 m 및 p 중 하나로 정의되는 노드 계층 식별자와 특정 노드 계층 식별자에 대한 인덱스 번호로 정의하여 쿼리(query)로 생성할 수 있다.The node of the first node layer is defined as p, and the node of the third node layer is defined as m, so that a query for similar products and a connection path between nodes corresponding thereto is defined as one of m and p. And can be created as a query by defining it as an index number for a specific node hierarchy identifier.

상기 상품 추천 방법은 유사도 판단의 정확도를 제고시키기 위한 인공지능 모델을 학습시키는 단계를 더 포함하되, 상기 유사상품에 대한 질의의 기준이 되는 제 1 노드를 포함하는 제 1 주문 이력 데이터와 유사도 판단에 의해 반환된 유사상품 중 실제 주문이 이루어진 상품과 관련된 제 2 노드를 포함하는 제 2 주문 이력 데이터를 학습 데이터 셋으로 생성하여 상기 인공지능 모델을 학습시킬 수 있다.The product recommendation method further includes the step of learning an artificial intelligence model for improving the accuracy of the similarity determination, wherein the first order history data and the similarity determination including a first node serving as a criterion for a query for the similar product The artificial intelligence model may be trained by generating second order history data including a second node related to a product in which an actual order was placed among similar products returned by the training data set.

연결경로의 갯수 산정시, 제 1 거리 범위 내의 연결경로만 산정되되, 상기 학습 데이터 셋을 기반으로, 연결경로 산출의 임계범위가 되는 상기 제 1 거리 범위를 변경하면서 인공지능 모델을 학습시킬 수 있다.When calculating the number of connection paths, only the connection paths within the first distance range are calculated, but based on the learning data set, the artificial intelligence model can be trained while changing the first distance range, which is a critical range for calculating the connection paths. .

상기 학습 데이터 셋을 기반으로 상품 카테고리 분할의 클래스와 상기 클래스에 대응하는 유사 카테고리 사용 또는 결합에 의한 카테고리 사용 여부를 변경하면서 인공지능 모델을 학습시킬 수 있다.Based on the training data set, the artificial intelligence model may be trained while changing whether the class of product category division and the use of a similar category corresponding to the class or a category by combination are changed.

상기 상품 추천 방법은 상기 그래프 형태의 데이터를 시각화하는 단계를 더 포함할 수 있다.The product recommendation method may further include visualizing the data in the form of a graph.

상기한 목적을 달성하기 위한 본 발명의 일 양태에 따른 전자상거래 시스템에서의 상품 추천 장치는, 유선 및 무선 네트워크 중 적어도 하나와 통신하는 통신부, 상기 통신부를 통해 전자상거래 기반의 복수의 쇼핑몰들로부터 복수의 고객들의 주문 이력 데이터 - 상기 주문이력 데이터는 고객이 주문한 적어도 하나의 상품들에 대한 데이터를 포함함 - 를 수집하여, 상기 수집된 주문이력 데이터를 적어도 3개의 노드(node) 계층(layer) - 상기 적어도 3개의 노드 계층은 상품과 연관된 제 1 노드 계층, 주문과 연관된 제 2 노드 계층 및 고객과 연관된 제 3 노드 계층을 포함함 - 으로 구성된 그래프 형태의 데이터로 변환하며, 상기 변환된 그래프 형태의 데이터 상에서, 유사상품에 대한 질의에 대응하여 적어도 하나의 제 1 노드 계층의 노드들 및 적어도 하나의 제 3 노드 계층의 노드들 중 적어도 두 노드 사이의 연결경로의 갯수를 기반으로 유사도를 판단하여 반환하는 프로세서 및 상기 그래프 형태의 데이터를 저장하는 메모리를 포함할 수 있다.In order to achieve the above object, a product recommendation device in an electronic commerce system according to an aspect of the present invention includes a communication unit communicating with at least one of a wired and wireless network, and a plurality of shopping malls based on electronic commerce through the communication unit. Of customers' order history data-the order history data includes data on at least one product ordered by the customer-by collecting the collected order history data at least three nodes layer- The at least three node layers include a first node layer associated with a product, a second node layer associated with an order, and a third node layer associated with a customer. In the data, in response to a query for similar products, the degree of similarity is determined and returned based on the number of connection paths between at least two nodes among at least one node of the first node layer and at least one node of the third node layer. And a memory for storing the data in the form of a graph.

상기한 목적을 달성하기 위한 본 발명의 다른 양태에 따른 전자상거래 시스템에서의 상품 추천 방법은, 전자상거래 기반의 복수의 쇼핑몰들로부터 복수의 고객들의 조회 이력 데이터를 수집하는 단계(상기 조회이력 데이터는 특정 세션에서 조회한 페이지와 상기 조회한 페이지 내에서 검색한 상품에 대한 데이터를 포함함), 상기 수집된 조회이력 데이터를 적어도 3개의 노드(node) 계층으로 구성된 그래프 형태의 데이터로 변환하는 단계(상기 적어도 3개의 노드 계층은 상품과 연관된 제 1 노드 계층, 웹 페이지과 연관된 제 2 노드 계층 및 세션과 연관된 제 3 노드 계층을 포함함), 상기 그래프 형태의 데이터를 데이터베이스에 저장하는 단계 및 상기 저장된 그래프 형태의 데이터 상에서, 유사상품에 대한 질의에 대응하여, 제 1 노드 계층의 제 1 상품 노드 조회 이전 또는 이후 제 1 거리의 범위 내의 웹 페이지에서 조회한 상품 중 조회수가 많은 순서로 정렬하여 반환하는 단계를 포함할 수 있다.A product recommendation method in an e-commerce system according to another aspect of the present invention for achieving the above object comprises the steps of collecting inquiry history data of a plurality of customers from a plurality of shopping malls based on e-commerce (the inquiry history data is The step of converting the collected inquiry history data into graph-type data composed of at least three node hierarchies (including data on the page viewed in a specific session and the product searched in the viewed page) ( The at least three node layers include a first node layer associated with a product, a second node layer associated with a web page, and a third node layer associated with a session), storing the graph-type data in a database, and the stored graph In response to a query for similar products, on the form of data, sorting and returning the products in the order of the highest number of views among the products searched on the web page within the range of the first distance before or after the first product node search of the first node hierarchy. It may include.

상기한 목적을 달성하기 위한 본 발명의 다른 양태에 따른 전자상거래 시스템에서의 상품 추천 장치는, 유선 및 무선 네트워크 중 적어도 하나와 통신하는 통신부, 상기 통신부를 통해 전자상거래 기반의 복수의 쇼핑몰들로부터 복수의 고객들의 주문 이력 데이터 - 상기 조회이력 데이터는 특정 세션에서 조회한 페이지와 상기 조회한 페이지 내에서 검색한 상품에 대한 데이터를 포함함 - 를 수집하여, 상기 수집된 주문이력 데이터를 적어도 3개의 노드(node) 계층(layer) - 상기 적어도 3개의 노드 계층은 상품과 연관된 제 1 노드 계층, 웹 페이지과 연관된 제 2 노드 계층 및 세션과 연관된 제 3 노드 계층을 포함함 - 으로 구성된 그래프 형태의 데이터로 변환하며, 상기 변환된 그래프 형태의 데이터 상에서, 유사상품에 대한 질의에 대응하여, 제 1 노드 계층의 제 1 상품 노드 조회 이전 또는 이후 제 1 거리의 범위 내의 웹 페이지에서 조회한 상품 중 조회수가 많은 순서로 정렬하여 반환하는 프로세서 및 상기 그래프 형태의 데이터를 저장하는 메모리를 포함하는 포함할 수 있다.A product recommendation device in an e-commerce system according to another aspect of the present invention for achieving the above object includes a communication unit that communicates with at least one of a wired and wireless network, and a plurality of electronic commerce-based shopping malls through the communication unit. Of customers' order history data-the inquiry history data includes data on the page viewed in a specific session and the product searched within the viewed page-and stores the collected order history data by at least 3 nodes (node) layer-The at least 3 node layers include a first node layer related to a product, a second node layer related to a web page, and a third node layer related to a session-Converted to graph-type data consisting of And, on the converted graph-type data, in response to a query for similar products, the order in which the number of views among the products viewed on the web page within the range of the first distance before or after the first product node search of the first node hierarchy is high. It may include a processor that is sorted and returned by and a memory that stores the data in the form of a graph.

본 발명의 그래프 데이터베이스를 이용한 상품 추천 방법 및 장치에 따르면, 상품 추천에 있어서, 거시적으로 연관성이 있지만 미시적으로 서로 배제하는 현상을 고려하여 구매자에게 보다 적합한 상품을 추천함으로써 쇼핑몰의 운영 효율을 제고시키고, 구매자의 쇼핑 활동을 편리하게 유도하는 효과가 있다.According to a product recommendation method and apparatus using a graph database of the present invention, in product recommendation, in consideration of a phenomenon that is macroscopically related but excluded from each other, a more suitable product is recommended to a buyer, thereby enhancing the operational efficiency of a shopping mall, It has the effect of inducing the shopper's shopping activities conveniently.

도 1은 본 발명의 그래프 데이터베이스를 이용한 상품 추천 방법이 적용되는 시스템을 도시한 개념도,
도 2는 유사도 기반의 상품추천 방법을 설명하기 위한 개념도,
도 3은 본 발명의 일 실시예에 따른 그래프 데이터베이스를 이용한 상품 추천 방법에서 사용되는 상품 노드, 주문 노드 및 고객 노드 기반의 그래프,
도 4는 상품간의 직접적인 상관성과 간접적인 상관성을 설명하기 위한 개념도,
도 5는 본 발명의 일 실시예에 따른 그래프 데이터베이스를 이용한 상품 추천 방법을 나타낸 흐름도,
도 6은 상품 중심의 복수 개의 방사형 그래프가 얽혀있는 모습을 나타낸 개념도,
도 7은 본 발명의 일 실시예에 따른 그래프 데이터베이스를 이용한 상품 추천 방법에서 동일/유사 카테고리와 결합 카테고리의 적절한 사용을 설명하기 위한 도면,
도 8은 본 발명의 일 실시예에 따른 그래프 데이터베이스를 이용한 상품 추천 방법에서 사용되는 추천 알고리즘 관련 인공지능 학습 방법을 설명하기 위한 개념도,
도 9는 본 발명의 일 실시예에 따른 그래프 데이터베이스를 이용한 상품 추천 방법의 연결경로 인덱싱 방법을 설명하기 위한 개념도,
도 10a 내지 도 10d는 상품과 고객 노드를 입력으로 지정하여 유사 상품 및 유사 성향의 고객을 출력으로 찾는 다양한 실시예를 나타낸 도면,
도 11은 본 발명의 일 실시예에 따른 그래프 데이터베이스를 이용한 상품 추천 방법을 웹 페이지에서 구현한 결과를 나타낸 도면,
도 12는 본 발명의 다른 실시예에 따른 그래프 데이터베이스를 이용한 상품 추천 방법을 나타낸 흐름도,
도 13a 및 도 13b는 본 발명의 다른 실시예에 따른 그래프 데이터베이스를 이용한 상품 추천 방법의 상품 경로예측의 예시적인 모습을 나타낸 도면,
도 14a 및 도 14b는 도 13a의 실시예에서의 상품 조회 이후, 다음 상품을 조회한 상황에서의 상품 경로예측의 예시적인 모습을 나타낸 도면,
도 15는 상품 판매활성도 분석에 따라 판매가 저조해진 상품들에 대한 프로모션이 필요한 상황을 설명하기 위한 개념도,
도 16a 및 도 16b는 5명의 고객과 6개의 상품이 있는 경우, 특정 수의 고객 군과 특정 수의 상품군을 매칭하여 특별 프로모션을 제공하기 위한 매칭방법을 설명하기 위한 개념도,
도 17a 및 도 17b는 본 발명의 또 다른 실시예에 따른 상품 바스켓 추천 방법을 나타낸 흐름도,
도 18은 본 발명의 또 다른 실시예에 따른 상품기반 바스켓 추천 방법을 나타낸 흐름도,
도 19a 내지 도 19c는 도 18의 바스켓 추천 방법의 각 단계별 행렬 생성 방법을 구체적으로 설명하기 위한 테이블,
도 20은 본 발명의 또 다른 실시예에 따른 고객기반 바스켓 추천 방법을 나타낸 흐름도,
도 21a 내지 도 21c는 도 20의 바스켓 추천 방법의 각 단계별 행렬 생성 방법을 구체적으로 설명하기 위한 테이블,
도 22는 본 발명의 일 실시예에 따른 그래프 데이터베이스 기반의 상품추천 방법 및 상품 바스켓 추천 방법을 사용하는 장치를 개략적으로 나타낸 블록도이다.
1 is a conceptual diagram showing a system to which a product recommendation method using a graph database of the present invention is applied;
2 is a conceptual diagram for explaining a similarity-based product recommendation method;
3 is a graph based on a product node, an order node, and a customer node used in a product recommendation method using a graph database according to an embodiment of the present invention;
4 is a conceptual diagram for explaining direct and indirect correlations between products;
5 is a flowchart showing a product recommendation method using a graph database according to an embodiment of the present invention;
6 is a conceptual diagram showing a state in which a plurality of radial graphs centered on a product are entangled;
7 is a diagram for explaining appropriate use of the same/similar category and a combined category in a product recommendation method using a graph database according to an embodiment of the present invention;
8 is a conceptual diagram illustrating an artificial intelligence learning method related to a recommendation algorithm used in a product recommendation method using a graph database according to an embodiment of the present invention;
9 is a conceptual diagram illustrating a connection path indexing method of a product recommendation method using a graph database according to an embodiment of the present invention;
10A to 10D are diagrams showing various embodiments of searching for similar products and customers with similar tendencies as outputs by designating products and customer nodes as inputs;
11 is a diagram showing a result of implementing a product recommendation method using a graph database according to an embodiment of the present invention in a web page;
12 is a flowchart showing a product recommendation method using a graph database according to another embodiment of the present invention;
13A and 13B are diagrams showing an exemplary view of product path prediction in a product recommendation method using a graph database according to another embodiment of the present invention;
14A and 14B are diagrams illustrating exemplary product path prediction in a situation in which a next product is inquired after product inquiry in the embodiment of FIG. 13A;
15 is a conceptual diagram for explaining a situation in which a promotion is required for products with low sales according to product sales activity analysis;
16A and 16B are conceptual diagrams for explaining a matching method for providing a special promotion by matching a specific number of customer groups and a specific number of product groups when there are 5 customers and 6 products;
17A and 17B are flowcharts illustrating a method for recommending a product basket according to another embodiment of the present invention;
18 is a flowchart showing a product-based basket recommendation method according to another embodiment of the present invention;
19A to 19C are tables for specifically explaining a method of generating a matrix for each step of the basket recommendation method of FIG. 18;
20 is a flowchart showing a customer-based basket recommendation method according to another embodiment of the present invention;
21A to 21C are tables for specifically explaining a method of generating a matrix for each step of the basket recommendation method of FIG. 20;
22 is a block diagram schematically illustrating an apparatus using a product recommendation method based on a graph database and a product basket recommendation method according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.In the present invention, various modifications may be made and various embodiments may be provided, and specific embodiments will be illustrated in the drawings and described in detail.

그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.However, this is not intended to limit the present invention to a specific embodiment, it should be understood to include all changes, equivalents, and substitutes included in the spirit and scope of the present invention.

제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Terms such as first and second may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another component. For example, without departing from the scope of the present invention, a first element may be referred to as a second element, and similarly, a second element may be referred to as a first element. The term and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When a component is referred to as being "connected" or "connected" to another component, it is understood that it may be directly connected or connected to the other component, but other components may exist in the middle. It should be. On the other hand, when a component is referred to as being "directly connected" or "directly connected" to another component, it should be understood that there is no other component in the middle.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In the present application, terms such as "comprise" or "have" are intended to designate the presence of features, numbers, steps, actions, components, parts, or combinations thereof described in the specification, but one or more other features. It is to be understood that the presence or addition of elements or numbers, steps, actions, components, parts, or combinations thereof does not preclude in advance.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein including technical or scientific terms have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related technology, and should not be interpreted as an ideal or excessively formal meaning unless explicitly defined in the present application. Does not.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다. Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the accompanying drawings. In describing the present invention, in order to facilitate an overall understanding, the same reference numerals are used for the same elements in the drawings, and duplicate descriptions for the same elements are omitted.

그래프 데이터베이스를 이용한 상품 추천 방법Product recommendation method using graph database

도 1은 본 발명의 그래프 데이터베이스를 이용한 상품 추천 방법이 적용되는 시스템을 도시한 개념도이다. 도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 상품추천 시스템은 다수의 쇼핑몰(110-1~110-N), 네트워크(120), 서버(130), 데이터베이스(140) 및 사용자 단말(150)을 포함할 수 있다. 1 is a conceptual diagram showing a system to which a product recommendation method using a graph database of the present invention is applied. 1, the product recommendation system according to an embodiment of the present invention includes a plurality of shopping malls 110-1 to 110-N, a network 120, a server 130, a database 140, and a user terminal. 150 may be included.

도 1을 참조하면, 쇼핑몰(110-1~110~N)은 인터넷을 통하여 상품 및/또는 서비스를 판매하는 온라인 쇼핑몰을 의미한다. 쇼핑몰(110-1~110~N)은 특정 URL을 가지고 인터넷 상에서 해당 주소로의 방문자들을 상대로 상품을 판매한다. 쇼핑몰 운영자는 판매된 상품에 대한 금액 중 적어도 일부를 쇼핑몰과 연관된 자신의 계좌를 통해 획득하는 방식으로 쇼핑몰을 운영한다. Referring to FIG. 1, shopping malls 110-1 to 110 to N refer to online shopping malls that sell goods and/or services through the Internet. Shopping malls 110-1 to 110 to N sell products to visitors to a corresponding address on the Internet with a specific URL. The shopping mall operator operates the shopping mall by acquiring at least part of the amount of the sold product through his/her account associated with the shopping mall.

도 1의 실시예에 있어서, 쇼핑몰(110-1~110~N)은 앞서 설명한 바와 같이, 인터넷 상의 특정주소(예컨대, URL)와 연관된 웹 페이지, 쇼핑몰과 연관된 정보를 취급하는 서버 또는 쇼핑몰의 운영자의 단말기로써 구현될 수 있다. 단말은 스마트폰, PC 등의 컴퓨팅 디바이스를 포함할 수 있다. In the embodiment of FIG. 1, the shopping malls 110-1 to 110 to N are web pages associated with a specific address (eg, URL) on the Internet, a server handling information related to the shopping mall, or an operator of the shopping mall, as described above. It can be implemented as a terminal of. The terminal may include a computing device such as a smartphone or a PC.

본 발명의 실시예에 따르면, 복수 개의 쇼핑몰(110-1~110-N)은 네트워크(120)를 통해 서버(130)와 연동할 수 있다. 여기서, 서버(130)는 복수 개의 쇼핑몰(110-1~110-N)로부터 정보를 획득하고 상품추천 질의에 대응하여 상품을 추천하는 장치이다. 아하 "장치" 또는 "상품 추천 장치"라는 용어는, 도 1의 서버(130)를 지칭하는 것으로 해석될 수 있다. 서버(130)는 쇼핑몰을 개설하고 운영하도록 지원하는 플랫폼(platform)을 배포하고 관리하는 서버(미도시)이거나 또는 상기 서버와 연동하는 서버일 수 있다. 따라서, 서버(130)는 하나의 쇼핑몰(110-1)과 연관된 정보만을 취급하는 것이 아니라, 다수의 쇼핑몰(110-1~110-N)과 연관된 정보를 취급하고, 빅데이터를 기반으로 다양한 정보를 분석 및 학습할 수 있다.According to an embodiment of the present invention, a plurality of shopping malls 110-1 to 110 -N may interwork with the server 130 through the network 120. Here, the server 130 is a device that obtains information from a plurality of shopping malls 110-1 to 110-N and recommends a product in response to a product recommendation query. The term “device” or “product recommendation device” may be interpreted as referring to the server 130 of FIG. 1. The server 130 may be a server (not shown) that distributes and manages a platform that supports opening and operating a shopping mall, or may be a server interlocking with the server. Therefore, the server 130 not only handles information related to one shopping mall 110-1, but also handles information related to a plurality of shopping malls 110-1 to 110-N, and provides various information based on big data. Can analyze and learn.

서버(130)는 컴퓨팅 장치로 구현될 수 있다. 여기서 말하는 컴퓨팅 장치는 서버 급 컴퓨터 단말기로 구현될 수 있다. 상기 컴퓨팅 장치는 통상적인 컴퓨터 단말이 가지는 입력 장치, 표시 장치, 네트워킹 장치, 하드디스크, 프로그램을 저장하는 메모리 및 메모리에 저장된 프로그램을 수행시키는 프로세서 등을 구비할 수 있다. 다만, 반드시 서버 급 컴퓨터 단말로 구현되어야 하는 것은 아니다. The server 130 may be implemented as a computing device. The computing device referred to herein may be implemented as a server-class computer terminal. The computing device may include an input device of a typical computer terminal, a display device, a networking device, a hard disk, a memory for storing a program, a processor for executing a program stored in the memory, and the like. However, it does not necessarily have to be implemented as a server-class computer terminal.

네트워크(120)는 쇼핑몰(110-1~110-N)과 서버(130)를 연결하는 통신망으로써, 유선망 및/또는 무선망(인터넷(internet))을 포함할 수 있다.The network 120 is a communication network connecting the shopping malls 110-1 to 110-N and the server 130, and may include a wired network and/or a wireless network (Internet).

서버(130)는 쇼핑몰(110-1~110-N) 및/또는 쇼핑몰(110-1~110-N)의 정보를 전반적으로 관리하는 쇼핑몰 운영서버(미도시)로부터 주문이력 데이터 및/또는 상품조회 데이터를 획득한다. 그리고는, 획득된 데이터를 복수 개의 노드 계층을 갖는 그래프 형태로 변환한다. 그래프 형태로 변환된 데이터는 서버(130)의 외부의 데이터베이스(140)에 저장된다. 다만, 반드시 데이터베이스(140)가 서버(130)의 외부에 있어야 하는 것은 아니다. 내부에 존재할 수도 있다. The server 130 is the order history data and/or product from the shopping mall operation server (not shown) that generally manages the information of the shopping malls 110-1 to 110-N and/or the shopping malls 110-1 to 110-N. Acquire inquiry data. Then, the obtained data is converted into a graph form having a plurality of node hierarchies. The data converted into a graph form is stored in the database 140 external to the server 130. However, the database 140 does not necessarily have to be outside the server 130. It may exist inside.

서버(130)는 사용자 단말(150)로부터의 상품추천 요청("추천 상품 검색 요청", "질의" 등으로 불릴 수 있음)에 대응하여 3개 노드 계층으로 구성된 그래프를 이용하여 특정상품으로부터 유사상품 검색에 대한 질의를 처리한다. 이때, 변환된 형태의 그래프 데이터 상에서, 상품과 상품, 고객과 고객, 또는 상품과 고객 간의 연결경로를 추출하고, 추출된 연결경로의 거리 및/또는 갯수를 고려하여 서로 간의 유사도를 판단할 수 있다. 또한, 상품조회 데이터를 활용하는 경우, 그래프 상에서, 상품 검색 이전 또는 이후의 일정 스텝(step) 동안의 조회 이력을 분석하여 유사상품에 대한 질의를 처리한다. 유사상품에 대한 질의를 처리하는 기술과 관련된 부분은 이하 보다 상세히 설명한다. The server 130 responds to a product recommendation request from the user terminal 150 (which may be referred to as a "recommended product search request", a "query", etc.), using a graph composed of three node hierarchies to provide similar products from a specific product. Process queries for search. At this time, on the converted graph data, the connection path between the product and the product, the customer and the customer, or the product and the customer is extracted, and the degree of similarity between the extracted connection paths may be determined by considering the distance and/or number of the extracted connection paths. . In addition, when product search data is used, a query for similar products is processed by analyzing the inquiry history during a certain step before or after product search on a graph. The part related to the technology for processing queries for similar products will be described in more detail below.

본 발명의 다른 실시예에 있어서, 서버(130)는 개별 고객과 개별 상품 사이의 구매가능성을 나타내는 지표(위의 그래프 데이터베이스를 이용한 유사도를 포함할 수 있음)가 존재하는 것을 기반으로 이를 이용하여 상품 바스켓(basket)을 최적화할 수 있다. 즉, 본 발명의 실시예에 따른 상품 바스켓 추천 방법을 사용하면, 적어도 하나의 고객(복수의 경우, 고객 군(group))에게 최적화된 복수 개의 상품군을 적절하게 프로모션(promotion)할 수 있다.In another embodiment of the present invention, the server 130 uses the product based on the existence of an index (which may include the degree of similarity using the graph database above) indicating the purchaseability between an individual customer and an individual product. The basket can be optimized. That is, if the product basket recommendation method according to an embodiment of the present invention is used, it is possible to appropriately promote a plurality of product groups optimized for at least one customer (in multiple cases, a customer group).

사용자 단말(150)은 쇼핑몰(110-1)의 구매자의 단말일 수 있다. 구매자는 사용자 단말(150)을 이용하여 서버(130) 또는 별도의 쇼핑몰 관리 서버(미도시)로 상품 추천 요청을 전송할 수 있다. 별도의 쇼핑몰 관리 서버가 존재한다면, 쇼핑몰 관리 서버는 수신된 상품 추천 요청을 서버(130)로 전달한다. 상품 추천 요청은 유사상품에 대한 질의를 포함할 수 있다. 나아가, 유사 고객에 대한 질의를 포함할 수 있다. 그리고는, 그래프 기반의 데이터 분석 방법 및/또는 바스켓 추천 방법을 이용하여 상기 질의에 대한 처리가 완료되면, 처리완료된 데이터를 사용자 단말(150)로 제공하여 구매자가 이를 확인하고, 이를 토대로 상품을 선택할 수 있도록 한다. 사용자 단말(150)은 네트워크(120)(네트워크 내의 특정 웹페이지)를 이용하여 상품 추천 요청을 서버(130)로 제공할 수 있다.The user terminal 150 may be a terminal of a purchaser of the shopping mall 110-1. The purchaser may transmit a product recommendation request to the server 130 or a separate shopping mall management server (not shown) using the user terminal 150. If there is a separate shopping mall management server, the shopping mall management server transmits the received product recommendation request to the server 130. The product recommendation request may include a query for similar products. Furthermore, it may include queries for similar customers. Then, when the processing of the query is completed using a graph-based data analysis method and/or a basket recommendation method, the processed data is provided to the user terminal 150 so that the buyer checks it and selects a product based on this. To be able to. The user terminal 150 may provide a product recommendation request to the server 130 using the network 120 (a specific web page in the network).

본 발명의 다른 실시예에 따르면, 쇼핑몰(110-1~110-N)과 연관된 단말 또는 사용자 단말(150)은 서버(130)에서 제공하는 애플리케이션을 다운로드 받아 애플리케이션을 통해 자동생성을 수행할 수 있다. 즉, 쇼핑몰(110-1~110-N)과 연관된 단말 또는 사용자 단말(150)에서, 사용자가 유사상품 또는 유사고객에 대한 질의를 입력하면 그래프 기반의 상품 추천 과정 또는 상품 바스켓 추천 과정을 단말 내에서 수행할 수 있다. 별도의 서버장치 없이 단말의 프로세서(미도시)가 다운받은 애플리케이션을 실행하여, 데이터 변형 및 변형된 데이터 분석을 통해 최적의 상품을 추천하도록 할 수 있다. According to another embodiment of the present invention, the terminal or user terminal 150 associated with the shopping malls 110-1 to 110-N may download an application provided from the server 130 and perform automatic generation through the application. . That is, in the terminal or user terminal 150 associated with the shopping malls 110-1 to 110-N, when a user inputs a query for a similar product or similar customer, a graph-based product recommendation process or a product basket recommendation process is performed in the terminal. Can be done in Without a separate server device, a processor (not shown) of the terminal executes the downloaded application, and it is possible to recommend an optimal product through data transformation and analysis of the transformed data.

도 2는 유사도 기반의 상품추천 방법을 설명하기 위한 개념도이다. 2 is a conceptual diagram illustrating a product recommendation method based on similarity.

도 2를 참조하면, 장치는 일반적으로 상품의 이미지 및 속성의 유사성을 기반으로 상품추천을 수행한다. 즉, 먼저, 상품 이미지 간의 유사도를 이미지 분석 모듈을 이용하여 산출함으로써 구매가능성 지표로 활용할 수 있다. 도 2의 실시예에 있어서, 장치는 신발상품 1의 색상, 형상 등을 이미지 분석하여, 데이터베이스 내에 저장된 수많은 상품 이미지들 중 가장 유사한 색상과 형상을 가진 신발상품 2를 추출할 수 있다. 또는, 신발상품 1의 상품속성을 기반으로 속성이 유사한 신발상품 2를 추출할 수 있다. 예컨대, 신발상품 1의 색상은 붉은 색이고, 사이즈는 250이며, 브랜드는 "A 브랜드"이고, 형태는 "단화"인 경우, 동일 또는 유사한 속성의 신발상품 2를 데이터베이스에서 검색하여 추출할 수 있다. 다만, 이러한 이미지 및/또는 상품 속성에 기반한 유사도를 이용하는 방법은 앞서 설명한 바와 같이, 유사 상품을 동시에 구매하는 경우에 해당되어 구매가능성이 아주 높다고 할 수 없고, 구매자의 수요를 충족시킬 수 없는 경우가 발생한다. Referring to FIG. 2, the device generally recommends products based on similarities between images and attributes of products. That is, first, by calculating the similarity between product images using the image analysis module, it can be utilized as a purchaseability index. In the embodiment of FIG. 2, the apparatus may analyze the image of the color and shape of the shoe product 1 and extract the shoe product 2 having the most similar color and shape among numerous product images stored in the database. Alternatively, shoe product 2 having similar attributes may be extracted based on the product attributes of shoe product 1. For example, if the color of shoe product 1 is red, the size is 250, the brand is "A brand", and the shape is "shoe", the shoe product 2 of the same or similar attribute may be searched and extracted from the database. . However, the method of using the similarity based on the image and/or product attributes, as described above, corresponds to the case of purchasing similar products at the same time, so it cannot be said that the purchase possibility is very high, and the purchaser's demand cannot be satisfied. Occurs.

본 발명의 실시예에 따르면, 장치는 특정 고객의 구매이력을 기반으로 많이 구매한 상품의 속성을 추출하여 그에 대응되는 속성을 갖는 상품의 구매가능성 지표를 높게 책정할 수 있다. 이러한 점을 이용하여 고객이 구매한 상품의 속성을 가지고 고객을 카테고리화하여 구매가능성 지표를 산출할 수도 있다. 즉, 해당 상품을 구매한 고객들과 유사 성향을 갖는 고객들을 찾아서, 유사성향 고객이 구매한 상품을 유사상품으로 추천할 수 있다.According to an embodiment of the present invention, the device may extract attributes of products that have been purchased a lot based on the purchase history of a specific customer, and set a high purchaseability index of products having attributes corresponding thereto. Using this point, it is also possible to calculate the purchaseability index by categorizing the customer with the attributes of the product purchased by the customer. That is, it is possible to find customers who have a similar tendency to those who have purchased the corresponding product, and recommend a product purchased by the similar customer as a similar product.

상기한 바와 같이, 다양한 방식의 상품 이미지, 상품속성 및/또는 고객속성 분석에 기반한 구매가능성 지표는 추후 상품 바스켓 추천 방법에서 행렬의 빈 칸에 들어가는 요소로써 활용될 수 있다. As described above, the purchaseability index based on various methods of product image, product attribute, and/or customer attribute analysis may be used as an element that enters the blank space of the matrix in the method of recommending product baskets in the future.

도 3은 본 발명의 일 실시예에 따른 그래프 데이터베이스를 이용한 상품 추천 방법에서 사용되는 상품, 주문 및 고객 노드 기반의 그래프이다. 3 is a graph based on product, order, and customer nodes used in a product recommendation method using a graph database according to an embodiment of the present invention.

도 3을 참조하면, 장치는 주문 이력 데이터를 수집하여 적어도 3개의 노드 계층으로 구성된 그래프를 생성할 수 있다. 주문 이력 데이터는 기본적으로 "특정 고객 A가 특정 쇼핑몰에서 주문 B를 이용하여 상품 C를 주문하였다"는 정보를 포함한다. 즉, 고객과 주문, 그리고 상품 간의 연관관계를 포함하는 데이터이다. Referring to FIG. 3, the device may collect order history data and generate a graph composed of at least three node hierarchies. The order history data basically includes information that "a specific customer A has ordered product C by using order B in a specific shopping mall". In other words, it is data that includes the relationship between customers, orders, and products.

장치는 각각의 주문 이력 데이터를 기반으로 상품을 제 1 노드 계층으로, 주문을 제 2 노드 계층으로, 고객을 제 3 노드 계층으로 형성하여 방사형의 그래프를 생성한다. 도 3의 실시예에서는, 상품 A(310)는 6개의 주문들(320: 주문 A 내지 주문 F)에 포함되어 있고, 각각의 주문은 서로 다른 고객(330)으로부터 획득된 것이다. 이러한 경우, 장치는, 상품 A(310)를 중심으로, 주문 A(320) 내지 주문 F를 연결선을 이용하여 연결하고, 주문 A(320)을 요청한 고객 A(330)을 주문 A(320)에 각각 연결하여 상품으로부터 방사형의 그래프가 생성되도록 한다. 다시 말해, 상품-주문 연결선은 주문에 포함된 상품을, 주문-고객 연결선은 주문을 한 고객을 나타낸다. 이때, 그래프의 각 노드 계층 중 제 1 노드 계층(상품 계층)은 붉은 색으로, 제 2 노드 계층(주문 계층)은 초록 색으로, 제 3 노드 계층(고객 계층)은 파란 색으로 나타낼 수 있다. 이렇게 생성된 그래프는 시각화되어 디스플레이 장치를 통해 표시될 수 있다.The device generates a radial graph by forming a product into a first node layer, an order into a second node layer, and a customer into a third node layer based on each order history data. In the embodiment of FIG. 3, product A 310 is included in six orders 320 (orders A to F), and each order is obtained from a different customer 330. In this case, the device connects the order A (320) to the order F using a connecting line, centering on the product A (310), and connects the customer A (330) requesting the order A (320) to the order A (320). Connect each so that a radial graph is created from the product. In other words, the product-order connection line represents the product included in the order, and the order-customer connection line represents the customer who placed the order. In this case, a first node layer (product layer) of each node layer of the graph may be indicated in red color, a second node layer (order layer) may be indicated in green color, and a third node layer (customer layer) may be indicated in blue color. The generated graph can be visualized and displayed through a display device.

도 3의 실시예에 도시된 바와 같이, 장치는 한 상품(310: 상품 A)이 포함된 다수의 주문과 해당 주문을 한 고객을 표시할 수 있다. 이때, 도 3의 그래프에 포함된 고객들(330) 간에는, 거리 4(고객 → 주문 → 상품 → 주문 → 고객)의 길이로 연결된 경로가 1개씩 존재한다고 볼 수 있다. 따라서, 이들 고객들은 그렇지 아니한 고객 대비 구매성향에 있어서 유사성을 보인다고 볼 수 있다. 거리 4의 의미와 관련하여서는 다음의 도 4를 통해 보다 상세히 설명한다.As shown in the embodiment of FIG. 3, the device may display a plurality of orders including one product 310 (product A) and a customer who has placed the order. At this time, it can be seen that between the customers 330 included in the graph of FIG. 3, there is one path connected by a length of distance 4 (customer → order → product → order → customer). Therefore, it can be seen that these customers show similarity in purchasing tendency compared to those who do not. The meaning of the distance 4 will be described in more detail with reference to FIG. 4 below.

도 4는 상품간의 직접적인 상관성과 간접적인 상관성을 설명하기 위한 개념도이다. 4 is a conceptual diagram illustrating direct correlation and indirect correlation between products.

도 4의 (a)를 참조하면, 매우 비슷한 두 상품(상의에 속하는 상품일 수 있음)을 동시에 주문하는 사람은 많지 않다. 즉, 직접적인 상관성이 높은, 거리 2의 연결경로의 경우, 유사도가 낮다고 판단하는 것이 바람직하다. Referring to FIG. 4A, there are not many people who order two very similar products (which may belong to a top) at the same time. That is, in the case of a connection path having a high direct correlation and a distance of 2, it is preferable to determine that the similarity is low.

그러나, 도 4의 (b)를 참조하면, 다른 상품(하의(상품 3))를 매개로 볼 때, (상품 1- 상품 3), (상품 2-상품 3)의 조합으로 구매하는 고객은 다수가 존재할 수 있다. 즉, 최초 직접적 상관성(거리 2)(도 4의 (a) 실시예 참조)은 낮은 유사도를 나타내지만, 거리가 일정간격 멀어지게 되면(예컨대, 거리 4), 간접적인 상관성을 관찰할 수 있고, 이러한 간접적인 상관성은 구매가능성 측면에서 높은 지표로 구현되는 것이 바람직하다. 다시 말해, 두 상품(상품 1과 상품 2)가 정해진 거리(도 4의 (b)의 실시예에서는 거리 4)를 두고 연결될 수 있는 경로의 갯수가 유사성을 나타내는 지표가 될 수 있는 것이다.However, referring to (b) of FIG. 4, when viewed through a different product (bottom (product 3)), a number of customers who purchase with a combination of (product 1- product 3) and (product 2- product 3) May exist. That is, the initial direct correlation (distance 2) (refer to the embodiment (a) of Fig. 4) shows a low degree of similarity, but when the distance becomes distant (e.g., distance 4), indirect correlation can be observed, It is desirable that this indirect correlation be implemented as a high indicator in terms of purchasing feasibility. In other words, the number of paths to which two products (product 1 and product 2) can be connected at a predetermined distance (distance 4 in the embodiment of FIG. 4B) may be an index indicating similarity.

다시 도 3으로 돌아가서, 위와 같은 상관성의 측면에서 볼 때, 거리 4로 연결된 고객들은 "특정 고객이 구매한 상품을 구매한 다른 고객들"이라는 관계를 가질 수 있다. 특정 고객에 대해, 위와 같이 "같은 상품을 구매한 고객"이라는 관계를 찾아보면, 서로 다른 상품을 매개로 특정 고객과 다른 고객이 연결되는 경로를 추출할 수 있다. 본 발명의 일 실시예에 따르면, 장치는 연결되는 경로가 가장 많은 고객으로, 특정 고객(고객 A)와 가장 구매 성향이 유사한 고객 B로 판단할 수 있다. Returning to FIG. 3 again, in view of the above correlation, customers connected to the distance 4 may have a relationship of “other customers who have purchased a product purchased by a specific customer”. For a specific customer, by looking for the relationship "customer who has purchased the same product" as above, a path through which a specific customer and another customer are connected through different products can be extracted. According to an embodiment of the present invention, the device may be determined as a customer with the largest number of connected paths, and as a customer B having the most similar purchase propensity to a specific customer (customer A).

따라서, 장치는 그래프 데이터베이스를 기반으로 특정 고객 A는 구매하였으나, 유사한 고객 B가 구매하지 않은 상품은 고객 B에게 추천할 수 있다. 마찬가지로, 고객 B가 구매하였으나, 고객 A가 구매하지 않은 상품을 A에게 추천할 수 있다. 즉, 장치는 공통된 상품 A(310)를 매개로 고객 A와 고객 B를 연결시킬 수 있고, 연결경로의 길이 및 연결경로의 갯수를 고려하여 유사도를 분석한다. Accordingly, the device may recommend a product that a specific customer A has purchased, but a similar customer B has not purchased, to the customer B based on the graph database. Similarly, a product purchased by customer B but not purchased by customer A may be recommended to A. That is, the device can connect the customer A and the customer B via the common product A 310, and analyzes the similarity in consideration of the length of the connection path and the number of connection paths.

도 5는 본 발명의 일 실시예에 따른 그래프 데이터베이스를 이용한 상품 추천 방법을 나타낸 흐름도이다. 5 is a flowchart illustrating a product recommendation method using a graph database according to an embodiment of the present invention.

도 5를 참조하면, 서버("장치"라고 부를 수 있음)는 주문 이력 데이터를 온라인 쇼핑몰 또는 쇼핑몰을 관리하는 서버로부터 수집한다(S510). 이때, 획득되는 데이터는 상품과 해당 상품을 포함하는 주문, 그리고 해당 주문을 수행한 주체인 고객과의 연관관계에 대한 정보를 포함한다. Referring to FIG. 5, a server (which may be referred to as a "device") collects order history data from an online shopping mall or a server managing the shopping mall (S510). At this time, the acquired data includes information on the product, the order including the product, and the relationship between the customer, who executed the order.

장치는 수집된 주문 이력 데이터를 그래프 형태의 데이터로 변환한다(S512). 그래프는 3개의 노드 계층으로 구성되고, 제 1 노드 계층인 상품을 제 2 노드 계층인 주문과 연결선을 통해 연결하고, 주문은 제 3 노드 계층인 고객과 연결선을 통해 연결하여, 제 1 노드 계층을 중심으로 방사형의 그래프 형태를 가질 수 있다. 그리고는, 장치는 그래프 형태로 변환된 데이터를 데이터베이스에 저장한다(S514). The device converts the collected order history data into data in the form of a graph (S512). The graph consists of three node hierarchies, and the first node layer is connected to the product, which is the second node layer, through a connecting line, and the order is connected to the customer, which is the third node layer, through a connecting line, and the first node layer is connected. It can have a radial graph shape centered on it. Then, the device stores the data converted in the form of a graph in the database (S514).

클라이언트 단말은 추천 상품 검색 요청을 입력한다(S516). 입력된 요청 정보는 장치(서버) 측으로 전송된다. 이때, 추천 상품 검색 요청은 (i) 상품 중심으로 검색하는 요청과 (ii) 고객 중심으로 검색하는 요청으로 구분되어 입력될 수 있다. 이는 도 10a 내지 도 10d를 통해 보다 상세히 설명한다. The client terminal inputs a recommended product search request (S516). The input request information is transmitted to the device (server) side. In this case, the recommended product search request may be divided into (i) a product-oriented search request and (ii) a customer-oriented search request, and input. This will be described in more detail through FIGS. 10A to 10D.

추천 상품 검색 요청이 입력되면, 장치는 그래프 형태의 변환된 데이터를 이용하여 대상상품 또는 대상고객을 중심으로 상관성을 분석한다(S518). 그리고는, 대상상품 또는 대상고객을 중심에 놓고, 분석된 상관성을 기반으로 타 상품 또는 타 고객까지 연결경로를 생성한다(S520). 이때, 생성된 연결경로의 거리를 기반으로 일정 거리 범위 내에 존재하는 연결경로인지 판단한다(S522). 앞서 설명한 바와 같이, 직접적인 상관성을 나타내는 거리 2보다는 큰 거리를 갖는 것이 바람직하고(예컨대, a=2), 거리가 길어지면, 연결되는 경로가 비례적으로 많아지기 때문에, 과도하게 큰 거리 값을 갖는 연결경로는 제외하는 것이 바람직하다(예컨대, b=10). 거리 범위를 정의하는 a 및 b 값은 사용자 설정을 통해 설정할 수 있고 임의로 변경도 가능하다. 또한, 머신러닝(machine learning)을 통해 최적의 해를 찾는 형태로 a 및 b의 값을 변화시킬 수 있다. 정해진 범위 미만의 거리를 갖거나 상기 범위를 초과하는 거리를 갖는 연결경로는 배체시킨다(S524).When a request to search for a recommended product is input, the device analyzes the correlation centering on the target product or the target customer using the converted data in the form of a graph (S518). Then, the target product or target customer is placed at the center, and a connection path to other products or other customers is created based on the analyzed correlation (S520). At this time, it is determined whether the connection path exists within a certain distance range based on the distance of the generated connection path (S522). As described above, it is preferable to have a distance larger than the distance 2 representing a direct correlation (e.g., a=2), and as the distance increases, the route to be connected increases proportionally. It is preferable to exclude the connection path (eg, b=10). The values a and b that define the distance range can be set through user settings and can be arbitrarily changed. In addition, the values of a and b can be changed in the form of finding an optimal solution through machine learning. A connection path having a distance less than a predetermined range or a distance exceeding the range is distributed (S524).

본 발명의 실시예에 따르면, 장치는 두 노드 간의 연결경로의 거리를 고려하여 연결경로의 갯수를 조정할 수 있다. 앞서 설명한 바와 같이, 직접적으로 연결된 두 노드 간의 거리는 1 홉(hop)의 거리로 정의된다. 이때, 제 1 연결경로의 거리는 n1이(n1은 자연수)고, 제 2 연결경로의 거리는 n2(n2는 자연수)라고 할 때, 제 1 연결경로의 갯수는 1/n1으로 조정되어 산정될 수 있다. 또한, 제 2 연결경로의 갯수는 1/n2으로 조정되어 산정될 수 있다. 즉, 거리 2의 직접적인 상관성을 제외하고는, 짧은 거리로 연결되는 노드가 유사도가 높을 수 있으므로, 이를 보다 중요하게 고려하여 해당 거리로 나눠줌으로써 연결경로의 수를 조정할 수 있다. 예컨대, 거리 4의 노드 간의 연결경로의 갯수는 1/4로 고려되어, 거리 8의 연결경로의 갯수인 1/8보다, 크게(중요하게) 고려될 수 있다. According to an embodiment of the present invention, the device may adjust the number of connection paths in consideration of the distance of connection paths between two nodes. As described above, the distance between two directly connected nodes is defined as a distance of 1 hop. At this time, when the distance of the first connection path is n 1 (n 1 is a natural number) and the distance of the second connection path is n 2 (n 2 is a natural number), the number of the first connection paths is adjusted to 1/n 1 Can be calculated. In addition, the number of second connection paths may be calculated by adjusting to 1/n 2. That is, except for the direct correlation of distance 2, since nodes connected by a short distance may have high similarity, it is possible to adjust the number of connection paths by dividing by the corresponding distance considering this more importantly. For example, the number of connection paths between nodes of the distance 4 is considered to be 1/4, and may be considered larger (importantly) than 1/8, which is the number of connection paths of the distance 8.

장치는 설정된 거리 범위 내에 존재하는 연결경로의 수를 위와 같은 방식을 기반으로 계산한다(S526). 그리고는, 가장 많은 연결경로의 갯수 값을 갖는 상품 또는 고객을 추출한다(S528). 이때, 연결경로의 수를 기반으로 정렬하여 상위 몇 개의 상품 또는 고객을 유사도가 높은 상품 또는 고객으로 추출할 수 있다. 유사도가 높다는 것은 구매성향이 유사하다는 것을 의미한다. 특히, 고객 대 고객의 유사도가 높은 경우, 유사하다고 판단된 고객 관점에서, 공통된 상품을 매개로 하여 공통상품을 포함하는 제 1 주문 내에서 상기 공통 상품을 뺀 나머지 상품을 대상 고객이 구매할 가능성이 높다고 판단할 수 있으므로, 이러한 상품을 추천상품으로 도출할 수 있다. The device calculates the number of connection paths existing within the set distance range based on the above method (S526). Then, the product or customer having the most number of connection paths is extracted (S528). At this time, by sorting based on the number of connection paths, the top few products or customers may be extracted as products or customers with high similarity. The high degree of similarity means that the propensity to purchase is similar. In particular, in the case of high customer-to-customer similarity, it is highly likely that the target customer will purchase the remaining products minus the common product within the first order containing the common product through a common product from the viewpoint of the customer determined to be similar. Because it can be judged, these products can be derived as recommended products.

이와 같이, 유사도 결과로 나온 상품 및 고객의 정보, 그 밖에 해당 고객을 기반으로 공통상품을 제외하고 상기 제 1 주문 내의 나머지 상품에 대한 정보를 클라이언트 단말로 제공한다. 단말은 제공된 정보를 출력함으로써 구매자에거 표시할 수 있다(S530). In this way, information on products and customers resulting from the similarity degree, and other information on the remaining products in the first order, excluding common products based on the corresponding customer, is provided to the client terminal. The terminal may display the provided information to the purchaser (S530).

도 6은 상품 중심의 복수 개의 방사형 그래프가 얽혀있는 모습을 나타낸 개념도이다. 6 is a conceptual diagram showing a state in which a plurality of radial graphs centered on a product are entangled.

도 6을 참조하면, 복수 개의 방사형 그래프(610, 620, 630, 640)이 얽혀있는 형태를 나타낼 수 있다. 장치는, 상품 A를 중심으로 하는 제 1 방사형 그래프(610)와 상품 B를 중심으로 하는 제 2 방사형 그래프(620)는 주문 A 또는 고객 A를 매개로 서로 연결될 수 있다. 이러한 두 개의 방사형 그래프(610, 620)는 디스플레이 화면에 2차원적으로 시각화하여 표시할 수 있다. 나아가, 제 1 방사형 그래프(610)와 상품 C를 중심으로 하는 제 3 방사형 그래프(630)는 주문 B 또는 고객 B를 매개로 서로 연결될 수 있고, 이때, 제 2 방사형 그래프(620)와 제 3 방사형 그래프(630) 역시 주문 C 또는 고객 C를 매개로 서로 연결될 수 있다. 이와 같이, 셋 이상의 방사형 그래프(620)가 연결될 때 2차원적으로 각 방사형 그래프들 간의 상관관계를 시각화하여 표현하기는 어렵다. Referring to FIG. 6, a plurality of radial graphs 610, 620, 630, and 640 may be entangled. In the apparatus, a first radial graph 610 centered on product A and a second radial graph 620 centered on product B may be connected to each other via order A or customer A. These two radial graphs 610 and 620 may be visualized and displayed in two dimensions on a display screen. Further, the first radial graph 610 and the third radial graph 630 centered on the product C may be connected to each other via order B or customer B, and at this time, the second radial graph 620 and the third radial graph 630 The graph 630 may also be connected to each other via order C or customer C. In this way, when three or more radial graphs 620 are connected, it is difficult to visualize and express the correlation between each of the radial graphs in two dimensions.

따라서, 본 발명의 일 실시예에 있어서, 장치는 3차원으로 방사형 그래프들을 표시할 수 있다. 즉, xy 평면에서 제 1 및 제 2 방사형 그래프(610, 620)가 표시된다면, z 축 방향으로 제 1 각도를 가지고 제 1 및 제 3 방사형 그래프(610, 630)가 표시될 수 있고, 제 2 각도를 가지고 제 2 및 제 4 방사형 그래프(620, 640)가 표시될 수 있도록 할 수 있다. 이에 따라, 사용자 인터페이스의 줌-인/줌-아웃 기능을 통해 그래프들을 당겨볼 수 있도록 하고, 패닝(panning) 기능을 이용하여 3차원적인 각도를 조정하여 복수 개의 방사형 그래프 간의 연결관계를 볼 수 있도록 시각화할 수 있다. 그리고, 특정 노드를 선택할 시, 선택된 노드가 화면의 중심으로 오도록 하여, 중심노드와 연결된 복수 개의 방사형 그래프들을 전방향으로 표시하도록 할 수 있다. Thus, in an embodiment of the present invention, the device may display radial graphs in three dimensions. That is, if the first and second radial graphs 610 and 620 are displayed in the xy plane, the first and third radial graphs 610 and 630 may be displayed with a first angle in the z-axis direction, and the second The second and fourth radial graphs 620 and 640 may be displayed with an angle. Accordingly, it is possible to pull the graphs through the zoom-in/zoom-out function of the user interface, and to see the connection relationship between a plurality of radial graphs by adjusting the three-dimensional angle using the panning function. Can be visualized. In addition, when a specific node is selected, the selected node is brought to the center of the screen, so that a plurality of radial graphs connected to the center node can be displayed in all directions.

본 발명의 다른 실시예에 따르면, 반드시 관계의 유형을 "고객-주문-상품-주문-고객"으로 가져가야만 하는 것은 아니고, 고객을 중심으로 "상품-주문-고객-주문-상품"의 관계를 지정할 수 있다. 즉, 관계의 기준은 다양하게 가져가도 무방하다. According to another embodiment of the present invention, it is not necessary to take the type of the relationship as "customer-order-product-order-customer", but the relationship of "product-order-customer-order-product" centering on the customer. Can be specified. In other words, it is okay to take various standards of relationship.

도 7은 본 발명의 일 실시예에 따른 그래프 데이터베이스를 이용한 상품 추천 방법에서 동일/유사 카테고리와 결합 카테고리의 적절한 사용을 설명하기 위한 도면이다. 7 is a diagram for explaining appropriate use of the same/similar category and a combined category in a product recommendation method using a graph database according to an embodiment of the present invention.

도 7을 참조하면, 장치는 유사도 판단시 그리고, 유사한 상품/고객을 추출한 뒤, 추천 상품을 도출할 때, 상품 카테고리 정보를 활용할 수 있다. 예컨대, 유사상품을 찾음에 있어서, 같은 카테고리(예컨대, 상의) 내에서만 유사상품을 찾을 수 있고, 또는 다른 카테고리(앞서 설명한, 경합 또는 결합에 의한 카테고리)(예컨대, 상의와 하의, 하의와 구두 등)에 해당하는 상품을 찾도록 할 수 있다.Referring to FIG. 7, the device may utilize product category information when determining the degree of similarity and when extracting similar products/customers and then derives recommended products. For example, in searching for similar products, similar products can only be found within the same category (e.g., tops), or in different categories (category by competition or combination) (e.g., tops and bottoms, bottoms and shoes, etc.) You can try to find a product that corresponds to ).

특히, 상품 카테고리의 클래스를 구분하여 제 1 클래스는 상의, 하의, 신발, 액세서리 등의 가장 큰 범주의 카테고리로 구분하여, 동일/유사 카테고리와 결합 카테고리를 구분하고, 제 2 클래스는 제 1 클래스 내에서 세분화하여 정의할 수 있다. 각 상품카테고리는 식별자를 통해 정의되고, 식별자들 간의 유사/결합 관계를 코딩(coding)하여 각 상품카테고리가 어떤 관계인지 식별할 수 있게 한다. 제 2 클래스의 경우, 예컨대, 상의 내에서, 셔츠, 남방, 티셔츠, 후드, 조끼 등으로 구분될 수 있다. 제 3 클래스는 제 2 클래스를 세분화한 카테고리로 정의된다. In particular, by classifying the class of the product category, the first class is divided into the largest category such as tops, bottoms, shoes, accessories, etc., and the same/similar category and the combined category are classified, and the second class is within the first class. It can be defined by subdividing it in. Each product category is defined through an identifier, and a similarity/combination relationship between the identifiers is coded so that it is possible to identify what kind of relationship each product category is. In the case of the second class, for example, it can be divided into a shirt, a southern shirt, a T-shirt, a hood, and a vest, within a top. The third class is defined as a category obtained by subdividing the second class.

본 발명의 실시예에 따르면, 클래스 구분이 제 3 클래스까지 있다고 가정할 때, 제 1 클래스 내지 제 3 클래스까지 전 클래스에서 동일/유사 상품 카테고리를 사용하여 유사상품을 도출하도록 할 수 있다. 이 경우, "티셔츠"에 대하여, "남방" 상품 카테고리가 "상의"이면서 "티셔츠"와 유사한 상품 카테고리로 선택될 수 있고, 특정 주문 내에서 "남방"의 상품 카테고리에 속하는 상품이 유사상품으로 도출될 수 있다. According to an embodiment of the present invention, assuming that class classification is up to the third class, it is possible to derive similar products by using the same/similar product category in all classes from the first to the third class. In this case, for the "T-shirt", the "Southern" product category may be selected as a "top" and similar product category as the "T-shirt", and products belonging to the "Southern" product category within a specific order are derived as similar products. Can be.

또는, 제 1 클래스에서 결합 카테고리를 사용하여 유사상품을 도출할 수도 있다. 이 경우, "티셔츠"에 대해 "하의" 카테고리가 선택되어, 하의 상품 카테고리에 속하는 상품이 티셔츠의 유사상품으로 도출될 수 있다. 티셔츠의 경우, 하의와 함께 결합되어 구매되는 상황이 많기 때문에, 이러한 설정이 적절할 수 있다. Alternatively, similar products may be derived using the combined category in the first class. In this case, a "bottom" category is selected for the "T-shirt", so that a product belonging to the bottom product category may be derived as a similar product of the T-shirt. In the case of T-shirts, since there are many situations where they are purchased in combination with bottoms, this setting may be appropriate.

다른 실시예에 있어서, 제 1 클래스에서는 동일/유사 카테고리를 사용하되, 제 2 클래스에서는, 결합 카테고리를 사용하도록 설정할 수도 있다. 이 경우, "티셔츠"에 대해서, 제 1 클래스에서 동일/유사 카테고리로써, "상의"의 카테고리가 선택되고, 제 2 클래스에서, "티셔츠"와 결합되는 "점퍼" 카테고리가 선택될 수 있다. 즉, 특정 주문 내에서 "점퍼"의 상품 카테고리에 속하는 상품이 유사상품으로 도출될 수 있다.In another embodiment, the first class may use the same/similar category, but the second class may use a combined category. In this case, for the "T-shirt", as the same/similar category in the first class, a category of "top" may be selected, and in the second class, a "jumper" category combined with the "T-shirt" may be selected. That is, within a specific order, products belonging to the product category of "jumper" may be derived as similar products.

이와 같이, 그래프를 사용하여 유사상품을 도출함에 있어서, 동일/유사 상품 카테고리를 사용할지, 결합 상품 카테고리를 사용할지 결정하는 것은 그 결과 값이 달라지기 때문에, 중요하게 고려되는 팩터이다. 또한, 어느 클래스에서 유사 카테고리를 사용하고 결합 카테고리를 사용하는지에 따라서도 그 결과 값이 달라진다. 장치는 이러한 설정을 사용자 설정을 통해 정의하고, 임의로 사용자가 변경할 수 있도록 할 수 있다. 아니면, 빅데이터 기반의 인공지능을 사용하여 이와 같은 부분을 최적으로 조정할 수 있다. 인공지능 모델을 활용하는 방법은 도 8을 통해 보다 상세히 설명한다.In this way, in deriving a similar product using a graph, determining whether to use the same/similar product category or a combined product category is an important factor to be considered because the resulting value is different. In addition, the resulting value varies depending on which class uses the similar category and the combined category. The device can define these settings through user settings and allow the user to arbitrarily change these settings. Or, big data-based artificial intelligence can be used to optimally adjust these areas. A method of using the artificial intelligence model will be described in more detail with reference to FIG. 8.

도 8은 본 발명의 일 실시예에 따른 그래프 데이터베이스를 이용한 상품 추천 방법에서 사용되는 추천 알고리즘 관련 인공지능 학습 방법을 설명하기 위한 개념도이다. 8 is a conceptual diagram illustrating an artificial intelligence learning method related to a recommendation algorithm used in a product recommendation method using a graph database according to an embodiment of the present invention.

도 8을 참조하면, 분할된 특정 클래스에서 "동일/유사 카테고리"를 사용할지 "결합 카테고리"를 사용할지 결정하는 것은 그 결과값이 전혀 달라지기 때문에, 매우 중요하다고 할 수 있다. 따라서, 장치는 인공지능 학습 모듈(미도시)을 이용하여 인공지능 모델을 학습시킨 후, 학습완료된 인공지능 모델을 기반으로 특정 클래스에서의 유사 또는 결합 카테고리의 사용 여부를 설정할 수 있다. Referring to FIG. 8, it can be said that it is very important to determine whether to use "same/similar category" or "combined category" in a divided specific class because the result value is completely different. Accordingly, the device may train an artificial intelligence model using an artificial intelligence learning module (not shown), and then set whether to use a similar or combined category in a specific class based on the learned artificial intelligence model.

본 발명의 일 실시예에 따르면, 장치에서 사용되는 인공지능 모델은 딥 러닝 콘볼루션 신경망 모델(CNN: Convolution Neural Network)을 포함한다. 다만, 이에 국한되는 것은 아니고, DNN(Deep Neural Network), RNN(Recurrent Neural Network) 및 LSTM(Long Short Term Memory Network) 중 어느 하나를 포함할 수도 있다.According to an embodiment of the present invention, the artificial intelligence model used in the device includes a deep learning convolutional neural network model (CNN). However, the present invention is not limited thereto, and may include any one of a deep neural network (DNN), a recurrent neural network (RNN), and a long short term memory network (LSTM).

장치는 주문 데이터 1과 주문 데이터 2를 학습 데이터 세트로 생성한다. 이때, 두 개의 주문 데이터는 본 발명의 일 실시예에 따른 그래프 기반의 유사상품 도출에 따라 선택과정의 이전 주문데이터(유사성 검색 요청의 대상이 되는 주문데이터)와 상품 추천 이후 실제 주문에 의해 생성된 주문데이터의 관계를 갖는다. 즉, 주문 데이터 1을 주문한 고객이 본 발명의 일 실시예에 따른 그래프 기반의 유사상품 도출방법을 이용하여 복수 개의 상품들을 추천받고, 추천받은 데이터들 중 하나를 선택하여 이루어진 주문 데이터 2를 조합하여 학습데이터 셋(set)을 생성한다. 이때, 상품추천을 위해 그래프 기반의 유사상품 도출을 함에 있어서, 제 1 클래스에서 유사 또는 결합 카테고리를 사용할지 여부, 제 2 클래스에서 유사 또는 결합 카테고리를 사용할지 여부를 변경하면서 유사상품을 도출하고, 도출 이후의 주문데이터를 기반으로 상기 그래프 기반의 유사상품 도출과정을 통해 최상위로 도출된 상품 내에서 주문이 이루어지도록 하는 방향으로 인공지능을 학습시킨다. The device generates order data 1 and order data 2 as a training data set. At this time, the two order data are generated by the order data prior to the selection process (order data subject to the similarity search request) and the actual order after product recommendation according to graph-based similar product derivation according to an embodiment of the present invention. It has a relationship of order data. That is, a customer who ordered order data 1 receives a recommendation of a plurality of products using a graph-based similar product derivation method according to an embodiment of the present invention, and combines order data 2 formed by selecting one of the recommended data. Create a learning data set. At this time, in deriving graph-based similar products for product recommendation, similar products are derived while changing whether to use a similar or combined category in the first class and whether to use a similar or combined category in the second class, Based on the order data after derivation, artificial intelligence is learned in the direction of placing an order within the product derived to the highest level through the process of deriving similar products based on the graph.

또한, 최적거리 범위를 위한 임계값(앞선 도 5에서의 a 및 b 값)도 변경시키면서 주문데이터 1 및 주문데이터 2의 학습 데이터 세트를 기반으로 그 결과값을 축적시켜 가면서 최적의 임계값을 찾도록 한다. In addition, while changing the threshold for the optimal distance range (values a and b in Fig. 5), the optimal threshold value is found by accumulating the result value based on the training data set of order data 1 and order data 2. Let's do it.

이때, 학습데이터를 형성하는 주문 데이터 1과 주문 데이터 2의 매개가 되는 노드계층은 반드시 제 1 노드 계층인 "상품"이어야만 하는 것은 아니고, 제 3 노드 계층인 "고객"이어도 무방하다. 또한, 제 2 노드 계층이 기준이 될 수도 있다. At this time, the node layer used as an intermediary between the order data 1 and the order data 2 forming the learning data does not necessarily have to be the first node layer “product”, but may be the third node layer “customer”. Also, the second node layer may be the reference.

도 9는 본 발명의 일 실시예에 따른 그래프 데이터베이스를 이용한 상품 추천 방법의 연결경로 인덱싱 방법을 설명하기 위한 개념도이다. 9 is a conceptual diagram illustrating a connection path indexing method of a product recommendation method using a graph database according to an embodiment of the present invention.

도 9를 참조하면, 장치는 상품과 상품, 고객과 고객, 또는 상품과 고객 간의 연결경로를 데이터함에 있어서, 인덱싱을 하여 식별한다. 이때, 연결경로는 노드계층 식별자와 인덱스 넘버로 구성될 수 있다. 노드계층 식별자는 검색 중심이 되는 대상 노드의 식별자와 최종 도착 노드의 식별자의 조합으로 구성된다. 이때, 제 1 노드 계층(상품 노드)은 p로, 제 3 대상 노드 계층(고객 노드)은 m으로 식별될 수 있다. 이와 같은 방법으로 출발노드와 도착노드의 노드계층을 식별하고 나면, 이후, 인덱싱 번호가 붙는다. 인덱싱 번호는 질의와 관련된 것으로, 특별한 의미를 갖을 수 있다. 예컨대, pp 노드계층 식별자에 "0100" 인덱스가 붙으면, 이는 해당 상품을 구매한 고객들이 구매한 다른 상품을 찾아달라는 질의를 의미하고, 이와 연관된 경로는 제 1 상품(출발노드)을 주문한 고객이 묶음주문한 다른 상품을 의미한다. 노드계층 식별자에 직접 후속하여 붙는 인덱스의 의미에 따른 질의에 대한 설명은 도 10을 통해 보다 상세히 설명한다. Referring to FIG. 9, the device identifies products and products, customers and customers, or a connection path between products and customers by indexing data. In this case, the connection path may be composed of a node layer identifier and an index number. The node layer identifier is composed of a combination of the identifier of the target node that is the center of the search and the identifier of the final destination node. In this case, the first node layer (product node) may be identified as p, and the third target node layer (customer node) may be identified as m. After identifying the node hierarchy of the starting node and the destination node in this way, the indexing number is attached afterwards. The indexing number is related to a query and may have a special meaning. For example, if an index of "0100" is attached to the pp node hierarchy, it means a query for customers who purchased the product to find another product purchased, and the path associated with this is a group of customers who ordered the first product (departure node). It means another product ordered. A description of the query according to the meaning of the index directly followed by the node layer identifier will be described in more detail with reference to FIG. 10.

이와 같이, 인덱스까지 붙은 상태에서 각 연결경로는 "-1"의 형태로 식별된다. 즉, pp0100 질의와 연관된 첫 번째 경로는 "pp0100-1"로 데이터화될 수 있다. 이후, "-" 뒷단의 숫자를 1씩 증가하며 경로를 식별할 수 있다. 예컨대, 제 1 상품을 주문한 고객이 묶음 주문한 다른 상품이 다수 개 있으면, pp0100-1, pp0100-2, pp0100-3 등으로 정의될 수 있다. In this way, each connection path is identified in the form of "-1" while the index is attached. That is, the first path associated with the pp0100 query may be dataized as "pp0100-1". After that, the number at the end of the "-" is increased by 1 to identify the route. For example, if there are a plurality of other products ordered in a bundle by a customer who ordered the first product, it may be defined as pp0100-1, pp0100-2, pp0100-3, and the like.

같은 방법으로, 제 1 고객으로부터 제 2 고객까지의 연결경로는 mm0100-1, mm0100-2, 또는 mm0101-1, mm0101-2 등으로 표현된다. 제 1 상품으로부터 제 1 고객까지의 연결경로는 pm0100-1, pm0100-2 등으로 표현된다. 제 1 고객으로부터 제 1 상품까지의 연결경로는 mp0100-1, mp0100-2 등으로 표현된다. In the same way, the connection path from the first customer to the second customer is expressed as mm0100-1, mm0100-2, or mm0101-1, mm0101-2, and the like. The connection path from the first product to the first customer is expressed as pm0100-1, pm0100-2, and the like. The connection path from the first customer to the first product is expressed as mp0100-1, mp0100-2, and the like.

이와 같이 연결경로는 데이터화하여 장치는 보유할 수 있고, 이를 이용하여 특정 거리 범위 내의 연결경로의 수를 산출한다. In this way, the connection path is converted into data and the device can hold it, and the number of connection paths within a specific distance range is calculated using this.

추가적으로, 장치는 도 6의 그래프 형태의 구현에서 연결경로 리스트 형태로 변환이 가능하도록 제어할 수 있다. 즉, 복수 개의 방사형 그래프를 시각화하는 중에, 특정 출발 노드와 특정 도착 노드 간의 연결경로와 관련된 정보를 리스트 형태로의 변환에 대한 요청이 있으면, 상기 출발 노드와 상기 도착 노드 간의 연결경로 인덱스를 리스트로 표시할 수 있다. 또한, 해당 리스트에는 제 1 인데스의 연결경로(예컨대, pp0100-1)의 거리도 함께 표시할 수 있다. 이에 따라, 특정 인덱스를 갖는 연결경로를 클릭할 시, 해당 경로가 그래프 상에 하이라이트된 상태로 표시되고, 어느 경로를 거쳐 출발노드로부터 도착노드로 연결되는지를 직관적으로 볼 수 있도록 시각화한다. Additionally, the device may be controlled to enable conversion in the form of a list of connection paths in the implementation of the graph of FIG. 6. That is, while visualizing a plurality of radial graphs, if there is a request to convert information related to a connection path between a specific departure node and a specific arrival node into a list form, the connection path index between the departure node and the destination node is converted into a list. Can be displayed. In addition, the distance of the connection path of the first index (eg, pp0100-1) may also be displayed in the list. Accordingly, when a connection route having a specific index is clicked, the corresponding route is displayed in a highlighted state on the graph, and through which route is connected from the departure node to the destination node, it is visualized so that it can be seen intuitively.

또한, pp0100-1과 pp0101과 같은 경우, 중복되어 인덱싱될 수 있는데, 이를 방지하기 위해, pp0100에 대한 연결경로를 모두 추출할 경우에는 pp0100-1로 추출되고, pp0101에 대한 연결경로를 모두 추출할 경우에는 pp0101-1로 추출되어 중복되지 않도록 하고, 모든 경로를 추출할 경우, 중복되는 pp0100-1을 제외하고, 그보다 좀 더 구체화된 연결경로를 표현하는 pp0101-1로 식별되도록 할 수 있다. In addition, in the case of pp0100-1 and pp0101, it may be duplicated and indexed.To prevent this, when extracting all connection paths for pp0100, it is extracted as pp0100-1, and all connection paths for pp0101 are extracted. In this case, it is extracted as pp0101-1 so that it is not duplicated, and when all routes are extracted, the duplicated pp0100-1 can be excluded and identified as pp0101-1 representing a more specific connection route.

도 10a 내지 도 10d는 상품과 고객 노드를 입력으로 지정하여 유사 상품 및 유사 성향의 고객을 출력으로 찾는 다양한 실시예를 나타낸 도면이다. 10A to 10D are diagrams illustrating various embodiments of searching for similar products and customers with similar tendencies as outputs by designating products and customer nodes as inputs.

장치는 상품 또는 고객 노드를 입력으로 지정하여 유사 상품 및 고객을 찾는 질의를 생성한다. The device generates a query to find similar products and customers by designating a product or customer node as an input.

도 10a를 참조하면, 특정상품과 유사성이 있는 상품을 찾는 질의를 생성한다. 상품을 주문한 고객이 묶음 주문한 다른 상품을 나타내는 pp0100 질의를 생성할 수 있다. 또한, 상품을 주문한 고객이 묶음 주문한 다른 상품 중 같은 카테고리 내 상품을 나타내는 pp0101 질의를 이용하여 연결경로를 도출할 수 있다. Referring to FIG. 10A, a query for finding products having similarity to a specific product is generated. A customer who ordered a product can generate a pp0100 query that shows other products ordered in a bundle. In addition, the connection path can be derived by using the pp0101 query indicating products in the same category among other products ordered in a bundle by a customer who ordered a product.

또한, 상품을 주문한 고객이 다른 주문으로 구매한 상품을 나타내는 pp0200 질의 및 상기 다른 주문에서 같은 카테고리 내 상품을 나타내는 pp0201 질의를 이용할 수 있다. In addition, a pp0200 query indicating a product purchased by a customer who has ordered a product in another order and a pp0201 query indicating a product in the same category in the other order may be used.

도 10b를 참조하면, 특정고객과 유사성이 있는 고객을 찾는 질의는 다음과 같은 것이 있다. 제 1 고객과 같은 상품을 주문한 제 2 고객을 나타내는 mm0100 질의를 이용할 수 있다. 나아가, 제 1 고객이 주문한 제 1 상품과 완전 동일한 상품이 아니라 동일한 카테고리의 제 2 상품을 주문한 제 2 고객까지의 경로를 찾기 위한 mm0101 질의를 이용할 수도 있다. Referring to FIG. 10B, there is a query for finding a customer with similarity to a specific customer as follows. An mm0100 query indicating a second customer who has ordered the same product as the first customer can be used. Further, the mm0101 query may be used to find a route to a second customer who has ordered the second product of the same category, not the product that is not exactly the same as the first product ordered by the first customer.

도 10c를 참조하면, 특정상품과 유사성이 있는 고객을 찾는 질의와 관련하여, 해당 상품과 묶음 구매된 상품을 구매한 고객까지의 경로를 나타내는 pm0000 질의와, 상기 묶음 구매된 상품 중에, 상기 해당 상품과 동일 카테고리 내의 상품을 구매한 고객가지의 경로를 나타내는 pm0100 질의를 이용할 수 있다.Referring to FIG. 10C, in relation to a query for finding a customer with similarity to a specific product, a query pm0000 indicating a path to a customer who has purchased a product in a bundle with a corresponding product, and among the products purchased in a bundle, the corresponding product You can use the pm0100 query indicating the path of the customer who purchased the product in the same category as and.

도 10d를 참조하면, 특정 고객과 유사성이 있는 상품을 찾는 질의와 관련하여, 해당 고객이 주문한 상품과 같이 묶음 구매된 상품들까지의 경로를 나타내는 mp0000 질의와, 상기 묶음 구매된 상품 중에, 상기 해당 상품과 동일 카테고리 내의 상품까지의 경로를 나타내는 mp0001 질의를 이용할 수 있다.Referring to FIG. 10D, in relation to a query for finding a product similar to a specific customer, an mp0000 query indicating a path to products purchased in a bundle, such as a product ordered by a corresponding customer, and among the products purchased in the bundle, the corresponding You can use the mp0001 query indicating the path to the product and the product in the same category.

본 발명의 실시예에 따르면, 상품과 상품 간의 유사성 판단에 있어서, 위와 같은 질의가 존재하고, 질의에 대한 연결경로 또한, ppXXXX-X로 표현된다. 특히, 상품과 상품 간의 연결경로 ppXXXX-X를 이용할 수도 있지만, 상품-고객 간의 유사성과 관련된 경로를 나타내는, pmXXXX-X 경로와 고객과 상품 간의 유사성과 관련된 연결경로를 나타내는, mpXXXX-X 경로의 조합을 이용할 수 있다. 즉, pm0000-1 + mp0000-1을 이용하여 상품과 상품 간의 유사성을 판단할 수도 있다. 또한, pm0000-1 + mm0100-1 + mp0000-1을 이용하는 등, 3가지 이상의 유사성 관련 연결경로를 이용하여 상품과 상품 간의 유사성을 판단할 수 있다. According to an embodiment of the present invention, in determining the similarity between a product and a product, the above query exists, and the connection path for the query is also expressed as ppXXXX-X. In particular, although ppXXXX-X may be used as the connection path between products and products, a combination of the pmXXXX-X path, which represents the path related to the similarity between product and customer, and the mpXXXX-X path, represents the connection path related to the similarity between the customer and the product. You can use That is, it is also possible to determine the similarity between the product and the product using pm0000-1 + mp0000-1. In addition, it is possible to determine the similarity between a product and a product by using three or more connection paths related to similarity, such as using pm0000-1 + mm0100-1 + mp0000-1.

본 발명의 실시예에 따르면, (i) ppXXXX-X 경로와 (ii) pmXXXX-X + mmXXXX-X + mpXXXX-X의 경로 중 어느 것을 이용할 때, 최적의 상품추천이 가능한지에 대한 것도 앞서 도 8의 인공지능 학습 모델을 이용하여 경로와 연관된 파라미터(가중치 포함)를 변경시키면서 학습을 시킴으로써 정확도를 제고시킬 수 있다. According to an embodiment of the present invention, when using any of the paths of (i) ppXXXX-X and (ii) pmXXXX-X + mmXXXX-X + mpXXXX-X, also prior to FIG. 8 The accuracy can be improved by learning while changing the parameters (including weights) associated with the path using the artificial intelligence learning model of.

도 11은 본 발명의 일 실시예에 따른 그래프 데이터베이스를 이용한 상품 추천 방법을 웹 페이지에서 구현한 결과를 나타낸 도면이다. 11 is a view showing a result of implementing a product recommendation method using a graph database according to an embodiment of the present invention in a web page.

도 11을 참조하면, 장치는 REST API를 이용하여 접속함에 의해 상기와 같은 알고리즘을 실행할 수 있도록 한다. 장치는, URL(Uniform Resource Locator)을 이용하여 어떤 로직(관계)를 적용할 것인지 지정한다. 도 11의 실시예에서는, pp0100을 지정하여 해당 상품을 구매한 회원들이 구매한 다른 상품을 도출하도록 한다.Referring to FIG. 11, the device enables the above algorithm to be executed by accessing it using a REST API. The device designates which logic (relationship) to apply using a URL (Uniform Resource Locator). In the embodiment of FIG. 11, pp0100 is designated to derive other products purchased by members who have purchased the product.

URL 경로에 있어서, pp0100과 같은 질의에 후속하여 쿼리 파라미터(Query Parameter)가 붙을 수 있는데, 여기에는 중심이 되는 상품번호, 반환할 데이터의 건수 및 회원 ID 등이 포함될 수 있다. 즉, 추천 로직에 따라 고객 또는 상품 정보만 사용할 수 있다. 이와 같은 상품코드, 고객 번호 등의 추가파라미터는 URL 인코딩(encoding) 방식으로 전달된다. In the URL path, a query parameter may be attached following a query such as pp0100, which may include a product number, a number of data to be returned, and a member ID. In other words, only customer or product information can be used according to the recommendation logic. Additional parameters such as product code and customer number are transmitted in a URL encoding method.

이러한 쿼리에 응답하여, 쿼리 출력으로는, 데이터의 개수(n), 상품 또는 회원(node), 중요도(hits: 검색된 경로의 갯수) 및 암호화 쿼리(디버깅 용도의 사이퍼 쿼리(Cypher query)가 제공될 수 있다.In response to these queries, as the query output, the number of data (n), product or member (node), importance (hits: number of paths retrieved), and cryptographic queries (Cypher query for debugging purposes) will be provided. I can.

장치는 유사성이 높은, 즉, 연결경로가 많은 순서로 상위 n개(본 실시예에서는 n=5, 즉, 5개)의 상품 및 해당 상품별 경로의 갯수를 반환할 수 있다.The device may return the number of products of the top n (n=5, ie, 5) and the number of paths for each product in the order of high similarity, that is, the number of connection paths.

상품구매 이력을 이용하는 경우, 고객의 선호도를 파악하는 시점이 늦을 수 있고, 구매 건의 경우 데이터가 충분히 많지 않아 통계적인 연관성을 보기 어렵기 때문에, 사용자가 상품을 조회한 이력을 이용하여 상품을 추천하는 것을 고려할 수 있다. In the case of using the product purchase history, the time to grasp the customer's preference may be delayed, and in the case of purchase, it is difficult to see statistical relevance due to insufficient data, so that the user recommends a product by using the product search history. Can be considered.

도 12는 본 발명의 다른 실시예에 따른 그래프 데이터베이스를 이용한 상품 추천 방법을 나타낸 흐름도이다. 12 is a flowchart illustrating a product recommendation method using a graph database according to another embodiment of the present invention.

도 12를 참조하면, 장치(서버)는 상품 조회와 연관된 조회 이력 데이터를 쇼핑몰들 및/또는 쇼핑몰들을 관리하는 서버로부터 수집한다(S1210). 이는 웹 로그 파일로부터 사용자들의 상품정보 조회 이력을 추출함에 의해 달성될 수 있다. 조회이력은 순차적인 상품코드로 변환하여 데이터화할 수 있다. 예컨대, 상품 1을 보고, 상품 2를 조회하고, 상품 4를 조회한 후, 다시 상품 1을 보고 로그아웃한 이력에서 시계열적인 부분까지 고려하여 상품코드로 변환함에 의해 조회 이력 데이터를 생성한다. Referring to FIG. 12, an apparatus (server) collects inquiry history data related to product inquiry from a server that manages shopping malls and/or shopping malls (S1210). This can be achieved by extracting the user's product information inquiry history from the web log file. The inquiry history can be converted into sequential product codes and converted into data. For example, after viewing product 1, inquiring product 2, and inquiring product 4, the inquiry history data is generated by converting the product code into a product code by considering product 1 and logging out from the logout history.

그리고는, 장치는 조회 이력 데이터를 그래프 형태로 변환한 후(S1212), 데이터베이스에 저장한다(S1214). 이때, 그래프의 구조는 앞선 "상품-주문-고객"에 대응되도록, "세션-페이지-상품"의 구조를 가질 수 있다.Then, the device converts the inquiry history data into a graph form (S1212) and stores the data in the database (S1214). At this time, the structure of the graph may have a structure of “session-page-product” so as to correspond to the preceding “product-order-customer”.

클라이언트(사용자 단말)은 추천 상품 검색 요청을 입력할 수 있다(S1216). 이는 도 11에서 설명한 바와 같이, URL을 이용하여 이루어질 수 있다. The client (user terminal) may input a request to search for a recommended product (S1216). This can be accomplished using a URL, as described in FIG. 11.

장치는 특정한 상품을 검색한 이후 또는 이전의 x개의 웹 페이지 범위 내에서 조회한 상품을 추출한다(S1218). x 값은 사용자 설정에 의해 결정될 수 있고, 임의로 변경가능하다. The device extracts the searched product within the range of x web pages before or after searching for a specific product (S1218). The x value can be determined by user settings and can be arbitrarily changed.

장치는, 조회한 상품 중에서 조회수가 많은 상품 순으로 구매자에게 추천할 수 있다(S1220). 클라이언트는 추천된 상품 정보를 수신하여 출력할 수 있다(S1222). The device may recommend to the buyer in the order of the products with the highest number of views among the searched products (S1220). The client may receive and output the recommended product information (S1222).

도 13a 및 도 13b는 본 발명의 다른 실시예에 따른 그래프 데이터베이스를 이용한 상품 추천 방법의 상품 경로예측의 예시적인 모습을 나타낸 도면이다. 13A and 13B are diagrams illustrating exemplary product path prediction in a product recommendation method using a graph database according to another embodiment of the present invention.

도 13a 및 도13b를 참조하면, 추천 상품 수(n)를 10개로 하여, 추천 상품 요청에 있을 경우, 장치는 적어도 3개의 노드 계층으로 형성된 그래프를 생성한다. 이는, 제 1 노드 계층인 세션(1330)을 중심으로 사용자가 조회했던 웹 페이지(1320: 제 2 노드 계층)과 해당 웹 페이지에서 검색한 상품(1310: 제 3 노드 계층)을 포함할 수 있다. 노드 계층은 상품이 제 1 노드 계층, 페이지가 제 2 노드 계층, 그리고, 세션이 제 3 노드 계층이 되도록 변경되어도 무방하다. Referring to FIGS. 13A and 13B, when the number of recommended products n is 10 and there is a request for recommended products, the device generates a graph formed by at least three node hierarchies. This may include a web page 1320 (a second node layer) searched by a user centering on the session 1330, which is a first node layer, and a product 1310 (third node layer) searched on the web page. The node layer may be changed so that the product is the first node layer, the page is the second node layer, and the session is the third node layer.

장치는 특정 세션(1330)과 연관된 웹 페이지(1320)를 연결하고, 웹 페이지(1320) 내에서 검색한 상품(1310)이 웹 페이지(1320)와 연결되도록 구성한다. 그리고, 시계열적인 순서를 파악할 수 있도록 직선으로 형성된 연결선(-)이 아닌, 화살표(→)를 사용하여 선행 동작과 후속 동작을 구분하여 그래프를 구성하는 것이 바람직하다. The device connects the web page 1320 associated with the specific session 1330 and configures the product 1310 searched in the web page 1320 to be connected to the web page 1320. In addition, it is preferable to construct a graph by using an arrow (→) instead of a connecting line (-) formed in a straight line to identify the time-series order by separating the preceding operation and the subsequent operation.

그래프를 구성하고 나서, 장치는 상품 24522(1310) 조회 이후, 3 페이지 범위 내에서 조회한 상품을 조회수가 많은 순서로 10개 검색하여 추천한다. 이후의 3개 웹 페이지와 관련된 내용은 도 14a 및 도 14b를 통해 설명한다. After constructing the graph, the device searches and recommends 10 products searched within the range of 3 pages in the order of the highest number of views after product 24522 (1310) search. Contents related to the following three web pages will be described with reference to FIGS. 14A and 14B.

도 14a 및 도 14b는 도 13a의 실시예에서의 상품 조회 이후, 다음 상품을 조회한 상황에서의 상품 경로예측의 예시적인 모습을 나타낸 도면이다. 14A and 14B are diagrams illustrating exemplary product path prediction in a situation in which a next product is inquired after product inquiry in the embodiment of FIG. 13A.

도 14a 및 도 14b를 참조하면, 장치는, 고객이 상품 24522(미도시)를 조회하고 다음에 웹 페이지(1420)를 통해 상품 25799(1410)를 조회한 후, 웹 페이지(1422)를 이용하여 상품 25622(1412)를 조회한 사실을 변환된 그래프 데이터를 기반으로 확인할 수 있다. 이러한 방식으로 특정 상품 이후에 특정 횟수의 페이지의 범위(본 실시예에서는 3개 페이지일 수 있음) 내에서 조회한 상품을 조회수가 많은 순서로 10개 검색하여 반환함으로써 앞선 도 13a 내지 도 13b의 클라이언트로부터의 요청을 처리할 수 있다. 다만, 이때, 3개 페이지는 상품 검색이 이루어진 페이지가 되도록 설정할 수 있다. 즉, 상품 검색이 없는 웹 페이지는 페이지 획수 산정에서 제외하고, 상품 검색이 이루어진 페이지를 기준으로 3개 페이지를 산정하여 해당 페이지 범위 내에서 조회가 많이 이루어진 상위 상품을 추천하는 것이 바람직하다. 14A and 14B, the device uses a web page 1422 after a customer inquires a product 24522 (not shown) and then a product 25799 (1410) through a web page 1420. The fact of inquiring the product 25622 (1412) can be confirmed based on the converted graph data. In this way, after a specific product, the clients of FIGS. 13A to 13B are searched for and returned 10 products in the order of the highest number of views within the range of pages (which may be 3 pages in this embodiment). Can process requests from However, in this case, the three pages may be set to be a page on which product search has been performed. That is, it is preferable to exclude a web page without a product search from calculating the number of page strokes, calculate three pages based on the page on which the product search has been performed, and recommend a higher product that has been viewed a lot within the page range.

본 발명의 다른 실시예에 따르면, 페이지에만 제한을 두어 상품을 추천해야만 하는 것은 아니고, 세션에 제한을 두어, 3개 세션 내에서 이루어진 상품의 조회수를 기반으로 상품을 추천할 수 있다. 나아가, 조회수가 높아 추천된 상품의 카테고리 식별자를 이용하여 경합의 카테고리에 있는 상품만 추천하거나, 유사의 카테고리에 있는 상품을 추천할 수 있다. 유사 또는 경합 카테고리의 사용, 클래스의 사용 부분 역시 도 8의 인공지능 모델을 이용하여 그 설정값을 최적화할 수 있다. 이때의 학습데이터 셋은 검색 요청의 대상이 되는 조회 데이터 1과 본 발명의 일 실시예에 따른 그래프 기반의 상품추천 과정을 통해 실제 구매가 이루어진 상품과 연관된 조회 데이터 2의 세트가 될 수 있다. According to another embodiment of the present invention, it is not necessary to recommend a product by limiting only to the page, but by limiting the session, it is possible to recommend a product based on the number of views of products made within three sessions. Furthermore, by using the category identifier of the product recommended due to the high number of views, it is possible to recommend only products in a contending category or a product in a similar category. The use of similar or contention categories and the use of classes can also be optimized using the artificial intelligence model of FIG. 8. The learning data set at this time may be a set of inquiry data 1 that is a target of a search request and inquiry data 2 related to a product that has been actually purchased through a graph-based product recommendation process according to an embodiment of the present invention.

본 발명의 실시예에 있어서, 장치는, 상품 구매 이력 데이터 기반의 제 1 그래프 데이터베이스와 상품 조회 이력 데이터 기반의 제 2 그래프 데이터베이스를 혼합하여 사용할 수 있다. 예컨대, 제 2 그래프 데이터베이스를 이용하여 조회수가 많은 상위 10개 상품을 검색한 후, 추천 후보 10개 상품과 요청대상 상품의 유사성의 정도를 제 1 그래프 데이터베이스를 이용하여 산출할 수 있다. 그래서, 제 1 그래프 데이터베이스를 이용하여 유사도가 높은 상품을 기반으로 추천 10개 후보의 추천 순서를 변경할 수 있다. 그 반대의 경우도 가능하다. In an embodiment of the present invention, the apparatus may mix and use a first graph database based on product purchase history data and a second graph database based on product inquiry history data. For example, after searching for the top 10 products with many views using the second graph database, the degree of similarity between the 10 recommendation candidate products and the requested product may be calculated using the first graph database. Thus, it is possible to change the order of recommendation of 10 recommendation candidates based on products with high similarity using the first graph database. The opposite is also possible.

추가적으로, 제 1 그래프 데이터베이스를 기반으로 산정한 추천 상품 후보에 가중치 1을 부여하고, 제 2 그래프 데이터베이스 기반으로 산정한 추천 상품 후보에 가중치 2를 부여하여 가중치를 기반으로 가장 높은 유사성을 갖는 상품을 최종 후보로 선택하는 방법을 고려할 수 있다. In addition, a weight of 1 is given to the recommended product candidate calculated based on the first graph database, and a weight 2 is assigned to the recommended product candidate calculated based on the second graph database to finalize the product with the highest similarity based on the weight. You can consider how to select a candidate.

상품 바스켓(basket) 추천 방법Product basket recommendation method

도 15는 상품 판매활성도 분석에 따라 판매가 저조해진 상품들에 대한 프로모션이 필요한 상황을 설명하기 위한 개념도이다. 15 is a conceptual diagram illustrating a situation in which a promotion is required for products whose sales are poor according to product sales activity analysis.

도 15를 참조하면, 장치는, 상품의 판매량과 상품의 판매활성도 분석을 수행하여 판매가 저조해진 상품들(활성도가 0.2보다 낮은 상품들)(lagger 단계의 상품들) 10개 중 일부를 대상으로 프로모션이 요구될 수 있다. 즉, 10개의 판매 저조 상품들 중 4개를 뽑아서 프로모션을 진행하고자 하는 경우, 본 발명의 일 실시예에 따른 상품 바스켓 추천 방법이 사용될 수 있다.Referring to FIG. 15, the apparatus performs promotion for some of 10 products (products with an activity lower than 0.2) (products in lagger stage) with low sales by performing an analysis of the sales volume of the product and the sales activity of the product. May be required. That is, when four out of 10 low-selling products are selected to be promoted, the product basket recommendation method according to an embodiment of the present invention may be used.

도 16a 및 도 16b는 5명의 고객과 6개의 상품이 있는 경우, 특정 수의 고객 군과 특정 수의 상품군을 매칭하여 특별 프로모션을 제공하기 위한 매칭방법을 설명하기 위한 개념도이다.16A and 16B are conceptual diagrams illustrating a matching method for providing a special promotion by matching a specific number of customer groups and a specific number of product groups when there are 5 customers and 6 products.

도 16a를 참조하면, 5명의 고객과 6개의 상품이 존재하는데, 고객 3명에서 상품 3개를 프로모션하고자 하는 경우, 판매가능성을 최적화하는 결정이 요구된다. 장치는 이를 위해, 두 가지 방법을 통해 최적화된 프로모션을 수행할 수 있다.Referring to FIG. 16A, there are 5 customers and 6 products. When 3 products are to be promoted by 3 customers, a decision to optimize saleability is required. For this, the device can perform an optimized promotion through two methods.

(1) 첫 번째 방법은, 6개 상품 중 5명에게 최적인 상품군을 먼저 선정하고 선정된 상품에 대해 최적의 고객을 이차적으로 선정하여 복수 상품군과 복수 고객군을 매칭하는 방법이다(도 18 참조). (1) The first method is a method of matching multiple product groups and multiple customer groups by first selecting the best product group for 5 out of 6 products, and secondly selecting the best customer for the selected product (see Fig. 18). .

(2) 두 번째 방법은, 5명의 고객에게 6개 상품에 최적인 고객군을 먼저 선정하고, 선정된 고객들에 대해 최적의 상품을 이차적으로 선택하여 복수 상품군과 복수 고객군을 매칭하는 방법이다(도 20 참조).(2) The second method is a method of matching multiple product groups and multiple customer groups by first selecting the best customer group for 6 products to 5 customers, and secondly selecting the best product for the selected customers (Fig. 20). Reference).

장치는 위와 같은 두 가지 방법 중 적어도 하나의 방법을 사용하여 판매가능성을 최적화하는 결정을 수행하고, 그 결정에 의해, 도 16b와 같은 상태에서 프로모션을 진행할 수 있다.The apparatus performs a determination to optimize the saleability using at least one of the above two methods, and by the determination, the promotion may proceed in a state as shown in FIG. 16B.

도 16b를 참조하면, 장치는 고객 1, 고객 3 및 고객 4에게 상품 2, 상품 3 및 상품 6으로 구성된 패키지를 프로모션한다. 프로모션은 해당 패키지에 포함된 상품을 해당 고객에게만 특별할인 제공하는 형태로 진행될 수 있다. 또는, 쇼핑몰의 첫 페이지에 팝업 방식으로 해당 패키지의 상품이 표시되도록 할 수도 있고, 가장 눈에 띄는 일부 영역에 패키지 상품을 배열하여 판매를 유도할 수 있다. Referring to FIG. 16B, the device promotes a package consisting of product 2, product 3, and product 6 to customer 1, customer 3, and customer 4. Promotion can be conducted in the form of offering a special discount only to the customer of the product included in the package. Alternatively, a product of a corresponding package may be displayed in a pop-up manner on the first page of a shopping mall, or packaged products may be arranged in some of the most conspicuous areas to induce sales.

도 17a 및 도 17b는 본 발명의 또 다른 실시예에 따른 상품 바스켓 추천 방법을 나타낸 흐름도이다. 17A and 17B are flowcharts illustrating a method of recommending a product basket according to another embodiment of the present invention.

도 17a 및 도 17b을 참조하면, 장치는 복수 개의 상품(예컨대, 10개의 상품)에 대해 각각 추천할 고객을 선정하여 프로모션할 때, 다음의 절차를 따른다. Referring to FIGS. 17A and 17B, the apparatus follows the following procedure when selecting and promoting a customer to be recommended for each of a plurality of products (eg, 10 products).

장치는 먼저, 프로모션의 후보가 되는 상품 및 고객 데이터를 획득한다(S1710). 도 17b의 실시예에서는, 10건의 상품후보와 약 100여명의 고객후보가 있으며, 이에 대한 데이터를 획득한 상황을 가정한다. 이때, 고객후보에서는 특정 상품에 대해 미리 구매한 구매자는 제외하거나 데이터를 0으로 하여 취합한다. 취합된 데이터는 행렬 형태를 취하는 것이 바람직하다. 이때, 상품을 행으로, 고객을 열로 형성한다. 물론 반대여도 무방하다. 그리고, 행렬의 빈 칸에는 개별 상품과 개별 고객의 구매가능성과 관련된 지표를 입력한다. 상기 구매가능성과 관련된 지표는 상품 이미지 분석, 상품 속성 분석, 고객 구매 이력에 따른 성향을 기반으로 산출되는 지표를 사용할 수 있다. 또는, 본 발명의 일 실시예에 따른 그래프 데이터베이스에 기반한 유사도를 상기 지표로 사용할 수 있다. 도 17b의 실시예에서는, 그래프 데이터베이스를 이용하여 연결경로를 갯수로 산출되는 유사도를 상기 구매가능성 지표로 사용한다. First, the device acquires product and customer data that are candidates for promotion (S1710). In the embodiment of FIG. 17B, it is assumed that there are 10 product candidates and about 100 customer candidates, and data for this is obtained. At this time, in the customer candidate, the purchaser who has previously purchased a specific product is excluded or data is set to 0 and collected. It is preferable that the collected data take the form of a matrix. At this time, products are formed in rows and customers are formed in columns. Of course, the opposite is okay. In addition, in the blank column of the matrix, an index related to the individual product and the purchaseability of each customer is input. As an index related to the purchaseability, an index calculated based on a product image analysis, a product attribute analysis, and a tendency according to a customer purchase history may be used. Alternatively, a similarity degree based on a graph database according to an embodiment of the present invention may be used as the index. In the embodiment of FIG. 17B, the degree of similarity calculated as the number of connection routes using a graph database is used as the purchaseability index.

데이터를 획득하여 행렬을 생성한 후, 장치는 상품별 총 연결경로의 수를 산출하여(S1720), 연결경로의 수가 큰 상위 순위의 상품들을 선택한다(S1730). 선택되는 상품의 수는 프로모션 대상 상품의 수를 따른다. 이는 사용자(예컨대, 쇼핑몰 운영자)가 사용자 인터페이스를 통해 선택할 수 있는 상황이다. 또는, 특정 갯수의 상품을 기준값으로 설정하지 않고, 임계값 이상의 연결경로의 수를 갖는 상품을 모두 선택할 수 있다. 예컨대, 700 개의 연결경로의 수보다 큰 연결경로를 갖는 상품들이 그 갯수를 제한하지 않고 선택될 수 있다. 연결경로의 수가 적은 것은 관련성이 적다고 판단될 수 있다. 이 경우, 연결경로의 수가 적은 것을 선택하여 할인을 더 많이 하는 방향으로 처리할 수 있다. 도 17b의 실시예에서, 장치는 연결경로의 수가 높은 상위 4개의 상품을 선택한다.After acquiring data and generating a matrix, the device calculates the total number of connection paths for each product (S1720), and selects products with a higher ranking in the number of connection paths (S1730). The number of products to be selected depends on the number of products to be promoted. This is a situation in which a user (eg, a shopping mall operator) can select through a user interface. Alternatively, all products having a number of connection paths greater than or equal to the threshold value may be selected without setting a specific number of products as a reference value. For example, products having a connection path greater than the number of 700 connection paths may be selected without limiting the number. A small number of connection paths may be judged to be less relevant. In this case, it is possible to select one with a smaller number of connection paths and process it in the direction of offering more discounts. In the embodiment of Fig. 17B, the device selects the top four products with a high number of connection paths.

장치는 선택된 상위 4개(이는 사용자 설정을 통해 변경가능함)의 상품만 남기고, 나머지 상품은 삭제하여 새로운 행렬로 행렬을 재구성한다(S1740). 그리고는, 남아있는 4개의 상품에 대해 연결경로의 총합이 높은 6명의 고객을 프로모션 대상 고객으로 채택한다. 장치는 선택된 4개 상품 패키지를 프로모션 대상 고객 군인 6명의 고객에게 프로모션을 진행한다(S1750). The device reorganizes the matrix into a new matrix by leaving only the top four selected products (which can be changed through user settings), deleting the remaining products (S1740). Then, for the remaining 4 products, 6 customers with a high total of connection paths are selected as target customers for the promotion. The device promotes the selected four product packages to six customers of the promotion target customer soldiers (S1750).

도 18은 본 발명의 또 다른 실시예에 따른 상품기반 바스켓 추천 방법을 나타낸 흐름도이다. 이는 도 16a의 (1) 방법에 관한 것이다.18 is a flowchart illustrating a product-based basket recommendation method according to another embodiment of the present invention. This relates to method (1) of FIG. 16A.

도 18을 참조하면, 장치는 프로모션의 후보가 될 상품 및 고객과 연관된 구매가능성 지표에 대한 데이터를 획득하고 나면, 상품을 열로, 고객을 행으로 하는 행렬을 생성한다(S1810). 행렬의 빈칸에는 상품-고객 간의 구매가능성 지표가 입력되도록 한다. Referring to FIG. 18, after acquiring data on a product to be a promotion candidate and a purchaseability index associated with a customer, the device generates a matrix in which the product is a column and the customer is a row (S1810). In the blanks of the matrix, the index of purchaseability between product and customer is entered.

그리고는, 장치는 각 행에 대한 구매가능성 합계를 산출한다(S1820). 그리고는, 구매가능성 합계가 큰 순으로 상품을 순위화하여 프로모션에 의해 추천하고자 하는 상품의 갯수만큼, 구매가능성 합계 순위가 높은 상품을 선택하고, 나머지 상품은 삭제하여 행렬을 재구성한다(S1830). Then, the device calculates the sum of purchase possibilities for each row (S1820). Then, the products are ranked in the order of the highest total purchase possibilities, and the products with the highest total purchase possibilities are selected as many as the number of products to be recommended by promotion, and the remaining products are deleted to reconstruct the matrix (S1830).

상품이 선택되고 나면, 장치는 각 열에 대한 고개별 부분합을 산출한다(S1840). 그리고는, 고객별 부분합이 큰 순서로 순위화한 후, 프로모션 대상으로 하고자 하는 고객의 수만큼 구매가능성 부분합 순위가 높은 고객을 선택하고 나머지 고객들을 제외시킨다(S1850).After the product is selected, the device calculates the individual subtotal for each row (S1840). Then, after ranking the subtotals for each customer in a large order, a customer with a higher purchaseability subtotal ranking as many as the number of customers to be promoted is selected and the remaining customers are excluded (S1850).

고객 그룹과 상품 그룹에 대한 선택이 완료되면, 장치는 해당 고객 그룹을 대상으로 해당 상품 그룹을 패키지로 형성하여 프로모션을 실시한다(S1860).When the selection of the customer group and the product group is completed, the device forms the product group as a package targeting the customer group and performs promotion (S1860).

도 19a 내지 도 19c는 도 18의 바스켓 추천 방법의 각 단계별 행렬 생성 방법을 구체적으로 설명하기 위한 테이블이다. 19A to 19C are tables for explaining in detail a method of generating a matrix for each step of the basket recommendation method of FIG. 18.

도 19a를 참조하면, 장치는 고객 1 내지 고객 5와 상품 1 내지 상품 6에 대한 구매가능성 지표를 기반으로 고객을 행으로, 상품을 열로 구성하여 행렬을 생성한다.Referring to FIG. 19A, the apparatus generates a matrix by configuring customers as rows and products as columns based on purchaseability indicators for customers 1 to 5 and products 1 to 6.

도 19b를 참조하면, 장치는 행에 대한 합산을 통해, 상품별 부분합을 계산하여 순위를 매긴다. 도 19b의 실시예에 따르면, 상품 2가 69의 값으로 1위, 상품 3이 55의 값으로 2위, 상품 6이 53의 값으로 3위가 된다.Referring to FIG. 19B, the device ranks a subtotal for each product through the summation of rows. According to the embodiment of FIG. 19B, product 2 is ranked first with a value of 69, product 3 is ranked second with a value of 55, and product 6 is ranked third with a value of 53.

도 19c를 참조하면, 상위 3개 상품(상품2, 상품 3 및 상품 6)을 선정하고, 열에 대한 합산을 수행하여 고객별 부분합을 산출한다. 그리고는, 그에 대한 순위를 매긴다. 도 19c의 실시예 따르면, 고객 1이 48의 값으로 1위, 고객 3이 43의 값으로 2위, 고객 4가 33의 값으로 3위가 된다. Referring to FIG. 19C, the top three products (product 2, product 3, and product 6) are selected, and a subtotal for each customer is calculated by performing a summation of columns. Then, rank them. According to the embodiment of FIG. 19C, customer 1 is ranked first with a value of 48, customer 3 is ranked second with a value of 43, and customer 4 is ranked third with a value of 33.

이에, 장치는, 고객 1, 고개 3 및 고객 4를 프로모션 대상 고객으로 선정하고, 상품 2, 상품 3 및 상품 6을 프로모션 대상 상품으로 선정하여 프로모션을 진행한다. Accordingly, the device selects customer 1, customer 3, and customer 4 as target customers for promotion, and selects product 2, product 3, and product 6 as promotion target products to perform the promotion.

도 20은 본 발명의 또 다른 실시예에 따른 고객기반 바스켓 추천 방법을 나타낸 흐름도이다. 이는 도 16a의 (2) 방법에 관한 것이다.20 is a flowchart illustrating a method for recommending a customer-based basket according to another embodiment of the present invention. This relates to method (2) of FIG. 16A.

도 20을 참조하면, 장치는 프로모션의 후보가 될 상품 및 고객과 연관된 구매가능성 지표에 대한 데이터를 획득하고 나면, 상품을 열로, 고객을 행으로 하는 행렬을 생성한다(S2010). 행렬의 빈칸에는 상품-고객 간의 구매가능성 지표가 입력되도록 한다. Referring to FIG. 20, after acquiring data on a product to be a promotion candidate and a purchaseability index associated with a customer, the device generates a matrix in which the product is a column and the customer is a row (S2010). In the blanks of the matrix, the index of purchaseability between product and customer is entered.

그리고는, 장치는 각 열에 대한 구매가능성 합계를 산출한다(S2020). 그리고는, 구매가능성 합계가 큰 순으로 고객을 순위화하여 추천하고자 하는 고객의 수만큼, 구매가능성 합계 순위가 높은 고객을 선택하고, 나머지 고객은 삭제하여 행렬을 재구성한다(S2030). Then, the device calculates the sum of purchase possibilities for each column (S2020). Then, the customers are ranked in the order of the highest total purchase probability, and as many as the number of customers to be recommended, the customers with the highest total purchase probability are selected, and the remaining customers are deleted to reconstruct the matrix (S2030).

고객이 선택되고 나면, 장치는 각 행에 대한 상품별 부분합을 산출한다(S2040). 그리고는, 상품별 부분합이 큰 순서로 순위화한 후, 프로모션 대상으로 하고자 하는 상품의 수만큼 구매가능성 부분합 순위가 높은 상품을 선택하고 나머지 상품들을 제외시킨다(S2050).After the customer is selected, the device calculates a subtotal for each product for each row (S2040). Then, after ranking the subtotals for each product in a large order, a product having a higher purchaseability subtotal ranking as many as the number of products to be promoted is selected and the remaining products are excluded (S2050).

고객 그룹과 상품 그룹에 대한 선택이 완료되면, 장치는 해당 고객 그룹을 대상으로 해당 상품 그룹을 패키지로 형성하여 프로모션을 실시한다(S2060).When the selection of the customer group and the product group is completed, the device forms the product group as a package targeting the customer group and performs promotion (S2060).

도 21a 내지 도 21c는 도 20의 바스켓 추천 방법의 각 단계별 행렬 생성 방법을 구체적으로 설명하기 위한 테이블이다. 21A to 21C are tables for explaining in detail a method of generating a matrix for each step of the basket recommendation method of FIG. 20.

도 21a를 참조하면, 장치는 고객 1 내지 고객 5와 상품 1 내지 상품 6에 대한 구매가능성 지표를 기반으로 고객을 행으로, 상품을 열로 구성하여 행렬을 생성한다.Referring to FIG. 21A, the apparatus generates a matrix by configuring customers as rows and products as columns based on purchaseability indicators for customers 1 to 5 and products 1 to 6.

도 21b를 참조하면, 장치는 열에 대한 합산을 통해, 고객별 부분합을 계산하여 순위를 매긴다. 도 21b의 실시예에 따르면, 고객 1이 77의 값으로 1위, 고객 3이 73의 값으로 2위, 고객 4가 72의 값으로 3위가 된다.Referring to FIG. 21B, the device ranks by calculating a subtotal for each customer through the summation of columns. According to the embodiment of FIG. 21B, customer 1 is ranked first with a value of 77, customer 3 is ranked second with a value of 73, and customer 4 is ranked third with a value of 72.

도 21c를 참조하면, 상위 3명의 고객(고객 1, 고객 3 및 고객 4)을 선정하고, 행에 대한 합산을 수행하여 상품별 부분합을 산출한다. 그리고는, 그에 대한 순위를 매긴다. 도 21c의 실시예 따르면, 상품 2가 47의 값으로 1위, 상품3이 41의 값으로 2위, 상품 5가 37의 값으로 3위가 된다. Referring to FIG. 21C, the top three customers (customer 1, customer 3, and customer 4) are selected, and a subtotal for each product is calculated by adding up the rows. Then, rank them. According to the embodiment of FIG. 21C, product 2 is ranked first with a value of 47, product 3 is ranked second with a value of 41, and product 5 is ranked third with a value of 37.

이에, 장치는, 고객 1, 고객 3 및 고객 4를 프로모션 대상 고객으로 선정하고, 상품 2, 상품 3 및 상품 5를 프로모션 대상 상품으로 선정하여 프로모션을 진행한다. Accordingly, the device selects customer 1, customer 3, and customer 4 as target customers for promotion, and selects product 2, product 3, and product 5 as promotion target products to perform the promotion.

도 17의 실시예에 따른 상품 기반 추천 방법과 도 19의 실시예에 따른 고객 기반 추천 방법에 따르면, 프로모션 고객은 동일하나 상품이 달라지는 결과가 나온다. 이와 같이, 어느 방법을 사용하는지에 따라 그 결과는 전혀 다르게 나올 수 있다.According to the product-based recommendation method according to the exemplary embodiment of FIG. 17 and the customer-based recommendation method according to the exemplary embodiment of FIG. 19, the promotional customer is the same, but the product is different. As such, depending on which method you use, the results can be completely different.

도 22는 본 발명의 일 실시예에 따른 그래프 데이터베이스 기반의 상품추천 방법 및 상품 바스켓 추천 방법을 사용하는 장치를 개략적으로 나타낸 블록도이다. 도 22에 도시된 바와 같이, 본 발명의 일 실시예에 따른 상품추천 장치는 통신부(2210), 디스플레이부(2220), 프로세서(2230), 메모리(2240) 및 입력부(2250)를 포함할 수 있다.22 is a block diagram schematically illustrating an apparatus using a product recommendation method based on a graph database and a product basket recommendation method according to an embodiment of the present invention. As shown in FIG. 22, the product recommendation device according to an embodiment of the present invention may include a communication unit 2210, a display unit 2220, a processor 2230, a memory 2240, and an input unit 2250. .

도 22를 참조하면, 통신부(2210)는 네트워크와 연결되어 타 장치와 통신을 위한 구성요소이다. 통신부(2210)는 안테나, 통신 관련 칩(chip) 등으로 구현될 수 있다.Referring to FIG. 22, the communication unit 2210 is a component for communication with other devices by being connected to a network. The communication unit 2210 may be implemented with an antenna, a communication related chip, or the like.

디스플레이부(2220)는 통신부(2210)를 통해 입출력되는 정보 및 프로세서(2230)를 통해 처리되는 정보를 디스플레이하는 구성요소이다. 이는, 모니터, TV 및 기타 패널 중 하나로 구현될 수 있다. The display unit 2220 is a component that displays information input/output through the communication unit 2210 and information processed through the processor 2230. This can be implemented with one of a monitor, a TV and other panels.

프로세서(2230)는 본 발명의 일 실시예에 따른 그래프 기반의 유사성 판단 및 상품 바스켓 추천 알고리즘을 실행하는 구성요소이다. 이는 마이크로 프로세서로 구현될 수 있다. 프로세서(2230)는 통신부(2210)를 통해 입력되는 주문 이력 데이터 및 조회 이력 데이터를 기반으로 그래프 형태의 데이터로 변환하고, 클라이언트로부터의 유사상품에 대한 질의에 대응하여 변환된 그래프 형태의 데이터를 이용하여 유사상품 및 유사고객에 대한 정보를 반환한다. 이때, 제 1 노드로부터 제 2 노드까지의 연결경로(이는 일정 범위의 거리를 갖는 것으로 제한될 수 있음)의 갯수를 기반으로 가장 유사도가 높은 순으로 상품 및/또는 고객을 정렬하여 반환할 수 있다. The processor 2230 is a component that executes a graph-based similarity determination and product basket recommendation algorithm according to an embodiment of the present invention. This can be implemented with a microprocessor. The processor 2230 converts the data in graph form based on the order history data and inquiry history data input through the communication unit 2210, and uses the data in graph form converted in response to a query for similar products from a client. As a result, information on similar products and similar customers is returned. At this time, products and/or customers may be sorted and returned in the order of the highest similarity based on the number of connection paths from the first node to the second node (which may be limited to having a certain range of distances). .

또한, 프로세서(2230)는 제 1 상품 조회 이전 또는 이후의 일정 범위 내의 페이지에서 검색이 가장 많이 된 상품 순으로 정렬하여 반환할 수 있다. 반환된 결과 데이터는 디스플레이부(2220)를 통해 표시될 수도 있고, 통신부(2210)를 통해 요청된 단말로 제공될 수도 있다.Also, the processor 2230 may sort and return products in the order of the most searched products in pages within a certain range before or after the first product search. The returned result data may be displayed through the display unit 2220 or may be provided to a terminal requested through the communication unit 2210.

프로세서(2230)는 그래프 기반의 유사도 정보 또는 기타 다른 유사성 지표를 기반으로 하는 개별 상품과 개별 고객의 구매가능성 지표 관련 정보를 획득하여 고객과 상품을 각각 열과 행으로 하는 행렬을 생성한다. 그리고는, 생성된 행렬의 행 및 열의 부분합을 산출하고, 산출된 값을 순위화하여 특정 고객 그룹에 최적의 상품 패키지를 생성함에 의해 적절한 프로모션이 이루어지도록 할 수 있다.The processor 2230 obtains graph-based similarity information or other similarity index-based information on purchaseability indexes of individual products and individual customers, and generates a matrix in which the customer and product are each column and row. Then, a partial sum of rows and columns of the generated matrix is calculated, and the calculated values are ranked to generate an optimal product package for a specific customer group, so that appropriate promotion can be performed.

본 발명의 실시예에 따르면, 프로세서(2230)는 인공지능 모델 학습 모듈(미도시) 및 인공지능 모델 실행 모듈(미도시)을 포함하여, 그래프 기반의 유사성 판단의 정확도를 높이기 위한 인공지능 모델을 학습시키고, 학습된 인공지능 모델을 실행하여 실제 상품 추천의 정확도를 제고시킬 수 있다.According to an embodiment of the present invention, the processor 2230 includes an artificial intelligence model learning module (not shown) and an artificial intelligence model execution module (not shown), and provides an artificial intelligence model for increasing the accuracy of graph-based similarity determination. It is possible to improve the accuracy of actual product recommendation by training and executing the learned artificial intelligence model.

메모리(2240)는 프로세서(2230)에서 실행되는 프로그램의 지시어를 저장하는 저장소이다. 메모리(2240)는 통신부(2210)를 통해 수신 또는 송신되는 정보를 저장한다. 또한, 프로세서(2230)를 통해 처리되는 정보 중 적어도 일부를 저장할 수 있다.The memory 2240 is a storage for storing instructions of a program executed by the processor 2230. The memory 2240 stores information received or transmitted through the communication unit 2210. In addition, at least some of the information processed by the processor 2230 may be stored.

입력부(2250)는 사용자의 입력을 입력받는 구성요소로써, 키보드, 마우스, 터치패널 등으로 구현될 수 있다. 입력부(2250)를 통해 최적 상품 추천과 관련된 각종 파라미터를 직접 입력받을 수 있다.The input unit 2250 is a component that receives a user's input, and may be implemented as a keyboard, a mouse, a touch panel, or the like. Various parameters related to optimal product recommendation may be directly input through the input unit 2250.

이상에서 설명된 시스템 또는 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 시스템, 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The system or device described above may be implemented as a hardware component, a software component, and/or a combination of a hardware component and a software component. For example, the systems, devices, and components described in the embodiments are, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable array (FPA). ), a programmable logic unit (PLU), a 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 executed on the operating system. Further, the processing device may access, store, manipulate, process, and generate data in response to the execution of software. For the convenience of understanding, although it is sometimes described that one processing device is used, one of ordinary skill in the art, the processing device is a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of these, configuring the processing unit to operate as desired or processed independently or collectively. You can command the device. Software and/or data may be interpreted by a processing device or, to provide instructions or data to a processing device, of any type of machine, component, physical device, virtual equipment, computer storage medium or device. , Or may be permanently or temporarily embodyed in a transmitted signal wave. The 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.

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

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

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

Claims (22)

전자상거래 시스템에서의 상품 추천 방법에 있어서,
전자상거래 기반의 복수의 쇼핑몰들로부터 복수의 고객들의 주문 이력 데이터를 수집하는 단계, 상기 주문이력 데이터는 고객이 주문한 적어도 하나의 상품들에 대한 데이터를 포함함;
상기 수집된 주문이력 데이터를 적어도 3개의 노드(node) 계층(layer)으로 구성된 그래프 형태의 데이터로 변환하는 단계, 상기 적어도 3개의 노드 계층은 상품과 연관된 제 1 노드 계층, 주문과 연관된 제 2 노드 계층 및 고객과 연관된 제 3 노드 계층을 포함함;
상기 그래프 형태의 데이터를 데이터베이스에 저장하는 단계; 및
상기 저장된 그래프 형태의 데이터 상에서, 유사상품에 대한 질의에 대응하여 적어도 하나의 제 1 노드 계층의 노드들 및 적어도 하나의 제 3 노드 계층의 노드들 중 적어도 두 노드 사이의 연결경로의 갯수를 기반으로 유사도를 판단하여 반환하는 단계를 포함하되,
유사도 판단의 정확도를 제고시키기 위한 인공지능 모델을 학습시키는 단계를 더 포함하고,
상기 유사상품에 대한 질의의 기준이 되는 제 1 노드를 포함하는 제 1 주문 이력 데이터와 유사도 판단에 의해 반환된 유사상품 중 실제 주문이 이루어진 상품과 관련된 제 2 노드를 포함하는 제 2 주문 이력 데이터를 학습 데이터 셋으로 생성하여 상기 인공지능 모델을 학습시키고,
연결경로의 갯수 산정시, 제 1 거리 범위 내의 연결경로만 산정되되,
상기 학습 데이터 셋을 기반으로, 연결경로 산출의 임계범위가 되는 상기 제 1 거리 범위를 변경하면서 인공지능 모델을 학습시키며,
상기 학습 데이터 셋을 기반으로 상품 카테고리 분할의 클래스와 상기 클래스에 대응하는 유사 카테고리 사용 또는 결합에 의한 카테고리 사용 여부를 변경하면서 인공지능 모델을 학습시키는 전자상거래 시스템에서의 상품 추천 방법.
In the product recommendation method in the e-commerce system,
Collecting order history data of a plurality of customers from a plurality of shopping malls based on e-commerce, the order history data including data on at least one product ordered by the customer;
Converting the collected order history data into graph-type data consisting of at least three node layers, the at least three node layers being a first node layer associated with a product, a second node associated with an order Including a layer and a third node layer associated with the customer;
Storing the data in the form of a graph in a database; And
Based on the number of connection paths between at least two nodes of at least one first node layer and at least one third node layer node on the stored graph-type data in response to a query for similar products Including the step of determining and returning the similarity,
Further comprising the step of training an artificial intelligence model to improve the accuracy of the similarity determination,
The second order history data including first order history data including a first node serving as a criterion for querying the similar product and a second node related to the product in which an actual order was placed among the similar products returned by the similarity determination. Generated as a training data set to train the artificial intelligence model,
When calculating the number of connection paths, only the connection paths within the range of the first distance are calculated,
Based on the training data set, the artificial intelligence model is trained while changing the first distance range, which is a critical range for calculating a connection path,
A product recommendation method in an e-commerce system in which an artificial intelligence model is trained while changing whether a class of product category division and a similar category corresponding to the class is used based on the learning data set or whether to use a category by combining.
제 1 항에 있어서, 상기 그래프 형태의 데이터는
제 1 노드 계층의 제 1 노드를 중심으로 제 2 노드 계층의 적어도 하나의 제 2 노드가 연결되고; 그리고,
상기 적어도 하나의 제 2 노드에 제 3 노드 계층의 제 3 노드가 연결됨에 따라, 방사형의 그래프 형태로 생성되는 전자상거래 시스템에서의 상품 추천 방법.
The method of claim 1, wherein the data in the form of a graph
At least one second node of the second node layer is connected around the first node of the first node layer; And,
A product recommendation method in an e-commerce system that is generated in the form of a radial graph as a third node of a third node hierarchy is connected to the at least one second node.
제 1 항에 있어서,
상기 적어도 하나의 제 1 노드 계층의 노드들 및 적어도 하나의 제 3 노드 계층의 노드들 중 적어도 두 노드가 연결될 수 있는 적어도 하나의 연결경로들 중 제 1 거리 범위 내에 속하는 연결경로들을 추출하여 추출된 연결경로의 갯수가 많을수록 유사성의 정도가 높다고 판단하는 전자상거래 시스템에서의 상품 추천 방법.
The method of claim 1,
Extracted by extracting connection paths within a first distance range among at least one connection paths to which at least two nodes can be connected among nodes of the at least one first node layer and nodes of at least one third node layer A product recommendation method in an e-commerce system that judges that the degree of similarity is high as the number of connection paths increases.
제 3 항에 있어서,
직접적으로 연결된 두 노드의 거리를 1 홉(hop)의 거리라고 정의하고,
상기 제 1 거리 범위는 직접적인 상관성을 나타내는 2 홉 거리를 초과하는 범위를 갖는 전자상거래 시스템에서의 상품 추천 방법.
The method of claim 3,
The distance between two directly connected nodes is defined as the distance of 1 hop,
The product recommendation method in an e-commerce system having a range in which the first distance range exceeds a 2-hop distance indicating a direct correlation.
제 4 항에 있어서,
상기 제 1 거리 범위는 제 2 거리 이상의 거리를 갖는 연결경로는 제외하는 범위를 갖는, 전자상거래 시스템에서의 상품 추천 방법.
The method of claim 4,
The first distance range has a range excluding a connection path having a distance greater than or equal to the second distance.
제 1 항에 있어서,
상기 적어도 하나의 제 1 노드 계층의 노드들 및 적어도 하나의 제 3 노드 계층의 노드들 중 적어도 두 노드는:
(i) 상기 제 1 노드 계층의 제 1 상품 노드와 제 2 상품 노드;
(ii) 상기 제 3 노드 계층의 제 1 고객 노드와 제 2 고객 노드; 및
(iii) 상기 제 1 노드 계층의 제 1 상품 노드와 상기 제 3 노드 계층의 제 1 고객 노드;
중 하나를 포함하는 전자상거래 시스템에서의 상품 추천 방법.
The method of claim 1,
At least two of the nodes of the at least one first node layer and the at least one third node layer are:
(i) a first product node and a second product node of the first node hierarchy;
(ii) a first customer node and a second customer node of the third node hierarchy; And
(iii) a first product node of the first node layer and a first customer node of the third node layer;
Product recommendation method in an e-commerce system comprising one of.
제 6 항에 있어서, 상기 (i)의 제 1 상품 노드와 유사성이 있는 제 2 상품 노드에 대한 질의에 대응하여,
상기 제 1 상품 노드 - 상기 제 1 상품 노드는 제 2 노드 계층의 제 1 주문 노드에 포함됨 - 와 연관된 제 3 노드 계층의 제 3 고객 노드의 적어도 하나의 제 2 노드 계층의 노드들 중 상기 제 1 주문 노드와 다른 제 2 주문 노드에 포함된 상품과의 연결경로를 고려하는, 전자상거래 시스템에서의 상품 추천 방법.
The method of claim 6, wherein in response to a query for a second product node having similarity to the first product node of (i),
The first among nodes of at least one second node hierarchy of a third customer node of a third node hierarchy associated with the first product node-the first product node is included in the first order node of the second node hierarchy- A product recommendation method in an e-commerce system that considers a connection path between an order node and a product included in another second order node.
제 6 항에 있어서, 상기 (ii)의 상기 제 1 고객 노드와 유사성이 있는 제 2 고객 노드에 대한 질의에 대응하여,
상기 제 2 고객은 상기 제 1 고객 노드과 연관된 제 1 노드 계층의 제 3 상품 노드와 연관된 고객으로 결정되되,
상기 제 2 고객의 제 3 주문 노드 - 제 3 주문 노드는 제 2 노드 계층의 노드로써, 상기 제 3 상품 노드를 포함하는 주문 노드임 - 에서 상기 제 3 상품을 제외한 다른 상품 노드를 채택하는, 전자상거래 시스템에서의 상품 추천 방법.
The method of claim 6, wherein in response to a query for a second customer node similar to the first customer node in (ii),
The second customer is determined as a customer associated with a third product node of a first node hierarchy associated with the first customer node,
The third order node of the second customer-the third order node is a node of the second node hierarchy, and is an order node including the third product node-adopting a product node other than the third product in the former How to recommend products in a commerce system.
제 6 항에 있어서, 상기 (iii)의 상기 제 1 상품 노드와 유사성이 있는 제 1 고객 노드 또는 제 1 고객 노드와 유사성이 있는 제 1 상품 노드에 대한 질의에 대응하여,
상기 제 1 상품 노드를 포함하는 제 2 노드 계층의 제 3 주문 노드 내에서 묶음구매된 제 3 상품 노드와 연관된 고객과의 연결경로; 및
제 1 고객 노드와 연관된 제 2 노드 계층의 제 4 주문 노드 내의 묶음구매된 상품들 중 적어도 하나와의 연결경로를 고려하는, 전자상거래 시스템에서의 상품 추천 방법.
The method of claim 6, wherein in response to a query for a first customer node similar to the first product node of (iii) or a first product node similar to the first customer node,
A connection path with a customer associated with a third product node purchased in a bundle within a third order node of a second node hierarchy including the first product node; And
A product recommendation method in an e-commerce system, considering a connection path with at least one of bundled products in a fourth order node of a second node hierarchy associated with the first customer node.
제 1 항에 있어서,
상기 제 1 노드 계층의 상품은 카테고리화되어 상품 카테고리 식별자와 함께 정의되고,
상기 제 1 노드 계층의 제 1 상품에 대한 유사상품에 대한 질의에 대응하여,
상기 제 1 상품과 직간접적으로 연결된 제 2 노드 계층의 제 2 노드 및 제 3 노드 계층의 제 3 노드 중 적어도 하나와 연관된 상품들 중 제 1 상품의 제 1 상품 카테고리 식별자를 기반으로, 그와 유사의 대응관계를 갖는 제 2 상품 카테고리의 상품만을 연결경로로써 고려하는, 전자상거래 시스템에서의 상품 추천 방법.
The method of claim 1,
The products of the first node layer are categorized and defined together with a product category identifier,
In response to a query for a similar product for a first product in the first node hierarchy,
Similar to the first product category identifier of the first product among products associated with at least one of the second node of the second node layer and the third node of the third node layer directly or indirectly connected to the first product. A product recommendation method in an e-commerce system that considers only products of the second product category having a corresponding relationship of as a connection path.
제 1 항에 있어서,
상기 제 1 노드의 상품은 카테고리화되어 상품 카테고리 식별자와 함께 정의되고,
상기 제 1 노드의 제 1 상품에 대한 유사상품에 대한 질의에 대응하여,
상기 제 1 상품과 직간접적으로 연결된 제 2 노드 계층의 제 2 노드 및 제 3 노드 계층의 제 3 노드 중 적어도 하나와 연관된 상품들 중 제 1 상품의 제 1 상품 카테고리 식별자를 기반으로, 그와 유사의 대응관계를 갖는 제 2 상품 카테고리의 상품과의 연결경로를 배제하는, 전자상거래 시스템에서의 상품 추천 방법.
The method of claim 1,
The products of the first node are categorized and defined together with a product category identifier,
In response to a query for a similar product for the first product of the first node,
Similar to the first product category identifier of the first product among products associated with at least one of the second node of the second node layer and the third node of the third node layer directly or indirectly connected to the first product. A product recommendation method in an e-commerce system, excluding a connection path with a product of a second product category having a corresponding relationship of.
제 1 항에 있어서,
상기 제 1 노드의 상품은 카테고리화되어 상품 카테고리 식별자와 함께 정의되고,
상기 제 1 노드의 제 1 상품에 대한 유사상품에 대한 질의에 대응하여,
상기 제 1 상품과 직간접적으로 연결된 제 2 노드 계층의 제 2 노드 및 제 3 노드 계층의 제 3 노드 중 적어도 하나와 연관된 상품들 중 제 1 상품의 제 1 상품 카테고리 식별자를 기반으로, 그와 결합에 의한 대응관계를 갖는 제 3 상품 카테고리의 상품과의 연결경로를 고려하는, 전자상거래 시스템에서의 상품 추천 방법.
The method of claim 1,
The products of the first node are categorized and defined together with a product category identifier,
In response to a query for a similar product for the first product of the first node,
Based on the first product category identifier of the first product among products associated with at least one of the second node of the second node layer and the third node of the third node layer directly or indirectly connected to the first product, the combination thereof A product recommendation method in an e-commerce system that considers a connection path with a product of a third product category having a corresponding relationship by.
제 1 항에 있어서,
상기 연결경로의 갯수를 기반으로 유사도를 판단하여 반환하는 단계는, 연결경로의 갯수를 산정함에 있어서,
직접적으로 연결된 두 노드의 거리를 1 홉(hop)의 거리라고 정의하고,
상기 적어도 하나의 제 1 노드 계층의 노드들 및 상기 적어도 하나의 제 3 노드 계층의 노드들 중 적어도 두 노드 간의 연결경로의 거리를 고려하여 연결경로의 갯수를 조정하는 단계를 포함하는, 전자상거래 시스템에서의 상품 추천 방법.
The method of claim 1,
In the step of determining and returning the similarity based on the number of connection paths, in calculating the number of connection paths,
The distance between two directly connected nodes is defined as the distance of 1 hop,
E-commerce system comprising the step of adjusting the number of connection paths in consideration of a distance of a connection path between at least two nodes among the at least one first node layer nodes and the at least one third node layer nodes Product recommendation method
제 12 항에 있어서,
적어도 하나의 제 1 노드 계층의 노드들 및 적어도 하나의 제 3 노드 계층의 노드들 중 적어도 두 노드 간의, 제 1 연결경로의 거리는 n1이고, 제 2 연결경로의 거리는 n2 - n1과 n2는 자연수임 - 이라고 할 때,
상기 제 1 연결경로의 갯수는 1/n1으로 조정되어 산정되고,
상기 제 2 연결경로의 갯수는 1/n2으로 조정되어 산정되는, 전자상거래 시스템에서의 상품 추천 방법.
The method of claim 12,
Between at least one node of the first node layer and at least two nodes of the at least one third node layer, the distance of the first connection path is n 1, and the distance of the second connection path is n 2 -n 1 and n When 2 is a natural number-
The number of the first connection path is calculated by adjusting to 1/n 1,
A product recommendation method in an e-commerce system, wherein the number of the second connection paths is adjusted and calculated as 1/n 2.
제 1 항에 있어서,
상기 제 1 노드 계층의 노드는 p로 정의하고,
상기 제 3 노드 계층의 노드는 m으로 정의하여
유사상품에 대한 질의 및 그에 대응한 노드들 간의 연결경로를 m 및 p 중 하나로 정의되는 노드 계층 식별자와 특정 노드 계층 식별자에 대한 인덱스 번호로 정의하여 쿼리(query)로 생성하는 전자상거래 시스템에서의 상품 추천 방법.
The method of claim 1,
The node of the first node hierarchy is defined as p,
The node of the third node hierarchy is defined as m
A product in an e-commerce system in which a query for similar products and the connection path between nodes corresponding thereto are defined as a node hierarchy identifier defined as one of m and p and an index number for a specific node hierarchy identifier, and created as a query. Recommended way.
삭제delete 삭제delete 삭제delete 제 1 항에 있어서,
상기 그래프 형태의 데이터를 시각화하는 단계를 더 포함하는 전자상거래 시스템에서의 상품 추천 방법.
The method of claim 1,
Product recommendation method in an e-commerce system further comprising the step of visualizing the data in the form of a graph.
전자상거래 시스템에서의 상품 추천 장치에 있어서,
유선 및 무선 네트워크 중 적어도 하나와 통신하는 통신부;
상기 통신부를 통해 전자상거래 기반의 복수의 쇼핑몰들로부터 복수의 고객들의 주문 이력 데이터 - 상기 주문이력 데이터는 고객이 주문한 적어도 하나의 상품들에 대한 데이터를 포함함 - 를 수집하여, 상기 수집된 주문이력 데이터를 적어도 3개의 노드(node) 계층(layer) - 상기 적어도 3개의 노드 계층은 상품과 연관된 제 1 노드 계층, 주문과 연관된 제 2 노드 계층 및 고객과 연관된 제 3 노드 계층을 포함함 - 으로 구성된 그래프 형태의 데이터로 변환하며, 상기 변환된 그래프 형태의 데이터 상에서, 유사상품에 대한 질의에 대응하여 적어도 하나의 제 1 노드 계층의 노드들 및 적어도 하나의 제 3 노드 계층의 노드들 중 적어도 두 노드 사이의 연결경로의 갯수를 기반으로 유사도를 판단하여 반환하는 프로세서; 및
상기 그래프 형태의 데이터를 저장하는 메모리를 포함하는 포함하되,
상기 프로세서는, 유사도 판단의 정확도를 제고시키기 위한 인공지능 모델을 학습시키고,
상기 유사상품에 대한 질의의 기준이 되는 제 1 노드를 포함하는 제 1 주문 이력 데이터와 유사도 판단에 의해 반환된 유사상품 중 실제 주문이 이루어진 상품과 관련된 제 2 노드를 포함하는 제 2 주문 이력 데이터를 학습 데이터 셋으로 생성하여 상기 인공지능 모델을 학습시키며,
연결경로의 갯수 산정시, 제 1 거리 범위 내의 연결경로만 산정되되,
상기 학습 데이터 셋을 기반으로, 연결경로 산출의 임계범위가 되는 상기 제 1 거리 범위를 변경하면서 인공지능 모델을 학습시키며,
상기 학습 데이터 셋을 기반으로 상품 카테고리 분할의 클래스와 상기 클래스에 대응하는 유사 카테고리 사용 또는 결합에 의한 카테고리 사용 여부를 변경하면서 인공지능 모델을 학습시키는 전자상거래 시스템에서의 상품 추천 장치.
In the product recommendation device in an e-commerce system,
A communication unit that communicates with at least one of wired and wireless networks;
By collecting order history data of a plurality of customers from a plurality of shopping malls based on e-commerce through the communication unit-the order history data includes data on at least one product ordered by the customer-and the collected order history Data is composed of at least three node layers, the at least three node layers comprising a first node layer associated with a product, a second node layer associated with an order, and a third node layer associated with a customer. At least two nodes of at least one node of the first node layer and at least one node of the third node layer in response to a query for similar products on the converted graph type data, and on the converted graph type data A processor that determines and returns a degree of similarity based on the number of connection paths therebetween; And
Including a memory for storing the data in the form of the graph,
The processor trains an artificial intelligence model to improve the accuracy of the similarity determination,
First order history data including first order history data including a first node serving as a criterion for querying the similar products, and second order history data including a second node related to the actual ordered product among similar products returned by the similarity determination. The artificial intelligence model is trained by generating it as a training data set,
When calculating the number of connection paths, only the connection paths within the range of the first distance are calculated,
Based on the training data set, the artificial intelligence model is trained while changing the first distance range, which is a critical range for calculating a connection path,
A product recommendation device in an e-commerce system for learning an artificial intelligence model while changing whether a class of product category division and a similar category corresponding to the class is used or whether a category is used by combining based on the learning data set.
전자상거래 시스템에서의 상품 추천 방법에 있어서,
전자상거래 기반의 복수의 쇼핑몰들로부터 복수의 고객들의 조회 이력 데이터를 수집하는 단계, 상기 조회이력 데이터는 특정 세션에서 조회한 페이지와 상기 조회한 페이지 내에서 검색한 상품에 대한 데이터를 포함함;
상기 수집된 조회이력 데이터를 적어도 3개의 노드(node) 계층으로 구성된 그래프 형태의 데이터로 변환하는 단계, 상기 적어도 3개의 노드 계층은 상품과 연관된 제 1 노드 계층, 웹 페이지과 연관된 제 2 노드 계층 및 세션과 연관된 제 3 노드 계층을 포함함;
상기 그래프 형태의 데이터를 데이터베이스에 저장하는 단계; 및
상기 저장된 그래프 형태의 데이터 상에서, 유사상품에 대한 질의에 대응하여, 제 1 노드 계층의 제 1 상품 노드 조회 이전 또는 이후 제 1 거리의 범위 내의 웹 페이지에서 조회한 상품 중 조회수가 많은 순서로 정렬하여 반환하는 단계를 포함하되,
유사도 판단의 정확도를 제고시키기 위한 인공지능 모델을 학습시키는 단계를 더 포함하고,
상기 유사상품에 대한 질의의 기준이 되는 제 1 노드를 포함하는 제 1 조회 이력 데이터와 유사도 판단에 의해 반환된 유사상품 중 실제 주문이 이루어진 상품과 관련된 제 2 노드를 포함하는 제 2 조회 이력 데이터를 학습 데이터 셋으로 생성하여 상기 인공지능 모델을 학습시키고,
연결경로의 갯수 산정시, 제 1 거리 범위 내의 연결경로만 산정되되,
상기 학습 데이터 셋을 기반으로, 연결경로 산출의 임계범위가 되는 상기 제 1 거리 범위를 변경하면서 인공지능 모델을 학습시키며,
상기 학습 데이터 셋을 기반으로 상품 카테고리 분할의 클래스와 상기 클래스에 대응하는 유사 카테고리 사용 또는 결합에 의한 카테고리 사용 여부를 변경하면서 인공지능 모델을 학습시키는 전자상거래 시스템에서의 상품 추천 방법.
In the product recommendation method in the e-commerce system,
Collecting inquiry history data of a plurality of customers from a plurality of shopping malls based on an e-commerce transaction, the inquiry history data including a page searched in a specific session and data on a product searched within the searched page;
Converting the collected inquiry history data into graph-type data consisting of at least three node hierarchies, wherein the at least three node hierarchies are a first node layer associated with a product, a second node layer associated with a web page, and a session A third node layer associated with;
Storing the data in the form of a graph in a database; And
On the stored graph-type data, in response to a query for similar products, the first product node of the first node hierarchy is sorted in the order of the highest number of views among products searched on the web page within the range of the first distance before or after the first product node search. Including the step of returning,
Further comprising the step of training an artificial intelligence model to improve the accuracy of the similarity determination,
The first inquiry history data including the first node that is the criterion for querying the similar product and the second inquiry history data including the second node related to the product in which an actual order was placed among the similar products returned by the similarity determination. Generated as a training data set to train the artificial intelligence model,
When calculating the number of connection paths, only the connection paths within the range of the first distance are calculated,
Based on the training data set, the artificial intelligence model is trained while changing the first distance range, which is a critical range for calculating a connection path,
A product recommendation method in an e-commerce system in which an artificial intelligence model is trained while changing whether a class of product category division and a similar category corresponding to the class is used based on the learning data set or whether to use a category by combining.
전자상거래 시스템에서의 상품 추천 장치에 있어서,
유선 및 무선 네트워크 중 적어도 하나와 통신하는 통신부;
상기 통신부를 통해 전자상거래 기반의 복수의 쇼핑몰들로부터 복수의 고객들의 조회 이력 데이터 - 상기 조회이력 데이터는 특정 세션에서 조회한 페이지와 상기 조회한 페이지 내에서 검색한 상품에 대한 데이터를 포함함 - 를 수집하여, 상기 수집된 조회이력 데이터를 적어도 3개의 노드(node) 계층(layer) - 상기 적어도 3개의 노드 계층은 상품과 연관된 제 1 노드 계층, 웹 페이지과 연관된 제 2 노드 계층 및 세션과 연관된 제 3 노드 계층을 포함함 - 으로 구성된 그래프 형태의 데이터로 변환하며, 상기 변환된 그래프 형태의 데이터 상에서, 유사상품에 대한 질의에 대응하여, 제 1 노드 계층의 제 1 상품 노드 조회 이전 또는 이후 제 1 거리의 범위 내의 웹 페이지에서 조회한 상품 중 조회수가 많은 순서로 정렬하여 반환하는 프로세서; 및
상기 그래프 형태의 데이터를 저장하는 메모리를 포함하는 포함하되,
상기 프로세서는, 유사도 판단의 정확도를 제고시키기 위한 인공지능 모델을 학습시키고,
상기 유사상품에 대한 질의의 기준이 되는 제 1 노드를 포함하는 제 1 조회 이력 데이터와 유사도 판단에 의해 반환된 유사상품 중 실제 주문이 이루어진 상품과 관련된 제 2 노드를 포함하는 제 2 조회 이력 데이터를 학습 데이터 셋으로 생성하여 상기 인공지능 모델을 학습시키며,
연결경로의 갯수 산정시, 제 1 거리 범위 내의 연결경로만 산정되되,
상기 학습 데이터 셋을 기반으로, 연결경로 산출의 임계범위가 되는 상기 제 1 거리 범위를 변경하면서 인공지능 모델을 학습시키고,
상기 학습 데이터 셋을 기반으로 상품 카테고리 분할의 클래스와 상기 클래스에 대응하는 유사 카테고리 사용 또는 결합에 의한 카테고리 사용 여부를 변경하면서 인공지능 모델을 학습시키는 전자상거래 시스템에서의 상품 추천 장치.

In the product recommendation device in an e-commerce system,
A communication unit that communicates with at least one of wired and wireless networks;
Inquiry history data of a plurality of customers from a plurality of shopping malls based on e-commerce through the communication unit-The inquiry history data includes a page searched in a specific session and data on products searched within the searched page. By collecting the collected inquiry history data at least three node layers-the at least three node layers are a first node layer associated with a product, a second node layer associated with a web page, and a third layer associated with a session. Including a node hierarchy-Converts to graph-type data composed of, and on the converted graph-type data, in response to a query for similar products, the first distance before or after the inquiry of the first product node of the first node hierarchy A processor that sorts and returns the products in the order of the number of views among the products searched on the web page within the range of; And
Including a memory for storing the data in the form of the graph,
The processor trains an artificial intelligence model to improve the accuracy of the similarity determination,
The first inquiry history data including the first node that is the criterion for querying the similar product and the second inquiry history data including a second node related to the product in which an actual order was placed among the similar products returned by the similarity determination. The artificial intelligence model is trained by generating it as a training data set,
When calculating the number of connection paths, only the connection paths within the range of the first distance are calculated,
Based on the training data set, an artificial intelligence model is trained while changing the first distance range, which is a critical range for calculating a connection route,
A product recommendation device in an e-commerce system for learning an artificial intelligence model while changing whether a class of product category division and a similar category corresponding to the class is used or whether a category is used by combining based on the learning data set.

KR1020190004740A 2019-01-14 2019-01-14 Item recommendation method and apparatus using graph database KR102246538B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190004740A KR102246538B1 (en) 2019-01-14 2019-01-14 Item recommendation method and apparatus using graph database

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190004740A KR102246538B1 (en) 2019-01-14 2019-01-14 Item recommendation method and apparatus using graph database

Publications (2)

Publication Number Publication Date
KR20200088131A KR20200088131A (en) 2020-07-22
KR102246538B1 true KR102246538B1 (en) 2021-05-03

Family

ID=71892970

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190004740A KR102246538B1 (en) 2019-01-14 2019-01-14 Item recommendation method and apparatus using graph database

Country Status (1)

Country Link
KR (1) KR102246538B1 (en)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102492699B1 (en) * 2020-11-25 2023-01-27 주식회사 어반베이스 Apparatus and method for recommending object on adjacent trunk line based on data structure of trunk line connection generated from big data of interior service
KR102443166B1 (en) * 2020-11-25 2022-09-14 주식회사 어반베이스 Apparatus and method for recommending object on adjacent trunk line based on data structure of trunk line connection generated from big data of interior service
CN112528096B (en) * 2020-12-15 2024-05-07 航天信息股份有限公司 Enterprise analysis method, storage medium and electronic equipment
KR102274409B1 (en) 2021-02-19 2021-07-07 권관식 Method for generating electronic receipt containing advertising information based on simple receipt service
KR102619084B1 (en) * 2021-04-28 2023-12-29 네이버 주식회사 Method for recommending products and service server using the same
KR20230027583A (en) * 2021-08-19 2023-02-28 (주) 아키드로우 An apparatus for providing content recommendation information based on relational learning model of rendering information and an operating method using it
CN113643101A (en) * 2021-08-30 2021-11-12 北京值得买科技股份有限公司 Commodity popularity calculation method and system based on graph database
KR20230098989A (en) 2021-12-27 2023-07-04 성균관대학교산학협력단 Method and apparatus for explainable item recommendation based on probability by using logical query
WO2023140403A1 (en) * 2022-01-21 2023-07-27 주식회사 어반베이스 Regression edge object recommendation device and method based on edge connection data structure constructed from big data of interior design service
WO2023140402A1 (en) * 2022-01-21 2023-07-27 주식회사 어반베이스 Apparatus and method for recommending adjacent main line object, based on main line connection data structure constructed from bigdata of interior service
KR20230137064A (en) 2022-03-21 2023-10-04 카페24 주식회사 Method, device and system for visualize product sales status based on category
US20230316388A1 (en) * 2022-03-30 2023-10-05 Donde Fashion, Inc. Search navigation system and method using dynamic graph based on product catalogue and stock levels

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101871747B1 (en) * 2017-04-07 2018-06-27 주식회사 화성 Similarity tendency based user-sightseeing recommendation system and method thereof

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101020206B1 (en) * 2008-06-16 2011-03-08 성균관대학교산학협력단 Method for recommendation to user and storage medium storing program for realizing the method
KR102097045B1 (en) * 2012-12-04 2020-04-03 에스케이플래닛 주식회사 Method and apparatus to recommend products reflecting characteristics of users
KR20150121945A (en) * 2014-04-22 2015-10-30 주식회사 포워드벤처스 Item recommend system and method for recommending item

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101871747B1 (en) * 2017-04-07 2018-06-27 주식회사 화성 Similarity tendency based user-sightseeing recommendation system and method thereof

Also Published As

Publication number Publication date
KR20200088131A (en) 2020-07-22

Similar Documents

Publication Publication Date Title
KR102246538B1 (en) Item recommendation method and apparatus using graph database
JP6511455B2 (en) Method and system for extracting features of user behavior and personalizing recommendations
CN103914492B (en) Query word fusion method, merchandise news dissemination method and searching method and system
JP5897019B2 (en) Method and apparatus for determining linked list of candidate products
US20070156678A1 (en) Systems and Methods for Facilitating Internet Shopping
CN105868847A (en) Shopping behavior prediction method and device
JP5859606B2 (en) Ad source and keyword set adaptation in online commerce platforms
CN105354202B (en) Data push method and device
JP6679451B2 (en) Selection device, selection method, and selection program
US11321724B1 (en) Product evaluation system and method of use
US20070174133A1 (en) Searching for a seller of a product
CN108153792A (en) A kind of data processing method and relevant apparatus
KR102518389B1 (en) Method, Apparatus and System for Item Recommendation Using Consumer Bigdata
KR102538398B1 (en) Method, Apparatus and System for Recommendation in Groups Using Bigdata
KR102193345B1 (en) Item recommendataion method and apparatus between group member and group item
KR102533180B1 (en) System for increasing open market product sales and efficient operation
KR20210032691A (en) Method and apparatus of recommending goods based on network
KR20220001616A (en) Method, Apparatus and System for Constructing Bigdata Based on Generating United Identifier of Customer
CN103838775B (en) Data analysing method and DAF
KR102381757B1 (en) Platform and method for intermediating packaging
US20210272178A1 (en) Determining item relevancy
CN110020918B (en) Recommendation information generation method and system
Zeng et al. Location-aware real-time recommender systems for brick-and-mortar retailers
CN113689258A (en) Commodity recommendation heat generation method and system
Shinde et al. ML-based smart shopping system with recipe recommendation

Legal Events

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