KR102619084B1 - Method for recommending products and service server using the same - Google Patents

Method for recommending products and service server using the same Download PDF

Info

Publication number
KR102619084B1
KR102619084B1 KR1020210054795A KR20210054795A KR102619084B1 KR 102619084 B1 KR102619084 B1 KR 102619084B1 KR 1020210054795 A KR1020210054795 A KR 1020210054795A KR 20210054795 A KR20210054795 A KR 20210054795A KR 102619084 B1 KR102619084 B1 KR 102619084B1
Authority
KR
South Korea
Prior art keywords
search
product
service server
correlation
graph structure
Prior art date
Application number
KR1020210054795A
Other languages
Korean (ko)
Other versions
KR20220147815A (en
Inventor
박유진
양민철
이정태
Original Assignee
네이버 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 네이버 주식회사 filed Critical 네이버 주식회사
Priority to KR1020210054795A priority Critical patent/KR102619084B1/en
Publication of KR20220147815A publication Critical patent/KR20220147815A/en
Application granted granted Critical
Publication of KR102619084B1 publication Critical patent/KR102619084B1/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/0201Market modelling; Market analysis; Collecting market data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0623Item investigation

Landscapes

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

Abstract

본 출원은 상품 추천 방법 및 이를 이용하는 서비스 서버에 관한 것으로서, 본 발명의 일 실시예에 의한 상품 추천 방법은 사용자들이 상품검색을 위해 수행한 검색이력을 저장한 검색로그데이터와, 각각의 상품들의 속성을 포함하는 상품정보를 수집하는 단계; 상기 검색로그데이터 및 상품정보를 기반으로 생성한 각각의 노드(node)와 상기 노드들 사이의 엣지(edge)를 이용하여, 커머스 지식 그래프 구조(commerce knowledge graph structure)를 생성하는 단계; 상기 커머스 지식 그래프 구조 내에 포함된 각각의 노드들을 연결하는 연결경로 내에 설정된 가중치를 이용하여, 상기 노드들 사이의 연관성을 연산하는 단계; 및 상기 연관성을 이용하여, 사용자가 입력한 검색질의에 대응하는 추천상품들을 제공하는 단계를 포함할 수 있다.This application relates to a product recommendation method and a service server using the same. The product recommendation method according to an embodiment of the present invention includes search log data storing the search history performed by users to search for products, and the attributes of each product. Collecting product information including; Creating a commerce knowledge graph structure using each node created based on the search log data and product information and edges between the nodes; calculating the correlation between the nodes using a weight set in a connection path connecting each node included in the commerce knowledge graph structure; and providing recommended products corresponding to the search query entered by the user using the correlation.

Figure R1020210054795
Figure R1020210054795

Description

상품 추천 방법 및 이를 이용하는 서비스 서버 {Method for recommending products and service server using the same}Product recommendation method and service server using the same {Method for recommending products and service server using the same}

본 출원은 온라인 쇼핑시 사용자에 대한 상품 추천 서비스를 제공할 수 있는 상품 추천 방법 및 이를 이용하는 서비스 서버에 관한 것이다. This application relates to a product recommendation method that can provide a product recommendation service to users when shopping online and a service server that uses the same.

온라인 쇼핑몰(online shopping mall) 또는 인터넷 쇼핑몰(internet shopping mall)은 인터넷 등을 이용하여 상품을 매매할 수 있도록 만든 가상 상점을 말한다. 온라인 쇼핑몰은 오프라인 쇼핑몰과는 달리 시간적, 공간적인 제약이 없기 때문에 소비자들은 언제, 어디서나 비교적 저렴한 가격으로 상품을 구입할 수 있다. 온라인 쇼핑몰의 운영자 입장에서는 상권의 제약 없이 소비자의 취향에 맞는 상품정보를 제공할 수 있다. 온라인 쇼핑몰의 운영자는 직접 상품을 소비자에게 판매할 수도 있고 판매자와 소비자를 연결하여 매매를 중계할 수도 있다. 온라인 쇼핑은 정보통신기술의 발전과 상품 구매의 편리성 등으로 인하여 최근 들어 급격히 시장규모가 성장하고 있다.An online shopping mall or internet shopping mall refers to a virtual store that allows products to be bought and sold using the Internet. Unlike offline shopping malls, online shopping malls have no time or space restrictions, so consumers can purchase products at relatively low prices anytime, anywhere. From the online shopping mall operator's perspective, they can provide product information tailored to consumers' tastes without restrictions on commercial areas. Operators of online shopping malls can sell products directly to consumers or connect sellers and consumers to relay sales. Online shopping has been rapidly growing in market size in recent years due to the advancement of information and communication technology and the convenience of purchasing products.

한편, 온라인 쇼핑몰은 고객의 구매활동을 촉진하기 위하여 다양한 방법으로 상품을 추천하고 있다. 구체적으로 상품 추천을 위해 크게 두 가지 분석 방식이 채용되고 있는데, 고객 개인의 온라인 활동을 분석하는 방식과 다른 고객의 온라인 활동을 분석하는 방식이 있다. 첫 번째 방식의 예로는, 고객 개인의 구매이력을 참조하여 과거에 구매했던 상품과 관련된 상품을 추천하여 구매활동을 일으키는 것이다. 두 번째 방식의 예로는, 판매량이 높은 상품을 추천하거나, 상품에 대한 댓글을 분석하여 상품을 추천하거나, 다른 고객의 구매이력을 참조하여 상품을 추천하는 방식 등이 있다.Meanwhile, online shopping malls recommend products in various ways to encourage customers' purchasing activities. Specifically, two major analysis methods are used to recommend products: one that analyzes the online activities of individual customers and the other that analyzes the online activities of other customers. An example of the first method is to refer to the customer's individual purchase history and recommend products related to products purchased in the past to encourage purchase activity. Examples of the second method include recommending products with high sales volume, recommending products by analyzing comments about products, or recommending products by referring to the purchase history of other customers.

본 출원은 커머스 지식 기반 그래프 구조(commerce knowledge graph structure)를 이용하여 상품추천을 수행할 수 있는 상품 추천 방법 및 이를 이용하는 서비스 서버를 제공하고자 한다.This application seeks to provide a product recommendation method that can perform product recommendation using a commerce knowledge graph structure and a service server that uses the same.

본 출원은 각각의 상품추천 서비스의 목적 등에 따라 유연하게 대응하여 효과적인 상품추천 서비스를 제공할 수 있는 상품 추천 방법 및 이를 이용하는 서비스 서버를 제공하고자 한다.This application seeks to provide a product recommendation method and a service server using the method that can flexibly respond to the purpose of each product recommendation service and provide an effective product recommendation service.

본 발명의 일 실시예에 의한 서비스 서버의 상품 추천 방법은, 사용자들이 상품검색을 위해 수행한 검색이력을 저장한 검색로그데이터와, 각각의 상품들의 속성을 포함하는 상품정보를 수집하는 단계; 상기 검색로그데이터 및 상품정보를 기반으로 설정한 각각의 노드(node)와 상기 노드들 사이의 엣지(edge)를 이용하여, 커머스 지식 그래프 구조(commerce knowledge graph structure)를 생성하는 단계; 상기 커머스 지식 그래프 구조 내에 포함된 각각의 노드들을 연결하는 연결경로 내에 설정된 가중치를 이용하여, 상기 노드들 사이의 연관성을 연산하는 단계; 및 상기 연관성을 이용하여, 사용자가 입력한 검색질의에 대응하는 추천상품들을 제공하는 단계를 포함할 수 있다.A product recommendation method of a service server according to an embodiment of the present invention includes the steps of collecting search log data storing search history performed by users to search for products, and product information including the attributes of each product; Creating a commerce knowledge graph structure using each node set based on the search log data and product information and edges between the nodes; calculating the correlation between the nodes using a weight set in a connection path connecting each node included in the commerce knowledge graph structure; and providing recommended products corresponding to the search query entered by the user using the correlation.

본 발명의 일 실시예에 의한 통합검색서비스를 제공하는 서비스 서버의 상품 추천 방법은, 통합검색 웹 페이지로부터 사용자의 검색 질의를 입력받는 단계; 커머스 지식 그래프 구조(commerce knowledge graph structure)를 이용하여, 상기 검색 질의에 대응하는 추천 상품들을 추출하는 단계; 및 상기 통합검색 웹 페이지의 설정영역 내에 상기 추천 상품들을 표시하는 단계를 포함하는 통합검색서비스를 제공할 수 있다. A product recommendation method of a service server providing an integrated search service according to an embodiment of the present invention includes the steps of receiving a user's search query from an integrated search web page; extracting recommended products corresponding to the search query using a commerce knowledge graph structure; and displaying the recommended products in a setting area of the integrated search web page.

본 발명의 일 실시예에 의한 서비스 서버는, 사용자들이 상품검색을 위해 수행한 검색이력을 저장한 검색로그데이터와, 각각의 상품들의 속성을 포함하는 상품정보를 수집하는 수집부; 상기 검색로그데이터 및 상품정보를 기반으로 설정한 각각의 노드(node)와 상기 노드들 사이의 엣지(edge)를 이용하여, 커머스 지식 그래프 구조(commerce knowledge graph structure)를 생성하는 그래프 구조 생성부; 상기 커머스 지식 그래프 구조 내에 포함된 각각의 노드들을 연결하는 연결경로 내에 설정된 가중치를 이용하여, 상기 노드들 사이의 연관성을 연산하는 연산부; 및 상기 연관성을 이용하여, 사용자가 입력한 검색질의에 대응하는 추천상품들을 제공하는 출력부를 포함할 수 있다. The service server according to an embodiment of the present invention includes a collection unit that collects search log data that stores search history performed by users to search for products, and product information including the attributes of each product; a graph structure generator that generates a commerce knowledge graph structure using each node set based on the search log data and product information and edges between the nodes; a calculation unit that calculates the correlation between the nodes using a weight set in a connection path connecting each node included in the commerce knowledge graph structure; and an output unit that provides recommended products corresponding to the search query entered by the user using the correlation.

덧붙여 상기한 과제의 해결수단은, 본 발명의 특징을 모두 열거한 것이 아니다. 본 발명의 다양한 특징과 그에 따른 장점과 효과는 아래의 구체적인 실시형태를 참조하여 보다 상세하게 이해될 수 있을 것이다.Additionally, the means for solving the above problems do not enumerate all the features of the present invention. The various features of the present invention and the resulting advantages and effects can be understood in more detail by referring to the specific embodiments below.

본 발명의 일 실시예에 의한 상품 추천 방법 및 이를 이용하는 서비스 서버는 커머스 지식 기반 그래프 구조를 이용하므로, 각각의 상품추천 서비스의 목적 등에 따라 유연하게 대응하여 효과적인 상품추천 서비스를 제공하는 것이 가능하다. Since the product recommendation method according to an embodiment of the present invention and the service server using the same use a commerce knowledge-based graph structure, it is possible to provide an effective product recommendation service by flexibly responding to the purpose of each product recommendation service.

본 발명의 일 실시예에 의한 상품 추천 방법 및 이를 이용하는 서비스 서버는, 커머스 지식 기반 그래프 구조를 지속적으로 업데이트하므로 최신 트렌드를 반영한 상품 추천이 가능하다.The product recommendation method according to an embodiment of the present invention and the service server using the same continuously update the commerce knowledge-based graph structure, enabling product recommendation that reflects the latest trends.

본 발명의 일 실시예에 의한 상품 추천 방법 및 이를 이용하는 서비스 서버는, 커머스 지식 기반 그래프 구조 내 노드들 사이의 다차원 관계를 고려하여 연관성을 추출하므로, 상품추천의 품질을 향상시킬 수있다.The product recommendation method according to an embodiment of the present invention and the service server using the same extract correlations by considering multidimensional relationships between nodes in the commerce knowledge-based graph structure, thereby improving the quality of product recommendation.

다만, 본 발명의 실시예들에 따른 상품 추천 방법 및 이를 이용하는 서비스 서버가 달성할 수 있는 효과는 이상에서 언급한 것들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.However, the effects that can be achieved by the product recommendation method and the service server using the same according to the embodiments of the present invention are not limited to those mentioned above, and other effects not mentioned are included in the product recommendation method according to the embodiments of the present invention. It will be clearly understandable to those with ordinary knowledge in the technical field.

도1은 본 발명의 일 실시예에 의한 상품 추천 시스템을 나타내는 개략도이다.
도2는 본 발명의 일 실시예에 의한 서비스 서버를 나타내는 블록도이다.
도3은 본 발명의 일 실시예에 의한 노드를 나타내는 예시도이다.
도4 및 도5는 본 발명의 일 실시예에 의한 노드들 사이의 엣지를 나타내는 예시도이다.
도6은 본 발명의 일 실시예에 의한 지식 기반 그래프 구조를 나타내는 예시도이다.
도7 내지 도9은 본 발명의 일 실시예에 의한 지식 기반 그래프 구조를 이용한 상품 추천 서비스를 나타내는 예시도이다.
도10은 본 발명의 일 실시예에 의한 상품 추천 방법을 나타내는 순서도이다.
도11는 본 발명의 다른 실시예에 의한 상품 추천 방법을 나타내는 순서도이다.
Figure 1 is a schematic diagram showing a product recommendation system according to an embodiment of the present invention.
Figure 2 is a block diagram showing a service server according to an embodiment of the present invention.
Figure 3 is an exemplary diagram showing a node according to an embodiment of the present invention.
Figures 4 and 5 are exemplary diagrams showing edges between nodes according to an embodiment of the present invention.
Figure 6 is an exemplary diagram showing a knowledge-based graph structure according to an embodiment of the present invention.
Figures 7 to 9 are exemplary diagrams showing a product recommendation service using a knowledge-based graph structure according to an embodiment of the present invention.
Figure 10 is a flowchart showing a product recommendation method according to an embodiment of the present invention.
Figure 11 is a flowchart showing a product recommendation method according to another embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 즉, 본 발명에서 사용되는 '부'라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '부'는 어떤 역할들을 수행한다. 그렇지만 '부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '부'들로 결합되거나 추가적인 구성요소들과 '부'들로 더 분리될 수 있다.Hereinafter, embodiments disclosed in the present specification will be described in detail with reference to the attached drawings. However, identical or similar components will be assigned the same reference numbers regardless of reference numerals, and duplicate descriptions thereof will be omitted. The suffixes “module” and “part” for components used in the following description are given or used interchangeably only for the ease of preparing the specification, and do not have distinct meanings or roles in themselves. That is, the term 'unit' used in the present invention refers to a hardware component such as software, FPGA, or ASIC, and the 'unit' performs certain roles. However, 'wealth' is not limited to software or hardware. The 'part' may be configured to reside on an addressable storage medium and may be configured to run on one or more processors. Therefore, as an example, 'part' refers to components such as software components, object-oriented software components, class components and task components, processes, functions, properties, procedures, Includes subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables. The functionality provided within the components and 'parts' may be combined into a smaller number of components and 'parts' or may be further separated into additional components and 'parts'.

또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Additionally, in describing the embodiments disclosed in this specification, if it is determined that detailed descriptions of related known technologies may obscure the gist of the embodiments disclosed in this specification, the detailed descriptions will be omitted. In addition, the attached drawings are only for easy understanding of the embodiments disclosed in this specification, and the technical idea disclosed in this specification is not limited by the attached drawings, and all changes included in the spirit and technical scope of the present invention are not limited. , should be understood to include equivalents or substitutes.

도1은 본 발명의 일 실시예에 의한 상품 추천 시스템을 나타내는 개략도이다. Figure 1 is a schematic diagram showing a product recommendation system according to an embodiment of the present invention.

도1을 참조하면, 본 발명의 일 실시예에 의한 상품 추천 시스템은, 사용자 단말(1) 및 서비스 서버(100)를 포함할 수 있다. Referring to Figure 1, a product recommendation system according to an embodiment of the present invention may include a user terminal 1 and a service server 100.

이하, 도1을 참조하여 본 발명의 일 실시예에 의한 상품 추천 시스템을 설명한다. Hereinafter, a product recommendation system according to an embodiment of the present invention will be described with reference to Figure 1.

사용자 단말(1)은 사용자가 사용하는 단말장치로, 사용자 단말(1)은 유선 또는 무선 통신망을 이용하여 서비스 서버(100) 등과 통신을 수행할 수 있다. 사용자 단말(1)은 정보의 송수신을 위한 브라우저, 프로그램 및 프로토콜을 저장하는 메모리, 각종 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비할 수 있다. The user terminal 1 is a terminal device used by a user, and the user terminal 1 can communicate with the service server 100 and the like using a wired or wireless communication network. The user terminal 1 may be equipped with a browser for transmitting and receiving information, a memory for storing programs and protocols, and a microprocessor for calculating and controlling various programs.

본 발명의 일 실시예에 따른 사용자 단말(1)은 다양한 형태로 구현될 수 있다. 예를들어, 사용자 단말(1)은 스마트 폰(smart phone), 타블렛 PC(Tablet PC), 노트북, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), MP3 Player, 웨어러블 디바이스(wearable device, 예를 들어, 워치형 단말기 (smartwatch), 글래스형 단말기 (smart glass), HMD(head mounted display)) 등의 무선 통신 기술이 적용되는 이동 단말기나, PC, IPTV, 스마트 TV 등과 같이 휴대하기 어려운 디지털 기기일 수 있다.The user terminal 1 according to an embodiment of the present invention may be implemented in various forms. For example, the user terminal 1 may be a smart phone, a tablet PC, a laptop, a personal digital assistant (PDA), a portable multimedia player (PMP), an MP3 player, or a wearable device (e.g. For example, mobile terminals that apply wireless communication technology, such as watch-type terminals (smartwatch), smart glass, and HMD (head mounted display), or digital devices that are difficult to carry, such as PCs, IPTVs, and smart TVs. It can be.

사용자 단말(1)과 서비스 서버(100)는 통신 네트워크를 통해 서로 연결될 수 있다. 통신 네트워크는 유선 네트워크와 무선 네트워크를 포함할 수 있으며, 구체적으로, 근거리 네트워크(LAN: Local Area Network), 도시권 네트워크(MAN: Metropolitan Area Network), 광역 네트워크(WAN: Wide Area Network) 등 다양한 네트워크를 포함할 수 있다. 또한, 통신 네트워크는 공지의 월드 와이드 웹(WWW: World Wide Web)을 포함할 수도 있다. 그러나, 본 발명에 따른 통신 네트워크는 상기 열거된 네트워크에 국한되지 않고, 공지의 무선 데이터 네트워크, 공지의 전화 네트워크, 공지의 유/무선 텔레비전 네트워크 중 적어도 하나를 포함할 수도 있다.The user terminal 1 and the service server 100 may be connected to each other through a communication network. Communication networks may include wired networks and wireless networks, and specifically, various networks such as local area networks (LANs), metropolitan area networks (MANs), and wide area networks (WANs). It can be included. Additionally, the communication network may include the known World Wide Web (WWW). However, the communication network according to the present invention is not limited to the networks listed above, and may include at least one of a known wireless data network, a known telephone network, and a known wired/wireless television network.

사용자 단말(1)은 서비스 서버(100)로부터 제공받은 정보를 기반으로 사용자에게 서비스를 제공할 수 있다. 일 예로, 사용자는 사용자 단말(1)을 이용하여, 서비스 서버(100)가 제공하는 쇼핑 웹 사이트에 접속하거나 쇼핑 전용 어플리케이션을 실행할 수 있으며, 이를 통하여 사용자에게 상품 구매 등 온라인 쇼핑 서비스를 제공할 수 있다. 이 경우, 사용자 단말(1)은 복수의 상품들의 목록을 디스플레이부에 표시할 수 있으며, 사용자가 특정한 상품에 대한 선택입력을 인가하는 경우에는, 선택된 상품의 이미지나 상세한 설명을 포함하는 상품정보 페이지 등을 표시할 수 있다. 실시예에 따라서는, 서비스 서버(100)가 선택된 상품과 관련있는 추천상품을 추출한 후, 추천상품을 사용자 단말(1)의 디스플레이부에 표시하도록 하여, 사용자에게 상품추천 서비스를 제공하는 것도 가능하다. 여기서 상품은 물리적인 형태를 가진 물건 이외에 서비스도 포함할 수 있으며, 디지털 형태로 구현되는 프로그램이나 파일, 서비스 등도 상품에 포함될 수 있다. The user terminal 1 may provide a service to the user based on information provided from the service server 100. As an example, the user can use the user terminal 1 to access a shopping website provided by the service server 100 or run a shopping-specific application, through which online shopping services such as purchasing products can be provided to the user. there is. In this case, the user terminal 1 can display a list of a plurality of products on the display unit, and when the user authorizes a selection input for a specific product, a product information page containing an image or detailed description of the selected product etc. can be displayed. Depending on the embodiment, it is also possible to provide a product recommendation service to the user by having the service server 100 extract recommended products related to the selected product and then display the recommended products on the display unit of the user terminal 1. . Here, products may include services in addition to objects in physical form, and programs, files, and services implemented in digital form may also be included in the product.

추가적으로, 서비스 서버(100)는 통합검색사이트 또는 통합검색 전용 어플리케이션을 운용하는 것일 수 있으며, 사용자 단말(1)은 서비스 서버(100)와의 통신을 통하여 통합검색서비스를 제공할 수 있다. 여기서, 통합검색서비스는 사용자가 입력한 검색질의에 대응하여, 뉴스, 블로그나 카페 게시물, 어학사전, 웹 사이트 등 다양한 카테고리에서의 검색결과를 제공하는 서비스로, 실시예에 따라서는 쇼핑 카테고리의 검색결과를 제공하는 것도 가능하다. 이 경우, 사용자는 쇼핑 카테고리의 검색결과를 바탕으로 온라인 쇼핑 서비스와 상품추천 서비스 등을 제공받을 수 있다.Additionally, the service server 100 may operate an integrated search site or an application dedicated to integrated search, and the user terminal 1 may provide an integrated search service through communication with the service server 100. Here, the integrated search service is a service that provides search results in various categories such as news, blog or cafe posts, language dictionaries, and websites in response to the search query entered by the user. Depending on the embodiment, search in the shopping category. It is also possible to provide results. In this case, the user can be provided with online shopping services and product recommendation services based on the search results of the shopping category.

서비스 서버(100)는 서비스 제공 서버로서, 상품 추천 서비스, 상품 추천 서비스를 포함하는 온라인 쇼핑 서비스, 통합검색서비스 등을 사용자 단말(1)에 제공할 수 있다. 서비스 서버(100)에는 온라인 쇼핑을 통한 상품의 판매를 위하여, 복수의 상품들이 등록되어 있을 수 있으며, 서비스 서버(100)에는 각각의 등록상품에 대응하는 상품정보가 저장되어 있을 수 있다. 저장된 상품정보에는 상품의 이미지, 상품명, 가격, 제조사, 판매처, 상품에 대한 상세한 설명 등 다양한 정보들이 포함될 수 있다. The service server 100 is a service providing server and can provide a product recommendation service, an online shopping service including a product recommendation service, an integrated search service, etc. to the user terminal 1. In order to sell products through online shopping, a plurality of products may be registered in the service server 100, and product information corresponding to each registered product may be stored in the service server 100. Stored product information may include various information such as product image, product name, price, manufacturer, seller, and detailed description of the product.

한편, 서비스 서버(100)는 다양한 상품 추천 서비스를 제공하기 위하여, 커머스 지식 그래프 구조(commerce knowledge graph structure)를 활용할 수 있다. 즉, 사용자가 상품을 검색하기 위해 수행하는 검색활동과 상품들의 상품정보를, 노드(node)와 노드들을 연결하는 엣지(edge)로 표현하여 그래프 구조를 구축할 수 있으며, 이를 이용하여 이질적인 노드들 사이의 연관성 등을 연산할 수 있다. 여기서, 서비스 서버(100)는 각각의 노드들 사이의 연관성을 기반으로 특정상품과 관련된 추천상품들을 추출할 수 있으므로, 사용자 단말(1)들에게 상품 추천 서비스를 제공하는 것이 가능하다. 이하, 본 발명의 일 실시예에 의한 서비스 서버를 구체적으로 설명한다. Meanwhile, the service server 100 may utilize a commerce knowledge graph structure to provide various product recommendation services. In other words, a graph structure can be built by expressing the search activities performed by the user to search for products and the product information of the products as nodes and edges connecting the nodes, and this can be used to construct heterogeneous nodes. You can calculate the correlation between them. Here, the service server 100 can extract recommended products related to a specific product based on the correlation between each node, so it is possible to provide a product recommendation service to the user terminals 1. Hereinafter, a service server according to an embodiment of the present invention will be described in detail.

도2는 본 발명의 일 실시예에 의한 서비스 서버(100)를 나타내는 블록도이다. Figure 2 is a block diagram showing the service server 100 according to an embodiment of the present invention.

도2를 참조하면, 본 발명의 일 실시예에 의한 서비스 서버(100)는, 수집부(110), 그래프 구조 생성부(120), 연산부(130) 및 출력부(140)를 포함할 수 있다. Referring to Figure 2, the service server 100 according to an embodiment of the present invention may include a collection unit 110, a graph structure generation unit 120, an operation unit 130, and an output unit 140. .

수집부(110)는 사용자들이 상품검색을 위해 수행한 검색이력을 저장한 검색로그데이터와, 각각의 상품들의 속성을 포함하는 상품정보를 수집할 수 있다.The collection unit 110 may collect search log data that stores search history performed by users to search for products, and product information including the attributes of each product.

즉, 서비스 서버(100)에 접속한 복수의 사용자 단말(1)들은 상품 검색 등을 위한 다양한 검색활동 등을 수행할 수 있으며, 그에 따른 검색이력 등은 검색로그 데이터로 저장될 수 있다. 따라서, 수집부(110)는 각각의 사용자 단말(1)들의 검색로그 데이터를 수집하여 저장할 수 있다. 여기서, 검색로그데이터에는 사용자가 입력한 검색질의 이력을 포함하는 검색로그, 사용자가 검색결과로부터 나타난 상품들의 목록 중에서 클릭이나 터치 등을 통하여 선택한 상품들의 상품선택로그, 사용자가 하나의 세션 내에서 입력한 일련의 검색질의나 선택한 상품들의 목록인 시퀀스로그 등이 포함될 수 있다. That is, a plurality of user terminals 1 connected to the service server 100 can perform various search activities for product searches, etc., and the resulting search history, etc. can be stored as search log data. Accordingly, the collection unit 110 can collect and store search log data of each user terminal 1. Here, the search log data includes a search log containing the history of search queries entered by the user, a product selection log of products selected by the user through a click or touch from the list of products appearing from the search results, and a log of products entered by the user within one session. It may include a sequence log, which is a series of search queries or a list of selected products.

상품정보의 경우, 판매자 등이 서비스 서버(100)에 상품을 등록할 때 입력하는 것일 수 있으며, 수집부(110)는 판매자의 입력내용으로부터 상품정보를 추출할 수 있다. 여기서, 상품정보에는 상품의 이미지, 상품명, 가격, 제조사, 판매처, 상품에 대한 상세한 설명 등이 포함될 수 있다. In the case of product information, it may be input by a seller, etc. when registering a product on the service server 100, and the collection unit 110 can extract product information from the seller's input. Here, product information may include product image, product name, price, manufacturer, seller, detailed description of the product, etc.

실시예에 따라서는, 수집부(110)가 검색로그 데이터와 상품정보 등을 비정형 데이터 형식으로 입력받은 후, 이들에 대한 데이터 정제를 수행하여 저장하는 것도 가능하다. 데이터 정제는 커머스 지식 그래프 구조를 생성하기 용이하도록 각각의 검색로그데이터와 상품정보를 정제하는 것으로, 검색로그데이터 및 상품정보를 기반으로 각각의 노드(node)와 노드들 사이의 엣지를 설정할 수 있다. Depending on the embodiment, the collection unit 110 may receive search log data and product information in an unstructured data format, then perform data purification and store the data. Data purification is refining each search log data and product information to facilitate creating a commerce knowledge graph structure. Each node and the edges between nodes can be set based on the search log data and product information. .

도3을 참조하면, 검색로그데이터 및 상품정보에 포함되어 있는 각각의 검색질의(query)와, 상품(item), 상품의 속성(attribute), 카테고리(category), 판매자(mall), 브랜드(brand), 제조사(maker), 시리즈(series) 등을 노드로 생성할 수 있다. Referring to Figure 3, each search query, product, product attribute, category, seller, and brand included in the search log data and product information. ), manufacturer, series, etc. can be created as nodes.

엣지는 노드들 사이를 연결하는 것으로, 노드들 사이의 관계(relation)에 따라 각각 상이하게 설정될 수 있다. 즉, 엣지를 이용하면 각각의 노드들 사이를 미리 정의된 관계 중 어느 하나로 표시하는 것이 가능하다.An edge connects nodes, and can be set differently depending on the relationship between nodes. In other words, using edges, it is possible to display one of the predefined relationships between each node.

구체적으로, 도4(a)를 참조하면, 엣지 "adj-view"는 동일한 세션 내에서 사용된 검색질의(query)들 사이의 관계를 정의할 수 있다. 여기서, "adj-view"를 통해 연결되는 각각의 노드들의 순서를 이용하여, 동일한 세션 내에서 사용된 각각의 검색질의들의 순서를 표시하는 것도 가능하다. 예를들어, 사용자가 검색질의로 "쇼파 쿠션"을 입력한 후 다시 "쿠션"을 입력한 경우, "쇼파 쿠션"과 "쿠션"의 순서로 "adj-view"를 연결하여 표시할 수 있다. Specifically, referring to Figure 4(a), the edge "adj-view" can define relationships between search queries used within the same session. Here, it is also possible to display the order of each search query used within the same session using the order of each node connected through "adj-view". For example, if the user enters “sofa cushion” as a search query and then enters “cushion” again, “adj-view” can be displayed by connecting “sofa cushion” and “cushion” in that order.

또한, 각각의 엣지들에는 가중치(weight)가 설정될 수 있으며, 가중치는 엣지의 종류에 따라 상이하게 설정될 수 있다. "adj-view"의 경우, 검색질의의 사용횟수를 기반으로 가중치를 설정할 수 있으며, 커머스 지식 그래프 구조의 최신성을 유지하기 위하여, 최근에 사용된 검색질의들이 보다 많이 반영되도록 가중치를 설정할 수 있다. 예를들어, 동일 세션 내에서 검색질의 "원피스"와"롱원피스"가 순차적으로 검색질의로 입력되는 경우가, 3월15일에 20번, 3월16일에 15번, 3월17일에 10번 발생할수 있다. 이 경우, 검색질의 "원피스"와"롱원피스" 사이의 "adj-view"에 대한 가중치는, (20)*(0.98)*(0.98)+(15)*(0.98)+(10)으로 설정할 수 있다. 즉, 3월17일을 기준으로, 3월17일에 가까울수록 해당 날짜의 사용횟수가 많이 반영되도록 가중치를 설정할 수 있다.Additionally, a weight may be set for each edge, and the weight may be set differently depending on the type of edge. In the case of "adj-view", the weight can be set based on the number of times the search query has been used, and in order to maintain the up-to-dateness of the commerce knowledge graph structure, the weight can be set to reflect more recently used search queries. . For example, in the same session, the search queries "one piece" and "long dress" are entered sequentially as search queries: 20 times on March 15th, 15 times on March 16th, and 15 times on March 17th. It can happen 10 times. In this case, the weight for “adj-view” between the search queries “one piece” and “long dress” is set to (20)*(0.98)*(0.98)+(15)*(0.98)+(10). You can. In other words, based on March 17th, the weight can be set so that the closer it is to March 17th, the more the number of uses on that date is reflected.

도4(b)는 엣지 "co-view"를 나타내는 것으로, "co-view"는 상이한 세션에서 동일한 상품을 검색하기 위해 사용된 검색질의들 사이의 관계를 정의할 수 있다. 예를들어, 사용자들이 특정한 쿠션 A를 클릭한 경우, 해당 쿠션 A를 검색하기 위하여 사용한 검색질의를 확인할 수 있으며, 이때 사용자들은 각각 "삼각 쿠션", "삼각 등받이 쿠션", "쿠션"을 입력했을 수 있다. 즉, "삼각 쿠션", "삼각 등받이 쿠션", "쿠션"은 각각 상이한 검색질의에 해당하지만, 사용자는 해당 검색질의에 따른 검색결과에서 동일한 쿠션 A를 선택하였으므로, "삼각 쿠션", "삼각 등받이 쿠션", "쿠션"은 서로 유사한 관계에 있는 것으로 볼 수 있다. 따라서, "삼각 쿠션", "삼각 등받이 쿠션", "쿠션"을 각각 "co-view"로 연결하여 표시할 수 있다. Figure 4(b) shows an edge “co-view”, where “co-view” can define a relationship between search queries used to search for the same product in different sessions. For example, when users click on a specific cushion A, they can check the search query used to search for that cushion A. At this time, users entered "triangle cushion", "triangle backrest cushion", and "cushion" respectively. You can. In other words, “triangle cushion”, “triangle backrest cushion”, and “cushion” each correspond to different search queries, but the user selected the same cushion A from the search results according to the search query, so “triangle cushion”, “triangle backrest” “Cushion” and “cushion” can be seen as having a similar relationship with each other. Therefore, “triangular cushion”, “triangular backrest cushion”, and “cushion” can be displayed by connecting them to “co-view”, respectively.

여기서, "co-view"에 대한 가중치는, 각각의 검색질의가 상품을 선택하기 위해 사용된 횟수를 기반으로 설정될 수 있다. 예를들어, B 상품이 하루동안 검색질의 "원피스"로 10번 클릭되고, 검색질의 "롱원피스"로 15번 클릭되었으면 (10*15)/(B 상품이 하루동안 클릭된 총 횟수)을 중간결과값으로 연산할 수 있다. 이후, B 상품 이외에 "원피스"와 "롱원피스"로 검색되어 동일하게 클릭된 다른 상품들 전체에 대하여도 중간결과값들을 연산하고, 각각의 중간결과값들을 합하여 "원피스"와 "롱원피스"의 "co-view"에 대한 일별 가중치를 구할 수 있다. 이후, 일별 가중치들을 합하여 가중치를 설정할 수 있으며, 이때 커머스 지식 그래프 구조의 최신성을 유지하기 위하여, 최근의 일별 가중치가 더 많이 반영되도록 가중치를 설정할 수 있다. Here, the weight for “co-view” can be set based on the number of times each search query is used to select a product. For example, if product B was clicked 10 times per day with the search query "one piece" and 15 times with the search query "long dress", the middle value is (10*15)/(total number of times product B was clicked per day). You can calculate with the result value. Afterwards, in addition to product B, intermediate result values are calculated for all other products that were searched for as "one piece" and "long dress" and clicked on in the same way, and the intermediate result values are added together to determine "one piece" and "long dress". You can obtain daily weights for “co-view”. Afterwards, the weights can be set by summing the daily weights. At this time, in order to maintain the up-to-dateness of the commerce knowledge graph structure, the weights can be set to reflect more recent daily weights.

도4(c)는 엣지 "specialize"를 나타내는 것으로, "specialize"는 상위-하위 개념을 구성하는 검색질의들 사이의 관계를 나타낼 수 있다. 예를들어, "패딩"과 "롱패딩"이 각각 검색질의로 사용될 수 있으며, "롱패딩"은 "패딩"의 한 종류에 해당하는 것으로 볼 수 있다. 즉, "패딩"은 "롱패딩"의 상위 개념이고, "롱패딩"은 "패딩"의 하위 개념에 해당하므로, "패딩"과 "롱패딩"을 서로 "specialize"로 연결하여 상위-하위 개념에 해당함을 나타낼 수 있다. 여기서, 상위개념과 하위개념의 구분은 transE 모델 등 활용하여 학습시킬 수 있으며, 실시예에 따라서는, transE 모델에서 학습한 각각의 노드들 사이의 L1 distance를 가중치로 설정할 수 있다. Figure 4(c) shows the edge "specialize", and "specialize" may represent the relationship between search queries constituting the upper-lower concept. For example, “padding” and “long padding” can each be used as a search query, and “long padding” can be viewed as a type of “padding.” In other words, "padding" is a higher concept of "long padding", and "long padding" is a lower concept of "padding", so "padding" and "long padding" are connected to each other as "specialize" to form a higher-lower concept. It can be indicated that it corresponds to . Here, the distinction between high-level and low-level concepts can be learned using the transE model, etc., and depending on the embodiment, the L1 distance between each node learned from the transE model can be set as a weight.

도5(a)는 엣지 "click"을 나타내는 것으로, "click"은 검색질의와 해당 검색질의에 의한 검색결과 중, 사용자의 클릭이나 터치 등에 의해 선택된 상품의 상품정보 사이의 관계를 나타낼 수 있다. 예를들어, 사용자는 검색질의로 "패딩"을 입력할 수 있으며, 검색결과로 나타나는 상품들의 목록 중에서 A 상품을 선택할 수 있다. 이 경우, "패딩"과 A 상품을 "click"으로 연결하고, 추가로 A 상품의 상품정보인 상품 카테고리, 판매사, 제조사 등을 "click"으로 연결하여 표시할 수 있다. 이때, "click"의 가중치는 사용자가 클릭이나 터치 등으로 해당 상품을 선택한 선택횟수를 기반으로 설정할 수 있다. 여기서, 최신성을 반영하기 위하여 과거의 선택횟수는 최근의 선택횟수보다 적게 반영될 수 있다. 예를들어, 특정상품 A가 3월15일에 20번, 3월16일에 15번, 3월17일에 10번 선택된 경우, 해당 특정상품 A와 각각의 상품정보 사이의 "click"에 대해 (20)*(0.98)*(0.98)+(15)*(0.98)+(10)을 가중치로 설정할 수 있다.Figure 5(a) shows an edge "click", and "click" may represent the relationship between a search query and product information of a product selected by a user's click or touch, etc. among the search results based on the search query. For example, a user can enter “padding” as a search query and select product A from the list of products that appear as search results. In this case, “padding” and product A can be connected with “click”, and additionally, the product category, seller, manufacturer, etc., which are product information of product A, can be connected and displayed with “click”. At this time, the weight of “click” can be set based on the number of times the user selects the product by clicking or touching. Here, in order to reflect recency, the number of past selections may be reflected less than the recent selection number. For example, if specific product A is selected 20 times on March 15th, 15 times on March 16th, and 10 times on March 17th, about the “click” between the specific product A and each product information. (20)*(0.98)*(0.98)+(15)*(0.98)+(10) can be set as the weight.

도5(b)는 엣지 "query-is"를 나타내는 것으로, "query-is"는 검색질의와 해당 검색 질의 내에 포함된 상품정보 사이의 관계를 나타낼 수 있다. 예를들어, 검색질의가 "A사 원피스"인 경우, "A사"는 상품정보 중 제조사에 해당하고 "원피스"는 상품의 카테고리에 해당한다. 따라서, "query-is"를 이용하여 해당 검색질의가 상품의 제조사와 카테고리를 포함하고 있음을 나타낼 수 있다. 여기서, "query-is"의 가중치는 검색 질의 내에 포함된 상품정보 중에서 해당하는 항목에 대하여는 1로 설정하고, 해당하지 않는 항목에 대하여는 0으로 설정할 수 있다. Figure 5(b) shows the edge "query-is", where "query-is" may represent the relationship between a search query and product information included in the search query. For example, if the search query is “Company A one-piece,” “Company A” corresponds to the manufacturer in the product information, and “Dress” corresponds to the product category. Therefore, “query-is” can be used to indicate that the search query includes the manufacturer and category of the product. Here, the weight of “query-is” can be set to 1 for applicable items among product information included in the search query, and 0 for non-applicable items.

다만, 엣지는 도4 및 도5에 나타난 5가지에 한정되는 것은 아니며, 실시예에 따라 다양하게 추가, 변경 등이 가능하다. 또한, 각각의 엣지에 대한 가중치도 실시예에 따라 다양한 방식으로 설정가능하다. However, the edges are not limited to the five types shown in Figures 4 and 5, and various additions and changes are possible depending on the embodiment. Additionally, the weight for each edge can be set in various ways depending on the embodiment.

그래프 구조 생성부(120)는 각각의 노드와 노드들 사이의 엣지를 이용하여, 커머스 지식 그래프 구조를 생성할 수 있다. 예를들어, 수집부(120)에서 수집한 각각의 검색질의와 상품정보로부터 각각의 노드들을 표시하고, 이들 노드들 사이를 "co-view", "adj-view", "click", "query-is" 등의 엣지로 연결하는 방식으로 커머스 지식 그래프 구조를 생성할 수 있다. 여기서, 각각의 엣지들 사이에는 가중치가 부여될 수 있으며, 가중치에는 사용자들이 사용하는 각각의 검색질의의 횟수나, 특정 상품에 대한 클릭횟수 등의 빈도속성이 반영되어 있을 수 있다. 도6은 본 발명의 일 실시예에 의한 커머스 지식 그래프 구조를 나타내는 예시도이다.The graph structure generator 120 may generate a commerce knowledge graph structure using each node and the edges between nodes. For example, each node is displayed from each search query and product information collected by the collection unit 120, and “co-view”, “adj-view”, “click”, and “query” are used between these nodes. You can create a commerce knowledge graph structure by connecting to edges such as "-is". Here, a weight may be assigned between each edge, and the weight may reflect frequency attributes such as the number of each search query used by users or the number of clicks on a specific product. Figure 6 is an exemplary diagram showing the structure of a commerce knowledge graph according to an embodiment of the present invention.

그래프 구조 생성부(120)는, 설정이벤트 발생시, 커머스 지식 그래프 구조의 노드, 엣지, 가중치 등을 업데이트할 수 있다. 설정이벤트는 일정한 시간간격의 도래(예를들어, 24시간 마다)나 서비스 서버(100) 운용자의 업데이트 요청 등일 수 있으며, 이외에도 다양한 설정이벤트 발생시 커머스 지식그래프 구조에 대한 업데이트를 수행할 수 있다. 즉, 쇼핑 트렌드나 사용자의 쇼핑행동 등은 시시각각 변화할 수 있으므로, 커머스 지식 그래프를 지속적으로 업데이트하여, 이를 반영하도록 할 수 있다.The graph structure generator 120 may update nodes, edges, weights, etc. of the commerce knowledge graph structure when a setting event occurs. The setting event may be the arrival of a certain time interval (for example, every 24 hours) or an update request from the service server 100 operator. In addition, when various setting events occur, the commerce knowledge graph structure can be updated. In other words, since shopping trends and user shopping behavior can change from time to time, the commerce knowledge graph can be continuously updated to reflect this.

연산부(130)는 커머스지식 그래프 구조 내 포함된 각각의 노드들 사이의 연관성을 연산할 수 있다. 구체적으로, 연산부(130)는 각각의 노드들을 연결하는 연결경로 내에 포함되는 엣지에 설정된 가중치를 추출할 수 있으며, 가중치를 이용하여 각각의 노드들 사이의 연관성을 연산할 수 있다. 실시예에 따라서는, 연관성 추출 알고리즘에 이용하여 연관성을 연산하는 것도 가능하다. 여기서, 연관성 추출 알고리즘은 각각의 노드들 사이의 가중치를 반영한 엣지 스코어(edge score)를 연산하여 노드들 사이의 연관성을 정량적으로 표현할 수 있다.The calculation unit 130 can calculate the correlation between each node included in the commerce knowledge graph structure. Specifically, the calculation unit 130 can extract a weight set on an edge included in a connection path connecting each node, and use the weight to calculate the correlation between each node. Depending on the embodiment, it is also possible to calculate the correlation using a correlation extraction algorithm. Here, the correlation extraction algorithm can quantitatively express the correlation between nodes by calculating an edge score that reflects the weight between each node.

구체적으로, 연산부(130)는 Inverse log-weighted similarity, personalized page-rank, personalized katz centrality, Dijsktra similarity 등을 연관성 추출 알고리즘으로 활용할 수 있다.Specifically, the calculation unit 130 may utilize inverse log-weighted similarity, personalized page-rank, personalized katz centrality, Dijsktra similarity, etc. as a correlation extraction algorithm.

Inverse log-weighted similarity는 연관성을 연산하고자 하는 대상 노드들 사이에 공통된 이웃 노드들을 추출하고, 공통된 이웃 노드들이 얼마나 많은가에 따라 대상 노드 간 연관성을 측정하는 것일 수 있다. 여기서, 공통된 이웃 노드가 다른 노드들과의 연결경로가 많은 high-degree neighbor 인 경우보다는, 다른 노드들과의 연결경로가 적은 low-degree neibor 인 경우에 가중치를 부여할 수 있다. 즉, high-degree neighbor인 경우는 대상 노드들과 우연히 연결될 가능성이 높기 때문에, 이웃 노드들이 low-degree neighbor에 해당할수록 연관성이 높은 것으로 판별할 수 있다. Inverse log-weighted similarity may extract common neighboring nodes between target nodes for which correlation is to be calculated and measure the correlation between target nodes depending on how many common neighboring nodes there are. Here, weight can be assigned to the case where the common neighbor node is a low-degree neighbor with few connection paths to other nodes, rather than to the case where the common neighbor node is a high-degree neighbor with many connection paths to other nodes. In other words, in the case of a high-degree neighbor, there is a high possibility of being accidentally connected to the target nodes, so the closer the neighboring nodes are to low-degree neighbors, the higher the correlation can be determined.

personalized page-rank는 노드 간 이어진 모든 연결경로와 각 연결경로의 가중치를 고려하여 추출된 엣지스코어를 이용하여 노드 사이의 연관성을 측정하는 방법에 해당한다. Personalized page-rank corresponds to a method of measuring the correlation between nodes using an edge score extracted by considering all connection paths between nodes and the weight of each connection path.

personalized katz centrality는 노드 간 이어진 모든 연결경로와 각 연결경로의 가중치를 고려하여 추출된 엣지스코어를 이용하여 노드 간 연관성을 측정하는 방법으로, 구하고자 하는 연결경로 상에서 노드 간 거리가 멀어질수록 패널티를 부여하는 방법에 해당한다. Personalized katz centrality is a method of measuring the correlation between nodes using edge scores extracted by considering all connection paths between nodes and the weight of each connection path. As the distance between nodes on the connection path to be obtained increases, a penalty is applied. It corresponds to the method of granting.

Dijsktra similarity는 주어진 두 개의 노드가 같이 발생할 가장 높은 확률을 dijkstra's algorithm으로 연산하여, 해당 노드 간 연관성를 측정하는 방법이다. 즉, 노드 간 가중치를 두 개의 노드가 같이 발생할 확률로 설정하고, 노드 간 연결경로 상에 존재하는 가중치들을 곱하여 엣지스코어를 연산할 수 있다. Dijsktra similarity is a method of measuring the correlation between the nodes by calculating the highest probability that two given nodes will occur together using Dijkstra's algorithm. In other words, the weight between nodes can be set to the probability of two nodes occurring together, and the edge score can be calculated by multiplying the weights existing on the connection path between nodes.

한편, 연산부(130)는 도2에 도시한 바와 같이, 복수의 연산모듈들을 포함할 수 있으며, 각각의 연산모듈을 이용하여 노드들 사이의 연관성을 각각 상이하게 생성하는 것도 가능하다. 즉, 서비스서버(100)가 제공하고자 하는 상품추천 서비스는 복수개 존재할 수 있으며, 각각의 상품추천 서비스는 상이한 방식으로 추천 상품들을 추출하는 것일 수 있다. 따라서, 각각의 연산모듈은 개별 상품 추천 서비스의 목적에 따라 상이하게 각각의 노드들 사이의 연관성을 생성하도록 설계될 수 있다. 이를 위하여, 각각의 연산모듈들은 커머스 지식 그래프 구조에 대한 가중치와 연관성 추출 알고리즘을 각각 상이하게 적용할 수 있다. Meanwhile, the calculation unit 130 may include a plurality of calculation modules, as shown in FIG. 2, and it is also possible to create different associations between nodes using each calculation module. In other words, there may be a plurality of product recommendation services that the service server 100 wishes to provide, and each product recommendation service may extract recommended products in a different way. Accordingly, each calculation module may be designed to create associations between each node differently depending on the purpose of the individual product recommendation service. To this end, each calculation module can apply different weights and correlation extraction algorithms to the commerce knowledge graph structure.

예를들어, personalized page-rank와 Inverse log-weighted similarity를 이용하여, 커머스 지식그래프 구조 내에 포함된 "원피스" 검색질의와 가까운 검색질의를 추출하는 경우, 아래 표1과 같은 결과가 나타날 수 있다. For example, when using personalized page-rank and inverse log-weighted similarity to extract search queries that are close to the "one piece" search query included in the commerce knowledge graph structure, the results can appear as shown in Table 1 below.

순위ranking personalized page-rankpersonalized page-rank Inverse log-weighted similarityInverse log-weighted similarity 1One 겨울원피스winter dress 겨울여아원피스Winter girls dress 22 여아원피스Girl's dress 공주드레스princess dress 33 원피스one piece 여아코트Girls coat 44 하객원피스Wedding guest dress 공주옷princess clothes 55 니트원피스Knit dress 여아맨투맨Girl's sweatshirt 66 겨울여아원피스Winter girls dress 여아샤원피스Girl's Asha dress 77 롱원피스Long dress 아동드레스children's dress

여기서, personalized page-rank에 의한 결과보다는 Inverse log-weighted similarity의 결과가 사용자에게 의외성을 주는 것으로 해석할 수 있다. 즉, Inverse log-weighted similarity는 공통된 이웃 노드를 기반으로 유사도를 측정하는 것으로, high-degree neighbor보다 low-degree neighbor가 겹치는 것이 더 유사하다고 가정하기 때문이다. 이와같이, 동일한 커머스 지식 그래프 구조인 경우에도 각각의 연관성 추출 알고리즘에 따라 상이한 결과를 나타내므로, 상품추천서비스의 종류에 따라 연관성 추출 알고리즘을 선택적으로 적용함으로서, 효과적인 상품추천 서비스를 제공하도록 할 수 있다. Here, the results of inverse log-weighted similarity can be interpreted as giving users more surprises than the results of personalized page-rank. In other words, inverse log-weighted similarity measures similarity based on common neighboring nodes and assumes that overlapping low-degree neighbors are more similar than high-degree neighbors. In this way, even in the case of the same commerce knowledge graph structure, different results are shown depending on each correlation extraction algorithm, so an effective product recommendation service can be provided by selectively applying the correlation extraction algorithm depending on the type of product recommendation service.

출력부(140)는 각각의 노드들 사이의 연관성을 이용하여, 사용자가 입력한 검색질의에 대응하는 추천상품들을 제공할 수 있다. 예를들어, 커머스 지식그래프 구조 내에서, 사용자가 입력한 검색질의에 해당하는 노드와 가장 연관성이 높은 상품들의 노드를 추출하여 추천상품으로 제공할 수 있다. 또한, 실시예에 따라서는, 커머스 지식그래프 구조 내에서, 검색질의와 가장 연관성이 높은 키워드나 태그 등을 추출한 후, 해당 키워드나 태그에 대응하는 상품들을 추출하는 등의 방식으로 추천상품들을 제공하는 것도 가능하다.The output unit 140 can use the correlation between each node to provide recommended products corresponding to the search query entered by the user. For example, within the commerce knowledge graph structure, the nodes of products most closely related to the node corresponding to the search query entered by the user can be extracted and provided as recommended products. In addition, depending on the embodiment, recommended products are provided by extracting keywords or tags most relevant to the search query within the commerce knowledge graph structure and then extracting products corresponding to the keywords or tags. It is also possible.

한편, 연산부(130) 내에 복수의 연산모듈을 포함하는 경우에는, 각각의 연산모듈에서 연산한 연관성이 상이할 수 있으며, 출력부(140)는 이에 따라 각각 상이한 추천상품을 추출할 수 있다, 따라서, 출력부(140)는 각각의 연산모듈을 활용하여 복수의 서로 다른 상품추천 서비스를 제공하는 것이 가능하다. 예를들어, 출력부(140)가 제공하는 상품추천서비스에는 반응형 추천 서비스, 트렌드 추천 서비스, 선물추천 서비스 등이 포함될 수 있다. On the other hand, when a plurality of calculation modules are included in the calculation unit 130, the correlation calculated by each calculation module may be different, and the output unit 140 can extract different recommended products accordingly. Therefore, , the output unit 140 is capable of providing a plurality of different product recommendation services by utilizing each calculation module. For example, the product recommendation service provided by the output unit 140 may include a responsive recommendation service, a trend recommendation service, and a gift recommendation service.

반응형 추천 서비스는 사용자가 입력한 검색질의에 따라 검색결과를 제공한 후, 사용자가 특정 상품을 선택하고 다시 검색결과로 돌아오면, 해당 검색결과의 하단 등 설정영역 내에 추천상품들을 표시하는 상품추천 서비스에 해당한다. 구체적으로, 도7(a)를 참조하면, 사용자는 통합검색페이지 내에 "패딩"을 검색질의로 입력할 수 있으며, 이 경우 서비스 서버(100)는 "패딩"에 대응하는 상품목록을 검색결과페이지의 쇼핑 카테고리 내에 제공할 수 있다. 이후, 사용자는 표시된 상품목록 중에서 특정 상품을 선택하여 확인한 후, 다시 검색결과 페이지로 돌아올 수 있다. 이때, 서비스 서버(100)는 도7(b)에 도시한 바와 같이, 선택된 특정 상품과 관련된 추천상품들을 표시하여 제공할 수 있다.Responsive recommendation service provides search results according to the search query entered by the user, and then, when the user selects a specific product and returns to the search results, product recommendation displays recommended products in a setting area such as the bottom of the search result. Applies to service. Specifically, referring to Figure 7(a), the user can enter "padding" as a search query in the integrated search page, and in this case, the service server 100 provides a list of products corresponding to "padding" on the search results page. It can be provided within the shopping category. Afterwards, the user can select and confirm a specific product from the displayed product list and then return to the search results page. At this time, the service server 100 may display and provide recommended products related to the selected specific product, as shown in FIG. 7(b).

트렌드 추천 서비스는 사용자가 입력한 검색질의에 따라 검색결과를 제공하면서, 해당 검색질의와 미리 설정된 트렌드 태그를 비교할 수 있으며, 검색질의와 관련있는 것으로 판별되는 트렌드 태그를 추출할 수 있다. 이후, 상품정보 내에 해당 트렌드 테그를 포함하는 상품들을 추출하여 추천상품으로 제공할 수 있다. 즉, 도8(a)를 참조하면, 사용자는 통합검색페이지내에 "디YYYYXX 패딩"을 검색질의로 입력할 수 있으며, 이 경우 서비스 서버(100)는 쇼핑 카테고리 내에 "디YYYYXX 패딩"에 대응하는 상품목록을 검색결과페이지 내에 제공할 수 있다. 이때, 서비스 서버(100)는 "디YYYYXX"이 제조사, "패딩"은 카테고리에 해당하는 것으로 구분할 수 있으며, 이를 각각 트렌드 태그와 비교하여 "디YYYYXX", "패딩"과 연관성이 높은 트렌드 태그를 추출할 수 있다. 이후, 도8(b)에 도시한 바와 같이, 검색결과 페이지의 하단 등 설정영역 내에 해당 트렌드 태그를 포함하는 상품들을 추천상품으로 표시하여 사용자에게 제공할 수 있다. The trend recommendation service provides search results according to the search query entered by the user, compares the search query with preset trend tags, and extracts trend tags determined to be related to the search query. Afterwards, products containing the corresponding trend tag can be extracted from the product information and provided as recommended products. That is, referring to Figure 8(a), the user can enter "DYYYYXX padding" as a search query in the integrated search page, and in this case, the service server 100 provides a search query corresponding to "DYYYYXX padding" in the shopping category. A product list can be provided within the search results page. At this time, the service server 100 can distinguish that “DYYYYXX” corresponds to the manufacturer and “padding” corresponds to the category, and compares them with the trend tags to determine trend tags that are highly correlated with “DYYYYXX” and “padding”. It can be extracted. Thereafter, as shown in Figure 8(b), products including the corresponding trend tag within a setting area such as the bottom of the search results page can be displayed as recommended products and provided to the user.

선물추천 서비스는 추석 등의 명절이나 발렌타인 데이, 어버이날 등 기념일에 사용자들이 선물로 많이 구매하는 상품들을 추천하는 서비스에 해당한다. 구체적으로, 도9(a)에 도시한 바와 같이, 사용자는 "추석 선물" 등을 검색질의를 입력할 수 있으며, 이 경우 서비스 서버(100)는 "추석 선물"과 하위관계에 해당하는 트렌드 태그들을 추출할 수 있다. 이후, 도9(b)에 도시한 바와 같이, 하위관계에 해당하는 트렌드 태그를 포함하는 상품들을 추천상품으로 제공할 수 있다. The gift recommendation service is a service that recommends products that users frequently purchase as gifts on holidays such as Chuseok or anniversaries such as Valentine's Day and Parents' Day. Specifically, as shown in Figure 9(a), the user may enter a search query such as "Chuseok gift", and in this case, the service server 100 creates a trend tag corresponding to a sub-relationship with "Chuseok gift". can be extracted. Afterwards, as shown in Figure 9(b), products including trend tags corresponding to subordinate relationships can be provided as recommended products.

이외에도, 출력부(140)는 다양한 종류의 상품추천서비스 등을 제공할 수 있으며, 각각의 상품추천서비스를 제공하기 위한 연산모듈은 각각 상이하게 지정될 수 있다. 즉, 각각의 상품추천서비스에 대응하도록 각각의 연산모듈이 설계되어 적용될 수 있다In addition, the output unit 140 can provide various types of product recommendation services, etc., and operation modules for providing each product recommendation service can be designated differently. In other words, each calculation module can be designed and applied to correspond to each product recommendation service.

도10은 본 발명의 일 실시예에 의한 상품 추천 방법을 나타내는 순서도이다. 여기서, 각 단계는 본 발명의 일 실시예에 의한 서비스 서버에 의하여 수행될 수 있다. Figure 10 is a flowchart showing a product recommendation method according to an embodiment of the present invention. Here, each step may be performed by a service server according to an embodiment of the present invention.

도10을 참조하면, 서비스 서버는 사용자들이 상품검색을 위해 수행한 검색이력을 저장한 검색로그데이터와, 각각의 상품들의 속성을 포함하는 상품정보를 수집할 수 있다(S110). 여기서, 검색로그데이터에는 사용자가 입력한 검색질의 이력을 포함하는 검색로그, 사용자가 검색결과로부터 나타난 상품들의 목록 중에서 클릭이나 터치 등을 통하여 선택한 상품들의 상품선택로그, 사용자가 하나의 세션 내에서 입력한 일련의 검색질의나 선택한 상품들의 목록인 시퀀스로그 등이 포함될 수 있다. Referring to Figure 10, the service server can collect search log data that stores search history performed by users to search for products, and product information including the attributes of each product (S110). Here, the search log data includes a search log containing the history of search queries entered by the user, a product selection log of products selected by the user through a click or touch from the list of products appearing from the search results, and a log of products entered by the user within one session. It may include a sequence log, which is a series of search queries or a list of selected products.

상품정보의 경우, 판매자 등이 서비스 서버에 상품을 등록할 때 입력하는 것일 수 있으며, 서비스 서버는 판매자의 입력내용으로부터 상품정보를 추출할 수 있다. 여기서, 상품정보에는 상품의 이미지, 상품명, 가격, 제조사, 판매처, 상품에 대한 상세한 설명 등이 포함될 수 있다. In the case of product information, it may be entered by a seller, etc. when registering a product on a service server, and the service server may extract product information from the seller's input. Here, product information may include product image, product name, price, manufacturer, seller, detailed description of the product, etc.

실시예에 따라서는, 서비스 서버가 검색로그 데이터와 상품정보 등을 비정형 데이터 형식으로 입력받은 후, 이들에 대한 데이터 정제를 수행한 후 저장하는 것도 가능하다. 데이터 정제는 커머스 지식 그래프 구조를 생성하기 용이하도록 각각의 검색로그데이터와 상품정보를 정제하는 것으로, 검색로그데이터 및 상품정보를 기반으로 각각의 노드와 노드들 사이의 엣지를 설정할 수 있다. Depending on the embodiment, it is possible for the service server to receive search log data and product information in an unstructured data format, then clean the data and store it. Data purification is refining each search log data and product information to facilitate creating a commerce knowledge graph structure. Each node and the edges between nodes can be set based on the search log data and product information.

여기서 서비스 서버는, 검색로그데이터 및 상품정보에 포함되어 있는 각각의 검색질의(query)와, 상품(item), 상품의 속성(attribute), 카테고리(category), 판매자(mall), 브랜드(brand), 제조사(maker), 시리즈(series) 등을 노드로 생성할 수 있다.Here, the service server includes each search query, product, product attribute, category, seller, and brand included in the search log data and product information. , manufacturer, series, etc. can be created as nodes.

엣지는 노드들 사이를 연결하는 것으로, 노드들 사이의 관계에 따라 각각 상이하게 설정될 수 있다. 즉, 엣지를 이용하면 각각의 노드들 사이를 미리 정의된 관계 중 어느 하나로 표시하는 것이 가능하다. 구체적으로, 엣지에는 동일한 세션 내에서 사용된 검색질의들 사이의 관계를 나타내는 "adj-view", 상이한 세션에서 동일한 상품을 검색하기 위해 사용된 검색질의들 사이의 관계를 나타내는 "co-view", 상위-하위 개념을 구성하는 검색질의들 사이의 관계를 나타내는 "specialized", 검색질의와 해당 검색질의에 의한 검색결과 중 사용자의 클릭이나 터치 등에 의해 선택된 상품의 상품정보 사이의 관계를 나타내는 "click", 검색질의와 해당 검색 질의 내에 포함된 상품정보 사이의 관계를 나타내는 "query-is" 등을 포함할 수 있다. 다만, 엣지는 이에 한정되는 것은 아니며, 실시예에 따라 다양하게 추가, 변경 등이 가능하다.An edge connects nodes, and can be set differently depending on the relationship between nodes. In other words, using edges, it is possible to display one of the predefined relationships between each node. Specifically, the edge includes "adj-view", which represents the relationship between search queries used within the same session, "co-view", which represents the relationship between search queries used to search for the same product in different sessions, “specialized,” which represents the relationship between search queries that constitute a parent-child concept; “click,” which represents the relationship between a search query and the product information of a product selected by a user’s click or touch among the search results based on the search query; , “query-is”, etc., which indicates the relationship between a search query and product information included in the search query. However, the edge is not limited to this, and various additions and changes are possible depending on the embodiment.

서비스 서버는 검색로그데이터 및 상품정보를 기반으로 설정한 각각의 노드와 노드들 사이의 엣지를 이용하여, 커머스 지식 그래프 구조를 생성할 수 있다(S120). 여기서 커머스 지식 그래프 구조는 설정이벤트 발생시, 노드, 엣지, 엣지의 가중치 등을 업데이트할 수 있다. 설정이벤트는 일정한 시간간격의 도래나 서비스 서버 운용자의 업데이트 요청 등일 수 있다. 쇼핑 트렌드나 사용자의 쇼핑행동 등은 시시각각 변화할 수 있으므로, 커머스 지식 그래프를 지속적으로 업데이트하여, 이를 반영하도록 할 수 있다.The service server can create a commerce knowledge graph structure using each node and the edges between nodes set based on search log data and product information (S120). Here, the commerce knowledge graph structure can update nodes, edges, and edge weights when a setting event occurs. The configuration event may be the arrival of a certain time interval or an update request from the service server operator. Since shopping trends and user shopping behavior can change from moment to moment, the commerce knowledge graph can be continuously updated to reflect this.

서비스 서버는 커머스 지식 그래프 구조 내에 포함된 각각의 노드들을 연결하는 연결경로 내에 설정된 가중치를 이용하여, 노드들 사이의 연관성을 연산할수 있다(S130). 구체적으로, 서비스 서버는 연결경로 내 포함된 엣지들의 가중치를 추출할 수 있으며, 가중치를 이용하여 각각의 노드들 사이의 연관성을 연산할 수 있다. 실시예에 따라서는, 연관성 추출 알고리즘에 적용하여 노드들 사이의 연관성을 연산하도록 할 수 있다. 여기서, 연관성 추출 알고리즘은 각각의 엣지들에 대한 가중치를 반영한 엣지 스코어(edge score)를 연산하여, 노드들 사이의 연관성을 정량적으로 표현할 수 있다.The service server can calculate the correlation between nodes using the weight set in the connection path connecting each node included in the commerce knowledge graph structure (S130). Specifically, the service server can extract the weights of edges included in the connection path, and use the weights to calculate the correlation between each node. Depending on the embodiment, a correlation extraction algorithm may be applied to calculate the correlation between nodes. Here, the correlation extraction algorithm can quantitatively express the correlation between nodes by calculating an edge score that reflects the weight of each edge.

구체적으로, 서비스 서버는 Inverse log-weighted similarity, personalized page-rank, personalized katz centrality, Dijsktra similarity 등을 연관성 추출 알고리즘으로 활용할 수 있다.Specifically, the service server can utilize inverse log-weighted similarity, personalized page-rank, personalized katz centrality, and Dijsktra similarity as correlation extraction algorithms.

한편, 서비스 서버는 복수의 연산모듈들을 포함할 수 있으며, 각각의 연산모듈을 이용하여 노드들 사이의 연관성을 각각 상이하게 생성할 수 있다. 즉, 서비스서버가 제공하는 상품추천 서비스는 복수개 존재할 수 있으며, 각각의 상품추천 서비스는 상이한 방식으로 추천 상품들을 추출하는 것일 수 있다. 따라서, 각각의 연산모듈은 개별 상품 추천 서비스의 목적에 따라 상이하게 각각의 노드들 사이의 연관성을 생성하도록 설계될 수 있다. 이를 위하여, 각각의 연산모듈들은 커머스 지식 그래프 구조에 대한 가중치와 연관성 추출 알고리즘을 각각 상이하게 적용할 수 있다. Meanwhile, the service server may include a plurality of computation modules, and each computation module can be used to create different associations between nodes. In other words, there may be a plurality of product recommendation services provided by the service server, and each product recommendation service may extract recommended products in a different way. Accordingly, each calculation module may be designed to create associations between each node differently depending on the purpose of the individual product recommendation service. To this end, each calculation module can apply different weights and correlation extraction algorithms to the commerce knowledge graph structure.

서비스 서버는 연관성을 이용하여, 사용자가 입력한 검색질의에 대응하는 추천상품들을 제공할 수 있다(S140). 여기서, 서비스 서버 내에 복수의 연산모듈을 포함하는 경우에는, 각각의 연산모듈에서 연산한 연관성에 따라 각각 상이한 추천상품을 추출할 수 있으며, 이를 활용하여 복수의 서로 다른 상품추천 서비스를 제공하는 것이 가능하다. 예를들어, 서비스 서버가 제공하는 상품추천서비스에는 반응형 추천 서비스, 트렌드 추천 서비스, 선물추천 서비스 등이 포함될 수 있다. 다만, 이에 한정되는 것은 아니며 서비스 서버는 다양한 종류의 상품추천서비스 등을 제공할 수 있다. The service server can use the correlation to provide recommended products corresponding to the search query entered by the user (S140). Here, when multiple calculation modules are included in the service server, different recommended products can be extracted according to the correlation calculated by each calculation module, and by utilizing this, it is possible to provide multiple different product recommendation services. do. For example, product recommendation services provided by the service server may include responsive recommendation services, trend recommendation services, and gift recommendation services. However, it is not limited to this and the service server can provide various types of product recommendation services.

도11은 본 발명의 다른 실시예에 의한 상품 추천 방법을 나타내는 순서도이다. 여기서, 각 단계는 본 발명의 일 실시예에 의한 서비스 서버에 의하여 수행될 수 있으며, 서비스 서버는 통합검색서비스를 제공하는 것일 수 있다. Figure 11 is a flowchart showing a product recommendation method according to another embodiment of the present invention. Here, each step may be performed by a service server according to an embodiment of the present invention, and the service server may provide an integrated search service.

도11을 참조하면, 서비스 서버는 통합검색 웹 페이지로부터 사용자의 검색 질의를 입력받을 수 있다(S210). 즉, 서비스 서버는 사용자 단말에게 통합검색 웹 페이지를 제공할 수 있으며, 사용자 단말로부터 사용자가 입력하는 검색 질의를 입력받을 수 있다. 서비스 서버는 사용자의 검색질의에 대응하는 검색결과를, 미리 설정된 복수의 카테고리에서 추출하여 사용자 단말로 제공할 수 있다. 여기서, 서비스 서버는 쇼핑 카테고리의 검색결과도 제공할 수 있다. 쇼핑 카테고리의 경우, 사용자가 입력한 검색질의에 대응하는 상품들에 대한 검색결과를 상품목록으로 표시하여 제공할 수 있다.Referring to Figure 11, the service server can receive the user's search query from the integrated search web page (S210). That is, the service server can provide an integrated search web page to the user terminal and receive a search query input by the user from the user terminal. The service server may extract search results corresponding to the user's search query from a plurality of preset categories and provide them to the user terminal. Here, the service server can also provide search results for the shopping category. In the case of the shopping category, search results for products corresponding to the search query entered by the user can be displayed and provided as a product list.

서비스 서버는 커머스 지식 그래프 구조를 이용하여, 검색 질의에 대응하는 추천 상품들을 추출할 수 있다(S220). 서비스 서버는 사용자의 검색 질의에 대응하여 복수개의 상품추천서비스를 제공할 수 있으며, 이 경우 커머스 지식그래프 구조를 이용하여 각각의 상품추천서비스에 따른 추천 상품들을 각각 추출할 수 있다. 여기서, 각각의 상품추천서비스들은 커머스 지식 그래프 구조에 서로 상이한 가중치 및 연관성 추출 알고리즘을 적용하여 각각의 추천 상품들을 추출하는 것일 수 있다. 예를들어, 서비스 서버가 제공하는 상품추천서비스에는 반응형 추천 서비스, 트렌드 추천 서비스, 선물추천 서비스 등이 포함될 수 있다The service server can extract recommended products corresponding to the search query using the commerce knowledge graph structure (S220). The service server can provide a plurality of product recommendation services in response to the user's search query. In this case, recommended products according to each product recommendation service can be extracted using the commerce knowledge graph structure. Here, each product recommendation service may extract each recommended product by applying different weights and correlation extraction algorithms to the commerce knowledge graph structure. For example, product recommendation services provided by the service server may include responsive recommendation services, trend recommendation services, gift recommendation services, etc.

서비스 서버는 통합검색 웹 페이지의 설정영역 내에 추천 상품들을 표시할 수 있다(S230). 서비스 서버는 각각의 상품추천서비스 별로 상이하게 추천 상품들을 표시할 수 있다. 예를들어, 반응형 추천 서비스의 경우, 사용자에게 검색질의에 대응하는 검색결과를 제공한 후, 사용자가 특정 상품을 선택하여 확인하고 다시 검색결과로 돌아올 때, 검색결과의 하단 등 설정영역 내에 추천 상품들을 표시할 수 있다. 반면에, 트렌드 추천 서비스나 선물추천 서비스의 경우, 사용자의 검색질의에 대응하는 검색결과와 함께 제공할 수 있다. 나아가, 선물추천서비스의 경우 검색결과 제공시 검색결과의 상단에 위치하는 설정영역 내에 추천 상품들을 표시하는 것도 가능하다.The service server may display recommended products within the settings area of the integrated search web page (S230). The service server may display recommended products differently for each product recommendation service. For example, in the case of a responsive recommendation service, after providing the user with search results corresponding to the search query, when the user selects and confirms a specific product and returns to the search results, it is recommended within the setting area such as the bottom of the search results. Products can be displayed. On the other hand, in the case of trend recommendation services or gift recommendation services, search results corresponding to the user's search query can be provided. Furthermore, in the case of a gift recommendation service, it is also possible to display recommended products in the settings area located at the top of the search results when providing search results.

전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 애플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.The above-described present invention can be implemented as computer-readable code on a program-recorded medium. A computer-readable medium may continuously store a computer-executable program or temporarily store it for execution or download. In addition, the medium may be a variety of recording or storage means in the form of a single or several pieces of hardware combined. It is not limited to a medium directly connected to a computer system and may be distributed over a network. Examples of media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, And there may be something configured to store program instructions, including ROM, RAM, flash memory, etc. Additionally, examples of other media include recording or storage media managed by app stores that distribute applications, sites or servers that supply or distribute various other software, etc. Accordingly, the above detailed description should not be construed as restrictive in all respects and should be considered illustrative. The scope of the present invention should be determined by reasonable interpretation of the appended claims, and all changes within the equivalent scope of the present invention are included in the scope of the present invention.

본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 본 발명에 따른 구성요소를 치환, 변형 및 변경할 수 있다는 것이 명백할 것이다.The present invention is not limited to the above-described embodiments and attached drawings. For those skilled in the art to which the present invention pertains, it will be clear that components according to the present invention can be replaced, modified, and changed without departing from the technical spirit of the present invention.

1: 사용자 단말 100: 서비스 서버
110: 수집부 120: 그래프 구조 생성부
130: 연산부 140: 출력부
1: User terminal 100: Service server
110: Collection unit 120: Graph structure generation unit
130: calculation unit 140: output unit

Claims (12)

서비스 서버의 상품 추천 방법에 있어서,
사용자들이 상품검색을 위해 수행한 검색이력을 저장한 검색로그데이터와, 각각의 상품들의 속성을 포함하는 상품정보를 수집하는 단계;
상기 검색로그데이터 및 상품정보를 기반으로 설정한 각각의 노드(node)와 상기 노드들 사이의 엣지(edge)를 이용하여, 커머스 지식 그래프 구조(commerce knowledge graph structure)를 생성하는 단계;
상기 커머스 지식 그래프 구조 내에 포함된 각각의 노드들을 연결하는 연결경로 내에 설정된 가중치를 이용하여, 상기 노드들 사이의 연관성을 연산하는 단계; 및
상기 연관성을 이용하여, 사용자가 입력한 검색질의에 대응하는 추천상품들을 제공하는 단계를 포함하는 것으로,
상기 커머스 지식 그래프 구조를 생성하는 단계는
상기 검색로그데이터에 포함되어 있는 검색질의 중 적어도 어느 하나와, 상기 상품정보 내에 포함되어 있는 상품의 카테고리, 판매자 및 제조사 중 적어도 어느 하나를 상기 노드로 생성하는 것을 특징으로 하는 서비스 서버의 상품 추천 방법.
In the product recommendation method of the service server,
Collecting search log data storing search history performed by users for product search and product information including the attributes of each product;
Creating a commerce knowledge graph structure using each node set based on the search log data and product information and edges between the nodes;
calculating the correlation between the nodes using a weight set in a connection path connecting each node included in the commerce knowledge graph structure; and
It includes providing recommended products corresponding to the search query entered by the user using the correlation,
The step of creating the commerce knowledge graph structure is
A product recommendation method of a service server, characterized in that at least one of search queries included in the search log data and at least one of a category, seller, and manufacturer of a product included in the product information are generated as the node. .
제1항에 있어서, 상기 연관성을 연산하는 단계는
상기 연결경로 내의 엣지에 설정된 가중치를 기 설정된 연관성 추출 알고리즘에 적용하여, 상기 노드들 사이의 연관성을 연산하는 것을 특징으로 하는 서비스 서버의 상품 추천 방법.
The method of claim 1, wherein the step of calculating the correlation is
A product recommendation method of a service server, characterized in that the correlation between the nodes is calculated by applying a weight set to an edge in the connection path to a preset correlation extraction algorithm.
제2항에 있어서, 상기 연관성을 연산하는 단계는
Inverse log-weighted similarity, personalized page-rank, personalized katz centrality 및 Dijsktra similarity 중 적어도 어느 하나를 상기 연관성 추출 알고리즘으로 이용하여, 상기 연관성을 생성하는 것을 특징으로 하는 서비스 서버의 상품 추천 방법.
The method of claim 2, wherein the step of calculating the correlation is
A product recommendation method of a service server, characterized in that the correlation is generated by using at least one of inverse log-weighted similarity, personalized page-rank, personalized katz centrality, and Dijsktra similarity as the correlation extraction algorithm.
삭제delete 제1항에 있어서, 상기 엣지는
상기 노드들 사이에 미리 정의된 관계에 따라 설정되는 것으로,
상기 미리 정의된 관계는
동일한 세션 내에서 사용된 검색질의들 사이의 관계, 상이한 세션에서 동일한 상품을 검색하기 위해 사용된 검색질의들 사이의 관계, 상위-하위 개념을 구성하는 검색질의들 사이의 관계, 검색질의와 해당 검색질의에 의한 검색결과 중 선택된 상품의 상품정보 사이의 관계, 및 검색질의와 해당 검색질의 내에 포함된 상품정보 사이의 관계 중 적어도 어느 하나를 포함하는 것을 특징으로 하는 서비스 서버의 상품 추천 방법.
The method of claim 1, wherein the edge is
It is set according to predefined relationships between the nodes,
The predefined relationship is
Relationship between search queries used within the same session, relationship between search queries used to search the same product in different sessions, relationship between search queries forming a parent-child concept, search query and corresponding search A product recommendation method of a service server, comprising at least one of a relationship between product information of a product selected among search results by a query, and a relationship between a search query and product information included in the search query.
제1항에 있어서, 상기 연관성을 연산하는 단계는
복수의 연산모듈을 이용하여, 상기 노드들 사이의 연관성을 각각 상이하게 생성하는 것을 특징으로 하는 서비스 서버의 상품 추천 방법.
The method of claim 1, wherein the step of calculating the correlation is
A product recommendation method of a service server, characterized in that each correlation between the nodes is generated differently using a plurality of calculation modules.
제6항에 있어서, 상기 추천상품들을 제공하는 단계는
상기 복수의 연산모듈에서 연산한 연관성에 따라 추출한 각각의 추천상품을 이용하여, 복수의 상품추천 서비스를 제공하는 것을 특징으로 하는 서비스 서버의 상품 추천 방법.
The method of claim 6, wherein the step of providing the recommended products is
A product recommendation method of a service server, characterized in that it provides a plurality of product recommendation services using each recommended product extracted according to the correlation calculated by the plurality of calculation modules.
제7항에 있어서, 상기 연산모듈은
각각의 상품추천 서비스에 따라, 가중치 및 연관성 추출 알고리즘을 개별적으로 설정하는 것을 특징으로 하는 서비스 서버의 상품 추천 방법.
The method of claim 7, wherein the calculation module is
A product recommendation method of a service server, characterized in that the weight and correlation extraction algorithm are individually set according to each product recommendation service.
제1항에 있어서, 상기 커머스 지식 그래프 구조는
설정이벤트 발생시, 상기 노드, 엣지, 및 가중치를 업데이트하는 것을 특징으로 하는 서비스 서버의 상품 추천 방법.
The method of claim 1, wherein the commerce knowledge graph structure is
A product recommendation method of a service server, characterized in that the node, edge, and weight are updated when a setting event occurs.
통합검색서비스를 제공하는 서비스 서버의 상품 추천 방법에 있어서,
통합검색 웹 페이지로부터 사용자의 검색 질의를 입력받는 단계;
커머스 지식 그래프 구조(commerce knowledge graph structure)를 이용하여, 상기 검색 질의에 대응하는 추천 상품들을 추출하는 단계; 및
상기 통합검색 웹 페이지의 설정영역 내에 상기 추천 상품들을 표시하는 단계를 포함하는 것으로,
상기 커머스 지식 그래프 구조는
검색로그데이터에 포함되어 있는 검색질의 중 적어도 어느 하나와, 상품정보 내에 포함되어 있는 상품의 카테고리, 판매자 및 제조사 중 적어도 어느 하나를 각각의 노드로 포함하는 것을 특징으로 하는 통합검색서비스를 제공하는 서비스 서버의 상품 추천 방법.
In the product recommendation method of a service server providing an integrated search service,
Receiving a user's search query from an integrated search web page;
extracting recommended products corresponding to the search query using a commerce knowledge graph structure; and
Comprising the step of displaying the recommended products in a setting area of the integrated search web page,
The commerce knowledge graph structure is
A service that provides an integrated search service, characterized in that each node includes at least one of the search queries included in the search log data, and at least one of the product category, seller, and manufacturer included in the product information. Server product recommendation method.
하드웨어와 결합되어 제1항 내지 제3항, 제5항 내지 제10항 중 어느 한 항의 상품 추천방법을 수행하기 위하여 매체에 저장된 컴퓨터 프로그램.
A computer program combined with hardware and stored in a medium to perform the product recommendation method of any one of claims 1 to 3 and 5 to 10.
사용자들이 상품검색을 위해 수행한 검색이력을 저장한 검색로그데이터와, 각각의 상품들의 속성을 포함하는 상품정보를 수집하는 수집부;
상기 검색로그데이터 및 상품정보를 기반으로 설정한 각각의 노드(node)와 상기 노드들 사이의 엣지(edge)를 이용하여, 커머스 지식 그래프 구조(commerce knowledge graph structure)를 생성하는 그래프 구조 생성부;
상기 커머스 지식 그래프 구조 내에 포함된 각각의 노드들을 연결하는 연결경로 내에 설정된 가중치를 이용하여, 상기 노드들 사이의 연관성을 연산하는 연산부; 및
상기 연관성을 이용하여, 사용자가 입력한 검색질의에 대응하는 추천상품들을 제공하는 출력부를 포함하는 것으로,
상기 그래프 구조 생성부는
상기 검색로그데이터에 포함되어 있는 검색질의 중 적어도 어느 하나와, 상기 상품정보 내에 포함되어 있는 상품의 카테고리, 판매자 및 제조사 중 적어도 어느 하나를 상기 노드로 생성하는 것을 특징으로 하는 서비스 서버.
a collection unit that collects search log data that stores search history performed by users to search for products, and product information including the attributes of each product;
a graph structure generator that generates a commerce knowledge graph structure using each node set based on the search log data and product information and edges between the nodes;
a calculation unit that calculates the correlation between the nodes using a weight set in a connection path connecting each node included in the commerce knowledge graph structure; and
An output unit that provides recommended products corresponding to the search query entered by the user using the correlation,
The graph structure creation unit
A service server that generates at least one of search queries included in the search log data and at least one of a category, seller, and manufacturer of a product included in the product information as the node.
KR1020210054795A 2021-04-28 2021-04-28 Method for recommending products and service server using the same KR102619084B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210054795A KR102619084B1 (en) 2021-04-28 2021-04-28 Method for recommending products and service server using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210054795A KR102619084B1 (en) 2021-04-28 2021-04-28 Method for recommending products and service server using the same

Publications (2)

Publication Number Publication Date
KR20220147815A KR20220147815A (en) 2022-11-04
KR102619084B1 true KR102619084B1 (en) 2023-12-29

Family

ID=84101385

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210054795A KR102619084B1 (en) 2021-04-28 2021-04-28 Method for recommending products and service server using the same

Country Status (1)

Country Link
KR (1) KR102619084B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014067180A (en) * 2012-09-25 2014-04-17 Nippon Telegr & Teleph Corp <Ntt> Information recommendation device, method, and program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101139001B1 (en) * 2010-02-23 2012-04-26 경기대학교 산학협력단 Apparatus and method for providing contents
KR20170011963A (en) * 2015-07-23 2017-02-02 한양대학교 산학협력단 Method and server for recommending item
KR102246538B1 (en) * 2019-01-14 2021-05-03 카페24 주식회사 Item recommendation method and apparatus using graph database

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014067180A (en) * 2012-09-25 2014-04-17 Nippon Telegr & Teleph Corp <Ntt> Information recommendation device, method, and program

Also Published As

Publication number Publication date
KR20220147815A (en) 2022-11-04

Similar Documents

Publication Publication Date Title
US8626602B2 (en) Consumer shopping and purchase support system and marketplace
JP6356744B2 (en) Method and system for displaying cross-website information
US8244564B2 (en) Multi-strategy generation of product recommendations
US8965788B2 (en) Search page topology
US8577753B1 (en) Community-based shopping profiles
US20020065797A1 (en) System, method and computer program for automated collaborative filtering of user data
CN109447713A (en) A kind of recommended method and device of knowledge based map
US11734736B2 (en) Building containers of uncategorized items
US20150006464A1 (en) Systems and methods for trend aware self-correcting entity relationship extraction
JP2020503596A (en) High-precision search method on website
US20120215664A1 (en) Epurchase model
US11321724B1 (en) Product evaluation system and method of use
AU2015101887A4 (en) Online shopping system and method
JP6976207B2 (en) Information processing equipment, information processing methods, and programs
JP5824602B1 (en) Information processing apparatus, information processing method, and information processing program
WO2013096749A2 (en) System and method for generating user recommendations
KR20140073256A (en) Apparatus and method for providing merchandise recommending service
US20230101928A1 (en) User attribute preference model
KR101979237B1 (en) Method and apparatus for providing shopping information
KR20220001617A (en) Method, Apparatus and System for Item Recommendation Using Consumer Bigdata
KR20220001618A (en) Method, Apparatus and System for Recommendation in Groups Using Bigdata
JP6567688B2 (en) Management device, management method, non-transitory recording medium, and program
KR20220001616A (en) Method, Apparatus and System for Constructing Bigdata Based on Generating United Identifier of Customer
KR102619084B1 (en) Method for recommending products and service server using the same
KR102576123B1 (en) Product marketing linkage system and method

Legal Events

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