KR102610665B1 - Main product recommendation server and method for the user without login using category recommendation - Google Patents

Main product recommendation server and method for the user without login using category recommendation Download PDF

Info

Publication number
KR102610665B1
KR102610665B1 KR1020160143602A KR20160143602A KR102610665B1 KR 102610665 B1 KR102610665 B1 KR 102610665B1 KR 1020160143602 A KR1020160143602 A KR 1020160143602A KR 20160143602 A KR20160143602 A KR 20160143602A KR 102610665 B1 KR102610665 B1 KR 102610665B1
Authority
KR
South Korea
Prior art keywords
category
product
information
user
logged
Prior art date
Application number
KR1020160143602A
Other languages
Korean (ko)
Other versions
KR20180047489A (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 KR1020160143602A priority Critical patent/KR102610665B1/en
Priority to PCT/KR2016/015567 priority patent/WO2018079939A1/en
Publication of KR20180047489A publication Critical patent/KR20180047489A/en
Application granted granted Critical
Publication of KR102610665B1 publication Critical patent/KR102610665B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • 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 알고리즘에 입력하여 카테고리 점수 정보를 산출한 후 산출된 카테고리 점수 정보와 모바일 오픈마켓 메인 상품의 카테고리 정보를 결합하여 개인화된 추천 카테고리 상품 정보를 생성하는 제어부를 포함하는 것을 특징으로 한다. 본 발명에 따르면, 사용자별 이용 정보를 기반으로 추천 카테고리 상품 정보를 생성하므로, 추천 카테고리 상품 정보를 사용자 단말에 전달함으로써 개인화된 메인 상품을 추천할 수 있는 효과가 있다.The non-logged-in user product recommendation server of the present invention receives usage information from the user terminal when a non-logged-in user accesses the mobile open market and performs one or more of product inquiry, wish list, shopping cart, and purchase, and generates recommendations. A transmitter and receiver that transmits category product information to the user terminal, saves the latest usage information in the form of time information, calculates a category interest score based on this, and inputs the calculated category interest score into the ALS algorithm to calculate category score information. It is characterized by including a control unit that generates personalized recommended category product information by combining the calculated category score information and category information of the mobile open market main product. According to the present invention, since recommended category product information is generated based on usage information for each user, there is an effect of recommending a personalized main product by transmitting the recommended category product information to the user terminal.

Description

카테고리 추천을 이용한 비로그인 사용자 메인 상품 추천 서버 및 방법{MAIN PRODUCT RECOMMENDATION SERVER AND METHOD FOR THE USER WITHOUT LOGIN USING CATEGORY RECOMMENDATION}Non-logged user main product recommendation server and method using category recommendation {MAIN PRODUCT RECOMMENDATION SERVER AND METHOD FOR THE USER WITHOUT LOGIN USING CATEGORY RECOMMENDATION}

본 발명은 모바일 오픈마켓 상품 추천 기술에 관한 것으로서, 보다 구체적으로 모바일 오픈마켓에서의 상품 조회, 찜 하기, 장바구니 담기 및 구매와 같은 비로그인 사용자의 최신 이용 정보를 이용하여 최신성을 반영하고, ALS(Alternating Least Square) 알고리즘을 이용해 최신 이용 정보 기반의 추천 카테고리 상품 정보를 생성하며, 모바일 오픈마켓 화면 접속 시 비로그인 사용자 선호도에 따라 추천 카테고리 메인 상품 정보를 상단에 노출시킬 수 있는 비로그인 사용자 메인 상품 추천 서버 및 방법에 관한 것이다.The present invention relates to a mobile open market product recommendation technology. More specifically, the present invention relates to a mobile open market product recommendation technology, and more specifically, uses the latest usage information of non-logged-in users such as product inquiry, wish list, shopping cart addition, and purchase in the mobile open market to reflect recency, and ALS (Alternating Least Square) algorithm is used to generate recommended category product information based on the latest usage information, and when accessing the mobile open market screen, recommended category main product information can be displayed at the top according to non-logged user preferences. It relates to recommended servers and methods.

최근 모바일을 통한 오픈마켓을 통해 전자상거래들이 즐비하게 일어나고 있는바, 상품을 판매하는 개인이나 소규모 업체는 중간 유통마진 없이 상품을 저렴하게 판매하는 효과를 얻을 수 있으며, 소비자는 온라인 상에서 원하는 상품을 편리하고 저렴하게 구매하는 장점이 있으므로 일석이조의 효과를 유발할 수 있기 때문이다. 그러나 모바일 오픈마켓을 통해 거래함에 있어서 문제점을 가지고 있다.Recently, a lot of e-commerce is taking place through open markets through mobile devices. Individuals or small businesses selling products can benefit from selling products at low prices without intermediate distribution margins, and consumers can conveniently purchase the products they want online. This is because it has the advantage of being purchased at a low price, so it can kill two birds with one stone. However, there are problems with trading through mobile open markets.

우선 모바일 오픈마켓을 통한 거래의 문제점을 살펴보기로 한다. 대부분의 오픈마켓은 모바일 화면 접속 시 로그인 사용자의 선호도에 따른 추천 상품을 사용자 단말 화면에 노출시켜 구매 욕구를 자극하고 있다. 이 경우 사용자가 로그인을 해야만 그 사용자에 대한 정보를 분석하여 관심 카테고리 상품을 추천할 수 있다. 그러나 이와 같이 로그인 사용자만을 대상으로 하여 추천 상품을 제공하게 되면 비로그인 사용자에 대해서는 관심 카테고리가 무엇인지 분석할 수 없고, 상품을 추천할 수 없어 잠재적인 매출 증가를 기대할 수 없다. 추가적으로 비로그인 사용자가 모바일 오픈마켓 화면 접속 시 오픈마켓은 여러 가지 방법을 통해 상품을 추천하고 있는데, 사용자의 최신 이용 정보가 아닌 일정기간 동안의 이용 정보를 기반으로 정보를 분석하게 되면 과거의 관심도까지 반영하게 되어 사용자의 최신 관심도를 정확히 반영할 수 없게 된다. 그에 따라 비로그인 사용자는 관심이 없는 상품을 추천 받게 되어 추천 상품의 구매로 이어지지 않는 문제점이 있다.First, let's look at the problems of transactions through mobile open markets. Most open markets stimulate the desire to purchase by displaying recommended products according to the logged in user's preferences on the user's terminal screen when accessing the mobile screen. In this case, the user must log in to analyze information about the user and recommend products in the category of interest. However, if recommended products are provided to only logged-in users like this, it is not possible to analyze the categories of interest for non-logged-in users and products cannot be recommended, so a potential increase in sales cannot be expected. Additionally, when a non-logged-in user accesses the mobile open market screen, the open market recommends products through various methods. When information is analyzed based on usage information over a certain period of time rather than the user's most recent usage information, past interest levels are also included. As a result, the user's latest interest level cannot be accurately reflected. As a result, non-logged-in users receive recommendations for products they are not interested in, which creates a problem in that they do not lead to the purchase of the recommended products.

이러한 비로그인 사용자에 대한 상품 추천 문제점을 해결하기 위해 제안된 것이 협업 필터링(Collaborative Filtering)을 이용한 비로그인 사용자 상품 추천이다. 이 역시 또 다른 문제점을 가지고 있다. 최근의 오픈마켓은 협업 필터링 중 User Based Recommend 또는 Item Based Recommend를 사용하여 사용자에게 추천 상품 정보를 제공하고, 이때 사용자가 추천된 상품의 조회, 찜 하기, 장바구니 담기 및 구매 중 어느 하나를 수행하게 되면 다음 추천 작업에서 해당 상품은 제외되어 사용자가 관심을 가지고 있지 않은 상품에 대한 추천이 이루어질 수 있는 문제점이 있다.To solve this problem of product recommendation for non-logged-in users, product recommendation for non-logged-in users using collaborative filtering has been proposed. This also has another problem. Recent open markets use User Based Recommend or Item Based Recommend during collaborative filtering to provide recommended product information to users. At this time, when the user performs any one of viewing, wishing, adding to shopping cart, and purchasing the recommended product, There is a problem in that the corresponding product may be excluded from the next recommendation task and recommendations may be made for products that the user is not interested in.

이렇게 비로그인 사용자를 위한 상품 추천 역시 문제점이 있지만, 사용자는 로그인이라는 불편함 없이 서비스를 이용할 수 있고, 사용자가 관심이 있는 상품을 오픈마켓으로부터 추천 받을 수 있는 장점 때문에 비로그인 사용방식이 지속적으로 사용될 것으로 예상하고 있다. 이 경우, 사용자가 로그인하지 않은 상태에서 수행하는 상품 조회, 찜 하기, 장바구니 담기 및 구매와 같은 이용 정보를 분석해 카테고리별 관심 점수를 산출하는 기능, 사용자가 추천된 상품의 조회, 찜 하기, 장바구니 담기 및 구매 중 어느 하나를 수행할 경우 다음 추천 작업에서 해당 상품을 제외하지 않는 ALS 알고리즘을 이용하여 산출된 카테고리 점수 기반의 추천 카테고리 상품 정보를 생성하는 기능, 추천 카테고리 상품 정보에 근거하여 개인화된 메인 상품을 추천하는 기능이 요구된다.Product recommendation for non-logged users also has its problems, but the non-logged method will continue to be used due to the advantages of users being able to use the service without the inconvenience of logging in and receiving recommendations for products they are interested in from the open market. It is expected that In this case, a function that calculates interest scores for each category by analyzing usage information such as product inquiry, wish list, shopping cart addition, and purchase performed while the user is not logged in, and the user can view recommended products, wish list, and shopping cart addition. A function to generate recommended category product information based on the category score calculated using the ALS algorithm that does not exclude the product from the next recommendation task when one of the following is performed, and a personalized main product based on the recommended category product information A function to recommend is required.

대한민국 공개특허공보 제10-2015-0101340호(2015.09.03)Republic of Korea Patent Publication No. 10-2015-0101340 (2015.09.03)

본 발명은 비로그인 사용자가 사용자 단말을 통해 모바일 오픈마켓에서 최근에 수행했던 상품 조회, 찜 하기, 장바구니 담기 및 구매와 같은 이용 정보를 기반으로 카테고리 관심 점수를 산출하고, 카테고리 관심 점수 기반의 카테고리 점수를 산출한 후 카테고리 점수 기반의 추천 카테고리 상품 정보를 생성하고, 생성된 정보를 사용자 단말에 전달하여 비로그인 사용자에게 추천 카테고리의 메인 상품을 추천하는 상품 추천 서버 및 방법을 제공하는 것을 목적으로 한다.The present invention calculates a category interest score based on usage information such as product inquiry, wishlisting, adding to shopping cart, and purchase that a non-logged-in user has recently performed in a mobile open market through a user terminal, and calculates a category score based on the category interest score. The purpose is to provide a product recommendation server and method that generates recommended category product information based on category scores after calculating and transmits the generated information to the user terminal to recommend the main product of the recommended category to non-logged-in users.

또한, 상기 카테고리 관심 점수를 산출할 때 비로그인 사용자의 최신 이용 정보에 상품 클릭 횟수를 가중치로 적용하여 추천 상품 순위에 반영하는 상품 추천 서버 및 방법을 제공하는 것을 목적으로 한다.In addition, the purpose is to provide a product recommendation server and method that applies the number of product clicks as a weight to the latest usage information of non-logged-in users when calculating the category interest score and reflects it in the recommended product ranking.

또한, 비로그인 사용자가 추천된 상품의 조회, 찜 하기, 장바구니 담기 및 구매 중 어느 하나를 수행할 경우 다음 추천 작업에서 해당 상품을 제외하지 않는 ALS 알고리즘을 이용해 산출된 관심 점수 기반의 추천 카테고리 상품 정보를 생성하는 상품 추천 서버 및 방법을 제공하는 것을 목적으로 한다.In addition, when a non-logged-in user performs any of the following: viewing, adding to a wish list, adding to cart, or purchasing a recommended product, recommended category product information based on interest score calculated using the ALS algorithm that does not exclude the product from the next recommendation task The purpose is to provide a product recommendation server and method for generating.

또한, 추천 카테고리 상품 정보에 근거하여 개인화된 메인 상품을 추천하는 상품 추천 서버 및 방법을 제공하는 것을 목적으로 한다.Additionally, the purpose is to provide a product recommendation server and method that recommends personalized main products based on recommended category product information.

한편, 본 발명이 이루고자 하는 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며, 이하에서 설명할 내용으로부터 통상의 기술자에게 자명한 범위 내에서 다양한 기술적 과제가 도출될 수 있다.Meanwhile, the technical problem to be achieved by the present invention is not limited to the technical problems mentioned above, and various technical problems can be derived from the contents described below within the range obvious to those skilled in the art.

상기한 목적을 달성하기 위한 본 발명에 따른 상품 추천 서버는, 비로그인 사용자의 이용 정보를 사용자 단말로부터 입력 받고, 상기 추천 카테고리 상품 정보를 사용자 단말에 전달하는 송수신부, 상기 이용 정보를 기반으로 최신성이 반영된 카테고리 관심 점수를 산출하고, 상기 카테고리 관심 점수를 이용하여 카테고리 점수를 산출한 후 상기 카테고리 점수 정보와 모바일 오픈마켓 메인 상품의 카테고리 정보를 결합하여 상기 추천 카테고리 상품 정보를 생성하는 제어부, 상기 이용 정보와 관련된 이용 관련 정보, 상기 카테고리 관심 점수, 상기 카테고리 점수, 모바일 오픈마켓 메인 상품과 관련된 카테고리 정보 및 상기 추천 카테고리 상품 정보가 저장된 저장부를 포함하는 것을 특징으로 한다.The product recommendation server according to the present invention for achieving the above purpose includes a transmitter and receiver that receives usage information of non-logged-in users from a user terminal and transmits the recommended category product information to the user terminal, and provides the latest information based on the usage information. A control unit that calculates a category interest score reflecting the last name, calculates a category score using the category interest score, and then combines the category score information with the category information of the mobile open market main product to generate the recommended category product information, It is characterized by comprising a storage unit storing usage-related information related to usage information, the category interest score, the category score, category information related to the mobile open market main product, and the recommended category product information.

또한, 상기 이용 정보는 비로그인 사용자의 최신 이용 시점 정보로써 저장될 수 있다.Additionally, the usage information may be stored as the latest usage point information for non-logged-in users.

또한, 상기 이용 정보는 사용자가 로그인을 한번이라도 하게 되면 쿠키(Cookie)에 보관되는 mid(Member id)를 포함할 수 있다.Additionally, the usage information may include mid (Member id) stored in a cookie when the user logs in at least once.

또한, 상기 이용 정보는 상품의 분류에 있어 대분류, 중분류, 소분류 카테고리 중 어느 하나 이상을 포함할 수 있다.Additionally, the usage information may include one or more of the major, medium, and small categories in product classification.

또한, 상기 카테고리 관심 점수는 산출되는 과정에서 비로그인 사용자의 최신 이용 정보에 상품 클릭 횟수가 가중치로 적용될 수 있다.Additionally, in the process of calculating the category interest score, the number of product clicks may be applied as a weight to the latest usage information of non-logged-in users.

또한, 상기 카테고리 점수는 비로그인 사용자로부터 추천 상품의 조회, 찜 하기, 장바구니 담기 및 구매 중 어느 하나가 수행될 경우 다음 추천 작업에서 해당 상품을 제외하지 않는 ALS 알고리즘으로부터 산출될 수 있다.Additionally, the category score can be calculated from an ALS algorithm that does not exclude the product from the next recommendation task when any of the recommended products are viewed, added to a wish list, added to a shopping cart, or purchased by a non-logged-in user.

한편, 본 발명의 또 다른 실시 예에 따른 상품 추천 방법은 (a) 사용자 단말로부터 이용 정보를 입력 받는 단계, (b) 상기 이용 정보를 저장하는 단계, (c) 상기 이용 정보를 기반으로 최신성을 반영한 카테고리 관심 점수를 산출하는 단계, (d) 상기 카테고리 관심 점수를 이용하여 카테고리 점수를 산출하는 단계, (e) 상기 카테고리 점수 정보와 모바일 오픈마켓 메인 상품의 카테고리 정보를 결합하여 추천 카테고리 상품 정보를 생성하는 단계, (f) 비로그인 사용자가 모바일 오픈마켓에 접속 시 상기 추천 카테고리 상품 정보를 사용자 단말에 전달하는 단계를 포함하는 상품 추천 방법을 제공할 수 있다.Meanwhile, a product recommendation method according to another embodiment of the present invention includes (a) receiving usage information from a user terminal, (b) storing the usage information, and (c) updating the latest information based on the usage information. Calculating a category interest score reflecting the (d) calculating a category score using the category interest score, (e) combining the category score information with the category information of the mobile open market main product to provide recommended category product information It is possible to provide a product recommendation method including the step of generating, and (f) transmitting the recommended category product information to the user terminal when a non-logged-in user accesses the mobile open market.

본 발명에 따르면, 비로그인 사용자가 사용자 단말을 통해 모바일 오픈마켓에 접속하는 경우 상품 추천 서버가 사용자의 상품 조회, 찜 하기, 장바구니 담기 및 구매와 같은 이용 정보를 저장하여 이를 기반으로 카테고리별 관심 점수를 산출하고, 상기 카테고리 관심 점수를 이용하여 카테고리 점수를 산출한 후 카테고리 점수 및 모바일 오픈마켓 메인 상품의 카테고리 정보를 결합하여 생성된 추천 카테고리 상품 정보를 사용자 단말에 전달함으로써 개인화된 메인 상품을 추천할 수 있다는 효과가 있다.According to the present invention, when a non-logged-in user accesses the mobile open market through a user terminal, the product recommendation server stores usage information such as the user's product inquiry, wish list, addition to shopping cart, and purchase, and creates an interest score for each category based on this. After calculating the category score using the category interest score, the recommended category product information generated by combining the category score and the category information of the mobile open market main product is transmitted to the user terminal to recommend a personalized main product. There is an effect that it can be done.

또한, 비로그인 사용자의 최신 이용 정보를 기반으로 하여 카테고리 관심 점수를 산출하므로 최신성을 반영할 수 있고, 이때 카테고리 관심 점수 산출 시 상품 클릭 횟수를 가중치로 적용하여 추천 상품 순위에 반영할 수 있다. 비로그인 사용자가 추천된 상품의 조회, 찜 하기, 장바구니 담기 및 구매 중 어느 하나를 수행하는 경우 다음 추천 작업에서 해당 상품을 제외하지 않게 되어 비로그인 사용자의 관심 상품 정보를 지속적으로 추천할 수 있는 ALS 알고리즘을 이용하여 비로그인 사용자가 관심을 가지고 있는 추천 카테고리 상품 정보를 생성, 제공할 수 있는 효과가 있다.In addition, since the category interest score is calculated based on the latest usage information of non-logged-in users, recency can be reflected. At this time, when calculating the category interest score, the number of product clicks can be applied as a weight and reflected in the recommended product ranking. When a non-logged-in user performs any of the following: viewing, adding to a wishlist, adding to cart, or purchasing a recommended product, ALS does not exclude that product from the next recommendation task and can continuously recommend product information of interest to the non-logged-in user. Using an algorithm, it is effective in generating and providing recommended category product information that non-logged-in users are interested in.

본 발명의 효과는 이상에서 언급한 효과들로 제한되지 않으며, 이하에서 설명할 내용으로부터 통상의 기술자에게 자명한 범위 내에서 다양한 효과들이 포함될 수 있다.The effects of the present invention are not limited to the effects mentioned above, and various effects may be included within the scope apparent to those skilled in the art from the contents described below.

도 1은 본 발명의 일 실시 예에 따른 상품 추천 서버의 전체 구성을 나타내는 도면이다.
도 2는 카테고리 분류에 따른 상품 정보가 사용자 단말에 출력되는 모습을 나타내는 도면이다.
도 3은 관심 카테고리 및 상품을 선택했을 경우 확인할 수 있는 해당 상품의 상세한 정보가 사용자 단말에 출력되는 모습을 나타내는 도면이다.
도 4는 본 발명에 따른 송수신부, 제어부 및 저장부 사이의 흐름도를 나타내는 도면이다.
도 5는 본 발명에 따른 사용자 단말과 상품 추천 서버 사이의 흐름도를 나타내는 도면이다.
도 6은 본 발명에 따른 사용자 단말과 상품 추천 서버 사이의 연결 구조를 나타내는 도면이다.
도 7은 송수신부로부터 추천 카테고리 상품 정보가 사용자 단말에 전달된 결과를 나타내는 도면이다.
1 is a diagram showing the overall configuration of a product recommendation server according to an embodiment of the present invention.
Figure 2 is a diagram showing how product information according to category classification is output to a user terminal.
Figure 3 is a diagram showing how detailed information about the product that can be confirmed when a category and product of interest is selected is output to the user terminal.
Figure 4 is a diagram showing a flow chart between the transmitting and receiving unit, the control unit, and the storage unit according to the present invention.
Figure 5 is a diagram showing a flow chart between a user terminal and a product recommendation server according to the present invention.
Figure 6 is a diagram showing the connection structure between a user terminal and a product recommendation server according to the present invention.
Figure 7 is a diagram showing the result of transmission of recommended category product information from the transmitter and receiver to the user terminal.

이하, 본 발명의 일부 실시 예들을 예시적인 도면을 통해 상세하게 설명한다. 설명하는 실시 예들은 본 발명의 기술 사상을 당업자가 용이하게 이해할 수 있도록 제공되는 것으로 이에 의해 본 발명이 한정되지 않으며, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, some embodiments of the present invention will be described in detail through illustrative drawings. The described embodiments are provided so that those skilled in the art can easily understand the technical idea of the present invention, and the present invention is not limited thereto, and it is judged that detailed description of related known configurations or functions may obscure the gist of the present invention. In this case, the detailed description is omitted.

또한, 첨부된 도면에 표현된 사항들은 본 발명의 실시 예들을 쉽게 설명하기 위해 도식화된 도면으로 실제로 구현되는 형태와 상이할 수 있으며, 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다.In addition, the matters expressed in the attached drawings may be different from the form actually implemented in the schematic drawings to easily explain the embodiments of the present invention, and in adding reference numerals to the components in each drawing, the same configuration It should be noted that elements, even if shown in different drawings, are given the same symbols as much as possible.

또한, 어떤 구성요소들을 '포함'한다는 표현은, '개방형의 표현'으로서 해당 구성요소들이 존재하는 것을 단순히 지칭하는 표현이며, 추가적인 구성요소들을 배제하는 것으로 이해되어서는 안 될 것이다.Additionally, the expression 'including' certain components is an 'open expression' that simply refers to the existence of the components, and should not be understood as excluding additional components.

도 1은 본 발명의 일 실시 예에 따른 상품 추천 서버(100)의 전체 구성을 나타내는 도면이다.Figure 1 is a diagram showing the overall configuration of the product recommendation server 100 according to an embodiment of the present invention.

도 1을 참조하면, 상품 추천 서버(100)는 송수신부(110), 제어부(120) 및 저장부(130)를 포함하며, 기타 장치를 구성함에 있어서 필요한 다른 부가적인 구성들 역시 포함될 수 있음은 물론이다.Referring to FIG. 1, the product recommendation server 100 includes a transceiver 110, a control unit 120, and a storage unit 130, and other additional components necessary for configuring the device may also be included. Of course.

한편, 상품 추천 서버(100)관련하여 서버에 대해 먼저 설명할 필요성이 있다. 서버 프로그램이 실행되고 있는 컴퓨터 하드웨어를 서버 라고 부르며 다른 프로그램에게 서비스를 제공하는 컴퓨터 프로그램을 서버 라고 말하기도 한다. 서버 는 프린터 제어나 파일 관리 등 네트워크 전체를 감시, 제어하거나, 메인 프레임이나 공중망을 통한 다른 네트워크와의 연결, 데이터, 프로그램, 파일 같은 소프트웨어 자원이나 모뎀, 팩스, 프린터 공유, 기타 장비 등 하드웨어 자원을 공유할 수 있도록 도와주는 역할을 한다.Meanwhile, with regard to the product recommendation server 100, there is a need to first explain the server. The computer hardware on which a server program is running is called a server, and a computer program that provides services to other programs is also called a server. The server monitors and controls the entire network, such as printer control or file management, or connects to other networks through mainframes or public networks, and manages software resources such as data, programs, and files, or hardware resources such as modems, faxes, shared printers, and other equipment. It plays a role in helping to share.

또한, 서버는 사용자(클라이언트)의 요청에 의하여 서비스를 하는데 이와 같이 구성된 시스템을 클라이언트/서버 시스템이라고 하며, 이는 하나 이상의 응용 프로그램을 상호 협력적인 환경에서 운용하는 분산처리 형태를 의미한다. 즉, 서비스를 요청하는 클라이언트와 클라이언트의 요청을 처리하는 서버와의 협동작업을 통해서 사용자가 원하는 바람직한 결과를 얻는 처리방식이 클라이언트/서버 시스템이다. 클라이언트의 수가 5 내지 20대 정도인 소규모 LAN의 경우에는 한 대의 장치로 충분히 모든 서비스를 소화할 수 있으나, 대규모 LAN의 경우에는 여러 대의 장치를 배치하고, 파일 관리는 파일 서버, 프린터 제어는 프린터 서버, 인터넷 등의 외부와의 교환은 커뮤니케이션 서버가 담당하는 등 각각 역할을 세분하게 된다. 온라인에서의 서버는 특수한 형태로 자신의 하드디스크에 담겨있는 정보들을 외부에 공개해주는 컴퓨터를 이른다. 일반적으로 온라인에서는 여러 정보들을 서버에서 관리하고, 일반 사용자들은 자신들의 컴퓨터(클라이언트)를 이용하여 서버에 접속하고 서버에서 제공하는 정보를 이용하게 된다. 따라서 상품 추천 서버(100)는 상품 추천의 기능 또는 상품 정보만을 구비하는 독립적인 서버로 구성할 수 있으며, 다른 장치의 일 구성으로서 상품 추천의 기능 또는 상품 정보를 구비하는 형태로 구현할 수 도 있다. 이하 상품 추천 서버(100)가 포함하는 구성들에 대하여 설명하도록 한다.In addition, the server provides services at the request of the user (client), and a system configured in this way is called a client/server system, which refers to a form of distributed processing in which one or more application programs are operated in a cooperative environment. In other words, the client/server system is a processing method that obtains the desired results desired by the user through cooperation between the client requesting the service and the server processing the client's request. In the case of a small LAN with about 5 to 20 clients, one device can sufficiently handle all services, but in the case of a large LAN, multiple devices are deployed, and file management is performed by a file server and printer control is performed by a printer server. Each role is subdivided, with the communication server taking charge of external exchanges such as the Internet. An online server is a computer that discloses information contained in its hard disk to the outside world in a special form. Generally, online, various information is managed on a server, and general users use their computers (clients) to access the server and use the information provided by the server. Accordingly, the product recommendation server 100 can be configured as an independent server that only has a product recommendation function or product information, or it can also be implemented as a component of another device with a product recommendation function or product information. Hereinafter, the components included in the product recommendation server 100 will be described.

송수신부(110)는 비로그인 사용자가 사용자 단말(200)을 통해 모바일 오픈마켓에 접속한 후 상품 조회, 찜 하기, 장바구니 담기 및 구매 중 어느 하나 이상을 수행할 경우 사용자 단말(200)로부터 이용 정보를 수신하고, 비로그인 사용자 이용 정보를 기반으로 생성된 추천 카테고리 상품 정보를 사용자 단말(200)에 전달한다. 사용자 단말(200)은 스마트폰(Smart Phone), 태블릿 컴퓨터(Tablet PC) 및 정보통신 기기 등을 포함하며, 사용자 단말(200)이 스마트폰이라면 비로그인 사용자는 사용자 단말(200)에 다운로드되어 설치된 애플리케이션을 통해 정보를 입력하거나 출력된 상품 정보를 확인할 수 있다.The transceiver unit 110 receives usage information from the user terminal 200 when a non-logged-in user accesses the mobile open market through the user terminal 200 and performs any one or more of product inquiry, wishlisting, addition to shopping cart, and purchase. Receives and delivers recommended category product information generated based on non-logged-in user usage information to the user terminal 200. The user terminal 200 includes a smart phone, a tablet computer, and information and communication devices. If the user terminal 200 is a smartphone, a non-logged-in user may download and install the device on the user terminal 200. You can enter information or check printed product information through the application.

제어부(120)는 저장부(130)에 저장된 비로그인 사용자 이용 정보를 기반으로 카테고리 관심 점수를 산출한다. 여기서, 산출되는 카테고리 관심 점수는 각각의 대분류 카테고리, 중분류 카테고리, 소분류 카테고리에 따른 상품 조회 시점, 찜 하기 시점, 장바구니 담기 시점 및 구매 시점에 대한 비로그인 사용자 이용 시점 정보에 상품 클릭 횟수가 가중치로 적용되어 산출된다. 이때, 찜 하기 시점과 상품 조회 시점보다 장바구니 담기 시점에 더 큰 가중치를 적용하여 관심 점수를 산출하게 되고, 추가적으로 상품 클릭 횟수를 가중치로 적용하게 되는데 이러한 이유는 최근에 상품을 찜한 경우 또는 조회한 경우보다 최근에 상품을 장바구니에 담았을 경우에 구매확률이 더욱 높고, 상품의 구매 시점이 가까워 질수록 해당 상품에 대한 클릭 횟수가 증가하기 때문이다.The control unit 120 calculates a category interest score based on non-logged-in user usage information stored in the storage unit 130. Here, the calculated category interest score applies the number of product clicks as a weight to the information on the time of use by non-logged-in users for the time of product view, time of wishing, time of adding to shopping cart, and time of purchase for each major, medium, and small category. is calculated. At this time, the interest score is calculated by applying a greater weight to the time of adding to the shopping cart than to the time of wishing and viewing the product, and additionally applying the number of product clicks as a weight. This is because the number of product clicks is applied as a weighting factor. This is because the probability of purchasing a product is higher if the product has been added to the shopping cart more recently, and the number of clicks on the product increases as the time of purchase approaches.

이후, 제어부(120)는 상기 카테고리 관심 점수를 협업 필터링 종류인 User Based Recommend, Item Based Recommend및 ALS 알고리즘 중 ALS 알고리즘의 입력 값으로 전달하여 정보를 분석한다. ALS 알고리즘의 입력 값으로는 사용자 식별자인 mid, 카테고리 id 및 상기 카테고리 관심 점수가 전달되는데 이때, 카테고리 id는 각각의 대분류 카테고리, 중분류 카테고리 및 소분류 카테고리를 구별할 수 있도록 지정한 고유한 값이다. 예를 들어, 대분류 카테고리인 신발, 신발의 하위 카테고리로서 중분류 카테고리인 운동화 및 운동화의 하위 카테고리로서 소분류 카테고리인 런닝화에 대하여 카테고리 id 의 고유한 값으로서 1로 지정할 수 있고, 대분류 카테고리인 생활가전, 생활가전의 하위 카테고리로서 중분류 카테고리인 전화기 및 전화기의 하위 카테고리로서 소분류 카테고리인 유선전화기에 대하여 카테고리 id의 고유한 값으로서 20으로 지정할 수 있다. 또한 대분류 카테고리인 신선식품, 신선식품의 하위 카테고리로서 중분류 카테고리인 국내산과일 및 국내산과일의 하위 카테고리로서 소분류 카테고리인 감귤에 대하여 카테고리 id의 고유한 값으로서 44로 지정할 수 있다. 이밖에 상기와 같은 방식으로 각각의 카테고리 분류에 따른 다른 여러 상품에도 카테고리 id를 고유한 값으로서 지정할 수 있으며, 카테고리 id의 예는, 아래의 표1과 같다.Thereafter, the control unit 120 analyzes the information by transmitting the category interest score as an input value of the ALS algorithm among the collaborative filtering types of User Based Recommend, Item Based Recommend, and ALS algorithms. The input values of the ALS algorithm are the user identifier mid, category id, and the category interest score. At this time, the category id is a unique value designated to distinguish each major category, medium category, and small category. For example, for shoes, which are major categories, sneakers as a subcategory of shoes, and running shoes, which are subcategories as a subcategory of sneakers, which are middle category categories, can be specified as 1 as a unique value of the category id, and for home appliances, which are major categories, lifestyle. For telephones, which are a mid-category category as a subcategory of home appliances, and landline phones, which are a small category as a subcategory of telephones, 20 can be specified as a unique value of the category id. In addition, 44 can be specified as a unique value of the category id for fresh food, which is a major category, and domestic fruits, which are a subcategory of fresh foods, and citrus, which is a small category as a subcategory of domestic fruits, which is a medium category. In addition, the category ID can be assigned as a unique value to several other products according to each category classification in the same manner as above, and an example of the category ID is shown in Table 1 below.

카테고리 idcategory id 대분류
카테고리 id
Main Category
category id
중분류
카테고리 id
Middle classification
category id
소분류
카테고리 id
Subcategory
category id
1One 1One 3434 2222 2020 22 3232 2424 4444 33 3131 2525 5555 1One 5555 2626 6060 77 3535 111111

부가적으로 ALS 알고리즘의 입력 값으로 Lambda, Feature Number 및 Iterations를 지정할 수 있고, Lambda, Feature Number 및 Iterations값은 튜닝에 사용되는 값이므로 사용 목적에 맞게 변경되어 사용될 수 있다.Additionally, Lambda, Feature Number, and Iterations can be specified as input values for the ALS algorithm. Lambda, Feature Number, and Iterations are values used for tuning, so they can be changed and used to suit the purpose of use.

한편, User Based Recommend 또는 Item Based Recommend를 사용하지 않는 이유는 상품 추천 서버(100)가 비로그인 사용자에게 메인 상품을 추천하고, 비로그인 사용자가 추천된 상품의 조회, 찜 하기, 장바구니 담기 및 구매 중 어느 하나를 수행할 경우 다음 추천 작업에서 해당 상품은 제외되어 다음 추천에서는 비로그인 사용자가 관심이 없는 상품을 추천할 수 있기 때문이다.Meanwhile, the reason for not using User Based Recommend or Item Based Recommend is that the product recommendation server 100 recommends the main product to non-logged-in users, and non-logged-in users cannot view, add to wishlist, add to shopping cart, or purchase the recommended product. If either one is performed, the corresponding product is excluded from the next recommendation task, and the next recommendation may recommend products that non-logged-in users are not interested in.

한편, 협업 필터링에 대해 설명할 필요성이 있다. 협업 필터링은 추천 알고리즘의 한 종류로서 사용자와 유사한 선호도를 가지는 사람들로 사용자 추천 그룹을 결정하고 결정한 사용자 추천 그룹의 의견을 반영하여 사용자가 아직 구매하지 않은 상품 선호도를 예측하고 선호도가 높을 것으로 예측되는 상품을 추천해주는 기법이다.Meanwhile, there is a need to explain collaborative filtering. Collaborative filtering is a type of recommendation algorithm that determines a user recommendation group of people with similar preferences to the user and reflects the opinions of the determined user recommendation group to predict the preference of products that the user has not yet purchased and products that are predicted to have high preference. This is a recommended technique.

종래 협업 필터링에 기반한 추천 기법은 사람들의 특정 상품에 대한 선호도를 판단하는 단계와, 판단한 선호도에 기초하여 사용자와 유사한 선호도를 가지는 사용자 추천 그룹을 결정하는 단계와, 결정한 사용자 추천 그룹에서 사용자의 선호도가 높을 것으로 예상되는 상품을 추천하는 단계로 이루어졌다.A recommendation technique based on conventional collaborative filtering includes the steps of determining people's preferences for specific products, determining a user recommendation group with similar preferences to the user based on the determined preferences, and determining the user's preference in the determined user recommendation group. It consisted of recommending products that were expected to have high prices.

먼저 사람들의 선호도를 판단하는 단계를 보다 구체적으로 살펴보면, 종래 협업 필터링 기반 추천 기법에서 입력 데이터는 n개의 상품에 대한 m명의 고객 선호도 집합으로 구성되는데, n?m 크기의 고객-상품 행렬(P)로 표현된다. 특정 상품에 대한 선호도는 대개 고객으로부터 직접 입력 받거나, 구매 데이터로부터 암시적으로 추정하는 방법이 사용된다. 예를 들어, 구매 데이터로부터 선호도를 측정할 경우, 고객-상품 행렬(P)의 i번째 행, j번째 열의 값 pij는 i번째 고객이 j번째 상품을 구매 했으면 1의 값을 가지며 그렇지 않으면 0의 값을 각각 가지게 된다.First, looking at the step of determining people's preferences in more detail, in the conventional collaborative filtering-based recommendation technique, the input data consists of a set of preferences of m customers for n products, which is a customer-product matrix (P) of size n?m. It is expressed as Preferences for specific products are usually entered directly from customers or implicitly estimated from purchase data. For example, when measuring preference from purchase data, the value pij of the ith row and jth column of the customer-product matrix (P) has a value of 1 if the ith customer purchased the jth product, and 0 otherwise. Each has a value.

다음으로 사용자와 유사한 선호도를 가지는 사용자 추천 그룹을 결정하는 단계를 보다 구체적으로 살펴보면, 사용자 추천 그룹을 결정하는 단계는 고객-상품 행렬(P)를 이용하여 사용자와 다른 고객들 사이의 선호도 유사 정도를 계산한다. 즉, 각 고객 u에 대하여 가장 선호도가 유사한 i명의 사용자 추천 그룹을 검색하는 과정이다. 일반적으로 사용자와 다른 고객 사이의 유사 정도를 측정하기 위하여 피어슨 상관계수(Pearson Correlation)를 사용하고 있다.Next, looking more specifically at the step of determining a user recommendation group with similar preferences to the user, the step of determining the user recommendation group is to calculate the degree of preference similarity between the user and other customers using the customer-product matrix (P). do. In other words, it is a process of searching for i user recommendation groups with the most similar preferences for each customer u. In general, Pearson Correlation is used to measure the degree of similarity between users and other customers.

피어슨 상관계수란 두 변수간의 관련성을 구하기 위해 사용되는 상관계수로서 예를 들어, 수축기 혈압과 이완기 혈압 또는 키와 몸무게와 같이 분석하고자 하는 두 변수가 모두 연속형 자료일 때 두 변수간 선형적인 상관 과계의 크기를 모수적인 방법으로 나타낸 값이다.The Pearson correlation coefficient is a correlation coefficient used to determine the relationship between two variables. For example, when both variables to be analyzed, such as systolic blood pressure and diastolic blood pressure, or height and weight, are continuous data, it is a linear correlation between two variables. It is a value that represents the size in a parametric way.

한편, 상품을 추천하는 단계를 보다 구체적으로 살펴보면, 결정한 사용자 추천 그룹을 구성하는 고객들이 구매 또는 선호하는 제품들에 기초하여 사용자가 구매 또는 선호할 것으로 예상되는 N개의 추천 상품을 결정한다. 추천 상품들을 결정하기 위한 기준으로서 일반적으로 빈발 구매 상품 추천(Most-frequent Item Recommendation)이 사용된다. 빈발 구매 상품 추천은 사용자 추천 그룹의 구매 이력 데이터를 분석하여 상품별구매 빈도가 높은 상위 N개의 상품을 추천 상품으로 결정하는 방식이다.Meanwhile, looking at the product recommendation step in more detail, N recommended products that the user is expected to purchase or prefer are determined based on products purchased or preferred by customers constituting the determined user recommendation group. Most-frequent item recommendation is generally used as a standard for determining recommended products. Frequently purchased product recommendation is a method of analyzing the purchase history data of the user recommendation group and determining the top N products with high purchase frequency as recommended products.

협업 필터링의 ALS 알고리즘을 수행하면 출력 값으로 Feature 및 Rating이 산출되는데, 출력된 Feature와 Rating값을 이용하여 최종적으로 Matrix Factorization을 수행한다. 이때, 최대 Rating값을 1로 지정하여 0에서 1사이의 Rating이 나오도록 하고, Matrix Factorization 연산을 이용하면 추천 카테고리 결과가 많이 나오기 때문에 Rating값을 고려하여 상위 100개까지만 필터링을 수행한다.When the ALS algorithm of collaborative filtering is performed, Feature and Rating are calculated as output values, and finally Matrix Factorization is performed using the output Feature and Rating values. At this time, the maximum rating value is set to 1 so that the rating ranges from 0 to 1. Since many recommended category results are generated when using the matrix factorization operation, filtering is performed only up to the top 100 by considering the rating value.

한편, ALS 알고리즘을 거쳐 생성된 카테고리 점수 결과값은 Memcached에 저장된다. 여기서 Memcached는 고성능을 지원하는 메모리 기반의 캐싱 시스템이다. 일반적으로 데이터베이스(Database)에 저장된 데이터를 메모리에 적재하여 응답속도를 높여 웹 시스템의 성능을 높이기 위한 용도로 사용하기도 한다. 고정된 컨텐츠를 제공해주는 웹 사이트가 아니라면 사용자의 요청에 따라 데이터베이스라고 불리는 다양한 저장 장치로부터 데이터를 읽어서 웹 서버를 통해 사용자에게 응답해야 한다. 사용자가 많지 않을 경우에는 상관없지만 사용자가 많아질 경우, 사용자의 요청에 대한 응답속도를 높이기 위해 방법을 마련해야 하는데 이때, 선택할 수 있는 여러 가지 방법 중 하나가 메모리를 이용한 캐시 서버를 제공하는 것이다. 사용자의 요청이 있을 경우, 캐시 메모리에서 요청에 대한 해당 정보가 존재하는지 확인하고, 존재할 경우 캐시 메모리에서 해당 정보를 읽어서 사용자에게 제공한다. 만약 캐시 메모리에 없는 경우에는 데이터베이스 등 디스크에 저장된 데이터를 읽어서 사용자에게 제공하고, 이를 다시 캐시 메모리에 보관한다. Memcached의 주요 기능은 읽기, 쓰기 및 삭제이고, 장점은 데이터베이스가 아닌 캐시 메모리에서 데이터를 읽어오기 때문에 응답속도가 빠르고, 여러 대의 서버에 분산하여 데이터를 처리할 수 있어서 확장성이 뛰어난 것이다. 단점으로는 캐시 메모리에 데이터를 저장하여 필요 시 제공하기 때문에 재부팅 시 데이터가 유지되지 않고, Key-value 데이터 구조로 인해 관계형 데이터베이스에서 제공하는 LIKE 검색을 제공하지 않는다.Meanwhile, the category score results generated through the ALS algorithm are stored in Memcached. Here, Memcached is a memory-based caching system that supports high performance. In general, it is used to increase the performance of the web system by loading data stored in the database into memory to increase response speed. Unless the website provides fixed content, it must read data from various storage devices called databases according to the user's request and respond to the user through a web server. If there are not many users, it does not matter, but if the number of users increases, a method must be prepared to increase the response speed to user requests. In this case, one of several methods to choose is to provide a cache server using memory. When there is a user request, the cache memory is checked to see if the corresponding information about the request exists, and if so, the corresponding information is read from the cache memory and provided to the user. If it is not in the cache memory, data stored on the disk, such as a database, is read, provided to the user, and stored again in the cache memory. The main functions of Memcached are reading, writing, and deleting. The advantage is that it has a fast response speed because it reads data from cache memory rather than a database, and it has excellent scalability because it can process data by distributing it across multiple servers. Disadvantages are that because data is stored in cache memory and provided when needed, data is not maintained when rebooting, and due to the key-value data structure, it does not provide LIKE search provided by relational databases.

캐시란, 컴퓨터 과학에서 데이터나 값을 미리 복사해 놓는 임시 장소를 가리킨다. 캐시의 접근 시간에 비해 원래 데이터를 접근하는 시간이 오래 걸리는 경우나 값이 다시 계산하는 시간을 절약하고 싶은 경우에 사용한다. 캐시에 데이터를 미리 복사해 놓으면 계산이나 접근 시간 없이 더 빠른 속도로 데이터에 접근할 수 있다. 캐시의 종류에는 CPU 캐시, 디스크 캐시 등이 있는데, CPU 캐시는 대용량의 메인 메모리 접근을 빠르게 하기 위해 CPU 칩 내부나 바로 옆에 탑재하는 작은 메모리다. 1980년대 이후 대부분의 CPU는 하나, 많게는 5~6개까지의 서로 다른 기능을 가진 CPU 캐시를 장착하고 있다. 메모리 접근 속도가 늘어나는 것에 비해 CPU의 처리 속도가 훨씬 빠르게 증가하고 있기 때문에, 용량은 작지만 속도가 빠른 CPU 캐시는 현대 마이크로프로세서의 성능에 직접적인 영향을 미친다. 디스크 캐시는 디스크 버퍼라고 불리기도 한다. 1980년대 후반 이후 판매되는 대부분의 하드 디스크는 디스크 제어와 외부와의 인터페이스를 위해 작은 컴퓨터를 내장하고 있다. 이 작은 컴퓨터는 대게 디스크에 입출력되는 데이터를 저장하는 작은 메모리를 가지고 있는데, 이를 디스크 캐시라고 한다. 디스크 캐시는 미리 읽기, 속도 조절 및 쓰기 가속과 같은 여러 가지 용도로 사용된다. 미리 읽기에 대해서 운영체제에서 디스크에 읽기/쓰기를 요청할 때, 디스크 암은 헤드를 해당하는 트랙에 올려 놓은 뒤 일정 시간이 걸려야 비로소 데이터를 읽을 수 있다. 그러나, 운영 체제는 대개 첫 번째 섹터 말고도 그 이후 섹터를 연이어 요구하는 경우가 많기 때문에 연속된 위치에 대한 반복적 접근 시간을 아끼기 위해 디스크는 뒷부분의 데이터를 미리 읽어서 캐시에 저장해 놓는다. 속도 조절에 대해서는 디스크 입출력 인터페이스는 대개 디스크 플래터(Disk Platter)가 데이터를 읽어 들이는 속도에 비해 훨씬 느리다. 그러므로 디스크 암이 빠르게 읽고 쓰기를 수행하기 위해 데이터를 인터페이스에 넘기기 전에 캐시에 잠시 저장해놓는다. 쓰기 가속에 대해서는 운영 체제가 디스크에 쓰기를 요청했을 때 디스크 내부의 컴퓨터는 캐시에 데이터를 저장해 놓고 디스크 암이 쓰기를 끝내도 전에 운영 체제에게 쓰기가 끝났음을 보고할 수 있다. 이렇게 하면 운영 체제는 디스크 쓰기가 끝나는 것을 기다릴 필요 없이 다음 작업을 신속하게 수행할 수 있다. 그러나 이 방법은 디스크 암이 쓰기를 마치기 앞서 전원이 차단되는 일이 일어나면 데이터가 사라지거나 파일 시스템이 망가질 우려가 있다.In computer science, a cache refers to a temporary location where data or values are copied in advance. This is used when it takes longer to access the original data compared to the cache access time or when you want to save time recalculating the value. By copying data to the cache in advance, you can access the data at a faster rate without computation or access time. Types of cache include CPU cache and disk cache. CPU cache is a small memory mounted inside or right next to the CPU chip to speed up access to large amounts of main memory. Since the 1980s, most CPUs have been equipped with one or as many as five to six CPU caches with different functions. Because CPU processing speeds are increasing much faster than memory access speeds, small-capacity but high-speed CPU caches have a direct impact on the performance of modern microprocessors. Disk cache is also called disk buffer. Most hard disks sold since the late 1980s have a small computer built in for disk control and external interface. These small computers usually have a small memory that stores input/output data to the disk, which is called a disk cache. Disk cache is used for several purposes, such as read-ahead, throttling, and write acceleration. Regarding read-ahead, when the operating system requests to read/write to the disk, the disk arm can read data only after a certain period of time has passed after placing the head on the corresponding track. However, since the operating system often requests subsequent sectors in addition to the first sector, the disk reads later data in advance and stores it in the cache to save repetitive access time to consecutive locations. Regarding speed control, disk input/output interfaces are usually much slower than the speed at which disk platters read data. Therefore, in order for the disk arm to read and write quickly, the data is briefly stored in the cache before being passed on to the interface. Regarding write acceleration, when the operating system requests to write to the disk, the computer inside the disk stores the data in the cache and can report to the operating system that the writing has finished before the disk arm has finished writing. This allows the operating system to quickly perform the next operation without having to wait for the disk write to finish. However, with this method, there is a risk that data may be lost or the file system may be damaged if the power is cut off before the disk arm completes writing.

이후, 제어부(120)는 상기 카테고리 점수 정보와 모바일 오픈마켓 메인 상품의 카테고리 정보를 결합하여 추천 카테고리 상품 정보를 생성한다. 예를 들어, 남성의류의 면바지가 높은 카테고리 점수 정보로 산출되었다면 모바일 오픈마켓 메인 상품의 카테고리 정보와 결합된 후 면바지와 같은 카테고리인 청바지 또는 정장바지가 사용자의 추천 카테고리 메인 상품으로 추천될 수 있다.Thereafter, the control unit 120 generates recommended category product information by combining the category score information with the category information of the mobile open market main product. For example, if men's cotton pants are calculated with high category score information, after combining them with the category information of the mobile open market main product, jeans or dress pants, which are in the same category as the cotton pants, can be recommended as the main product in the user's recommended category. there is.

저장부(130)는 상품 조회, 찜 하기, 장바구니 담기 및 구매와 같은 비로그인 사용자의 최신 이용 정보와 관련된 이용 관련 정보, 카테고리 관심 점수, 카테고리 점수, 모바일 오픈마켓 메인 상품과 관련된 카테고리 정보 및 추천 카테고리 상품 정보를 저장한다.The storage unit 130 stores usage-related information related to the latest usage information of non-logged-in users, such as product inquiry, wish list, shopping cart addition, and purchase, category interest score, category score, category information related to the mobile open market main product, and recommended categories. Save product information.

비로그인 사용자의 이용은 비로그인 사용자가 모바일 오픈마켓에 접속하여 수행하는 상품 조회, 찜 하기, 장바구니 담기 및 구매 중 어느 하나 이상을 의미한다. 비로그인 사용자는 모바일 오픈마켓에 접속한 후에 최근 관심이 있거나 구매하려는 상품의 카테고리를 선택하여 상품 조회, 찜 하기, 장바구니 담기 및 구매 중 어느 하나 이상을 수행하거나, 모바일 오픈마켓 첫 화면에서 제공하는 추천 메인 상품을 클릭하여 상품 조회, 찜 하기, 장바구니 담기 및 구매 중 어느 하나 이상을 수행할 수 있다.Use by a non-logged-in user refers to one or more of the following: product inquiry, wishlisting, addition to shopping cart, and purchase performed by a non-logged-in user by accessing the mobile open market. After accessing the mobile open market, non-logged-in users can select the category of the product they are recently interested in or want to purchase and perform one or more of the following: product search, wish list, add to cart, and purchase, or use recommendations provided on the mobile open market home screen. By clicking on the main product, you can perform one or more of the following: product inquiry, wish list, add to cart, and purchase.

상품의 카테고리는 다양하게 존재하는바, 예를 들어, 여성 의류, 남성 의류, 아동 의류, 스포츠 의류 및 속옷을 판매하는 의류 카테고리, 신발, 가방 및 액세서리를 판매하는 잡화 카테고리, 대형가전, 생활가전 및 주방가전을 판매하는 가전 카테고리, 신선식품, 가공식품 및 건강식품을 판매하는 식품 카테고리, 등산, 캠핑, 골프, 자전거, 헬스 및 구기 종목 용품을 판매하는 레저 카테고리 등이 사용자가 선택할 수 있는 대분류 카테고리가 될 수 있다. 또한, 대분류 카테고리의 하위 카테고리로서 중분류 카테고리를 선택할 수 있다. 예를 들어, 여성 의류의 하위 카테고리로서 상의 종류인 티셔츠, 블라우스 및 니트, 하의 종류인 팬츠, 청바지 및 치마, 외투 종류인 코트, 가디건 및 조끼, 스포츠 의류의 하위 카테고리로서 남성 스포츠의류, 여성 스포츠의류, 남성 트레이닝복 및 여성 트레이닝복, 신발 종류인 런닝화, 운동화, 스니커즈 및 슬리퍼, 스포츠 잡화 종류인 스포츠 가방, 스포츠 모자, 스포츠 안경, 스포츠 시계 및 스포츠 용품, 가전의 하위 카테고리로서 대형가전 종류인TV, 냉장고 및 세탁기 또는 생활가전 종류인 청소기, 다리미, 전화기, 재봉틀, 전기면도기 및 헤어 드라이기 중 어느 하나를 선택할 수 있다. 또한 상품에 따라 중분류 카테고리의 하위 카테고리로서 소분류 카테고리도 이와 같은 방식으로 선택할 수 있으며, 카테고리를 선택한 후에는 관심이 있거나 구매하려는 상품에 대하여 상품 조회, 찜 하기, 장바구니 담기 및 구매 중 어느 하나 이상을 수행할 수 있다. 이때, 상황에 따라 비로그인 사용자의 이용 순서는 달라질 수 있다. 예를 들어, 관심이 있는 카테고리의 상품을 조회하기 전 상품을 클릭하지 않은 상태에서 찜 하기를 수행하고, 추후에 찜 하기를 했던 상품들에 대한 장바구니 담기 및 구매를 진행할 수 있으며, 상품 조회를 하여 선택한 상품의 상세 정보를 파악한 후 찜 하기, 장바구니 담기 및 구매 중 어느 하나 이상을 수행할 수도 있다. 또한 상품 조회를 하여 상품의 상세 정보를 파악하고 장바구니 담기를 수행한 후에 장바구니에 담긴 상품에 대하여 구매를 진행할 수도 있다.There are various product categories, for example, a clothing category that sells women's clothing, men's clothing, children's clothing, sports clothing and underwear, a miscellaneous goods category that sells shoes, bags and accessories, large home appliances, household appliances and The main categories that users can select from are the home appliance category that sells kitchen appliances, the food category that sells fresh foods, processed foods, and health foods, and the leisure category that sells hiking, camping, golf, bicycle, fitness, and ball game supplies. It can be. Additionally, the middle category can be selected as a subcategory of the major category. For example, as a subcategory of women's clothing, top types of t-shirts, blouses and knits, bottom types of pants, jeans and skirts, outerwear types of coats, cardigans and vests, and as subcategories of sports clothing, men's sportswear and women's sportswear. , men's training clothes and women's training clothes, running shoes, sneakers, sneakers and slippers as a type of footwear, sports bags, sports hats, sports glasses, sports watches and sports goods as a type of sports miscellaneous goods, TVs as a large home appliance as a subcategory of home appliances, You can choose between a refrigerator and washing machine or household appliances such as a vacuum cleaner, iron, telephone, sewing machine, electric razor, and hair dryer. In addition, depending on the product, you can select a subcategory as a subcategory of the midcategory in the same way. After selecting a category, perform one or more of the following: product search, wishlist, add to cart, and purchase for the product you are interested in or want to purchase. can do. At this time, the order of use for non-logged-in users may vary depending on the situation. For example, before searching for a product in a category you are interested in, you can add it to a wish list without clicking on the product. You can later add the wish list products to your shopping cart and purchase them, and then search for the product. After obtaining the detailed information of the selected product, you can also perform one or more of the following: add to wishlist, add to cart, and purchase. Additionally, you can search for products to find detailed information about them, add them to your shopping cart, and then proceed with purchasing the products in your shopping cart.

도 2는 카테고리 분류에 따른 상품 정보를 나타내는 도면이다.Figure 2 is a diagram showing product information according to category classification.

카테고리는 상기 저장부(130)에서 설명한 것과 같이 분류할 수 있으며, 관심이 있거나 구매하려는 상품을 찾기 위해서 상품이 속한 해당 카테고리를 선택할 수 있다.Categories can be classified as described in the storage unit 130, and the category to which the product belongs can be selected to find a product of interest or purchase.

도 3은 관심 카테고리 및 상품을 선택했을 경우 확인할 수 있는 해당 상품의 상세한 정보를 나타내는 도면이다.Figure 3 is a diagram showing detailed information on the product that can be confirmed when the category and product of interest are selected.

비로그인 사용자가 관심 카테고리 및 상품을 선택하고 상품 조회, 찜 하기, 장바구니 담기 및 구매 중 어느 하나 이상을 수행했을 때 저장부(130)가 데이터베이스에 수집하는 사용자 이용 정보의 예는, 아래의 표 2와 같다.Examples of user usage information that the storage unit 130 collects in the database when a non-logged-in user selects a category and product of interest and performs one or more of product inquiry, wish list, shopping cart, and purchase are shown in Table 2 below. It's the same.

midmid 대분류
카테고리 id
Main Category
category id
중분류
카테고리 id
Middle classification
category id
소분류
카테고리 id
Subcategory
category id
찜한 시점Saved Views 장바구니 담은 시점When to add to cart 상품 조회 시점Product inquiry time 상품 클릭 횟수Number of product clicks
u1u1 1One 3434 2222 2014.04.11
17:50:55
2014.04.11
17:50:55
-- 2014.04.11
18:50:50
2014.04.11
18:50:50
1010
u1u1 22 3232 2424 -- 2014.04.10
17:30:40
2014.04.10
17:30:40
2014.04.12
10:00:00
2014.04.12
10:00:00
55
u1u1 33 3131 2525 -- -- 2014.08.11
17:50:55
2014.08.11
17:50:55
55
u1u1 1One 5555 2626 2014.02.13
12:50:15
2014.02.13
12:50:15
2014.02.14
17:50:50
2014.02.14
17:50:50
2014.02.16
13:50:30
2014.02.16
13:50:30
1515
u2u2 1One 3535 111111 2013.04.10
17:50:55
2013.04.10
17:50:55
2013.04.08
13:50:22
2013.04.08
13:50:22
2013.04.12
17:50:50
2013.04.12
17:50:50
2020
u2u2 22 4444 112112 -- -- 2014.08.27
11:50:55
2014.08.27
11:50:55
1010

표 2를 참조하면, 사용자 식별자인 mid별로 대분류 카테고리, 중분류 카테고리, 소분류 카테고리에 대하여 찜 하기 시점, 장바구니 담기 시점, 상품 조회 시점 및 상품 클릭 횟수 시점과 같은 비로그인 사용자 이용 정보를 저장부(130)에 저장한다.Referring to Table 2, the storage unit 130 stores non-logged-in user usage information, such as the time of wish list, the time of adding to the shopping cart, the time of product inquiry, and the number of product clicks, for each major category, medium category, and small category for each user identifier, mid. Save it to

이때, '이용'이라 함은 사용자가 모바일 오픈마켓을 통하여 특정 서비스를 제공 받는 것을 의미한다. 예를 들어, '이용'은 사용자가 특정 상품을 '조회'하는 것일 수 있다. 예를 들어, '이용'은 사용자가 오픈마켓을 통해 특정 상품을 '구매'하는 것일 수 있다. 또한 상품 클릭 횟수는 오픈마켓에서 사용자가 해당 상품을 조회한 횟수일 수 있다.At this time, ‘use’ means that the user receives a specific service through the mobile open market. For example, 'use' may mean that a user 'searches' for a specific product. For example, ‘use’ may mean that a user ‘purchases’ a specific product through an open market. Additionally, the number of clicks on a product may be the number of times a user views the product in an open market.

한편, 사용자 식별자인 mid는 개인화된 메인 상품을 추천하는데 필요한 정보로써, 비로그인 사용자가 모바일 오픈마켓에 로그인을 한번이라도 하게 되면 쿠키에 저장하여 관리하기 때문에 사용자가 로그인하지 않았더라도 비로그인 사용자가 수행하는 상품 조회, 찜 하기, 장바구니 담기 및 구매와 같은 정보를 사용자 식별자인 mid를 통해 인식하게 된다. 여기서 쿠키는 하이퍼텍스트 기록서의 일종으로서 인터넷 사용자가 어떠한 웹사이트를 방문할 경우 그 사이트가 사용하고 있는 서버에서 인터넷 사용자의 컴퓨터에 설치하는 작은 기록 정보 파일을 일컫는다. 쿠키라는 이름은 그림 동화 '헨젤과 그레텔'에서 가져온 것으로 헨텔과 그레텔이 지나온 길을 표시하기 위해 쿠키 조각을 떨어뜨리며 표시했다는 이야기에서 따온 것이다. 이 기록 파일에 담긴 정보는 인터넷 사용자가 동일한 웹사이트를 방문할 때마다 읽히고 수시로 새로운 정보로 바뀐다. 이 수단은 넷스케이프의 프로그램 개발자였던 루 몬툴리가 고안한 뒤로 오늘날 많은 서버 및 웹사이트들이 브라우저의 신속성을 위해 사용하고 있다.Meanwhile, the user identifier mid is information needed to recommend a personalized main product. It is stored and managed in a cookie when a non-logged-in user logs in to the mobile open market at least once, so it can be performed by a non-logged-in user even if the user is not logged in. Information such as product inquiry, wish list, shopping cart addition, and purchase is recognized through the user identifier mid. Here, a cookie is a type of hypertext record and refers to a small record information file that is installed on the Internet user's computer by the server used by the Internet user when he or she visits a website. The name cookie is taken from the Grimm fairy tale 'Hansel and Gretel', and comes from the story that Hantel and Gretel dropped cookie pieces to mark the path they took. The information contained in this record file is read each time an Internet user visits the same website and is frequently replaced with new information. This method was invented by Lou Montulli, a program developer at Netscape, and is used by many servers and websites today to improve browser speed.

하이퍼텍스트란 참조를 통해 사용자가 한 문서에서 다른 문서로 즉시 접근할 수 있는 텍스트이다. 주로 컴퓨터나 다른 전자기기들을 통해 표시되며 인터넷과 결합하여 HTML의 주된 구성요소가 되었다. 기존의 문서가 순차적이면서 서열형 구조라면, 하이퍼텍스트는 링크에 다라 그 차례가 바뀌는 임의적이면서 나열형인 구조를 가진다. 즉, 참조로 연결된 문서들을 어떠한 행위(Click)에 따라 자유롭게 이동할 수 있다.Hypertext is text that gives users immediate access from one document to another through references. It is mainly displayed through computers and other electronic devices, and in combination with the Internet, it has become the main component of HTML. While existing documents have a sequential and sequential structure, hypertext has a random and serial structure in which the order changes depending on the link. In other words, documents linked by reference can be freely moved according to any action (Click).

한편, 데이터베이스란 여러 사람에 의해 공유되어 사용될 목적으로 통합하여 관리되는 데이터의 집합을 의미한다. 줄여서 DB(DataBase)라고도 하며, 특정 다수의 사용자들에게 필요한 정보를 제공하거나 조직 내에서 필요로 하는 정보를 체계적으로 축적하여 그 조직 내의 사용자들에게 필요한 정보를 제공하는 정보 서비스 기관의 심장부에 해당된다. 종래의 업무마다 독립된 파일 처리 방식에 비하여 업무가 확대되어도 새롭게 파일을 준비할 필요가 없고, 각 파일에 같은 데이터가 중복되어 있지 않게 되는 것 등의 이점이 있다. 데이터베이스를 관리하는 시스템을 데이터베이스 관리시스템(Database Management System)이라고 하며, 데이터베이스의 특징으로는 사용자의 질의에 대하여 즉시 처리하여 응답하는 실시간 접근성을 가지고 있고, 삽입, 삭제 및 갱신을 통하여 최신의 데이터를 동적으로 유지할 수 있고, 여러 사용자가 동시에 원하는 데이터를 동시에 공유할 수 있다. 데이터베이스에 저장되어 있는 데이터를 참조할 때는 표의 행 주소나 위치가 아닌 사용자가 요구하는 데이터 내용에 따라 참조할 뿐만 아니라 응용프로그램과 데이터베이스를 독립시킴으로써 데이터의 논리적 구조를 변경시키더라도 응용프로그램은 변하지 않는다. 데이터베이스의 종류에는 계층형 데이터베이스, 네트워크형 데이터베이스, 관계형 데이터베이스 및 객체지향형 데이터베이스 등이 존재한다. 계층형 데이터베이스는 트리구조를 기반으로 하는 계층형 데이터 모델을 사용한다. 계층형 데이터모델에서 데이터는 트리 형태로 구성되며, 각 데이터 요소들은 상하 관계를 나타내는 링크로 구성된다. 네트워크형 데이터베이스는 그래프 구조를 기반으로 하는 네트워크형 데이터 모델을 사용한다. 네트워크형 데이터 모델은 개체와 개체 관계를 그래프 구조로 연결하는 데이터 모델이다. 이는 계층형 데이터 모델과 유사하나, 부모(상위 개체)를 여러 개 가질 수 있다는 점이 다르다. 관계형 데이터베이스는 관계형 데이터 모델을 사용한다. 관계형 데이터베이스는 현재까지 가장 안정적이고 효율적인 데이터베이스로 알려져 있어 주로 사용되고 있다. 관계형 데이터 모델은 개체를 테이블로 사용하고 개체들간의 공동 속성을 이용하여 서로 연결하는 독립된 형태의 데이터 모델이다. 객체지향형 데이터베이스는 1980년대 후반에 등장한 데이터베이스로서 객체지향 프로그래밍 개념에 기반을 두고 있다. 객체지향 모델은 데이터와 프로그램을 독립적인 객체의 형태로 구성하여 복잡한 데이터 유형을 처리하기 용이하고 객체들을 이해하기 쉽다는 장점이 있다.Meanwhile, a database refers to a set of data that is integrated and managed for the purpose of being shared and used by multiple people. Also known as DB (DataBase) for short, it is the heart of an information service organization that provides necessary information to a specific number of users or systematically accumulates information needed within an organization to provide necessary information to users within the organization. . Compared to the conventional method of processing files independently for each task, there are advantages such as no need to prepare new files even when the task expands, and the same data is not duplicated in each file. The system that manages the database is called a database management system. The characteristics of the database include real-time accessibility that immediately processes and responds to user inquiries, and dynamically displays the latest data through insertion, deletion, and update. , and multiple users can share desired data at the same time. When referring to data stored in a database, not only is it referenced according to the data content requested by the user rather than the table row address or location, but the application program and the database are made independent, so even if the logical structure of the data is changed, the application program does not change. Types of databases include hierarchical databases, network databases, relational databases, and object-oriented databases. Hierarchical databases use a hierarchical data model based on a tree structure. In the hierarchical data model, data is organized in the form of a tree, and each data element is composed of links that represent hierarchical relationships. Network-type databases use a network-type data model based on a graph structure. A network data model is a data model that connects entities and their relationships in a graph structure. This is similar to a hierarchical data model, but the difference is that it can have multiple parents (parent objects). Relational databases use a relational data model. Relational databases are widely used as they are known to be the most stable and efficient databases to date. The relational data model is an independent type of data model that uses objects as tables and connects them to each other using common properties between objects. Object-oriented databases are databases that appeared in the late 1980s and are based on object-oriented programming concepts. The object-oriented model has the advantage of organizing data and programs in the form of independent objects, making it easy to process complex data types and making objects easy to understand.

데이터베이스 관리시스템이란 다수의 컴퓨터 사용자들이 데이터베이스 안에 데이터를 기록하거나 접근할 수 있게 해주는 프로그램이다. 목적은 데이터베이스 내의 정보를 검색하거나, 데이터베이스에 정보를 저장하기 편리하고 효율적인 환경을 제공하는데 있다. 데이터베이스 관리시스템은 응용소프트웨어 별로 흩어져 있는 자료들을 통합하고 통합된 자료들을 각 응용소프트웨어가 공유하여 정보의 체계적인 활용을 가능하게 한다. 데이터베이스 관리시스템의 기능은 축적된 자료구조를 정의하고, 자료구조에 따른 자료를 축적하며 데이터베이스 언어에 의한 자료를 검색 및 갱신할 수 있다. 또한 복수 사용자들의 자료처리 요청을 동시에 실행가능하고, 갱신 중에 이상이 발생했을 때 갱신 이전의 상태로 복귀가 가능하다. 일반적 형태의 데이터베이스 관리시스템은 관계형 데이터베이스 관리시스템인데, 관계형 데이터베이스 관리시스템의 표준화된 사용자 및 프로그램 인터페이스를 SQL(Structured Query Language)라고 한다.A database management system is a program that allows multiple computer users to record or access data in a database. The purpose is to provide a convenient and efficient environment for searching information in a database or storing information in a database. The database management system integrates scattered data for each application software and shares the integrated data with each application software to enable systematic use of information. The function of the database management system is to define the accumulated data structure, accumulate data according to the data structure, and search and update data using the database language. In addition, it is possible to execute data processing requests from multiple users simultaneously, and when an error occurs during update, it is possible to return to the state before update. The general type of database management system is a relational database management system, and the standardized user and program interface of the relational database management system is called SQL (Structured Query Language).

도 4는 본 발명의 일 실시 예에 따른 송수신부(110), 제어부(120) 및 저장부(130) 사이의 흐름도를 나타내는 도면이다.FIG. 4 is a diagram illustrating a flowchart between the transmitting and receiving unit 110, the control unit 120, and the storage unit 130 according to an embodiment of the present invention.

도 4를 참조하면, 비로그인 사용자가 모바일 오픈마켓에 접속 후 상품 조회, 찜 하기, 장바구니 담기 및 구매 중 어느 하나 이상을 수행하면 비로그인 사용자의 최신 이용 정보가 저장부(130)에 수집되고, 수집된 이용 정보를 제어부(120)에 전달하여 카테고리 관심 점수를 산출한다.Referring to FIG. 4, when a non-logged-in user accesses the mobile open market and performs one or more of product inquiry, favorite, add to shopping cart, and purchase, the non-logged-in user's latest usage information is collected in the storage unit 130, The collected usage information is transmitted to the control unit 120 to calculate a category interest score.

제어부(120)가 비로그인 사용자 최신 이용 정보를 기반으로 산출한 카테고리 관심 점수의 예는, 아래의 표 3과 같다.An example of the category interest score calculated by the control unit 120 based on the latest usage information of non-logged-in users is shown in Table 3 below.

midmid 대분류
카테고리 id
Main Category
category id
중분류 카테고리 idMiddle classification category id 소분류 카테고리 idSubcategory category id 카테고리
관심점수
category
Interest score
u1u1 1One 3434 2222 2.532.53 u1u1 22 3232 2424 0.760.76 u1u1 33 3131 2525 0.060.06 u2u2 22 4444 112112 31.331.3 u2u2 22 6262 115115 3.8553.855

표 3을 참조하면, 비로그인 사용자가 수행한 상품 조회, 찜 하기, 장바구니 담기 및 구매의 최신 이용 시점 정보와 가중치로서 적용한 상품 클릭 횟수를 기반으로 각 사용자별 카테고리 관심 점수를 산출할 수 있다. 이때, 찜 하기와 상품 조회보다 장바구니 담기에 더 가중치를 두어 점수를 산출하는데, 그 이유는 장바구니 담기를 수행했을 경우 구매 확률이 가장 높고, 찜 하기와 상품 조회는 장바구니 담기보다 낮은 확률로 구매가 이루어지기 때문이다. 그리고 상품 클릭 횟수를 가중치로 적용한 이유는 상품 구매 시점이 가까워 질수록 해당 상품에 대한 클릭 횟수가 매우 증가하기 때문이다.Referring to Table 3, the category interest score for each user can be calculated based on the latest point-of-use information for product viewing, wishlisting, adding to cart, and purchase performed by non-logged-in users and the number of product clicks applied as weight. At this time, the score is calculated by giving more weight to adding to cart than adding to wishlist and viewing products. This is because adding to cart has the highest probability of purchase, while adding to wishlist and viewing product results in a purchase with a lower probability than adding to cart. Because you lose. And the reason why the number of clicks on a product is applied as a weight is because the number of clicks on that product greatly increases as the time of purchasing the product gets closer.

각 카테고리별 사용자의 이용 시점이 최근일수록 카테고리 관심 점수가 높아지게 되고, 카테고리 관심 점수를 산출함으로써 분석할 수 있는 정보는 각 사용자별로 최근에 어느 카테고리의 어느 상품에 관심이 있는지를 확인할 수 있다. The more recent the user's time of use for each category, the higher the category interest score, and the information that can be analyzed by calculating the category interest score can be used to determine which products in which category each user has recently been interested in.

이후, 카테고리 관심 점수를 기반으로 ALS 알고리즘을 이용해 산출한 카테고리 점수의 예는, 표 4와 같다.Afterwards, an example of the category score calculated using the ALS algorithm based on the category interest score is shown in Table 4.

midmid 대분류
카테고리id
Main Category
Categoryid
중분류 카테고리 idMiddle classification category id 소분류 카테고리 idSubcategory category id RatingRating
u1u1 1One 3232 2424 0.70.7 u1u1 22 8989 -- 0.40.4 u1u1 1One 3737 2424 0.30.3 u2u2 1One -- -- 0.30.3 u2u2 1One 3737 2424 0.50.5

표 4를 참조하면, 협업 필터링의 ALS 알고리즘을 이용해 사용자별 카테고리 점수를 산출할 수 있다. 이때, ALS 알고리즘에는 mid, 카테고리 id 및 카테고리 관심 점수가 입력되며, 이외에도 Lambda, Feature number, Iterations와 같은 부가적인 값들을 입력할 수 있다. ALS 알고리즘으로부터 카테고리 점수가 산출되면 이를 이용하여 Matrix Factorization을 수행하는데 이때, 최대 rating값을 1로 지정하여 0에서 1사이의 Rating이 나오도록 한다. 또한 Factorization 연산자체가 추천 카테고리가 많이 생성되기 때문에 Rating값을 고려하여 상위 100개만 필터링한다.Referring to Table 4, category scores for each user can be calculated using the ALS algorithm of collaborative filtering. At this time, mid, category id, and category interest score are input to the ALS algorithm, and additional values such as Lambda, Feature number, and Iterations can be input. When the category score is calculated from the ALS algorithm, matrix factorization is performed using it. At this time, the maximum rating value is set to 1, resulting in a rating between 0 and 1. Additionally, because the factorization operation itself generates many recommended categories, only the top 100 are filtered by considering the rating value.

이후, 제어부(120)는 ALS 알고리즘을 통해 카테고리 점수 정보를 산출하고, 산출된 카테고리 점수 정보와 메인 상품의 카테고리 정보를 결합한 후 결과를 우선순위화한다.Afterwards, the control unit 120 calculates category score information through the ALS algorithm, combines the calculated category score information with the category information of the main product, and prioritizes the results.

사용자 u1에 대하여 ALS 알고리즘과 Matrix Factorization 연산을 통해 카테고리 점수가 산출된 후 모바일 오픈마켓 메인 상품의 카테고리 정보와 결합된 예는, 표 5와 같다.An example of the category score being calculated for user u1 through the ALS algorithm and Matrix Factorization calculation and then combined with the category information of the mobile open market main product is shown in Table 5.

Category idCategory id 대분류
카테고리 id
Main Category
category id
중분류 카테고리 idMiddle classification category id 소분류 카테고리 idSubcategory category id RatingRating
1One 1One 3232 2424 0.70.7 2020 22 8989 -- 0.40.4 5555 1One 3737 2424 00 4444 33 3131 -- 00 6060 77 2222 -- 00

표 5를 참조하면, 제어부(120)는 사용자 u1에 대하여 ALS 알고리즘을 통해 산출된 카테고리 점수 정보와 모바일 오픈마켓 메인 상품의 카테고리 정보를 결합하여 순위대로 정렬하게 되고, 정렬된 추천 카테고리 상품 정보에 근거하여 개인화된 메인 상품 추천이 가능해진다.Referring to Table 5, the control unit 120 combines the category score information calculated through the ALS algorithm for user u1 and the category information of the mobile open market main product and sorts them in rank order, based on the sorted recommended category product information. This makes personalized main product recommendations possible.

도 5는 본 발명의 일 실시 예에 따른 사용자 단말(200)과 상품 추천 서버(100) 사이의 흐름도를 나타내는 도면이다.Figure 5 is a diagram showing a flow chart between the user terminal 200 and the product recommendation server 100 according to an embodiment of the present invention.

도 5를 참조하면, 비로그인 사용자가 사용자 단말(200)을 통해 모바일 오픈마켓에 접속하여 로그인을 하지 않은 상태에서 상품 조회, 찜 하기, 장바구니 담기 및 구매 중 어느 하나 이상을 수행하면, 비로그인 사용자의 최신 이용 정보가 상품 추천 서버(100)로 전달되어 상기에서 설명한 일련의 과정을 거쳐 추천 카테고리 상품 정보가 생성된다. 상품 추천 서버(100)는 생성된 추천 카테고리 상품 정보를 사용자 단말(200)에 전달하여 모바일 오픈마켓 화면의 메인 상품으로 노출시킴으로써 비로그인 사용자는 추천 카테고리 상품 정보를 볼 수 있게 된다.Referring to FIG. 5, when a non-logged-in user accesses the mobile open market through the user terminal 200 and performs one or more of product inquiry, wishlisting, addition to shopping cart, and purchase without logging in, the non-logged-in user The latest usage information is transmitted to the product recommendation server 100, and recommended category product information is generated through the series of processes described above. The product recommendation server 100 delivers the generated recommended category product information to the user terminal 200 and exposes it as the main product on the mobile open market screen, so that non-logged-in users can view the recommended category product information.

도 6은 사용자 단말(200)과 상품 추천 서버(100) 사이의 연결 구조를 나타내는 도면이다.Figure 6 is a diagram showing the connection structure between the user terminal 200 and the product recommendation server 100.

도 6을 참조하면, 사용자 단말(200)은 클라이언트로서 네트워크를 통해 서버인 상품 추천 서버(100)에 연결된다. 클라이언트/서버 모델의 구성요소 중 가장 중요한 것이 네트워크이다. 클라이언트/ 서버 모델이 발전하게 된 배경에는 당시 브리지(Bridge), 라우터(Router), 게이트웨이(Gateway)와 같은 접속장치의 발달로 근거리통신망(LAN), 광역통신망(WAN) 기술이 빠르게 발전했기 때문이다. 발전된 근거리통신망 및 광역통신망 네트워크 통신 환경에 따라 그에 맞는 다양한 프로토콜이 표준화되는 시도가 이뤄졌다. 가장 대표적인 것이 국제표준화기구(ISO)에서 개발한 OSI 7계층 모델이다.Referring to FIG. 6, the user terminal 200 is connected to the product recommendation server 100, which is a server, through a network as a client. The most important component of the client/server model is the network. The background to the development of the client/server model was the rapid development of local area network (LAN) and wide area network (WAN) technologies due to the development of connection devices such as bridges, routers, and gateways. . Attempts have been made to standardize various protocols appropriate for the developed local area network and wide area network network communication environment. The most representative one is the OSI 7-layer model developed by the International Organization for Standardization (ISO).

OSI 7계층이란, 국제표준화기구에서 발표한 프로토콜의 기준 모델로 네트워크를 7개의 독립 기능 계층, 즉 물리 계층, 데이터 링크 계층, 네트워크 계층, 전송 계층, 세션 계층, 표현 계층 및 응용 계층으로 나누어 컴퓨터 기종이 다르더라도 각각의 계층에 맞게 프로토콜을 설계하면 상호 통신이 가능하도록 설계되었다. 인접층간의 인터페이스(Interface)는 하위 계층에서 상위 계층에 대한 서비스로 정의할 수 있다. 먼저 물리 계층은 가장 하위의 1번째 계층으로서 상위 계층인 데이터 링크 계층으로부터 받은 데이터를 통신 회선을 통해 비트 단위로 전송하는 역할을 한다. 구성되는 물리 매체에는 허브(Herb), 리피터(Repeater) 등의 전기적인 신호를 발생시키는 장치, 전화선이나 UTP, 동축 케이블 등의 기계적인 연결 장치를 통해 전기적, 기계적 및 물리적 조건을 관리하여 비트 열의 전송을 보충하는 계층이다. 데이터 링크 계층은 2번째 계층으로서 하위 계층인 물리 계층의 비트들을 프레임이라는 논리 집단으로 구성하여 접속한다. 통신 중 시스템간의 전송로에서 발생하는 오류를 검출하여 회복시킴으로써 데이터의 흐름을 제어하며, 데이터의 집합을 확실하게 전송하는 것을 보증하기 위한 계층이다. 상위 계층인 네트워크 계층으로부터 하위 계층인 물리 계층으로 데이터 프레임을 전송하는 역할을 하며, 다른 모든 계층과 마찬가지로 자기 고유의 식별 정보를 전송 데이터 앞부분에 추가한다. 데이터 링크 계층의 기기에는 지능형 허브, 브리지, 네트워크 카드 및 어댑터(Adapter) 등이 존재한다. 네트워크 계층은 3번째 계층으로서 데이터 네트워크나 전화선 등의 각종 통신 네트워크를 사용하여 통신 상대 중 맨 끝에 있는 최종단 시스템과 통신 선로를 확립하기 위한 중계 기능을 관리하여 최종단 시스템간의 데이터 전송을 보증한다. 전송 계층은 4번째 계층으로서 신뢰성있는 데이터 전송을 제공하며 주요 데이터 전송 프로토콜은 TCP와 UDP를 사용한다. 시스템을 연결하고 있는 통신 네트워크에 오류 발생 확률이 높은 경우 오류를 검출해내고, 오류 회복절차에 따라 데이터 전송의 신뢰성을 높일 수 있다. 만약 어떤 데이터가 수신측 장치에서 올바르게 전달되지 않은 경우 재전송을 하거나 상위 계층에 오류 사실을 알려 상위 계층에서 필요한 조치를 취할 수 있다. 세션 계층은 5번째 계층으로서 통신을 하는 2개의 응용 프로그램 사이에서 통신을 위한 하나의 논리적 구조를 관리한다. 즉, 2개의 응용 프로그램 사이에서 하나의 세션을 만들어 통신을 진행하고 중간 중간에 브레이크 포인트를 설정하여 세션에 문제가 발생한 경우 가장 최근에 설정된 브레이크 포인트로부터 통신을 재개할 수 있는 기능을 제공한다. 표현 계층은 6번째 계층으로서 상위 계층인 응용 계층의 다양한 표현 양식을 범용적인 전송 방식으로 변환하거나 암호화하고, 데이터를 압축한다. 마지막으로 응용 계층은 7번째 계층으로서 통신망을 통하여 통신을 하는 응용 프로그램 사이에서 필요한 서비스를 정의한다.OSI 7-layer is a standard model for protocols announced by the International Organization for Standardization, dividing the network into 7 independent functional layers: physical layer, data link layer, network layer, transport layer, session layer, presentation layer, and application layer. Even though these are different, they are designed to enable mutual communication if the protocol is designed for each layer. The interface between adjacent layers can be defined as a service from the lower layer to the upper layer. First, the physical layer is the lowest layer and is responsible for transmitting data received from the data link layer, the upper layer, in bits through a communication line. The physical media comprised include devices that generate electrical signals such as hubs and repeaters, and mechanical connection devices such as telephone lines, UTP, and coaxial cables to manage electrical, mechanical, and physical conditions to transmit bit strings. It is a layer that supplements. The data link layer is the second layer and connects the bits of the lower layer, the physical layer, in a logical group called a frame. This layer controls the flow of data by detecting and recovering errors that occur in the transmission path between systems during communication, and ensures the reliable transmission of a set of data. It is responsible for transmitting data frames from the upper layer, the network layer, to the lower layer, the physical layer, and, like all other layers, adds its own identification information to the front of the transmitted data. Devices in the data link layer include intelligent hubs, bridges, network cards, and adapters. The network layer is the third layer and manages the relay function to establish a communication line with the final end system at the end of the communication partner using various communication networks such as data networks and telephone lines, thereby ensuring data transmission between the final end systems. The transport layer is the fourth layer and provides reliable data transmission, and the main data transmission protocols use TCP and UDP. If the probability of error occurring in the communication network connecting the system is high, the error can be detected and the reliability of data transmission can be improved by following the error recovery procedure. If some data is not delivered correctly from the receiving device, it can be retransmitted or the error can be reported to the upper layer so that the higher layer can take necessary action. The session layer is the fifth layer and manages a logical structure for communication between two communicating applications. In other words, it provides the ability to create a session between two applications to communicate, set breakpoints in between, and resume communication from the most recently set breakpoint if a problem occurs in the session. The expression layer is the sixth layer and converts or encrypts the various expression forms of the application layer, the upper layer, into a general-purpose transmission method and compresses the data. Lastly, the application layer is the seventh layer and defines the services required between applications that communicate through a communication network.

라우터란 서로 다른 네트워크를 연결하여 정보를 주고 받을 때, 송신정보에 담긴 수신처의 주소를 읽고 가장 적절한 통신통로를 이용하여 다른 통신망으로 전송하는 장치이다. 예를 들어, 서로 다른 근거리통신망을 중계하거나 근거리통신망을 광역통신망에 연결할 때 주로 사용한다. 인터넷을 접속할 때는 반드시 필요한 장비로서, 서로 다른 프로토콜로 운영하는 통신망에서 정보를 전송하기 위해 경로를 설정하는 역할을 제공하는 핵심적인 통신장비이다. 단순히 통신망을 연결해주는 브리지 기능에 추가하여 경로 배정표에 따라 다른 통신망을 인식하여 경로를 배정하며, 수신된 패킷에 의하여 다른 통신망 또는 자신이 연결되어 있는 통신망 내의 수신처를 결정하여 여러 경로 중 가장 효율적인 경로를 선택하여 패킷을 보낸다. 통신 흐름을 제어하며 통신망 내부에 여러 보조 통신망을 구성하는 등의 다양한 통신망 관리기능을 수행한다. 장점은 통신환경의 설정을 가능하게 하여 관리 방침에 따라 라우팅 방식을 결정하여 전체 네트워크 성능을 개선할 수 있다. 또한 표준 논리에 따라 통신방법이 자동으로 결정되므로 유지보수가 용이하고, 통신방법에 구애받지 않으므로 대규모 통신망을 쉽게 구성할 수 있으며, 다양한 경로를 따라 통신량을 분산할 수 있다.When exchanging information by connecting different networks, a router is a device that reads the address of the recipient contained in the transmission information and transmits it to another communication network using the most appropriate communication channel. For example, it is mainly used when relaying different local area networks or connecting a local area network to a wide area network. It is an essential piece of equipment when accessing the Internet, and is a key communication device that serves to set up a route to transmit information in communication networks that operate with different protocols. In addition to the bridge function that simply connects communication networks, it recognizes other communication networks according to the route assignment table and assigns a route, and determines the destination in other communication networks or the communication network to which it is connected based on received packets to select the most efficient route among several routes. Select and send the packet. It performs various communication network management functions, such as controlling communication flow and configuring several auxiliary communication networks within the communication network. The advantage is that the communication environment can be set up, and the overall network performance can be improved by determining the routing method according to the management policy. In addition, since the communication method is automatically determined according to standard logic, maintenance is easy, and since it is not limited by the communication method, a large-scale communication network can be easily configured, and communication volume can be distributed along various paths.

게이트웨이란 컴퓨터 네트워크에서 서로 다른 통신망, 프로토콜을 사용하는 네트워크 간의 통신을 가능하게 하는 장치를 의미한다. 즉, 다른 네트워크로 들어가는 입구 역할을 하는 네트워크 포인트이고, 넓은 의미로는 종류가 다른 네트워크 간의 통로 역할을 하는 장치이다.A gateway refers to a device that enables communication between networks using different communication networks and protocols in a computer network. In other words, it is a network point that acts as an entrance into another network, and in a broad sense, it is a device that acts as a passageway between different types of networks.

UDP란 전송 계층에 포함되는 프로토콜로서 인터넷상에서 서로 정보를 주고받을 때 수신측과 접속 절차를 거치지 않고, 데이터를 보낸다는 신호 없이 송신측에서 일방적으로 데이터를 전달하는 통신 프로토콜이다. 송신측에서는 수신측의 데이터 수신 여부를 확인할 수 없고, 확인할 필요도 없도록 만들어져 오류 정정이나 재송신 기능이 없어 비신뢰성 및 비연결 지향 프로토콜이다. TCP보다 안정성은 떨어지지만 속도는 훨씬 빠른 장점이 있다.UDP is a protocol included in the transport layer. When information is exchanged on the Internet, it is a communication protocol in which the sender unilaterally transmits data without going through a connection procedure with the receiver and without sending a signal to send data. It is an unreliable and non-connection-oriented protocol because the sending side cannot and does not need to check whether the receiving side has received data, and there is no error correction or retransmission function. Although it is less stable than TCP, it has the advantage of being much faster.

한편, 클라이언트/서버 모델에서 주로 사용되는 프로토콜은 TCP/IP 프로토콜이다. TCP/IP 프로토콜은 OSI 모델이 설계되는 것과 병행해서 개발되었던 프로토콜로서 좀 더 간단하고 유연성이 뛰어나 실제 현장에서는 대부분 TCP/IP 프로토콜이 사용되고 있다. TCP/IP 프로토콜은 물리 계층, 인터넷 계층, 전송 계층 및 응용 계층의 4계층으로 구성된다. 물리 계층은 OSI 7계층의 물리 계층과 같은 역할을 하고, 인터넷 계층은 OSI 7계층의 데이터 링크 계층과 네트워크 계층 역할을 수행한다. 전송 계층은 OSI 7계층의 전송 계층과 세션 계층 역할을 수행하고, 응용 계층은 OSI 7계층의 표현 계층과 응용 계층 역할을 수행한다.Meanwhile, the protocol mainly used in the client/server model is the TCP/IP protocol. The TCP/IP protocol was developed in parallel with the design of the OSI model, and is simpler and more flexible, so the TCP/IP protocol is mostly used in actual fields. The TCP/IP protocol consists of four layers: physical layer, Internet layer, transport layer, and application layer. The physical layer plays the same role as the physical layer of OSI layer 7, and the Internet layer plays the role of the data link layer and network layer of OSI layer 7. The transport layer functions as the transport layer and session layer of OSI layer 7, and the application layer functions as the presentation layer and application layer of OSI layer 7.

TCP란 UDP와 같이 전송 계층에 포함되는 프로토콜로서 인터넷상에서 서로 정보를 주고받을 때 데이터를 전달하기 전에 연결을 설정하고, 송신측은 데이터를 여러 개의 패킷들로 분할한 후 번호를 붙여 전송한다. 수신측은 전달받은 패킷들을 번호에 따라 재조립하는데 만약 패킷의 손실, 중복, 오류 등이 발생하면 이를 검출하고 재전송을 요청한다. TCP는 수신측의 사용자에게 완성된 데이터를 전달하기 때문에 신뢰성 및 연결 지향 프로토콜이다. UDP보다는 느리지만 신뢰성있는 데이터 전송이 가능하다.TCP, like UDP, is a protocol included in the transport layer. When exchanging information on the Internet, a connection is established before transmitting data, and the sender divides the data into several packets and transmits them by numbering them. The receiving side reassembles the received packets according to their numbers. If packet loss, duplication, or error occurs, it detects this and requests retransmission. TCP is a reliable and connection-oriented protocol because it delivers completed data to the user on the receiving end. Although it is slower than UDP, reliable data transmission is possible.

도 7은 제어부(120)로부터 생성된 추천 카테고리 메인 상품 정보가 송수신부(110)를 거쳐 비로그인 사용자의 사용자 단말(200)에 전달된 결과를 나타내는 도면이다. 비로그인 사용자가 모바일 오픈마켓에 한번이라도 접속을 했다면 쿠키에 사용자 식별자 mid를 저장하게 되고, 이후에 비로그인 사용자가 상품 조회, 찜 하기, 장바구니 담기 및 구매 중 어느 하나 이상을 수행한 이용 시점 정보를 저장부(130)에 저장한다. 추후에 비로그인 사용자가 모바일 오픈마켓에 접속하게 되면 쿠키에 저장되어 있는 사용자 식별자 mid를 이용하여 사용자를 식별하고, 첫 화면 상단에 송수신부(110)를 통해서 전달된 사용자별 추천 카테고리 메인 상품을 노출시켜 추천하게 된다. 예를 들어, 최근에 비로그인 사용자가 모바일 오픈마켓에서 면바지 상품의 조회, 찜 하기, 장바구니 담기 및 구매 중 어느 하나를 이상을 수행했다면 추후에 모바일 오픈마켓 접속 시 첫 화면에 추천 카테고리 메인 상품으로서 면바지 또는 청바지 상품을 메인 상품으로 노출시키게 된다.FIG. 7 is a diagram showing the result of the recommended category main product information generated by the control unit 120 being transmitted to the user terminal 200 of a non-logged-in user via the transmitter and receiver 110. If a non-logged-in user accesses the mobile open market at least once, the user identifier mid is stored in the cookie, and information is collected at the time of use when the non-logged-in user performs one or more of the following: product inquiry, wishlist, add to shopping cart, and purchase. It is stored in the storage unit 130. Later, when a non-logged-in user accesses the mobile open market, the user is identified using the user identifier mid stored in the cookie, and the recommended category main product for each user transmitted through the transmitter/receiver unit 110 is displayed at the top of the first screen. I recommend it. For example, if a non-logged-in user has recently viewed, added to a wish list, added to a shopping cart, or purchased a cotton pants product in the mobile open market, it will be displayed as a recommended category main product on the first screen when accessing the mobile open market in the future. Cotton pants or jeans products are exposed as the main product.

본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 실시 형태로 실시될 수 있다는 것을 인지할 수 있을 것이다. 따라서 이상에서 기술한 실시 예들은 예시적인 것일 뿐이며, 그 범위를 제한해놓은 한정적인 것이 아닌 것으로 이해해야만 한다. 또한, 도면에 도시된 순서도들은 본 발명을 실시함에 있어서 가장 바람직한 결과를 달성하기 위해 예시적으로 도시된 순차적인 순서에 불과하며, 다른 추가적인 단계들이 제공되거나, 일부 단계가 삭제될 수 있음은 물론이다. A person skilled in the art to which the present invention pertains will be able to recognize that the present invention can be implemented in other specific embodiments without changing its technical idea or essential features. Therefore, the embodiments described above are merely illustrative and should be understood as not limiting in scope. In addition, the flow charts shown in the drawings are merely exemplary sequential sequences to achieve the most desirable results in carrying out the present invention, and of course, other additional steps may be provided or some steps may be deleted. .

본 명세서에서 기술한 기술적 특징과 이를 실행하는 구현물은 디지털 전자 회로로 구현되거나, 본 명세서에서 기술하는 구조 및 그 구조적인 등가물 등을 포함하는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어로 구현되거나, 이들 중 하나 이상의 조합으로 구현 가능하다. 또한 본 명세서에서 기술한 기술적 특징을 실행하는 구현물은 컴퓨터 프로그램 제품, 다시 말해 처리 시스템의 동작을 제어하기 위하여 또는 이것에 의한 실행을 위하여 유형의 프로그램 저장매체 상에 인코딩된 컴퓨터 프로그램 명령어에 관한 모듈로서 구현될 수도 있다. The technical features described in this specification and implementations that implement them are implemented as digital electronic circuits, computer software, firmware, or hardware including the structures described in this specification and their structural equivalents, or a combination of one or more of these. It can be implemented as: Additionally, an implementation that implements the technical features described in this specification may be a computer program product, that is, as a module of computer program instructions encoded on a tangible program storage medium for controlling the operation of or execution by a processing system. It may be implemented.

컴퓨터로 판독 가능한 기록매체는 기계로 판독 가능한 저장 장치, 기계로 판독 가능한 저장 기판, 메모리 장치, 기계로 판독 가능한 전파형 신호에 영향을 미치는 물질의 조성물 또는 이들 중 하나 이상의 조합일 수 있다. A computer-readable recording medium may be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter that affects a machine-readable radio wave signal, or a combination of one or more of these.

한편, 본 명세서에서 "장치"라 함은 예를 들어, 프로세서, 컴퓨터 또는 다중 프로세서나 컴퓨터를 포함하여 데이터를 처리하기 위한 모든 기구, 장치 및 기계를 모두 포함한다. Meanwhile, in this specification, “device” includes all instruments, devices, and machines for processing data, including, for example, processors, computers, or multiple processors or computers.

프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드 등으로 알려진 컴퓨터 프로그램은 컴파일 되거나 해석된 언어 또는 선험적, 절차적 언어를 포함하는 프로그래밍 언어의 어떠한 형태로도 작성될 수 있으며, 독립형 프로그램이나 모듈, 컴포넌트, 서브루틴 또는 컴퓨터 환경에서 사용하기에 적합한 다른 유닛을 포함하여 어떠한 형태로도 구현될 수 있다. 한편, 컴퓨터 프로그램은 파일 시스템의 파일에 반드시 대응되는 것은 아니며, 요청된 프로그램에 제공되는 단일 파일 내에 또는 다중의 상호 작용하는 파일(예를 들어, 하나 이상의 모듈, 하위 프로그램 또는 코드의 일부를 저장하는 파일)내에, 또는 다른 프로그램이나 데이터를 보유하는 파일의 일부(예를 들어, 마크업 언어 문서 내에 저장되는 하나 이상의 스크립트)내에 저장될 수 있다. 컴퓨터 프로그램은 하나의 사이트에 위치하거나 복수의 사이트에 걸쳐서 분산되어 유/무선 통신 네트워크에 의해 상호 접속된 다중 컴퓨터나 하나 이상의 컴퓨터 상에서 실행되도록 구현될 수 있다. A computer program, known as a program, software, software application, script, or code, may be written in any form of a programming language, including a compiled or interpreted language, or an a priori or procedural language, and may be a standalone program or module, component, or subprogram. It may be implemented in any form, including routines or other units suitable for use in a computer environment. On the other hand, a computer program does not necessarily correspond to a file in the file system, either within a single file provided to the requested program, or in multiple interacting files (e.g., storing one or more modules, subprograms, or portions of code). It may be stored within a file), or within a portion of a file that holds other programs or data (e.g., one or more scripts stored within a markup language document). The computer program may be implemented to run on multiple computers or one or more computers located at one site or distributed across multiple sites and interconnected by a wired/wireless communication network.

한편, 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 기록매체는, 예를 들어 EPROM, EEPROM 및 플래시메모리 장치와 같은 반도체 메모리 장치, 예컨대 내부 하드디스크나 외장형 디스크와 같은 자기 디스크, 자기광학 디스크 및 CD와 DVD 디스크를 포함하여 모든 형태의 비휘발성 메모리, 매체 및 메모리 장치를 포함할 수 있다. 프로세서와 메모리는 특수 목적의 논리 회로에 의해 보충되거나, 그것에 통합될 수 있다.Meanwhile, computer-readable recording media suitable for storing computer program instructions and data include, for example, semiconductor memory devices such as EPROM, EEPROM, and flash memory devices, magnetic disks such as internal hard disks and external disks, and magneto-optical devices. It can include all forms of non-volatile memory, media, and memory devices, including disks and CD and DVD disks. The processor and memory may be supplemented by, or integrated into, special-purpose logic circuitry.

본 명세서에서 기술한 기술적 특징을 실행하는 구현물은 예를 들어, 데이터 장치와 같은 백엔드 컴포넌트를 포함하거나, 예를 들어, 애플리케이션 장치와 같은 미들웨어 컴포넌트를 포함하거나, 예컨대 사용자가 본 명세서에서 설명한 주제의 구현물과 상호 작용할 수 있는 웹 브라우저나 그래픽 유저 인터페이스를 갖는 클라이언트 컴퓨터와 같은 프론트엔드 컴포넌트 혹은 그러한 백엔드, 미들웨어 혹은 프론트엔드 컴포넌트의 하나 이상의 모든 조합을 포함하는 연산 시스템에서 구현될 수도 있다. 시스템의 컴포넌트는 예를 들어, 통신 네트워크와 같은 디지털 데이터 통신의 어떠한 형태나 매체에 의해서도 상호 접속 가능하다.Implementations that implement the technical features described herein may include backend components, for example, data devices, or middleware components, for example, application devices, or, for example, users may use implementations of the subject matter described herein. It may be implemented in a front-end component, such as a web browser or a client computer with a graphical user interface capable of interacting with the computer, or in a computing system that includes any combination of one or more of such back-end, middleware, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication, for example, a telecommunications network.

이하, 상기 기술한 내용과 더불어 본 명세서에 기술한 비로그인 사용자 메인 상품 추천 방법이 포함하는 구성들을 구현할 수 있는 보다 구체적인 실시 예에 대하여 자세히 기술하도록 한다.Hereinafter, in addition to the content described above, a more specific example that can implement the components included in the main product recommendation method for a non-logged user described in this specification will be described in detail.

본 명세서에서 기술한 비로그인 사용자 메인 상품 추천 방법은 클라이언트 디바이스 또는 웹 기반의 스토리지 시스템과 관련된 장치 또는 장치에 포함된 하나 이상의 프로세서(Processor) 상에서 컴퓨터 소프트웨어, 프로그램 코드 또는 명령어를 실행하는 수단을 통해 부분적 또는 전체적으로 사용될 수 있다. 여기서 프로세서는 장치, 클라이언트, 네트워크 인프라 구조, 모바일 컴퓨팅 플랫폼, 고정 컴퓨팅 플랫폼 등과 같은 컴퓨팅 플랫폼 중 일부일 수 있으며, 구체적으로 프로그램 명령어, 코드 등을 실행할 수 있는 컴퓨터 또는 프로세싱 디바이스의 한 종류일 수 있다. 또한, 프로세서는 비로그인 사용자 메인 상품 추천 방법, 명령어, 코드 및 프로그램을 저장하는 메모리를 더 포함할 수 있으며, 메모리를 포함하지 않는 경우 별도의 인터페이스를 통해 비로그인 사용자 메인 상품 추천 방법, 명령어, 코드 및 프로그램이 저장된 CD-ROM, DVD, 메모리, 하드 디스크, 플래시 드라이브, RAM, ROM, 캐시 등과 같은 스토리지 디바이스에 접근(Access)할 수도 있다. The non-logged user main product recommendation method described herein is partially implemented through means of executing computer software, program code, or instructions on a client device or a device related to a web-based storage system or one or more processors included in the device. Or it can be used as a whole. Here, the processor may be part of a computing platform such as a device, client, network infrastructure, mobile computing platform, stationary computing platform, etc., and may specifically be a type of computer or processing device capable of executing program instructions, code, etc. In addition, the processor may further include a memory for storing a non-logged-in user main product recommendation method, commands, codes, and programs. If the processor does not include memory, the non-logged-in user main product recommendation method, commands, and codes may be stored through a separate interface. It is also possible to access storage devices such as CD-ROM, DVD, memory, hard disk, flash drive, RAM, ROM, cache, etc. where the program is stored.

또한, 본 명세서에서 기술한 비로그인 사용자 메인 상품 추천 방법은 장치, 클라이언트, 게이트웨이, 허브, 라우터 또는 네트워크 하드웨어 상의 컴퓨터 소프트웨어를 실행하는 장치를 통해 부분적 또는 전체적으로 사용될 수 있다. 여기서 소프트웨어는 파일 장치, 프린트 장치, 도메인 장치, 인터넷 장치, 인트라넷 장치, 호스트 장치, 분산 장치 등과같이 다양한 종류의 장치에서 실행될 수 있으며, 상기 언급한 장치들은 메모리, 프로세서, 컴퓨터에서 판독 가능한 저장매체, 스토리지 매체, 통신 디바이스, 포트, 클라이언트 그리고 다른 장치들을 유/무선 네트워크를 통해 접근할 수 있는 인터페이스를 더 포함할 수 있다. 또한, 비로그인 사용자 메인 상품 추천 방법, 명령어, 코드 등 역시 장치에 의해 실행될 수 있으며, 비로그인 사용자 메인 상품 추천 방법을 실행하기 위해 필요한 다른 디바이스들은 장치와 연관된 계층구조의 일 부분으로 구현될 수 있다. Additionally, the non-logged user main product recommendation method described herein may be used partially or entirely through a device, client, gateway, hub, router, or device running computer software on network hardware. Here, the software can be executed on various types of devices such as file devices, print devices, domain devices, Internet devices, intranet devices, host devices, distributed devices, etc., and the above-mentioned devices include memory, processor, computer-readable storage medium, It may further include an interface for accessing storage media, communication devices, ports, clients, and other devices through wired/wireless networks. Additionally, non-logged user main product recommendation methods, commands, codes, etc. may also be executed by the device, and other devices required to execute the non-logged user main product recommendation method may be implemented as part of a hierarchy associated with the device. .

아울러, 장치는 클라이언트, 다른 장치, 프린터, 데이터베이스 장치, 프린트 장치, 파일 장치, 통신 장치, 분산 장치 등을 제한 없이 포함하는 다른 디바이스에게 인터페이스를 제공할 수 있으며, 인터페이스를 통한 연결은 유/무선 네트워크를 통해 프로그램의 원격 실행을 용이하게 할 수 있다. 또한, 인터페이스를 통해 장치에 연결된 디바이스 중 어느 것이라도 비로그인 사용자 메인 상품 추천 방법, 명령어, 코드 등을 저장할 수 있는 적어도 하나의 스토리지 디바이스를 더 포함할 수 있으며, 장치의 중앙 프로세서는 상이한 디바이스 상에서 실행될 명령어, 코드 등을 디바이스에 제공하여 스토리지 디바이스에 저장되게 할 수 있다.In addition, the device can provide an interface to other devices, including without limitation clients, other devices, printers, database devices, print devices, file devices, communication devices, distribution devices, etc., and connections through the interface can be made through wired/wireless networks. It is possible to facilitate remote execution of programs. In addition, any of the devices connected to the device through the interface may further include at least one storage device capable of storing a non-logged-in user main product recommendation method, commands, code, etc., and the central processor of the device may be executed on a different device. Commands, codes, etc. can be provided to the device and stored in the storage device.

한편, 본 명세서에서 기술한 비로그인 사용자 메인 상품 추천 방법은 네트워크 인프라구조를 통해 부분적 또는 전체적으로 사용될 수 있다. 여기서 네트워크 인프라구조는 컴퓨팅 디바이스, 장치, 라우터, 허브, 방화벽, 클라이언트, 개인용 컴퓨터, 통신 디바이스, 라우팅 디바이스 등과 같은 디바이스와 각각의 기능을 실행할 수 있는 별도의 모듈 등을 모두 포함할 수 있으며, 상기 언급한 디바이스와 모듈 외에 스토리 플래시 메모리, 버퍼, 스택, RAM, ROM 등과 같은 스토리지 매체를 더 포함할 수 있다. 또한, 비로그인 사용자 메인 상품 추천 방법, 명령어, 코드 등 역시 네트워크 인프라구조가 포함하는 디바이스, 모듈, 스토리지 매체 중 어느 하나에 의해 실행 및 저장될 수 있으며, 비로그인 사용자 메인 상품 추천 방법을 실행하기 위해 필요한 다른 디바이스 역시 네트워크 인프라구조의 일 부분으로 구현될 수 있다.Meanwhile, the non-logged user main product recommendation method described in this specification can be used partially or entirely through a network infrastructure. Here, the network infrastructure may include devices such as computing devices, devices, routers, hubs, firewalls, clients, personal computers, communication devices, routing devices, etc., as well as separate modules capable of executing each function, as mentioned above. In addition to one device and module, it may further include storage media such as story flash memory, buffer, stack, RAM, ROM, etc. In addition, the non-login user main product recommendation method, commands, codes, etc. can also be executed and stored by any one of the devices, modules, and storage media included in the network infrastructure, and are used to execute the non-login user main product recommendation method. Other devices as needed may also be implemented as part of the network infrastructure.

또한, 본 명세서에서 기술한 비로그인 사용자 메인 상품 추천 방법은 하드웨어 또는 특정 애플리케이션(Application)에 적합한 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 여기서 하드웨어는 개인용 컴퓨터, 이동통신 단말기 등과 같은 범용 컴퓨터 디바이스와 기업형 특정 컴퓨터 디바이스를 모두 포함하며, 컴퓨터 디바이스는 메모리, 마이크로프로세서, 마이크로콘트롤러, 디지털 신호 프로세서, 애플리케이션 집적 회로, 프로그래머블 게이트 어레이, 프로그래머블 어레이 조직 등을 포함하는 디바이스 또는 이들의 조합으로 구현될 수 있다. Additionally, the non-logged user main product recommendation method described in this specification may be implemented with hardware or a combination of hardware and software suitable for a specific application. Here, hardware includes both general-purpose computer devices such as personal computers and mobile communication terminals and enterprise-specific computer devices, and computer devices include memory, microprocessors, microcontrollers, digital signal processors, application integrated circuits, programmable gate arrays, and programmable array organizations. It may be implemented as a device including, or a combination thereof.

이상에서 기술한 컴퓨터 소프트웨어, 명령어, 코드 등은 판독 가능한 디바이스에 의해 저장 또는 접근될 수 있으며, 여기서 판독 가능한 디바이스는 일정 시간 간격 동안 컴퓨팅하는데 사용되는 디지털 데이터를 구비하는 컴퓨터 컴포넌트, RAM 또는 ROM과 같은 반도체 스토리지, 광디스크와 같은 영구적인 스토리지, 하드 디스크, 테이프, 드럼 등과 같은 대용량 스토리지, CD 또는 DVD와 같은 광 스토리지, 플래시 메모리, 플로피 디스크, 자기 테이프, 페이퍼 테이프, 독립형 RAM 디스크, 컴퓨터로부터 착탈 가능한 대용량 스토리지와 동적 메모리, 정적 메모리, 가변 스토리지, 클라우드와 같은 네트워크 접속형 스토리지 등과 같은 메모리를 포함할 수 있다. 한편, 여기서 명령어와 코드 등은 SQL, dBase 등과 같은 데이터 지향 언어, C, Objective C, C++, 어셈블리 등과 같은 시스템 언어, Java, NET 등과 같은 아키텍처 언어, PHP, Ruby, Perl, Python 등과 같은 애플리케이션 언어 등과 같은 언어들을 모두 포함하지만, 이에 한정되지는 않고 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 널리 알려진 언어들을 모두 포함할 수 있다. The computer software, instructions, codes, etc. described above may be stored or accessed by a readable device, where the readable device is a computer component, such as RAM or ROM, that contains digital data used for computing during a certain time interval. Semiconductor storage, permanent storage such as optical disks, mass storage such as hard disks, tapes, drums, etc., optical storage such as CDs or DVDs, flash memory, floppy disks, magnetic tapes, paper tapes, independent RAM disks, large capacity removable from the computer. It may include storage and memory such as dynamic memory, static memory, variable storage, and network-attached storage such as cloud. Meanwhile, the commands and codes here include data-oriented languages such as SQL, dBase, etc., system languages such as C, Objective C, C++, assembly, etc., architectural languages such as Java, NET, etc., and application languages such as PHP, Ruby, Perl, Python, etc. It includes all the same languages, but is not limited thereto, and may include all languages widely known to those skilled in the art in the technical field to which the present invention pertains.

또한, 본 명세서에서 기술한 "컴퓨터에서 판독 가능한 기록매체"는 프로그램 실행을 위해 명령어를 프로세서로 제공하는데 기여하는 모든 매체를 포함한다. 구체적으로 데이터 스토리지 디바이스, 광디스크, 자기 디스크 등과 같은 비휘발성 매체, 동적 메모리 등과 같은 휘발성 매체와 데이터를 전송하는 동축 케이블, 구리 와이어, 광섬유 등과 같은 전송 매체를 포함하지만 이에 한정되지는 않는다. Additionally, the “computer-readable recording medium” described in this specification includes all media that contribute to providing instructions to the processor for program execution. Specifically, it includes, but is not limited to, non-volatile media such as data storage devices, optical disks, magnetic disks, etc., volatile media such as dynamic memory, and transmission media such as coaxial cables, copper wires, optical fibers, etc. that transmit data.

한편, 본 명세서에 첨부된 도면에 도시된 블록도와 순서도에 포함된 본 발명의 기술적 특징을 실행하는 구성들은 상기 구성들 사이의 논리적인 경계를 의미한다. 그러나 소프트웨어나 하드웨어의 실시 예에 따르면, 도시된 구성들과 그 기능들은 독립형 소프트웨어 모듈, 모놀리식 소프트웨어 구조, 코드, 서비스 및 이들을 조합한 형태로 실행되며, 저장된 프로그램 코드, 명령어 등을 실행할 수 있는 프로세서를 구비한 컴퓨터에서 실행 가능한 매체에 저장되어 그 기능들이 구현될 수 있으므로 이러한 모든 실시 예 역시 본 발명의 권리범위 내에 속하는 것으로 보아야 할 것이다.Meanwhile, configurations that implement the technical features of the present invention included in the block diagram and flow chart shown in the drawings attached to this specification represent logical boundaries between the configurations. However, according to an embodiment of the software or hardware, the depicted configurations and their functions are executed in the form of stand-alone software modules, monolithic software structures, codes, services, and combinations thereof, and can execute stored program code, instructions, etc. Since the functions can be implemented by being stored in a medium executable on a computer equipped with a processor, all of these embodiments should also be regarded as falling within the scope of the present invention.

따라서, 첨부된 도면과 그에 대한 기술은 본 발명의 기술적 특징을 설명하기는 하나, 이러한 기술적 특징을 구현하기 위한 소프트웨어의 특정 배열이 분명하게 언급되지 않는 한, 단순히 추론되어서는 안된다. 즉, 이상에서 기술한 다양한 실시 예들이 존재할 수 있으며, 그러한 실시 예들이 본 발명과 동일한 기술적 특징을 보유하면서 일부 변형될 수 있으므로, 이 역시 본 발명의 권리범위 내에 속하는 것으로 보아야 할 것이다. Accordingly, although the attached drawings and their descriptions illustrate the technical features of the present invention, they should not be simply inferred unless a specific arrangement of software for implementing these technical features is clearly stated. In other words, various embodiments described above may exist, and since such embodiments may be partially modified while retaining the same technical features as the present invention, these should also be regarded as falling within the scope of the present invention.

또한, 순서도의 경우 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 가장 바람직한 결과를 얻기 위하여 도시된 것으로서, 도시된 특정한 순서나 순차적인 순서대로 그러한 동작들을 반드시 실행되어야 한다거나 모든 도시된 동작들이 반드시 실행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티 태스킹과 병렬 프로세싱이 유리할 수 있다. 아울러, 이상에서 기술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징될 수 있다는 점을 이해하여야 한다.In addition, in the case of a flowchart, operations are depicted in the drawing in a specific order, but this is shown to obtain the most desirable results, and such operations must be executed in the specific order or sequential order shown, or all illustrated operations must be executed. It should not be understood as something that must be done. In certain cases, multitasking and parallel processing may be advantageous. Additionally, the separation of the various system components of the embodiments described above should not be construed as requiring such separation in all embodiments, and the program components and systems described are generally integrated together into a single software product or integrated into multiple software products. It should be understood that it can be packaged.

이와 같이, 본 명세서는 그 제시된 구체적인 용어에 의해 본 발명을 제한하려는 의도가 아니다. 따라서, 이상에서 기술한 실시 예를 참조하여 본 발명을 상세하게 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 본 발명의 범위를 벗어나지 않으면서도 본 실시 예들에 대한 개조, 변경 및 변형을 가할 수 있다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 권리범위에 포함되는 것으로 해석되어야 한다.As such, this specification is not intended to limit the invention to the specific terms presented. Accordingly, although the present invention has been described in detail with reference to the embodiments described above, those skilled in the art can make modifications, changes, and modifications to the embodiments without departing from the scope of the present invention. Transformations can be made. The scope of the present invention is indicated by the claims described later rather than the detailed description above, and the meaning and scope of the claims and all changes or modified forms derived from the equivalent concept are interpreted to be included in the scope of rights of the present invention. It has to be.

100: 상품 추천 서버
110: 송수신부
120: 제어부
130: 저장부
200: 사용자 단말
100: Product recommendation server
110: Transmitter and receiver
120: control unit
130: storage unit
200: user terminal

Claims (12)

비로그인 사용자의 사용자 단말로부터 상기 비로그인 사용자의 이용 정보를 수신하고, 생성된 추천 카테고리 상품 정보를 사용자 단말에 전달하는 송수신부;
상기 이용 정보 기반으로 최신성이 반영된 카테고리 관심 점수를 산출하고, 카테고리 관심 점수를 이용하여 카테고리 점수를 산출한 후 카테고리 점수 정보와 모바일 오픈마켓 메인 상품의 카테고리 정보를 결합하여 상기 추천 카테고리 상품 정보를 생성하는 제어부;
상기 이용 정보, 상기 카테고리 관심 점수, 상기 카테고리 점수, 모바일 오픈마켓 메인 상품과 관련된 카테고리 정보 및 상기 추천 카테고리 상품 정보가 저장된 저장부;
를 포함하는 상품 추천 서버
a transceiver unit that receives usage information of the non-logged-in user from the non-logged-in user's user terminal and transmits the generated recommended category product information to the user terminal;
Based on the usage information, a category interest score that reflects the latest is calculated, a category score is calculated using the category interest score, and the recommended category product information is generated by combining the category score information with the category information of the mobile open market main product. a control unit that does;
a storage unit storing the usage information, the category interest score, the category score, category information related to the mobile open market main product, and the recommended category product information;
Product recommendation server including
제1항에 있어서,
상기 이용 정보는 상기 비로그인 사용자의 최신 이용 시점 정보로써 저장되는 것을 특징으로 하는 상품 추천 서버
According to paragraph 1,
The product recommendation server, wherein the usage information is stored as information on the latest usage point of the non-logged-in user.
제1항에 있어서,
상기 이용 정보는 상기 비로그인 사용자가 로그인을 한번이라도 하게 되면 쿠키(Cookie)에 보관되는 mid(Member id)를 포함하는 것을 특징으로 하는 상품 추천 서버
According to paragraph 1,
The usage information is a product recommendation server characterized in that it includes mid (Member id) stored in a cookie when the non-logged-in user logs in at least once.
제1항에 있어서,
상기 이용 정보는 상품의 분류에 있어 대분류, 중분류 및 소분류 카테고리 중 어느 하나 이상을 포함하는 것을 특징으로 하는 상품 추천 서버
According to paragraph 1,
The usage information is a product recommendation server characterized in that it includes one or more of the major, medium, and small categories in product classification.
제1항에 있어서,
상기 카테고리 관심 점수는 산출되는 과정에서 상기 비로그인 사용자의 이용 정보에 상품 클릭 횟수가 가중치로 적용되는 것을 특징으로 하는 상품 추천 서버
According to paragraph 1,
A product recommendation server wherein the number of product clicks is applied as a weight to the usage information of the non-logged-in user in the process of calculating the category interest score.
제1항에 있어서,
상기 카테고리 점수는 상기 비로그인 사용자에 의한 상품의 조회, 찜 하기, 장바구니 담기 및 구매 중 어느 하나 이상의 수행에 따른 상기 이용 정보를 수집한 후 상기 수집된 이용 정보를 기초로 산출된 카테고리별 카테고리 관심 점수를 ALS(Alternating Least Square) 알고리즘에 입력하여 산출되는 것을 특징으로 하는 상품 추천 서버
According to paragraph 1,
The category score is a category interest score for each category calculated based on the collected usage information after collecting the usage information according to one or more of viewing, wishing, adding to the shopping cart, and purchasing the product by the non-logged-in user. A product recommendation server characterized by being calculated by inputting into the ALS (Alternating Least Square) algorithm.
상품 추천 서버가 메인 상품을 추천하는 방법에 있어서,
(a) 비로그인 사용자의 사용자 단말로부터 상기 비로그인 사용자의 이용 정보를 수신하는 단계;
(b) 상기 이용 정보를 저장하는 단계;
(c) 상기 이용 정보를 기반으로 최신성을 반영한 카테고리 관심 점수를 산출하는 단계;
(d) 상기 카테고리 관심 점수를 이용하여 카테고리 점수를 산출하는 단계;
(e) 상기 카테고리 점수 정보와 모바일 오픈마켓 메인 상품의 카테고리 정보를 결합하여 추천 카테고리 상품 정보를 생성하고, 상기 추천 카테고리 상품 정보를 상기 사용자 단말에 전달하는 단계;
를 포함하는 상품 추천 방법
In the method of the product recommendation server recommending the main product,
(a) receiving usage information of the non-login user from the non-login user's user terminal;
(b) storing the usage information;
(c) calculating a category interest score reflecting recency based on the usage information;
(d) calculating a category score using the category interest score;
(e) generating recommended category product information by combining the category score information and category information of the mobile open market main product, and transmitting the recommended category product information to the user terminal;
Product recommendation method including
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020160143602A 2016-10-31 2016-10-31 Main product recommendation server and method for the user without login using category recommendation KR102610665B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160143602A KR102610665B1 (en) 2016-10-31 2016-10-31 Main product recommendation server and method for the user without login using category recommendation
PCT/KR2016/015567 WO2018079939A1 (en) 2016-10-31 2016-12-30 Non-logged-in user main product recommendation server and method using category recommendation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160143602A KR102610665B1 (en) 2016-10-31 2016-10-31 Main product recommendation server and method for the user without login using category recommendation

Publications (2)

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

Family

ID=62025125

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160143602A KR102610665B1 (en) 2016-10-31 2016-10-31 Main product recommendation server and method for the user without login using category recommendation

Country Status (2)

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

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109214886B (en) * 2018-08-14 2023-09-22 平安科技(深圳)有限公司 Commodity recommendation method, system and storage medium
KR20200079913A (en) * 2018-12-26 2020-07-06 삼성전자주식회사 Method for dynamically recommending catalog and electonic device therof
KR102008696B1 (en) 2019-03-27 2019-08-08 주식회사 페이크럭스컴퍼니 Apparatus and method for recommending goods based on clustering of transaction history data
CN110503506B (en) * 2019-07-05 2022-07-08 平安科技(深圳)有限公司 Item recommendation method, device and medium based on grading data
KR20200114969A (en) 2019-08-01 2020-10-07 주식회사 페이크럭스컴퍼니 Apparatus and method for recommending goods based on clustering of transaction history data
CN110689383B (en) * 2019-10-12 2023-08-22 腾讯科技(深圳)有限公司 Information pushing method, device, server and storage medium
CN111461829A (en) * 2020-03-31 2020-07-28 深圳市优达智胜科技有限公司 Internet-based mobile e-commerce sale system
KR102399837B1 (en) * 2020-05-11 2022-05-19 네이버 주식회사 Method and system for extracting product category for shopping search
KR102314730B1 (en) * 2021-07-27 2021-10-19 (주)비즈포비즈 Server providing product sales service and operation method thereof
KR102369960B1 (en) 2021-07-30 2022-03-04 쿠팡 주식회사 Electronic apparatus for providing information based on existence of a user account and method thereof

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5900154B2 (en) * 2012-05-23 2016-04-06 富士通株式会社 Product recommendation method and server device
KR102146987B1 (en) * 2013-09-03 2020-08-24 에스케이플래닛 주식회사 System and method for products recommendation service, and apparatus applied to the same
KR101646312B1 (en) * 2013-12-06 2016-08-08 조은영 Personal Action-Based Interest and Preference Analysis Method and System
KR102210442B1 (en) 2014-02-26 2021-02-02 에스케이플래닛 주식회사 Method of generating category preference for each user, method of recommending products using the same and apparatus for the same
US10789634B2 (en) * 2014-12-08 2020-09-29 Lg Cns Co., Ltd. Personalized recommendation method and system, and computer-readable record medium

Also Published As

Publication number Publication date
KR20180047489A (en) 2018-05-10
WO2018079939A1 (en) 2018-05-03

Similar Documents

Publication Publication Date Title
KR102610665B1 (en) Main product recommendation server and method for the user without login using category recommendation
US11140233B2 (en) System and method for separating content site visitor profiles
US11870841B2 (en) System and method for constructing content site visitor profiles
JP6511455B2 (en) Method and system for extracting features of user behavior and personalizing recommendations
Eirinaki et al. Web mining for web personalization
US7725840B2 (en) System and method for modifying links within a web site
US8700603B2 (en) Computerized system and method for advanced advertising
Langhnoja et al. Web usage mining using association rule mining on clustered data for pattern discovery
US10198524B1 (en) Dynamic categories
US20240022642A1 (en) System and method for separating content site visitor profiles
KR20180047467A (en) System and method for providing user profile
Sathiyamoorthi et al. Data preparation techniques for web usage mining in world wide web-an approach
Ghavare et al. Big data classification of users navigation and behavior using web server logs
KR101907545B1 (en) Method for targeting visitors using real-time context and method for recommending goods or contests using the same
Raiyani et al. Enhance preprocessing technique Distinct user identification using web log usage data
Chakraborty et al. Measuring the Effectiveness of Knowledge Driven Web Applications
Ziman Collaborative Filtering Method of Web Service Recommendation Based on Location Aware and Personalized
Kiruthika et al. WEB PERSONALIZATION
David et al. Implementing Web Data Mining Framework for Online Clothes Shopping
Aaron Jr AppXimity: a context-aware mobile application management framework
CN107679044A (en) A kind of Web algorithms of ecommerce Customer access model
Lokhande et al. Analysis and design of web personalization systems for E-Commerce
WO2009103820A1 (en) Systems and methods for acquiring, collecting and processing data relating to remotely or locally accessed electronic documents or applications
JP2002150104A (en) Link information generating and display system to tie-up shopping site and other portal site

Legal Events

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