KR20180047489A - 카테고리 추천을 이용한 비로그인 사용자 메인 상품 추천 서버 및 방법 - Google Patents

카테고리 추천을 이용한 비로그인 사용자 메인 상품 추천 서버 및 방법 Download PDF

Info

Publication number
KR20180047489A
KR20180047489A KR1020160143602A KR20160143602A KR20180047489A KR 20180047489 A KR20180047489 A KR 20180047489A KR 1020160143602 A KR1020160143602 A KR 1020160143602A KR 20160143602 A KR20160143602 A KR 20160143602A KR 20180047489 A KR20180047489 A KR 20180047489A
Authority
KR
South Korea
Prior art keywords
category
information
product
user
score
Prior art date
Application number
KR1020160143602A
Other languages
English (en)
Other versions
KR102610665B1 (ko
Inventor
한민호
Original Assignee
에스케이플래닛 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이플래닛 주식회사 filed Critical 에스케이플래닛 주식회사
Priority to KR1020160143602A priority Critical patent/KR102610665B1/ko
Priority to PCT/KR2016/015567 priority patent/WO2018079939A1/ko
Publication of KR20180047489A publication Critical patent/KR20180047489A/ko
Application granted granted Critical
Publication of KR102610665B1 publication Critical patent/KR102610665B1/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/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0254Targeted advertisements based on statistics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0255Targeted advertisements based on user history
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0255Targeted advertisements based on user history
    • G06Q30/0256User search
    • 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/0267Wireless devices
    • 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/0269Targeted advertisements based on user profile or attribute
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0282Rating or review of business operators or products
    • 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

Abstract

본 발명의 비로그인 사용자 상품 추천 서버는 비로그인 사용자가 모바일 오픈마켓에 접속하여 상품 조회, 찜 하기, 장바구니 담기 및 구매 중 어느 하나 이상을 수행할 때 사용자 단말로부터 이용 정보를 입력 받고, 생성된 추천 카테고리 상품 정보를 사용자 단말로 전달하는 송수신부, 최신 이용 정보를 시간 정보 형태로 저장하여 이를 기반으로 카테고리 관심 점수를 산출하고, 산출된 카테고리 관심 점수를 ALS 알고리즘에 입력하여 카테고리 점수 정보를 산출한 후 산출된 카테고리 점수 정보와 모바일 오픈마켓 메인 상품의 카테고리 정보를 결합하여 개인화된 추천 카테고리 상품 정보를 생성하는 제어부를 포함하는 것을 특징으로 한다. 본 발명에 따르면, 사용자별 이용 정보를 기반으로 추천 카테고리 상품 정보를 생성하므로, 추천 카테고리 상품 정보를 사용자 단말에 전달함으로써 개인화된 메인 상품을 추천할 수 있는 효과가 있다.

Description

카테고리 추천을 이용한 비로그인 사용자 메인 상품 추천 서버 및 방법{MAIN PRODUCT RECOMMENDATION SERVER AND METHOD FOR THE USER WITHOUT LOGIN USING CATEGORY RECOMMENDATION}
본 발명은 모바일 오픈마켓 상품 추천 기술에 관한 것으로서, 보다 구체적으로 모바일 오픈마켓에서의 상품 조회, 찜 하기, 장바구니 담기 및 구매와 같은 비로그인 사용자의 최신 이용 정보를 이용하여 최신성을 반영하고, ALS(Alternating Least Square) 알고리즘을 이용해 최신 이용 정보 기반의 추천 카테고리 상품 정보를 생성하며, 모바일 오픈마켓 화면 접속 시 비로그인 사용자 선호도에 따라 추천 카테고리 메인 상품 정보를 상단에 노출시킬 수 있는 비로그인 사용자 메인 상품 추천 서버 및 방법에 관한 것이다.
최근 모바일을 통한 오픈마켓을 통해 전자상거래들이 즐비하게 일어나고 있는바, 상품을 판매하는 개인이나 소규모 업체는 중간 유통마진 없이 상품을 저렴하게 판매하는 효과를 얻을 수 있으며, 소비자는 온라인 상에서 원하는 상품을 편리하고 저렴하게 구매하는 장점이 있으므로 일석이조의 효과를 유발할 수 있기 때문이다. 그러나 모바일 오픈마켓을 통해 거래함에 있어서 문제점을 가지고 있다.
우선 모바일 오픈마켓을 통한 거래의 문제점을 살펴보기로 한다. 대부분의 오픈마켓은 모바일 화면 접속 시 로그인 사용자의 선호도에 따른 추천 상품을 사용자 단말 화면에 노출시켜 구매 욕구를 자극하고 있다. 이 경우 사용자가 로그인을 해야만 그 사용자에 대한 정보를 분석하여 관심 카테고리 상품을 추천할 수 있다. 그러나 이와 같이 로그인 사용자만을 대상으로 하여 추천 상품을 제공하게 되면 비로그인 사용자에 대해서는 관심 카테고리가 무엇인지 분석할 수 없고, 상품을 추천할 수 없어 잠재적인 매출 증가를 기대할 수 없다. 추가적으로 비로그인 사용자가 모바일 오픈마켓 화면 접속 시 오픈마켓은 여러 가지 방법을 통해 상품을 추천하고 있는데, 사용자의 최신 이용 정보가 아닌 일정기간 동안의 이용 정보를 기반으로 정보를 분석하게 되면 과거의 관심도까지 반영하게 되어 사용자의 최신 관심도를 정확히 반영할 수 없게 된다. 그에 따라 비로그인 사용자는 관심이 없는 상품을 추천 받게 되어 추천 상품의 구매로 이어지지 않는 문제점이 있다.
이러한 비로그인 사용자에 대한 상품 추천 문제점을 해결하기 위해 제안된 것이 협업 필터링(Collaborative Filtering)을 이용한 비로그인 사용자 상품 추천이다. 이 역시 또 다른 문제점을 가지고 있다. 최근의 오픈마켓은 협업 필터링 중 User Based Recommend 또는 Item Based Recommend를 사용하여 사용자에게 추천 상품 정보를 제공하고, 이때 사용자가 추천된 상품의 조회, 찜 하기, 장바구니 담기 및 구매 중 어느 하나를 수행하게 되면 다음 추천 작업에서 해당 상품은 제외되어 사용자가 관심을 가지고 있지 않은 상품에 대한 추천이 이루어질 수 있는 문제점이 있다.
이렇게 비로그인 사용자를 위한 상품 추천 역시 문제점이 있지만, 사용자는 로그인이라는 불편함 없이 서비스를 이용할 수 있고, 사용자가 관심이 있는 상품을 오픈마켓으로부터 추천 받을 수 있는 장점 때문에 비로그인 사용방식이 지속적으로 사용될 것으로 예상하고 있다. 이 경우, 사용자가 로그인하지 않은 상태에서 수행하는 상품 조회, 찜 하기, 장바구니 담기 및 구매와 같은 이용 정보를 분석해 카테고리별 관심 점수를 산출하는 기능, 사용자가 추천된 상품의 조회, 찜 하기, 장바구니 담기 및 구매 중 어느 하나를 수행할 경우 다음 추천 작업에서 해당 상품을 제외하지 않는 ALS 알고리즘을 이용하여 산출된 카테고리 점수 기반의 추천 카테고리 상품 정보를 생성하는 기능, 추천 카테고리 상품 정보에 근거하여 개인화된 메인 상품을 추천하는 기능이 요구된다.
대한민국 공개특허공보 제10-2015-0101340호(2015.09.03)
본 발명은 비로그인 사용자가 사용자 단말을 통해 모바일 오픈마켓에서 최근에 수행했던 상품 조회, 찜 하기, 장바구니 담기 및 구매와 같은 이용 정보를 기반으로 카테고리 관심 점수를 산출하고, 카테고리 관심 점수 기반의 카테고리 점수를 산출한 후 카테고리 점수 기반의 추천 카테고리 상품 정보를 생성하고, 생성된 정보를 사용자 단말에 전달하여 비로그인 사용자에게 추천 카테고리의 메인 상품을 추천하는 상품 추천 서버 및 방법을 제공하는 것을 목적으로 한다.
또한, 상기 카테고리 관심 점수를 산출할 때 비로그인 사용자의 최신 이용 정보에 상품 클릭 횟수를 가중치로 적용하여 추천 상품 순위에 반영하는 상품 추천 서버 및 방법을 제공하는 것을 목적으로 한다.
또한, 비로그인 사용자가 추천된 상품의 조회, 찜 하기, 장바구니 담기 및 구매 중 어느 하나를 수행할 경우 다음 추천 작업에서 해당 상품을 제외하지 않는 ALS 알고리즘을 이용해 산출된 관심 점수 기반의 추천 카테고리 상품 정보를 생성하는 상품 추천 서버 및 방법을 제공하는 것을 목적으로 한다.
또한, 추천 카테고리 상품 정보에 근거하여 개인화된 메인 상품을 추천하는 상품 추천 서버 및 방법을 제공하는 것을 목적으로 한다.
한편, 본 발명이 이루고자 하는 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며, 이하에서 설명할 내용으로부터 통상의 기술자에게 자명한 범위 내에서 다양한 기술적 과제가 도출될 수 있다.
상기한 목적을 달성하기 위한 본 발명에 따른 상품 추천 서버는, 비로그인 사용자의 이용 정보를 사용자 단말로부터 입력 받고, 상기 추천 카테고리 상품 정보를 사용자 단말에 전달하는 송수신부, 상기 이용 정보를 기반으로 최신성이 반영된 카테고리 관심 점수를 산출하고, 상기 카테고리 관심 점수를 이용하여 카테고리 점수를 산출한 후 상기 카테고리 점수 정보와 모바일 오픈마켓 메인 상품의 카테고리 정보를 결합하여 상기 추천 카테고리 상품 정보를 생성하는 제어부, 상기 이용 정보와 관련된 이용 관련 정보, 상기 카테고리 관심 점수, 상기 카테고리 점수, 모바일 오픈마켓 메인 상품과 관련된 카테고리 정보 및 상기 추천 카테고리 상품 정보가 저장된 저장부를 포함하는 것을 특징으로 한다.
또한, 상기 이용 정보는 비로그인 사용자의 최신 이용 시점 정보로써 저장될 수 있다.
또한, 상기 이용 정보는 사용자가 로그인을 한번이라도 하게 되면 쿠키(Cookie)에 보관되는 mid(Member id)를 포함할 수 있다.
또한, 상기 이용 정보는 상품의 분류에 있어 대분류, 중분류, 소분류 카테고리 중 어느 하나 이상을 포함할 수 있다.
또한, 상기 카테고리 관심 점수는 산출되는 과정에서 비로그인 사용자의 최신 이용 정보에 상품 클릭 횟수가 가중치로 적용될 수 있다.
또한, 상기 카테고리 점수는 비로그인 사용자로부터 추천 상품의 조회, 찜 하기, 장바구니 담기 및 구매 중 어느 하나가 수행될 경우 다음 추천 작업에서 해당 상품을 제외하지 않는 ALS 알고리즘으로부터 산출될 수 있다.
한편, 본 발명의 또 다른 실시 예에 따른 상품 추천 방법은 (a) 사용자 단말로부터 이용 정보를 입력 받는 단계, (b) 상기 이용 정보를 저장하는 단계, (c) 상기 이용 정보를 기반으로 최신성을 반영한 카테고리 관심 점수를 산출하는 단계, (d) 상기 카테고리 관심 점수를 이용하여 카테고리 점수를 산출하는 단계, (e) 상기 카테고리 점수 정보와 모바일 오픈마켓 메인 상품의 카테고리 정보를 결합하여 추천 카테고리 상품 정보를 생성하는 단계, (f) 비로그인 사용자가 모바일 오픈마켓에 접속 시 상기 추천 카테고리 상품 정보를 사용자 단말에 전달하는 단계를 포함하는 상품 추천 방법을 제공할 수 있다.
본 발명에 따르면, 비로그인 사용자가 사용자 단말을 통해 모바일 오픈마켓에 접속하는 경우 상품 추천 서버가 사용자의 상품 조회, 찜 하기, 장바구니 담기 및 구매와 같은 이용 정보를 저장하여 이를 기반으로 카테고리별 관심 점수를 산출하고, 상기 카테고리 관심 점수를 이용하여 카테고리 점수를 산출한 후 카테고리 점수 및 모바일 오픈마켓 메인 상품의 카테고리 정보를 결합하여 생성된 추천 카테고리 상품 정보를 사용자 단말에 전달함으로써 개인화된 메인 상품을 추천할 수 있다는 효과가 있다.
또한, 비로그인 사용자의 최신 이용 정보를 기반으로 하여 카테고리 관심 점수를 산출하므로 최신성을 반영할 수 있고, 이때 카테고리 관심 점수 산출 시 상품 클릭 횟수를 가중치로 적용하여 추천 상품 순위에 반영할 수 있다. 비로그인 사용자가 추천된 상품의 조회, 찜 하기, 장바구니 담기 및 구매 중 어느 하나를 수행하는 경우 다음 추천 작업에서 해당 상품을 제외하지 않게 되어 비로그인 사용자의 관심 상품 정보를 지속적으로 추천할 수 있는 ALS 알고리즘을 이용하여 비로그인 사용자가 관심을 가지고 있는 추천 카테고리 상품 정보를 생성, 제공할 수 있는 효과가 있다.
본 발명의 효과는 이상에서 언급한 효과들로 제한되지 않으며, 이하에서 설명할 내용으로부터 통상의 기술자에게 자명한 범위 내에서 다양한 효과들이 포함될 수 있다.
도 1은 본 발명의 일 실시 예에 따른 상품 추천 서버의 전체 구성을 나타내는 도면이다.
도 2는 카테고리 분류에 따른 상품 정보가 사용자 단말에 출력되는 모습을 나타내는 도면이다.
도 3은 관심 카테고리 및 상품을 선택했을 경우 확인할 수 있는 해당 상품의 상세한 정보가 사용자 단말에 출력되는 모습을 나타내는 도면이다.
도 4는 본 발명에 따른 송수신부, 제어부 및 저장부 사이의 흐름도를 나타내는 도면이다.
도 5는 본 발명에 따른 사용자 단말과 상품 추천 서버 사이의 흐름도를 나타내는 도면이다.
도 6은 본 발명에 따른 사용자 단말과 상품 추천 서버 사이의 연결 구조를 나타내는 도면이다.
도 7은 송수신부로부터 추천 카테고리 상품 정보가 사용자 단말에 전달된 결과를 나타내는 도면이다.
이하, 본 발명의 일부 실시 예들을 예시적인 도면을 통해 상세하게 설명한다. 설명하는 실시 예들은 본 발명의 기술 사상을 당업자가 용이하게 이해할 수 있도록 제공되는 것으로 이에 의해 본 발명이 한정되지 않으며, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
또한, 첨부된 도면에 표현된 사항들은 본 발명의 실시 예들을 쉽게 설명하기 위해 도식화된 도면으로 실제로 구현되는 형태와 상이할 수 있으며, 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다.
또한, 어떤 구성요소들을 '포함'한다는 표현은, '개방형의 표현'으로서 해당 구성요소들이 존재하는 것을 단순히 지칭하는 표현이며, 추가적인 구성요소들을 배제하는 것으로 이해되어서는 안 될 것이다.
도 1은 본 발명의 일 실시 예에 따른 상품 추천 서버(100)의 전체 구성을 나타내는 도면이다.
도 1을 참조하면, 상품 추천 서버(100)는 송수신부(110), 제어부(120) 및 저장부(130)를 포함하며, 기타 장치를 구성함에 있어서 필요한 다른 부가적인 구성들 역시 포함될 수 있음은 물론이다.
한편, 상품 추천 서버(100)관련하여 서버에 대해 먼저 설명할 필요성이 있다. 서버 프로그램이 실행되고 있는 컴퓨터 하드웨어를 서버 라고 부르며 다른 프로그램에게 서비스를 제공하는 컴퓨터 프로그램을 서버 라고 말하기도 한다. 서버 는 프린터 제어나 파일 관리 등 네트워크 전체를 감시, 제어하거나, 메인 프레임이나 공중망을 통한 다른 네트워크와의 연결, 데이터, 프로그램, 파일 같은 소프트웨어 자원이나 모뎀, 팩스, 프린터 공유, 기타 장비 등 하드웨어 자원을 공유할 수 있도록 도와주는 역할을 한다.
또한, 서버는 사용자(클라이언트)의 요청에 의하여 서비스를 하는데 이와 같이 구성된 시스템을 클라이언트/서버 시스템이라고 하며, 이는 하나 이상의 응용 프로그램을 상호 협력적인 환경에서 운용하는 분산처리 형태를 의미한다. 즉, 서비스를 요청하는 클라이언트와 클라이언트의 요청을 처리하는 서버와의 협동작업을 통해서 사용자가 원하는 바람직한 결과를 얻는 처리방식이 클라이언트/서버 시스템이다. 클라이언트의 수가 5 내지 20대 정도인 소규모 LAN의 경우에는 한 대의 장치로 충분히 모든 서비스를 소화할 수 있으나, 대규모 LAN의 경우에는 여러 대의 장치를 배치하고, 파일 관리는 파일 서버, 프린터 제어는 프린터 서버, 인터넷 등의 외부와의 교환은 커뮤니케이션 서버가 담당하는 등 각각 역할을 세분하게 된다. 온라인에서의 서버는 특수한 형태로 자신의 하드디스크에 담겨있는 정보들을 외부에 공개해주는 컴퓨터를 이른다. 일반적으로 온라인에서는 여러 정보들을 서버에서 관리하고, 일반 사용자들은 자신들의 컴퓨터(클라이언트)를 이용하여 서버에 접속하고 서버에서 제공하는 정보를 이용하게 된다. 따라서 상품 추천 서버(100)는 상품 추천의 기능 또는 상품 정보만을 구비하는 독립적인 서버로 구성할 수 있으며, 다른 장치의 일 구성으로서 상품 추천의 기능 또는 상품 정보를 구비하는 형태로 구현할 수 도 있다. 이하 상품 추천 서버(100)가 포함하는 구성들에 대하여 설명하도록 한다.
송수신부(110)는 비로그인 사용자가 사용자 단말(200)을 통해 모바일 오픈마켓에 접속한 후 상품 조회, 찜 하기, 장바구니 담기 및 구매 중 어느 하나 이상을 수행할 경우 사용자 단말(200)로부터 이용 정보를 수신하고, 비로그인 사용자 이용 정보를 기반으로 생성된 추천 카테고리 상품 정보를 사용자 단말(200)에 전달한다. 사용자 단말(200)은 스마트폰(Smart Phone), 태블릿 컴퓨터(Tablet PC) 및 정보통신 기기 등을 포함하며, 사용자 단말(200)이 스마트폰이라면 비로그인 사용자는 사용자 단말(200)에 다운로드되어 설치된 애플리케이션을 통해 정보를 입력하거나 출력된 상품 정보를 확인할 수 있다.
제어부(120)는 저장부(130)에 저장된 비로그인 사용자 이용 정보를 기반으로 카테고리 관심 점수를 산출한다. 여기서, 산출되는 카테고리 관심 점수는 각각의 대분류 카테고리, 중분류 카테고리, 소분류 카테고리에 따른 상품 조회 시점, 찜 하기 시점, 장바구니 담기 시점 및 구매 시점에 대한 비로그인 사용자 이용 시점 정보에 상품 클릭 횟수가 가중치로 적용되어 산출된다. 이때, 찜 하기 시점과 상품 조회 시점보다 장바구니 담기 시점에 더 큰 가중치를 적용하여 관심 점수를 산출하게 되고, 추가적으로 상품 클릭 횟수를 가중치로 적용하게 되는데 이러한 이유는 최근에 상품을 찜한 경우 또는 조회한 경우보다 최근에 상품을 장바구니에 담았을 경우에 구매확률이 더욱 높고, 상품의 구매 시점이 가까워 질수록 해당 상품에 대한 클릭 횟수가 증가하기 때문이다.
이후, 제어부(120)는 상기 카테고리 관심 점수를 협업 필터링 종류인 User Based Recommend, Item Based Recommend및 ALS 알고리즘 중 ALS 알고리즘의 입력 값으로 전달하여 정보를 분석한다. ALS 알고리즘의 입력 값으로는 사용자 식별자인 mid, 카테고리 id 및 상기 카테고리 관심 점수가 전달되는데 이때, 카테고리 id는 각각의 대분류 카테고리, 중분류 카테고리 및 소분류 카테고리를 구별할 수 있도록 지정한 고유한 값이다. 예를 들어, 대분류 카테고리인 신발, 신발의 하위 카테고리로서 중분류 카테고리인 운동화 및 운동화의 하위 카테고리로서 소분류 카테고리인 런닝화에 대하여 카테고리 id 의 고유한 값으로서 1로 지정할 수 있고, 대분류 카테고리인 생활가전, 생활가전의 하위 카테고리로서 중분류 카테고리인 전화기 및 전화기의 하위 카테고리로서 소분류 카테고리인 유선전화기에 대하여 카테고리 id의 고유한 값으로서 20으로 지정할 수 있다. 또한 대분류 카테고리인 신선식품, 신선식품의 하위 카테고리로서 중분류 카테고리인 국내산과일 및 국내산과일의 하위 카테고리로서 소분류 카테고리인 감귤에 대하여 카테고리 id의 고유한 값으로서 44로 지정할 수 있다. 이밖에 상기와 같은 방식으로 각각의 카테고리 분류에 따른 다른 여러 상품에도 카테고리 id를 고유한 값으로서 지정할 수 있으며, 카테고리 id의 예는, 아래의 표1과 같다.
카테고리 id 대분류
카테고리 id
중분류
카테고리 id
소분류
카테고리 id
1 1 34 22
20 2 32 24
44 3 31 25
55 1 55 26
60 7 35 111
부가적으로 ALS 알고리즘의 입력 값으로 Lambda, Feature Number 및 Iterations를 지정할 수 있고, Lambda, Feature Number 및 Iterations값은 튜닝에 사용되는 값이므로 사용 목적에 맞게 변경되어 사용될 수 있다.
한편, User Based Recommend 또는 Item Based Recommend를 사용하지 않는 이유는 상품 추천 서버(100)가 비로그인 사용자에게 메인 상품을 추천하고, 비로그인 사용자가 추천된 상품의 조회, 찜 하기, 장바구니 담기 및 구매 중 어느 하나를 수행할 경우 다음 추천 작업에서 해당 상품은 제외되어 다음 추천에서는 비로그인 사용자가 관심이 없는 상품을 추천할 수 있기 때문이다.
한편, 협업 필터링에 대해 설명할 필요성이 있다. 협업 필터링은 추천 알고리즘의 한 종류로서 사용자와 유사한 선호도를 가지는 사람들로 사용자 추천 그룹을 결정하고 결정한 사용자 추천 그룹의 의견을 반영하여 사용자가 아직 구매하지 않은 상품 선호도를 예측하고 선호도가 높을 것으로 예측되는 상품을 추천해주는 기법이다.
종래 협업 필터링에 기반한 추천 기법은 사람들의 특정 상품에 대한 선호도를 판단하는 단계와, 판단한 선호도에 기초하여 사용자와 유사한 선호도를 가지는 사용자 추천 그룹을 결정하는 단계와, 결정한 사용자 추천 그룹에서 사용자의 선호도가 높을 것으로 예상되는 상품을 추천하는 단계로 이루어졌다.
먼저 사람들의 선호도를 판단하는 단계를 보다 구체적으로 살펴보면, 종래 협업 필터링 기반 추천 기법에서 입력 데이터는 n개의 상품에 대한 m명의 고객 선호도 집합으로 구성되는데, n?m 크기의 고객-상품 행렬(P)로 표현된다. 특정 상품에 대한 선호도는 대개 고객으로부터 직접 입력 받거나, 구매 데이터로부터 암시적으로 추정하는 방법이 사용된다. 예를 들어, 구매 데이터로부터 선호도를 측정할 경우, 고객-상품 행렬(P)의 i번째 행, j번째 열의 값 pij는 i번째 고객이 j번째 상품을 구매 했으면 1의 값을 가지며 그렇지 않으면 0의 값을 각각 가지게 된다.
다음으로 사용자와 유사한 선호도를 가지는 사용자 추천 그룹을 결정하는 단계를 보다 구체적으로 살펴보면, 사용자 추천 그룹을 결정하는 단계는 고객-상품 행렬(P)를 이용하여 사용자와 다른 고객들 사이의 선호도 유사 정도를 계산한다. 즉, 각 고객 u에 대하여 가장 선호도가 유사한 i명의 사용자 추천 그룹을 검색하는 과정이다. 일반적으로 사용자와 다른 고객 사이의 유사 정도를 측정하기 위하여 피어슨 상관계수(Pearson Correlation)를 사용하고 있다.
피어슨 상관계수란 두 변수간의 관련성을 구하기 위해 사용되는 상관계수로서 예를 들어, 수축기 혈압과 이완기 혈압 또는 키와 몸무게와 같이 분석하고자 하는 두 변수가 모두 연속형 자료일 때 두 변수간 선형적인 상관 과계의 크기를 모수적인 방법으로 나타낸 값이다.
한편, 상품을 추천하는 단계를 보다 구체적으로 살펴보면, 결정한 사용자 추천 그룹을 구성하는 고객들이 구매 또는 선호하는 제품들에 기초하여 사용자가 구매 또는 선호할 것으로 예상되는 N개의 추천 상품을 결정한다. 추천 상품들을 결정하기 위한 기준으로서 일반적으로 빈발 구매 상품 추천(Most-frequent Item Recommendation)이 사용된다. 빈발 구매 상품 추천은 사용자 추천 그룹의 구매 이력 데이터를 분석하여 상품별구매 빈도가 높은 상위 N개의 상품을 추천 상품으로 결정하는 방식이다.
협업 필터링의 ALS 알고리즘을 수행하면 출력 값으로 Feature 및 Rating이 산출되는데, 출력된 Feature와 Rating값을 이용하여 최종적으로 Matrix Factorization을 수행한다. 이때, 최대 Rating값을 1로 지정하여 0에서 1사이의 Rating이 나오도록 하고, Matrix Factorization 연산을 이용하면 추천 카테고리 결과가 많이 나오기 때문에 Rating값을 고려하여 상위 100개까지만 필터링을 수행한다.
한편, ALS 알고리즘을 거쳐 생성된 카테고리 점수 결과값은 Memcached에 저장된다. 여기서 Memcached는 고성능을 지원하는 메모리 기반의 캐싱 시스템이다. 일반적으로 데이터베이스(Database)에 저장된 데이터를 메모리에 적재하여 응답속도를 높여 웹 시스템의 성능을 높이기 위한 용도로 사용하기도 한다. 고정된 컨텐츠를 제공해주는 웹 사이트가 아니라면 사용자의 요청에 따라 데이터베이스라고 불리는 다양한 저장 장치로부터 데이터를 읽어서 웹 서버를 통해 사용자에게 응답해야 한다. 사용자가 많지 않을 경우에는 상관없지만 사용자가 많아질 경우, 사용자의 요청에 대한 응답속도를 높이기 위해 방법을 마련해야 하는데 이때, 선택할 수 있는 여러 가지 방법 중 하나가 메모리를 이용한 캐시 서버를 제공하는 것이다. 사용자의 요청이 있을 경우, 캐시 메모리에서 요청에 대한 해당 정보가 존재하는지 확인하고, 존재할 경우 캐시 메모리에서 해당 정보를 읽어서 사용자에게 제공한다. 만약 캐시 메모리에 없는 경우에는 데이터베이스 등 디스크에 저장된 데이터를 읽어서 사용자에게 제공하고, 이를 다시 캐시 메모리에 보관한다. Memcached의 주요 기능은 읽기, 쓰기 및 삭제이고, 장점은 데이터베이스가 아닌 캐시 메모리에서 데이터를 읽어오기 때문에 응답속도가 빠르고, 여러 대의 서버에 분산하여 데이터를 처리할 수 있어서 확장성이 뛰어난 것이다. 단점으로는 캐시 메모리에 데이터를 저장하여 필요 시 제공하기 때문에 재부팅 시 데이터가 유지되지 않고, Key-value 데이터 구조로 인해 관계형 데이터베이스에서 제공하는 LIKE 검색을 제공하지 않는다.
캐시란, 컴퓨터 과학에서 데이터나 값을 미리 복사해 놓는 임시 장소를 가리킨다. 캐시의 접근 시간에 비해 원래 데이터를 접근하는 시간이 오래 걸리는 경우나 값이 다시 계산하는 시간을 절약하고 싶은 경우에 사용한다. 캐시에 데이터를 미리 복사해 놓으면 계산이나 접근 시간 없이 더 빠른 속도로 데이터에 접근할 수 있다. 캐시의 종류에는 CPU 캐시, 디스크 캐시 등이 있는데, CPU 캐시는 대용량의 메인 메모리 접근을 빠르게 하기 위해 CPU 칩 내부나 바로 옆에 탑재하는 작은 메모리다. 1980년대 이후 대부분의 CPU는 하나, 많게는 5~6개까지의 서로 다른 기능을 가진 CPU 캐시를 장착하고 있다. 메모리 접근 속도가 늘어나는 것에 비해 CPU의 처리 속도가 훨씬 빠르게 증가하고 있기 때문에, 용량은 작지만 속도가 빠른 CPU 캐시는 현대 마이크로프로세서의 성능에 직접적인 영향을 미친다. 디스크 캐시는 디스크 버퍼라고 불리기도 한다. 1980년대 후반 이후 판매되는 대부분의 하드 디스크는 디스크 제어와 외부와의 인터페이스를 위해 작은 컴퓨터를 내장하고 있다. 이 작은 컴퓨터는 대게 디스크에 입출력되는 데이터를 저장하는 작은 메모리를 가지고 있는데, 이를 디스크 캐시라고 한다. 디스크 캐시는 미리 읽기, 속도 조절 및 쓰기 가속과 같은 여러 가지 용도로 사용된다. 미리 읽기에 대해서 운영체제에서 디스크에 읽기/쓰기를 요청할 때, 디스크 암은 헤드를 해당하는 트랙에 올려 놓은 뒤 일정 시간이 걸려야 비로소 데이터를 읽을 수 있다. 그러나, 운영 체제는 대개 첫 번째 섹터 말고도 그 이후 섹터를 연이어 요구하는 경우가 많기 때문에 연속된 위치에 대한 반복적 접근 시간을 아끼기 위해 디스크는 뒷부분의 데이터를 미리 읽어서 캐시에 저장해 놓는다. 속도 조절에 대해서는 디스크 입출력 인터페이스는 대개 디스크 플래터(Disk Platter)가 데이터를 읽어 들이는 속도에 비해 훨씬 느리다. 그러므로 디스크 암이 빠르게 읽고 쓰기를 수행하기 위해 데이터를 인터페이스에 넘기기 전에 캐시에 잠시 저장해놓는다. 쓰기 가속에 대해서는 운영 체제가 디스크에 쓰기를 요청했을 때 디스크 내부의 컴퓨터는 캐시에 데이터를 저장해 놓고 디스크 암이 쓰기를 끝내도 전에 운영 체제에게 쓰기가 끝났음을 보고할 수 있다. 이렇게 하면 운영 체제는 디스크 쓰기가 끝나는 것을 기다릴 필요 없이 다음 작업을 신속하게 수행할 수 있다. 그러나 이 방법은 디스크 암이 쓰기를 마치기 앞서 전원이 차단되는 일이 일어나면 데이터가 사라지거나 파일 시스템이 망가질 우려가 있다.
이후, 제어부(120)는 상기 카테고리 점수 정보와 모바일 오픈마켓 메인 상품의 카테고리 정보를 결합하여 추천 카테고리 상품 정보를 생성한다. 예를 들어, 남성의류의 면바지가 높은 카테고리 점수 정보로 산출되었다면 모바일 오픈마켓 메인 상품의 카테고리 정보와 결합된 후 면바지와 같은 카테고리인 청바지 또는 정장바지가 사용자의 추천 카테고리 메인 상품으로 추천될 수 있다.
저장부(130)는 상품 조회, 찜 하기, 장바구니 담기 및 구매와 같은 비로그인 사용자의 최신 이용 정보와 관련된 이용 관련 정보, 카테고리 관심 점수, 카테고리 점수, 모바일 오픈마켓 메인 상품과 관련된 카테고리 정보 및 추천 카테고리 상품 정보를 저장한다.
비로그인 사용자의 이용은 비로그인 사용자가 모바일 오픈마켓에 접속하여 수행하는 상품 조회, 찜 하기, 장바구니 담기 및 구매 중 어느 하나 이상을 의미한다. 비로그인 사용자는 모바일 오픈마켓에 접속한 후에 최근 관심이 있거나 구매하려는 상품의 카테고리를 선택하여 상품 조회, 찜 하기, 장바구니 담기 및 구매 중 어느 하나 이상을 수행하거나, 모바일 오픈마켓 첫 화면에서 제공하는 추천 메인 상품을 클릭하여 상품 조회, 찜 하기, 장바구니 담기 및 구매 중 어느 하나 이상을 수행할 수 있다.
상품의 카테고리는 다양하게 존재하는바, 예를 들어, 여성 의류, 남성 의류, 아동 의류, 스포츠 의류 및 속옷을 판매하는 의류 카테고리, 신발, 가방 및 액세서리를 판매하는 잡화 카테고리, 대형가전, 생활가전 및 주방가전을 판매하는 가전 카테고리, 신선식품, 가공식품 및 건강식품을 판매하는 식품 카테고리, 등산, 캠핑, 골프, 자전거, 헬스 및 구기 종목 용품을 판매하는 레저 카테고리 등이 사용자가 선택할 수 있는 대분류 카테고리가 될 수 있다. 또한, 대분류 카테고리의 하위 카테고리로서 중분류 카테고리를 선택할 수 있다. 예를 들어, 여성 의류의 하위 카테고리로서 상의 종류인 티셔츠, 블라우스 및 니트, 하의 종류인 팬츠, 청바지 및 치마, 외투 종류인 코트, 가디건 및 조끼, 스포츠 의류의 하위 카테고리로서 남성 스포츠의류, 여성 스포츠의류, 남성 트레이닝복 및 여성 트레이닝복, 신발 종류인 런닝화, 운동화, 스니커즈 및 슬리퍼, 스포츠 잡화 종류인 스포츠 가방, 스포츠 모자, 스포츠 안경, 스포츠 시계 및 스포츠 용품, 가전의 하위 카테고리로서 대형가전 종류인TV, 냉장고 및 세탁기 또는 생활가전 종류인 청소기, 다리미, 전화기, 재봉틀, 전기면도기 및 헤어 드라이기 중 어느 하나를 선택할 수 있다. 또한 상품에 따라 중분류 카테고리의 하위 카테고리로서 소분류 카테고리도 이와 같은 방식으로 선택할 수 있으며, 카테고리를 선택한 후에는 관심이 있거나 구매하려는 상품에 대하여 상품 조회, 찜 하기, 장바구니 담기 및 구매 중 어느 하나 이상을 수행할 수 있다. 이때, 상황에 따라 비로그인 사용자의 이용 순서는 달라질 수 있다. 예를 들어, 관심이 있는 카테고리의 상품을 조회하기 전 상품을 클릭하지 않은 상태에서 찜 하기를 수행하고, 추후에 찜 하기를 했던 상품들에 대한 장바구니 담기 및 구매를 진행할 수 있으며, 상품 조회를 하여 선택한 상품의 상세 정보를 파악한 후 찜 하기, 장바구니 담기 및 구매 중 어느 하나 이상을 수행할 수도 있다. 또한 상품 조회를 하여 상품의 상세 정보를 파악하고 장바구니 담기를 수행한 후에 장바구니에 담긴 상품에 대하여 구매를 진행할 수도 있다.
도 2는 카테고리 분류에 따른 상품 정보를 나타내는 도면이다.
카테고리는 상기 저장부(130)에서 설명한 것과 같이 분류할 수 있으며, 관심이 있거나 구매하려는 상품을 찾기 위해서 상품이 속한 해당 카테고리를 선택할 수 있다.
도 3은 관심 카테고리 및 상품을 선택했을 경우 확인할 수 있는 해당 상품의 상세한 정보를 나타내는 도면이다.
비로그인 사용자가 관심 카테고리 및 상품을 선택하고 상품 조회, 찜 하기, 장바구니 담기 및 구매 중 어느 하나 이상을 수행했을 때 저장부(130)가 데이터베이스에 수집하는 사용자 이용 정보의 예는, 아래의 표 2와 같다.
mid 대분류
카테고리 id
중분류
카테고리 id
소분류
카테고리 id
찜한 시점 장바구니 담은 시점 상품 조회 시점 상품 클릭 횟수
u1 1 34 22 2014.04.11
17:50:55
- 2014.04.11
18:50:50
10
u1 2 32 24 - 2014.04.10
17:30:40
2014.04.12
10:00:00
5
u1 3 31 25 - - 2014.08.11
17:50:55
5
u1 1 55 26 2014.02.13
12:50:15
2014.02.14
17:50:50
2014.02.16
13:50:30
15
u2 1 35 111 2013.04.10
17:50:55
2013.04.08
13:50:22
2013.04.12
17:50:50
20
u2 2 44 112 - - 2014.08.27
11:50:55
10
표 2를 참조하면, 사용자 식별자인 mid별로 대분류 카테고리, 중분류 카테고리, 소분류 카테고리에 대하여 찜 하기 시점, 장바구니 담기 시점, 상품 조회 시점 및 상품 클릭 횟수 시점과 같은 비로그인 사용자 이용 정보를 저장부(130)에 저장한다.
이때, '이용'이라 함은 사용자가 모바일 오픈마켓을 통하여 특정 서비스를 제공 받는 것을 의미한다. 예를 들어, '이용'은 사용자가 특정 상품을 '조회'하는 것일 수 있다. 예를 들어, '이용'은 사용자가 오픈마켓을 통해 특정 상품을 '구매'하는 것일 수 있다. 또한 상품 클릭 횟수는 오픈마켓에서 사용자가 해당 상품을 조회한 횟수일 수 있다.
한편, 사용자 식별자인 mid는 개인화된 메인 상품을 추천하는데 필요한 정보로써, 비로그인 사용자가 모바일 오픈마켓에 로그인을 한번이라도 하게 되면 쿠키에 저장하여 관리하기 때문에 사용자가 로그인하지 않았더라도 비로그인 사용자가 수행하는 상품 조회, 찜 하기, 장바구니 담기 및 구매와 같은 정보를 사용자 식별자인 mid를 통해 인식하게 된다. 여기서 쿠키는 하이퍼텍스트 기록서의 일종으로서 인터넷 사용자가 어떠한 웹사이트를 방문할 경우 그 사이트가 사용하고 있는 서버에서 인터넷 사용자의 컴퓨터에 설치하는 작은 기록 정보 파일을 일컫는다. 쿠키라는 이름은 그림 동화 '헨젤과 그레텔'에서 가져온 것으로 헨텔과 그레텔이 지나온 길을 표시하기 위해 쿠키 조각을 떨어뜨리며 표시했다는 이야기에서 따온 것이다. 이 기록 파일에 담긴 정보는 인터넷 사용자가 동일한 웹사이트를 방문할 때마다 읽히고 수시로 새로운 정보로 바뀐다. 이 수단은 넷스케이프의 프로그램 개발자였던 루 몬툴리가 고안한 뒤로 오늘날 많은 서버 및 웹사이트들이 브라우저의 신속성을 위해 사용하고 있다.
하이퍼텍스트란 참조를 통해 사용자가 한 문서에서 다른 문서로 즉시 접근할 수 있는 텍스트이다. 주로 컴퓨터나 다른 전자기기들을 통해 표시되며 인터넷과 결합하여 HTML의 주된 구성요소가 되었다. 기존의 문서가 순차적이면서 서열형 구조라면, 하이퍼텍스트는 링크에 다라 그 차례가 바뀌는 임의적이면서 나열형인 구조를 가진다. 즉, 참조로 연결된 문서들을 어떠한 행위(Click)에 따라 자유롭게 이동할 수 있다.
한편, 데이터베이스란 여러 사람에 의해 공유되어 사용될 목적으로 통합하여 관리되는 데이터의 집합을 의미한다. 줄여서 DB(DataBase)라고도 하며, 특정 다수의 사용자들에게 필요한 정보를 제공하거나 조직 내에서 필요로 하는 정보를 체계적으로 축적하여 그 조직 내의 사용자들에게 필요한 정보를 제공하는 정보 서비스 기관의 심장부에 해당된다. 종래의 업무마다 독립된 파일 처리 방식에 비하여 업무가 확대되어도 새롭게 파일을 준비할 필요가 없고, 각 파일에 같은 데이터가 중복되어 있지 않게 되는 것 등의 이점이 있다. 데이터베이스를 관리하는 시스템을 데이터베이스 관리시스템(Database Management System)이라고 하며, 데이터베이스의 특징으로는 사용자의 질의에 대하여 즉시 처리하여 응답하는 실시간 접근성을 가지고 있고, 삽입, 삭제 및 갱신을 통하여 최신의 데이터를 동적으로 유지할 수 있고, 여러 사용자가 동시에 원하는 데이터를 동시에 공유할 수 있다. 데이터베이스에 저장되어 있는 데이터를 참조할 때는 표의 행 주소나 위치가 아닌 사용자가 요구하는 데이터 내용에 따라 참조할 뿐만 아니라 응용프로그램과 데이터베이스를 독립시킴으로써 데이터의 논리적 구조를 변경시키더라도 응용프로그램은 변하지 않는다. 데이터베이스의 종류에는 계층형 데이터베이스, 네트워크형 데이터베이스, 관계형 데이터베이스 및 객체지향형 데이터베이스 등이 존재한다. 계층형 데이터베이스는 트리구조를 기반으로 하는 계층형 데이터 모델을 사용한다. 계층형 데이터모델에서 데이터는 트리 형태로 구성되며, 각 데이터 요소들은 상하 관계를 나타내는 링크로 구성된다. 네트워크형 데이터베이스는 그래프 구조를 기반으로 하는 네트워크형 데이터 모델을 사용한다. 네트워크형 데이터 모델은 개체와 개체 관계를 그래프 구조로 연결하는 데이터 모델이다. 이는 계층형 데이터 모델과 유사하나, 부모(상위 개체)를 여러 개 가질 수 있다는 점이 다르다. 관계형 데이터베이스는 관계형 데이터 모델을 사용한다. 관계형 데이터베이스는 현재까지 가장 안정적이고 효율적인 데이터베이스로 알려져 있어 주로 사용되고 있다. 관계형 데이터 모델은 개체를 테이블로 사용하고 개체들간의 공동 속성을 이용하여 서로 연결하는 독립된 형태의 데이터 모델이다. 객체지향형 데이터베이스는 1980년대 후반에 등장한 데이터베이스로서 객체지향 프로그래밍 개념에 기반을 두고 있다. 객체지향 모델은 데이터와 프로그램을 독립적인 객체의 형태로 구성하여 복잡한 데이터 유형을 처리하기 용이하고 객체들을 이해하기 쉽다는 장점이 있다.
데이터베이스 관리시스템이란 다수의 컴퓨터 사용자들이 데이터베이스 안에 데이터를 기록하거나 접근할 수 있게 해주는 프로그램이다. 목적은 데이터베이스 내의 정보를 검색하거나, 데이터베이스에 정보를 저장하기 편리하고 효율적인 환경을 제공하는데 있다. 데이터베이스 관리시스템은 응용소프트웨어 별로 흩어져 있는 자료들을 통합하고 통합된 자료들을 각 응용소프트웨어가 공유하여 정보의 체계적인 활용을 가능하게 한다. 데이터베이스 관리시스템의 기능은 축적된 자료구조를 정의하고, 자료구조에 따른 자료를 축적하며 데이터베이스 언어에 의한 자료를 검색 및 갱신할 수 있다. 또한 복수 사용자들의 자료처리 요청을 동시에 실행가능하고, 갱신 중에 이상이 발생했을 때 갱신 이전의 상태로 복귀가 가능하다. 일반적 형태의 데이터베이스 관리시스템은 관계형 데이터베이스 관리시스템인데, 관계형 데이터베이스 관리시스템의 표준화된 사용자 및 프로그램 인터페이스를 SQL(Structured Query Language)라고 한다.
도 4는 본 발명의 일 실시 예에 따른 송수신부(110), 제어부(120) 및 저장부(130) 사이의 흐름도를 나타내는 도면이다.
도 4를 참조하면, 비로그인 사용자가 모바일 오픈마켓에 접속 후 상품 조회, 찜 하기, 장바구니 담기 및 구매 중 어느 하나 이상을 수행하면 비로그인 사용자의 최신 이용 정보가 저장부(130)에 수집되고, 수집된 이용 정보를 제어부(120)에 전달하여 카테고리 관심 점수를 산출한다.
제어부(120)가 비로그인 사용자 최신 이용 정보를 기반으로 산출한 카테고리 관심 점수의 예는, 아래의 표 3과 같다.
mid 대분류
카테고리 id
중분류 카테고리 id 소분류 카테고리 id 카테고리
관심점수
u1 1 34 22 2.53
u1 2 32 24 0.76
u1 3 31 25 0.06
u2 2 44 112 31.3
u2 2 62 115 3.855
표 3을 참조하면, 비로그인 사용자가 수행한 상품 조회, 찜 하기, 장바구니 담기 및 구매의 최신 이용 시점 정보와 가중치로서 적용한 상품 클릭 횟수를 기반으로 각 사용자별 카테고리 관심 점수를 산출할 수 있다. 이때, 찜 하기와 상품 조회보다 장바구니 담기에 더 가중치를 두어 점수를 산출하는데, 그 이유는 장바구니 담기를 수행했을 경우 구매 확률이 가장 높고, 찜 하기와 상품 조회는 장바구니 담기보다 낮은 확률로 구매가 이루어지기 때문이다. 그리고 상품 클릭 횟수를 가중치로 적용한 이유는 상품 구매 시점이 가까워 질수록 해당 상품에 대한 클릭 횟수가 매우 증가하기 때문이다.
각 카테고리별 사용자의 이용 시점이 최근일수록 카테고리 관심 점수가 높아지게 되고, 카테고리 관심 점수를 산출함으로써 분석할 수 있는 정보는 각 사용자별로 최근에 어느 카테고리의 어느 상품에 관심이 있는지를 확인할 수 있다.
이후, 카테고리 관심 점수를 기반으로 ALS 알고리즘을 이용해 산출한 카테고리 점수의 예는, 표 4와 같다.
mid 대분류
카테고리id
중분류 카테고리 id 소분류 카테고리 id Rating
u1 1 32 24 0.7
u1 2 89 - 0.4
u1 1 37 24 0.3
u2 1 - - 0.3
u2 1 37 24 0.5
표 4를 참조하면, 협업 필터링의 ALS 알고리즘을 이용해 사용자별 카테고리 점수를 산출할 수 있다. 이때, ALS 알고리즘에는 mid, 카테고리 id 및 카테고리 관심 점수가 입력되며, 이외에도 Lambda, Feature number, Iterations와 같은 부가적인 값들을 입력할 수 있다. ALS 알고리즘으로부터 카테고리 점수가 산출되면 이를 이용하여 Matrix Factorization을 수행하는데 이때, 최대 rating값을 1로 지정하여 0에서 1사이의 Rating이 나오도록 한다. 또한 Factorization 연산자체가 추천 카테고리가 많이 생성되기 때문에 Rating값을 고려하여 상위 100개만 필터링한다.
이후, 제어부(120)는 ALS 알고리즘을 통해 카테고리 점수 정보를 산출하고, 산출된 카테고리 점수 정보와 메인 상품의 카테고리 정보를 결합한 후 결과를 우선순위화한다.
사용자 u1에 대하여 ALS 알고리즘과 Matrix Factorization 연산을 통해 카테고리 점수가 산출된 후 모바일 오픈마켓 메인 상품의 카테고리 정보와 결합된 예는, 표 5와 같다.
Category id 대분류
카테고리 id
중분류 카테고리 id 소분류 카테고리 id Rating
1 1 32 24 0.7
20 2 89 - 0.4
55 1 37 24 0
44 3 31 - 0
60 7 22 - 0
표 5를 참조하면, 제어부(120)는 사용자 u1에 대하여 ALS 알고리즘을 통해 산출된 카테고리 점수 정보와 모바일 오픈마켓 메인 상품의 카테고리 정보를 결합하여 순위대로 정렬하게 되고, 정렬된 추천 카테고리 상품 정보에 근거하여 개인화된 메인 상품 추천이 가능해진다.
도 5는 본 발명의 일 실시 예에 따른 사용자 단말(200)과 상품 추천 서버(100) 사이의 흐름도를 나타내는 도면이다.
도 5를 참조하면, 비로그인 사용자가 사용자 단말(200)을 통해 모바일 오픈마켓에 접속하여 로그인을 하지 않은 상태에서 상품 조회, 찜 하기, 장바구니 담기 및 구매 중 어느 하나 이상을 수행하면, 비로그인 사용자의 최신 이용 정보가 상품 추천 서버(100)로 전달되어 상기에서 설명한 일련의 과정을 거쳐 추천 카테고리 상품 정보가 생성된다. 상품 추천 서버(100)는 생성된 추천 카테고리 상품 정보를 사용자 단말(200)에 전달하여 모바일 오픈마켓 화면의 메인 상품으로 노출시킴으로써 비로그인 사용자는 추천 카테고리 상품 정보를 볼 수 있게 된다.
도 6은 사용자 단말(200)과 상품 추천 서버(100) 사이의 연결 구조를 나타내는 도면이다.
도 6을 참조하면, 사용자 단말(200)은 클라이언트로서 네트워크를 통해 서버인 상품 추천 서버(100)에 연결된다. 클라이언트/서버 모델의 구성요소 중 가장 중요한 것이 네트워크이다. 클라이언트/ 서버 모델이 발전하게 된 배경에는 당시 브리지(Bridge), 라우터(Router), 게이트웨이(Gateway)와 같은 접속장치의 발달로 근거리통신망(LAN), 광역통신망(WAN) 기술이 빠르게 발전했기 때문이다. 발전된 근거리통신망 및 광역통신망 네트워크 통신 환경에 따라 그에 맞는 다양한 프로토콜이 표준화되는 시도가 이뤄졌다. 가장 대표적인 것이 국제표준화기구(ISO)에서 개발한 OSI 7계층 모델이다.
OSI 7계층이란, 국제표준화기구에서 발표한 프로토콜의 기준 모델로 네트워크를 7개의 독립 기능 계층, 즉 물리 계층, 데이터 링크 계층, 네트워크 계층, 전송 계층, 세션 계층, 표현 계층 및 응용 계층으로 나누어 컴퓨터 기종이 다르더라도 각각의 계층에 맞게 프로토콜을 설계하면 상호 통신이 가능하도록 설계되었다. 인접층간의 인터페이스(Interface)는 하위 계층에서 상위 계층에 대한 서비스로 정의할 수 있다. 먼저 물리 계층은 가장 하위의 1번째 계층으로서 상위 계층인 데이터 링크 계층으로부터 받은 데이터를 통신 회선을 통해 비트 단위로 전송하는 역할을 한다. 구성되는 물리 매체에는 허브(Herb), 리피터(Repeater) 등의 전기적인 신호를 발생시키는 장치, 전화선이나 UTP, 동축 케이블 등의 기계적인 연결 장치를 통해 전기적, 기계적 및 물리적 조건을 관리하여 비트 열의 전송을 보충하는 계층이다. 데이터 링크 계층은 2번째 계층으로서 하위 계층인 물리 계층의 비트들을 프레임이라는 논리 집단으로 구성하여 접속한다. 통신 중 시스템간의 전송로에서 발생하는 오류를 검출하여 회복시킴으로써 데이터의 흐름을 제어하며, 데이터의 집합을 확실하게 전송하는 것을 보증하기 위한 계층이다. 상위 계층인 네트워크 계층으로부터 하위 계층인 물리 계층으로 데이터 프레임을 전송하는 역할을 하며, 다른 모든 계층과 마찬가지로 자기 고유의 식별 정보를 전송 데이터 앞부분에 추가한다. 데이터 링크 계층의 기기에는 지능형 허브, 브리지, 네트워크 카드 및 어댑터(Adapter) 등이 존재한다. 네트워크 계층은 3번째 계층으로서 데이터 네트워크나 전화선 등의 각종 통신 네트워크를 사용하여 통신 상대 중 맨 끝에 있는 최종단 시스템과 통신 선로를 확립하기 위한 중계 기능을 관리하여 최종단 시스템간의 데이터 전송을 보증한다. 전송 계층은 4번째 계층으로서 신뢰성있는 데이터 전송을 제공하며 주요 데이터 전송 프로토콜은 TCP와 UDP를 사용한다. 시스템을 연결하고 있는 통신 네트워크에 오류 발생 확률이 높은 경우 오류를 검출해내고, 오류 회복절차에 따라 데이터 전송의 신뢰성을 높일 수 있다. 만약 어떤 데이터가 수신측 장치에서 올바르게 전달되지 않은 경우 재전송을 하거나 상위 계층에 오류 사실을 알려 상위 계층에서 필요한 조치를 취할 수 있다. 세션 계층은 5번째 계층으로서 통신을 하는 2개의 응용 프로그램 사이에서 통신을 위한 하나의 논리적 구조를 관리한다. 즉, 2개의 응용 프로그램 사이에서 하나의 세션을 만들어 통신을 진행하고 중간 중간에 브레이크 포인트를 설정하여 세션에 문제가 발생한 경우 가장 최근에 설정된 브레이크 포인트로부터 통신을 재개할 수 있는 기능을 제공한다. 표현 계층은 6번째 계층으로서 상위 계층인 응용 계층의 다양한 표현 양식을 범용적인 전송 방식으로 변환하거나 암호화하고, 데이터를 압축한다. 마지막으로 응용 계층은 7번째 계층으로서 통신망을 통하여 통신을 하는 응용 프로그램 사이에서 필요한 서비스를 정의한다.
라우터란 서로 다른 네트워크를 연결하여 정보를 주고 받을 때, 송신정보에 담긴 수신처의 주소를 읽고 가장 적절한 통신통로를 이용하여 다른 통신망으로 전송하는 장치이다. 예를 들어, 서로 다른 근거리통신망을 중계하거나 근거리통신망을 광역통신망에 연결할 때 주로 사용한다. 인터넷을 접속할 때는 반드시 필요한 장비로서, 서로 다른 프로토콜로 운영하는 통신망에서 정보를 전송하기 위해 경로를 설정하는 역할을 제공하는 핵심적인 통신장비이다. 단순히 통신망을 연결해주는 브리지 기능에 추가하여 경로 배정표에 따라 다른 통신망을 인식하여 경로를 배정하며, 수신된 패킷에 의하여 다른 통신망 또는 자신이 연결되어 있는 통신망 내의 수신처를 결정하여 여러 경로 중 가장 효율적인 경로를 선택하여 패킷을 보낸다. 통신 흐름을 제어하며 통신망 내부에 여러 보조 통신망을 구성하는 등의 다양한 통신망 관리기능을 수행한다. 장점은 통신환경의 설정을 가능하게 하여 관리 방침에 따라 라우팅 방식을 결정하여 전체 네트워크 성능을 개선할 수 있다. 또한 표준 논리에 따라 통신방법이 자동으로 결정되므로 유지보수가 용이하고, 통신방법에 구애받지 않으므로 대규모 통신망을 쉽게 구성할 수 있으며, 다양한 경로를 따라 통신량을 분산할 수 있다.
게이트웨이란 컴퓨터 네트워크에서 서로 다른 통신망, 프로토콜을 사용하는 네트워크 간의 통신을 가능하게 하는 장치를 의미한다. 즉, 다른 네트워크로 들어가는 입구 역할을 하는 네트워크 포인트이고, 넓은 의미로는 종류가 다른 네트워크 간의 통로 역할을 하는 장치이다.
UDP란 전송 계층에 포함되는 프로토콜로서 인터넷상에서 서로 정보를 주고받을 때 수신측과 접속 절차를 거치지 않고, 데이터를 보낸다는 신호 없이 송신측에서 일방적으로 데이터를 전달하는 통신 프로토콜이다. 송신측에서는 수신측의 데이터 수신 여부를 확인할 수 없고, 확인할 필요도 없도록 만들어져 오류 정정이나 재송신 기능이 없어 비신뢰성 및 비연결 지향 프로토콜이다. TCP보다 안정성은 떨어지지만 속도는 훨씬 빠른 장점이 있다.
한편, 클라이언트/서버 모델에서 주로 사용되는 프로토콜은 TCP/IP 프로토콜이다. TCP/IP 프로토콜은 OSI 모델이 설계되는 것과 병행해서 개발되었던 프로토콜로서 좀 더 간단하고 유연성이 뛰어나 실제 현장에서는 대부분 TCP/IP 프로토콜이 사용되고 있다. TCP/IP 프로토콜은 물리 계층, 인터넷 계층, 전송 계층 및 응용 계층의 4계층으로 구성된다. 물리 계층은 OSI 7계층의 물리 계층과 같은 역할을 하고, 인터넷 계층은 OSI 7계층의 데이터 링크 계층과 네트워크 계층 역할을 수행한다. 전송 계층은 OSI 7계층의 전송 계층과 세션 계층 역할을 수행하고, 응용 계층은 OSI 7계층의 표현 계층과 응용 계층 역할을 수행한다.
TCP란 UDP와 같이 전송 계층에 포함되는 프로토콜로서 인터넷상에서 서로 정보를 주고받을 때 데이터를 전달하기 전에 연결을 설정하고, 송신측은 데이터를 여러 개의 패킷들로 분할한 후 번호를 붙여 전송한다. 수신측은 전달받은 패킷들을 번호에 따라 재조립하는데 만약 패킷의 손실, 중복, 오류 등이 발생하면 이를 검출하고 재전송을 요청한다. TCP는 수신측의 사용자에게 완성된 데이터를 전달하기 때문에 신뢰성 및 연결 지향 프로토콜이다. UDP보다는 느리지만 신뢰성있는 데이터 전송이 가능하다.
도 7은 제어부(120)로부터 생성된 추천 카테고리 메인 상품 정보가 송수신부(110)를 거쳐 비로그인 사용자의 사용자 단말(200)에 전달된 결과를 나타내는 도면이다. 비로그인 사용자가 모바일 오픈마켓에 한번이라도 접속을 했다면 쿠키에 사용자 식별자 mid를 저장하게 되고, 이후에 비로그인 사용자가 상품 조회, 찜 하기, 장바구니 담기 및 구매 중 어느 하나 이상을 수행한 이용 시점 정보를 저장부(130)에 저장한다. 추후에 비로그인 사용자가 모바일 오픈마켓에 접속하게 되면 쿠키에 저장되어 있는 사용자 식별자 mid를 이용하여 사용자를 식별하고, 첫 화면 상단에 송수신부(110)를 통해서 전달된 사용자별 추천 카테고리 메인 상품을 노출시켜 추천하게 된다. 예를 들어, 최근에 비로그인 사용자가 모바일 오픈마켓에서 면바지 상품의 조회, 찜 하기, 장바구니 담기 및 구매 중 어느 하나를 이상을 수행했다면 추후에 모바일 오픈마켓 접속 시 첫 화면에 추천 카테고리 메인 상품으로서 면바지 또는 청바지 상품을 메인 상품으로 노출시키게 된다.
본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 실시 형태로 실시될 수 있다는 것을 인지할 수 있을 것이다. 따라서 이상에서 기술한 실시 예들은 예시적인 것일 뿐이며, 그 범위를 제한해놓은 한정적인 것이 아닌 것으로 이해해야만 한다. 또한, 도면에 도시된 순서도들은 본 발명을 실시함에 있어서 가장 바람직한 결과를 달성하기 위해 예시적으로 도시된 순차적인 순서에 불과하며, 다른 추가적인 단계들이 제공되거나, 일부 단계가 삭제될 수 있음은 물론이다.
본 명세서에서 기술한 기술적 특징과 이를 실행하는 구현물은 디지털 전자 회로로 구현되거나, 본 명세서에서 기술하는 구조 및 그 구조적인 등가물 등을 포함하는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어로 구현되거나, 이들 중 하나 이상의 조합으로 구현 가능하다. 또한 본 명세서에서 기술한 기술적 특징을 실행하는 구현물은 컴퓨터 프로그램 제품, 다시 말해 처리 시스템의 동작을 제어하기 위하여 또는 이것에 의한 실행을 위하여 유형의 프로그램 저장매체 상에 인코딩된 컴퓨터 프로그램 명령어에 관한 모듈로서 구현될 수도 있다.
컴퓨터로 판독 가능한 기록매체는 기계로 판독 가능한 저장 장치, 기계로 판독 가능한 저장 기판, 메모리 장치, 기계로 판독 가능한 전파형 신호에 영향을 미치는 물질의 조성물 또는 이들 중 하나 이상의 조합일 수 있다.
한편, 본 명세서에서 "장치"라 함은 예를 들어, 프로세서, 컴퓨터 또는 다중 프로세서나 컴퓨터를 포함하여 데이터를 처리하기 위한 모든 기구, 장치 및 기계를 모두 포함한다.
프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드 등으로 알려진 컴퓨터 프로그램은 컴파일 되거나 해석된 언어 또는 선험적, 절차적 언어를 포함하는 프로그래밍 언어의 어떠한 형태로도 작성될 수 있으며, 독립형 프로그램이나 모듈, 컴포넌트, 서브루틴 또는 컴퓨터 환경에서 사용하기에 적합한 다른 유닛을 포함하여 어떠한 형태로도 구현될 수 있다. 한편, 컴퓨터 프로그램은 파일 시스템의 파일에 반드시 대응되는 것은 아니며, 요청된 프로그램에 제공되는 단일 파일 내에 또는 다중의 상호 작용하는 파일(예를 들어, 하나 이상의 모듈, 하위 프로그램 또는 코드의 일부를 저장하는 파일)내에, 또는 다른 프로그램이나 데이터를 보유하는 파일의 일부(예를 들어, 마크업 언어 문서 내에 저장되는 하나 이상의 스크립트)내에 저장될 수 있다. 컴퓨터 프로그램은 하나의 사이트에 위치하거나 복수의 사이트에 걸쳐서 분산되어 유/무선 통신 네트워크에 의해 상호 접속된 다중 컴퓨터나 하나 이상의 컴퓨터 상에서 실행되도록 구현될 수 있다.
한편, 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 기록매체는, 예를 들어 EPROM, EEPROM 및 플래시메모리 장치와 같은 반도체 메모리 장치, 예컨대 내부 하드디스크나 외장형 디스크와 같은 자기 디스크, 자기광학 디스크 및 CD와 DVD 디스크를 포함하여 모든 형태의 비휘발성 메모리, 매체 및 메모리 장치를 포함할 수 있다. 프로세서와 메모리는 특수 목적의 논리 회로에 의해 보충되거나, 그것에 통합될 수 있다.
본 명세서에서 기술한 기술적 특징을 실행하는 구현물은 예를 들어, 데이터 장치와 같은 백엔드 컴포넌트를 포함하거나, 예를 들어, 애플리케이션 장치와 같은 미들웨어 컴포넌트를 포함하거나, 예컨대 사용자가 본 명세서에서 설명한 주제의 구현물과 상호 작용할 수 있는 웹 브라우저나 그래픽 유저 인터페이스를 갖는 클라이언트 컴퓨터와 같은 프론트엔드 컴포넌트 혹은 그러한 백엔드, 미들웨어 혹은 프론트엔드 컴포넌트의 하나 이상의 모든 조합을 포함하는 연산 시스템에서 구현될 수도 있다. 시스템의 컴포넌트는 예를 들어, 통신 네트워크와 같은 디지털 데이터 통신의 어떠한 형태나 매체에 의해서도 상호 접속 가능하다.
이하, 상기 기술한 내용과 더불어 본 명세서에 기술한 비로그인 사용자 메인 상품 추천 방법이 포함하는 구성들을 구현할 수 있는 보다 구체적인 실시 예에 대하여 자세히 기술하도록 한다.
본 명세서에서 기술한 비로그인 사용자 메인 상품 추천 방법은 클라이언트 디바이스 또는 웹 기반의 스토리지 시스템과 관련된 장치 또는 장치에 포함된 하나 이상의 프로세서(Processor) 상에서 컴퓨터 소프트웨어, 프로그램 코드 또는 명령어를 실행하는 수단을 통해 부분적 또는 전체적으로 사용될 수 있다. 여기서 프로세서는 장치, 클라이언트, 네트워크 인프라 구조, 모바일 컴퓨팅 플랫폼, 고정 컴퓨팅 플랫폼 등과 같은 컴퓨팅 플랫폼 중 일부일 수 있으며, 구체적으로 프로그램 명령어, 코드 등을 실행할 수 있는 컴퓨터 또는 프로세싱 디바이스의 한 종류일 수 있다. 또한, 프로세서는 비로그인 사용자 메인 상품 추천 방법, 명령어, 코드 및 프로그램을 저장하는 메모리를 더 포함할 수 있으며, 메모리를 포함하지 않는 경우 별도의 인터페이스를 통해 비로그인 사용자 메인 상품 추천 방법, 명령어, 코드 및 프로그램이 저장된 CD-ROM, DVD, 메모리, 하드 디스크, 플래시 드라이브, RAM, ROM, 캐시 등과 같은 스토리지 디바이스에 접근(Access)할 수도 있다.
또한, 본 명세서에서 기술한 비로그인 사용자 메인 상품 추천 방법은 장치, 클라이언트, 게이트웨이, 허브, 라우터 또는 네트워크 하드웨어 상의 컴퓨터 소프트웨어를 실행하는 장치를 통해 부분적 또는 전체적으로 사용될 수 있다. 여기서 소프트웨어는 파일 장치, 프린트 장치, 도메인 장치, 인터넷 장치, 인트라넷 장치, 호스트 장치, 분산 장치 등과같이 다양한 종류의 장치에서 실행될 수 있으며, 상기 언급한 장치들은 메모리, 프로세서, 컴퓨터에서 판독 가능한 저장매체, 스토리지 매체, 통신 디바이스, 포트, 클라이언트 그리고 다른 장치들을 유/무선 네트워크를 통해 접근할 수 있는 인터페이스를 더 포함할 수 있다. 또한, 비로그인 사용자 메인 상품 추천 방법, 명령어, 코드 등 역시 장치에 의해 실행될 수 있으며, 비로그인 사용자 메인 상품 추천 방법을 실행하기 위해 필요한 다른 디바이스들은 장치와 연관된 계층구조의 일 부분으로 구현될 수 있다.
아울러, 장치는 클라이언트, 다른 장치, 프린터, 데이터베이스 장치, 프린트 장치, 파일 장치, 통신 장치, 분산 장치 등을 제한 없이 포함하는 다른 디바이스에게 인터페이스를 제공할 수 있으며, 인터페이스를 통한 연결은 유/무선 네트워크를 통해 프로그램의 원격 실행을 용이하게 할 수 있다. 또한, 인터페이스를 통해 장치에 연결된 디바이스 중 어느 것이라도 비로그인 사용자 메인 상품 추천 방법, 명령어, 코드 등을 저장할 수 있는 적어도 하나의 스토리지 디바이스를 더 포함할 수 있으며, 장치의 중앙 프로세서는 상이한 디바이스 상에서 실행될 명령어, 코드 등을 디바이스에 제공하여 스토리지 디바이스에 저장되게 할 수 있다.
한편, 본 명세서에서 기술한 비로그인 사용자 메인 상품 추천 방법은 네트워크 인프라구조를 통해 부분적 또는 전체적으로 사용될 수 있다. 여기서 네트워크 인프라구조는 컴퓨팅 디바이스, 장치, 라우터, 허브, 방화벽, 클라이언트, 개인용 컴퓨터, 통신 디바이스, 라우팅 디바이스 등과 같은 디바이스와 각각의 기능을 실행할 수 있는 별도의 모듈 등을 모두 포함할 수 있으며, 상기 언급한 디바이스와 모듈 외에 스토리 플래시 메모리, 버퍼, 스택, RAM, ROM 등과 같은 스토리지 매체를 더 포함할 수 있다. 또한, 비로그인 사용자 메인 상품 추천 방법, 명령어, 코드 등 역시 네트워크 인프라구조가 포함하는 디바이스, 모듈, 스토리지 매체 중 어느 하나에 의해 실행 및 저장될 수 있으며, 비로그인 사용자 메인 상품 추천 방법을 실행하기 위해 필요한 다른 디바이스 역시 네트워크 인프라구조의 일 부분으로 구현될 수 있다.
또한, 본 명세서에서 기술한 비로그인 사용자 메인 상품 추천 방법은 하드웨어 또는 특정 애플리케이션(Application)에 적합한 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 여기서 하드웨어는 개인용 컴퓨터, 이동통신 단말기 등과 같은 범용 컴퓨터 디바이스와 기업형 특정 컴퓨터 디바이스를 모두 포함하며, 컴퓨터 디바이스는 메모리, 마이크로프로세서, 마이크로콘트롤러, 디지털 신호 프로세서, 애플리케이션 집적 회로, 프로그래머블 게이트 어레이, 프로그래머블 어레이 조직 등을 포함하는 디바이스 또는 이들의 조합으로 구현될 수 있다.
이상에서 기술한 컴퓨터 소프트웨어, 명령어, 코드 등은 판독 가능한 디바이스에 의해 저장 또는 접근될 수 있으며, 여기서 판독 가능한 디바이스는 일정 시간 간격 동안 컴퓨팅하는데 사용되는 디지털 데이터를 구비하는 컴퓨터 컴포넌트, RAM 또는 ROM과 같은 반도체 스토리지, 광디스크와 같은 영구적인 스토리지, 하드 디스크, 테이프, 드럼 등과 같은 대용량 스토리지, CD 또는 DVD와 같은 광 스토리지, 플래시 메모리, 플로피 디스크, 자기 테이프, 페이퍼 테이프, 독립형 RAM 디스크, 컴퓨터로부터 착탈 가능한 대용량 스토리지와 동적 메모리, 정적 메모리, 가변 스토리지, 클라우드와 같은 네트워크 접속형 스토리지 등과 같은 메모리를 포함할 수 있다. 한편, 여기서 명령어와 코드 등은 SQL, dBase 등과 같은 데이터 지향 언어, C, Objective C, C++, 어셈블리 등과 같은 시스템 언어, Java, NET 등과 같은 아키텍처 언어, PHP, Ruby, Perl, Python 등과 같은 애플리케이션 언어 등과 같은 언어들을 모두 포함하지만, 이에 한정되지는 않고 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 널리 알려진 언어들을 모두 포함할 수 있다.
또한, 본 명세서에서 기술한 "컴퓨터에서 판독 가능한 기록매체"는 프로그램 실행을 위해 명령어를 프로세서로 제공하는데 기여하는 모든 매체를 포함한다. 구체적으로 데이터 스토리지 디바이스, 광디스크, 자기 디스크 등과 같은 비휘발성 매체, 동적 메모리 등과 같은 휘발성 매체와 데이터를 전송하는 동축 케이블, 구리 와이어, 광섬유 등과 같은 전송 매체를 포함하지만 이에 한정되지는 않는다.
한편, 본 명세서에 첨부된 도면에 도시된 블록도와 순서도에 포함된 본 발명의 기술적 특징을 실행하는 구성들은 상기 구성들 사이의 논리적인 경계를 의미한다. 그러나 소프트웨어나 하드웨어의 실시 예에 따르면, 도시된 구성들과 그 기능들은 독립형 소프트웨어 모듈, 모놀리식 소프트웨어 구조, 코드, 서비스 및 이들을 조합한 형태로 실행되며, 저장된 프로그램 코드, 명령어 등을 실행할 수 있는 프로세서를 구비한 컴퓨터에서 실행 가능한 매체에 저장되어 그 기능들이 구현될 수 있으므로 이러한 모든 실시 예 역시 본 발명의 권리범위 내에 속하는 것으로 보아야 할 것이다.
따라서, 첨부된 도면과 그에 대한 기술은 본 발명의 기술적 특징을 설명하기는 하나, 이러한 기술적 특징을 구현하기 위한 소프트웨어의 특정 배열이 분명하게 언급되지 않는 한, 단순히 추론되어서는 안된다. 즉, 이상에서 기술한 다양한 실시 예들이 존재할 수 있으며, 그러한 실시 예들이 본 발명과 동일한 기술적 특징을 보유하면서 일부 변형될 수 있으므로, 이 역시 본 발명의 권리범위 내에 속하는 것으로 보아야 할 것이다.
또한, 순서도의 경우 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 가장 바람직한 결과를 얻기 위하여 도시된 것으로서, 도시된 특정한 순서나 순차적인 순서대로 그러한 동작들을 반드시 실행되어야 한다거나 모든 도시된 동작들이 반드시 실행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티 태스킹과 병렬 프로세싱이 유리할 수 있다. 아울러, 이상에서 기술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징될 수 있다는 점을 이해하여야 한다.
이와 같이, 본 명세서는 그 제시된 구체적인 용어에 의해 본 발명을 제한하려는 의도가 아니다. 따라서, 이상에서 기술한 실시 예를 참조하여 본 발명을 상세하게 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 본 발명의 범위를 벗어나지 않으면서도 본 실시 예들에 대한 개조, 변경 및 변형을 가할 수 있다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 권리범위에 포함되는 것으로 해석되어야 한다.
100: 상품 추천 서버
110: 송수신부
120: 제어부
130: 저장부
200: 사용자 단말

Claims (12)

  1. 사용자 단말로부터 이용 정보를 입력 받고, 생성된 추천 카테고리 상품 정보를 사용자 단말에 전달하는 송수신부;
    상기 이용 정보 기반으로 최신성이 반영된 카테고리 관심 점수를 산출하고, 카테고리 관심 점수를 이용하여 카테고리 점수를 산출한 후 카테고리 점수 정보와 모바일 오픈마켓 메인 상품의 카테고리 정보를 결합하여 상기 추천 카테고리 상품 정보를 생성하는 제어부;
    상기 이용 정보와 관련된 이용 관련 정보, 상기 카테고리 관심 점수, 상기 카테고리 점수, 모바일 오픈마켓 메인 상품과 관련된 카테고리 정보 및 상기 추천 카테고리 상품 정보가 저장된 저장부;
    를 포함하는 상품 추천 서버
  2. 제1항에 있어서,
    상기 이용 정보는 비로그인 사용자의 최신 이용 시점 정보로써 저장되는 것을 특징으로 하는 상품 추천 서버
  3. 제1항에 있어서,
    상기 이용 정보는 사용자가 로그인을 한번이라도 하게 되면 쿠키(Cookie)에 보관되는 mid(Member id)를 포함하는 것을 특징으로 하는 상품 추천 서버
  4. 제1항에 있어서,
    상기 이용 정보는 상품의 분류에 있어 대분류, 중분류 및 소분류 카테고리 중 어느 하나 이상을 포함하는 것을 특징으로 하는 상품 추천 서버
  5. 제1항에 있어서,
    상기 카테고리 관심 점수는 산출되는 과정에서 비로그인 사용자의 최신 이용 정보에 상품 클릭 횟수가 가중치로 적용되는 것을 특징으로 하는 상품 추천 서버
  6. 제1항에 있어서,
    상기 카테고리 점수는 비로그인 사용자로부터 추천 상품의 조회, 찜 하기, 장바구니 담기 및 구매 중 어느 하나가 수행될 경우 다음 추천 작업에서 해당 상품을 제외하지 않는 ALS(Alternating Least Square) 알고리즘으로부터 산출되는 것을 특징으로 하는 상품 추천 서버
  7. 상품 추천 서버가 메인 상품을 추천하는 방법에 있어서,
    (a) 사용자 단말로부터 이용 정보를 입력 받는 단계;
    (b) 상기 이용 정보를 저장하는 단계;
    (c) 상기 이용 정보를 기반으로 최신성을 반영한 카테고리 관심 점수를 산출하는 단계;
    (d) 상기 카테고리 관심 점수를 이용하여 카테고리 점수를 산출하는 단계;
    (e) 상기 카테고리 점수 정보와 모바일 오픈마켓 메인 상품의 카테고리 정보를 결합하여 추천 카테고리 상품 정보를 생성하는 단계;
    (f) 비로그인 사용자가 모바일 오픈마켓에 접속 시 상기 추천 카테고리 상품 정보를 사용자 단말에 전달하는 단계;
    를 포함하는 상품 추천 방법
  8. 제7항에 있어서,
    상기 이용 정보는 비로그인 사용자의 최신 이용 시점 정보로써 저장되는 것을 특징으로 하는 상품 추천 방법
  9. 제7항에 있어서,
    상기 이용 정보는 사용자가 로그인을 한번이라도 하게 되면 쿠키에 보관되는 mid를 포함하는 것을 특징으로 하는 상품 추천 방법
  10. 제7항에 있어서,
    상기 이용 정보는 상품의 분류에 있어 대분류, 중분류 및 소분류 카테고리 중 어느 하나 이상을 포함하는 것을 특징으로 하는 상품 추천 방법
  11. 제7항에 있어서,
    상기 카테고리 관심 점수는 산출되는 과정에서 비로그인 사용자의 최신 이용 정보에 상품 클릭 횟수가 가중치로 적용되는 것을 특징으로 하는 상품 추천 방법
  12. 제7항에 있어서,
    상기 카테고리 점수는 비로그인 사용자로부터 추천 상품의 조회, 찜 하기, 장바구니 담기 및 구매 중 어느 하나가 수행될 경우 다음 추천 작업에서 해당 상품을 제외하지 않는 ALS 알고리즘으로부터 산출되는 것을 특징으로 하는 상품 추천 방법
KR1020160143602A 2016-10-31 2016-10-31 카테고리 추천을 이용한 비로그인 사용자 메인 상품 추천 서버 및 방법 KR102610665B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160143602A KR102610665B1 (ko) 2016-10-31 2016-10-31 카테고리 추천을 이용한 비로그인 사용자 메인 상품 추천 서버 및 방법
PCT/KR2016/015567 WO2018079939A1 (ko) 2016-10-31 2016-12-30 카테고리 추천을 이용한 비로그인 사용자 메인 상품 추천 서버 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160143602A KR102610665B1 (ko) 2016-10-31 2016-10-31 카테고리 추천을 이용한 비로그인 사용자 메인 상품 추천 서버 및 방법

Publications (2)

Publication Number Publication Date
KR20180047489A true KR20180047489A (ko) 2018-05-10
KR102610665B1 KR102610665B1 (ko) 2023-12-06

Family

ID=62025125

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160143602A KR102610665B1 (ko) 2016-10-31 2016-10-31 카테고리 추천을 이용한 비로그인 사용자 메인 상품 추천 서버 및 방법

Country Status (2)

Country Link
KR (1) KR102610665B1 (ko)
WO (1) WO2018079939A1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102008696B1 (ko) 2019-03-27 2019-08-08 주식회사 페이크럭스컴퍼니 거래 이력 데이터의 클러스터링에 기초한 상품 추천 장치 및 방법
WO2020138957A1 (en) * 2018-12-26 2020-07-02 Samsung Electronics Co., Ltd. Method for dynamically recommending catalog and electronic device thereof
KR20200114969A (ko) 2019-08-01 2020-10-07 주식회사 페이크럭스컴퍼니 거래 이력 데이터의 클러스터링에 기초한 상품 추천 장치 및 방법
KR102314730B1 (ko) * 2021-07-27 2021-10-19 (주)비즈포비즈 제품 판매 서비스를 제공하는 서버 및 그 동작 방법
KR20210137802A (ko) * 2020-05-11 2021-11-18 네이버 주식회사 쇼핑 검색을 위한 상품 카테고리 추출 방법
US11586715B1 (en) 2021-07-30 2023-02-21 Coupang Corp. Electronic apparatus for providing information based on existence of a user account and method thereof

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109214886B (zh) * 2018-08-14 2023-09-22 平安科技(深圳)有限公司 商品推荐方法、系统及存储介质
CN110503506B (zh) * 2019-07-05 2022-07-08 平安科技(深圳)有限公司 基于评分数据的物品推荐方法、装置及介质
CN110689383B (zh) * 2019-10-12 2023-08-22 腾讯科技(深圳)有限公司 信息推送方法、装置、服务器及存储介质
CN111461829A (zh) * 2020-03-31 2020-07-28 深圳市优达智胜科技有限公司 一种基于互联网移动电商销售系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150027442A (ko) * 2013-09-03 2015-03-12 에스케이플래닛 주식회사 상품 추천 서비스 시스템 및 그 방법, 그리고 이에 적용되는 장치
KR20150066644A (ko) * 2013-12-06 2015-06-17 조은영 개인행동기반 관심 대상 및 선호 분야 분석시스템 및 그 방법
KR20150101340A (ko) 2014-02-26 2015-09-03 에스케이플래닛 주식회사 사용자별 카테고리 선호도 생성 방법, 이를 이용한 상품 추천 방법 및 이를 위한 장치
JP5900154B2 (ja) * 2012-05-23 2016-04-06 富士通株式会社 商品推薦方法及びサーバ装置
KR20160069486A (ko) * 2014-12-08 2016-06-16 주식회사 엘지씨엔에스 개인화 추천 방법, 시스템 및 기록 매체

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5900154B2 (ja) * 2012-05-23 2016-04-06 富士通株式会社 商品推薦方法及びサーバ装置
KR20150027442A (ko) * 2013-09-03 2015-03-12 에스케이플래닛 주식회사 상품 추천 서비스 시스템 및 그 방법, 그리고 이에 적용되는 장치
KR20150066644A (ko) * 2013-12-06 2015-06-17 조은영 개인행동기반 관심 대상 및 선호 분야 분석시스템 및 그 방법
KR20150101340A (ko) 2014-02-26 2015-09-03 에스케이플래닛 주식회사 사용자별 카테고리 선호도 생성 방법, 이를 이용한 상품 추천 방법 및 이를 위한 장치
KR20160069486A (ko) * 2014-12-08 2016-06-16 주식회사 엘지씨엔에스 개인화 추천 방법, 시스템 및 기록 매체

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020138957A1 (en) * 2018-12-26 2020-07-02 Samsung Electronics Co., Ltd. Method for dynamically recommending catalog and electronic device thereof
US11605113B2 (en) 2018-12-26 2023-03-14 Samsung Electronics Co., Ltd. Method for dynamically recommending catalog and electronic device thereof
KR102008696B1 (ko) 2019-03-27 2019-08-08 주식회사 페이크럭스컴퍼니 거래 이력 데이터의 클러스터링에 기초한 상품 추천 장치 및 방법
KR20200114969A (ko) 2019-08-01 2020-10-07 주식회사 페이크럭스컴퍼니 거래 이력 데이터의 클러스터링에 기초한 상품 추천 장치 및 방법
KR20210137802A (ko) * 2020-05-11 2021-11-18 네이버 주식회사 쇼핑 검색을 위한 상품 카테고리 추출 방법
KR102314730B1 (ko) * 2021-07-27 2021-10-19 (주)비즈포비즈 제품 판매 서비스를 제공하는 서버 및 그 동작 방법
US11586715B1 (en) 2021-07-30 2023-02-21 Coupang Corp. Electronic apparatus for providing information based on existence of a user account and method thereof

Also Published As

Publication number Publication date
KR102610665B1 (ko) 2023-12-06
WO2018079939A1 (ko) 2018-05-03

Similar Documents

Publication Publication Date Title
KR20180047489A (ko) 카테고리 추천을 이용한 비로그인 사용자 메인 상품 추천 서버 및 방법
US11140233B2 (en) System and method for separating content site visitor profiles
US10817531B2 (en) Targeted multi-dimension data extraction for real-time analysis
US10904117B1 (en) Insights for web service providers
US10757202B2 (en) Systems and methods for contextual recommendations
US10719562B2 (en) Distributed and fast data storage layer for large scale web data services
Eirinaki et al. Web mining for web personalization
US10373177B2 (en) Dynamic prediction of online shopper's intent using a combination of prediction models
US8688534B2 (en) System and method for gathering ecommerce data
US8352318B2 (en) Exclusivity in internet marketing campaigns system and method
US20080270398A1 (en) Product affinity engine and method
JP2016536725A (ja) ユーザ行動の特徴を抽出して推奨を個人化する方法及びシステム
US20150363873A1 (en) Method and system for monitoring and recommending relevant products
US20120310731A1 (en) Method and system for displaying related product information
AU2002353379A1 (en) Method and system for characterization of online behavior
JP2005522784A (ja) オンライン購入システム用コンテンツ集約方法及び装置
KR101647364B1 (ko) 사용자 특성정보 및 상호작용 기반의 컨텐츠 추천 시스템,방법 및 그 기록매체
US20240022642A1 (en) System and method for separating content site visitor profiles
KR20160070282A (ko) 쇼핑몰 사이트 제공 시스템, 쇼핑몰 사이트 제공 방법, 그 프로그램 및 이를 기록한 기록매체
Lian The construction of personalized Web page recommendation system in e-commerce
KR20180047467A (ko) 사용자 프로필 제공 시스템 및 방법
Sathiyamoorthi et al. Data preparation techniques for web usage mining in world wide web-an approach
JP6664580B2 (ja) 算出装置、算出方法および算出プログラム
KR101907545B1 (ko) 실시간 컨텍스트를 이용한 방문자 타겟팅 방법 및 이를 이용한 상품 또는 콘텐츠 추천 방법
JP2017134682A (ja) 情報処理システム、及び情報処理方法

Legal Events

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