KR101674203B1 - System and Method for recommending item, and device thereof - Google Patents

System and Method for recommending item, and device thereof Download PDF

Info

Publication number
KR101674203B1
KR101674203B1 KR1020150047054A KR20150047054A KR101674203B1 KR 101674203 B1 KR101674203 B1 KR 101674203B1 KR 1020150047054 A KR1020150047054 A KR 1020150047054A KR 20150047054 A KR20150047054 A KR 20150047054A KR 101674203 B1 KR101674203 B1 KR 101674203B1
Authority
KR
South Korea
Prior art keywords
window
user
article
similarity
weight
Prior art date
Application number
KR1020150047054A
Other languages
Korean (ko)
Other versions
KR20160118644A (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 KR1020150047054A priority Critical patent/KR101674203B1/en
Publication of KR20160118644A publication Critical patent/KR20160118644A/en
Application granted granted Critical
Publication of KR101674203B1 publication Critical patent/KR101674203B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/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/0263Targeted advertisements based upon Internet or website rating

Landscapes

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

Abstract

본 발명에서는 물품 추천 시스템 및 방법, 이를 위한 장치가 개시된다. 구체적으로, 가중치가 반영된 윈도우(weighted-window) 기반으로 물품을 추천하는 방법에 있어서, 물품 간 유사도를 계산하는 단계, 소정의 기간의 윈도우 내 물품에 대하여 상기 윈도우 내 다른 물품과의 상기 물품 간 유사도를 합산하여 상기 윈도우 내 각 물품 별로 유사도 점수를 산출하는 단계, 상기 윈도우 내 물품 별로 가중치를 설정하는 단계, 상기 유사도 점수의 랭킹을 이용하여 상기 윈도우 내 물품 별로 설정된 가중치를 조정하는 단계, 상기 윈도우 내 물품 별로 상기 조정된 가중치가 반영된 상기 물품 간 유사도를 합산하여 추천 점수를 산출하는 단계 및 상기 추천 점수가 가장 높은 소정의 개수의 물품을 추천하는 단계를 포함할 수 있다.An article recommendation system and method and an apparatus therefor are disclosed. Specifically, a method for recommending an article based on a weighted-window in which a weight is reflected, the method comprising: calculating similarity between articles; calculating a degree of similarity between the articles with other articles in the window, Calculating a similarity score for each item in the window, setting a weight for each item in the window, adjusting a weight set for each item in the window using the ranking of the degree of similarity score, Calculating a recommendation score by summing up the similarities between the products, on which the adjusted weight is reflected, and recommending a predetermined number of articles having the highest recommendation score.

Description

물품 추천 시스템 및 방법, 이를 위한 장치 {System and Method for recommending item, and device thereof}[0001] SYSTEM AND METHOD FOR RECOMMENDED ITEMS, AND DEVICE [0002]

본 발명은 물품 추천 방법에 관한 것으로서, 보다 상세하게 가중치가 반영된 윈도우(weighted-window) 기반의 물품 추천 시스템 및 방법, 이를 위한 장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an article recommendation method, and more particularly, to a weighted-window based article recommendation system and method, and an apparatus therefor.

오늘 날, 물품을 구매하기 위해 상업적 웹사이트를 방문하게 되면, 각각의 웹사이트는 사용자의 구매 성향에 맞추어 적절한 물품을 추천하게 된다. 이들 추천 시스템은 사용자에게 관심 물품을 찾는 수고를 덜어줄 뿐만 아니라, 사용자가 관심을 가질만한 아이템을 제안하여, 사용자가 잘 모르는 연관된 아이템까지 발견하여 구매할 수 있게끔 한다. Today, when you visit a commercial website to purchase items, each website will recommend the right item to suit your buying preferences. These recommendation systems alleviate the trouble of finding the items of interest to the user, suggest items that the user may be interested in, and allow the user to find and purchase related items that the user does not know well.

이렇게 상업적 수익과 밀접하게 관련된 추천 시스템은 현재까지 컨텐츠 기반 필터링(content-based filtering), 협업 필터링(collaborative filtering), 하이브리드(hybrid) 모델 등 여러 방향의 연구가 진행되고 있으며, 각 상황에 맞는 추천 시스템 모델들이 다양하게 제시되고 있다.To this end, the recommendation system closely related to commercial profits has been studied in various directions such as content-based filtering, collaborative filtering, and hybrid model, Models are presented in various ways.

그러나, 이러한 모델들은 널리 사용되고 있으며, 좋은 결과를 보여주고 있지만, 모든 환경에 적용할 수 있는 것은 아니다. 여러 문제점들 중 가장 널리 거론되는 문제점은 데이터 부족으로써, 유저 및 아이템에 대한 데이터가 충분하지 않을 때, 이러한 문제가 발생하며, 주로 새 사용자가 가입하거나, 사용자 개체 수가 충분하지 않을 때, 발생하게 된다.However, these models are widely used and show good results, but not all environments. The most prevalent problem among the various problems arises when there is insufficient data, when there is not enough data for users and items, and when the new users join or the number of user objects is insufficient .

새로운 사용자가 가입을 할 경우, 그 사용자가 여러 물품에 대해서 점수를 매기거나 관심 물품으로 등록을 한 정보가 존재하지 않으므로, 그 사용자가 어떤 물품을 선호하는지, 또는 어떤 사용자와 비슷한 구매성향을 보이는지를 판단하기가 어려우며, 따라서 물품에 대해 매긴 점수와 그를 통한 사용자들 간의 유사도를 통해 관심 물품을 예상하고 추천하는 협업 필터링(collaborative filtering) 방법은 사용하기가 어렵게 된다. When a new user joins, there is no information that the user scored or registered as a favorite item, so it is necessary to determine which item the user prefers, It is difficult to judge, and therefore, a collaborative filtering method that anticipates and recommends the interested item through the score of the item and the similarity between users through it becomes difficult to use.

한편 사이트 관점에서 바라볼 때는 사이트가 시작 된지 얼마 되지 않거나, 소규모 사이트라서 충분한 사용자 개체 수를 확보하지 못한 경우 또한 사용자들 간의 비교를 힘들게 만들므로 협업 필터링 방법이 사용되기 어렵다. 이러한 사용자 데이터 부족으로 인해 발생하는 콜드 스타트(cold-start) 문제로 인해, 이와 같은 환경에서는 각 사용자 개개인의 기록을 사용하여 물품을 추천하는 방법을 사용할 수밖에 없다.On the other hand, when the site is viewed from the point of view of the site, it is difficult to use the collaborative filtering method because the site is just started or when the user does not have enough user objects because it is a small site. Due to a cold-start problem caused by this lack of user data, in such an environment, it is inevitable to use a method of recommending articles using individual users' records.

컨텐츠 기반(Content-based)를 기반으로 사용자 각각에 맞추어 물품을 추천하는 방법이 앞의 경우에 사용될 수밖에 없는데, 컨텐츠 기반(Content-based) 시스템의 경우, 몇 가지 문제들과 한계점을 가지고 있어, 정확한 예상을 힘들게 한다. In the case of a content-based system, there are some problems and limitations, and it is not possible to use an accurate It makes the prediction difficult.

첫째, 사용자의 구매 이력을 기반으로 물품을 추천할 경우, 사용자의 이력과 비슷한 물품만 추천하게 되는 경우가 있다. 사용자의 이력에 있는 물품을 기반으로 그와 가장 흡사한, 거리가 가까운 물품들을 주로 추천하게 되기 때문이다. 둘째, 사용자의 발전, 혹은 구매 성향 변화를 반영하기 어렵다. 사용자가 물품을 구매하기 시작한 뒤, 시간이 지나 관심 분야, 및 선호 분야가 달라질 수 있지만 사용자의 이력을 그대로 반영하게 되면, 예전 기록에 주로 영향을 받아서 전과 비슷한 물품을 추천하게 된다. 이들 문제는 사용자 요구사항을 반영하기 어렵게 만들 뿐만 아니라, 사용자가 관심을 가질만한 새로운 영역의 물품을 추천하기 어렵게 만든다. First, when recommending an article based on a purchase history of a user, there is a case where only articles similar to the user's history are recommended. This is because, based on the item in the user's history, it is recommended that the items closest to him are closest in distance. Second, it is difficult to reflect changes in users' development or purchasing tendencies. After the user begins to purchase the item, the time, interests, and preferences may be different, but if the user's history is reflected as it is, it is mainly influenced by the old record and recommends similar items. These problems not only make it difficult to reflect user requirements, but also make it difficult to recommend new items of interest to users.

컨텐츠 기반 필터링(Content-based filtering)의 경우, 콜드 스타트(cold-start) 문제의 해결방안으로 처음 가입하는 사용자에게 선호 및 관심 분야를 선택하게 하는 방법이 있는데, 사용자의 선호도는 시간에 따라 변하므로 앞의 경우와 마찬가지로 적합한 물품을 추천하는데 어려움이 있을 수 있으며, 또한 시장의 트렌드가 급격하게 변하고 사용자가 이에 반응하여 구매성향이 변하는 경우에 대응하기 어렵다.In the case of content-based filtering, there is a method of solving the cold-start problem by allowing the user who is newly subscribed to select a preference and an area of interest. The user's preference changes with time It may be difficult to recommend an appropriate article as in the previous case, and it is difficult to cope with a case where the trend of the market rapidly changes and the user changes his or her purchase tendency in response to the change.

추천 시스템에 관련된 연구는 다음과 같다. The research related to the recommendation system is as follows.

1) 콜드 스타트(Cold start) 문제1) Cold start problem

먼저, 콜드 스타트(Cold start) 문제는 새 사용자나 물품이 들어왔을 경우, 이에 대한 데이터 부족으로 인해서 발생하는 문제들을 말한다. 협업 필터링(Collaborative filtering)에서는 사용자에게 추천할 물품을 예상하기 위해 사용자가 물품에 대한 점수를 매긴 것을 이용하여 그 사용자와 같은 혹은 유사한 물품에 비슷한 점수를 매긴 다른 사용자를 확인하고 비교함으로써 현재 대상 사용자의 구매 방향을 예측하고 추천한다. 이와 같은 방식으로 작동하기 때문에 사용자가 새로 가입을 하여 아직 아무 물건에도 점수를 매기지 않았거나, 혹은 새로운 아이템이 생겨서 그에 대한 다른 사용자들의 점수가 없을 경우에 이에 대한 비교가 이루어질 수 없어서 콜드 스타트(Cold start) 문제가 발생하게 된다. 새로운 시스템이 만들어졌을 때 또한 사용자 개체 부족으로 인해 비교를 할 수 없으므로 콜드 스타트(Cold start) 문제가 발생한다. 이를 극복하기 위해, 사용자의 소셜 네트워크 정보를 이용하여, 소셜 네트워크상에서 가까운 사용자와의 비교를 하는 방법, 랜덤 워크를 통한 비교, 협업 필터링과 컨텐츠 기반 필터링를 합친 하이브리드 접근 방식 등의 방법이 새롭게 제시되고 있다. 하지만 아직까지는 제한된 해결책만 존재하며, 이들을 적용할 수 없는 경우 또한 다수 존재한다.First, the cold start problem is a problem caused by a lack of data about new users or goods coming in. Collaborative filtering is a process that uses a user's scoring on an item to predict the item to recommend to the user and identifies and compares other users who score similar to the same or similar item Predict and recommend buying directions. Because it works in this way, it can not be compared if the user has joined and has not scored anything yet, or if there are no other users' scores for that new item, start problem occurs. When a new system is created, a cold start problem occurs because a comparison is not possible due to lack of user objects. In order to overcome this problem, a method of using a user's social network information, a method of comparing with a close user on a social network, a comparison using a random work, a hybrid approach combining collaboration filtering and content based filtering is newly proposed . However, there are still limited solutions, and there are many cases where these are not applicable.

컨텐츠 기반 필터링(content-based filtering)의 경우도 이와 유사하게, 새로운 사용자가 생겼을 경우에는 사용자의 이력이 존재하지 않으므로 그 사용자에 대한 성향 및 경우를 처리를 못하게 된다. 따라서 이에 대한 해결책으로 사용자가 가입을 할 때, 관심 분야를 물어 이를 기반으로 가장 관심을 가질만한 물품을 추천하는 방식이 널리 사용되고 있다. 하지만 이러한 해결책들은 시간의 변화에 따른 사용자의 변화에 따라가기는 어려운 실정이다.Similarly, in the case of content-based filtering, when there is a new user, since there is no history of the user, the user can not process the tendency and the case of the user. Therefore, as a solution to this problem, when a user joins, a method of recommending a product which is most interested based on the interest field is widely used. However, these solutions are difficult to keep up with changes in users due to changes in time.

2) 사용자 이력 윈도우(User history window)2) User history window

사용자의 이력을 사용할 때, 사용자 전체의 기록을 동일하게 보는 것이 아닌, 이력의 발생 시간 및 순서에 따라 분류하여 이를 사용자 선호도 변화 인식에 사용하는 연구가 있다. 이 연구에서는 사용자가 직접 점수를 매기는 등의 노력이 없는 상황에서 사용자의 선호도 변화를 알기 위하여 현재 시점을 기준으로 얼마나 많이 떨어져 있는지를 확인한다. 최대 며칠까지의 기록을 사용할지를 고려하고, 시간별로 비중을 얼마나 둘지를 고려하여 이를 맞춤 추천을 위한 사용자 프로필을 작성하는데 사용하였다. 이와 비슷하게 음악 추천 및 온라인 시장에서의 분석에서도 사용자 행동을 예측하는데 윈도우(window) 및 가중 윈도우 개념은 많이 사용되며, 시간 및 발생 횟수 등, 다양한 기준으로 적용되고 있다.When users' history is used, there are researches that classify the records of users as a whole according to occurrence time and order of history, not to look the same but to use it for user preference change recognition. In this study, we try to find out how much the user is away from the current point of view in order to know the change of the user 's preference in the absence of effort such as scoring. Considering the maximum number of days to record, and considering how much time is spent, we used this to create a user profile for customized recommendations. Similarly, in the music recommendation and online market analysis, the concept of window and weighted window is widely used to predict user behavior and is applied to various criteria such as time and occurrence frequency.

한국등록특허 제10-1479379호, 2014년 12월 29일 등록 (명칭: 소셜네트워크 기반의 물품평가 추천방법)Korean Registered Patent No. 10-1479379, Registered on December 29, 2014 (Name: Recommendation method of product evaluation based on social network)

온라인에서 물품을 구매하고자 할 때, 추천 시스템은 사용자에 맞춘 추천을 하게 되며, 사용자가 관심을 가질 만한 새로운 물품을 까지 추천해준다. 협업 필터링(Collaborative filtering) 등, 여러 모델들이 보다 정확한 추천을 위해 제안되었으며, 활발히 연구되고 있다. 그 중, 협업 필터링(Collaborative filtering)은 사용자 선호도를 예측하는데 좋은 결과를 보여주지만 사용자 개체 및 데이터가 부족한 환경에서는 사용자들끼리의 비교를 힘들게 하여 협업 필터링(Collaborative filtering)이 적용되기 힘들게 한다. 새로 시작하는 시스템이거나, 사용자 개체 수가 적은 경우, 문제가 발생하며, 이와 같은 상황에서는 컨텐츠 기반 필터링(content-based filtering)이 사용된다. 하지만, 컨텐츠 기반 필터링(content-based filtering)은 비슷한 물건만 추천해주거나, 사용자 성향 변화 반영 미흡 등의 여러 단점을 가지고 있다. When you want to purchase items online, the recommendation system will make recommendations that are tailored to your needs and recommend new items that you might be interested in. Several models, such as collaborative filtering, have been proposed for more accurate recommendations and are actively researched. Collaborative filtering provides good results in predicting user preferences. However, in environments where user objects and data are lacking, collaborative filtering is difficult to apply because users are hard to compare with each other. If the system is a newly started system, or if the number of user objects is small, a problem arises. In such a situation, content-based filtering is used. However, content-based filtering has several disadvantages such as recommending similar items or not reflecting changes in user's tendency.

이들 한계점들을 극복하기 위해서 사용자 구매기록에 가중 윈도우(weighted-window)를 적용하고, 사용자 구매기록 분석을 통한 윈도우 가중치 조정을 수행하는 물품 추천 시스템을 제안한다. To overcome these limitations, we propose a commodity recommendation system that applies a weighted-window to user purchase records and adjusts window weights by analyzing user purchase records.

본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, unless further departing from the spirit and scope of the invention as defined by the appended claims. It will be possible.

본 발명의 일 양상은, 가중치가 반영된 윈도우(weighted-window) 기반으로 물품을 추천하는 방법에 있어서, 물품 간 유사도를 계산하는 단계, 소정의 기간의 윈도우 내 물품에 대하여 상기 윈도우 내 다른 물품과의 상기 물품 간 유사도를 합산하여 상기 윈도우 내 각 물품 별로 유사도 점수를 산출하는 단계, 상기 윈도우 내 물품 별로 가중치를 설정하는 단계, 상기 유사도 점수의 랭킹을 이용하여 상기 윈도우 내 물품 별로 설정된 가중치를 조정하는 단계, 상기 윈도우 내 물품 별로 상기 조정된 가중치가 반영된 상기 물품 간 유사도를 합산하여 추천 점수를 산출하는 단계 및 상기 추천 점수가 가장 높은 소정의 개수의 물품을 추천하는 단계를 포함할 수 있다.According to an aspect of the present invention, there is provided a method of recommending an article on a weighted-window basis, the method comprising: calculating similarity between articles; Calculating a similarity score for each item in the window by summing the similarities between the items, setting a weight for each item in the window, adjusting a weight set for each item in the window using the ranking of the similarity score, Calculating a recommendation score by summing up the degree of similarity between the products that reflect the adjusted weight for each item in the window, and recommending a predetermined number of articles having the highest recommendation score.

가중치가 반영된 윈도우(weighted-window) 기반으로 물품을 추천하는 장치에 있어서, 물품 간 유사도를 계산하는 물품 유사성 그래프 생성 모듈 및 소정의 기간의 윈도우 내 물품에 대하여 상기 윈도우 내 다른 물품과의 상기 물품 간 유사도를 합산하여 상기 윈도우 내 각 물품 별로 유사도 점수를 산출하고, 상기 윈도우 내 물품 별로 가중치를 설정하고, 상기 유사도 점수의 랭킹을 이용하여 상기 윈도우 내 물품 별로 설정된 가중치를 조정하고, 상기 윈도우 내 물품 별로 상기 조정된 가중치가 반영된 상기 물품 간 유사도를 합산하여 추천 점수를 산출하고, 상기 추천 점수가 가장 높은 소정의 개수의 물품을 추천하는 사용자 이력 기반 랭킹 모듈을 포함할 수 있다.An apparatus for recommending an article on a weighted-window basis, the apparatus comprising: an article similarity graph generation module for calculating a degree of similarity between articles; Calculating a degree of similarity score for each item in the window by summing the degrees of similarity, setting a weight for each item in the window, adjusting a weight for each item in the window using the ranking of the degree of similarity score, And a user history-based ranking module for calculating a recommendation score by summing up the similarities between the products, on which the adjusted weight is reflected, and recommending a predetermined number of articles having the highest recommendation score.

바람직하게, 상기 가중치를 설정하는 단계는, 상기 윈도우 내 물품에 대하여 구매 시점이 최근일수록 높은 가중치를 설정할 수 있다.Preferably, the step of setting the weights may set a higher weight for the in-window article as the purchase time is more recent.

바람직하게, 상기 가중치를 조정하는 단계는, 상기 유사도 점수가 가장 낮은 물품에 부여된 가중치에서 소정 값을 차감하고, 상기 차감된 값만큼 상기 유사도 점수가 가장 높은 물품에 가중치에 합산하여 상기 가중치는 조정할 수 있다.Preferably, the step of adjusting the weights may further comprise the steps of: subtracting a predetermined value from a weight given to an article having the lowest similarity score, adding the weighted value to the article having the highest similarity score by the subtracted value, .

바람직하게, 상기 가중치를 설정하는 단계는, 선형(linear), 지수(exponential) 및 로그(log) 중 어느 하나의 형식을 이용하여 상기 가중치를 설정할 수 있다.Preferably, the weight setting step may set the weight using one of linear, exponential, and log formats.

바람직하게, 상기 물품 간 유사도를 계산하는 단계는, 물품의 각 특징 별로 서로 다른 특징 가중치를 설정하는 단계, 상기 물품의 속성을 나타내는 특징 별로 물품 간 유사도를 계산하는 단계 및 상기 특징 가중치를 반영된 상기 특징 별로 계산된 물품 간 유사도를 합산하여 상기 물품 간 유사도를 계산하는 단계를 포함할 수 있다.Preferably, the step of calculating the degree of similarity between articles includes the steps of: setting different characteristic weights for each characteristic of the article; calculating similarity between articles for each characteristic representing the property of the article; And calculating the degree of similarity between the articles by summing the degrees of similarity between the products calculated separately.

바람직하게, 상기 특징은 물품이 속한 카테고리 번호를 기반으로 계산되는 뉴메릭 특징(numeric feature), 키워드를 바탕으로 계산되는 키워드 기반 특징(keyword-based feature) 및 물품에 대한 설명을 바탕으로 계산되는 컨텐츠 기반 특징(content-based feature) 중 적어도 어느 하나일 수 있다.Preferably, the feature may be a numeric feature computed based on the category number to which the article belongs, a keyword-based feature computed based on the keyword, and a content computed based on the description of the article And a content-based feature.

바람직하게, 상기 윈도우는 사용자 이력을 기반으로 생성될 수 있다.
Preferably, the window may be generated based on user history.

본 발명의 실시예에 따르면, 사용자 성향의 변화에 민감하게 반응할 수 있고, 이를 기반으로 무의미한 추천을 제거하며, 사용자가 찾기 어려운 관련 물품 추천이 가능한 새로운 상품도 추천할 수 있다. According to the embodiment of the present invention, it is possible to respond sensitively to a change in the user's tendency, remove the meaningless recommendation based on the user's recommendation, and recommend a new product capable of recommending related articles that are difficult for the user to find.

본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
The effects obtained in the present invention are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood by those skilled in the art from the following description .

본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 발명에 대한 실시예를 제공하고, 상세한 설명과 함께 본 발명의 기술적 특징을 설명한다.
도 1은 본 발명의 일 실시예에 따른 가중치가 반영된 윈도우(weighted-window) 기반 추천 시스템을 예시하는 도면이다.
도 2는 본 발명의 일 실시예에 따른 물품 유사성 그래프 생성 모듈을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 사용자 이력 기반 랭킹 모듈을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 가중치 조정 알고리즘(Weight adjustment algorithm)을 설명하기 위한 도면이다.
도 5 및 도 6은 본 발명의 일 실시예에 따른 모든 아이템에 대한 유사도 점수 계산 알고리즘(Similarity scoring for every item)을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 가중치가 반영된 윈도우(weighted-window) 기반 물품 추천 방법을 예시하는 도면이다.
도 8은 본 발명에 따른 물품 추천 시스템과 기존 시스템과의 비교 실험 결과를 예시하는 도면이다.
도 9 및 도 10은 본 발명에 따른 물품 추천 시스템에서 가중치 조정 단계의 효과를 알아보기 위한 실험 결과를 예시하는 도면이다.
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of the specification, illustrate embodiments of the invention and, together with the description, serve to explain the technical features of the invention.
FIG. 1 is a diagram illustrating a weighted-window based recommendation system according to an exemplary embodiment of the present invention. Referring to FIG.
2 is a diagram for explaining an article similarity graph generating module according to an embodiment of the present invention.
3 is a diagram for explaining a user history-based ranking module according to an embodiment of the present invention.
4 is a diagram for explaining a weight adjustment algorithm according to an embodiment of the present invention.
5 and 6 are diagrams for explaining similarity scoring for every item for all items according to an embodiment of the present invention.
7 is a diagram illustrating a weighted-window-based article recommendation method that reflects a weight according to an embodiment of the present invention.
8 is a diagram illustrating a result of a comparison experiment between an article recommendation system and an existing system according to the present invention.
9 and 10 are diagrams illustrating experimental results for examining the effect of the weight adjustment step in the article recommendation system according to the present invention.

이하, 본 발명에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다. 이하의 상세한 설명은 본 발명의 완전한 이해를 제공하기 위해서 구체적 세부사항을 포함한다. 그러나, 당업자는 본 발명이 이러한 구체적 세부사항 없이도 실시될 수 있음을 안다. Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The following detailed description, together with the accompanying drawings, is intended to illustrate exemplary embodiments of the invention and is not intended to represent the only embodiments in which the invention may be practiced. The following detailed description includes specific details in order to provide a thorough understanding of the present invention. However, those skilled in the art will appreciate that the present invention may be practiced without these specific details.

몇몇 경우, 본 발명의 개념이 모호해지는 것을 피하기 위하여 공지의 구조 및 장치는 생략되거나, 각 구조 및 장치의 핵심기능을 중심으로 한 블록도 형식으로 도시될 수 있다. In some instances, well-known structures and devices may be omitted or may be shown in block diagram form, centering on the core functionality of each structure and device, to avoid obscuring the concepts of the present invention.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함(comprising 또는 including)"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, "일(a 또는 an)", "하나(one)", "그(the)" 및 유사 관련어는 본 발명을 기술하는 문맥에 있어서(특히, 이하의 청구항의 문맥에서) 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다.Throughout the specification, when an element is referred to as "comprising" or " including ", it is meant that the element does not exclude other elements, do. Also, the terms " part, "" module," and " module ", etc. in the specification mean a unit for processing at least one function or operation and may be implemented by hardware or software or a combination of hardware and software have. Also, the terms " a or ", "one "," the ", and the like are synonyms in the context of describing the invention (particularly in the context of the following claims) May be used in a sense including both singular and plural, unless the context clearly dictates otherwise.

이하의 설명에서 사용되는 특정 용어들은 본 발명의 이해를 돕기 위해서 제공된 것이며, 이러한 특정 용어의 사용은 본 발명의 기술적 사상을 벗어나지 않는 범위에서 다른 형태로 변경될 수 있다.The specific terminology used in the following description is provided to aid understanding of the present invention, and the use of such specific terminology may be changed into other forms without departing from the technical idea of the present invention.

컨텐츠 기반 필터링(Content-based filtering)의 문제점들과 한계점을 극복하기 위해, 본 발명에서는 가중치가 반영된 윈도우(weighted-window) 기반 추천 시스템을 제안한다. In order to overcome the problems and limitations of content-based filtering, the present invention proposes a weighted-window based recommendation system that reflects weights.

이 시스템에서는 아이템들 사이의 유사도 그래프를 여러 특징(feature)들을 적용하여 구성한 뒤, 사용자 개인의 이력 및 이력의 부분을 관리하는 윈도우(window)와 그 그래프와의 연계를 통해 기존의 문제를 해결하고자 한다. In this system, the similarity graph between items is constructed by applying various features, and then the existing problem is solved by linking the graph to the window that manages the history and history part of the user do.

사용자의 구매 이력을 사용하여 아이템을 추천하는 이 시스템은 기존 컨텐츠 기반(content-based) 방법과는 다르게, 가중치가 반영된 윈도우(weighted-window)를 기반으로 하여 사용자의 최신 구매성향을 반영할 수 있게 하였으며, 단지 사용자 구매이력 각각의 아이템과 비슷한 물품을 추천하는 것에서 벗어나, 종합적으로 연관된 물품을 새롭게 추천할 수 있게 하였다. 이를 위해, 우리는 윈도우(window)를 사용자 구매 기록에 적용하여 사용자 구매 기록의 일부분을 시간, 또는 구매 횟수에 따라 저장하고, 윈도우(window) 안의 각각 물품마다 구매 시기 혹은 순서에 따라 서로 다른 비중을 두고, 이를 이용하여 사용자의 구매 성향 변화 및 시장 트렌드에 따른 변화에 대응할 수 있게 하였다.Unlike the existing content-based method, this system, which recommends items using purchase histories of users, is based on a weighted-window that reflects the latest purchase intention of the user , Which allows users to recommend products that are related to each other in a comprehensive manner, rather than recommending items similar to each item of user purchase history. To do this, we apply a window to the user purchase record to store a portion of the user purchase history according to the time or number of purchases, and assign a different weight to each item in the window, In addition, it is possible to respond to changes in users' purchasing tendencies and changes in market trends.

다시 말해, 본 발명에서 제안하는 가중치가 반영된 윈도우(weighted-window) 기반 추천 시스템에서는 어떤 시간 혹은 구매 회수 틀 안에서의 사용자의 구매 이력에 주목하고 시간의 변화에 따른 사용자 관심사 변화를 가중치가 반영된 윈도우(weighted window)를 통해 찾아낼 수 있다. In other words, in the weighted-window based recommendation system proposed in the present invention, attention is paid to a user's purchase history within a certain time or purchase collection frame, and a change in user interest according to a change in time is detected in a window weighted window.

이하, 본 발명에 대하여 보다 구체적으로 살펴본다. Hereinafter, the present invention will be described in more detail.

사용자 이력을 충분히 반영하면서, 사용자의 변화에 맞추어 물품을 추천할 수 있는 시스템이 컨텐츠 기반 필터링(content-based filtering)의 한계를 극복하기 위해서 요구되고 있다. 상술한 바와 같이, 다른 논문에서도 언급되었던 것처럼, 사용자는 일정 시간이 지나거나 구매 횟수가 증가함에 따라 다른 단계의 사용자로 발전할 수 있다. 이 경우 사용자는 자신이 지금까지 구매한 물품과는 다른 물품에 흥미를 보이거나, 구매를 희망할 수 있다. 이 외에도 사용자가 다른 분야로 관심을 옮겨갈 가능성도 존재한다. 또한 시간에 따른 시장의 트렌드 변화의 경우, 사용자가 주로 관심을 갖는 분야가 패션 등과 같이 트렌드에 영향을 많이 받는 분야라면 이는 더욱 변화가 클 것으로 예상된다. 따라서 이런 변화에 적응하여 사용자에게 의미 있는 물품을 추천할 수 있는 시스템이 필요하다.A system capable of recommending items according to user's changes while sufficiently reflecting the user's history is required to overcome the limit of content-based filtering. As mentioned above, as mentioned in other articles, the user can develop as a user at a different stage as a certain time passes or as the number of purchases increases. In this case, the user may show interest in the article different from the article he has purchased so far, or may wish to purchase it. There is also the possibility that users may shift their attention to other areas. Also, in the case of market trend changes over time, it is expected that the fields where users are mainly interested are more affected by trends such as fashion. Therefore, there is a need for a system capable of adapting to such changes and recommending meaningful articles to the user.

도 1은 본 발명의 일 실시예에 따른 가중치가 반영된 윈도우(weighted-window) 기반 추천 시스템을 예시하는 도면이다. FIG. 1 is a diagram illustrating a weighted-window based recommendation system according to an exemplary embodiment of the present invention. Referring to FIG.

도 1을 참조하면, 가중치가 반영된 윈도우(weighted-window) 기반 추천 시스템(110)은 물품 유사성 그래프 생성 모듈(Item-based Similarity Module)(111) 및 사용자 이력 기반 랭킹 모듈(User history based Scoring Module)(112)를 포함하여 구성된다. 1, the weighted-window based recommendation system 110 includes a Item-based Similarity Module 111 and a User History Based Scoring Module 111. The item- (112).

물품 유사성 그래프 생성 모듈(Item-based Similarity Module)(111)은 물품들 사이의 유사도 그래프를 구하는 모듈로써, 각각 물품들 사이의 모든 유사도를 구하여 그래프로 구성하는 모듈이다. 여러 특징(feature)들을 적용하여 유사도를 조사하게 되며, 물품 유사성 그래프 생성 모듈(Item-based Similarity Module)(111)에서 작성된 그래프는 사용자 이력 기반 랭킹 모듈(User history based Scoring Module)(112)에서 사용되게 된다. The Item-based Similarity Module 111 is a module for obtaining a similarity graph between articles, and is a module for obtaining all similarities between articles and constructing a graph. The similarity is checked by applying various features. The graph created in the item-based similarity module 111 is used in a user history based scoring module 112 .

사용자 이력 기반 랭킹 모듈(User history based Scoring Module)(112)은 작성된 물품들 사이의 유사도 그래프와 사용자 이력 및 윈도우를 사용하여 실제 추천되는 물품을 구하는 모듈이다. 사용자 이력에 있는 아이템들과 다른 물품들 사이의 관계를 확인하고, 가중치가 반영된 윈도우(weighted window)를 사용하여 모든 물품에 대해 추천 점수를 연산한 뒤 가장 높은 점수를 갖는 n개의 물품을 추천하게 된다.The user history based scoring module 112 is a module for obtaining a product that is actually recommended using the similarity graph between the created products, the user history, and the window. It checks the relationship between the items in the user history and other items, computes a recommendation score for all items using a weighted window, and recommends n items with the highest score .

이와 같이 n개의 물품을 추출한 가중치가 반영된 윈도우(weighted-window) 기반 추천 시스템(110)은 사용자 장치(130)에서 선택한 아이템 P와 유사한 아이템 리스트(item/product list)를 제공한다. The weighted-window based recommendation system 110, which reflects the weights of the n items extracted, provides an item list (item / product list) similar to the item P selected by the user device 130.

가중치가 반영된 윈도우(weighted-window) 기반 추천 시스템(110)은 데이터 베이스(Database)(120)와 연계되어 추천 아이템을 사용자 장치(130)에 제공할 수 있다. The weighted-window based recommendation system 110, which reflects the weight, may provide a recommendation item to the user device 130 in association with the database 120.

데이터 베이스(120)는 아이템 정보(Item Information)(121)과 사용자 이력(User History)(122)를 저장한다. The database 120 stores item information 121 and a user history 122.

도 1에서는 가중치가 반영된 윈도우(weighted-window) 기반 추천 시스템(또는 장치)(110)과 데이터 베이스(Database)(120)를 별개의 구성 요소로 도시하였으나, 가중치가 반영된 윈도우(weighted-window) 기반 추천 시스템(110) 내 데이터 베이스(120)가 포함되어 구성될 수도 있다. 1, a weighted-window based recommendation system (or apparatus) 110 and a database 120 are shown as separate components, but a weighted-window based recommendation system And the database 120 in the recommendation system 110 may be included.

이하, 도면을 참조하여 물품 유사성 그래프 생성 모듈(Item-based Similarity Module)(111)에 대하여 보다 상세히 설명한다. Hereinafter, the Item-based Similarity Module 111 will be described in more detail with reference to the drawings.

도 2는 본 발명의 일 실시예에 따른 물품 유사성 그래프 생성 모듈을 설명하기 위한 도면이다. 2 is a diagram for explaining an article similarity graph generating module according to an embodiment of the present invention.

물품 유사성 그래프 생성 모듈(Item-based Similarity Module)(111)에서 물품들 사이에서의 유사성 그래프를 생성하기 위해서 가중치가 반영된 특징(weighted feature)과 자카드(Jaccard) 유사도가 사용될 수 있다. A weighted feature and Jaccard similarity may be used to generate a similarity graph between items in the Item-based Similarity Module 111. [

또한, 다양한 관점에서의 유사도를 얻기 위하여, 각 물품마다 그 물품의 중요한 속성을 대표하는 여러 특징(feature)들을 추출하고, 각 특징(feature)마다 중요도에 따라 서로 다른 가중치(weight)를 설정한다. 여기서, 물품의 특징(feature)으로 뉴메릭(numeric), 컨텐츠 기반(content-based), 키워드 기반(keyword-based) 특징 등이 사용될 수 있다. Also, in order to obtain similarity in various viewpoints, various features representing important attributes of the article are extracted for each article, and different weights are set according to importance for each feature. Here, numeric, content-based, and keyword-based features can be used as features of the article.

키워드 기반 특징(keyword-based feature)은 물품의 데이터에 존재하는 키워드를 기반으로 계산될 수 있다. 또한, 컨텐츠 기반 특징(content-based feature)은 그 물품에 대한 설명을 기반으로 계산될 수 있다. 뉴메릭 특징(numeric feature)는 현재 그 물품이 속해있는 상위 카테고리 및 하위 카테고리를 표현하는 카테고리 번호를 기반으로 계산될 수 있다. 그리고, 각각의 특징(feature)들은 가중치(weight)에 따라 각 물품들 사이의 유사도에 적용된다. A keyword-based feature may be calculated based on keywords present in the data of the article. Also, a content-based feature may be calculated based on the description of the item. A numeric feature may be computed based on the category number representing the parent category and subcategory to which the article currently belongs. Each feature is then applied to the similarity between the items according to the weight.

예를 들어, I를 m개의 물품들 집합(201), Pi를 물품 i의 l개의 특징(feature)들의 집합(202)이라고 가정하면, 다음 수학식 1과 같이 표현할 수 있다. For example, assuming that I is a set of m articles 201 and P i is a set of l features 202 of the article i, it can be expressed by the following equation (1).

Figure 112015032632310-pat00001
Figure 112015032632310-pat00001

도 2에서 pik(204)는 물품 pi에 대한 특징(feature) fk를 나타낸다. 그리고, pjk(203)은 물품 pj에 대한 특징 fk를 나타낸다. In Fig. 2, p ik (204) represents a feature f k for the article p i . And p jk (203) represents the characteristic f k for the item p j .

pi와 pj의 자카드(Jaccard) 유사도 Jk(pi, pj)는 아래 수학식 2와 같이 구할 수 있다.p i and p j of the jacquard (Jaccard) similarity Jk (p i, p j) can be calculated as shown in Equation 2 below.

Figure 112015032632310-pat00002
Figure 112015032632310-pat00002

A가 특징(feature)들의 가중치(weight)들의 집합이고 ak는 fk에 대한 가중치(weight)라고 하면, 수학식 2를 이용하여 아래 수학식 3과 같이 물품 pi와 pj의 유사도 Sim(pi,pj)(205)를 산출할 수 있다. 즉, 물품의 각 특징 별로 가중치가 반영된 유사도를 계산하고, 모든 특징에 대하여 합산하여 물품 간의 유사도를 계산한다. Assuming that A is a set of weights of features and a k is a weight for f k , the similarity Sim (p i , p j ) (205). That is, the degree of similarity in which the weights are reflected in each feature of the article is calculated, and the similarity between the articles is calculated by summing up all the features.

Figure 112015032632310-pat00003
Figure 112015032632310-pat00003

수학식 3을 모든 경우에 수행하여 전체 유사도 그래프를 얻을 수 있다.Equation (3) can be performed in all cases to obtain a total similarity graph.

이하, 도면을 참조하여 사용자 이력 기반 랭킹 모듈(User history based Scoring Module)(112)에 대하여 보다 상세히 설명한다.Hereinafter, the user history based scoring module 112 will be described in more detail with reference to the drawings.

사용자는 물품을 구매할 때마다 이력을 남기게 되는데, 이 사용자의 구매 이력이 컨텐츠 기반(content-based) 추천 시스템에서 물품을 추천하는데 핵심 데이터가 된다. 사용자 개체마다 갖는 각각의 구매 이력을 바탕으로 사용자에게 맞는 물품을 추천하게 되는데, 이렇게 단순하게 이력을 이용하게 되면 몇 가지 문제점이 생길 수 있다.The user leaves a history every time he purchases an item, and the purchasing history of the user becomes the key data for recommending articles in a content-based recommendation system. It is recommended to use an article suitable for the user on the basis of each purchasing history of each user object. If the history is simply used, some problems may arise.

첫째, 사용자가 오래 전 구매했던, 즉 사용자가 현재 사용하거나 구매하지 않는 물품까지도 추천에 반영되게 된다. 의류 및 가전제품을 예로 들면, 현재 시점으로부터 오래 전에 유행했던 스타일의 의류나, 지금은 더 이상 사용되지 않는 전자제품이 추천에 반영될 수 있다. 따라서 이렇게 현 상황에 의미가 없는 정보는 제외하는 과정이 필요하다.First, even the items that the user purchased long ago, that is, items that the user does not currently use or purchase, are reflected in the recommendation. For example, in apparel and consumer electronics, referrals may be made to clothing that has been fashioned long before the present, or which is now obsolete. Therefore, it is necessary to exclude information that is not meaningful in the present situation.

둘째, 사용자가 자주 찾던 항목만 추천하게 된다. 사용자가 비슷한 물품을 여러 번 구매할 경우, 이 이력에 비슷한 항목의 물품들만 추천하게 되는데, 이러한 물품은 너무 당연하여 사용자가 이미 알고 있을 확률도 높으며 따라서 시스템의 목적 중 하나인, 사용자가 새롭게 관심을 가질만한 물품에 대한 추천이 제대로 이루어질 수 없다. 사용자에게 새롭지만 지금까지의 구매 이력과 연관이 있는 물품을 추천해줄 수 있는 방법이 요구된다.Second, only items that users frequently search for are recommended. When a user purchases a similar item multiple times, only items of similar item are recommended in the history, and the item is so natural that the user is already at a high probability of knowing, and therefore the user, who is one of the purposes of the system, Recommendations for good products can not be made properly. There is a need for a way for users to recommend items that are new but related to the purchase history so far.

두 과제를 해결하기 위해 본 발명에서는 가중치가 반영된 윈도우(weighted window)를 사용자 이력에 적용하고, 새로운 유사도 점수 계산 방식을 적용한다. 본 발명에서 제안하는 추천 시스템에서는 사용자의 전체 구매 기록이 아닌, 부분의 기록을 사용하며, 각 물품마다 서로 다른 비중으로 추천에 반영한다. In order to solve the two problems, the present invention applies a weighted window to a user's history and applies a new similarity score calculation method. In the recommendation system proposed in the present invention, the portion of the record is used instead of the entire purchasing record of the user, and the recommendation system reflects the recommendation with a different weight for each article.

가중치가 반영된 윈도우(weighted window)에 대하여 살펴본다.A weighted window is considered.

본 발명에서 제안하는 추천 시스템은 사용자 전체 이력이 아닌 최근 및 최신 몇 개의 구매 기록을 반영한다. The recommendation system proposed in the present invention reflects recent and recent purchase records rather than the user's entire history.

이를 위해 윈도우(window) 개념을 이용하여 최근 발생된 n개의 아이템들만 윈도우(window) W 안에 포함시킨다. To do this, only the n most recently generated items are included in the window W using the window concept.

윈도우는 시간적으로 일정 기간으로 설정되거나, 구매 물품 개수 또는 구매 물품 횟수 등으로 설정될 수 있다. The window may be set to a predetermined period of time, or may be set to the number of items to be purchased or the number of items to be purchased.

W의 원소 wi 는 현재 시점에서 i번째 떨어져 있는 시점에서 구매한 물품을 의미한다. The element w i of W means the item purchased at the i-th point away from the current point of view.

Figure 112015032632310-pat00004
Figure 112015032632310-pat00004

수학식 4에서 W는 사용자 이력의 일부분을 추천 시스템에 반영을 할 수 있게 하며, W의 원소 wi 는 구매한 아이템을 의미한다. 아이템 사이에서도 서로 차등 적용을 할 수 있게 원소(즉, 아이템)들마다 구매 시기에 따라서 다른 비중을 적용시킨다. In Equation 4, and W is able to reflect a part of the user record in the recommendation system, the elements w i of W means a purchased item. Items (ie, items) apply different weightings depending on the purchase timing so that they can be applied differently among the items.

Figure 112015032632310-pat00005
Figure 112015032632310-pat00005

수학식 5에서 R은 W의 각 원소에 대응하는 가중치(weight)의 집합이다. 그리고, ri는 wi의 가중치(weight)이다.In Equation (5), R is a set of weights corresponding to each element of W. And r i is the weight of w i .

R은 가장 최근의 기록이 추천에 가장 많이 반영될 수 있게 가중치(weight)를 적용한다. 즉, 가장 최근에 구매된 물품에 가장 큰 가중치를 부여하고, 가장 이전에 구매된 물품에 가장 작은 가중치를 부여한다. 예를 들어, 선형(linear), 지수(exponential), 로그(log) 등의 형식을 사용하여 물품들 각각의 가중치(weight)를 설정할 수 있다. R applies a weight so that the most recent record is most likely to be reflected in the recommendation. That is, we give the largest weight to the most recently purchased item, and give the smallest weight to the most recently purchased item. For example, the weight of each of the items can be set using a format such as linear, exponential, log, and the like.

이는 물품들이 어떤 영역에 속해있는지에 따라서 변할 수 있으며, 아래 수학식 6과 같이 1로 정규화(normalize)를 한다. This may vary depending on what area the items belong to and normalize to 1 as in Equation 6 below.

Figure 112015032632310-pat00006
Figure 112015032632310-pat00006

위와 같은 방법을 이용하여 오래된 사용자의 기록은 적용하지 않으면서, 적당한 시간 범위 혹은 순서 범위 안의 기록들만 차등 비중으로 적용할 수 있다. By using the above method, it is possible to apply only the records in the appropriate time range or order range to the differential ratio without applying the records of the old users.

이러한 가중치가 반영된 윈도우(weighted window)를 적용하여 구성한 랭킹 모듈은 도 3과 같다.A ranking module constructed by applying a weighted window reflecting such a weight is shown in FIG.

도 3은 본 발명의 일 실시예에 따른 사용자 이력 기반 랭킹 모듈을 설명하기 위한 도면이다. 3 is a diagram for explaining a user history-based ranking module according to an embodiment of the present invention.

도 3을 참조하면, 사용자 이력 기반 랭킹 모듈은 두 개의 단계로 나누어볼 수 있다. Referring to FIG. 3, the user history-based ranking module can be divided into two steps.

먼저, 사용자 이력 기반 랭킹 모듈(112)은 물품들 사이의 유사도 그래프와 사용자의 이력을 바탕으로 윈도우(window) W를 생성하고, W 안의 물품 상황을 파악해 W의 가중치(weight)인 R을 수정하는 단계(Window Creation and Adjustment Stage)(303)를 수행한다. First, the user history-based ranking module 112 generates a window W based on a similarity graph between articles and a user's history, and grasps the article status in W to modify R, which is a weight of W (Window Creation and Adjustment Stage) 303 is performed.

윈도우(window) W를 생성할 때 최근의 구매 이력이 상대적으로 많은 경우, 윈도우 W는 상대적으로 작은 기간으로 설정될 수 있다. 또한, 이와 반대로 최근의 구매 이력이 상대적으로 적은 경우, 윈도우 W는 상대적으로 큰 기간으로 설정될 수 있다. If a recent purchase history is relatively large when creating a window W, the window W can be set to a relatively small period. On the contrary, when the recent purchase history is relatively small, the window W can be set to a relatively large period.

이때, 사용자 이력 기반 랭킹 모듈(112)은 물품 유사성 그래프 생성 모듈(111)로부터 유사도 그래프(similarity graph)(301)를 입력 받으며, 또한 데이터 베이스(120)로부터 사용자 이력(User History)(302)를 입력 받아, 윈도우(window) W를 생성하여 가중치(weight) R을 조정한다. At this time, the user history-based ranking module 112 receives the similarity graph 301 from the article similarity graph generation module 111 and also receives the user history 302 from the database 120 Receives the input, generates a window W, and adjusts the weight R.

그리고, 사용자 이력 기반 랭킹 모듈(112)은 W, 수정된 R, 그리고 유사도 그래프를 사용하여 모든 아이템에 대해 점수를 매겨 최종 k개의 아이템을 추천하는 단계(Scoring and Ranking Stage)(304)를 수행한다.The user history-based ranking module 112 then performs a Scoring and Ranking Stage (304) of rating the last k items by scoring all items using W, the modified R, and the similarity graph .

이때, 사용자 이력 기반 랭킹 모듈(112)은 물품 유사성 그래프 생성 모듈(111)로부터 유사도 그래프(similarity graph)(301)를 입력 받으며, 윈도우(window) W 생성 및 가중치(weight) R 수정 단계(303)에서 생성된 윈도우 W를 이용한다. At this time, the user history-based ranking module 112 receives a similarity graph 301 from the article similarity graph generation module 111, and a window W generation and weight R correction step 303, The window W is used.

먼저, 윈도우(window) W 생성 및 가중치(weight) R 수정 단계(303)에 대하여 살펴본다. First, a window W generation and weight R modifying step 303 will be described.

사용자의 구매 기록을 확인하고 윈도우(window)를 적용하여 W를 생성한 후에는 기본으로 설정된 가중치(weight) R을 현재 W 상황에 맞게 다시 조정하는 과정이 필요하다. 이 과정은 다음과 같은 상황을 대비하고, 좀 더 정확한 비중을 설정하게끔 처리하는 과정이다. 사용자가 물품을 구매할 때, 관심사가 새롭게 바뀌어 새로운 물품을 구매할 수도 있지만, 전혀 동떨어진 아이템을 단 한번 구매하거나 한번으로 충분한 구매 등, 구매 패턴을 벗어나는 경우가 존재할 수 있다. 이와 같은 단발성 거래가 최초로 시도되었을 때, 높은 비중을 가지고 반영되게 되면, 결과적으로 사용자에게 맞지 않는 결과가 나올 수 있으므로, 이에 대응하기 위해 본 발명에서는 W안의 물품 구매 기록에 대하여 다음과 같은 과정을 통해 R을 재조정 한다.After confirming the purchase history of the user and generating the W by applying the window, it is necessary to re-adjust the weight R set as the default to the current W situation. This process is to prepare for the following situations and to set a more accurate weight. When a user purchases an item, a new item of interest may be changed to purchase a new item. However, there may be a case where the item is separated from the purchase pattern, such as purchasing an item that is completely out of order, or sufficient purchase once. In order to cope with this problem, in the present invention, the product purchasing record in W is recorded as R < RTI ID = 0.0 > .

도 4는 본 발명의 일 실시예에 따른 가중치 조정 알고리즘(Weight adjustment algorithm)을 설명하기 위한 도면이다. 4 is a diagram for explaining a weight adjustment algorithm according to an embodiment of the present invention.

도 4를 참조하면, 윈도우 W, 가중치 R, 조정 요소(AF: AdjustmentFactor), 유사도 그래프(Similarity graph)가 가중치 조정 알고리즘에 입력된다. 그리고, 조정된 가중치 R'가 알고리즘 계산 결과로 출력된다. 여기서, 조정 요소(AF)는 미리 정해진 값에 해당한다. Referring to FIG. 4, a window W, a weight R, an adjustment factor (AF), and a similarity graph are input to a weight adjustment algorithm. Then, the adjusted weight R 'is output as an algorithm calculation result. Here, the adjustment element AF corresponds to a predetermined value.

사용자 구매기록 중 W 안의 구매 기록을 분석한다. 즉, 앞서 물품 유사성 그래프 생성 모듈(111)에 의해 생성된 아이템들 간의 유사도 그래프(similarity graph)를 이용하여, W 안의 한 아이템에 대해서 다른 W 안의 모든 아이템들과의 유사도를 합한다. Analyze the purchasing records in W among the user purchase records. That is, a similarity graph between items generated by the product similarity graph generation module 111 is used to sum similarities with all the items in another W for one item in W.

이를 W 안의 모든 아이템들에 의해 각각 수행한 뒤, 이 점수를 기반으로 하여 W 안의 물품들 사이에서의 유사도 점수 랭킹을 계산한다.This is done by all the items in W, and the similarity score ranking between items in W is calculated based on this score.

가장 유사도 점수가 낮은 물품의 가중치(weight)에 대해서 미리 정해진 일정 부분을 차감한 뒤, 그 만큼의 가중치(weight)를 가장 유사도 점수가 높은 물품의 가중치(weight)에 더하여 사용자의 단발성 거래 물품에 대한 반영 비율을 감소시킨다. The weight of the article having the highest degree of similarity score is subtracted from the predetermined weight and then the weight corresponding to the predetermined weight is added to the weight of the article having the highest degree of similarity score, Decrease reflectance ratio.

위와 같이, 사용자 이력 기반 랭킹 모듈(112)은 가중치 조정 알고리즘(Weight adjustment algorithm)을 기반으로 가중치 R를 수정하여 변경된 가중치(weight)의 집합 R'을 생성한다.As described above, the user history-based ranking module 112 modifies the weight R based on a weight adjustment algorithm to generate a modified set of weights R '.

위와 같이 윈도우(window)의 가중치(weight)를 조정하게 되면, 다음의 두 가지 경우에 대응할 수 있다. 사용자가 급격하게 관심사가 옮겨간 경우를 맨 처음에는 반영하기 힘들게 되지만, 그 항목에 대해 추가 구매가 발생할 경우에는 사용자가 그 항목에 대해 관심을 유지한다고 판단하고 이에 대해 더 높은 비중을 두어 추천을 생성할 수 있다. 또한, 단발성 거래가 최근에 발생했을 시, 높은 비중으로 반영되는 것에 대한 억제가 가능해 진다.When the weight of the window is adjusted as described above, it is possible to cope with the following two cases. If the user suddenly shifts his or her interests, it will be difficult to reflect at the beginning, but if additional purchases occur for the item, the user determines that he / she maintains interest in the item and generates a recommendation can do. In addition, when a one-off transaction occurred recently, it can be restrained from being reflected as a high proportion.

다음으로, 모든 아이템에 대한 점수 산출 및 아이템 추천 단계(Scoring and Ranking Stage)(304)에 대하여 살펴본다. Next, a score calculation and item recommendation step (Scoring and Ranking Stage) 304 for all items will be described.

실제 아이템별 랭킹을 매기고 k개의 가장 점수가 높은 아이템을 추천하는 단계이다. 윈도우(window) W 생성 및 가중치(weight) R 수정 단계(303)에서 생성된 W와 그 가중치인 R 및 물품 유사성 그래프를 사용하여 각 물품별로 점수를 구하고, 이에 따라 랭킹을 매긴 뒤 추천을 생성하게 된다. P를 물품들의 집합, 전체 물품 수가 m, 전체 물품들에 대한 총 점수가 S라고 하면, 아래 수학식 7과 같이 나타낼 수 있다. It is a step to rank the actual items and to recommend items with the highest k scores. A score is obtained for each item using the W generated in the window W generation and weight R modification step 303, the weight R and the product similarity graph, and ranking is performed according to each item to generate a recommendation do. P is a set of articles, m is the total number of articles, and S is the total number of articles for all articles.

Figure 112015032632310-pat00007
Figure 112015032632310-pat00007

도 5 및 도 6은 본 발명의 일 실시예에 따른 모든 아이템에 대한 유사도 점수 계산 알고리즘(Similarity scoring for every item)을 설명하기 위한 도면이다. 5 and 6 are diagrams for explaining similarity scoring for every item for all items according to an embodiment of the present invention.

도 5를 참조하면, 윈도우 W, 조정된 가중치 R'이 유사도 점수 계산 알고리즘에 입력된다. 그리고, k개의 가장 점수가 높은 아이템(T)가 알고리즘 계산 결과로 출력된다.Referring to FIG. 5, the window W and the adjusted weight R 'are input to the similarity score calculation algorithm. Then, the item (T) having the k highest scores is output as the algorithm calculation result.

물품 pu 와 물품 pv에 대한 유사도 값이 cu,v 라고 할 때, S는 도 5의 모든 아이템에 대한 유사도 점수 계산 알고리즘(Similarity scoring for every item)와 같이 계산된다. Assuming that the similarity value for the item p u and the item p v is c u, v , S is calculated as the similarity scoring for every item for all the items in FIG.

도 5 및 도 6과 같이 W의 각 원소마다 다른 물품과의 유사성을 그래프를 통해 비교하게 된다. 다만, 이를 그대로 합산하지 않고, R과의 연산을 통해 각 원소 별로 나온 유사성의 비중을 결정한다(sj=ri*ci,j+sj). As shown in FIG. 5 and FIG. 6, the similarity of each element of W with other articles is compared through a graph. However, we do not add it as it is, but we determine the weight of similarity for each element through computation with R (s j = r i * c i, j + s j ).

S의 원소 si, 즉 pi의 추천 점수는 0부터 1 사이의 값을 가지게 되며, 이 점수의 비교를 통해 가장 높은 k개의 원소를 사용자에게 추천하게 된다.Element s i, that is like the score S p i may have a value between 0 and 1, is recommended to the user with the highest k of elements by comparing the score.

윈도우(Window) 안의 모든 기록들을 한꺼번에 적용하여 계산하는 것은 다음과 같은 이유 때문이다. The reason why all the records in the window are applied together at one time is as follows.

사용자가 물품을 구매하고 그 분야에 대해 어느 정도 알고 있을 경우, 비슷한 아이템을 추천하는 것은 사용자에게 의미가 크지 않다. 이미 알고 있는 아이템을 추천하는 경우가 존재할 확률이 크며, 이와 같은 경우를 줄이기 위해, 또한 새로운 물품을 추천하기 위해 이 시스템에서는 사용자의 최근 성향을 종합적으로 분석하는 방향으로 가게 되었다. 윈도우(Window) 안의 물품들을 한꺼번에 적용하면 사용자가 지금까지 구매 했던 물품들을 종합적으로 적용하여 그 물품들에게 공통적으로 가까운 물품이 최종적으로 점수를 높게 받게 되므로, 비슷한 물품뿐만 아니라, 새로운 물품을 추천받게 되는 경우가 생기게 되며, 이는 사용자가 잘 알지 못했던 물품일 확률이 크다. 따라서 사용자의 새로운 관심 및 연관 상품 추천에 기여를 할 수 있다.Recommending a similar item is not meaningful to the user if the user purchases the item and knows a certain degree about the field. In order to reduce such cases, and to recommend new items, the system has gone into a comprehensive analysis of the user's recent tendencies. When the items in the window are applied at once, the items that the user has purchased so far are applied in a comprehensive manner, so that the items closest to the items are finally scored high, so that not only similar items but also new items are recommended There is a possibility that this is an article that the user did not know well. Thus, it can contribute to the user's new interest and related product recommendation.

도 7은 본 발명의 일 실시예에 따른 가중치가 반영된 윈도우(weighted-window) 기반 물품 추천 방법을 예시하는 도면이다. 7 is a diagram illustrating a weighted-window-based article recommendation method that reflects a weight according to an embodiment of the present invention.

도 7을 참조하면, 물품 추천 시스템(110)은 각 물품 별로 물품 간 유사도를 계산한다(S701). Referring to FIG. 7, the article recommendation system 110 calculates similarity between articles for each article (S701).

여기서, 물품 추천 시스템(110)은 물품의 각 특징 별로 서로 다른 특징 가중치를 설정하고, 물품의 속성을 나타내는 특징 별로 물품 간 유사도를 계산할 수 있다. 그리고, 특징 가중치가 반영된 상기 특징 별로 계산된 물품 간 유사도를 합산하여 물품 간 유사도를 계산할 수 있다. Here, the article recommendation system 110 can set different feature weights for each feature of the article, and calculate the degree of similarity between the articles according to the feature that indicates the attribute of the article. The degree of similarity between articles can be calculated by summing the degrees of similarity between the articles calculated for each feature, on which the feature weight is reflected.

또한, 특징은 물품이 속한 카테고리 번호를 기반으로 계산되는 뉴메릭 특징(numeric feature), 키워드를 바탕으로 계산되는 키워드 기반 특징(keyword-based feature) 및 물품에 대한 설명을 바탕으로 계산되는 컨텐츠 기반 특징(content-based feature) 중 적어도 어느 하나일 수 있다. In addition, the feature may include a numerical feature calculated based on the category number to which the article belongs, a keyword-based feature calculated based on the keyword, and a content-based feature calculated based on the description of the article or a content-based feature.

물품 추천 시스템(110)은 소정의 기간의 윈도우 내 물품에 대하여 윈도우 내 다른 물품과의 물품 간 유사도를 합산하여 상기 윈도우 내 각 물품 별로 유사도 점수를 산출한다(S703). 여기서, 윈도우는 사용자 이력을 기반으로 생성될 수 있다. The article recommendation system 110 calculates the degree of similarity for each article in the window by summing the degree of similarity between the articles and other articles in the window with respect to the articles in the window for a predetermined period of time (S703). Here, the window can be generated based on the user history.

물품 추천 시스템(110)은 윈도우 내 물품 별로 가중치를 설정한다(S705). The article recommendation system 110 sets a weight for each article in the window (S705).

여기서, 물품 추천 시스템(110)은 상기 윈도우 내 물품에 대하여 구매 시점이 최근일수록 높은 가중치를 설정할 수 있다. 이때, 선형(linear), 지수(exponential) 및 로그(log) 중 어느 하나의 형식을 이용하여 가중치를 설정할 수 있다. Here, the article recommendation system 110 can set a higher weight for the in-window article as the purchasing time is more recent. At this time, the weight can be set by using any one of linear, exponential and log formats.

물품 추천 시스템(110)은 상기 유사도 점수의 랭킹을 이용하여 상기 윈도우 내 물품 별로 설정된 가중치를 조정한다(S707). The article recommendation system 110 adjusts a weight set for each item in the window using the ranking of the similarity score (S707).

여기서, 물품 추천 시스템(110)은 유사도 점수가 가장 낮은 물품에 부여된 가중치에서 소정 값을 차감하고, 상기 차감된 값만큼 상기 유사도 점수가 가장 높은 물품에 부여된 가중치에 합산하여 가중치를 조정할 수 있다. Here, the article recommendation system 110 may adjust a weight by subtracting a predetermined value from a weight given to an article having the lowest similarity score, and adding the weighted value to the article having the highest degree of similarity score by the subtracted value .

물품 추천 시스템(110)은 윈도우 내 물품 별로 조정된 가중치가 반영된 상기 물품 간 유사도를 합산하여 추천 점수를 산출하고(S709), 추천 점수가 가장 높은 소정의 개수의 물품을 추천한다(S711).The article recommendation system 110 calculates a recommendation score by summing the similarities between the articles, which are weighted for each item in the window, in step S709, and recommends a predetermined number of articles having the highest recommendation score in step S711.

위와 같이 본 발명에 따른 가중치가 반영된 윈도우(weighted-window)를 추천 시스템에 적용함으로써, 이 시스템이 사용자가 쉽게 스스로 찾아낼 수 있는 비슷한 아이템들뿐만 아니라, 사용자의 관심을 종합적으로 판단하여 기존 시스템과는 다른 새로운 아이템을 추천할 수 있음을 확인할 수 있다. By applying the weighted window according to the present invention to the recommendation system as described above, the system can collectively determine not only similar items that the user can easily find by himself, but also the user's interest, Can recommend other new items.

본 발명에서 제안하는 시스템과 기존 시스템과의 차이점 검증 및 적절한 추천이 이루어지는지 확인하기 위해, 몇 가지 경우에 대해 실험하였다. In order to verify the difference between the system proposed in the present invention and the existing system, and to make an appropriate recommendation, some cases were experimented.

실험은 총 313개의 아이템을 대상으로 하였으며, 이는 사용자 수가 부족하고 물품의 수가 크지 않아 제시된 시스템을 검증하기에 적합한 데이터라고 할 수 있다. 입력으로는 물품의 ID 및 물품이 속해있는 카테고리, 그리고 사용자 구매 이력을 받았으며, 윈도우의 기본 가중치(weight)는 가장 최근의 기록이 가장 높은 값을 갖도록 하여 선형으로 분산하였다. 각 실험은 무작위의 경우, 무작위 사용자 기록 및 입력 생성을 통해 생성하였고, 패턴이 있는 입력 및 사용자 기록의 경우, 각 제품 클러스터 별로 구분하여 여러 조합을 생성하였다. 각 실험은 1000회 수행 후 평균을 내었다.The experiment was conducted on a total of 313 items, which is suitable for verifying the proposed system because the number of users is insufficient and the number of items is not large. Inputs include the ID of the item, the category to which the item belongs, and the user purchase history, and the window's default weight is linearly distributed such that the most recent record has the highest value. Each experiment was randomly generated through random user recording and input generation, and in case of patterned input and user records, various combinations were generated for each product cluster. Each experiment was averaged after 1000 runs.

윈도우(Window)의 영향을 확인하기 위하여, 윈도우(Window)를 적용한 경우와 적용하지 않은 경우를 실험하였다. 과거 구매이력이 일정한 패턴 즉, 비슷한 물건들을 구매하던 상황에서 그와는 다른 물품들을 새로 구매했을 경우, 새로운 구매 이력이 추천된 물품에 미치는 영향을 확인하기 위해서 새로 물품과 추천된 물품과의 유사도를 확인하였다(이하 '새로운 물품과 유사성(new commer similarity)'). 도 8은 이에 대한 실험 결과를 나타내며, 윈도우 크기 및 윈도우 적용 여부에 따른 실험을 진행하였다.In order to confirm the effect of the window, we experimented with and without the window. In order to check the effect of the new purchasing history on the recommended item when the purchasing history of the other items is different from the past purchase history, that is, when the similar items are purchased, the similarity degree between the new item and the recommended item ("New commer similarity"). FIG. 8 shows the experimental results, and experiments were conducted according to the window size and the window application.

도 8은 본 발명에 따른 물품 추천 시스템과 기존 시스템과의 비교 실험 결과를 예시하는 도면이다. 8 is a diagram illustrating a result of a comparison experiment between an article recommendation system and an existing system according to the present invention.

도 8을 참조하면, 윈도우(Window)를 적용하지 않고 전체 기록을 사용할 경우에는 새로 들어온 물품들이 추천에 미치는 영향이 거의 없음을 알 수 있다. 윈도우(Window)를 적용하였을 경우, 그 크기가 5이면, 하나의 물품이 들어왔을 경우에는 전혀 영향을 미치지 못하지만 2번째 입력부터 높은 비율로 반영되기 시작하는 것을 볼 수 있다. 윈도우 크기가 10, 15인 경우와 비교를 해 볼 때, 윈도우 크기가 커질수록 새로운 물품들이 추천에 반영되기 시작하는 입력 수가 커지는 것을 확인할 수 있으며, 이는 전체 윈도우(Window) 대비 새로운 물품들 비율이 작아지게 되므로 발생한다.Referring to FIG. 8, it can be seen that when using the entire recording without applying a window, the influence of the new items on the recommendation is almost not affected. When the window is applied, if the size is 5, it can be seen that when one item comes in, it does not affect at all but starts to be reflected at a high rate from the second input. Compared to window sizes 10 and 15, we can see that the larger the window size, the larger the number of inputs that new items start to be reflected in the recommendation, It is generated.

사용자의 구매 성향 분석 및 단발성 거래를 억제하기 위한 단계인 가중치 조정(weight adjustment) 단계의 효과를 알아보기 위해 도 9에서와 같이, 사용자가 패턴이 있는 기록을 가지고 있는 상황에서 다른 패턴의 구매를 시작할 경우, 이 단계를 적용 유무에 따른 결과를 비교하여 새로 들어온 물품의 영향력 차이를 알아보았다. In order to examine the effect of the user's purchase propensity analysis and the weight adjustment step, which is a step for suppressing the one-off transaction, the user starts the purchase of another pattern in a state in which the user has the record with the pattern, In this case, we compared the effect of applying this step to determine the difference in influence of new items.

도 9 및 도 10은 본 발명에 따른 물품 추천 시스템에서 가중치 조정 단계의 효과를 알아보기 위한 실험 결과를 예시하는 도면이다. 9 and 10 are diagrams illustrating experimental results for examining the effect of the weight adjustment step in the article recommendation system according to the present invention.

도 9를 참조하면, 사용자가 패턴이 있는 기록을 가지고 있는 상황 하에서 첫 번째 입력이 발생했을 시, 모든 경우는 비슷한 결과를 보여주지만 두 번째 입력이 발생했을 경우는 조금 달라진다. 윈도우 크기가 5일 때, 두 번째 입력이 발생하면, 가중치 조정(weight adjustment) 단계가 있는 경우는 이를 사용자 패턴이 달라졌다고 인식하여, 빠르게 그 패턴에 속해있는 물품들이 추천에 반영되는 비율을 높인다. 가중치 조정 단계가 있는 경우와 없는 경우, 초반 그래프 기울기에서 큰 차이를 확인할 수 있다. 윈도우 사이즈가 커질 경우, 3번째 입력부터 새로운 패턴을 인식하기 시작하며, 이 경우 또한 가중치 조정(weight adjustment) 단계가 있는 경우가 적용 비율이 가파르게 증가하는 것을 확인할 수 있다. 이는 사용자의 구매 성향 및 패턴 변화를 인식하고, 이를 빠르게 추천 아이템에 적용하는 것으로 볼 수 있다.Referring to FIG. 9, when the first input occurs in a situation where the user has a patterned record, all cases show similar results, but the second input occurs slightly. When the window size is 5, if the second input occurs, if there is a weight adjustment step, it recognizes that the user pattern has changed and quickly increases the rate at which items belonging to the pattern are reflected in the recommendation. If there is a weight adjustment step and if there is no weight adjustment step, you can see a large difference in the initial graph slope. When the window size increases, the new pattern starts to be recognized from the third input. In this case, the application rate also increases steeply when there is a weight adjustment step. This can be seen as recognizing the purchase tendency and pattern change of the user and quickly applying it to the recommendation item.

도 10에서와 같이 패턴이 없는 사용자 기록에 패턴이 있는 물품들이 들어오게 되면 다음을 확인할 수 있다. 가중치 크기가 5인 경우, 처음 1개의 입력과 그 추천 반영률을 확인하면 가중치 수정 단계가 적용이 되지 않은 경우가 반영률이 높지만 2번째 입력부터는 적용된 경우가 훨씬 가파르게 증가하는 것을 관찰할 수 있다. 이는 처음 들어온 입력은 단발성 구매로 파악하여 반영률이 낮지만 2번째 입력부터는 물품 구매 성향으로 판단하여 그 반영률을 늘리기 때문이다. 이를 통해 사용자 구매 성향에 변화가 있을 시, 빠르게 대응을 할 수 있으며, 구매 성향과 동떨어진 단발성 구매가 있을 경우, 추천에 작은 영향으로 반영하는 것이 가능해진다. 윈도우 크기가 클 경우는 반영할 때까지 필요한 구매 횟수가 더 크지만 반영된 후부터는 비슷한 결과를 보여준다.As shown in FIG. 10, when items having a pattern come in a user record having no pattern, the following can be confirmed. When the weight is 5, if the first input and its recommended reflectance are checked, it can be observed that the case where the weight modification step is not applied is high, but the case where the second input is applied is much more steeply increased. This is because the first incoming input is considered as a one-time purchase and reflects a low rate of reflection. In this way, if there is a change in the user purchase tendency, it can respond quickly, and if there is a single purchase that is far from the purchase tendency, it can be reflected as a small influence on the recommendation. If the window size is large, the required number of purchases is larger until it is reflected, but the result is similar after it is reflected.

또한, 서로 거리가 먼 여러 물품들이 윈도우에 들어있을 때, 들어있는 물품에 대한 각각의 추천이 아닌 그 물품들과 공통적으로 거리가 가까운 몇 개의 물품이 추천됨을 여러 번의 실험을 통해 확인할 수 있었으며, 몇몇은 카테고리가 전혀 다른 물품임에도 불구하고, 추천됨을 확인할 수 있었으며, 직관적인 연관성을 확인할 수 있었다.In addition, it has been verified through several experiments that several items with a distance from each other are recommended in the window, and that a plurality of items in common with the items other than the recommended ones are recommended, Was recommended, even though the category was completely different, and the intuitive association was confirmed.

위와 같이 본 발명에 따른 가중치가 반영된 윈도우(weighted-window)를 추천 시스템에 적용함으로써, 사용자의 구매 성향 변화 및 시장의 변화에 따라 추천하는 아이템이 달라지는 기능을 실험 결과를 통해 확인할 수 있다.By applying the weighted-window according to the present invention to the recommendation system, it is possible to confirm a function that a recommendation item changes according to a change in a purchase tendency of a user and a change in a market, through experiment results.

기존의 컨텐츠 기반 필터링(content-based filtering)의 추천 시스템은 적절한 추천을 방해하는 몇몇 한계점이 있었다. 비슷한 아이템만 추천하는 것과, 시간에 따라서 변하는 유저의 구매 성향 및 시장변화에 적응할 수 없는 것, 이들 문제를 완화하기 위해 본 발명에서는 사용자 기록에 가중된 윈도우(weighted window)를 적용하여 새로운 아이템 추천 및, 사용자의 현재 상태에 맞는 추천 시스템을 제안한다. 이 시스템은 사용자 개개인에 맞추어 개인의 변화 혹은 트렌드의 변화에 민감하게 반응할 수 있어 더욱 정확한 추천을 할 수 있을 것으로 기대되며, 사용자 패턴을 확인하여 필요 없는 물품이 추천되는 것을 억제한다. 또한, 전혀 다른 물품이지만 사용자가 관심을 가질만한 물품에 대한 추천도 가능하여, 사용자의 새로운 관심을 자극할 수 있을 것으로 기대된다.Existing content-based filtering recommendation systems have had some limitations that hinder proper recommendation. In order to alleviate these problems, in the present invention, a weighted window is applied to a user record to recommend a new item, , And suggests a recommendation system that matches the current state of the user. This system is expected to be able to make more accurate recommendations because it can respond sensitively to changes of individual or trend according to each user and confirms the user pattern and suppresses recommendation of unnecessary articles. In addition, it is possible to recommend items that are completely different items, but which are likely to be of interest to the user, so that it is expected to stimulate the user's new interest.

이상에서 설명된 실시예들은 본 발명의 구성요소들과 특징들이 소정 형태로 결합된 것들이다. 각 구성요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려되어야 한다. 각 구성요소 또는 특징은 다른 구성요소나 특징과 결합되지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및/또는 특징들을 결합하여 본 발명의 실시예를 구성하는 것도 가능하다. 본 발명의 실시예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시예에 포함될 수 있고, 또는 다른 실시예의 대응하는 구성 또는 특징과 교체될 수 있다. 특허청구범위에서 명시적인 인용 관계가 있지 않은 청구항들을 결합하여 실시예를 구성하거나 출원 후의 보정에 의해 새로운 청구항으로 포함시킬 수 있음은 자명하다.The embodiments described above are those in which the elements and features of the present invention are combined in a predetermined form. Each component or feature shall be considered optional unless otherwise expressly stated. Each component or feature may be implemented in a form that is not combined with other components or features. It is also possible to construct embodiments of the present invention by combining some of the elements and / or features. The order of the operations described in the embodiments of the present invention may be changed. Some configurations or features of certain embodiments may be included in other embodiments, or may be replaced with corresponding configurations or features of other embodiments. It is clear that the claims that are not expressly cited in the claims may be combined to form an embodiment or be included in a new claim by an amendment after the application.

본 발명에 따른 실시예는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.Embodiments in accordance with the present invention may be implemented by various means, for example, hardware, firmware, software, or a combination thereof. In the case of hardware implementation, an embodiment of the present invention may include one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs) field programmable gate arrays, processors, controllers, microcontrollers, microprocessors, and the like.

펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현될 수 있다. 소프트웨어 코드는 메모리에 저장되어 프로세서에 의해 구동될 수 있다. 상기 메모리는 상기 프로세서 내부 또는 외부에 위치하여, 이미 공지된 다양한 수단에 의해 상기 프로세서와 데이터를 주고 받을 수 있다.In the case of an implementation by firmware or software, an embodiment of the present invention may be implemented in the form of a module, a procedure, a function, or the like which performs the functions or operations described above. The software code can be stored in memory and driven by the processor. The memory is located inside or outside the processor and can exchange data with the processor by various means already known.

본 발명은 본 발명의 정신 및 필수적 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있음은 당업자에게 자명하다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다. It will be apparent to those skilled in the art that the present invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. Accordingly, the foregoing detailed description is to be considered in all respects illustrative and not restrictive. The scope of the present invention should be determined by rational interpretation of the appended claims, and all changes within the scope of equivalents of the present invention are included in the scope of the present invention.

본 발명에 따른 가중치가 반영된 윈도우(weighted-window) 기반 아이템 추천 시스템은 사용자에게 물품을 판매하는 다양한 온라인 웹사이트 등에 적용될 수 있다.The weighted-window based item recommendation system according to the present invention can be applied to various online websites that sell articles to users.

110: 가중치가 반영된 윈도우(weighted-window) 기반 추천 시스템
111: 물품 유사성 그래프 생성 모듈(Item-based Similarity Module)
112: 사용자 이력 기반 랭킹 모듈(User history based Scoring Module)
120: 데이터 베이스(Database)
121: 아이템 정보(Item Information)
122: 사용자 이력(User History)
130: 사용자 장치
110: weighted-window based recommendation system
111: Item-based Similarity Module
112: User history based scoring module
120: Database (Database)
121: Item Information
122: User History
130: User device

Claims (8)

가중치가 반영된 윈도우(weighted-window) 기반으로 물품을 추천하는 방법에 있어서,
물품 간 유사도를 계산하는 단계;
소정의 기간의 윈도우 내 물품에 대하여 상기 윈도우 내 다른 물품과의 상기 물품 간 유사도를 합산하여 상기 윈도우 내 각 물품 별로 유사도 점수를 산출하는 단계;
상기 윈도우 내 물품 별로 가중치를 설정하는 단계;
상기 유사도 점수의 랭킹을 이용하여 상기 윈도우 내 물품 별로 설정된 가중치를 조정하는 단계;
상기 윈도우 내 물품 별로 상기 조정된 가중치가 반영된 상기 물품 간 유사도를 합산하여 추천 점수를 산출하는 단계; 및
상기 추천 점수가 가장 높은 소정의 개수의 물품을 추천하는 단계를 포함하되,
상기 가중치를 설정하는 단계는, 상기 윈도우 내 물품에 대하여 구매 시점이 최근일수록 높은 가중치를 설정하며,
상기 가중치를 조정하는 단계는, 상기 유사도 점수가 가장 낮은 물품에 부여된 가중치에서 소정 값을 차감하고, 상기 차감된 값만큼 상기 유사도 점수가 가장 높은 물품에 부여된 가중치에 합산하여 상기 가중치를 조정하는 물품 추천 방법.
A method of recommending an article based on a weighted-window, the method comprising:
Calculating a degree of similarity between articles;
Calculating a similarity score for each article in the window by summing the similarities between the articles with other articles in the window for the articles in the window for a predetermined period;
Setting a weight for each item in the window;
Adjusting a weight value set for each item in the window using the ranking of the similarity score;
Calculating a recommendation score by summing the similarities between the products, the adjusted weights being reflected on the items in the window; And
Recommending a predetermined number of articles having the highest recommendation score,
The step of setting the weights may further include setting a higher weight for a product in the window,
The step of adjusting the weights may further include the steps of subtracting a predetermined value from a weight given to the article having the lowest similarity score and adding the weighted value to the article having the highest degree of similarity score by the subtracted value to adjust the weight How to recommend products.
삭제delete 삭제delete 삭제delete 제1항에 있어서, 상기 물품 간 유사도를 계산하는 단계는,
물품의 각 특징 별로 서로 다른 특징 가중치를 설정하는 단계;
상기 물품의 속성을 나타내는 특징 별로 물품 간 유사도를 계산하는 단계; 및
상기 특징 가중치가 반영된 상기 특징 별로 계산된 물품 간 유사도를 합산하여 상기 물품 간 유사도를 계산하는 단계를 포함하는 물품 추천 방법.
2. The method of claim 1, wherein calculating the inter-
Setting different feature weights for each feature of the article;
Calculating the degree of similarity between articles for each of the features representing the attributes of the article; And
And calculating the degree of similarity between the articles by summing the degrees of similarity between the articles calculated for each feature in which the feature weight is reflected.
제5항에 있어서,
상기 특징은 물품이 속한 카테고리 번호를 기반으로 계산되는 뉴메릭 특징(numeric feature), 키워드를 바탕으로 계산되는 키워드 기반 특징(keyword-based feature) 및 물품에 대한 설명을 바탕으로 계산되는 컨텐츠 기반 특징(content-based feature) 중 적어도 어느 하나인 물품 추천 방법.
6. The method of claim 5,
The feature may include a numeric feature computed based on the category number to which the article belongs, a keyword-based feature computed based on the keyword, and a content-based feature computed based on the description of the article content-based feature.
삭제delete 삭제delete
KR1020150047054A 2015-04-02 2015-04-02 System and Method for recommending item, and device thereof KR101674203B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150047054A KR101674203B1 (en) 2015-04-02 2015-04-02 System and Method for recommending item, and device thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150047054A KR101674203B1 (en) 2015-04-02 2015-04-02 System and Method for recommending item, and device thereof

Publications (2)

Publication Number Publication Date
KR20160118644A KR20160118644A (en) 2016-10-12
KR101674203B1 true KR101674203B1 (en) 2016-11-09

Family

ID=57173394

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150047054A KR101674203B1 (en) 2015-04-02 2015-04-02 System and Method for recommending item, and device thereof

Country Status (1)

Country Link
KR (1) KR101674203B1 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10832304B2 (en) * 2016-01-15 2020-11-10 Target Brands, Inc. Resorting product suggestions for a user interface
KR102176786B1 (en) * 2017-07-21 2020-11-10 유은진 Online styling system and online style recommending method
US11223596B2 (en) * 2018-11-19 2022-01-11 Stubhub, Inc. Generation of composite messages using qualifying events and actions
CN111666481B (en) * 2019-03-05 2024-04-09 北京沃东天骏信息技术有限公司 Data mining method, device, computer readable medium and electronic equipment
CN110910215B (en) * 2019-11-20 2024-08-13 深圳前海微众银行股份有限公司 Product recommendation method, device, equipment and computer readable storage medium
CN111915409B (en) * 2020-08-11 2023-08-04 深圳墨世科技有限公司 Item recommending method, device, equipment and storage medium based on item
KR102319727B1 (en) 2021-04-30 2021-11-01 주식회사 베이비랩 Method for recommending baby products based on user preferences
KR102455296B1 (en) * 2022-06-16 2022-10-18 주식회사 직기그룹 method for recommending knitted clothing products and a device supporting the same

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140040298A (en) * 2012-09-24 2014-04-03 한국식품연구원 Smart refrigerator, method and system for provided of quality index
KR101479379B1 (en) 2012-10-08 2015-01-07 지승환 Method of sharing customer rate of merchandise based on social network
KR20140056731A (en) * 2012-10-31 2014-05-12 에스케이플래닛 주식회사 Purchase recommendation service system and method

Also Published As

Publication number Publication date
KR20160118644A (en) 2016-10-12

Similar Documents

Publication Publication Date Title
KR101674203B1 (en) System and Method for recommending item, and device thereof
US11514333B2 (en) Combining machine-learning and social data to generate personalized recommendations
Zhao et al. Exploring demographic information in social media for product recommendation
US10757202B2 (en) Systems and methods for contextual recommendations
US10452662B2 (en) Determining search result rankings based on trust level values associated with sellers
WO2021262530A1 (en) Systems and methods for deep learning model based product matching using multi modal data
US8352455B2 (en) Processing a content item with regard to an event and a location
TWI424369B (en) Activity based users' interests modeling for determining content relevance
US9563705B2 (en) Re-ranking results in a search
US20190012719A1 (en) Scoring candidates for set recommendation problems
Pham et al. Preference-based user rating correction process for interactive recommendation systems
CN109933721B (en) Interpretable recommendation method integrating user implicit article preference and implicit trust
CN105426528A (en) Retrieving and ordering method and system for commodity data
US11061980B2 (en) System and method for integrating content into webpages
Shang et al. A randomwalk based model incorporating social information for recommendations
Badriyah et al. Recommendation system for property search using content based filtering method
KR20130033506A (en) Item recommendation method and apparatus
Ryngksai et al. Recommender systems: types of filtering techniques
Xie et al. A probabilistic recommendation method inspired by latent Dirichlet allocation model
US20160132902A1 (en) Search and Rank Organizations
CN111666413A (en) Commodity comment recommendation method based on reviewer reliability regression prediction
Ren et al. Online choice decision support for consumers: Data-driven analytic hierarchy process based on reviews and feedback
Alrawhani et al. Real estate recommender system using case-based reasoning approach
Kim et al. Recommender systems using SVD with social network information
Sharma et al. A framework of hybrid recommender system for web personalisation

Legal Events

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