Nothing Special   »   [go: up one dir, main page]

KR102119518B1 - Method and system for recommending product based style space created using artificial intelligence - Google Patents

Method and system for recommending product based style space created using artificial intelligence Download PDF

Info

Publication number
KR102119518B1
KR102119518B1 KR1020180026762A KR20180026762A KR102119518B1 KR 102119518 B1 KR102119518 B1 KR 102119518B1 KR 1020180026762 A KR1020180026762 A KR 1020180026762A KR 20180026762 A KR20180026762 A KR 20180026762A KR 102119518 B1 KR102119518 B1 KR 102119518B1
Authority
KR
South Korea
Prior art keywords
products
product
category
points
processor
Prior art date
Application number
KR1020180026762A
Other languages
Korean (ko)
Other versions
KR20190109652A (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 KR1020180026762A priority Critical patent/KR102119518B1/en
Publication of KR20190109652A publication Critical patent/KR20190109652A/en
Application granted granted Critical
Publication of KR102119518B1 publication Critical patent/KR102119518B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/55Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • General Physics & Mathematics (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Mathematical Physics (AREA)
  • Game Theory and Decision Science (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

인공지능을 이용하여 생성되는 스타일 공간에 기반한 상품 추천 방법 및 시스템을 제공한다. 본 발명의 실시예들에 따른 상품 추천 방법은 MDAE(Multimodal Deep Autoencoder)를 이용하여 학습 이미지가 포함하는 카테고리별 상품들의 상관관계를 학습시키고, MDAE(Multimodal Deep Autoencoder)에 학습된 상관관계에 기반하여 상품을 추천할 수 있다.It provides a product recommendation method and system based on a style space created using artificial intelligence. The product recommendation method according to embodiments of the present invention uses MDAE (Multimodal Deep Autoencoder) to learn the correlation of products by category included in the learning image, and based on the correlation learned in the MDAE (Multimodal Deep Autoencoder). You can recommend products.

Description

인공지능을 이용하여 생성되는 스타일 공간에 기반한 상품 추천 방법 및 시스템{METHOD AND SYSTEM FOR RECOMMENDING PRODUCT BASED STYLE SPACE CREATED USING ARTIFICIAL INTELLIGENCE}Product recommendation method and system based on style space created using artificial intelligence {METHOD AND SYSTEM FOR RECOMMENDING PRODUCT BASED STYLE SPACE CREATED USING ARTIFICIAL INTELLIGENCE}

아래의 설명은 인공지능을 이용하여 생성되는 스타일 공간에 기반한 상품 추천 방법 및 시스템에 관한 것이다.The following description relates to a product recommendation method and system based on a style space created using artificial intelligence.

패션 코디네이터 시스템은 사용자가 착용하기 원하는 의복을 하나 선택하면 그에 적합한 다른 의복을 선택하도록 도와주는 시스템으로 상품이나 서비스를 추천하기 위한 시스템의 일종이다. 이와 같이, 상품이나 서비스를 추천하기 위한 시스템은 크게 사용자들 간의 유사도를 활용한 협력적 필터링(Collaborative filtering) 방식과 상품 및 사용자의 특성 값을 활용하는 내용기반 필터링(Content-based filtering) 방식 등으로 구분된다. 예컨대, 한국등록특허 제10-0882716호에는 사용자 단말기에 설치된 정보 추천 에이전트에서 인식한 상품의 상품 코드, 상품명 또는 모델명 등을 이용하여 상품에 대한 상품 정보를 자동으로 추천하는 기술이 개시되어 있다.The fashion coordinator system is a system that helps a user to select another garment suitable for the wearer to select one, and is a system for recommending a product or service. As described above, the system for recommending a product or service is largely divided into a collaborative filtering method using similarity among users and a content-based filtering method using characteristic values of products and users. Are distinguished. For example, Korean Patent Registration No. 10-0882716 discloses a technique for automatically recommending product information about a product using a product code, product name, or model name of the product recognized by the information recommendation agent installed on the user terminal.

MDAE(Multimodal Deep Autoencoder)를 이용하여 학습 이미지가 포함하는 카테고리별 상품들의 상관관계를 학습시키고, MDAE(Multimodal Deep Autoencoder)에 학습된 상관관계에 기반하여 상품을 추천할 수 있는 상품 추천 방법, 상기 상품 추천 방법을 수행하는 컴퓨터 장치, 컴퓨터와 결합되어 상기 상품 추천 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램 및 그 기록매체를 제공한다.Product recommendation method for learning the correlation of products by category included in the learning image using MDAE (Multimodal Deep Autoencoder), and recommending a product based on the correlation learned in MDAE (Multimodal Deep Autoencoder), the product A computer device performing a recommendation method, a computer program coupled to a computer, and a computer program stored in a computer-readable recording medium to execute the product recommendation method on a computer, and a recording medium therefor.

학습 이미지 세트가 포함하는 카테고리별 상품들을 추출하는 단계; 동일한 학습 이미지에 포함된 카테고리별 상품들간의 상관관계에 기반하여 상기 추출된 카테고리별 상품들을 스타일 공간상의 포인트에 사영(projection)시키도록 MDAE(Multimodal Deep Autoencoder)기반의 상품 추천 모델을 학습시키는 단계; 복수의 추천 대상 상품들을 상기 학습된 상품 추천 모델을 통해 상기 스타일 공간상의 복수의 제1 포인트들에 사영시키는 단계; 검색 대상 상품을 상기 학습된 상품 추천 모델을 통해 상기 스타일 공간상의 제2 포인트에 사영시키는 단계; 및 상기 스타일 공간상에서 상기 제1 포인트들 각각과 상기 제2 포인트간의 거리에 기반하여 상기 복수의 추천 대상 상품들 중 적어도 하나의 추천 대상 상품을 선택하는 단계를 포함하는 것을 특징으로 하는 상품 추천 방법을 제공한다.Extracting products for each category included in the learning image set; Learning a multimodal deep autoencoder (MDAE)-based product recommendation model to project the extracted category-specific products at a point on a style space based on a correlation between product categories by category included in the same learning image; Projecting a plurality of recommendation target products to a plurality of first points on the style space through the learned product recommendation model; Projecting the product to be searched to the second point on the style space through the learned product recommendation model; And selecting at least one recommendation target product among the plurality of recommendation target products based on the distance between each of the first points and the second point in the style space. to provide.

컴퓨터와 결합하여 상기 상품 추천 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램을 제공한다.In combination with a computer, a computer program stored in a computer-readable recording medium is provided to execute the product recommendation method on a computer.

상기 상품 추천 방법을 컴퓨터에 실행시키기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록매체를 제공한다.Provided is a computer-readable recording medium, characterized in that a program for executing the product recommendation method is recorded on a computer.

컴퓨터 장치에 있어서, 컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서에 의해, 학습 이미지 세트가 포함하는 카테고리별 상품들을 추출하고, 동일한 학습 이미지에 포함된 카테고리별 상품들간의 상관관계에 기반하여 상기 추출된 카테고리별 상품들을 스타일 공간상의 포인트에 사영(projection)시키도록 MDAE(Multimodal Deep Autoencoder)기반의 상품 추천 모델을 학습시키고, 복수의 추천 대상 상품들을 상기 학습된 상품 추천 모델을 통해 상기 스타일 공간상의 복수의 제1 포인트들에 사영시키고, 검색 대상 상품을 상기 학습된 상품 추천 모델을 통해 상기 스타일 공간상의 제2 포인트에 사영시키고, 상기 스타일 공간상에서 상기 제1 포인트들 각각과 상기 제2 포인트간의 거리에 기반하여 상기 복수의 추천 대상 상품들 중 적어도 하나의 추천 대상 상품을 선택하는 것을 특징으로 하는 컴퓨터 장치를 제공한다.A computer device, comprising: at least one processor implemented to execute instructions readable by a computer, and by the at least one processor, extracting products by category included in a set of learning images, and included in the same learning image Based on the correlation between products by category, a multimodal deep autoencoder (MDAE)-based product recommendation model is trained to project the extracted category-specific products to a point in a style space, and the plurality of recommendation target products are Projected to a plurality of first points in the style space through the learned product recommendation model, projected the product to be searched to the second point in the style space through the learned product recommendation model, and the product in the style space. Provided is a computer device characterized in that at least one of the plurality of recommendation target products is selected based on the distance between each of the one point and the second point.

MDAE(Multimodal Deep Autoencoder)를 이용하여 학습 이미지가 포함하는 카테고리별 상품들의 상관관계를 학습시키고, MDAE(Multimodal Deep Autoencoder)에 학습된 상관관계에 기반하여 상품을 추천할 수 있다.MDAE (Multimodal Deep Autoencoder) can be used to learn the correlation of products for each category included in the learning image, and products can be recommended based on the correlation learned in MDAE (Multimodal Deep Autoencoder).

MDAE의 디코더를 통해 재구성된 재구성된(reconstructed) 상품들의 특징들을 정답 데이터로 활용함으로써, 오답 데이터의 활용 없이 상품 추천 모델을 학습시킴으로써, 기존의 거리 모델에서 가장 큰 계산량을 갖던 네거티브 샘플링 과정을 생략할 수 있다.By using the features of the reconstructed products reconstructed through the MDAE decoder as the correct answer data, by learning the product recommendation model without using the incorrect answer data, the negative sampling process, which has the largest amount of computation in the existing distance model, can be omitted. Can be.

도 1은 본 발명의 일실시예에 따른 네트워크 환경의 예를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 컴퓨터 장치의 예를 도시한 블록도이다.
도 3은 본 발명의 일실시예에 따른 상품 추천 방법의 예를 도시한 흐름도이다.
도 4는 본 발명의 일실시예에 따른 MDAE의 예를 도시한 도면이다.
도 5 및 도 6은 거리 모델의 예를 도시한 도면이다.
도 7은 본 발명의 일실시예에 따른 스타일 공간 생성 형태의 예를 도시한 도면이다.
도 8은 본 발명의 일실시예에 있어서, MDAE의 학습 예를 도시한 도면이다.
도 9는 본 발명의 일실시예에 따른 스타일 공간의 예를 도시한 도면이다.
1 is a diagram showing an example of a network environment according to an embodiment of the present invention.
2 is a block diagram showing an example of a computer device according to an embodiment of the present invention.
3 is a flowchart illustrating an example of a product recommendation method according to an embodiment of the present invention.
4 is a view showing an example of MDAE according to an embodiment of the present invention.
5 and 6 are views showing an example of a distance model.
7 is a diagram illustrating an example of a style space generation form according to an embodiment of the present invention.
8 is a diagram illustrating an example of learning MDAE in an embodiment of the present invention.
9 is a view showing an example of a style space according to an embodiment of the present invention.

이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings.

본 발명의 실시예들에 따른 상품 추천 방법은 이후 설명될 전자 기기나 서버와 같은 컴퓨터 장치를 통해 구현될 수 있다. 이때, 컴퓨터 장치에는 본 발명의 일실시예에 따른 컴퓨터 프로그램이 설치 및 구동될 수 있고, 컴퓨터 장치는 구동된 컴퓨터 프로그램의 제어에 따라 본 발명의 실시예들에 따른 상품 추천 방법을 수행할 수 있다. 상술한 컴퓨터 프로그램은 컴퓨터 장치와 결합되어 상품 추천 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장될 수 있다.The product recommendation method according to the embodiments of the present invention may be implemented through a computer device such as an electronic device or a server to be described later. At this time, a computer program according to an embodiment of the present invention may be installed and driven on the computer device, and the computer device may perform a product recommendation method according to embodiments of the present invention under the control of the driven computer program. . The above-described computer program may be stored in a computer-readable recording medium to execute a product recommendation method on a computer in combination with a computer device.

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

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

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

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

도 2는 본 발명의 일실시예에 따른 컴퓨터 장치의 예를 도시한 블록도이다. 앞서 설명한 복수의 전자 기기들(110, 120, 130, 140) 각각이나 서버들(150, 160) 각각은 도 2를 통해 도시된 컴퓨터 장치(200)에 의해 구현될 수 있으며, 일실시예에 따른 상품 추천 방법은 이러한 컴퓨터 장치(200)에 의해 구현되는 상품 추천 시스템에 의해 수행될 수 있다.2 is a block diagram showing an example of a computer device according to an embodiment of the present invention. Each of the plurality of electronic devices 110, 120, 130, 140 described above, or each of the servers 150, 160 may be implemented by the computer device 200 shown through FIG. 2, according to an embodiment. The product recommendation method may be performed by a product recommendation system implemented by the computer device 200.

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

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

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

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

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

도 3은 본 발명의 일실시예에 따른 상품 추천 방법의 예를 도시한 흐름도이다. 본 실시예에 따른 상품 추천 방법은 앞서 설명한 컴퓨터 장치(200)에 의해 수행될 수 있다. 예를 들어, 컴퓨터 장치(200)의 프로세서(220)는 메모리(210)가 포함하는 운영체제의 코드나 적어도 하나의 프로그램의 코드에 따른 제어 명령(instruction)을 실행하도록 구현될 수 있다. 여기서, 프로세서(220)는 컴퓨터 장치(200)에 저장된 코드가 제공하는 제어 명령에 따라 컴퓨터 장치(200)가 도 3의 방법이 포함하는 단계들(310 내지 370)을 수행하도록 컴퓨터 장치(200)를 제어할 수 있다.3 is a flowchart illustrating an example of a product recommendation method according to an embodiment of the present invention. The product recommendation method according to the present embodiment may be performed by the computer device 200 described above. For example, the processor 220 of the computer device 200 may be implemented to execute control instructions according to code of an operating system included in the memory 210 or code of at least one program. Here, the processor 220 is the computer device 200 to perform the steps (310 to 370) of the method of Figure 3, the computer device 200 according to the control command provided by the code stored in the computer device 200 Can be controlled.

단계(310)에서 컴퓨터 장치(200)는 학습 이미지 세트가 포함하는 카테고리별 상품들을 추출할 수 있다. 예를 들어, 컴퓨터 장치(200)는 복수의 학습 이미지들을 포함하는 학습 이미지 세트를 입력받을 수 있으며, 복수의 학습 이미지 각각으로부터 카테고리별 상품들을 추출할 수 있다. 이때, 카테고리들은 일례로, 상의, 하의, 모자, 신발 등과 같이 다양하게 기 정의될 수 있다. 기 정의되는 카테고리의 수 역시 제공하고자 하는 상품들의 카테고리에 따라 다양하게 설정될 수 있다. 예를 들어, 상의와 하의의 두 개의 카테고리만을 사용할 수도 있고, 상의, 하의, 모자, 액세서리, 신발 등과 같이 더 많은 수의 카테고리들을 사용할 수도 있다.In step 310, the computer device 200 may extract products for each category included in the learning image set. For example, the computer device 200 may receive a set of learning images including a plurality of learning images, and extract products for each category from each of the plurality of learning images. In this case, the categories may be variously defined as, for example, tops, bottoms, hats, shoes, and the like. The number of predefined categories may also be variously set according to categories of products to be provided. For example, only two categories of tops and bottoms may be used, or a larger number of categories may be used, such as tops, bottoms, hats, accessories, shoes, and the like.

단계(320)에서 컴퓨터 장치(200)는 동일한 학습 이미지에 포함된 카테고리별 상품들간의 상관관계에 기반하여 추출된 카테고리별 상품들을 스타일 공간상의 포인트에 사영(projection)시키도록 MDAE(Multimodal Deep Autoencoder)기반의 상품 추천 모델을 학습시킬 수 있다. 예를 들어, 학습 이미지들은 서로 어울리는 상품들이 포함된 이미지로서, 일례로 패션 화보나 매거진, 쇼핑몰 등 MD(merchandiser)나 판매자들에 의해 코디된 상품 이미지, 일반 사용자들에 의해 코디 평가 점수가 일정 레벨 이상인 코디 상품 이미지 등을 수집할 수 있다. 다시 말해, 학습 이미지 자체가 동일한 학습 이미지에 포함된 카테고리별 상품들이 서로 상관관계를 갖고 있는 정답 이미지를 포함할 수 있다. MDAE에 기반한 상품 추천 모델은 이러한 학습 이미지가 포함하고 있는 상품들간의 상관관계를 학습하도록 구현될 수 있으며, 특히 서로 어울리는 상품들이 스타일 공간상에서 상대적으로 더 가까운 거리의 포인트들로 사영되도록 학습될 수 있다.In step 320, the computer device 200 is multimodal deep autoencoder (MDAE) to project the extracted products for each category based on a correlation between products for each category included in the same learning image at a point in the style space. You can train the model based on product recommendation. For example, the learning images are images that include products that match each other. For example, a product image coordinated by a merchandiser (MD) such as a fashion pictorial, magazine, shopping mall, or a seller, or a coordinated evaluation score by general users. The above-mentioned coordination product images and the like can be collected. In other words, the learning image itself may include a correct answer image in which products by category included in the same learning image correlate with each other. The MDAE-based product recommendation model may be implemented to learn correlations between products included in the learning image, and in particular, products that match each other may be trained to be projected at relatively close distance points in the style space. .

보다 구체적인 예로, 상술한 스타일 공간은 복수의 공간들로 분류될 수 있으며, MDAE는 입력되는 상품의 이미지 특징에 기반하여 해당 상품을 복수의 공간들 중 하나로 분류하는 모델일 수 있다. 이때, 분류된 공간 내에서의 포인트는 공간들간의 관계에 기반할 수 있다. 이 경우, 컴퓨터 장치(200)는 단계(320)에서 추출된 카테고리별 상품들을 스타일 공간상의 포인트에 사영시키되, 동일한 학습 이미지에 포함된 카테고리별 상품들이 분류된 복수의 공간들 중 동일한 공간의 포인트에 사영되도록 MDAE의 인코더를 학습시킬 수 있다. 동일한 공간의 포인트들은 상대적으로 그 거리가 가까울 것이며, 서로 다른 공간의 포인트들은 상대적으로 그 거리가 멀 가능성이 높다. 따라서, 본 실시예에 따른 MDAE 기반의 상품 추천 모델은 이미 서로 어울리는 상품들을 포함하는 것으로 가정된 동일한 학습 이미지에 포함된 카테고리별 상품들을 스타일 공간상에 분류된 복수의 공간들 중 동일한 공간에 배치함으로써, 동일한 학습 이미지에 포함된 카테고리별 상품들간의 상관관계를 학습할 수 있다.As a more specific example, the above-described style space may be classified into a plurality of spaces, and MDAE may be a model that classifies a corresponding product into one of a plurality of spaces based on an image characteristic of an input product. In this case, points in the classified space may be based on the relationship between the spaces. In this case, the computer device 200 projects the products for each category extracted in step 320 to points in the style space, but points to the same space among a plurality of spaces in which products for each category included in the same learning image are classified. You can train the MDAE's encoder to project. Points in the same space will be relatively close, and points in different spaces are likely to be relatively long. Therefore, the MDAE-based product recommendation model according to the present embodiment is configured by arranging products by category included in the same learning image, which are assumed to include products that match each other, in the same space among a plurality of spaces classified on the style space. , It is possible to learn the correlation between products by category included in the same learning image.

또한, 컴퓨터 장치(200)는 단계(320)에서 동일한 학습 이미지에 포함된 카테고리별 상품들을 원소로 갖는 집합에 대한 공집합을 제외한 부분집합들 각각을 통해 이미지 특징을 추출하여 상품 추천 모델을 위한 입력 데이터를 생성할 수 있다. 예를 들어, 추출된 카테고리별 상품이 상의에 대응하는 상품, 하의에 대응하는 상품 및 신발에 대응하는 상품이라 가정하자. 이 경우 추출된 카테고리별 상품들을 원소로 갖는 집합을 {상의, 하의, 신발}로 정의할 때, 공집합을 제외한 부분집합들은 {상의}, {하의}, {신발}, {상의, 하의}, {상의 신발}, {하의 신발} 및 {상의, 하의, 신발}의 7개의 집합들일 수 있다. 이 경우, 컴퓨터 장치(200)는 {상의}에 대응하는 상품의 이미지에 대한 이미지 특징, {하의}에 대응하는 상품의 이미지에 대한 이미지 특징, {신발}에 대응하는 상품의 이미지에 대한 이미지 특징, {상의, 하의} 각각에 대응하는 상품들의 이미지들에 대한 이미지 특징, {상의 신발} 각각에 대응하는 상품들의 이미지들에 대한 이미지 특징, {하의 신발} 각각에 대응하는 상품들의 이미지들에 대한 이미지 특징 및 {상의, 하의, 신발} 각각에 대응하는 상품들의 이미지들에 대한 이미지 특징과 같이 모두 7 가지 이미지 특징들의 데이터를 입력 데이터로서 생성할 수 있다. 실시예에 따라 부분집합들 중 일부만이 활용될 수도 있다. In addition, in step 320, the computer device 200 extracts the image feature through each of the subsets excluding the empty set for the set having the products for each category included in the same learning image as an element, and inputs data for the product recommendation model Can generate For example, suppose that the extracted products for each category are products corresponding to tops, products corresponding to bottoms, and products corresponding to shoes. In this case, when defining a set of products with categorized products as elements {top, bottom, footwear}, the subsets excluding the empty set are {top}, {bottom}, {shoes}, {top, bottom}, { 7 sets of top shoes}, {bottom shoes} and {top, bottom, shoes}. In this case, the computer device 200 has image characteristics for the image of the product corresponding to {top}, image characteristics for the image of the product corresponding to {bottom}, and image characteristics for the image of the product corresponding to {shoes} , Image characteristics for images of products corresponding to each of {top, bottom}, image characteristics for images of products corresponding to {footwear}, images of products corresponding to each {bottom} Data of seven image features, such as image features and image features for images of products corresponding to each of {top, bottom, and footwear} may be generated as input data. Depending on the embodiment, only some of the subsets may be utilized.

또한, 컴퓨터 장치(200)는 단계(320)에서 MDAE의 인코더 및 디코더를 통해 재구성된(reconstructed) 상품들의 특징들을 정답 데이터를 이용하고, 추가적인 오답 데이터의 이용 없이 상기 상품 추천 모델을 학습시킬 수 있다. 이후 보다 자세히 설명하겠지만, MDAE의 인코더와 디코더를 거쳐 재구성되는 특징들은 동일한 학습 이미지에서 추출된 카테고리별 상품들에 대한 이미지 특징들이 공유되고 결합되기 때문에 별도의 오답 데이터(서로 어울리지 않는 상품들을 포함하는 학습 데이터)를 이용하지 않더라도 상품 추천 모델이 높은 정확도로 서로 어울리는 상품들을 선택할 수 있도록 학습될 수 있다.In addition, the computer device 200 may use the correct answer data for features of products reconstructed through the encoder and decoder of MDAE in step 320, and train the product recommendation model without using additional incorrect data. . As will be explained in more detail later, the features reconstructed through the MDAE encoder and decoder are separate and incorrect data (learning that includes products that do not fit together) because image features for products by category extracted from the same learning image are shared and combined. Even if data is not used, the product recommendation model can be trained to select products that match each other with high accuracy.

단계(330)에서 컴퓨터 장치(200)는 복수의 추천 대상 상품들을 학습된 상품 추천 모델을 통해 스타일 공간상의 복수의 제1 포인트들에 사영시킬 수 있다. 예를 들어, 컴퓨터 장치(200)는 복수의 추천 대상 상품들이 포함된 복수의 이미지들을 통해 복수의 추천 대상 상품들 각각에 대한 입력 데이터를 생성할 수 있으며, 생성된 입력 데이터를 학습된 상품 추천 모델에 입력시킴에 따라 그 결과로서 스타일 공간상의 복수의 제1 포인트들에 복수의 추천 대상 상품들을 사영시킬 수 있다.In operation 330, the computer device 200 may project a plurality of recommended target products to a plurality of first points in the style space through the learned product recommendation model. For example, the computer device 200 may generate input data for each of a plurality of recommendation target products through a plurality of images including a plurality of recommendation target products, and the product recommendation model learned from the generated input data As a result, a plurality of recommended target products can be projected at a plurality of first points in the style space as input as.

단계(340)에서 컴퓨터 장치(200)는 검색 대상 상품을 학습된 상품 추천 모델을 통해 스타일 공간상의 제2 포인트에 사영시킬 수 있다. 예를 들어, 컴퓨터 장치(200)는 검색 대상 상품이 포함된 이미지를 통해 입력 데이터를 생성할 수 있으며, 생성된 입력 데이터를 학습된 상품 추천 모델에 입력시킴에 따라 그 결과로서 스타일 공간상의 제2 포인트에 검색 대상 상품을 사영시킬 수 있다.In step 340, the computer device 200 may project the search target product to the second point on the style space through the learned product recommendation model. For example, the computer device 200 may generate input data through an image including the product to be searched, and as a result of inputting the generated input data into the trained product recommendation model, as a result, the second in the style space. You can project the product to be searched for points.

단계(350)에서 컴퓨터 장치(200)는 스타일 공간상에서 제1 포인트들 각각과 제2 포인트간의 거리에 기반하여 복수의 추천 대상 상품들 중 적어도 하나의 추천 대상 상품을 선택할 수 있다. 이미 설명한 바와 같이, 스타일 공간상에서 포인트들간의 거리는 포인트들에 대응하는 상품간의 어울림 정도에 대응할 수 있으며, 컴퓨터 장치(200)는 이러한 포인트들간의 거리에 기반하여 검색 대상 상품과 잘 어울리는 추천 대상 상품을 선택할 수 있게 된다.In operation 350, the computer device 200 may select at least one recommendation target product among a plurality of recommendation target products based on the distance between each of the first points and the second point in the style space. As already described, the distance between points in the style space can correspond to the degree of matching between products corresponding to the points, and the computer device 200 selects the recommended target product that goes well with the search target product based on the distance between the points. You can choose.

예를 들어, 컴퓨터 장치(200)는 단계(350)에서 복수의 추천 대상 상품들 중 제2 포인트와 거리가 가까운 순서로 N(상기 N은 자연수) 개의 제1 포인트들에 대응하는 N 개의 추천 대상 상품을 선택할 수 있다. 다시 말해, 검색 대상 상품이 사영된 제2 포인트와 거리가 가장 가까운 제1 포인트에 대응하는 추천 대상 상품이 검색 대상 상품과 가장 잘 어울리는 추천 대상 상품으로서 선택될 수 있으며, 이러한 제2 포인트와 제1 포인트의 거리가 가까운 순서대로 N 개의 추천 대상 상품들이 선택될 수 있다. 이때, 선택된 추천 대상 상품들 중 적어도 하나의 추천 대상 상품이 검색자에게 제공될 수 있다.For example, in step 350, the computer device 200 determines N recommendation targets corresponding to N (N is a natural number) first points in the order of distance from the second point among the plurality of recommendation target products. You can choose a product. In other words, the recommended target product corresponding to the first point closest to the second point on which the searched product is projected may be selected as the recommended target product that best matches the searched product, and the second point and the first product N recommended products may be selected in the order in which the distances of the points are close. At this time, at least one recommendation target product among the selected recommendation target products may be provided to a searcher.

한편, 상품의 추천 대상은 검색 조건에 따라 검색 대상 상품과 동일한 카테고리이거나 또는 다른 카테고리일 수 있다. 또는 검색자가 특정한 카테고리일 수도 있다. 예를 들어, 컴퓨터 장치(200)는 복수의 추천 대상 상품들 중 검색 대상 상품의 카테고리와 다른 카테고리의 추천 대상 상품을 거리에 기반하여 선택할 수 있다. 다른 예로, 컴퓨터 장치(200)는 복수의 추천 대상 상품들 중 검색자에 의해 선택된 카테고리의 추천 대상 상품을 거리에 기반하여 선택할 수도 있다.Meanwhile, the recommendation target of the product may be the same category as the search target product or a different category according to the search condition. Or, the searcher may be a specific category. For example, the computer device 200 may select a category of a search target product from among a plurality of recommendation target products based on a distance. As another example, the computer device 200 may select a recommended target product of a category selected by a searcher among a plurality of recommended target products based on a distance.

도 4는 본 발명의 일실시예에 따른 MDAE의 예를 도시한 도면이다. 이미지들의 집합 V가 주어졌을 때, 각각의 이미지 v i 는 집합 V의 원소일 수 있다. 이때, 이미지 v i 의 카테고리 Cj의 상품의 가상 특징들을 나타내는

Figure 112018022888102-pat00001
차원 벡터는 아래 수학식 1과 같이 표현될 수 있다. 4 is a view showing an example of MDAE according to an embodiment of the present invention. Given a set V of images, each image v i may be an element of set V. At this time, the virtual features of the product of the category Cj of the image v i
Figure 112018022888102-pat00001
The dimensional vector can be expressed as Equation 1 below.

Figure 112018022888102-pat00002
Figure 112018022888102-pat00002

추가로 x Cj

Figure 112018022888102-pat00003
이미지 v i j 번째 카테고리의 상품의 가상 특징을 나타내는 각각의 엘리먼트
Figure 112018022888102-pat00004
를 갖는 특성 매트릭스를 나타낼 수 있다. In addition, x Cj is
Figure 112018022888102-pat00003
Each element representing the virtual characteristics of the product of the jth category of the image v i
Figure 112018022888102-pat00004
It can represent a characteristic matrix having a.

두 가지 카테고리가 존재하는 경우의 MDAE의 알고리즘의 예는 표 1과 같다.Table 1 shows an example of the MDAE algorithm when two categories exist.

Figure 112018022888102-pat00005
Figure 112018022888102-pat00005

표 1에서 X t 는 이미지 v i 의 두 가지 카테고리 중 제1 카테고리의 상품의 가상 특징들을 나타내는

Figure 112018022888102-pat00006
차원 벡터를, X b 는 이미지 v i 의 두 가지 카테고리 중 제2 카테고리의 상품의 가상 특징들을 나타내는
Figure 112018022888102-pat00007
차원 벡터를 각각 의미할 수 있다.In Table 1, X t represents virtual characteristics of the product of the first category among the two categories of the image v i
Figure 112018022888102-pat00006
The dimensional vector, X b represents the virtual characteristics of the product of the second category of the two categories of the image v i
Figure 112018022888102-pat00007
Each may mean a dimensional vector.

도 4에서는 카테고리 C1, C2, C3의 세 가지 카테고리들에 대한 이미지 특징(410)이 MDAE(420)의 입력으로 들어가 인코더 네트워크(Encoder Network)를 통해 공유 표현에 따라 스타일 공간을 생성하고, 다시 디코더 네트워크(Decoder Network)를 통해 입력된 이미지 특징(410)을 재구성하여 재구성된 입력(430)을 출력하는 예를 나타내고 있다. MDAE(420)의 입력은 도 4에 도시된 바와 같이 카테고리 C1, C2, C3의 특징들의 집합이 포함할 수 있는 공집합을 제외한 7 개의 부분집합들(23-1=7)로 형성될 수 있다. 만약, 카테고리가 2 개라면, 특징들의 집합의 공집합을 제외한 부분집합들은 3 개(22-1=3)가 될 것이며, 카테고리가 4 개라면, 특징들의 집합의 공집합을 제외한 부분집합들은 15 개(24-1=15)가 될 것이다.In FIG. 4, image features 410 for three categories of categories C 1, C 2, and C 3 enter the input of the MDAE 420 and generate a style space according to a shared expression through an encoder network. Here, an example of reconstructing the image feature 410 input through the decoder network again and outputting the reconstructed input 430 is illustrated. The input of the MDAE 420 is formed of 7 subsets (2 3 -1=7) except for the empty set that can be included in the set of features of categories C 1, C 2, and C 3 as shown in FIG. 4. Can be. If there are 2 categories, the subsets, excluding the empty set of features, will be 3 (2 2 -1=3), and if there are 4 categories, 15 subsets, excluding the empty set of features, (2 4 -1=15).

또한, 도 4에서 재구성된 입력(430)의

Figure 112018022888102-pat00008
Figure 112018022888102-pat00009
간의 차이를 평가하기 위한 비용 함수 J(W, b)는 아래 수학식 2와 같이 표현될 수 있다.Also, the reconstructed input 430 in FIG. 4
Figure 112018022888102-pat00008
Wow
Figure 112018022888102-pat00009
The cost function J(W, b) for evaluating the difference between can be expressed as Equation 2 below.

Figure 112018022888102-pat00010
Figure 112018022888102-pat00010

도 5 및 도 6은 거리 모델의 예를 도시한 도면이다.5 and 6 are views showing an example of a distance model.

도 5는 입력 데이터(510)로서의 이미지에서 상품별로 이미지 특징을 추출하고, 상품과 어울리지 않는 이미지를 구하여 서로 어울리는 상품들의 이미지들을 포함하는 이미지 세트(이하, '정답 데이터')와 서로 어울리지 않는 상품들의 이미지들을 포함하는 이미지 세트(이하, '오답 데이터')를 각각 모델 입력 형태(520)로서 생성한 후, 상품 추천 모델에 입력하여 스타일 공간을 학습(530)하는 예를 나타내고 있다. 이때, 정답 데이터의 상품들은 스타일 공간상에서 상대적으로 가까운 거리의 포인트들로 사영되고, 오답 데이터의 상품들은 스타일 공간상에서 상대적으로 먼 거리의 포인트들로 사영되도록 MDAE 기반의 상품 추천 모델이 학습될 수 있다.FIG. 5 extracts image characteristics for each product from an image as input data 510, obtains an image that does not match the product, and includes an image set (hereinafter, “correct answer data”) including images of products that match each other and products that do not match each other. An example of learning a style space 530 by generating an image set including images (hereinafter referred to as'incorrect data') as a model input form 520 and inputting it into a product recommendation model is shown. In this case, the MDAE-based product recommendation model may be trained such that products of the correct answer data are projected at points of relatively close distance in the style space, and products of the incorrect data are projected at points of relatively long distance in the style space. .

도 6은 상품 추천 모델을 위한 학습 이미지(610)에서 상품들의 이미지들을 각각 추출하여 이미지 벡터 공간(620)에 사영시킨 예를 나타내고 있다. 이때, 상품 추천 모델은 이러한 상품들 각각을 스타일 공간(630)에 사영시킬 수 있으며, 이때 앞서 설명한 바와 같이, 정답 데이터의 상품들은 스타일 공간상에서 상대적으로 가까운 거리의 포인트들로 사영되고, 오답 데이터의 상품들은 스타일 공간상에서 상대적으로 먼 거리의 포인트들로 사영되도록 학습될 수 있다.FIG. 6 shows an example of extracting images of products from the learning image 610 for the product recommendation model and projecting them into the image vector space 620. At this time, the product recommendation model may project each of these products to the style space 630, and as described above, the products of the correct answer data are projected at points of relatively close distance in the style space, and the incorrect data of Products can be learned to project at relatively distant points in the style space.

한편, 도 6에 도시한 바와 같이, 서로 어울리지 않는 상품들이 멀어짐을 나타내기 위한 정보를 생성하기 위해서는 서로 어울리지 않는 상품들간의 이미지 세트인 오답 데이터를 생성 및 활용하기 위해 막대한 계산량이 소모될 수 있으며, 소모되는 계산량은 카테고리의 수가 늘어날수록 증가할 수 있다. 따라서, 이후에서는 이러한 오답 데이터의 생성 및 활용 없이도 스타일 공간상에서 상품들간의 거리를 적절히 계산할 수 있는 실시예를 설명한다.Meanwhile, as illustrated in FIG. 6, in order to generate information to indicate that products that do not match each other are far apart, a large amount of calculation may be consumed to generate and utilize incorrect data, which is an image set between products that do not match each other, The amount of calculation consumed may increase as the number of categories increases. Therefore, hereinafter, an embodiment in which distances between products can be properly calculated in a style space without generating and utilizing such incorrect data will be described.

도 7은 본 발명의 일실시예에 따른 스타일 공간 생성 형태의 예를 도시한 도면이다.7 is a diagram illustrating an example of a style space generation form according to an embodiment of the present invention.

도 7에서는 입력 데이터(710)로서의 이미지에서 카테고리별 상품들을 추출하고, 카테고리별 상품들 각각을 위한 이미지 특징을 추출하여 모델 입력 형태(720)를 생성하는 예를 나타내고 있다. 이때, 앞서 설명한 바와 같이, 동일한 학습 이미지에 포함된 카테고리별 상품들을 원소로 갖는 집합에 대한 공집합을 제외한 부분집합들 각각을 통해 이미지 특징을 추출하여 상품 추천 모델을 위한 입력 데이터를 생성할 수 있다. 도 7의 모델 입력 형태(720)는 부분집합들 중 일부를 나타내고 있다. 생성된 모델 입력 형태(720)의 입력 데이터는 MDAE 기반의 상품 추천 모델로 입력(730)될 수 있다. 이때, MDAE 기반의 상품 추천 모델은 입력 데이터에 기반하여 스타일 공간에 상품들을 사영할 수 있다. 이러한 모델 입력 형태(720)는 단순히 두 가지 상품들의 이미지 특징들이 아닌 복수의 카테고리별 상품들에 대한 이미지 특징들을 연계하여 MDAE의 입력 데이터로 활용할 수 있도록 함으로써, 다양한 카테고리의 상품들 전체에 대한 추천이 가능해질 수 있다. 스타일 공간은 복수의 공간들로 분류될 수 있으며, 동일한 학습 이미지에서 추출된 상품들은 복수의 공간들 중 동일한 공간에 위치하도록 상품들이 스타일 공간에 사영될 수 있다. 다시 말해, 동일한 학습 이미지에서 추출된 상품들은 상대적으로 가까운 거리의 포인트들로 사영될 수 있다. 도 7에서는 입력 데이터(710)에서 추출된 세 가지 상품들에 대응하는 3 개의 입력(740)이 스타일 공간을 분류한 복수의 공간들 중 동일한 공간에 위치하게 됨을 나타내고 있다.7 shows an example of extracting products by category from an image as input data 710 and generating a model input form 720 by extracting image features for each product of each category. At this time, as described above, the image feature may be extracted through each of the subsets excluding the empty set for the set having the products for each category included in the same learning image as an element to generate input data for the product recommendation model. The model input form 720 of FIG. 7 shows some of the subsets. The input data of the generated model input form 720 may be input 730 as an MDAE-based product recommendation model. At this time, the MDAE-based product recommendation model can project products in a style space based on input data. This model input form 720 allows recommendations for all products of various categories by simply linking image features of products of a plurality of categories, not just image features of two products, to use as input data of MDAE. It can be possible. The style space may be classified into a plurality of spaces, and products extracted from the same learning image may be projected into the style space such that products are located in the same space among the plurality of spaces. In other words, products extracted from the same learning image can be projected at relatively close points. 7 shows that three inputs 740 corresponding to the three products extracted from the input data 710 are located in the same space among the plurality of spaces that classify the style space.

한편, 정답 데이터(750)는 입력 데이터가 MDAE의 인코더와 디코더를 거치면서 재구성된 데이터일 수 있다. 스타일 공간을 생성하여 상품들을 사영시키는 MDAE의 인코더는 이러한 정답 데이터(750)에 기초하여 학습됨에 따라 별도의 오답 데이터 없이도 동일한 학습 이미지에서 추출된 상품들을 동일한 공간의 포인트로 사영시킬 수 있다. 따라서 거리 모델에서 가장 큰 계산량을 갖는 오답 데이터의 생성 및 활용 과정을 생략함으로써, 현실적인 시간 내에서도 복수 카테고리에 대한 학습 및 추천이 가능해질 수 있다.Meanwhile, the correct answer data 750 may be data reconstructed while the input data passes through the MDAE encoder and decoder. MDAE's encoder that creates the style space and projects the products can learn products extracted from the same learning image as points of the same space without additional incorrect data as it is learned based on the correct answer data 750. Therefore, by omitting the process of generating and using incorrect data having the largest amount of calculation in the distance model, learning and recommendation for multiple categories can be possible even in a realistic time.

이처럼, MDAE는 학습 시에 학습 데이터에 의도적으로 노이즈를 넣음으로써, 노이즈가 들어있는 테스트 데이터에서 노이즈를 없애는 디노이징 오토인코더(Denoising Autoencoder) 기술의 응용으로서, 서로 다른 카테고리의 데이터를 학습 시에 각각 노이즈를 추가(blind 처리)함으로써 하나 또는 전체의 부분집합의 데이터만으로도 전체 데이터를 유추할 수 있다. 도 7에서 정답 데이터(750)로서 나타난 의상들이 서로 어울린다고 학습하기 위해 도 5 및 도 6을 통해 설명한 거리 모델에서는 어울리지 않음에 대한 정보를 필수적으로 입력해야만 했던 반면, 본 실시예에 따른 MDAE 기반의 상품 추천 모델은 오토인코더를 이용하여 재구성된 데이터(일례로, 도 4의 재구성된 입력(430))와 정답 데이터(750)를 이용하여 학습함에 따라 공유 표현에 의상의 특징들이 학습됨을 이용하여, 스타일 공간을 생성할 수 있다.As described above, MDAE is an application of a denoising autoencoder technology that removes noise from test data containing noise by intentionally adding noise to the training data during training. By adding noise (blind processing), the entire data can be inferred from only one or a whole subset of data. In order to learn that the clothes shown as the correct answer data 750 in FIG. 7 match each other, in the distance model described with reference to FIGS. 5 and 6, information on disagreement must be input, whereas MDAE-based products according to the present embodiment The recommended model is a style by using the data reconstructed using an autoencoder (eg, the reconstructed input 430 of FIG. 4) and the features of the clothes in the shared expression as learning by using the correct answer data 750, style Space can be created.

도 8은 본 발명의 일실시예에 있어서, MDAE의 학습 예를 도시한 도면이다. MDAE는 도 8에 나타난 원본 데이터(특징들의 집합의 부분집합들 중 모든 원소를 포함하는 부분집합, 810)와 블라인드 처리된 유사한 데이터(특징들의 집합의 부분집합들 중 일부 원소를 포함하는 부분집합, 820 및 830)가 동일한 데이터가 되도록 학습됨에 따라, 특징이 학습되는 공유 표현의 값도 유사하게 학습될 수 있다. 이 경우, MDAE에 대해 학습이 완료되면, 하나의 카테고리의 이미지(블라인드 처리된 유사한 데이터(820 및 830))에서 정답 데이터(750)를 생성할 수 있으며, 블라인드 처리된 유사한 데이터의 공유 표현은 정답 데이터(750)의 공유 표현과 유사해진다. 다시 말해, 정답 데이터(750)의 서브세트 카테고리들 각각의 공유 표현들은 모두 유사해지기 때문에 스타일 공간상의 거리가 서로 가까워지게 된다. 이로써, 각 서브세트의 공유 표현은 자신만의 특징에 따라 스타일 공간에 분포하게 되지만, 유사한 스타일(동일한 정답 데이터(750)에서 나온 스타일)의 경우에는 서로 가까운 공간상에 위치하게 된다.8 is a diagram illustrating an example of learning MDAE in an embodiment of the present invention. MDAE includes the original data shown in FIG. 8 (a subset containing all elements of the subset of the set of features, 810) and similar data processed blind (a subset containing some elements of the subset of the set of features, As 820 and 830 are learned to be the same data, the value of the shared expression in which the feature is learned can be similarly learned. In this case, when learning about MDAE is completed, correct answer data 750 may be generated from one category of images (blind processed similar data 820 and 830), and the shared representation of the blind processed similar data is correct answer Similar to the shared representation of data 750. In other words, since the shared expressions of each of the subset categories of the correct answer data 750 are all similar, the distances in the style space are close to each other. As a result, the shared expressions of each subset are distributed in the style space according to their own characteristics, but in the case of similar styles (styles from the same correct answer data 750), they are located in spaces close to each other.

이처럼 본 실시예에 따른 MDAE 기반의 상품 추천 모델은, 거리 모델에서 오답 데이터 샘플링을 이용하여 강제적으로 스타일이 다른 경우 거리가 멀어지도록 학습시키는 것과 달리, 별도의 오답 데이터 샘플링 없이도 기존의 이미지의 특징을 이용하여 이미지들을 서로 다른 공간에 자동으로 사영시킴과 동시에 서로 유사한 특징(동일한 정답 데이터에서 나온 특징)을 갖는 이미지들은 스타일 공간상에서 서로 가까운 거리상에 위치시킬 수 있다.As described above, the MDAE-based product recommendation model according to the present embodiment uses the incorrect data sampling in the distance model to forcibly study the distance from the distance when the styles are different, and the characteristics of the existing image without additional incorrect data sampling. By automatically projecting images in different spaces, images having similar characteristics (characteristics from the same correct answer data) can be placed at close distances from each other in style space.

도 9는 본 발명의 일실시예에 따른 스타일 공간의 예를 도시한 도면이다. 이러한 도 9에서는 학습 이미지(910)에서 추출된 상품들 각각에 대한 이미지 벡터 공간(920)을 생성하고, 이미지 특징을 입력으로 하는 입력 데이터에 대해 MDAE에 기반하여 스타일 공간(930)을 생성하여 스타일 공간(930)에 상품들을 사영시킨 예를 나타내고 있다. 이미 설명한 바와 같이 MDAE는 동일한 학습 이미지에서 추출된 상품들이 스타일 공간(930)의 동일한 공간상의 포인트에 사영되도록 학습될 수 있으며, 이에 따라 도 9에서는 동일한 학습 이미지에서 추출된 이미지들이 스타일 공간(930)에서 서로 가까운 포인트들에 사영됨을 나타내고 있다. 또한, 도 9에서는 서로 다른 학습 이미지들에서 추출된 상품들이 스타일 공간(930)에서 서로 다른 공간상의 포인트에 사영되도록 학습됨에 따라, 서로 다른 학습 이미지들에서 추출된 상품들이 스타일 공간(930)에서 상대적으로 서로 먼 포인트들에 사영됨을 나타내고 있다. 또한, MDAE는 이미지 벡터 공간(920)을 인코딩한 후 다시 디코딩하여 재구성된 이미지 벡터 공간(940)을 생성하며, 재구성된 이미지 특징들을 활용함으로써 추가적인 오답 데이터의 생성 및 활용 없이도 상품들을 스타일 공간의 알맞은 포인트에 사영하도록 MDAE의 인코더를 학습시킬 수 있다.9 is a view showing an example of a style space according to an embodiment of the present invention. In FIG. 9, an image vector space 920 for each of the products extracted from the learning image 910 is generated, and a style space 930 is generated based on MDAE for input data having image characteristics as an input to style. An example of projecting products in space 930 is shown. As already described, MDAE may be learned so that products extracted from the same learning image are projected to points on the same space in the style space 930, and accordingly, in FIG. 9, images extracted from the same learning image are style space 930. Indicates projected at points close to each other. In addition, in FIG. 9, as products extracted from different learning images are learned to project at points on different spaces in the style space 930, products extracted from different learning images are relative to the style space 930. Indicates that they are projected at points distant from each other. In addition, MDAE encodes the image vector space 920 and decodes it again to generate a reconstructed image vector space 940. By utilizing the reconstructed image features, products can be appropriately stored in the style space without additional incorrect data generation and utilization. MDAE's encoder can be trained to project to a point.

이처럼 본 발명의 실시예들에 따르면, MDAE(Multimodal Deep Autoencoder)를 이용하여 학습 이미지가 포함하는 카테고리별 상품들의 상관관계를 학습시키고, MDAE(Multimodal Deep Autoencoder)에 학습된 상관관계에 기반하여 상품을 추천할 수 있다. 또한, MDAE의 디코더를 통해 재구성된 재구성된(reconstructed) 상품들의 특징들을 정답 데이터로 활용함으로써, 오답 데이터의 활용 없이 상품 추천 모델을 학습시킴으로써, 기존의 거리 모델에서 가장 큰 계산량을 갖던 네거티브 샘플링 과정을 생략할 수 있다.As described above, according to embodiments of the present invention, the correlation of products by category included in the learning image is learned using MDAE (Multimodal Deep Autoencoder), and the product is based on the correlation learned in MDAE (Multimodal Deep Autoencoder). Can recommend In addition, by using the features of the reconstructed products reconstructed through the MDAE decoder as correct answer data, by learning the product recommendation model without using the incorrect answer data, a negative sampling process having the largest computation in the existing distance model is performed. Can be omitted.

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

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록매체에 저장될 수 있다.The software may include a computer program, code, instruction, or a combination of one or more of these, and configure the processing device to operate as desired, or process 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. Can be embodied in 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.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 애플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, or the like alone or in combination. The medium may be a computer that continuously stores executable programs or may be temporarily stored for execution or download. In addition, the medium may be various recording means or storage means in the form of a combination of single or several hardware, and is not limited to a medium directly connected to a computer system, but may be distributed on a network. Examples of the medium include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magneto-optical media such as floptical disks, And program instructions including ROM, RAM, flash memory, and the like. In addition, examples of other media may include an application store for distributing applications or a recording medium or storage medium managed by a site, server, or the like that supplies or distributes various software. Examples of program instructions include high-level language code that can be executed by a computer using an interpreter, etc., as well as machine language codes produced by a compiler.

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

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

Claims (15)

적어도 하나의 프로세서를 포함하는 컴퓨터 장치의 상품 추천 방법에 있어서,
상기 적어도 하나의 프로세서에 의해, 학습 이미지 세트가 포함하는 카테고리별 상품들을 추출하는 단계;
상기 적어도 하나의 프로세서에 의해, 동일한 학습 이미지에 포함된 카테고리별 상품들간의 상관관계에 기반하여 상기 추출된 카테고리별 상품들을 스타일 공간상의 포인트들에 사영(projection)시키도록 MDAE(Multimodal Deep Autoencoder) 기반의 상품 추천 모델을 학습시키는 단계;
상기 적어도 하나의 프로세서에 의해, 복수의 추천 대상 상품들을 상기 학습된 상품 추천 모델을 통해 상기 스타일 공간상의 복수의 제1 포인트들에 사영시키는 단계;
상기 적어도 하나의 프로세서에 의해, 검색 대상 상품을 상기 학습된 상품 추천 모델을 통해 상기 스타일 공간상의 제2 포인트에 사영시키는 단계; 및
상기 적어도 하나의 프로세서에 의해, 상기 스타일 공간상에서 상기 제1 포인트들 각각과 상기 제2 포인트간의 거리에 기반하여 상기 복수의 추천 대상 상품들 중 적어도 하나의 추천 대상 상품을 선택하는 단계
를 포함하고,
상기 스타일 공간은 복수의 공간들로 분류되고,
상기 상품 추천 모델을 학습하는 단계는,
상기 추출된 카테고리별 상품들을 스타일 공간상의 포인트들에 사영시키되, 동일한 학습 이미지에 포함된 카테고리별 상품들이 상기 분류된 복수의 공간들 중 동일한 공간의 포인트들에 사영되도록 상기 MDAE의 인코더를 학습시키는 것을 특징으로 하는 상품 추천 방법.
A method for recommending a product of a computer device including at least one processor, the method comprising:
Extracting products for each category included in the learning image set by the at least one processor;
MDAE (Multimodal Deep Autoencoder) based on the at least one processor to project the extracted category-specific products to points in a style space based on correlations between category-specific products included in the same learning image. Learning a product recommendation model of the product;
Projecting, by the at least one processor, a plurality of recommendation target products to a plurality of first points on the style space through the learned product recommendation model;
Projecting, by the at least one processor, a product to be searched through the learned product recommendation model to a second point on the style space; And
Selecting at least one recommendation target product among the plurality of recommendation target products based on the distance between each of the first points and the second point in the style space by the at least one processor;
Including,
The style space is classified into a plurality of spaces,
The step of learning the product recommendation model,
It is to project the extracted products for each category to points on a style space, but to train the encoder of the MDAE such that products for each category included in the same learning image are projected at points of the same space among the classified plurality of spaces. Featured product recommendation method.
삭제delete 제1항에 있어서,
상기 학습시키는 단계는,
상기 동일한 학습 이미지에 포함된 카테고리별 상품들을 원소로 갖는 집합에 대한 공집합을 제외한 부분집합들 각각을 통해 이미지 특징을 추출하여 상기 상품 추천 모델을 위한 입력 데이터를 생성하는 것을 특징으로 하는 상품 추천 방법.
According to claim 1,
The step of learning,
A product recommendation method characterized by extracting image features through each of the sub-sets excluding the empty set for a set having products by category included in the same learning image as elements, and generating input data for the product recommendation model.
제1항에 있어서,
상기 상품 추천 모델을 학습하는 단계는,
상기 MDAE의 인코더 및 디코더를 통해 재구성된(reconstructed) 상품들의 특징들을 정답 데이터를 이용하고, 추가적인 오답 데이터의 이용 없이 상기 상품 추천 모델을 학습시키는 것을 특징으로 하는 상품 추천 방법.
According to claim 1,
The step of learning the product recommendation model,
A product recommendation method characterized by using the correct answer data for features of products reconstructed through the encoder and decoder of the MDAE and learning the product recommendation model without using additional incorrect data.
제1항에 있어서,
상기 선택하는 단계는,
상기 복수의 추천 대상 상품들 중 상기 제2 포인트와 거리가 가까운 순서로 N(상기 N은 자연수) 개의 제1 포인트들에 대응하는 N 개의 추천 대상 상품을 선택하는 것을 특징으로 하는 상품 추천 방법.
According to claim 1,
The step of selecting,
A product recommendation method comprising selecting N recommendation target products corresponding to N (N is a natural number) first points in an order of distance from the second point among the plurality of recommendation target products.
제1항에 있어서,
상기 선택하는 단계는,
상기 복수의 추천 대상 상품들 중 상기 검색 대상 상품의 카테고리와 다른 카테고리의 추천 대상 상품을 상기 거리에 기반하여 선택하는 것을 특징으로 하는 상품 추천 방법.
According to claim 1,
The step of selecting,
A method of recommending a product, wherein a product of a category different from the category of the product to be searched is selected from among the plurality of products to be recommended based on the distance.
제1항에 있어서,
상기 동일한 학습 이미지에 포함된 카테고리별 상품들은 서로 다른 셋 이상의 카테고리별 상품들을 포함하는 것을 특징으로 하는 상품 추천 방법.
According to claim 1,
A product recommendation method characterized in that the products for each category included in the same learning image include three or more products for each category.
컴퓨터와 결합되어 제1항 또는 제3항 내지 제7항 중 어느 한 항의 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.A computer program stored in a computer readable recording medium in combination with a computer to execute the method of claim 1 or any one of claims 3 to 7 on a computer. 제1항 또는 제3항 내지 제7항 중 어느 한 항의 방법을 컴퓨터에 실행시키기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록매체.A computer-readable recording medium, characterized in that a program for executing the method of any one of claims 1 or 3 to 7 is recorded on a computer. 컴퓨터 장치에 있어서,
컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서
를 포함하고,
상기 적어도 하나의 프로세서에 의해,
학습 이미지 세트가 포함하는 카테고리별 상품들을 추출하고,
동일한 학습 이미지에 포함된 카테고리별 상품들간의 상관관계에 기반하여 상기 추출된 카테고리별 상품들을 스타일 공간상의 포인트들에 사영(projection)시키도록 MDAE(Multimodal Deep Autoencoder) 기반의 상품 추천 모델을 학습시키고,
복수의 추천 대상 상품들을 상기 학습된 상품 추천 모델을 통해 상기 스타일 공간상의 복수의 제1 포인트들에 사영시키고,
검색 대상 상품을 상기 학습된 상품 추천 모델을 통해 상기 스타일 공간상의 제2 포인트에 사영시키고,
상기 스타일 공간상에서 상기 제1 포인트들 각각과 상기 제2 포인트간의 거리에 기반하여 상기 복수의 추천 대상 상품들 중 적어도 하나의 추천 대상 상품을 선택하고,
상기 스타일 공간은 복수의 공간들로 분류되고,
상기 적어도 하나의 프로세서에 의해,
상기 추출된 카테고리별 상품들을 스타일 공간상의 포인트들에 사영시키되, 동일한 학습 이미지에 포함된 카테고리별 상품들이 상기 분류된 복수의 공간들 중 동일한 공간의 포인트들에 사영되도록 상기 MDAE의 인코더를 학습시키는 것
을 특징으로 하는 컴퓨터 장치.
In the computer device,
At least one processor implemented to execute computer readable instructions
Including,
By the at least one processor,
Extract products by category included in the learning image set,
A multimodal deep autoencoder (MDAE)-based product recommendation model is trained to project the extracted category-specific products to points on a style space based on correlations between category-specific products included in the same learning image,
Projecting a plurality of recommended target products to a plurality of first points on the style space through the learned product recommendation model,
The product to be searched is projected to the second point on the style space through the learned product recommendation model,
On the style space, based on the distance between each of the first points and the second point, select at least one recommended target product among the plurality of recommended target products,
The style space is classified into a plurality of spaces,
By the at least one processor,
Learning the encoder of the MDAE such that the extracted products for each category are projected to points on a style space, and products for each category included in the same learning image are projected at points in the same space among the plurality of classified spaces.
Computer device characterized in that.
삭제delete 제10항에 있어서,
상기 적어도 하나의 프로세서에 의해,
상기 동일한 학습 이미지에 포함된 카테고리별 상품들을 원소로 갖는 집합에 대한 공집합을 제외한 부분집합들 각각을 통해 이미지 특징을 추출하여 상기 상품 추천 모델을 위한 입력 데이터를 생성하는 것을 특징으로 하는 컴퓨터 장치.
The method of claim 10,
By the at least one processor,
A computer device characterized by extracting image features through each of the subsets excluding the empty set for a set having elements by category included in the same learning image as elements, and generating input data for the product recommendation model.
제10항에 있어서,
상기 적어도 하나의 프로세서에 의해,
상기 MDAE의 인코더 및 디코더를 통해 재구성된(reconstructed) 상품들의 특징들을 정답 데이터를 이용하고, 추가적인 오답 데이터의 이용 없이 상기 상품 추천 모델을 학습시키는 것을 특징으로 하는 컴퓨터 장치.
The method of claim 10,
By the at least one processor,
A computer device characterized by using the correct answer data for features of products reconstructed through the encoder and decoder of the MDAE, and training the product recommendation model without using additional incorrect data.
제10항에 있어서,
상기 적어도 하나의 프로세서에 의해,
상기 복수의 추천 대상 상품들 중 상기 제2 포인트와 거리가 가까운 순서로 N(상기 N은 자연수) 개의 제1 포인트들에 대응하는 N 개의 추천 대상 상품을 선택하는 것을 특징으로 하는 컴퓨터 장치.
The method of claim 10,
By the at least one processor,
A computer device characterized by selecting N recommended target products corresponding to N (where N is a natural number) first points in a sequence close to the second point among the plurality of recommended target products.
제10항에 있어서,
상기 적어도 하나의 프로세서에 의해,
상기 복수의 추천 대상 상품들 중 상기 검색 대상 상품의 카테고리와 다른 카테고리의 추천 대상 상품을 상기 거리에 기반하여 선택하는 것을 특징으로 하는 컴퓨터 장치.
The method of claim 10,
By the at least one processor,
A computer device, characterized in that, among the plurality of recommended target products, a category of the search target product and a recommended target product of a different category are selected based on the distance.
KR1020180026762A 2018-03-07 2018-03-07 Method and system for recommending product based style space created using artificial intelligence KR102119518B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180026762A KR102119518B1 (en) 2018-03-07 2018-03-07 Method and system for recommending product based style space created using artificial intelligence

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180026762A KR102119518B1 (en) 2018-03-07 2018-03-07 Method and system for recommending product based style space created using artificial intelligence

Publications (2)

Publication Number Publication Date
KR20190109652A KR20190109652A (en) 2019-09-26
KR102119518B1 true KR102119518B1 (en) 2020-06-08

Family

ID=68067880

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180026762A KR102119518B1 (en) 2018-03-07 2018-03-07 Method and system for recommending product based style space created using artificial intelligence

Country Status (1)

Country Link
KR (1) KR102119518B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102446720B1 (en) * 2022-02-18 2022-09-26 오드컨셉 주식회사 An image reconstruction model, and a training method of the image reconstruction model

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102150720B1 (en) * 2020-01-03 2020-09-02 주식회사 스타일쉐어 Image embedding apparatus and method for content-based user clustering
KR102392674B1 (en) * 2020-01-30 2022-04-29 오드컨셉 주식회사 Fashion goods recommendation methods, devices and systems

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100461159C (en) * 2001-05-25 2009-02-11 恩迪卡技术公司 Hierarchical data-driven navigation system and method for information retrieval
CA2854723A1 (en) * 2011-11-09 2013-05-16 Rockstar Consortium Us Lp Method and system for providing relevant information to a mobile device
KR20170096971A (en) * 2016-02-17 2017-08-25 옴니어스 주식회사 Method for recommending a product using style feature

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102446720B1 (en) * 2022-02-18 2022-09-26 오드컨셉 주식회사 An image reconstruction model, and a training method of the image reconstruction model

Also Published As

Publication number Publication date
KR20190109652A (en) 2019-09-26

Similar Documents

Publication Publication Date Title
CN112313697B (en) System and method for generating interpretable description-based recommendations for description angle augmentation
KR102211650B1 (en) Method and system for recommending product based on artificial intelligence
JP6446602B2 (en) Method and system for categorizing data
CN111680221B (en) Information recommendation method, device, equipment and computer readable storage medium
US10073860B2 (en) Generating visualizations from keyword searches of color palettes
KR102214422B1 (en) Method and system of real-time graph-based embedding for personalized content recommendation
US11954142B2 (en) Method and system for producing story video
US20150378999A1 (en) Determining affiliated colors from keyword searches of color palettes
US20150379004A1 (en) Identifying data from keyword searches of color palettes and keyword trends
US20150379002A1 (en) Determining color names from keyword searches of color palettes
US12118042B2 (en) Method, system, and non-transitory computer-readable record medium for providing multiple models of federated learning using personalization
CN115917535A (en) Recommendation model training method, recommendation device and computer readable medium
US20160132601A1 (en) Hybrid Explanations In Collaborative Filter Based Recommendation System
KR20210018384A (en) Method and system of real-time graph-based embedding for personalized content recommendation
CN111818370B (en) Information recommendation method and device, electronic equipment and computer-readable storage medium
US9767417B1 (en) Category predictions for user behavior
CN112380453B (en) Article recommendation method and device, storage medium and equipment
US9767204B1 (en) Category predictions identifying a search frequency
KR102119518B1 (en) Method and system for recommending product based style space created using artificial intelligence
CN105580043A (en) Strength based modeling for recommendation system
US10474670B1 (en) Category predictions with browse node probabilities
CN116894711A (en) Commodity recommendation reason generation method and device and electronic equipment
KR102011099B1 (en) Method, apparatus, and computer program for selecting music based on image
US20210192000A1 (en) Searching using changed feature of viewed item
US20210192338A1 (en) Machine learning multiple features of depicted item

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant