KR102220273B1 - 상품 추천 방법 및 이를 이용하는 서버 - Google Patents

상품 추천 방법 및 이를 이용하는 서버 Download PDF

Info

Publication number
KR102220273B1
KR102220273B1 KR1020180082557A KR20180082557A KR102220273B1 KR 102220273 B1 KR102220273 B1 KR 102220273B1 KR 1020180082557 A KR1020180082557 A KR 1020180082557A KR 20180082557 A KR20180082557 A KR 20180082557A KR 102220273 B1 KR102220273 B1 KR 102220273B1
Authority
KR
South Korea
Prior art keywords
product
vector
products
user
candidate
Prior art date
Application number
KR1020180082557A
Other languages
English (en)
Other versions
KR20190114703A (ko
Inventor
양민철
박유진
김형욱
장예훈
이정태
Original Assignee
네이버 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 네이버 주식회사 filed Critical 네이버 주식회사
Publication of KR20190114703A publication Critical patent/KR20190114703A/ko
Application granted granted Critical
Publication of KR102220273B1 publication Critical patent/KR102220273B1/ko

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/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0254Targeted advertisements based on statistics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • 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

Abstract

본 출원은 상품 추천 방법 및 이를 이용하는 서버에 관한 것으로서, 본 발명의 일 실시예에 의한 상품 추천 방법은, 복수의 등록상품 중에서, 사용자로부터 제1 상품에 대한 선택입력을 수신하는 상품선택단계; 상기 등록상품들 사이의 연관성을 모델링한 연관성 모델을 이용하여, 상기 제1 상품과 연관된 복수의 후보 상품들을 추출하는 후보 상품 추출단계; 및 상기 사용자의 취향벡터와 상기 후보 상품들의 표현벡터를 비교하여, 상기 제1 상품에 대한 추천상품을 설정하는 추천상품 설정단계를 포함할 수 있다.

Description

상품 추천 방법 및 이를 이용하는 서버 {Method for recommending items and server using the same}
본 출원은 상품 추천 방법 및 이를 이용하는 서버에 관한 것으로서, 온라인 쇼핑시 사용자에 대한 맞춤형 상품 추천 서비스를 제공할 수 있는 상품 추천 방법 및 이를 이용하는 서버에 관한 것이다.
온라인 쇼핑몰(online shopping mall) 또는 인터넷 쇼핑몰(internet shopping mall)은 인터넷 등을 이용하여 상품을 매매할 수 있도록 만든 가상 상점을 말한다. 온라인 쇼핑몰은 오프라인 쇼핑몰과는 달리 시간적, 공간적인 제약이 없기 때문에 소비자들은 언제, 어디서나 비교적 저렴한 가격으로 상품을 구입할 수 있다. 온라인 쇼핑몰의 운영자 입장에서는 상권의 제약 없이 소비자의 취향에 맞는 상품정보를 제공할 수 있다. 온라인 쇼핑몰의 운영자는 직접 상품을 소비자에게 판매할 수도 있고 판매자와 소비자를 연결하여 매매를 중계할 수도 있다. 온라인 쇼핑은 정보통신기술의 발전과 상품 구매의 편리성 등으로 인하여 최근 들어 급격히 시장규모가 성장하고 있다.
한편, 온라인 쇼핑몰은 고객의 구매활동을 촉진하기 위하여 다양한 방법으로 상품을 추천하고 있다. 구체적으로 상품 추천을 위해 크게 두 가지 분석 방식이 채용되고 있는데, 고객 개인의 온라인 활동을 분석하는 방식과 다른 고객의 온라인 활동을 분석하는 방식이 있다. 첫 번째 방식의 예로는, 고객 개인의 구매이력을 참조하여 과거에 구매했던 상품과 관련된 상품을 추천하여 구매활동을 일으키는 것이다. 두 번째 방식의 예로는, 판매량이 높은 상품을 추천하거나, 상품에 대한 댓글을 분석하여 상품을 추천하거나, 다른 고객의 구매이력을 참조하여 상품을 추천하는 방식 등이 있다.
본 출원은, 개인 맞춤형 상품 추천 서비스를 제공할 수 있는 상품 추천 방법 및 이를 이용하는 서버를 제공하고자 한다.
본 출원은, 사용자가 특정 상품을 선택하면 사용자의 취향이나 스타일을 고려하여 특정 상품과 연관된 추천상품을 제시할 수 있는 상품 추천 방법 및 이를 이용하는 서버를 제공하고자 한다.
본 발명의 일 실시예에 의한 상품 추천 방법은, 복수의 등록상품 중에서, 사용자로부터 제1 상품에 대한 선택입력을 수신하는 상품선택단계; 상기 등록상품들 사이의 연관성을 모델링한 연관성 모델을 이용하여, 상기 제1 상품과 연관된 복수의 후보 상품들을 추출하는 후보상품 추출단계; 및 상기 사용자의 취향벡터와 상기 후보 상품들의 표현벡터를 비교하여, 상기 제1 상품에 대한 추천상품을 설정하는 추천상품 설정단계를 포함할 수 있다.
본 발명의 일 실시예에 의한 서버는, 복수의 등록상품들 중에서 제1 상품에 대한 선택입력을 사용자로부터 수신하는 선택입력 감지부; 상기 등록상품들 사이의 연관성을 모델링한 연관성 모델을 이용하여, 상기 제1 상품과 연관된 복수의 후보 상품들을 추출하는 후보상품 추출부; 및 상기 사용자의 취향벡터와 상기 후보 상품들의 표현벡터를 비교하여, 상기 제1 상품에 대한 추천상품을 설정하는 추천상품 설정부를 포함할 수 있다.
본 발명의 다른 실시예에 의한 서버는, 프로세서; 및 상기 프로세서에 커플링된 메모리를 포함하는 것으로서, 상기 메모리는 상기 프로세서에 의하여 실행되도록 구성되는 하나 이상의 모듈을 포함하고, 상기 하나 이상의 모듈은, 복수의 등록상품들 중에서 제1 상품에 대한 선택입력을 사용자로부터 수신하고, 상기 등록상품들 사이의 연관성을 모델링한 연관성 모델을 이용하여, 상기 제1 상품과 연관된 복수의 후보 상품들을 추출하며, 상기 사용자의 취향벡터와 상기 후보 상품들의 표현벡터를 비교하여, 상기 제1 상품에 대한 추천상품을 설정하는, 명령어를 포함할 수 있다.
덧붙여 상기한 과제의 해결수단은, 본 발명의 특징을 모두 열거한 것이 아니다. 본 발명의 다양한 특징과 그에 따른 장점과 효과는 아래의 구체적인 실시형태를 참조하여 보다 상세하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 의한 상품 추천 방법 및 이를 이용하는 서버에 의하면, 개인 맞춤형 상품 추천 서비스를 제공할 수 있으므로, 추천 상품에 대한 신뢰성과 사용자의 편의성을 향상시킬 수 있다.
본 발명의 일 실시예에 의한 상품 추천 방법 및 이를 이용하는 서버에 의하면, Meta-Prod2Vec 기법을 이용하여 후보 상품을 추출하고, 이후 토픽 모델을 이용하여 추출한 사용자의 취향벡터를 이용하여 추천 상품을 설정하므로, 사용자의 취향이나 선호 스타일에 따른 정확한 상품 추천이 가능하다.
다만, 본 발명의 실시 예들에 따른 상품 추천 방법 및 이를 이용하는 서버에 의해 달성할 수 있는 효과는 이상에서 언급한 것들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도1은 본 발명의 일 실시예에 의한 상품 추천 시스템을 나타내는 개략도이다.
도2 및 도3은 본 발명의 일 실시예에 의한 서버를 나타내는 블록도이다.
도4는 본 발명의 일 실시예에 의한 상품목록 및 상품추천영역을 나타내는 개략도이다.
도5 및 도6은 본 발명의 일 실시예에 의한 토픽 모델을 이용한 선호 스타일 벡터 설정을 나타내는 개략도이다.
도7은 본 발명의 일 실시예에 의한 열람목록을 나타내는 개략도이다.
도8은 본 발명의 일 실시예에 의한 meta-prod2vec을 이용한 상품간 연관성 설정을 나타내는 개략도이다.
도9는 본 발명의 일 실시예에 의한 상품 추천 시나리오를 나타내는 개략도이다.
도10은 본 발명의 일 실시예에 의한 서버의 상품 추천 방법을 나타내는 순서도이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 즉, 본 발명에서 사용되는 '부'라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '부'는 어떤 역할들을 수행한다. 그렇지만 '부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '부'들로 결합되거나 추가적인 구성요소들과 '부'들로 더 분리될 수 있다.
또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
도1은 본 발명의 일 실시예에 의한 상품 추천 시스템을 나타내는 개략도이다.
도1을 참조하면, 본 발명의 일 실시예에 의한 상품 추천 시스템은, 사용자 단말(1) 및 서버(100)를 포함할 수 있다.
이하, 도1을 참조하여 본 발명의 일 실시예에 의한 상품 추천 시스템을 설명한다.
사용자 단말(1)은 사용자가 사용하는 단말장치로, 사용자 단말(1)은 유선 또는 무선 통신망을 이용하여 서버(100) 등과 통신을 수행할 수 있다. 여기서, 사용자 단말(1)은 UE(User Equipment), MS(Mobile Station), MSS(Mobile Subscriber Station), SS(Subscriber Station), AMS(Advanced Mobile Station), WT(Wireless terminal), MTC(Machine-Type Communication) 장치, M2M(Machine-to-Machine) 장치, D2D 장치(Device-to-Device), 스테이션(STA: Station) 등의 용어에 의해 대체될 수 있다.
사용자 단말(1)은 유선 또는 무선 통신망을 통해 음성 또는 데이터 통신을 수행할 수 있으며, 사용자 단말(1)은 정보의 송수신을 위한 브라우저, 프로그램 및 프로토콜을 저장하는 메모리, 각종 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비할 수 있다.
본 발명의 일 실시예에 따른 사용자 단말(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 등과 같이 휴대하기 어려운 디지털 기기일 수 있다.
사용자 단말(1)과 서버(100)는 통신 네트워크를 통해 서로 연결될 수 있다. 통신 네트워크는 유선 네트워크와 무선 네트워크를 포함할 수 있으며, 구체적으로, 근거리 네트워크(LAN: Local Area Network), 도시권 네트워크(MAN: Metropolitan Area Network), 광역 네트워크(WAN: Wide Area Network) 등 다양한 네트워크를 포함할 수 있다. 또한, 통신 네트워크는 공지의 월드 와이드 웹(WWW: World Wide Web)을 포함할 수도 있다. 그러나, 본 발명에 따른 통신 네트워크는 상기 열거된 네트워크에 국한되지 않고, 공지의 무선 데이터 네트워크, 공지의 전화 네트워크, 공지의 유/무선 텔레비전 네트워크 중 적어도 하나를 포함할 수도 있다.
사용자 단말(1)은 서버(100)로부터 제공받은 정보를 기반으로 사용자에게 서비스를 제공할 수 있다. 일 예로, 서버(100)가 웹 서버인 경우, 사용자 단말(1)은 서버(100)로부터 제공받은 컨텐츠를 기반으로 웹 서비스를 제공할 수 있다. 또한, 실시예에 따라서는, 사용자가 사용자 단말(1)을 이용하여, 서버(100)가 제공하는 쇼핑 웹 사이트에 접속하거나 쇼핑 전용 어플리케이션을 실행할 수 있으며, 이를 통하여 사용자에게 상품 구매 등 온라인 쇼핑 서비스를 제공하는 것도 가능하다.
이 경우, 사용자 단말(1)은 사용자 인터페이스를 사용자 단말(1)의 디스플레이부에 표시할 수 있으며, 도4(a)에 도시한 바와 같이, 복수의 상품들의 목록이 디스플레이부에 표시될 수 있다. 사용자가 특정한 상품에 대한 선택입력을 인가하는 경우에는, 도4(b)에 도시한 바와 같이, 선택된 상품의 이미지나 상세한 설명을 포함하는 상품정보가 표시될 수 있다. 이때, 서버(100)는 사용자가 선택한 상품과 관련있는 추천상품을 추출하여 사용자 단말(1)에 제공할 수 있다. 이 경우, 사용자 단말(1)은 디스플레이부의 상품추천영역(r)에 추천상품을 표시하여, 상품추천 서비스를 제공할 수 있다.
서버(100)는 서비스 제공 서버로서, 상품 추천 서비스 또는 상품 추천 서비스를 포함하는 온라인 쇼핑 서비스 등을 사용자 단말(1)에 제공할 수 있다. 서버(100)에는, 온라인 쇼핑을 통한 상품의 판매를 위하여, 복수의 상품들이 등록되어 있을 수 있다. 또한, 서버(100)에는 각각의 등록상품에 대응하는 상품정보가 저장되어 있을 수 있으며, 저장된 상품정보에는 상품의 이미지, 상품명, 가격, 제조사, 판매처, 상품에 대한 상세한 설명 등 다양한 정보들이 포함될 수 있다.
한편, 서버(100)는 사용자가 과거에 열람하거나 구매한 상품들에 대한 이력정보를 통하여 사용자의 스타일이나 취향을 파악할 수 있으며, 파악한 사용자의 스타일이나 취향에 따라 추천 상품을 설정할 수 있다. 즉, 사용자가 특정한 상품을 선택한 경우, 상기 상품과 연관된 복수의 상품들 중에서, 사용자의 스타일이나 취향에 대응하는 상품을 판별하여, 사용자 단말(1)로 제공할 수 있다. 이후, 사용자 단말(1)은 추천 상품을 표시하여, 사용자에게 제공할 수 있다.
즉, 본 발명의 일 실시예에 의한 서버(100)는, 단순히 사용자가 선택한 상품과 유사한 상품을 추천하는 것이 아니라, 사용자의 스타일 등을 고려하여 각각의 사용자에 대한 맞춤형 상품 추천 서비스를 제공할 수 있다. 이하, 본 발명의 일 실시예에 의한 서버를 구체적으로 설명한다.
도2는 본 발명의 일 실시예에 의한 서버를 나타내는 블록도이다.
도2를 참조하면 본 발명의 일 실시예에 의한 서버는(100), 취향분석부(110), 선택입력수신부(120), 후보상품 추출부(130) 및 추천상품 설정부(140)를 포함할 수 있다.
취향분석부(110)는 사용자의 취향이나 스타일에 대응하는 취향벡터를 생성할 수 있다. 구체적으로, 취향분석부(110)는 사용자가 과거에 열람한 복수의 등록상품들의 목록을 저장한 이력정보를 이용하여, 사용자의 취향이나 스타일을 파악하고 그에 대응하는 취향벡터를 생성할 수 있다.
사용자가 온라인 쇼핑을 수행하는 경우, 사용자는 상품의 구매 등을 위하여, 다양한 등록상품들을 열람하여 상품의 이미지나 상세한 설명 등 상품 정보를 제공받을 수 있다. 이때, 사용자가 열람한 등록상품들의 목록은 이력정보로 저장될 수 있다.
사용자는 자신이 선호하는 스타일이나 취향에 맞는 등록상품들을 열람하여 상품정보를 확인하는 것이 일반적이므로, 이력정보에 저장된 등록상품들의 목록은 사용자가 선호하는 스타일이 반영된 것으로 볼 수 있다. 따라서, 취향분석부(110)에서는, 사용자의 이력정보를 이용하여 사용자의 취향이나 스타일을 나타내는 취향벡터를 생성할 수 있다.
실시예에 따라서는, 토픽 모델(topic model)을 이용하여 사용자의 선호 스타일 벡터를 생성할 수 있으며, 생성한 선호 스타일 벡터를 취향벡터로 설정할 수 있다.
다만, 토픽 모델을 이용하여 사용자의 선호 스타일 벡터를 생성하기 위해서는, 먼저 토픽 모델을 학습시킬 필요가 있다. 즉, 토픽 모델을 학습시켜, 각각의 등록상품이 어떤 스타일에 해당하는지 설정하고, 이후 사용자가 열람하거나 구매한 각각의 등록상품들의 스타일을 바탕으로, 사용자가 선호하는 스타일에 대응하는 선호 스타일 벡터를 생성할 수 있다. 여기서, 토픽 모델은 서버(100) 또는 별도의 장치 등을 이용하여 미리 생성한 것일 수 있다.
토픽모델(topic model)은 일반적으로 문서 집합에서 추상적인 주제(topic)을 발견하기 위하여 통계적으로 발전되어 온 것으로, 실시예에 따라서는 LDA(Latent Dirichlet Allocation) 기법을 활용하여 형성할 수 있다. 여기서, LDA 기법은 다수의 문서집합을 이용하여 각 문서에 어떤 주제들이 존재하는지 분류할 수 있는 비지도학습 알고리즘의 일 예에 해당한다.
도5(a)를 참조하면, 각각의 등록상품에 대한 상품정보에는, 상품의 명칭(t1)이나 상품의 상세한 설명(t2)과 같이 텍스트(text)로 형성된 텍스트 정보들이 포함되어 있을 수 있다. 여기서, 하나의 상품을 설명하는 텍스트 정보들은 모두 하나의 스타일을 표현하는 것으로 가정한다. 즉, 등록상품의 상품정보는 모두 동일한 하나의 스타일을 표현하는 것으로 볼 수 있다. 이후, 추출한 텍스트 정보에 LDA 기법을 적용하여 토픽 모델을 생성할 수 있다. 이 경우, 토픽 모델은 텍스트 정보를 바탕으로, 각각의 등록상품들에 대응하는 스타일을 주제(topic)로 도출할 수 있다.
도5(b)는 등록상품에 대한 토픽 모델 형성을 설명하기 위한 것으로서, 여기서, α은 k차원 디리클레 분포(Dirichlet distribution)의 매개변수, θ는 k차원 벡터로 θi는 문서가 i번째 주제에 속할 확률 분포를 나타내며, β는 k x V 크기의 행렬 매개변수로 βij는 i번째 주제가 j번째 단어를 생성할 확률을 나타내며, Zn은 k차원 벡터로 Zn i는 단어 ωn이 i번째 주제에 속할 확률 분포를 나타낸다. 여기서, N은 하나의 상품정보 내에 속한 단어의 개수, K는 하나의 상품정보 내에 포함된 스타일(주제)의 개수, M은 상품정보의 개수에 해당한다.
즉, 등록상품의 상품정보로부터 텍스트 정보를 추출할 수 있으며, 다수의 등록상품에 대한 텍스트 정보를 LDA 기법으로 학습시켜 토픽 모델을 생성할 수 있다. 토픽 모델에 의하면, 특정 스타일에 포함된 단어들의 분포와, 특정 상품에 해당하는 스타일 등을 도출할 수 있다.
상술한 바와 같이, 토픽 모델을 이용하여, 각각의 상품들이 어느 스타일에 해당하는지를 구별할 수 있으며, 각각의 상품들을 해당하는 스타일에 대응하는 상품 스타일 벡터로 표시할 수 있다.
토픽 모델이 생성된 이후, 취향분석부(110)는 사용자의 이력정보를 토픽 모델에 적용하여, 사용자에 대응하는 선호 스타일 벡터를 추출할 수 있다. 구체적으로, 사용자의 이력정보로부터 사용자가 과거에 열람한 등록상품들의 상품정보를 추출할 수 있다. 여기서, 상세한 설명 등 텍스트로 형성된 텍스트 정보를 추출할 수 있으며, 텍스트 정보를 토픽 모델에 입력하여 대응하는 선호 스타일 벡터를 추출할 수 있다.
즉, 도6(a)에 도시한 바와 같이, 사용자 A가 클릭한 이력정보(h1)에 포함된 상품정보 중에서, 상품명, 상품에 대한 상세한 설명 등에 포함된 텍스트 정보를 추출하여 사용자 A의 단어집합을 형성할 수 있다. 이후, 단어집합들을 토픽 모델에 입력하면, 사용자 A에 대한 선호 스타일 벡터를 얻을 수 있다. 도6(a)에서는 일례로, 사용자에 대한 10차원의 선호 스타일 벡터(v1)를 나타내었으며, k번째 선호 스타일 벡터는 해당 사용자가 k번째 스타일에 속할 확률 분포로, 해당 스타일에 속할 확률이 높을수록 진한 색으로 도시하였다. 여기서는 편의상 10차원으로 도시하였으나, 선호 스타일 벡터는 필요에 따라 그 크기를 조정할 수 있으며, 바람직하게는 200차원 정도로 구성될 수 있다. 또한, 토픽모델에 의하면, 사용자의 선호 스타일을 나타내는 단어들을 표시한 스타일 표현(e1, e2)도 생성할 수 있다.
한편, 도6(b)에 도시한 바와 같이, 사용자 B는 사용자 A와 비교할 때, 이전에 클릭한 이력정보(h2)가 상이하므로, 이력정보로부터 추출하는 텍스트 정보에 포함된 단어집합이 상이하게 된다. 따라서, 학습된 토픽 모델을 통하여 추출되는 선호 스타일 벡터(v1, v2)와 스타일 표현(e1, e2)도 상이하게 된다. 즉, 사용자 A의 경우, "여리여리", "아이보리", "화이트" 등의 단어에 대응하는 스타일을 선호하지만, 사용자 B는 "레이스", "섹시" 등의 단어에 대응하는 스타일을 선호하는 것으로 판별할 수 있다. 따라서, 토픽 모델을 이용하여 각각의 사용자들의 선호 스타일을 판별할 수 있으며, 이를 선호 스타일 벡터(v1, v2)로 나타낼 수 있다. 추가적으로, 실시예에 따라서는 사용자의 이력정보에 포함된 상품들의 상품 스타일 벡터들을 각각 추출한 후, 추출된 상품 스타일 벡터들을 이용하여 사용자의 선호 스타일 벡터로 설정하는 것도 가능하다.
이외에도, 실시예에 따라서는, 취향분석부(110)가 사용자의 이력정보에 포함된 각각의 등록상품들을 연관성 모델에 적용하여 대응하는 특성벡터를 추출하고, 추출한 특성벡터의 평균에 해당하는 사용자 특성벡터를 취향벡터로 설정하는 것도 가능하다. 다만, 등록상품들의 특성벡터는 뒤에서 설명하므로, 여기서는 구체적인 설명을 생략한다.
선택입력수신부(120)는, 사용자가 인가하는 선택입력을 수신할 수 있다. 서버(100)는 사용자의 요청에 따라 등록상품들의 목록을 사용자 단말(1)에 제공할 수 있으며, 사용자는 복수의 등록상품 중에서 자신이 열람하고자 하는 제1 상품을 선택할 수 있다. 이 경우, 선택입력수신부(120)는 사용자 단말(1)로부터 사용자가 선택한 제1 상품에 대한 선택입력을 수신할 수 있으며, 수신한 선택입력에 대응하여, 제1 상품의 이미지나 상세한 설명을 포함하는 상품정보를 표시할 수 있다. 여기서, 사용자 단말(1)이 인가하는 선택입력은 사용자가 해당 등록상품을 클릭하거나 터치하는 등의 입력일 수 있으며, 실시예에 따라서는 "찜하기", "장바구니 담기" 등의 인터렉션(interaction)을 포함할 수 있다.
후보상품 추출부(130)는 등록상품들 사이의 연관성을 모델링한 연관성 모델을 이용하여, 제1 상품과 연관된 복수의 후보 상품들을 추출할 수 있다. 사용자가 선택한 제1 상품에 대한 추천상품을 제공하기 위해서는, 제1 상품과 연관된 후보상품들을 추출할 필요가 있다. 이를 위해, 후보상품 추출부(130)에서는 머신러닝(machine learning) 등을 통하여 형성된 연관성 모델을 이용하여, 제1 상품과 연관된 후보상품들을 추출할 수 있다.
즉, 후보상품 추출부(130)는 연관성 모델을 이용하여 제1 상품과 등록상품에 대응하는 특성벡터를 각각 추출하고, 각각의 특성벡터 사이의 유사도를 계산하여 후보 상품을 결정할 수 있다. 여기서, 연관성 모델은 prod2vec이나 meta-prod2vec에 의하여 형성된 것일 수 있다. Meta-Prod2Vec은 단어를 벡터 공간에 임베딩하는 word2vec 와 유사하게, 상품을 임베딩하기 위한 방법의 하나로, 컨텍스트(context) 내 공유된 상품 고유 벡터 또는 메타벡터 등은 비슷한 값을 가지도록 학습시킬 수 있는 모델이다. 본 발명에서는, 동일한 컨텍스트 내 열람한 상품들은 서로 연관되어 있는 상품 집합이라는 가정을 통해 상품간 연관성을 모델링한다.
여기서, 연관성 모델은 사용자들이 하나의 쇼핑 세션 내에서 열람한 복수의 등록상품들에 대한 열람목록을 샘플로 수집하고, 수집한 샘플을 이용하여 모델링하여 학습할 수 있다. 도7에 도시한 바와 같이, 사용자는 온라인 쇼핑시 단일 세션(s1, s2) 내에서 복수의 상품들을 순차적으로 열람하여 확인할 수 있으며, 이와 같이, 동일한 쇼핑 컨텍스트(context) 내의 상품들은 서로 연관되어 있는 상품집합으로 볼 수 있다. 예를들어, 사용자가 "블라우스"를 구매하고자 하는 경우, 사용자는 다양한 "블라우스" 중에서 자신의 스타일에 해당하거나 관심이 있는 상품들을 클릭하여 순차적으로 열람하면서 확인할 수 있다. 즉, 사용자가 "블라우스"와 관련하여 클릭한 상품들의 집합은 서로 연관되어 있는 상품에 해당하므로, 이를 기반으로 상품들 사이의 연관성을 추출할 수 있다.
다만, 여기서 단순히 사용자가 클릭한 상품들의 전후에 선택한 상품들만을 이용하여 연관성이 있는 상품을 추출하는 것이 아니라, 각각의 상품의 메타정보와, 상품을 클릭한 사용자에 대한 사용자 정보를 고려하여, 상품들 사이의 연관성을 추출하는 것도 가능하다. 하나의 상품에는 상품고유정보, 메타정보, 사용자정보가 설정될 수 있으며, 상품고유정보는 각각의 상품을 구별하는 식별자이고, 메타 정보는 상품의 이미지, 상품명, 상품의 가격, 상품의 브랜드, 속성 등 다양하게 설정되는 것일 수 있다. 또한, 사용자 정보는 사용자의 성별, 연령 등을 포함하는 것일 수 있다.
Meta-Prod2Vec에 의하면, 각각의 상품들의 상품고유정보, 메타정보, 사용자정보는, 상품들 사이의 연관성에 따라 공간상에 벡터로 표시될 수 있다. 도8을 참조하면, 각각의 상품에 대응하는 상품고유벡터(Pn), 메타벡터(Mn), 사용자정보벡터(Un)가 설정될 수 있으며, 상품고유벡터는 상품에 대해 유일한 벡터로 임베딩 되지만, 메타벡터나 사용자정보벡터는 다른 상품이라도 유사한 정보가 있거나 열람한 사용자가 동일할 수 있으므로 상품간 임베딩 벡터 공유 가능하다.
후보상품 추출부(130)는 학습된 Meta-Prod2Vec 모델에 의하여 추출되는 각각의 상품(A, B)에 대한 상품고유벡터(PA, PB)와 메타벡터(MA, MB)를 이용하여 개별 상품에 대한 특성벡터를 생성할 수 있다. 실시예에 따라서는, 메타벡터를 특성벡터로 사용하거나, 상품고유벡터와 메타벡터를 이어붙이는 등의 방식으로, 특성벡터를 생성할 수 있다. 여기서, 서버(100)는 등록된 각각의 상품들에 대한 특성벡터를 미리 생성하여 저장하고 있을 수 있다. 상품고유벡터의 경우 학습데이터 상 해당 상품 정보가 없었을 경우 임베딩이 어려울 수 있으므로, 제로 패딩 등의 기법을 이용해서 보충 할 수 있다.
후보상품 추출부(130)는, 등록상품들의 특성벡터와, 선택된 제1 상품의 특성벡터 사이의 유사도를 각각 계산할 수 있다. 이후, 후보상품 추출부(130)는 제1 상품의 특성벡터와의 유사도가 높은 등록상품들을 추출하여, 제1 상품과 함께 볼만한 후보 상품으로 설정할 수 있다. 여기서 후보 상품은, 유사도가 높은 순서에 따라 미리 설정된 개수의 등록상품을 추출하여 설정할 수 있으며, 실시예에 따라서는 유사도가 일정값 이상인 등록상품은 모두 후보 상품에 해당하는 것으로 설정할 수 있다. 특성벡터들 사이의 유사도는, 코사인 유사도(consine similarity)를 계산하여 구할 수 있으며, 이외에도 벡터들 사이의 유사도를 계산할 수 있는 것이면 어떠한 것도 적용가능하다.
한편, 제1 상품에 대한 후보 상품들은, 사용자가 제1 상품을 선택할 때 후보상품 추출부(130)에서 계산하여 추출하거나, 사전에 미리 계산하여 결정해둘 수 있다. 따라서, 사용자가 등록상품들을 둘러보는 도중에 특정 상품을 클릭하여 제1 상품으로 선택하면, 후보상품 추출부(130)는 제1 상품과 연관되어 있는 후보 상품들을 추출할 수 있다.
추천상품 설정부(140)는 사용자의 취향벡터와 후보 상품들의 표현벡터를 비교하여, 제1 상품에 대한 추천상품을 설정할 수 있다. 즉, 후보상품 추출부(130)에서 추출한 후보상품들 중에서, 사용자의 취향이나 스타일 등을 더 고려하여, 추천 상품을 설정할 수 있다. 구체적으로, 추천상품 설정부(140)는 사용자의 취향 벡터와, 후보 상품의 특성을 나타내는 표현 벡터 사이의 연산을 통하여, 사용자가 선택한 제1 상품과 함께 볼만한 추천 상품을 최종적으로 결정할 수 있다.
여기서, 취향 벡터는 토픽모델에서 추출한 사용자의 선호 스타일 벡터이거나, 사용자가 열람한 등록상품에 대응하는 Meta-prod2vec 또는 prod2vec 기반의 특성벡터들의 평균값일 수 있다. 또한, 후보 상품들의 표현벡터는 토픽 모델을 이용하여 추출한 각각의 등록상품들의 상품 스타일 벡터이거나, Meta-prod2vec 기반의 특성벡터일 수 있다. 여기서, 유사도는 코사인 유사도(consine similarity)를 계산하여 구할 수 있으며, 이외에도 벡터들 사이의 유사도를 계산할 수 있는 것이면 어떠한 것도 적용가능하다. 실시예에 따라서는, meta-prod2vec을 이용한 벡터와 토픽 모델을 이용한 벡터 사이의 연산을 위하여, 두 공간을 조인할 수 있는 추가적인 공간을 이용할 수 있다.
추천상품 설정부(140)는 사용자에 대한 취향벡터와 각각의 후보상품에 대한 표현벡터 사이의 유사도를 계산할 수 있으며, 유사도가 높은 후보 상품들을 추천 상품으로 설정할 수 있다. 사용자의 취향벡터와 후보 상품의 표현벡터 사이의 유사도가 높다는 것은, 해당 후보 상품이 사용자의 선호 스타일과 유사하다는 것을 의미한다. 따라서, 후보상품 설정부(140)는 복수의 후보 상품들 중에서 사용자의 선호 스타일에 가까운 상품들을 추출하여 추천상품으로 설정할 수 있으며, 추천상품을 사용자 단말(1)에 표시하도록 할 수 있다. 이 경우, 사용자는 자신의 취향이나 스타일과 유사한 상품을 추천상품으로 추천받을 수 있으므로, 사용자의 편의성과 신뢰성을 향상시킬 수 있다.
구체적으로, 추천상품 설정부(140)는 취향벡터와 유사도가 높은 순서에 따라 미리 설정된 개수의 후보상품들을 추출하여 추천상품으로 설정할 수 있으며, 실시예에 따라서는 유사도가 일정값 이상인 후보상품들을 모두 추천 상품에 해당하는 것으로 설정할 수 있다. 또한, 유사도가 높은 순서에 따라 우선순위를 설정하고, 우선순위가 높은 순서에 따라 추천상품을 사용자에게 제공하는 실시예도 가능하다.
또 다른 실시예로써, 추천상품 설정부(140)는 제1 상품과 후보상품들 사이의 유사도를 추가로 고려하여 추천 상품을 설정할 수 있다. 즉, 제1 상품의 표현벡터와 상기 후보상품의 표현벡터 사이의 제1 유사도와, 취향벡터와 후보상품의 표현벡터 사이의 제2 유사도를 각각 계산한 후, 제1 유사도와 제2 유사도에 각각 가중치를 적용하여 합산할 수 있으며, 합산한 결과값의 크기에 따라 추천 상품을 설정할 수 있다. 즉, 결과값이 큰 순서에 따라 미리 설정된 개수의 후보상품들을 추천상품으로 설정하거나, 결과값이 일정값 이상인 후보상품들은 모두 추천 상품으로 설정할 수 있다. 여기서, 정확한 추천 결과를 얻기 위하여, 제1 유사도와 제2 유사도에 대한 가중치는 실시예에 따라 다양하게 설정할 수 있다.
도9는 본 발명의 일 실시예에 의한 상품 추천을 나타내는 개략도이다. 도9(a)를 참조하면, 사용자 A와 사용자 B는 서버(100)에 접속하여 동일한 제1 상품을 클릭하여 선택할 수 있다. 여기서, 제1 상품은 “플라워 블라우스”에 해당한다. 여기서, 제1 상품과 등록상품들 사이의 연관성만을 고려하여 추천상품을 제공하는 경우에는, 사용자 A와 사용자 B의 취향이나 선호 스타일과는 무관하게 동일한 추천 상품들이 제공될 수 있다.
반면에, 본 발명의 일 실시예에 의한 서버(100)에서는, 사용자의 선호 스타일을 더 고려하여 추천상품을 사용자에게 제공할 수 있다. 즉, 도9(b) 및 도9(d)를 참조하면, 사용자 A는 “여리여리”, “화이트” 등의 키워드에 대응하는 선호 스타일을 가지고 있으므로, “플라워 블라우스”에 대응하는 복수의 후보상품들 중에서, 하얀색 바탕의 플라워 블라우스를 추천상품으로 제공할 수 있다. 반면에, 도9(c) 및 도9(e)를 참조하면, 사용자 B의 경우에는 “레이스”, “섹시” 등의 키워드에 대응하는 선호 스타일을 가지고 있으므로, “플라워 블라우스”에 대응하는 복수의 후보상품들 중에서, 강렬한 빨간 색상의 플라워 블라우스를 추천상품으로 제공하는 것이 가능하다. 이와 같이, 본 발명의 일 실시예에 의하면, 각각의 사용자들의 선호 스타일을 고려하여, 사용자들에게 추천 상품을 제공하는 것이 가능하다.
한편, 도3에 도시한 바와 같이, 본 발명의 일 실시예에 의한 서버(100)는, 프로세서(10), 메모리(40) 등의 물리적인 구성을 포함할 수 있으며, 메모리(40) 내에는 프로세서(10)에 의하여 실행되도록 구성되는 하나 이상의 모듈이 포함될 수 있다. 구체적으로, 하나 이상의 모듈에는, 취향분석모듈, 선택입력수신모듈, 후보상품 추출모듈 및 추천상품 설정모듈 등이 포함될 수 있다.
프로세서(10)는, 다양한 소프트웨어 프로그램과, 메모리(40)에 저장되어 있는 명령어 집합을 실행하여 여러 기능을 수행하고 데이터를 처리하는 기능을 수행할 수 있다. 주변인터페이스부(30)는, 컴퓨터 장치의 입출력 주변 장치를 프로세서(10), 메모리(40)에 연결할 수 있으며, 메모리 제어기(20)는 프로세서(10)나 컴퓨터 장치의 구성요소가 메모리(40)에 접근하는 경우에, 메모리 액세스를 제어하는 기능을 수행할 수 있다. 실시예에 따라서는, 프로세서(10), 메모리 제어기(20) 및 주변인터페이스부(30)를 단일 칩 상에 구현하거나, 별개의 칩으로 구현할 수 있다.
메모리(40)는 고속 랜덤 액세스 메모리, 하나 이상의 자기 디스크 저장 장치, 플래시 메모리 장치와 같은 불휘발성 메모리 등을 포함할 수 있다. 또한, 메모리(40)는 프로세서(10)로부터 떨어져 위치하는 저장장치나, 인터넷 등의 통신 네트워크를 통하여 엑세스되는 네트워크 부착형 저장장치 등을 더 포함할 수 있다.
도3에 도시한 바와 같이, 본 발명의 일 실시예에 의한 서버(100)는, 메모리(40)에 운영체제를 비롯하여, 응용프로그램에 해당하는 취향분석모듈, 선택입력수신모듈, 후보상품 추출모듈 및 추천상품 설정모듈 등을 포함할 수 있다. 여기서, 각각의 모듈들은 상술한 기능을 수행하기 위한 명령어의 집합으로, 메모리(40)에 저장될 수 있다.
따라서, 본 발명의 일 실시예에 의한 서버(100)는, 프로세서(10)가 메모리(40)에 액세스하여 각각의 모듈에 대응하는 명령어를 실행할 수 있다. 다만, 취향분석모듈, 선택입력수신모듈, 후보상품 추출모듈 및 추천상품 설정모듈은 상술한 취향분석부, 선택입력수신부, 후보상품 추출부 및 추천상품 설정부에 각각 대응하므로 여기서는 자세한 설명을 생략한다.
도10은 본 발명의 일 실시예에 의한 상품 추천 방법을 나타내는 순서도이다.
도10을 참조하면 본 발명의 일 실시예에 의한 상품 추천 방법은, 취향분석단계(S10), 상품 선택단계(S20), 후보상품 추출단계(S30) 및 추천상품 설정단계(S40)를 포함할 수 있다.
이하, 도10을 참조하여 본 발명의 일 실시예에 의한 상품 추천 방법을 설명한다.
취향분석단계(S10)에서는, 사용자가 과거에 열람한 복수의 등록상품들의 목록을 저장한 이력정보를 이용하여, 사용자의 취향벡터를 생성할 수 있다. 즉, 사용자가 과거에 열람한 복수의 등록상품들의 목록을 저장한 이력정보를 이용하여, 사용자의 취향이나 스타일을 파악하고 그에 대응하는 취향벡터를 생성할 수 있다.
실시예에 따라서는, 토픽 모델을 이용하여 사용자의 선호 스타일에 대응하는 선호 스타일 벡터를 생성할 수 있다. 즉, 사용자의 이력정보로부터 사용자가 과거에 열람한 등록상품들의 상품 정보를 추출할 수 있으며, 상품정보에 포함된 텍스트 정보들을 토픽 모델에 적용하여, 대응하는 선호 스타일 벡터를 추출할 수 있다. 이후, 추출한 선호 스타일 벡터를 사용자의 취향벡터로 설정할 수 있다.
한편, 다른 실시예에 의하면, 연관성 모델을 이용하여 사용자의 선호 스타일에 대응하는 사용자 특성벡터를 생성하는 것도 가능하다. 즉, 먼저 사용자의 이력정보에 포함된 각각의 등록상품들을 연관성 모델에 적용하여, 각각의 등록상품에 대응하는 특성벡터를 추출할 수 있다. 이후, 추출한 특성벡터들의 평균을 구하여 사용자 특성벡터로 설정할 수 있으며, 사용자 특성벡터를 사용자에 대한 취향벡터로 활용할 수 있다.
상품선택단계(S20)에서는, 사용자에게 제공한 복수의 등록상품의 목록 중에서 사용자로부터 제1 상품에 대한 선택입력을 수신할 수 있다. 서버는 사용자의 요청에 따라 등록상품들의 목록을 사용자 단말에 제공할 수 있으며, 사용자는 복수의 등록상품 중에서 자신이 열람하고자 하는 제1 상품을 선택할 수 있다. 이 경우, 사용자 단말로부터 사용자가 선택한 제1 상품에 대한 선택입력을 수신할 수 있으며, 수신한 선택입력에 대응하여, 제1 상품의 이미지나 상세한 설명을 포함하는 상품정보를 표시할 수 있다. 여기서, 사용자 단말이 인가하는 선택입력은 사용자가 해당 등록상품을 클릭하거나 터치하는 등의 입력일 수 있으며, 실시예에 따라서는 "찜하기", "장바구니 담기" 등의 인터렉션(interaction)을 포함할 수 있다.
후보상품 출력단계(S30)에서는, 등록상품들 사이의 연관성을 모델링한 연관성 모델을 이용하여, 제1 상품과 연관된 복수의 후보 상품들을 추출할 수 있다. 사용자가 선택한 제1 상품에 대한 추천상품을 제공하기 위해서는, 제1 상품과 연관된 후보상품들을 추출할 필요가 있다. 이를 위해, 연관성 모델을 이용하여, 제1 상품과 등록상품에 대응하는 특성벡터를 각각 추출하고, 각각의 특성벡터 사이의 유사도를 계산하여 후보 상품을 결정할 수 있다. 여기서, 연관성 모델은 prod2vec이나 meta-prod2vec에 의하여 형성된 것일 수 있다.
구체적으로, 후보상품 출력단계(S30)는, 먼저 연관성 모델을 이용하여, 제1 상품과 상기 등록상품에 대응하는 특성벡터를 각각 추출할 수 있다. 여기서, 연관성 모델은 사용자들이 하나의 쇼핑 세션(session) 내에서 열람한 복수의 등록상품들에 대한 열람목록을 샘플로 수집하고, 샘플을 이용하여 모델링한 것일 수 있다. 실시예에 따라서는, 연관성 모델이 열람목록에 Prod2Vec을 적용하여 등록상품들을 벡터로 임베딩(embedding)하고, 임베딩된 등록상품들에 대응하는 벡터를 특성벡터로 설정하는 것일 수 있다.
또 다른 실시예에 의하면, 연관성 모델은 열람목록에 등록상품에 설정된 각각의 메타데이터를 더 포함하고, 열람목록에 meta-prod2vec을 적용하여 등록상품과 메타데이터를 각각 벡터로 임베딩한 것일 수 있다. 이 경우, 등록상품에 대응하는 상품 고유 벡터와 메타데이터에 대응하는 메타 벡터를 결합하여, 특성벡터로 설정할 수 있다. 실시예에 따라서는, 사용자에 대한 사용자 벡터를 더 포함하여 특성 벡터를 생성하는 것도 가능하다.
여기서, 제1 상품과 등록상품들의 특성벡터를 비교하여 특성벡터들 사이의 유사도를 계산하고, 유사도에 따라 후보 상품을 선택할 수 있다. 즉, 유사도가 기 설정값 이상인 등록상품의 특성벡터에 대응하는 등록상품, 또는 유사도가 높은 순서에 따라 선택되는 기 설정된 개수의 등록상품의 특성벡터들을 추출하고, 추출한 특성벡터에 대응하는 등록상품들을 후보 상품으로 설정할 수 있다.
추천상품 설정단계(S40)에서는, 사용자의 취향벡터와 후보 상품들의 표현벡터를 비교하여, 제1 상품에 대한 추천상품을 설정할 수 있다. 즉, 사용자의 취향 벡터와, 후보 상품의 특성을 나타내는 표현 벡터 사이의 연산을 통하여, 사용자가 선택한 제1 상품과 함께 볼만한 추천 상품을 최종적으로 결정할 수 있다.
여기서, 취향 벡터는 토픽모델에서 추출한 사용자의 선호 스타일 벡터이거나, 사용자가 열람한 등록상품에 대응하는 Meta-prod2vec 또는 prod2vec 기반의 특성벡터들의 평균값일 수 있다. 또한, 후보 상품들의 표현벡터는 토픽 모델을 이용하여 추출한 각각의 등록상품들의 상품 스타일 벡터이거나, Meta-prod2vec 기반의 특성벡터일 수 있다.
추천상품 설정단계(S40)에서는, 사용자에 대한 취향벡터와 각각의 후보상품에 대한 표현벡터 사이의 유사도를 계산할 수 있으며, 유사도가 높은 후보 상품들을 추천 상품으로 설정할 수 있다. 여기서, 사용자의 취향벡터와 후보 상품의 표현벡터 사이의 유사도가 높다는 것은, 해당 후보 상품이 사용자의 선호 스타일과 유사하다는 것을 의미한다. 따라서, 복수의 후보 상품들 중에서 사용자의 선호 스타일에 가까운 상품들을 추출하여 추천상품으로 설정할 수 있으며, 추천상품을 사용자 단말에 표시하도록 할 수 있다. 이 경우, 사용자는 자신의 취향이나 스타일과 유사한 상품을 추천상품으로 추천받을 수 있으므로, 사용자의 편의성과 신뢰성을 향상시킬 수 있다.
구체적으로, 추천상품 설정단계(S40)에서는, 취향벡터와 유사도가 높은 순서에 따라 미리 설정된 개수의 후보상품들을 추출하여 추천상품으로 설정할 수 있으며, 실시예에 따라서는 유사도가 일정값 이상인 후보상품들을 모두 추천 상품에 해당하는 것으로 설정하는 것도 가능하다. 또한, 유사도가 높은 순서에 따라 우선순위를 설정하고, 우선순위가 높은 순서에 따라 추천상품을 사용자에게 제공하는 실시예도 존재할 수 있다.
또 다른 실시예로써, 추천상품 설정단계(S40)에서는, 제1 상품과 후보상품들 사이의 유사도를 추가로 고려하여 추천 상품을 설정할 수 있다. 즉, 제1 상품의 표현벡터와 상기 후보상품의 표현벡터 사이의 제1 유사도와, 취향벡터와 후보상품의 표현벡터 사이의 제2 유사도를 각각 계산한 후, 제1 유사도와 제2 유사도에 각각 가중치를 적용하여 합산할 수 있다. 이후, 합산한 결과값의 크기에 따라 추천 상품을 설정할 수 있다. 즉, 결과값이 큰 순서에 따라 미리 설정된 개수의 후보상품들을 추천상품으로 설정하거나, 결과값이 일정값 이상인 후보상품들은 모두 추천 상품으로 설정할 수 있다. 여기서, 정확한 추천 결과를 얻기 위하여, 제1 유사도와 제2 유사도에 대한 가중치는 실시예에 따라 다양하게 설정될 수 있다.
전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 애플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 본 발명에 따른 구성요소를 치환, 변형 및 변경할 수 있다는 것이 명백할 것이다.
1: 사용자 단말 100: 서버
110: 취향분석부 120: 선택입력 감지부
130: 후보상품추출부 140: 추천상품 설정부
S10: 취향분석단계 S20: 상품선택단계
S30: 후보상품 추출단계 S40: 추천상품 설정부

Claims (16)

  1. 사용자가 과거에 열람한 복수의 등록상품들의 목록을 저장한 이력정보를 이용하여, 상기 사용자의 취향벡터를 생성하는 취향분석단계
    복수의 등록상품 중에서, 사용자로부터 제1 상품에 대한 선택입력을 수신하는 상품선택단계;
    상기 등록상품들 사이의 연관성을 모델링한 연관성 모델을 이용하여, 상기 제1 상품과 연관된 복수의 후보 상품들을 추출하는 후보상품 추출단계; 및
    상기 사용자의 취향벡터와 상기 후보 상품들의 표현벡터를 비교하여, 상기 제1 상품에 대한 추천상품을 설정하는 추천상품 설정단계를 포함하는 것으로,
    상기 취향분석단계는
    상기 이력정보에 저장된 상기 등록상품들을 설명하는 각각의 상품정보를 수집하고, 상기 상품정보를 토픽 모델(topic model)에 적용하여 상기 사용자의 선호 스타일 벡터를 생성하며, 상기 선호 스타일 벡터를 상기 취향벡터로 설정하며,
    상기 연관성 모델은
    사용자들이 하나의 쇼핑 세션(session) 내에서 열람한 복수의 등록상품들에 대한 열람목록을 샘플로 수집하고, 상기 샘플을 이용하여 모델링한 것을 특징으로 하는 상품 추천 방법.
  2. 제1항에 있어서, 상기 후보 상품 추출 단계는
    상기 연관성 모델을 이용하여, 상기 제1 상품과 상기 등록상품에 대응하는 특성벡터를 각각 추출하는 단계; 및
    상기 제1 상품과 상기 등록상품들의 특성벡터를 비교하여 상기 특성벡터들 사이의 유사도를 계산하고, 상기 유사도에 따라 상기 후보 상품을 선택하는 단계를 포함하는 것을 특징으로 하는 상품 추천 방법.
  3. 삭제
  4. 제2항에 있어서, 상기 연관성 모델은
    상기 열람목록에 Prod2Vec을 적용하여 상기 등록상품들을 벡터로 임베딩(embedding)하고, 상기 임베딩된 상기 등록상품들에 대응하는 벡터를 상기 특성벡터로 설정한 것을 특징으로 하는 상품 추천 방법.
  5. 복수의 등록상품 중에서, 사용자로부터 제1 상품에 대한 선택입력을 수신하는 상품선택단계;
    상기 등록상품들 사이의 연관성을 모델링한 연관성 모델을 이용하여, 상기 제1 상품과 연관된 복수의 후보 상품들을 추출하는 후보상품 추출단계; 및
    상기 사용자의 취향벡터와 상기 후보 상품들의 표현벡터를 비교하여, 상기 제1 상품에 대한 추천상품을 설정하는 추천상품 설정단계를 포함하는 것으로,
    상기 후보 상품 추출 단계는
    상기 연관성 모델을 이용하여, 상기 제1 상품과 상기 등록상품에 대응하는 특성벡터를 각각 추출하는 단계; 및
    상기 제1 상품과 상기 등록상품들의 특성벡터를 비교하여 상기 특성벡터들 사이의 유사도를 계산하고, 상기 유사도에 따라 상기 후보 상품을 선택하는 단계를 포함하고,
    상기 연관성 모델은
    사용자들이 하나의 쇼핑 세션(session) 내에서 열람한 복수의 등록상품들에 대한 열람목록을 샘플로 수집하고, 상기 샘플을 이용하여 모델링하되, 상기 열람목록에 Prod2Vec을 적용하여 상기 등록상품들을 벡터로 임베딩(embedding)하고, 상기 임베딩된 상기 등록상품들에 대응하는 벡터를 상기 특성벡터로 설정하는 것으로,
    상기 연관성 모델은
    상기 열람목록에 상기 등록상품에 설정된 각각의 메타데이터를 더 포함하고, 상기 열람목록에 meta-prod2vec을 적용하여 상기 등록상품과 메타데이터를 각각 벡터로 임베딩하며, 상기 등록상품에 대응하는 상품고유벡터와 상기 메타데이터에 대응하는 메타 벡터를 결합하여 상기 특성벡터로 설정하는 것을 특징으로 하는 상품 추천 방법.
  6. 제2항에 있어서, 상기 후보 상품을 선택하는 단계는
    상기 유사도가 기 설정값 이상인 등록상품의 특성벡터 또는 상기 유사도가 높은 순서에 따라 선택되는 기 설정된 개수의 등록상품의 특성벡터들을 추출하고, 상기 추출한 특성벡터에 대응하는 등록상품들을 상기 후보 상품으로 설정하는 것을 특징으로 하는 상품 추천 방법.
  7. 삭제
  8. 삭제
  9. 제1항에 있어서, 상기 취향분석단계는
    상기 이력정보에 포함된 각각의 등록상품들을 상기 연관성 모델에 적용하여 대응하는 특성벡터를 추출하고, 상기 추출한 특성벡터의 평균에 해당하는 사용자 특성벡터를 계산하며, 상기 사용자 특성벡터를 상기 취향벡터로 설정하는 것을 특징으로 하는 상품 추천 방법.
  10. 제1항에 있어서, 상기 추천상품 설정단계는
    상기 후보상품들을 상기 연관성 모델에 적용하여 추출한 특성 벡터를 상기 후보 상품들의 표현벡터로 설정하는 것을 특징으로 하는 상품 추천 방법.
  11. 제1항에 있어서, 상기 추천상품 설정단계는
    상기 후보상품들의 상품정보에 포함된 단어들을 추출하고, 상기 추출한 단어들을 토픽 모델에 적용하여 추출한 상품 스타일 벡터를 상기 후보 상품들의 표현벡터로 설정하는 것을 특징으로 하는 상품 추천 방법.
  12. 제1항에 있어서, 상기 추천상품 설정단계는
    상기 취향벡터와 표현벡터 사이의 유사도를 계산하고, 상기 유사도가 기 설정값 이상인 후보상품 또는 상기 유사도가 높은 순서에 따라 선택되는 기 설정된 개수의 후보상품을 상기 추천상품으로 설정하는 것을 특징으로 하는 상품 추천 방법.
  13. 제1항에 있어서, 상기 추천상품 설정단계는
    상기 제1 상품의 표현벡터와 상기 후보상품의 표현벡터 사이의 제1 유사도와, 상기 취향벡터와 상기 후보상품의 표현벡터 사이의 제2 유사도를 계산하고, 상기 제1 유사도와 상기 제2 유사도에 대한 가중치를 적용하여 합산한 값의 크기에 따라, 상기 추천 상품을 설정하는 것을 특징으로 하는 상품 추천 방법.
  14. 하드웨어와 결합되어 제1항 내지 제2항, 제4항 내지 제6항, 제9항 내지 제13항 중 어느 한 항의 상품 추천 방법을 실행하기 위하여 매체에 저장된 컴퓨터 프로그램.
  15. 사용자가 과거에 열람한 복수의 등록상품들의 목록을 저장한 이력정보를 이용하여, 상기 사용자의 취향벡터를 생성하는 취향분석부;
    복수의 등록상품들 중에서 제1 상품에 대한 선택입력을 사용자로부터 수신하는 선택입력 감지부;
    상기 등록상품들 사이의 연관성을 모델링한 연관성 모델을 이용하여, 상기 제1 상품과 연관된 복수의 후보 상품들을 추출하는 후보상품 추출부; 및
    상기 사용자의 취향벡터와 상기 후보 상품들의 표현벡터를 비교하여, 상기 제1 상품에 대한 추천상품을 설정하는 추천상품 설정부를 포함하는 것으로,
    상기 취향분석부는
    상기 이력정보에 저장된 상기 등록상품들을 설명하는 각각의 상품정보를 수집하고, 상기 상품정보를 토픽 모델(topic model)에 적용하여 상기 사용자의 선호 스타일 벡터를 생성하며, 상기 선호 스타일 벡터를 상기 취향벡터로 설정하며,
    상기 연관성 모델은
    사용자들이 하나의 쇼핑 세션(session) 내에서 열람한 복수의 등록상품들에 대한 열람목록을 샘플로 수집하고, 상기 샘플을 이용하여 모델링한 것을 특징으로 하는 서버.
  16. 프로세서; 및
    상기 프로세서에 커플링된 메모리를 포함하는 것으로서,
    상기 메모리는 상기 프로세서에 의하여 실행되도록 구성되는 하나 이상의 모듈을 포함하고,
    상기 하나 이상의 모듈은,
    사용자가 과거에 열람한 복수의 등록상품들의 목록을 저장한 이력정보를 이용하여 상기 사용자의 취향벡터를 생성하고,
    복수의 등록상품들 중에서 제1 상품에 대한 선택입력을 사용자로부터 수신하고,
    상기 등록상품들 사이의 연관성을 모델링한 연관성 모델을 이용하여, 상기 제1 상품과 연관된 복수의 후보 상품들을 추출하며,
    상기 사용자의 취향벡터와 상기 후보 상품들의 표현벡터를 비교하여, 상기 제1 상품에 대한 추천상품을 설정하되,
    상기 취향벡터는
    상기 이력정보에 저장된 상기 등록상품들을 설명하는 각각의 상품정보를 수집하고, 상기 상품정보를 토픽 모델(topic model)에 적용하여 상기 사용자의 선호 스타일 벡터를 생성한 후, 상기 선호 스타일 벡터로부터 설정되고,
    상기 연관성 모델은
    사용자들이 하나의 쇼핑 세션(session) 내에서 열람한 복수의 등록상품들에 대한 열람목록을 샘플로 수집하고, 상기 샘플을 이용하여 모델링하도록 하는
    명령어를 포함하는 서버.
KR1020180082557A 2018-03-29 2018-07-16 상품 추천 방법 및 이를 이용하는 서버 KR102220273B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20180036900 2018-03-29
KR1020180036900 2018-03-29

Publications (2)

Publication Number Publication Date
KR20190114703A KR20190114703A (ko) 2019-10-10
KR102220273B1 true KR102220273B1 (ko) 2021-02-26

Family

ID=68206835

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180082557A KR102220273B1 (ko) 2018-03-29 2018-07-16 상품 추천 방법 및 이를 이용하는 서버

Country Status (1)

Country Link
KR (1) KR102220273B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102507719B1 (ko) * 2021-11-30 2023-03-08 안혜령 협업형 다중 에이전트 강화학습 방법을 이용한 패션상품 추천시스템

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102309558B1 (ko) * 2019-10-30 2021-10-05 주식회사 비트코퍼레이션 날씨와 기상 데이터에 기초한 학습 모델을 통해 커피 메뉴의 추천을 수행하는 커피 메뉴 추천 장치 및 그 동작 방법
CN112907312A (zh) * 2019-12-04 2021-06-04 深圳云天励飞技术有限公司 一种针对线下用户的物品推荐方法及系统、存储介质
KR102158984B1 (ko) * 2019-12-27 2020-09-23 주식회사 마이지놈박스 사용자 맞춤형 매트리스를 추천하기 위한 장치 및 이를 위한 방법
KR102437759B1 (ko) * 2020-03-05 2022-08-29 네이버 주식회사 아이템에 대한 선택에 기반하여 추천 아이템을 제공하는 방법 및 장치
CN111582984A (zh) * 2020-05-08 2020-08-25 广州探途网络技术有限公司 一种商品推荐方法、装置及计算设备
KR102246109B1 (ko) * 2020-07-27 2021-04-29 (주)감성한스푼 소비자 선호도에 기반한 상품 추천 시스템 및 방법
KR102586569B1 (ko) * 2020-11-12 2023-10-10 주식회사 엔씨소프트 아이템 임베딩 장치 및 방법
KR102467676B1 (ko) * 2020-11-30 2022-11-15 연세대학교 산학협력단 네트워크 임베딩을 이용한 다양성 강화 추천 장치 및 방법
KR20220080791A (ko) * 2020-12-07 2022-06-15 알리고에이아이 주식회사 상품 추천 방법 및 상품 추천 장치
US11386478B1 (en) * 2021-01-15 2022-07-12 Coupang Corp. Computerized systems and methods for using artificial intelligence to generate product recommendations
CN113034241A (zh) * 2021-04-23 2021-06-25 中国平安人寿保险股份有限公司 一种产品信息推荐方法及计算机设备
CN113379482B (zh) * 2021-05-28 2023-12-01 车智互联(北京)科技有限公司 一种物品推荐方法、计算设备以及存储介质
KR102373486B1 (ko) * 2021-08-09 2022-03-14 쿠팡 주식회사 브랜드 정보 제공 방법 및 그 장치
KR102413659B1 (ko) 2021-08-09 2022-06-27 쿠팡 주식회사 아이템 정보 제공 방법 및 그 장치
KR102402848B1 (ko) * 2021-10-13 2022-05-30 주식회사 도유니크 뉴럴 네트워크를 이용한 공동 구매 방법 및 장치
KR102423179B1 (ko) * 2022-02-12 2022-07-20 판다기프트 주식회사 인공지능에 기반한 고객 맞춤형 상품 판매 시스템
KR102534365B1 (ko) * 2022-11-18 2023-05-26 주식회사 우릿 캠핑 서비스 플랫폼 시스템
KR102638947B1 (ko) * 2023-05-10 2024-02-20 주식회사 비에스앤진홀딩스 사용자 맞춤형 골프 브랜드 추천 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101665980B1 (ko) * 2015-07-07 2016-10-13 주식회사 넷스루 상품 추천 시스템

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100020365A (ko) * 2008-08-12 2010-02-22 건국대학교 산학협력단 상품 추천 시스템 및 그 추천방법
KR20160120238A (ko) * 2015-04-07 2016-10-17 주식회사 컴퍼니원헌드레드 의류 추천 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101665980B1 (ko) * 2015-07-07 2016-10-13 주식회사 넷스루 상품 추천 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102507719B1 (ko) * 2021-11-30 2023-03-08 안혜령 협업형 다중 에이전트 강화학습 방법을 이용한 패션상품 추천시스템

Also Published As

Publication number Publication date
KR20190114703A (ko) 2019-10-10

Similar Documents

Publication Publication Date Title
KR102220273B1 (ko) 상품 추천 방법 및 이를 이용하는 서버
US10580057B2 (en) Photorealistic recommendation of clothing and apparel based on detected web browser input and content tag analysis
TWI694401B (zh) 融合用戶關係資料的搜尋方法和裝置
US9607010B1 (en) Techniques for shape-based search of content
US11538083B2 (en) Cognitive fashion product recommendation system, computer program product, and method
JP4947477B1 (ja) レコメンド装置、レコメンド方法およびレコメンドプログラム
JP2019537120A (ja) 画像解析および予測に基づく視覚検索
US8725559B1 (en) Attribute based advertisement categorization
US10853424B1 (en) Content delivery using persona segments for multiple users
JP2019537106A (ja) コンテンツ推薦及び表示
WO2018014771A1 (zh) 一种数据对象推送的方法、装置及系统
US10956928B2 (en) Cognitive fashion product advertisement system and method
US9785654B2 (en) Method of e-commerce
WO2020215977A1 (zh) 用于展示信息的系统、方法及装置
US9767417B1 (en) Category predictions for user behavior
CN116894711A (zh) 商品推荐理由生成方法及其装置、电子设备
US9449025B1 (en) Determining similarity using human generated data
CN104981829A (zh) 优选图像标识码生成方法、优选图像标识码诊断方法及利用优选图像标识码的信息提供方法
US10387934B1 (en) Method medium and system for category prediction for a changed shopping mission
CN111787042B (zh) 用于推送信息的方法和装置
WO2023169112A1 (zh) 一种信息推荐方法、装置、计算机设备和存储介质
CN110781399A (zh) 一种跨平台的信息推送方法和装置
US10740815B2 (en) Searching device, searching method, recording medium, and program
CN111967924A (zh) 商品推荐方法、商品推荐装置、计算机设备和介质
US10380669B2 (en) Product browsing system and method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right