KR101745604B1 - Item recommend system and method for recommending item - Google Patents

Item recommend system and method for recommending item Download PDF

Info

Publication number
KR101745604B1
KR101745604B1 KR1020160040454A KR20160040454A KR101745604B1 KR 101745604 B1 KR101745604 B1 KR 101745604B1 KR 1020160040454 A KR1020160040454 A KR 1020160040454A KR 20160040454 A KR20160040454 A KR 20160040454A KR 101745604 B1 KR101745604 B1 KR 101745604B1
Authority
KR
South Korea
Prior art keywords
user
information
item
items
unit
Prior art date
Application number
KR1020160040454A
Other languages
Korean (ko)
Other versions
KR20160043528A (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 KR1020160040454A priority Critical patent/KR101745604B1/en
Publication of KR20160043528A publication Critical patent/KR20160043528A/en
Application granted granted Critical
Publication of KR101745604B1 publication Critical patent/KR101745604B1/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/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0255Targeted advertisements based on user history
    • G06F17/30144
    • G06F17/30522
    • G06F17/30554
    • G06F17/30651
    • G06F17/30699
    • 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/0278Product appraisal

Landscapes

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

Abstract

본 발명의 일 실시예는 웹사이트에 접속하는 사용자의 복수의 정보를 저장하는 사용자 이용 정보 저장부, 상기 사용자 이용 정보 저장부에 저장된 정보를 전처리하여 그래프 데이터로 변환하는 사용자 이용 정보 전처리 수행부, 상기 사용자 이용 정보 전처리 수행부에서 전처리 수행되어 변환된 그래프 데이터를 저장하는 그래프 데이터 베이스, 상기 그래프 데이터 베이스에 저장된 데이터 중 특정 데이터를 불러와 연산하여 상기 웹사이트에서 제공하는 아이템들 중 하나 이상의 특정 아이템을 선정하는 연산부 및 상기 연산부에서 선정한 상기 아이템을 상기 사용자에게 하나 이상의 방식으로 추천하는 추천부를 포함하는 아이템 추천 시스템을 개시한다. In one embodiment of the present invention, a user information storage unit for storing a plurality of information of a user accessing a web site, a user utilization information preprocessing unit for preprocessing the information stored in the user information storage unit and converting the information into graph data, A graph database for storing the graph data converted by the preprocessing unit in the user-used information preprocessing unit, a graph database for computing specific data among the items stored in the graph database, And an recommendation unit that recommends the item selected by the operation unit to the user in one or more ways.

Description

아이템 추천 시스템 및 아이템 추천 방법{Item recommend system and method for recommending item}Item recommendation system and item recommendation method

본 발명의 실시예들은 아이템 추천 시스템 및 아이템 추천 방법에 관한 것이다.Embodiments of the present invention relate to an item recommendation system and an item recommendation method.

전자 상거래의 급성장으로 소비자들은 오프라인 매장뿐만 아니라 온라인 매장을 동일한 수준에서 판단하거나, 경우에 따라서는 온라인 매장을 더 선호하는 경우도 많이 발생하고 있다. Due to the rapid growth of e - commerce, consumers often judge online stores at the same level as well as in - store stores, and in some cases they prefer online shops.

또한, 이러한 전자 상거래 기술의 발전으로 인하여, 단순 온라인 쇼핑몰 외에 온라인 경매 사이트, 오픈 마켓 또는 소셜 커머스 기타 다양한 형태의 구매 사이트가 온라인상에서 구현되고 있는 것이 현실이다. In addition, due to the development of such electronic commerce technology, online auction sites, open markets, social commerce, and various other types of purchase sites are being implemented on-line in addition to simple online shopping malls.

이러한 전자 상거래를 이용한 온라인 상에서의 구매 방법은 사용자가 직접 오프라인 매장을 방문하지 않아도 언제 어디에서도 쉽게 접근하여 상품, 티켓 기타 아이템들에 대한 접근, 방문 및 구매등을 용이하게 진행할 수 있으므로 시간이 갈수록 증가하고 그 방법도 확장되는 추세이다.The online purchase method using the e-commerce can easily access the goods, the tickets and other items, and can easily visit and purchase without any need of the user to visit the in-store, so that the time is getting longer And the method is also expanding.

다만, 전자 상거래를 이용한 온라인 상에서의 구매는 사용자가 직접 눈으로 실물을 보고 비교할 수 없고, 사용자가 해당 사이트를 방문하여 화면상에 제공된 정보만을 접하므로 사용자가 다양한 정보를 용이하게 제공받기는 용이하지 않다. 특히, 특정 사이트에 자주 방문하는 경우가 아닌 경우 또는 전자 상거래를 통한 구매에 익숙하지 않은 사용자의 경우엔 더욱 그러하다.However, online purchases using e-commerce can not be viewed by the user directly by eyes, and since the user visits the site and contacts only the information provided on the screen, it is easy for the user to easily receive various information not. This is especially true for users who are not frequent visitors to a particular site or who are not familiar with e-commerce purchases.

특히, 최근에는 온라인 상에서 구매할 수 있는 매장, 예를들면 해당 웹사이트 마다 이용하는 사용자의 수가 기하 급수적으로 증가하고, 해당 웹사이트에서 취급하는 아이템들도 많아져 사용자에게 특정 정보를 제공하기는 용이하지 않다.In particular, in recent years, the number of stores that can be purchased online, for example, the number of users who use the websites, increases exponentially, and the number of items handled by the websites increases, making it difficult to provide specific information to users .

그러므로 사용자들에게 적절한 아이템들을 추천해 줄 수 있는 시스템 및 그 방법의 필요성이 커지고 있다.Therefore, there is a growing need for a system and method for recommending appropriate items to users.

그러나, 즉, 웹사이트를 방문하는 사용자들과 웹사이트에서 제공하는 아이템들에 대한 정보를 원활하게 취급하고 가공하는 것이 용이하지 않고, 특히 사용자 및 아이템의 수의 증가를 통하여 효율적으로 사용자에게 추천 작업을 진행하는데 한계가 있다.However, it is not easy to handle and process the information about the users who visit the website and the items provided by the website, and in particular, by increasing the number of users and items, There is a limit to progress.

본 발명의 실시예들은 웹사이트를 방문하는 사용자들에게 아이템들에 대한 추천 작업을 용이하게 진행할 수 있는 아이템 추천 시스템 및 이를 이용한 아이템 추천 방법을 제공한다.Embodiments of the present invention provide an item recommendation system and an item recommendation method using the item recommendation system, which can facilitate recommendation work on items to users visiting a web site.

본 발명의 일 실시예는 웹사이트에 접속하는 사용자의 복수의 정보를 저장하는 사용자 이용 정보 저장부, 상기 사용자 이용 정보 저장부에 저장된 정보를 전처리하여 그래프 데이터로 변환하는 사용자 이용 정보 전처리 수행부, 상기 사용자 이용 정보 전처리 수행부에서 전처리 수행되어 변환된 그래프 데이터를 저장하는 그래프 데이터 베이스, 상기 그래프 데이터 베이스에 저장된 데이터 중 특정 데이터를 불러와 연산하여 상기 웹사이트에서 제공하는 아이템들 중 하나 이상의 특정 아이템을 선정하는 연산부 및 상기 연산부에서 선정한 상기 아이템을 상기 사용자에게 하나 이상의 방식으로 추천하는 추천부를 포함하는 아이템 추천 시스템을 개시한다. In one embodiment of the present invention, a user information storage unit for storing a plurality of information of a user accessing a web site, a user utilization information preprocessing unit for preprocessing the information stored in the user information storage unit and converting the information into graph data, A graph database for storing the graph data converted by the preprocessing unit in the user-used information preprocessing unit, a graph database for computing specific data among the items stored in the graph database, And an recommendation unit that recommends the item selected by the operation unit to the user in one or more ways.

본 실시예에 있어서 상기 아이템들간의 유사도를 판단하는 유사도 판단부를 더 포함하고, 상기 연산부는 상기 유사도 판단부로부터 상기 아이템들간의 유사도를 이용하여 상기 특정 아이템을 선정할 수 있다.The similarity determination unit may further include a similarity determination unit that determines a similarity between the items in the embodiment, and the operation unit can select the particular item using the similarity between the items from the similarity determination unit.

본 실시예에 있어서 상기 유사도 판단부는 오프라인 배치 처리 방식으로 아이템들간 유사도를 계산할 수 있다.In the present embodiment, the similarity determination unit may calculate the similarity between items using an offline arrangement processing method.

본 실시예에 있어서 상기 연산부는 상기 사용자와 관련을 갖는 연관 사용자를 선정하는 연관 사용자 선정부 및 상기 연관 사용자와 관련을 갖는 연관 아이템을 선정하는 연관 아이템 선정부를 포함할 수 있다.In the present embodiment, the operation unit may include an associated user selecting unit for selecting an associated user related to the user, and an associated item selecting unit for selecting an associated item related to the related user.

본 실시예에 있어서 상기 연관 사용자 선정부가 선정한 상기 연관 사용자는 상기 사용자중 일 사용자와 관계를 갖는 아이템들 또는 이와 유사한 아이템들과 관계를 갖는 타 사용자인 것을 특징으로 하고, 상기 연관 아이템 선정부가 선정한 상기 연관 아이템은 상기 타사용자와 관계를 갖는 아이템들 또는 이와 유사한 아이템들 중 상기 일 사용자와 관계를 갖지 않는 아이템들인 것을 특징으로 할 수 있다.In the present embodiment, the related user selected by the associated user selecting unit is another user having a relationship with one of the users or items related to similar items, The associated item may be an item having a relationship with the other user or items similar to the one having no relation with the one user.

본 실시예에 있어서 상기 사용자 이용 정보 저장부는 서로 상이한 정보를 저장하는 사용자 이용 정보 제1 저장부 및 사용자 이용 정보 제2 저장부를 구비할 수 있다.In the present embodiment, the user information storage unit may include a user information first storage unit and a user information second storage unit for storing different information.

본 실시예에 있어서 상기 사용자 이용 정보 제1 저장부는 사용자의 기본 정보 및 사용자의 활동과 관련된 하나 이상의 정보를 저장할 수 있다.In the present embodiment, the user use information first storage unit may store basic information of a user and one or more information related to a user's activity.

본 실시예에 있어서 상기 사용자의 활동과 관련된 하나 이상의 정보는 구매 정보 또는 장바구니 정보를 포함할 수 있다.In this embodiment, one or more pieces of information related to the activity of the user may include purchase information or shopping cart information.

본 실시예에 있어서 상기 사용자 이용 정보 제2 저장부는 사용자의 방문 정보를 저장할 수 있다.In the present embodiment, the user-use-information second storage unit may store user's visit information.

본 실시예에 있어서 상기 사용자 방문 정보를 실시간으로 업데이트하는 실시간 처리부를 더 포함할 수 있다.In this embodiment, a real-time processing unit for updating the user visit information in real time may be further included.

본 실시예에 있어서 상기 실시간 처리부는 상기 사용자의 방문이 첫 방문인지를 판단할 수 있도록 처리할 수 있다.In the present embodiment, the real-time processing unit may process the visit to determine whether the visit of the user is the first visit.

본 실시예에 있어서 상기 사용자 이용 정보 저장부는 임시 저장부를 더 포함하고, 상기 임시 저장부는 상기 사용자 이용 정보 제1 저장부 및 상기 사용자 이용 정보 제2 저장부에 저장된 정보를 전달받아 임시로 저장하고 상기 사용자 이용 정보 전처리 수행부에 전달할 수 있다.In the present embodiment, the user-use-information storage unit may further include a temporary storage unit, and the temporary storage unit may receive the information stored in the first user-information storage unit and the second user- To the user use information preprocessing unit.

본 실시예에 있어서 상기 임시 저장부는 메시지큐 형태로 정보를 임시로 저장할 수 있다.In the present exemplary embodiment, the temporary storage unit may temporarily store information in the form of a message queue.

본 실시예에 있어서 상기 사용자 이용 정보 전처리 수행부는 상기 사용자 및 상기 웹사이트에서 제공하는 복수의 아이템들간의 관계(relation)를 형성하고, 이를 기초로 그래프 데이터로 변환할 수 있다.In the present embodiment, the user-utilization-information preprocessing unit forms a relation between the user and a plurality of items provided in the website, and can convert the relation into graph data on the basis of the relation.

본 발명의 다른 실시예는 웹사이트에 접속하는 사용자의 복수의 이용 정보를 획득하는 단계, 상기 사용자의 복수의 이용 정보를 전처리하여 그래프 데이터로 변환하는 단계, 상기 그래프 데이터를 그래프 데이터 베이스에 저장하는 단계, 상기 그래프 데이터 베이스에 저장된 데이터 중 특정 데이터를 불러와 연산하여 상기 웹사이트에서 제공하는 아이템들 중 하나 이상의 특정 아이템을 선정하는 단계 및 상기 선정한 아이템을 상기 사용자에게 하나 이상의 방법으로 추천하는 단계를 포함하는 아이템 추천 방법을 개시한다. According to another embodiment of the present invention, there is provided a method of browsing a web site, comprising: acquiring a plurality of usage information of a user accessing a web site; converting a plurality of usage information of the user into preprocessed graph data; Selecting one or more specific items from items provided in the website by calculating specific data from the data stored in the graph database and recommending the selected item to the user in one or more ways; And starts an item recommendation method including the item.

본 실시예에 있어서 에 있어서 상기 아이템들간의 유사도를 계산하는 단계를 더 포함하고, 상기 특정 아이템을 선정하는 단계는 상기 아이템들간의 유사도를 이용하여 상기 특정 아이템을 선정할 수 있다.The method may further include calculating a degree of similarity between the items in the embodiment, and the step of selecting the specific item may select the specific item using the degree of similarity between the items.

본 실시예에 있어서 상기 특정 아이템을 선정하는 단계는, 상기 사용자중 일 사용자와 관계를 갖는 아이템을 파악하는 단계 및 상기 파악한 아이템과 유사도가 높은 아이템을 선정하는 단계를 포함할 수 있다.In the present embodiment, the step of selecting the specific item may include a step of identifying an item having a relationship with a user of the user, and a step of selecting an item having a similarity to the identified item.

본 실시예에 있어서 상기 아이템들간의 유사도를 계산하는 단계는 오프라인 배치 처리 방식으로 아이템들간 유사도를 계산할 수 있다.In this embodiment, the step of calculating the degree of similarity between the items may calculate the degree of similarity between the items by the offline placement processing method.

본 실시예에 있어서 상기 아이템들간의 유사도를 계산하는 단계는 상기 사용자 이용 정보 중 사용자의 암시적 선호도를 전달받고, 상기 암시적 선호도를 이용하여 아이템들간 유사도를 계산할 수 있다.In the present exemplary embodiment, the step of calculating the similarity between the items may receive the user's implicit preference of the user-use information, and may calculate the similarity between the items using the implicit preference.

본 실시예에 있어서 상기 암시적 선호도는 상기 사용자의 구매 정보 또는 방문 정보를 포함할 수 있다.In the present embodiment, the implicit preference may include purchase information or visit information of the user.

본 실시예에 있어서 상기 그래프 데이터 베이스에 저장된 데이터 중 특정 데이터를 불러와 연산하여 상기 웹사이트에서 제공하는 아이템들 중 하나 이상의 특정 아이템을 선정하는 단계는, 상기 사용자와 관련을 갖는 연관 사용자를 선정하는 단계 및 상기 연관 사용자와 관련을 갖는 연관 아이템을 선정하는 단계를 포함할 수 있다.In the present exemplary embodiment, the step of selecting one or more specific items among the items provided in the website by searching specific data among the data stored in the graph database may include selecting an associated user related to the user And associating items associated with the associated user.

본 실시예에 있어서 상기 사용자와 관련을 갖는 연관 사용자를 선정하는 단계는 상기 사용자중 일 사용자와 관계를 갖는 아이템들 또는 이와 유사한 아이템들과 관계를 갖는 타 사용자를 선정하는 것을 특징으로 하고, 상기 연관 아이템을 선정하는 단계는 상기 타사용자와 관계를 갖는 아이템들 또는 이와 유사한 아이템들 중 상기 일 사용자와 관계를 갖지 않는 아이템들을 선정하는 것을 특징으로 할 수 있다.In the present exemplary embodiment, the step of selecting an associated user related to the user may include selecting an item having a relation with one of the users or another user having a relationship with similar items, And the step of selecting an item may include selecting items having no relationship with the one user among the items having a relationship with the other user or similar items.

본 실시예에 있어서 상기 사용자 이용 정보를 획득하는 단계는 사용자의 기본 정보 및 사용자의 활동과 관련된 하나 이상의 정보를 저장한 후 이용하는 단계를 포함할 수 있다.In the present embodiment, the step of acquiring the user use information may include storing and using one or more pieces of information related to the user's basic information and the user's activities.

본 실시예에 있어서 상기 사용자의 활동과 관련된 하나 이상의 정보는 구매 정보 또는 장바구니 정보를 포함할 수 있다.In this embodiment, one or more pieces of information related to the activity of the user may include purchase information or shopping cart information.

본 실시예에 있어서 상기 사용자 이용 정보를 획득하는 단계는 사용자의 방문 정보를 저장한 후 이용하는 단계를 포함할 수 있다.In the present embodiment, the step of acquiring the user use information may include a step of storing and using the visit information of the user.

본 실시예에 있어서 상기 사용자 이용 정보를 획득하는 단계는 상기 사용자 방문 정보를 실시간으로 업데이트하는 단계를 더 포함할 수 있다.In the present embodiment, the step of acquiring the user use information may further include updating the user visit information in real time.

본 실시예에 있어서 상기 사용자 방문 정보를 실시간으로 업데이트 하는 단계는 상기 사용자의 방문이 첫 방문인지를 판단할 수 있도록 처리하는 단계를 더 포함할 수 있다.In the present embodiment, the step of updating the user visit information in real time may further include a step of determining whether the visit of the user is a first visit.

본 실시예에 있어서 상기 웹사이트에 접속하는 사용자의 복수의 이용 정보를 획득한 후에 상기 이용 정보를 임시 저장부에 저장하는 단계를 더 포함하고, 상기 사용자의 복수의 이용 정보를 전처리하여 그래프 데이터로 형성하는 단계는 상기 임시 저장부에 저장된 정보를 이용하는 것을 특징으로 할 수 있다.The method may further include storing the usage information in a temporary storage unit after acquiring a plurality of usage information of a user connected to the web site in the present embodiment, And the forming step uses information stored in the temporary storage unit.

본 실시예에 있어서 상기 웹사이트에 접속하는 사용자의 복수의 이용 정보를 획득한 후에 상기 이용 정보를 임시 저장부에 저장하는 단계는 상기 사용자의 복수의 이용 정보를 취득한 후에 메시지큐 형태로 정보를 임시로 저장하는 단계를 포함할 수 있다.The step of storing the usage information in the temporary storage unit after acquiring a plurality of usage information of the user connected to the website may include acquiring a plurality of usage information of the user and temporarily storing the information in the form of a message queue As shown in FIG.

본 실시예에 있어서 상기 사용자의 복수의 이용 정보를 전처리하여 그래프 데이터로 형성하는 단계는, 상기 사용자들과 상기 웹사이트에서 제공하는 복수의 아이템들간의 관계(relation)을 형성하고, 이를 기초로 그래프 데이터로 변환하는 단계를 포함할 수 있다.In the present embodiment, the step of pre-processing a plurality of utilization information of the user and forming the user information as graph data comprises forming a relation between the users and a plurality of items provided by the website, And converting the data into data.

전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다. Other aspects, features, and advantages will become apparent from the following drawings, claims, and detailed description of the invention.

본 실시예에 관한 아이템 추천 시스템 및 이를 이용한 아이템 추천 방법은 웹사이트를 방문하는 사용자들에게 아이템들에 대한 추천 작업을 용이하게 진행할 수 있다.The item recommendation system and the item recommendation method using the item recommendation system according to the present embodiment can facilitate the recommendation work on the items to the users visiting the website.

도 1은 본 발명의 일 실시예에 관한 아이템 추천 시스템 및 이의 동작을 개략적으로 설명하기 위하여 도시한 도면이다.
도 2는 도 1의 아이템 추천 시스템의 사용자 이용 정보 저장부의 선택적인 실시예를 도시한 도면이다.
도 3은 도 1의 아이템 추천 시스템의 변형예를 도시한 도면이다.
도 4는 도 1의 아이템 추천 시스템을 이용하여 아이템을 추천하는 방법을 순차적으로 설명한 개략적인 순서도이다.
도 5는 도 4의 단계(S5)의 선택적 실시예를 설명하는 순서도이다.
도 6은 도 4의 변형예를 설명한 순서도이다.
도 7은 도 4의 전처리 단계를 통하여 변환된 그래프이다.
도 8은 도 4의 아이템 유사도 계산을 설명하기 위한 도면이다.
도 9는 본 발명의 다른 실시예에 관한 아이템 추천 시스템 및 이의 동작을 개략적으로 설명하기 위하여 도시한 도면이다.
도 10은 도 9의 아이템 추천 시스템을 이용하여 아이템을 추천하는 방법을 순차적으로 설명한 개략적인 순서도이다.
도 11은 도 10의 단계(C5)의 선택적 실시예를 설명하는 순서도이다.
도 12는 도 10의 전처리 단계를 통하여 변환된 그래프이다.
도 13은 본 발명의 또 다른 실시예에 관한 아이템 추천 시스템 및 이의 동작을 개략적으로 설명하기 위하여 도시한 도면이다.
도 14는 도 13의 아이템 추천 시스템을 이용하여 아이템을 추천하는 방법을 순차적으로 설명한 개략적인 순서도이다.
도 15a 및 도 15b는 도 14의 단계(P5)의 선택적 실시예들을 각각 설명하는 순서도들이다.
도 16은 도14의 전처리 단계를 통하여 변환된 그래프이다.
도 17은 도 14의 아이템 유사도 계산 단계를 설명하기 위한 도면이다.
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a schematic diagram for illustrating an item recommendation system and its operation according to an embodiment of the present invention. FIG.
FIG. 2 is a view showing an alternative embodiment of the user-used information storage unit of the item recommendation system of FIG. 1. FIG.
Fig. 3 is a diagram showing a modification of the item recommendation system of Fig. 1. Fig.
4 is a schematic flowchart sequentially illustrating a method of recommending an item using the item recommendation system of FIG.
5 is a flowchart illustrating an alternative embodiment of step S5 of FIG.
6 is a flowchart illustrating the modification of Fig.
FIG. 7 is a graph converted through the preprocessing step of FIG.
FIG. 8 is a diagram for explaining item similarity calculation of FIG. 4; FIG.
FIG. 9 is a view for schematically illustrating an item recommendation system and its operation according to another embodiment of the present invention.
FIG. 10 is a schematic flowchart sequentially illustrating a method of recommending an item using the item recommendation system of FIG. 9. FIG.
11 is a flowchart for explaining an alternative embodiment of step C5 of Fig.
12 is a graph converted through the preprocessing step of FIG.
13 is a diagram for schematically illustrating an item recommendation system and its operation according to another embodiment of the present invention.
14 is a schematic flowchart sequentially illustrating a method of recommending an item using the item recommendation system of FIG.
Figs. 15A and 15B are flowcharts illustrating respective alternative embodiments of step P5 of Fig. 14, respectively.
16 is a graph converted through the preprocessing step of FIG.
Fig. 17 is a diagram for explaining the item similarity degree calculating step of Fig. 14; Fig.

본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다. BRIEF DESCRIPTION OF THE DRAWINGS The present invention is capable of various modifications and various embodiments, and specific embodiments are illustrated in the drawings and described in detail in the detailed description. The effects and features of the present invention and methods of achieving them will be apparent with reference to the embodiments described in detail below with reference to the drawings. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein.

이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings, wherein like reference numerals refer to like or corresponding components throughout the drawings, and a duplicate description thereof will be omitted .

이하의 실시예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다. In the following embodiments, the terms first, second, and the like are used for the purpose of distinguishing one element from another element, not the limitative meaning.

이하의 실시예에서, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. In the following examples, the singular forms "a", "an" and "the" include plural referents unless the context clearly dictates otherwise.

이하의 실시예에서, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다. In the following embodiments, terms such as inclusive or possessive are intended to mean that a feature, or element, described in the specification is present, and does not preclude the possibility that one or more other features or elements may be added.

도면에서는 설명의 편의를 위하여 구성 요소들이 그 크기가 과장 또는 축소될 수 있다. 예컨대, 도면에서 나타난 각 구성의 크기 및 두께는 설명의 편의를 위해 임의로 나타내었으므로, 본 발명이 반드시 도시된 바에 한정되지 않는다. In the drawings, components may be exaggerated or reduced in size for convenience of explanation. For example, the size and thickness of each component shown in the drawings are arbitrarily shown for convenience of explanation, and thus the present invention is not necessarily limited to those shown in the drawings.

이하의 실시예에서, x축, y축 및 z축은 직교 좌표계 상의 세 축으로 한정되지 않고, 이를 포함하는 넓은 의미로 해석될 수 있다. 예를 들어, x축, y축 및 z축은 서로 직교할 수도 있지만, 서로 직교하지 않는 서로 다른 방향을 지칭할 수도 있다. In the following embodiments, the x-axis, the y-axis, and the z-axis are not limited to three axes on the orthogonal coordinate system, and can be interpreted in a broad sense including the three axes. For example, the x-axis, y-axis, and z-axis may be orthogonal to each other, but may refer to different directions that are not orthogonal to each other.

어떤 실시예가 달리 구현 가능한 경우에 특정한 공정 순서는 설명되는 순서와 다르게 수행될 수도 있다. 예를 들어, 연속하여 설명되는 두 공정이 실질적으로 동시에 수행될 수도 있고, 설명되는 순서와 반대의 순서로 진행될 수 있다. If certain embodiments are otherwise feasible, the particular process sequence may be performed differently from the sequence described. For example, two processes that are described in succession may be performed substantially concurrently, and may be performed in the reverse order of the order described.

도 1은 본 발명의 일 실시예에 관한 아이템 추천 시스템 및 이의 동작을 개략적으로 설명하기 위하여 도시한 도면이다.BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a schematic diagram for illustrating an item recommendation system and its operation according to an embodiment of the present invention. FIG.

도 1을 참조하면 복수의 사용자들(U1, U2, U3...Un)은 네트워크(NW)를 통하여 웹사이트(WS)에 접속한다. 아이템 추천 시스템(100)은 웹사이트(WS)와 연결되어 사용자와 관련된 복수의 정보를 전달받을 수 있다. 예를들면 웹사이트(WS)는 소셜 커머스 사이트, 온라인 쇼핑몰, 오픈 마켓 기타 다양한 전자 상거래를 포함하는 사이트일 수 있다. 네트워크(NW)는 복수의 사용자(U1, U2, U3...Un)과 웹사이트(WS)를 연결할 수 있는 다양한 형태일 수 있다.Referring to FIG. 1, a plurality of users U1, U2, U3,... Un accesses a web site WS via a network NW. The item recommendation system 100 may be connected to the web site WS to receive a plurality of information related to the user. For example, a web site (WS) can be a site including a social commerce site, an online shopping mall, an open market, and various other e-commerce transactions. The network NW may be of various forms capable of connecting a plurality of users U1, U2, U3 ... Un and a web site WS.

도 1에는 아이템 추천 시스템(100)이 웹사이트(WS)와 별개로 도시되어 있으나, 이는 하나의 실시예이다. 즉, 선택적 실시예로서 아이템 추천 시스템(100)은 웹사이트(WS)와 일체로 형성되어 웹사이트(WS)내에 아이템 추천 시스템(100)이 구비될 수 있다. 또 다른 선택적 실시예로서, 아이템 추천 시스템(100) 및 웹사이트(WS)가 일부 기능을 겸할 수 있도록 형성될 수 있음은 물론이다.In FIG. 1, the item recommendation system 100 is shown separately from the web site WS, but this is an embodiment. That is, as an alternative embodiment, the item recommendation system 100 may be integrated with the web site WS, and the item recommendation system 100 may be provided in the web site WS. As another alternative embodiment, item recommendation system 100 and web site WS may be formed to serve some functions.

도 1을 참조하면 아이템 추천 시스템(100)은 크게, 사용자 이용 정보 저장부(110), 사용자 이용 정보 전처리 수행부(120), 그래프 데이터 베이스(130), 연산부(150), 유사도 판단부(160) 및 추천부(170)를 포함한다.Referring to FIG. 1, the item recommendation system 100 mainly includes a user use information storage unit 110, a user utilization information preprocessing unit 120, a graph database 130, an operation unit 150, a similarity determination unit 160 And a recommendation unit 170. [

사용자 이용 정보 저장부(110)는 사용자 이용 정보 제1 저장부(101) 및 사용자 이용 정보 제2 저장부(102)를 구비한다. 사용자 이용 정보 제1 저장부(101) 및 사용자 이용 정보 제2 저장부(102)는 각각 서로 상이한 사용자 이용 관련 정보를 저장한다. 이에 대한 구체적인 내용은 후술한다.The user use information storage unit 110 includes a user use information first storage unit 101 and a user use information second storage unit 102. The user use information first storage unit 101 and the user use information second storage unit 102 store different user usage related information. Details of this will be described later.

사용자 이용 정보 전처리 수행부(120)는 사용자 이용 정보 저장부(110)에 1차로 저장된 사용자 이용 정보를 그래프 데이터 베이스(130)에 저장하기 적합한 형태로 변형하기 위하여 전처리 단계를 진행한다. 보다 자세한 내용은 후술한다.The user use information preprocessing execution unit 120 proceeds to a preprocessing step to transform user usage information stored in the user use information storage unit 110 into a form suitable for storing in the graph database 130. [ More details will be described later.

그래프 데이터 베이스(130)는 사용자 이용 정보 전처리 수행부(120)를 통하여 적절히 변형된 정보, 즉 그래프 형태로 변형된 정보를 저장한다. The graph database 130 stores information modified appropriately through the user-use information preprocessing unit 120, that is, information transformed into a graph form.

아이템 유사도 판단부(160)는 아이템들간의 유사도를 계산하여 판단한다.The item similarity degree determiner 160 calculates and determines the similarity degree between the items.

연산부(150)는 필요한 때에 그래프 데이터 베이스(130)에 저장된 사용자 이용 정보 및 아이템 유사도 판단부(160)에서 판단된 아이템 유사도를 이용하여 연산하는 단계를 수행한다. The operation unit 150 performs the operation using the user use information stored in the graph database 130 and the item similarity determined by the item similarity degree determiner 160 when necessary.

본 실시예의 아이템 추천 시스템(100)에 대하여 좀 더 구체적으로 설명하기로 한다. The item recommendation system 100 of the present embodiment will be described in more detail.

사용자 이용 정보 저장부(110)의 사용자 이용 정보 제1 저장부(101)는 사용자의 기본 정보 및 사용자의 활동과 관련된 하나 이상의 정보를 저장한다. 사용자 이용 정보 제1 저장부(101)에 저장되는 상기의 사용자의 기본 정보는 사용자를 식별하는 정보일 수 있다. 예를들면 사용자의 기본 정보는 사용자의 이름, 사용자의 ID, nickname, password 또는 e-mail 계정일 수 있다. 사용자 이용 정보 제1 저장부(101)에 저장되는 상기의 사용자의 활동과 관련된 하나 이상의 정보는 사용자의 실시간적인 활동 정보일 수 있다. 예를들면 사용자의 활동과 관련된 하나 이상의 정보는 구매 정보 또는 장바구니 정보일 수 있다. 즉, 사용자의 활동과 관련된 하나 이상의 정보는 사용자가 웹사이트(WS)를 통하여 구매한 아이템, 사용자가 웹사이트(WS)를 통하여 장바구니에 저장한 아이템일 수 있다. 물론, 상기의 예는 본 실시예를 설명하기 위한 하나의 예시로서 사용자의 실시간 적인 다양한 활동 정보를 저장하는 것이 가능하다.The user use information first storage unit 101 of the user use information storage unit 110 stores basic information of the user and one or more information related to the activity of the user. The basic information of the user stored in the user information first storage unit 101 may be information for identifying the user. For example, the user's basic information may be a user's name, a user's ID, a nickname, a password, or an e-mail account. One or more pieces of information related to the activity of the user stored in the user-used information first storage unit 101 may be real-time activity information of the user. For example, one or more pieces of information associated with a user's activity may be purchase information or shopping cart information. That is, one or more pieces of information related to a user's activity may be an item purchased by a user through a web site (WS) or an item stored by a user in a shopping cart through a web site (WS). Of course, the above example is one example for explaining the present embodiment, and it is possible to store various real-time activity information of the user.

사용자 이용 정보 저장부(110)의 사용자 이용 정보 제2 저장부(102)는 사용자의 방문 정보를 저장할 수 있다. 즉, 사용자들이 네트워크(NW)를 통하여 웹사이트(WS)에 방문 시 방문 정보가 사용자 이용 정보 제2 저장부(102)에 저장될 수 있다.The user use information second storage unit 102 of the user use information storage unit 110 may store the visit information of the user. That is, the visiting information may be stored in the user-used information second storage unit 102 when the user visits the web site WS via the network NW.

사용자 이용 정보 저장부(110)는 다양한 형태를 가질 수 있다. The user use information storage unit 110 may have various forms.

도 2는 도 1의 아이템 추천 시스템(100)의 사용자 이용 정보 저장부(110)의 선택적인 실시예를 도시한 도면이다. 설명의 편의를 위하여 전술한 실시예에서 설명한 것과 상이한 것을 중심으로 설명하기로 한다.FIG. 2 is a diagram illustrating an alternative embodiment of the user-used information storage unit 110 of the item recommendation system 100 of FIG. For the sake of convenience of explanation, different things from those described in the above embodiments will be mainly described.

도 2를 참조하면 본 발명의 선택적 실시예의 사용자 이용 정보 저장부(110')는 사용자 이용 정보 제1 저장부(101'), 사용자 이용 정보 제2 저장부(102'), 실시간 처리부(SR) 및 임시 저장부(MQ)를 구비한다.Referring to FIG. 2, the user use information storage unit 110 'of the alternative embodiment of the present invention includes a user usage information first storage unit 101', a user usage information second storage unit 102 ', a real time processing unit (SR) And a temporary storage unit (MQ).

사용자 이용 정보 제1 저장부(101')는 사용자의 기본 정보 및 사용자의 활동과 관련된 하나 이상의 정보를 저장한다. 사용자 이용 정보 제1 저장부(101')는 이러한 정보를 용이하게 저장하도록 RDBMS(Relational Data Base Management System)을 포함할 수 있다. 또한, 선택적인 실시예로서 사용자 이용 정보 제1 저장부(101') 는 mongo DB를 포함하여 대용량의 데이터를 용이하게 처리할 수 있다.The user use information first storage unit 101 'stores basic information of a user and one or more information related to a user's activity. The user use information first storage unit 101 'may include a Relational Data Base Management System (RDBMS) to easily store such information. In addition, as an alternative embodiment, the user use information first storage unit 101 'can easily process a large amount of data including the mongo DB.

사용자 이용 정보 제2 저장부(102')는 사용자의 방문 정보를 저장할 수 있다. 예를들면 사용자 이용 정보 제2 저장부(102')는 웹로그(weblog)형태로 사용자의 방문 정보를 저장한다.The user use information second storage unit 102 'may store the visit information of the user. For example, the user use information second storage unit 102 'stores visit information of a user in the form of a weblog.

실시간 처리부(SR)는 사용자 이용 정보 제2 저장부(102')에 저장된 사용자의 방문 정보를 실시간으로 반영하여 업데이트한다. 또한, 실시간 처리부(SR)는 도 2에 도시된 것과 같은 복수의 사용자들(U1, U2, U3...Un)중 기존 방문 기록이 없는 사용자인지를 판단하여 방문 기록이 없는 사용자의 경우, 즉 첫방문자인 경우 첫 방문자임을 알 수 있도록 사용자의 방문 정보를 처리한 후 후술할 임시 저장부(MQ)에 저장한다. The real-time processing unit SR updates the visit information of the user stored in the user-used information second storage unit 102 'in real time. In addition, the real-time processing unit SR judges whether the user U1, U2, U3 ... Un has no existing visit record as shown in FIG. 2, In the case of the first visitor, the visiting information of the user is processed so as to know that it is the first visitor, and then stored in a temporary storage unit (MQ) to be described later.

임시 저장부(MQ)는 사용자 이용 정보 제1 저장부(101')에 저장된 정보, 즉 사용자의 기본 정보 및 사용자의 활동과 관련된 하나 이상의 정보를 전달받는다. 또한 임시 저장부(MQ)는 사용자 이용 정보 제2 저장부(102')에 저장된 사용자의 방문 정보를 실시간 처리부(SR)를 통하여 처리된 정보를 전달받는다. The temporary storage unit MQ receives information stored in the user-used information first storage unit 101 ', that is, one or more pieces of information related to the user's basic information and the user's activities. Also, the temporary storage unit (MQ) receives the information processed through the real-time processing unit (SR) of the visit information of the user stored in the second user storage unit 102 '.

임시 저장부(MQ)는 사용자의 정보들을 이용하여 사용자 이용 정보 전처리 수행부(120)에서 전처리를 수행하기 용이하도록 한다. 예를들면 임시 저장부(MQ)는 메시지큐 형태로서 사용자의 정보들을 임시로 저장할 수 있다.The temporary storage unit (MQ) makes it easy to perform preprocessing in the user-used information preprocessing unit 120 by using information of the user. For example, the temporary storage unit MQ may temporarily store user information in the form of a message queue.

상기의 도 2에서 설명한 본 발명의 선택적 실시예로서의 사용자 이용 정보 저장부(110')는 본 발명의 아이템 추천 시스템(100)이 포함할 수 있는 다양한 예 중 하나이다. 즉, 도 2에 도시된 것과 일부 구성을 공유하는 구조 또는 도 2에 도시된 구성에 추가적으로 별도의 추가적인 구성을 더 포함하는 구조 기타 다양한 구조의 실시예를 포함할 수 있다.The user-used information storage unit 110 'as an optional embodiment of the present invention described above with reference to FIG. 2 is one of various examples that the item recommendation system 100 of the present invention can include. That is, it may include structures that share some configurations with those shown in FIG. 2, or embodiments that further include additional additional configurations in addition to those shown in FIG. 2.

사용자 이용 정보 전처리 수행부(120)는 사용자 이용 정보 저장부(110)와 연결된다.The user-used information preprocessing unit 120 is connected to the user-used information storage unit 110.

사용자 이용 정보 전처리 수행부(120)는 사용자 이용 정보 저장부(110)로부터 사용자 이용 정보를 가져와 사용자 이용 정보를 그래프 데이터 베이스(130)에 저장하기에 적합하도록 전처리를 수행한다. The user use information preprocessing execution unit 120 performs preprocessing to fetch user use information from the user use information storage unit 110 and store the user use information in the graph database 130. [

사용자 이용 정보 전처리 수행부(120)는 도 1에 도시한 복수의 사용자들(U1, U2, U3...Un)과 복수의 아이템들간 관계(relation)을 형성하고, 이를 기초로 복수의 사용자들(U1, U2, U3...Un)과 복수의 아이템들간 관계(relation)를 그래프로 변형한다. The user use information preprocessing execution unit 120 forms a relation between a plurality of users U1, U2, U3 ... Un and the plurality of items shown in FIG. 1, (U1, U2, U3 ... Un) and a plurality of items.

그래프 데이터 베이스(130)는 사용자 이용 정보 전처리 수행부(120)에서 변형된 그래프 데이터, 즉 사용자들과 복수의 아이템들간 관계를 그래프로 표시한 데이터를 저장한다. 그래프 데이터 베이스(130)에 저장되는 그래프 데이터는 사용자들과 아이템들간의 관계를 노드(node), 관계(relation), 속성(property)로 표시할 수 있다.The graph database 130 stores graph data transformed by the user-use-information preprocessing unit 120, that is, data representing graphs of relationships between users and a plurality of items. The graph data stored in the graph database 130 may display the relationship between users and items as nodes, relations, and properties.

이와 관련한 구체적인 내용은 후술할 도 7을 참조하면서 더 설명하기로 한다.The details of this will be further described with reference to FIG. 7 to be described later.

그래프 데이터 베이스(130)는 다양한 데이터 베이스를 이용할 수 있는데, 예를들면 자바 기반의 오픈형 DB인 Neo4J를 이용할 수 있다. The graph database 130 can use various databases, for example, Neo4J which is an open type DB based on Java.

또한, 사용자 이용 정보 전처리 수행부(120)는 도 1에 도시한 것과 같이 그래프 데이터 베이스(130)와 별개의 부재로 독립적으로 구성될 수 있다. 그러나, 본 실시예는 이에 한정되지 아니하고, 그래프 데이터 베이스(130)와 일체로 사용자 이용 정보 전처리 수행부(120)가 형성될 수도 있다.In addition, the user-used information preprocessing unit 120 may be configured independently of the graph database 130 as shown in FIG. However, the present embodiment is not limited to this, and the user utilization information preprocessing unit 120 may be formed integrally with the graph database 130.

유사도 판단부(160)는 아이템들간의 유사도를 계산 및 판단한다. 유사도 판단부(160)는 오프라인 배치(offline batch) 처리 방식으로 아이템들간의 유사도를 계산 및 판단할 수 있다.The similarity determination unit 160 calculates and determines similarities between items. The similarity determination unit 160 may calculate and determine similarities between items using an offline batch processing method.

유사도 판단부(160)는 다양한 방식으로 아이템들간의 유사도를 계산 및 판단할 수 있는데, 예를들면 사용자의 암시적 선호도를 이용할 수 있다. 즉, 사용자의 구매, 방문 기타 암시적 선호도를 이용하여 아이템들간의 유사도를 계산 및 판단할 수 있다. 또한 유사도 판단부(160)는 주기적으로, 예를들면 1시간 간격으로 아이템들간 유사도를 오프라인 배치 처리 방식으로 계산할 수 있다. 이 때 사용자의 암시적 선호도를 가리키는 구매, 방문 정보등을 주기적으로 제공받아 아이템들간 유사도를 계산 및 판단할 수 있다.The similarity determination unit 160 can calculate and determine the similarity between items in various ways. For example, the user's implicit preference can be used. That is, the similarity degree between the items can be calculated and determined using the user's purchase, visit, or other implicit preferences. Also, the similarity determination unit 160 may calculate the similarity between items periodically, for example, at an interval of one hour, by an offline arrangement processing method. At this time, purchasing, visiting information indicating the user's implicit preference is periodically provided, and the similarity between the items can be calculated and determined.

이를 위하여 유사도 판단부(160)는 다양한 선택적 실시예를 가질 수 있는데, 도 3에 도시한 것과 같이 유사도 판단부(160")가 사용자 이용 정보 저장부(110")와 연결되어 정보를 전달 받을 수 있다. 도 3은 도 1의 아이템 추천 시스템의 변형예를 도시한 도면이다.For this, the similarity degree determiner 160 may have various alternative embodiments. As shown in FIG. 3, the similarity degree determiner 160 " may be connected to the user information storage 110 " have. Fig. 3 is a diagram showing a modification of the item recommendation system of Fig. 1. Fig.

도 3을 참조하면 아이템 추천 시스템(100")의 유사도 판단부(160")는 사용자 이용 정보 저장부(110")로부터 사용자 이용 정보, 즉 사용자의 구매 정보 및 사용자의 방문 정보등을 전달받을 수 있다. Referring to FIG. 3, the similarity determination unit 160 '' of the item recommendation system 100 '' receives user utilization information, that is, user purchase information and user's visit information from the user utilization information storage unit 110 ' have.

도 3의 아이템 추천 시스템(100")은 도 1과 마찬가지로 크게, 사용자 이용 정보 저장부(110"), 사용자 이용 정보 전처리 수행부(120"), 그래프 데이터 베이스(130"), 연산부(150"), 유사도 판단부(160") 및 추천부(170")를 포함한다. The item recommendation system 100 "of FIG. 3 is substantially similar to the item recommendation system 100" of FIG. 1 except that the user use information storage unit 110 ", the user utilization information preprocessing unit 120 ", the graph database 130 & , A similarity determination unit 160 "and a recommendation unit 170 ".

유사도 판단부(160")와 사용자 이용 정보 저장부(110")의 관계만을 제외하고는 도 1의 아이템 추천 시스템(100)과 동일하므로 나머지 부재들에 대한 구체적인 설명은 생략한다.Except for the relationship between the similarity determination unit 160 "and the user-used information storage unit 110 ", the description of the remaining members is omitted because it is the same as the item recommendation system 100 of FIG.

유사도 판단부(160)의 아이템들간 유사도 계산 및 판단을 통하여 복수의 아이템들간에는 유사도가 결정되고 서로 유사도가 높은 아이템들은 도 8에 도시한 것과 같이 유사 아이템군으로 정할 수 있다. 도 8에 대한 설명은 후술할 실시예에서 더 구체적으로 하기로 한다.The degree of similarity between a plurality of items is determined through calculation and determination of similarities between items of the similarity degree determiner 160. Items having similarity to each other can be defined as similar item groups as shown in FIG. 8 will be described more specifically in the following embodiments.

*연산부(150)는 그래프 데이터 베이스(130)에 저장되어 있는 그래프 데이터 중 특정의 원하는 데이터를 원하는 때에 불러온다. 또한 연산부(150)는 유사도 판단부(160)에서 계산 및 판단하여 얻은 아이템 유사도 정보를 불러온다.* The calculation unit 150 retrieves specific desired data among the graph data stored in the graph database 130 at a desired time. In addition, the operation unit 150 retrieves the item similarity information obtained by the calculation and determination by the similarity degree determiner 160.

그리고, 이를 연산하여 가공 단계를 수행한다. 특히, 연산부(150)는 그래프 데이터 베이스(130)에 저장된 데이터들을 연산하여 실시간으로 다양한 작업을 수행할 수 있고, 특정 사용자를 기준으로 사용자와 관계(relation)지어진 아이템들을 추출하고, 추출된 아이템들과 유사도가 높은 아이템들을 용이하게 추출하는 연산을 수행할 수 있다.Then, this is calculated to perform the machining step. In particular, the operation unit 150 can perform various operations in real time by calculating data stored in the graph database 130, extract items related to a user based on a specific user, And can easily perform an operation of extracting items having a high degree of similarity.

또한, 도시하지 않았으나, 선택적 실시예로서 유사도 판단부(160)는 사용자 이용 정보 전처리 수행부(120)와도 연결될 수 있다. 이를 통하여 유사도 판단부(160)에서 판단된 아이템 유사도에 대한 정보를 그래프 데이터로 변형시킬 수 있다. Also, although not shown, the similarity determination unit 160 may be connected to the user-used information preprocessing unit 120 as an alternative embodiment. Information on the item similarity degree determined by the similarity degree determiner 160 may be transformed into graph data.

추천부(170)는 연산부(150)와 연결되어 연산부(150)에서 추출된 아이템들을 특정 사용자에게 추천할 수 있다. 즉, 특정 사용자와 구매, 방문등의 관계를 갖는 아이템들과 유사도가 높은 아이템들 중 상기 특정 사용자와 관계를 갖지 않는 아이템들에 대하여 추천을 수행할 수 있다. The recommendation unit 170 may be connected to the operation unit 150 to recommend items extracted from the operation unit 150 to a specific user. That is, it is possible to perform a recommendation for items having a similarity with a specific user and having a relation of purchase, visit, etc., and items having no relationship with the specific user.

추천부(170)는 다양한 방식으로 추천 작업을 진행할 수 있다. 예를들면 추천부(170)는 상기 특정 사용자가 방문 시 웹사이트상에서 아이템이 표시되도록 팝업창을 형성하거나, 웹사이트의 화면상에 일부에 일시적 또는 지속적으로 아이템을 나타낼 수 있고, 이메일로 아이템들을 공지할 수도 있다. 그러나 본 실시예는 이에 한정되지 않고 다양한 방식으로 추천 과정을 진행하는 추천부(170)를 포함할 수 있음은 물론이다.The recommendation unit 170 can perform recommendation work in various ways. For example, the recommendation unit 170 may form a pop-up window to display an item on a web site when the specific user visits the web site, temporarily or permanently display an item on a part of the web site, You may. However, the present embodiment is not limited to this, and it is needless to say that the present invention may include the recommendation unit 170 that performs the recommendation process in various ways.

도 4는 도 1의 아이템 추천 시스템을 이용하여 아이템을 추천하는 방법을 순차적으로 설명한 개략적인 순서도이다.4 is a schematic flowchart sequentially illustrating a method of recommending an item using the item recommendation system of FIG.

도 4를 참조하면 본 실시예의 아이템 추천 방법은 사용자 이용 정보 획득 단계(S1), 전처리 단계(S2), 저장 단계(S3), 아이템 유사도 계산 단계(S4), 연산 단계(S5) 및 추천 단계(S6)을 포함한다.Referring to FIG. 4, the item recommendation method of the present embodiment includes a step of acquiring user information (S1), a preprocessing step S2, a storing step S3, an item similarity calculating step S4, an operation step S5, S6).

사용자 이용 정보 획득 단계(S1)는 전술한 것과 같이 도 1의 아이템 추천 시스템(100)의 사용자 이용 정보 저장부(110)에서 진행한다. 즉, 사용자 이용 정보 저장부(110)의 사용자 이용 정보 제1 저장부(101) 및 사용자 이용 정보 제2 저장부(102)를 이용하여 사용자의 정보, 예를들면 사용자의 구매 정보, 장바구니 정보 또는 방문 정보를 획득한다.The user utilization information acquisition step S1 proceeds in the user utilization information storage unit 110 of the item recommendation system 100 of FIG. 1 as described above. That is, the information of the user, for example, the purchase information of the user, the shopping cart information, or the information of the user is stored by using the user information first storage unit 101 and the user information second storage unit 102 of the user information storage unit 110 And acquires the visit information.

예를들면 하기와 같은 표 1에 표시된 형태로 사용자 이용 정보 저장부(110)는 사용자의 이용 정보들을 저장할 수 있다.For example, in the form shown in Table 1 below, the user-use-information storage unit 110 may store user's usage information.

I(1)I ( 1 ) I(2)I ( 2 ) I(3)I ( 3 ) I(4)I ( 4 ) U1U1 구매purchase 방문visit U2U2 구매purchase U3U3 방문visit U5U5 구매purchase 구매purchase

상기 표 1의 U1, U2, U3, U5는 웹사이트에 접속하는 각각 상이한 사용자를 가리킨다. 상기 표 1의 I(1), I(2), I(3), I(4)는 각각 웹사이트에서 제공하는 상이한 아이템들을 가리킨다.U1, U2, U3, and U5 in Table 1 refer to different users who access the Web site, respectively. I ( 1 ), I ( 2 ), I ( 3 ), and I ( 4 ) in Table 1 refer to the different items provided on the website, respectively.

즉, 표 1을 구체적으로 설명하면 아래와 같다. That is, Table 1 will be described in detail as follows.

사용자(U1)은 아이템(I(1))을 구매하고, 아이템(I(2))에 대하여는 방문을 하였다. 사용자(U2)은 아이템(I(2))을 구매하였다. 사용자(U3)은 아이템(I(4))에 대하여 방문하였다. 사용자(U5)은 아이템(I(3)) 및 아이템(I(4))에 대하여 구매하였다.The user U1 purchases the item I ( 1 ) and visits the item I ( 2 ). User U2 has purchased item I ( 2 ). The user U3 visited the item I ( 4 ). The user U5 has purchased items I ( 3 ) and I ( 4 ).

또한, 선택적 실시예로서 도시한 도 2의 사용자 이용 정보 저장부(110')를 적용할 경우 임시 저장부(MQ)에 상기의 정보를 저장할 수 있다.In addition, when the user-use-information storage unit 110 'shown in FIG. 2 is applied as an alternative embodiment, the information can be stored in the temporary storage unit MQ.

상기의 표 1에는 예시적으로 4명의 사용자 및 4개의 아이템을 개시하였다. 또한, 2가지 종류의 사용자 이용 정보, 즉 구매 및 방문 정보를 개시하였다. 이는 설명의 편의를 위한 것으로서 사용자 이용 정보 획득 단계(S1)에서 복수의 사용자 및 복수의 아이템에 대한 정보를 획득 및 저장할 수 있음은 물론이다. 또한, 사용자의 이용 정보로서 구매 및 방문 외에 장바구니 정보 또는 보관함 정보, wish list 정보 등 기타 정보를 이용할 수 있음은 물론이다.Table 1 above illustrates four users and four items by way of example. In addition, two kinds of user utilization information, namely purchase and visit information, are disclosed. It is needless to say that information for a plurality of users and a plurality of items can be acquired and stored in the user use information acquisition step S1 for convenience of explanation. It is also possible to use other information such as shopping cart information, storage box information, wish list information, and the like in addition to purchase and visit as user use information.

또한, 기타 사용자 이용 정보 저장과 관련된 내용은 전술한 실시예에서 설명한 바와 같다.The content related to storing other user-used information is as described in the above embodiments.

전처리 단계(S2)에서는 사용자 이용 정보 획득 단계(S1)에서 획득 및 저장한 단계를 사용자 이용 정보 전처리 수행부(120)를 이용하여 사용자들과 아이템들간의 관계를 형성하고 그래프로 변형한다. 즉 후술할 저장 단계(S3)에 적합하도록 정보 전처리를 수행한다.In the preprocessing step S2, the user-information-information preprocessing unit 120 acquires and stores the acquired and stored information in the user-used information obtaining step S1 to form a relationship between users and items, and transforms the graph into a graph. I.e., a storage step S3 to be described later.

도 7은 전처리 단계(S2)를 통하여 변화된 그래프이다.7 is a graph that is changed through the preprocessing step S2.

설명의 편의를 위하여 도 7은 상기 표 1의 정보를 그대로 이용하여 전처리한 그래프 데이터를 보여준다. For convenience of explanation, FIG. 7 shows graph data obtained by pre-processing using the information of Table 1 as it is.

도 7을 참조하면 그래프 데이터는 복수의 노드(node)를 포함하고, 복수의 노드들간에는 관계(relation)가 형성된다. 복수의 노드들은 각각 속성(property)을 갖는데, 도 7에서 각 노드들은 사용자들(U1, U2, U3, U5) 및 아이템(I(1), I(2), I(3), I(4))을 속성으로 갖는다. 또한 관계(relation)들은 구매(p) 및 방문(v)을 속성으로 갖는다. Referring to FIG. 7, the graph data includes a plurality of nodes, and a relation is formed between the plurality of nodes. Each node has properties U1, U2, U3, U5 and items I ( 1 ), I ( 2 ), I ( 3 ), I ( 4) )) As an attribute. Also, relations have attributes (p) and (v) as attributes.

도 7에는 관계(relation)가 단방향으로만 표시되어 있다. 그러나, 이는 하나의 예시로서 각 노드들간에 양방향 관계(relation)가 형성될 수 있음은 물론이다.In Fig. 7, the relationship is shown only in one direction. However, it goes without saying that a bi-directional relation may be formed between each node as an example.

도 7을 참조하면 상기 표 1에 기재된 데이터가 모두 표시되어 있다. 즉, 사용자(U1)가 아이템(I(1))을 구매하고, 아이템(I(2))에 대하여는 방문을 한 정보, 사용자(U2)가 아이템(I(2))에 대하여 구매한 정보, 사용자(U3)가 아이템(I(4))에 대하여 방문한 정보 및 사용자(U5)가 아이템(I(3)) 및 아이템(I(4))에 대하여 구매한 정보가 하나의 그래프 데이터로 표시된다.Referring to FIG. 7, all of the data shown in Table 1 are shown. That is, a user (U1) is purchased with respect to item (I (1)) purchased, and item to (I (2)) the item (I (2)) by the visit information, the user (U2) with respect to information, user (U3) the item (I (4)) visit information and the user (U5) with respect to item (I (3)) and the item (I (4)) the information is purchased is displayed as a graph the data with respect to the .

즉, 전처리 단계(S2)에서는 사용자 이용 정보 전처리 수행부(120)를 이용하여 표 1에 개시된 정보를 처리하여 표 1에 대응하는 그래프 데이터를 생성한다. That is, in the preprocessing step S2, the user utilization information preprocessing unit 120 processes the information shown in Table 1 to generate graph data corresponding to Table 1. [

그래프 데이터를 통하여 각 사용자(U1, U2, U3, U5)들과 각 아이템(I(1), I(2), I(3), I(4))들간의 정보를 용이하게 알 수 있다. 또한, 각 사용자(U1, U2, U3, U5)들과 각 아이템(I(1), I(2), I(3), I(4))들간의 관계(relation)에 대한 정보를 통하여 각 사용자(U1, U2, U3, U5)들간의 관계를 알 수 있다.The information between each user U1, U2, U3, U5 and each item I ( 1 ), I ( 2 ), I ( 3 ), I ( 4 ) can be easily known through the graph data. Information on the relation between each user U1, U2, U3 and U5 and each item I ( 1 ), I ( 2 ), I ( 3 ), I ( 4 ) The relationship between the users U1, U2, U3 and U5 can be known.

저장 단계(S3)에서는 이러한 사용자 이용 정보 전처리 수행부(120)를 이용하여 형성된 그래프 데이터를 그래프 데이터 베이스(130)에 저장한다. 전술한 실시예에서 설명한 바와 같이 사용자 이용 정보 전처리 수행부(120)와 그래프 데이터 베이스(130)는 별개의 독립된 부재일 수 있고, 다른 선택적 실시예로서 하나의 일체화된 형태일 수도 있다.In the storage step S3, the graph data formed using the user-used information preprocessing unit 120 is stored in the graph database 130. [ As described in the above embodiments, the user-utilization-information preprocessing unit 120 and the graph database 130 may be separate independent members, or may be in one integrated form as another alternative embodiment.

아이템 유사도 계산 단계(S4)에서는 아이템들간의 유사도를 계산 및 판단한다. 아이템 유사도 계산 단계(S4)에서는 다양한 방법으로 아이템들간의 유사도를 계산한다. 즉, 전술한 대로 오프라인 배치(offline batch) 처리 방식으로 아이템들간의 유사도를 계산 및 판단할 수 있다.In the item similarity calculation step S4, the similarity between items is calculated and determined. In the item similarity calculation step S4, similarity between items is calculated by various methods. That is, as described above, the degree of similarity between items can be calculated and determined by an offline batch processing method.

또한, 사용자의 암시적 선호도를 이용할 수 있다. 즉, 사용자의 구매, 방문 기타 암시적 선호도를 이용하여 아이템들간의 유사도를 계산 및 판단할 수 있다. 또한 유사도 판단부(160)는 주기적으로, 예를들면 1시간 간격으로 아이템들간 유사도를 오프라인 배치 처리 방식으로 계산할 수 있다. 이 때 사용자의 암시적 선호도를 가리키는 구매, 방문 정보등을 주기적으로 제공받아 아이템들간 유사도를 계산 및 판단할 수 있다.In addition, the implicit preference of the user can be used. That is, the similarity degree between the items can be calculated and determined using the user's purchase, visit, or other implicit preferences. Also, the similarity determination unit 160 may calculate the similarity between items periodically, for example, at an interval of one hour, by an offline arrangement processing method. At this time, purchasing, visiting information indicating the user's implicit preference is periodically provided, and the similarity between the items can be calculated and determined.

이를 위하여 도 3에 도시한 것과 같이 유사도 판단부(160")가 사용자 이용 정보 저장부(110")와 연결되어 정보를 전달 받을 수 있다. 3, the similarity determination unit 160 " may be connected to the user-used information storage unit 110 " to receive information.

아이템 유사도 계산 단계(S4)를 통하여 도 8에 도시한 것과 같이 유사도가 높은 아이템별로 그룹을 선정할 수 있다.The item similarity calculation step S4 may be performed to select a group for each item having a high degree of similarity as shown in FIG.

도 8을 참조하면 A그룹 내에 포함된 아이템들(I(1), I(3), I(4), I(7), I(10), I(13)...)은서로 유사도가 높은 아이템들이고, B그룹 내에 포함된 아이템들(I(2), I(5), I(6), I(15), I(19), I(20)...)은서로 유사도가 높은 아이템들이다.Referring to Figure 8 of the items contained in the group A (I (1), I ( 3), I (4), I (7), I (10), I (13) ...) the degree of similarity to eunseo Items I ( 2 ), I ( 5 ), I ( 6 ), I ( 15 ), I ( 19 ), I ( 20 ) Items.

유사도 계산 단계(S4)에서 계산된 아이템 유사도 및 이를 통하여 얻은 유사도가 높은 아이템별로 선정된 그룹은 소정의 저장소에 저장할 수 있다. 예를들면 도 1에 도시한 유사도 판단부(160)내에 저장할 수 있고, 도시하지 않은 별도의 저장소, 특히 임시 저장소에 저장할 수 있다. The group selected by the item similarity calculated in the similarity calculation step S4 and the similarity obtained through the similarity can be stored in a predetermined storage. For example, in the similarity determination unit 160 shown in FIG. 1, and may be stored in a separate storage, notably a temporary storage, not shown.

또 다른 예로서, 도 2에 도시한 임시 저장부(MQ)에 저장할 수 있다. 이 경우, 선택적 실시예로서 임시 저장부(MQ)에 저장한 아이템 유사도 정보를 전처리 단계(S2)를 수행하여 전술한 그래프 데이터에 포함시킨 후 그래프 데이터로 저장 단계(S3)에서 저장하는 것도 가능하다.As another example, it can be stored in the temporary storage unit MQ shown in FIG. In this case, as an alternative embodiment, the item similarity information stored in the temporary storage unit MQ may be included in the above-described graph data by performing the preprocessing step S2 and stored in the graph data storage step S3 .

연산 단계(S5)에서는 저장 단계(S3) 및 아이템 유사도 계산 단계(S4)를 통하여 획득한 정보를 이용하여 연산을 수행한다. 특히, 연산 단계(S5)에서는 저장 단계(S3)에서 저장된 그래프 데이터를 연산하여 실시간으로 다양한 작업을 수행할 수 있고, 특정 사용자를 기준으로 사용자와 관계(relation)지어진 아이템들을 추출하고, 추출된 아이템들과 유사도가 높은 아이템들을 용이하게 추출하는 연산을 수행할 수 있다.In the calculation step S5, the calculation is performed using the information obtained through the storage step S3 and the item similarity calculation step S4. In particular, in the calculation step S5, the stored graph data is calculated in the storage step S3 to perform various operations in real time, and items related to the user are extracted based on a specific user, It is possible to easily perform an operation of extracting items having a high degree of similarity.

연산 단계(S5)는 다양한 형태를 가질 수 있는데, 도 5를 참조하면서 설명한다. 도 5는 도 4의 단계(S5)의 선택적 실시예를 설명하는 순서도이다.The calculation step S5 may take various forms, which will be described with reference to Fig. 5 is a flowchart illustrating an alternative embodiment of step S5 of FIG.

도 5를 참조하면 연산 단계(S5)는 사용자와 관계를 갖는 아이템을 파악하는 단계(S51) 및 S51단계에서 파악한 아이템과 유사도가 높은 아이템들을 파악하는 단계(S52)를 포함한다.Referring to FIG. 5, the operation step S5 includes a step S51 of recognizing an item having a relation with a user and a step S52 of identifying items having high similarity to the item obtained in the step S51.

사용자와 관계를 갖는 아이템을 파악하는 단계(S51)는 특정 사용자와 관계를 갖는 아이템을 파악하는 것으로서, 도 7을 참조하면 특정 사용자, 예를들면 사용자(U1)과 관계를 갖는 아이템들을 파악한다. 즉 사용자(U1)과 구매(p)의 관계를 갖는 아이템(I(1)) 및 사용자(U1)과 방문(v)의 관계를 갖는 아이템(I(2))를 파악한다. Step S51 of identifying an item having a relation with a user is to identify an item having a relation with a specific user, and referring to FIG. 7, it identifies items having a relation with a specific user, for example, the user U1. The item I ( 1 ) having the relationship between the user U1 and the purchase p and the item I ( 2 ) having the relationship between the user U1 and the visit v.

S51단계에서 파악한 아이템과 유사도가 높은 아이템들을 파악하는 단계(S52)에서는, 상기 아이템들, 즉 아이템(I(1))과 유사도가 높은 아이템들 및 아이템(I(2))과 유사도가 높은 아이템들을 파악한다. 도 8을 참조하면 아이템(I(1))과 유사도가 높은 아이템들은 아이템들(I(3), I(4), I(7), I(10), I(13)...)이고, 아이템(I(2))과 유사도가 높은 아이템들은 아이템들(I(5), I(6), I(15), I(19), I(20)...)이다.In the step S52 of recognizing the items having high similarity to the items identified in the step S51, the items having the similarity with the items I ( 1 ) and the items having the similarity with the items I ( 2 ) . Referring to FIG. 8, items having similarity to items I ( 1 ) are items I ( 3 ), I ( 4 ), I ( 7 ), I ( 10 ), I ( 13 ) Items I ( 5 ), I ( 6 ), I ( 15 ), I ( 19 ), I ( 20 ) ...) are items having similarity to item I ( 2 ).

추천 단계(S6)에서는 연산 단계(S5)를 통하여 선별된 아이템들을 사용자에에 추천하는 작업을 진행한다. 즉, 사용자(U1)에게 아이템들(I(3), I(4), I(7), I(10), I(13)...) 중 적어도 하나를 추천하거나, 아이템들(I(5), I(6), I(15), I(19), I(20)...)중 적어도 하나를 추천할 수 있다.In the recommendation step S6, an operation for recommending the selected items to the user through the operation step S5 is performed. That is, the user (U1) Item (I (3), I ( 4), I (7), I (10), I (13) ...) at least one of a like or the item (I ( 5 ), I ( 6 ), I ( 15 ), I ( 19 ), I ( 20 )

추천 단계(S6)는 다양한 방식으로 추천할 수 있는데, 전술한 것과 마찬가지로 다양한 방식으로 진행할 수 있는데, 예를들면 특정 사용자(U1)가 방문 시 웹사이트상에서 아이템이 표시되도록 팝업창을 형성하거나, 웹사이트의 화면상에 일부에 일시적 또는 지속적으로 아이템을 나타낼 수 있고, 이메일로 아이템들을 공지할 수도 있다. 그러나 본 실시예는 이에 한정되지 않고 다양한 방식으로 추천 과정을 진행할 수 있음은 물론이다.The recommendation step S6 can be recommended in various ways, and it can be performed in various ways as described above. For example, a specific user U1 may form a pop-up window so that items are displayed on the website at the time of visiting, The user can temporarily or permanently display the item on a part of the screen of the mobile phone, or announce items by e-mail. However, the present embodiment is not limited to this, and it goes without saying that the recommendation process can be performed in various ways.

특정 사용자로서 사용자(U1)을 설명한 것은 설명의 편의를 위한 것으로서 다른 사용자들 중 어느 하나에 대하여 추천 작업을 수행할 수 있음은 물론이다. 또한, 본 실시예 및 도면에 표시된 사용자들의 수 및 아이템들의 수는 설명의 편의를 위한 것으로서 이에 제한되지 않음은 물론이다.It is needless to say that the description of the user U1 as a specific user is for convenience of explanation and can perform recommendation work for any one of the other users. It is needless to say that the number of users and the number of items shown in the present embodiment and drawings are for convenience of description and are not limited thereto.

본 발명의 실시예들의 아이템 추천 시스템(100) 및 이를 이용한 추천 방법은 사용자 이용 정보 저장부(110)를 통하여 사용자 이용 정보를 용이하게 저장할 수 있고, 선택적 실시예로서, 실시간으로 처리한 정보 및 첫 방문자임을 표시하여 저장할 수 있다. The item recommendation system 100 of the embodiments of the present invention and the recommendation method using the same can easily store user-use information through the user-used information storage unit 110, and as an alternative embodiment, You can mark it as a visitor and save it.

그리고, 이러한 사용자 이용 정보 저장부(110)에 저장된 정보를 사용자 이용 정보 전처리 수행부(120)에서 전처리하는 단계를 진행하여 사용자와 아이템들간의 관계(relation)을 단순화한 그래프 데이터로 변형한다. 그리고 이러한 그래프 데이터는 그래프 데이터 베이스(130)에 저장하는 단계를 진행한다. Then, the information stored in the user-use-information storage unit 110 is processed in the user-use-information preprocessing unit 120 to transform the relation between the user and the items into simplified graph data. The graph data is stored in the graph database 130.

사용자와 아이템들간의 정보는 사용자 및 아이템들이 적을 때는 저장시 크게 문제되지 않으나, 사용자들의 수와 아이템들간의 수가 증가하고 관계의 방식(예, 구매, 방문)이 증가할 경우 저장하기도 용이하지 않고, 저장한다 하더라도 이러한 저장된 정보를 이용하기 용이하지 않다. The information between the user and the items is not a big problem when the user and the items are small. However, when the number of users and the number of items are increased and the relation type (for example, purchase, visit) increases, It is not easy to use such stored information.

그러나, 본 실시예에서는 사용자와 아이템들간의 정보를 그래프 데이터 베이스(130)에 그래프 데이터 형태로 저장한다. 이를 통하여 사용자들과 아이템들간의 관계를 용이하게 파악 및 분석할 수 있다. 특히, 그래프 데이터 베이스(130)내에는 그래프 데이터만을 저장할 뿐, 사용자들과 아이템들간의 관계에 대한 별도의 연산을 수행하지 않는다. 불필요한 연산 작업을 수행하지 않으므로 그래프 데이터 베이스(130)를 통한 사용자 이용 정보의 활용 능력을 향상할 수 있다.However, in the present embodiment, information between the user and the items is stored in the graph database 130 in the form of graph data. Through this, the relationship between users and items can be easily grasped and analyzed. In particular, only the graph data is stored in the graph database 130, and no separate operation is performed on the relationship between users and items. It is possible to improve the utilization ability of the user-utilized information through the graph database 130 because unnecessary calculation operations are not performed.

또한, 그래프 데이터 베이스(130)를 이용하여 추가적인 정보를 노드(node) 및 관계(relation)등을 이용하여 용이하게 저장할 수 있다.Further, the graph database 130 can be used to easily store additional information using nodes and relations.

그리고, 연산부(150)는 가공 단계에서 위와 같이 용이한 방법으로 파악된 사용자들과 아이템들간의 관계를 이용하여 연산 작업을 진행하여 다양한 작업을 수행한다. 즉, 그래프 데이터 형태로 저장된 데이터들을 모두 연산하는 것이 아니고, 필요한 사용자 또는 필요한 아이템에 관련된 관계(relation)를 포함하는 정보만 불러와 이에 대한 연산만을 수행하여 작업을 수행한다.In addition, the operation unit 150 performs various operations by performing an operation operation using the relation between the users and the items, which are grasped by the easy method in the processing step. In other words, rather than computing all the data stored in the form of graph data, only the information including a relation related to a necessary user or a required item is performed, and only the operation is performed by performing the operation on the information.

이를 통하여 실시간으로 신속한 연산이 가능하므로 원하는 때에 최신의 정보를 통한 연산, 예를들면 사용자와 아이템들 각각의 관계 정보 선별 작업을 용이하게 진행할 수 있다.Accordingly, it is possible to perform a quick calculation in real time, so that it is possible to easily carry out calculations based on the latest information at a desired time, for example, a relation information sorting operation for each user and items.

그리고, 아이템들간 유사도를 판단하여 아이템에 기반한 추천 작업을 진행하므로 추천 작업의 속도를 용이하게 증가할 수 있다.In addition, since the recommendation work based on the item is judged by judging the similarity between the items, the speed of recommendation work can be easily increased.

이 때, 본 실시예에서는 아이템들간 유사도를 계산하고, 선택적 실시예로서 오프라인 배치 방식으로 계산을 할 수 있고, 또한 고객의 암시적 선호도를 이용하여 용이하게 아이템들간 유사도를 계산할 수 있다. 이를 통하여 고객 추천 작업의 효율성을 증대할 수 있다.In this case, in the present embodiment, the degree of similarity between items can be calculated. In an alternative embodiment, the degree of similarity can be calculated by using an off-line arrangement method, and the degree of similarity between items can be easily calculated using the customer's implicit preference. This can increase the efficiency of customer referral work.

도 9는 본 발명의 다른 실시예에 관한 아이템 추천 시스템 및 이의 동작을 개략적으로 설명하기 위하여 도시한 도면이다.FIG. 9 is a view for schematically illustrating an item recommendation system and its operation according to another embodiment of the present invention.

설명의 편의를 위하여 전술한 실시예와 상이한 점을 중심으로 설명하기로 한다.For convenience of explanation, the description will be focused on the differences from the above-described embodiment.

도 9를 참조하면 복수의 사용자들(U1, U2, U3...Un)은 네트워크(NW)를 통하여 웹사이트(WS)에 접속한다. 아이템 추천 시스템(200)은 웹사이트(WS)와 연결되어 사용자와 관련된 복수의 정보를 전달받을 수 있다. 웹사이트(WS)관련된 내용은 전술한 실시예와 동일하므로 구체적인 설명은 생략한다.Referring to FIG. 9, a plurality of users U1, U2, U3 ... Un accesses a web site WS via a network NW. The item recommendation system 200 may be connected to the web site WS to receive a plurality of information related to the user. The contents related to the web site WS are the same as those of the above-described embodiment, and thus a detailed description thereof will be omitted.

도 9를 참조하면 아이템 추천 시스템(200)은 크게, 사용자 이용 정보 저장부(210), 사용자 이용 정보 전처리 수행부(220), 그래프 데이터 베이스(230), 연산부(250) 및 추천부(270)를 포함한다. 연산부(250)는 연관 사용자 선정부(251) 및 연관 아이템 선정부(252)를 구비한다.9, the item recommendation system 200 mainly includes a user-use information storage unit 210, a user-used information preprocessing unit 220, a graph database 230, an operation unit 250, and a recommendation unit 270. [ . The operation unit 250 includes an associated user selection unit 251 and an associated item selection unit 252.

사용자 이용 정보 저장부(210)는 사용자 이용 정보 제1 저장부(201) 및 사용자 이용 정보 제2 저장부(202)를 구비한다. 사용자 이용 정보 제1 저장부(201) 및 사용자 이용 정보 제2 저장부(202)는 각각 서로 상이한 사용자 이용 관련 정보를 저장한다. 이에 대한 구체적인 내용은 전술한 실시예와 동일하므로 생략한다.The user use information storage unit 210 includes a user usage information first storage unit 201 and a user usage information second storage unit 202. The user use information first storage unit 201 and the user use information second storage unit 202 store different user usage related information. The details of this are the same as those of the above-described embodiment and thus will not be described.

사용자 이용 정보 전처리 수행부(220)는 사용자 이용 정보 저장부(210)에 1차로 저장된 사용자 이용 정보를 그래프 데이터 베이스(230)에 저장하기 적합한 형태로 변형하기 위하여 전처리 단계를 진행한다. 구체적인 내용은 전술한 실시예와 동일하므로 생략한다.The user use information preprocessing execution unit 220 proceeds to a preprocessing step in order to transform the user use information stored in the user use information storage unit 210 into a form suitable for storing in the graph database 230. [ The detailed contents are the same as those of the above-mentioned embodiment and will be omitted.

그래프 데이터 베이스(230)는 사용자 이용 정보 전처리 수행부(220)를 통하여 적절히 변형된 정보를 저장한다. The graph database 230 stores information appropriately modified through the user-used information preprocessing unit 220. [

연산부(250)는 필요한 때에 그래프 데이터 베이스(230)에 저장된 사용자 이용 정보등을 이용하여 연산하는 단계를 수행한다. The arithmetic operation unit 250 performs arithmetic operation using user utilization information stored in the graph database 230 when necessary.

연산부(250)는 연관 사용자 선정부(251) 및 연관 아이템 선정부(252)를 구비한다. 연관 사용자 선정부(251)는 특정 사용자와 관계를 갖는 아이템들과 관계를 갖는 타 사용자를 선정한다. 연관 아이템 선정부(252)는 연관 사용자 선정부(251)에서 선정한 사용자와 관계를 갖는 아이템 중 상기 특정 사용자와 관계를 갖지 않는 아이템을 선정한다. 이에 대한 구체적인 내용은 후술한다.The operation unit 250 includes an associated user selection unit 251 and an associated item selection unit 252. The associated user selection unit 251 selects another user having a relationship with items having a relationship with a specific user. The associated item selection unit 252 selects an item having no relationship with the specific user among the items related to the user selected by the related user selection unit 251. [ Details of this will be described later.

도시하지 않았으나, 본 실시예의 아이템 추천 시스템(200)의 사용자 이용 정보 저장부(210)는 다양한 선택적 실시예를 가질 수 있고, 예를들면 전술한 도 2의 실시예를 가질 수 있다. 즉, 본 실시예의 아이템 추천 시스템(200)의 사용자 이용 정보 저장부(210)는 사용자 이용 정보 제1 저장부, 사용자 이용 정보 제2 저장부, 실시간 처리부 및 임시 저장부를 구비할 수 있다. 실시간 처리부 및 임시 저장부를 포함한 구체적인 내용은 전술한 도 2의 실시예와 동일하므로 구체적인 내용은 생략한다. Although not shown, the user-used information storage unit 210 of the item recommendation system 200 of the present embodiment may have various optional embodiments, and may have the embodiment of FIG. 2 described above, for example. That is, the user use information storage unit 210 of the item recommendation system 200 of the present embodiment may include a user use information first storage unit, a user use information second storage unit, a real time processing unit, and a temporary storage unit. The detailed contents including the real-time processing unit and the temporary storage unit are the same as those of the embodiment of FIG. 2 described above, and therefore, detailed description thereof will be omitted.

사용자 이용 정보 전처리 수행부(220)는 사용자 이용 정보 저장부(210)와 연결되어 사용자 이용 정보 저장부(210)로부터 사용자 이용 정보를 가져와 사용자 이용 정보를 그래프 데이터 베이스(230)에 저장하기에 적합하도록 전처리를 수행한다. The user use information preprocessing execution unit 220 is connected to the user use information storage unit 210 to fetch the user use information from the user use information storage unit 210 and store the user use information in the graph database 230 .

사용자 이용 정보 전처리 수행부(220)는 도 9에 도시한 복수의 사용자들(U1, U2, U3...Un)과 복수의 아이템들간 관계(relation)을 형성하고, 이를 기초로 복수의 사용자들(U1, U2, U3...Un)과 복수의 아이템들간 관계(relation)를 그래프로 변형한다. The user use information preprocessing execution unit 220 forms a relation between a plurality of users U1, U2, U3 ... Un and the plurality of items shown in FIG. 9, (U1, U2, U3 ... Un) and a plurality of items.

그래프 데이터 베이스(230)는 사용자 이용 정보 전처리 수행부(220)에서 변형된 그래프 데이터, 즉 사용자들과 복수의 아이템들간 관계를 그래프로 표시한 데이터를 저장한다. 그래프 데이터 베이스(230)에 저장되는 그래프 데이터는 사용자들과 아이템들간의 관계를 노드(node), 관계(relation), 속성(property)로 표시할 수 있다.The graph database 230 stores graph data modified in the user-use-information preprocessing unit 220, that is, data representing graphs of relationships between users and a plurality of items. The graph data stored in the graph database 230 may display the relationship between users and items as nodes, relations, and properties.

이와 관련한 구체적인 내용은 도 12를 참조하면서 더 설명하기로 한다.The details of this will be further described with reference to FIG.

그래프 데이터 베이스(230)의 예시는 전술한 실시예와 같다. 또한, 전술한 실시예와 마찬가지로 사용자 이용 정보 전처리 수행부(220)는 그래프 데이터 베이스(230)와 별개의 부재로 독립적으로 구성될 수 있고, 선택적 실시예로서, 그래프 데이터 베이스(230)와 일체로 사용자 이용 정보 전처리 수행부(220)가 형성될 수도 있다.An example of the graph database 230 is the same as the above-described embodiment. Also, as in the above-described embodiment, the user-utilization-information preprocessing unit 220 may be configured independently of the graph database 230, A user-used information preprocessing unit 220 may be formed.

연산부(250)는 그래프 데이터 베이스(230)에 저장되어 있는 그래프 데이터 중 특정의 원하는 데이터를 원하는 때에 불러온다. The operation unit 250 loads specific desired data among the graph data stored in the graph database 230 at a desired time.

그리고, 이를 연산하여 가공 단계를 수행한다. 특히, 연산부(250)는 그래프 데이터 베이스(230)에 저장된 데이터들을 연산하여 실시간으로 다양한 작업을 수행할 수 있다. 즉, 연관 사용자 선정부(251)는 특정 사용자와 관계를 갖는 아이템들을 파악하고, 이러한 아이템들과 관계를 갖는 타 사용자들을 선정한다. 그리고, 연관 아이템 선정부(252)는 이러한 타 사용자들과 관계를 갖는 아이템들 중 상기 특정 사용자와 관계를 갖지 않는 아이템들을 선정하는 연산을 수행할 수 있다.Then, this is calculated to perform the machining step. In particular, the operation unit 250 can perform various operations in real time by calculating data stored in the graph database 230. That is, the associated user selection unit 251 identifies items having a relationship with a specific user, and selects other users having a relationship with these items. The association item selection unit 252 may perform an operation of selecting items having no relationship with the specific user among the items having a relationship with the other users.

추천부(270)는 연산부(250)와 연결되어 연산부(250)에서 선정된 아이템들을 특정 사용자에에 추천할 수 있다. The recommendation unit 270 may be connected to the operation unit 250 to recommend items selected by the operation unit 250 to a specific user.

추천부(270)는 다양한 방식으로 추천 작업을 진행할 수 있다. 예를들면 추천부(270)는 상기 특정 사용자가 방문 시 웹사이트상에서 아이템이 표시되도록 팝업창을 형성하거나, 웹사이트의 화면상에 일부에 일시적 또는 지속적으로 아이템을 나타낼 수 있고, 이메일로 아이템들을 공지할 수도 있다. 그러나 본 실시예는 이에 한정되지 않고 다양한 방식으로 추천 과정을 진행하는 추천부(270)를 포함할 수 있음은 물론이다.The recommendation unit 270 can perform recommendation work in various ways. For example, the recommendation unit 270 may form a pop-up window to display an item on a web site when the specific user visits the web site, temporarily or permanently display an item on a part of the web site, You may. However, the present embodiment is not limited to this, and it is needless to say that the present invention may include the recommendation unit 270 that performs the recommendation process in various ways.

도 10은 도 9의 아이템 추천 시스템을 이용하여 아이템을 추천하는 방법을 순차적으로 설명한 개략적인 순서도이다.FIG. 10 is a schematic flowchart sequentially illustrating a method of recommending an item using the item recommendation system of FIG. 9. FIG.

도 10을 참조하면 본 실시예의 아이템 추천 방법은 사용자 이용 정보 획득 단계(C1), 전처리 단계(C2), 저장 단계(C3), 연산 단계(C5) 및 추천 단계(C6)을 포함한다.Referring to FIG. 10, the item recommendation method of the present embodiment includes a user use information obtaining step C1, a preprocessing step C2, a storing step C3, an calculating step C5, and a recommending step C6.

사용자 이용 정보 획득 단계(C1)는 전술한 것과 같이 도 9의 아이템 추천 시스템(200)의 사용자 이용 정보 저장부(210)에서 진행한다. 즉, 사용자 이용 정보 저장부(210)의 사용자 이용 정보 제1 저장부(201) 및 사용자 이용 정보 제2 저장부(202)를 이용하여 사용자의 정보, 예를들면 사용자의 구매 정보, 장바구니 정보 또는 방문 정보를 획득한다.The user access information acquisition step C1 proceeds in the user access information storage unit 210 of the item recommendation system 200 of FIG. 9 as described above. That is, the information of the user, for example, the purchase information of the user, the shopping cart information, or the information of the user is stored by using the user use information first storage unit 201 and the user use information second storage unit 202 of the user use information storage unit 210 And acquires the visit information.

예를들면 하기와 같은 표 2에 표시된 형태로 사용자 이용 정보 저장부(210)는 사용자의 이용 정보들을 저장할 수 있다.For example, in the form shown in Table 2 below, the user use information storage unit 210 may store usage information of a user.

I(1)I ( 1 ) I(2)I ( 2 ) I(3)I ( 3 ) I(4)I ( 4 ) U1U1 구매purchase 방문visit 구매purchase U2U2 방문 visit 구매purchase 구매purchase U3U3 구매purchase 방문visit

상기 표 2의 U1, U2, U3 는 웹사이트에 접속하는 각각 상이한 사용자를 가리킨다. 상기 표 2의 I(1), I(2), I(3), I(4)는 각각 웹사이트에서 제공하는 상이한 아이템들을 가리킨다.In Table 2, U1, U2, and U3 indicate different users who access the Web site, respectively. I ( 1 ), I ( 2 ), I ( 3 ), and I ( 4 ) in Table 2 refer to the different items provided on the website, respectively.

즉, 표 2를 구체적으로 설명하면 아래와 같다. That is, Table 2 will be described in detail as follows.

사용자(U1)은 아이템(I(1)) 및 아이템(I(3))을 구매하고, 아이템(I(2))에 대하여는 방문을 하였다. 사용자(U2)은 아이템(I(2)) 및 아이템(I(4))을 구매하고, 아이템(I(1))에 대하여 방문하였다. 사용자(U3)은 아이템(I(3))을 구매하고, 아이템(I(4))에 대하여 방문하였다. The user U1 purchases the item I ( 1 ) and the item I ( 3 ), and visits the item I ( 2 ). User U2 purchases item I ( 2 ) and item I ( 4 ) and visits item I ( 1 ). The user U3 purchases the item I ( 3 ) and visits the item I ( 4 ).

또한, 선택적 실시예로서 사용자 이용 정보 저장부(210)가 도 2의 선택적 실시예의 구조를 적용할 경우 임시 저장부에 상기의 정보를 저장할 수 있다.Also, as an alternative embodiment, when the user use information storage unit 210 applies the structure of the alternative embodiment of FIG. 2, the information may be stored in the temporary storage unit.

상기의 표 2에는 예시적으로 3명의 사용자 및 4개의 아이템을 개시하였다. 또한, 2가지 종류의 사용자 이용 정보, 즉 구매 및 방문 정보를 개시하였다. 이는 설명의 편의를 위한 것으로서 사용자 이용 정보 획득 단계(C1)에서 복수의 사용자 및 복수의 아이템에 대한 정보를 획득 및 저장할 수 있음은 물론이다. 또한, 사용자의 이용 정보로서 구매 및 방문 외에 장바구니 정보 또는 보관함 정보, wish list 정보 등 기타 정보를 이용할 수 있음은 물론이다.Table 2 above illustratively shows three users and four items. In addition, two kinds of user utilization information, namely purchase and visit information, are disclosed. It is needless to say that information for a plurality of users and a plurality of items can be acquired and stored in the user-use-information obtaining step C1 for convenience of explanation. It is also possible to use other information such as shopping cart information, storage box information, wish list information, and the like in addition to purchase and visit as user use information.

또한, 기타 사용자 이용 정보 저장과 관련된 내용은 전술한 실시예에서 설명한 바와 같다.The content related to storing other user-used information is as described in the above embodiments.

전처리 단계(C2)에서는 사용자 이용 정보 획득 단계(C1)에서 획득 및 저장한 단계를 사용자 이용 정보 전처리 수행부(220)를 이용하여 사용자들과 아이템들간의 관계를 형성하고 그래프로 변형한다. 즉 후술할 저장 단계(C3)에 적합하도록 정보 전처리를 수행한다.In the preprocessing step (C2), the user-information pre-processing unit (220) acquires and stores the acquired and stored information in the user-utilized information obtaining step (C1) to form a relationship between users and items and transforms the same into a graph. That is, the storage step C3, which will be described later.

도 12는 전처리 단계(C2)를 통하여 변화된 그래프이다.12 is a graph that is changed through the preprocessing step (C2).

설명의 편의를 위하여 도 12는 상기 표 2의 정보를 그대로 이용하여 전처리한 그래프 데이터를 보여준다. For convenience of explanation, FIG. 12 shows graph data obtained by pre-processing using the information of Table 2 as it is.

도 12를 참조하면 그래프 데이터는 복수의 노드(node)를 포함하고, 복수의 노드들간에는 관계(relation)가 형성된다. 복수의 노드들은 각각 속성(property)을 갖는데, 도 12에서는 각 노드들은 사용자들(U1, U2, U3) 및 아이템(I(1), I(2), I(3), I(4))을 속성으로 갖는다. 또한 관계(relation)들은 구매(p) 및 방문(v)을 속성으로 갖는다. Referring to FIG. 12, the graph data includes a plurality of nodes, and a relation is formed between the plurality of nodes. I2, U3, and I3, I ( 1 ), I ( 2 ), I ( 3 ), I ( 4 ) As an attribute. Also, relations have attributes (p) and (v) as attributes.

도 12에는 관계(relation)가 단방향으로만 표시되어 있다. 그러나, 이는 하나의 예시로서 각 노드들간에 양방향 관계(relation)가 형성될 수 있음은 물론이다.In Fig. 12, the relation is shown only in one direction. However, it goes without saying that a bi-directional relation may be formed between each node as an example.

도 12를 참조하면 상기 표 2에 기재된 데이터가 모두 표시되어 있다. 즉, 사용자(U1)가 아이템(I(1)) 및 아이템(I(3))을 구매하고, 아이템(I(2))에 대하여는 방문을 한 정보, 사용자(U2)가 아이템(I(2)) 및 아이템(I(4))을 구매하고, 아이템(I(1))에 대하여 방문한 정보, 사용자(U3)가 아이템(I(3))을 구매하고, 아이템(I(4))에 대하여 방문한 정보가 하나의 그래프 데이터로 표시된다.Referring to FIG. 12, all the data described in Table 2 are shown. That is, the user (U1) the item (I (1)) and the item (I (3)) purchase, the item (I (2)) is a the visit information, the user (U2) with respect to items of (I (2 )) and the item (I (4)) purchase, purchase an item (I (visit information, the user (U3) with respect to item 1)) (I (3) ) of, and the item (I (4)) to The visited information is displayed as one graph data.

즉, 전처리 단계(C2)에서는 사용자 이용 정보 전처리 수행부(220)를 이용하여 표 2에 개시된 정보를 처리하여 표 2에 대응하는 그래프 데이터를 생성한다. That is, in the preprocessing step (C2), the user information preprocessing unit 220 processes the information described in Table 2 to generate graph data corresponding to Table 2.

그래프 데이터를 통하여 각 사용자(U1, U2, U3)들과 각 아이템(I(1), I(2), I(3), I(4))들간의 정보를 용이하게 알 수 있다. 또한, 각 사용자(U1, U2, U3)들과 각 아이템(I(1), I(2), I(3), I(4))들간의 관계(relation)에 대한 정보를 통하여 각 사용자(U1, U2, U3, U5)들간의 관계를 알 수 있다.Information between each user U1, U2, U3 and each item I ( 1 ), I ( 2 ), I ( 3 ), I ( 4 ) can be easily known through the graph data. In addition, through the information for each user (U1, U2, U3) and for each item (I (1), I ( 2), I (3), I (4)) relationship (relation) between each user ( U1, U2, U3, U5.

저장 단계(C3)에서는 이러한 사용자 이용 정보 전처리 수행부(220)를 이용하여 형성된 그래프 데이터를 그래프 데이터 베이스(230)에 저장한다. 전술한 실시예에서 설명한 바와 같이 사용자 이용 정보 전처리 수행부(220)와 그래프 데이터 베이스(230)는 별개의 독립된 부재일 수 있고, 다른 선택적 실시예로서 하나의 일체화된 형태일 수도 있다.In the storage step (C3), the graph data formed using the user-utilization-information preprocessing unit 220 is stored in the graph database 230. FIG. As described in the above embodiments, the user-utilization-information preprocessing unit 220 and the graph database 230 may be separate independent members, or may be in one integrated form as another alternative embodiment.

연산 단계(C5)에서는 저장 단계(C3)를 통하여 획득한 정보를 이용하여 연산을 수행한다. 특히, 연산 단계(C5)에서는 저장 단계(C3)에서 저장된 그래프 데이터를 연산하여 실시간으로 다양한 작업을 수행할 수 있고, 특정 사용자를 기준으로 사용자와 관계(relation)지어진 아이템들을 추출하고, 추출된 아이템들로부터 연관 사용자 및 연관 아이템들을 용이하게 선정하는 연산을 수행할 수 있다.In the operation step (C5), the operation is performed using the information obtained through the storage step (C3). In particular, in the operation step (C5), the stored graph data is calculated in the storage step (C3) to perform various operations in real time, and items related to the user are extracted based on a specific user, Lt; RTI ID = 0.0 > and / or < / RTI >

연산 단계(C5)는 다양한 형태를 가질 수 있는데, 도 11을 참조하면서 설명한다. 도 11은 도 10의 단계(C5)의 선택적 실시예를 설명하는 순서도이다.The computation step C5 can take various forms, which will be described with reference to Fig. 11 is a flowchart for explaining an alternative embodiment of step C5 of Fig.

도 11을 참조하면 연산 단계(C5)는 특정 사용자와 관계를 갖는 아이템을 파악하는 단계(C51), 상기 C51단계에서 파악한 아이템과 관계를 갖는 사용자들을 파악하는 단계(C52), 상기 C52단계에서 파악한 사용자들 중 상기 특정 사용자를 제외한 사용자들을 선정하는 단계(C53), 상기 C53단계에서 선정한 사용자들과 관계를 갖는 아이템들을 파악하는 단계(C54) 및 상기 C54단계에서 파악한 아이템들 중 상기 특정 사용자와 관계를 갖지 않는 아이템을 선정하는 단계(C55)를 포함한다.11, the operation step (C5) includes a step (C51) of identifying an item having a relation with a specific user, a step (C52) of identifying users having a relationship with the item identified at the step C51, (C53) of selecting users except for the specific user among the users, a step (C54) of identifying items having a relationship with the users selected in the step C53, and a step (C54) of correlating the items (Step C55) of selecting an item having no item.

사용자와 관계를 갖는 아이템을 파악하는 단계(C51)는 특정 사용자와 관계를 갖는 아이템을 파악하는 것으로서, 도 12를 참조하면 특정 사용자, 예를들면 사용자(U1)과 관계를 갖는 아이템들을 파악한다. 즉 사용자(U1)과 구매(p)의 관계를 갖는 아이템(I(1)) 및 아이템(I(3))을 파악하고, 사용자(U1)과 방문(v)의 관계를 갖는 아이템(I(2))을 파악한다. Step C51 of identifying an item having a relation with a user is to identify an item having a relation with a specific user, and referring to FIG. 12, it identifies items having a relation with a specific user, for example, the user U1. That is, items I ( 1 ) and I ( 3 ) having a relationship of the user U1 and purchase p and an item I ( 3 ) having the relationship of the user U1 and visit v, 2 ).

상기 C51단계에서 파악한 아이템과 관계를 갖는 사용자들을 파악하는 단계(C52)에서는, 상기 C51단계에서 파악된 아이템들, 즉, 아이템(I(1)), 아이템(I(2)) 및 아이템(I(3))과 관계를 갖는 사용자들을 파악한다. 즉, 아이템(I(1))과 관계를 갖는 사용자들인 사용자(U1) 및 사용자(U2)를 파악하고, 아이템(I(2))과 관계를 갖는 사용자들인 사용자(U1) 및 사용자(U2)를 파악하고, 아이템(I(3))과 관계를 갖는 사용자들인 사용자(U1) 및 사용자(U3)를 파악한다.In the step C52 of recognizing the users having relations with the items identified in the step C51, the items identified in the step C51, i.e., items I ( 1 ), I ( 2 ) ( 3 )). That is, the user U1 and the user U2 who are users who have relations with the item I ( 1 ) and those who have the relationship with the item I ( 2 ) And grasps the user U1 and the user U3 who are users who have a relationship with the item I ( 3 ).

상기 C52단계에서 파악한 사용자들 중 상기 특정 사용자를 제외한 사용자들을 선정하는 단계(C53)에서는, 상기 C52단계에서 파악된 사용자들, 즉 사용자(U1), 사용자(U2) 및 사용자(U3) 중 특정 사용자(U1)을 제외한 사용자인 사용자(U2) 및 사용자(U3)를 선정한다. 이러한 사용자들을 본 실시예에서는 연관 사용자라고 지칭한다. 즉 사용자(U1)의 연관 사용자들은 사용자(U2) 및 사용자(U3)이다. 이러한 연관사용자들을 선정하는 작업은 전술한 도 9의 아이템 추천 시스템(200)의 연관 사용자 선정부(251)가 수행할 수 있다.In step C53 of selecting the users other than the specific user among the users identified in step C52, the user identified in step C52, namely, the user U1, the user U2, and the user U3, The user U2 and the user U3 are selected as users excluding the user U1. These users are referred to in this embodiment as associated users. That is, the associated users of user U1 are user U2 and user U3. The task of selecting these related users can be performed by the related user selection unit 251 of the item recommendation system 200 of FIG. 9 described above.

상기 C53단계에서 선정한 사용자들과 관계를 갖는 아이템들을 파악하는 단계(C54)에서는 연관 사용자들인 사용자(U2) 및 사용자(U3)가 각각 관계를 갖는 아이템들을 파악한다. In step C54, items related to the users selected in the step C53 are identified by the users U2 and U3, which are related users, respectively.

먼저, 사용자(U2)와 관계를 갖는 아이템들을 파악하기로 한다. 도 12를 참조하면 사용자(U2)와 구매(p)의 관계를 갖는 아이템(I(2)) 및 아이템(I(4))을 파악하고, 사용자(U2)와 방문(v)의 관계를 갖는 아이템(I(1))을 파악한다. 그리고, 사용자(U3)과 구매(p)의 관계를 갖는 아이템(I(3)) 및 방문(v)의 관계를 갖는 아이템(I(4))을 파악한다. First, the items related to the user U2 will be grasped. Referring to FIG. 12, an item I ( 2 ) and an item I ( 4 ) having a relationship of a user U2 and a purchase p are grasped and a relationship between a user U2 and a visit v And grasps the item I ( 1 ). Then, identify your item (I (4)) having the relation of the item (I (3)) and landing (v) having a relationship of (U3) and purchasing (p).

상기 C54단계에서 파악한 아이템들 중 상기 특정 사용자와 관계를 갖지 않는 아이템을 선정하는 단계(C55)에서는 상기 파악된 아이템들, 즉 사용자(U2)와 관계를 갖는 아이템(I(1)), 아이템(I(2)) 및 아이템(I(4)), 그리고 사용자(U3)와 관계를 갖는 아이템(I(3)) 및 아이템(I(4)) 중에서 사용자(U1)와 관계를 갖지 않는 아이템을 선정한다. 편의상 본 실시예에서는 이러한 아이템들을 연관 아이템이라고 지칭한다. In the step C55 of selecting items not related to the specific user among the items identified in the step C54, the items identified as I (I ( 1 )), (item the I (2)) and the item (I (4)), and the user (according to item (I (3 having a relationship with the U3))) and the item (I (4)) items from having no relation with the user (U1) . For convenience, these items are referred to in this embodiment as associated items.

구체적으로 아이템(I(1)), 아이템(I(2)), 아이템(I(3)) 및 아이템(I(4)) 중 사용자(U1)와 관계를 갖지 않는 아이템인 아이템(I(4))을 선정한다. 이 경우 사용자(U1)의 연관 아이템은 아이템(I(4))이다. 이러한 연관 아이템들을 선정하는 작업은 전술한 도 9의 아이템 추천 시스템(200)의 연관 아이템 선정부(252)가 수행할 수 있다.Specifically, the item (I (1)), the item (I (2)), the item (I (3)) and the item (I (4)) of the item having no relation with the user (U1) Item (I (4 ). In this case, the associated item of the user U1 is the item I ( 4 ). The selection of these related items may be performed by the associated item selection unit 252 of the item recommendation system 200 of FIG. 9 described above.

추천 단계(C6)에서는 연산 단계(C5)를 통하여 선정된 아이템들을 사용자에게 추천하는 작업을 진행한다. 즉, 사용자(U1)에게 사용자(U1)의 연관 아이템인 아이템(아이템(I(4))을 추천할 수 있다.In the recommendation step (C6), an operation for recommending the selected items to the user is performed through the operation step (C5). That is, the item U ( 4 ) can be recommended to the user U1, which is an item associated with the user U1.

추천 단계(C6)는 다양한 방식으로 추천할 수 있는데, 전술한 것과 마찬가지로 다양한 방식으로 진행할 수 있는데, 예를들면 특정 사용자(U1)가 방문 시 웹사이트상에서 아이템이 표시되도록 팝업창을 형성하거나, 웹사이트의 화면상에 일부에 일시적 또는 지속적으로 아이템을 나타낼 수 있고, 이메일로 아이템들을 공지할 수도 있다. 그러나 본 실시예는 이에 한정되지 않고 다양한 방식으로 추천 과정을 진행할 수 있음은 물론이다.Recommendation step C6 may be recommended in a variety of ways, and may proceed in a variety of ways as described above, such as forming a pop-up window for a particular user U1 to display an item on the website at visit, The user can temporarily or permanently display the item on a part of the screen of the mobile phone, or announce items by e-mail. However, the present embodiment is not limited to this, and it goes without saying that the recommendation process can be performed in various ways.

특정 사용자로서 사용자(U1)을 설명한 것은 설명의 편의를 위한 것으로서 다른 사용자들 중 어느 하나에 대하여 추천 작업을 수행할 수 있음은 물론이다.It is needless to say that the description of the user U1 as a specific user is for convenience of explanation and can perform recommendation work for any one of the other users.

본 발명의 실시예들의 아이템 추천 시스템(200) 및 이를 이용한 추천 방법은 사용자 이용 정보 저장부(210)를 통하여 사용자 이용 정보를 용이하게 저장할 수 있고, 선택적 실시예로서, 실시간으로 처리한 정보 및 첫 방문자임을 표시하여 저장할 수 있다. The item recommendation system 200 and the recommendation method using the item recommendation system according to the embodiments of the present invention can easily store user-use information through the user-use information storage unit 210 and, as an alternative embodiment, You can mark it as a visitor and save it.

그리고, 이러한 사용자 이용 정보 저장부(210)에 저장된 정보를 사용자 이용 정보 전처리 수행부(220)에서 전처리하는 단계를 진행하여 사용자와 아이템들간의 관계(relation)을 단순화한 그래프 데이터로 변형한다. 그리고 이러한 그래프 데이터는 그래프 데이터 베이스(230)에 저장하는 단계를 진행한다. The user information pre-processing unit 220 preprocesses the information stored in the user-used information storage unit 210 to transform the relation between the user and the items into simplified graph data. The graph data is stored in the graph database 230.

사용자와 아이템들간의 정보는 사용자 및 아이템들이 적을 때는 저 장시 크게 문제되지 않으나, 사용자들의 수와 아이템들간의 수가 증가하고 관계의 방식(예, 구매, 방문)이 증가할 경우 저장하기도 용이하지 않고, 저장한다 하더라도 이러한 저장된 정보를 이용하기 용이하지 않다. Information between users and items is not a big problem when users and items are small, but it is not easy to store them when the number of users and the number of items increases and the relationship type (for example, purchase, visit) increases, It is not easy to use such stored information.

그러나, 본 실시예에서는 사용자와 아이템들간의 정보를 그래프 데이터 베이스(230)에 그래프 데이터 형태로 저장한다. 이를 통하여 사용자들과 아이템들간의 관계를 용이하게 파악 및 분석할 수 있다. 특히, 그래프 데이터 베이스(230)내에는 그래프 데이터만을 저장할 뿐, 사용자들과 아이템들간의 관계에 대한 별도의 연산을 수행하지 않는다. 불필요한 연산 작업을 수행하지 않으므로 그래프 데이터 베이스(230)를 통한 사용자 이용 정보의 활용 능력을 향상할 수 있다.However, in the present embodiment, information between the user and the items is stored in the graph database 230 in the form of graph data. Through this, the relationship between users and items can be easily grasped and analyzed. In particular, only the graph data is stored in the graph database 230, and no separate operation is performed on the relationship between users and items. It is possible to improve the ability to utilize the user-utilized information through the graph database 230 since unnecessary calculation operations are not performed.

또한, 그래프 데이터 베이스(230)를 이용하여 추가적인 정보를 노드(node) 및 관계(relation)등을 이용하여 용이하게 저장할 수 있다.Further, the graph database 230 can be used to easily store additional information using nodes and relations.

그리고, 연산부(250)는 가공 단계에서 위와 같이 용이한 방법으로 파악된 사용자들과 아이템들간의 관계를 이용하여 연산 작업을 진행하여 다양한 작업을 수행한다. 즉, 그래프 데이터 형태로 저장된 데이터들을 모두 연산하는 것이 아니고, 필요한 사용자 또는 필요한 아이템에 관련된 관계(relation)를 포함하는 정보만 불러와 이에 대한 연산만을 수행하여 작업을 수행한다.In addition, the operation unit 250 carries out various operations by performing the calculation operation using the relation between the users and the items grasped by the easy method in the processing step. In other words, rather than computing all the data stored in the form of graph data, only the information including a relation related to a necessary user or a required item is performed, and the operation is performed by performing only the operation related thereto.

이를 통하여 실시간으로 신속한 연산이 가능하므로 원하는 때에 최신의 정보를 통한 연산, 예를들면 사용자와 아이템들 각각의 관계 정보 선별 작업을 용이하게 진행할 수 있다.Accordingly, it is possible to perform a quick calculation in real time, so that it is possible to easily carry out calculations based on the latest information at a desired time, for example, a relation information sorting operation for each user and items.

특히, 특정 사용자와 관계를 갖는 아이템들과 관계를 갖는 타 사용자들, 즉 연관 사용자를 선정하고, 연관 사용자와 관계를 갖는 아이템들 중 특정 사용자와 관계를 갖지 않는 아이템들, 즉 연관 아이템들을 선정하여 추천 작업을 진행하므로 실시간으로 효과적으로 추천 작업을 진행할 수 있다. 즉, 추천 작업을 진행할 사용자들에 대한 정보 및 이와 연관된 사용자들에 대한 정보만을 그래프 데이터 베이스에서 불러와 빠른 시간에 연산이 가능하므로 언제든지 실시간으로 원하는 추천 작업을 용이하게 진행할 수 있다.In particular, it is possible to select other users having an association with items having a relation with a specific user, i.e., an associated user, and select items having no relationship with a specific user, i.e., related items, Since recommendation work is carried out, recommendation work can be effectively performed in real time. That is, only the information about the users who will perform the recommendation work and the information about the users related thereto can be retrieved from the graph database and can be operated in a short time, so that the recommendation work can be easily performed in real time at any time.

도 13은 본 발명의 또 다른 실시예에 관한 아이템 추천 시스템 및 이의 동작을 개략적으로 설명하기 위하여 도시한 도면이다.13 is a diagram for schematically illustrating an item recommendation system and its operation according to another embodiment of the present invention.

설명의 편의를 위하여 전술한 실시예와 상이한 점을 중심으로 설명하기로 한다.For convenience of explanation, the description will be focused on the differences from the above-described embodiment.

도 13을 참조하면 복수의 사용자들(U1, U2, U3...Un)은 네트워크(NW)를 통하여 웹사이트(WS)에 접속한다. 아이템 추천 시스템(300)은 웹사이트(WS)와 연결되어 사용자와 관련된 복수의 정보를 전달받을 수 있다. 웹사이트(WS)관련된 내용은 전술한 실시예와 동일하므로 구체적인 설명은 생략한다.Referring to FIG. 13, a plurality of users U1, U2, U3,... Un accesses a web site WS via a network NW. The item recommendation system 300 may be connected to the web site WS to receive a plurality of information related to the user. The contents related to the web site WS are the same as those of the above-described embodiment, and thus a detailed description thereof will be omitted.

도 13을 참조하면 아이템 추천 시스템(300)은 크게, 사용자 이용 정보 저장부(310), 사용자 이용 정보 전처리 수행부(320), 그래프 데이터 베이스(330), 연산부(350), 유사도 판단부(360) 및 추천부(370)를 포함한다. 연산부(350)는 연관 사용자 선정부(351) 및 연관 아이템 선정부(352)를 구비한다.Referring to FIG. 13, the item recommendation system 300 includes a user use information storage unit 310, a user utilization information preprocessing unit 320, a graph database 330, an operation unit 350, a similarity determination unit 360 And a recommendation unit 370. The operation unit 350 includes an associated user selection unit 351 and an associated item selection unit 352. [

사용자 이용 정보 저장부(310)는 사용자 이용 정보 제1 저장부(301) 및 사용자 이용 정보 제2 저장부(302)를 구비한다. 사용자 이용 정보 제1 저장부(301) 및 사용자 이용 정보 제2 저장부(302)는 각각 서로 상이한 사용자 이용 관련 정보를 저장한다. 이에 대한 구체적인 내용은 전술한 실시예와 동일하므로 생략한다.The user use information storing unit 310 includes a user using information first storing unit 301 and a user using information second storing unit 302. [ The user use information first storage unit 301 and the user use information second storage unit 302 store different user usage related information. The details of this are the same as those of the above-described embodiment and thus will not be described.

사용자 이용 정보 전처리 수행부(320)는 사용자 이용 정보 저장부(310)에 1차로 저장된 사용자 이용 정보를 그래프 데이터 베이스(330)에 저장하기 적합한 형태로 변형하기 위하여 전처리 단계를 진행한다. 구체적인 내용은 전술한 실시예와 동일하므로 생략한다.The user use information preprocessing unit 320 proceeds to a preprocessing step to transform the user use information stored primarily in the user use information storage unit 310 into a form suitable for storing in the graph database 330. [ The detailed contents are the same as those of the above-mentioned embodiment and will be omitted.

그래프 데이터 베이스(330)는 사용자 이용 정보 전처리 수행부(320)를 통하여 적절히 변형된 정보를 저장한다. The graph database 330 stores the modified information appropriately through the user-used information preprocessing unit 320.

아이템 유사도 판단부(360)는 아이템들간의 유사도를 계산하여 판단한다.The item similarity degree determiner 360 calculates and determines the degree of similarity between the items.

연산부(350)는 필요한 때에 그래프 데이터 베이스(330)에 저장된 사용자 이용 정보 및 아이템 유사도 판단부(360)에서 판단한 아이템 유사도 정보등을 이용하여 연산하는 단계를 수행한다. The operation unit 350 performs the operation using the user use information stored in the graph database 330 and the item similarity information determined by the item similarity degree determiner 360 when necessary.

연산부(350)는 연관 사용자 선정부(351) 및 연관 아이템 선정부(352)를 구비한다. 연관 사용자 선정부(351)는 특정 사용자와 관계를 갖는 아이템들과 관계를 갖는 타 사용자 또는 특정 사용자와 관계를 갖는 아이템과 유사한 아이템들과 관계를 갖는 타 사용자를 선정한다. 연관 아이템 선정부(352)는 연관 사용자 선정부(351)에서 선정한 사용자와 관계를 갖는 아이템 또는 이와 유사한 아이템 중 상기 특정 사용자와 관계를 갖지 않는 아이템을 선정한다. 이에 대한 구체적인 내용은 후술한다.The operation unit 350 includes an associated user selection unit 351 and an associated item selection unit 352. [ The associated user selection unit 351 selects another user having a relationship with items related to a specific user or a user having a relationship with items similar to those related to a specific user. The associated item selection unit 352 selects an item having a relationship with the user selected by the associated user selection unit 351 or an item having no relation with the specific user among similar items. Details of this will be described later.

도시하지 않았으나, 본 실시예의 아이템 추천 시스템(300)의 사용자 이용 정보 저장부(310)는 다양한 선택적 실시예를 가질 수 있고, 예를들면 전술한 도 2의 실시예를 가질 수 있다. 즉, 본 실시예의 아이템 추천 시스템(300)의 사용자 이용 정보 저장부(310)는 사용자 이용 정보 제1 저장부, 사용자 이용 정보 제2 저장부, 실시간 처리부 및 임시 저장부를 구비할 수 있다. 실시간 처리부 및 임시 저장부를 포함한 구체적인 내용은 전술한 도 2의 실시예와 동일하므로 구체적인 내용은 생략한다. Although not shown, the user use information storage unit 310 of the item recommendation system 300 of the present embodiment may have various optional embodiments, and may have the embodiment of FIG. 2 described above, for example. That is, the user use information storage unit 310 of the item recommendation system 300 of the present embodiment may include a user use information first storage unit, a user use information second storage unit, a real time processing unit, and a temporary storage unit. The detailed contents including the real-time processing unit and the temporary storage unit are the same as those of the embodiment of FIG. 2 described above, and therefore, detailed description thereof will be omitted.

사용자 이용 정보 전처리 수행부(320)는 사용자 이용 정보 저장부(310)와 연결된다.The user-used information preprocessing unit 320 is connected to the user-used information storage unit 310.

사용자 이용 정보 전처리 수행부(320)는 사용자 이용 정보 저장부(310)로부터 사용자 이용 정보를 가져와 사용자 이용 정보를 그래프 데이터 베이스(330)에 저장하기에 적합하도록 전처리를 수행한다. The user use information preprocessing unit 320 performs preprocessing to fetch user use information from the user use information storage unit 310 and store the user use information in the graph database 330. [

사용자 이용 정보 전처리 수행부(320)는 도 13에 도시한 복수의 사용자들(U1, U2, U3...Un)과 복수의 아이템들간 관계(relation)을 형성하고, 이를 기초로 복수의 사용자들(U1, U2, U3...Un)과 복수의 아이템들간 관계(relation)를 그래프로 변형한다. The user use information preprocessing unit 320 forms a relation between a plurality of users U1, U2, U3 ... Un and a plurality of items shown in FIG. 13, (U1, U2, U3 ... Un) and a plurality of items.

그래프 데이터 베이스(330)는 사용자 이용 정보 전처리 수행부(320)에서 변형된 그래프 데이터, 즉 사용자들과 복수의 아이템들간 관계를 그래프로 표시한 데이터를 저장한다. 그래프 데이터 베이스(330)에 저장되는 그래프 데이터는 사용자들과 아이템들간의 관계를 노드(node), 관계(relation), 속성(property)로 표시할 수 있다.The graph database 330 stores graph data modified by the user-use-information preprocessing unit 320, that is, data representing graphically the relationship between users and a plurality of items. The graph data stored in the graph database 330 may display the relationship between users and items as nodes, relations, and properties.

이와 관련한 구체적인 내용은 후술한다.Details related to this will be described later.

그래프 데이터 베이스(330)의 예시는 전술한 실시예와 같다. 또한, 전술한 실시예와 마찬가지로 사용자 이용 정보 전처리 수행부(320)는 그래프 데이터 베이스(330)와 별개의 부재로 독립적으로 구성될 수 있고, 선택적 실시예로서, 그래프 데이터 베이스(330)와 일체로 사용자 이용 정보 전처리 수행부(320)가 형성될 수도 있다.An example of the graph database 330 is the same as the above-described embodiment. Also, as in the above-described embodiment, the user-utilization-information preprocessing unit 320 may be configured independently of the graph database 330, A user-used information preprocessing unit 320 may be formed.

유사도 판단부(360)는 아이템들간의 유사도를 계산 및 판단한다. 유사도 판단부(360)는 오프라인 배치(offline batch) 처리 방식으로 아이템들간의 유사도를 계산 및 판단할 수 있다.The similarity determination unit 360 calculates and determines the similarity between the items. The similarity determination unit 360 may calculate and determine similarities between items in an offline batch processing manner.

유사도 판단부(360)는 다양한 방식으로 아이템들간의 유사도를 계산 및 판단할 수 있는데, 예를들면 사용자의 암시적 선호도를 이용할 수 있다. 즉, 사용자의 구매, 방문 기타 암시적 선호도를 이용하여 아이템들간의 유사도를 계산 및 판단할 수 있다. 또한 유사도 판단부(360)는 주기적으로, 예를들면 1시간 간격으로 아이템들간 유사도를 오프라인 배치 처리 방식으로 계산할 수 있다. 이 때 사용자의 암시적 선호도를 가리키는 구매, 방문 정보등을 주기적으로 제공받아 아이템들간 유사도를 계산 및 판단할 수 있다.The similarity determination unit 360 can calculate and determine the similarity between items in various ways, for example, the user's implicit preference can be used. That is, the similarity degree between the items can be calculated and determined using the user's purchase, visit, or other implicit preferences. In addition, the similarity determination unit 360 may calculate the similarities between items periodically, for example, at intervals of one hour, in an offline arrangement processing manner. At this time, purchasing, visiting information indicating the user's implicit preference is periodically provided, and the similarity between the items can be calculated and determined.

이를 위하여 유사도 판단부(360)는 다양한 선택적 실시예를 가질 수 있는데, 전술한 도 3에 도시한 것과 같이 본 실시예의 유사도 판단부(360)도 선택적 실시예로서 유사도 판단부(360)가 사용자 이용 정보 저장부(310)와 연결되어 정보를 전달 받을 수도 있다. 구체적인 내용은 전술한 실시예와 동일하므로 생략한다. 3, the similarity degree determiner 360 may also be an alternative embodiment. The similarity degree determiner 360 may be used by the similarity degree determiner 360 as a user And may be connected to the information storage unit 310 to receive information. The detailed contents are the same as those of the above-mentioned embodiment and will be omitted.

유사도 판단부(360)의 아이템들간 유사도 계산 및 판단을 통하여 복수의 아이템들간에는 유사도가 결정되고 서로 유사도가 높은 아이템들은 도 17에 도시한 것과 같이 유사 아이템군으로 정할 수 있다. 도 17에 대한 설명은 후술할 실시예에서 더 구체적으로 하기로 한다.The degree of similarity between a plurality of items is determined through calculation and determination of similarity between items of the similarity degree determiner 360, and items having similarity to each other can be defined as a similar item group as shown in FIG. 17 will be described more specifically in the following embodiments.

연산부(350)는 그래프 데이터 베이스(330)에 저장되어 있는 그래프 데이터 중 특정의 원하는 데이터를 원하는 때에 불러온다. 또한 연산부(350)는 유사도 판단부(360)에서 계산 및 판단하여 얻은 아이템 유사도 정보를 불러온다.The calculation unit 350 loads specific desired data among the graph data stored in the graph database 330 at a desired time. In addition, the operation unit 350 retrieves the item similarity information obtained by the calculation and determination by the similarity degree determiner 360.

그리고, 이를 연산하여 가공 단계를 수행한다. 특히, 연산부(350)는 그래프 데이터 베이스(330)에 저장된 데이터들을 연산하여 실시간으로 다양한 작업을 수행할 수 있고, 특정 사용자를 기준으로 사용자와 관계(relation)지어진 아이템들을 추출하고, 추출된 아이템들과 유사도가 높은 아이템들을 용이하게 추출하는 연산을 수행할 수 있다. Then, this is calculated to perform the machining step. In particular, the operation unit 350 can perform various operations in real time by calculating data stored in the graph database 330, extract items related to a user based on a specific user, And can easily perform an operation of extracting items having a high degree of similarity.

추천부(370)는 연산부(350)와 연결되어 연산부(350)에서 선정된 아이템들을 특정 사용자에에 추천할 수 있다. The recommendation unit 370 may be connected to the operation unit 350 to recommend items selected by the operation unit 350 to a specific user.

추천부(370)는 다양한 방식으로 추천 작업을 진행할 수 있다. 추천부(370)의 추천 방식의 예는 전술한 실시예에서 설명한 바와 동일 또는 이와 유사하게 변형 가능하므로 구체적인 설명은 생략한다.The recommendation unit 370 can perform recommendation work in various ways. An example of the recommendation method of the recommendation unit 370 may be the same as or similar to the one described in the above embodiment, and thus a detailed description thereof will be omitted.

도 14는 도 13의 아이템 추천 시스템을 이용하여 아이템을 추천하는 방법을 순차적으로 설명한 개략적인 순서도이다.14 is a schematic flowchart sequentially illustrating a method of recommending an item using the item recommendation system of FIG.

도 14를 참조하면 본 실시예의 아이템 추천 방법은 사용자 이용 정보 획득 단계(P1), 전처리 단계(P2), 저장 단계(P3), 연산 단계(P5) 및 추천 단계(P6)을 포함한다.Referring to FIG. 14, the item recommendation method of the present embodiment includes a user utilization information acquisition step P1, a preprocessing step P2, a storage step P3, an operation step P5, and a recommendation step P6.

사용자 이용 정보 획득 단계(P1)는 전술한 것과 같이 도 13의 아이템 추천 시스템(300)의 사용자 이용 정보 저장부(310)에서 진행한다. 즉, 사용자 이용 정보 저장부(310)의 사용자 이용 정보 제1 저장부(301) 및 사용자 이용 정보 제2 저장부(302)를 이용하여 사용자의 정보, 예를들면 사용자의 구매 정보, 장바구니 정보 또는 방문 정보를 획득한다.The user utilization information acquisition step P1 proceeds in the user utilization information storage unit 310 of the item recommendation system 300 of FIG. 13 as described above. That is, the information of the user, for example, the purchase information of the user, the shopping cart information, or the information of the user is stored by using the user use information first storage unit 301 and the user use information second storage unit 302 of the user use information storage unit 310 And acquires the visit information.

예를들면 하기와 같은 표 3에 표시된 형태로 사용자 이용 정보 저장부(310)는 사용자의 이용 정보들을 저장할 수 있다.For example, in the form shown in Table 3 below, the user-use-information storage unit 310 may store user's usage information.

I(1)I ( 1 ) I(2)I ( 2 ) I(3)I ( 3 ) I(4)I ( 4 ) I(5)I ( 5 ) U1U1 구매purchase 방문visit 구매purchase U2U2 방문 visit 구매purchase 구매purchase U3U3 구매purchase 방문visit 구매purchase

상기 표 3의 U1, U2, U3 는 웹사이트에 접속하는 각각 상이한 사용자를 가리킨다. 상기 표 1의 I(1), I(2), I(3), I(4), I(5)는 각각 웹사이트에서 제공하는 상이한 아이템들을 가리킨다.In Table 3, U1, U2, and U3 indicate different users who access the Web site, respectively. I ( 1 ), I ( 2 ), I ( 3 ), I ( 4 ), and I ( 5 ) in Table 1 refer to the different items provided on the website, respectively.

즉, 표 3을 구체적으로 설명하면 아래와 같다. That is, Table 3 will be described in detail as follows.

사용자(U1)은 아이템(I(1)) 및 아이템(I(3))을 구매하고, 아이템(I(2))에 대하여는 방문을 하였다. 사용자(U2)은 아이템(I(2)) 및 아이템(I(4))을 구매하고, 아이템(I(1))에 대하여 방문하였다. 사용자(U3)은 아이템(I(3)) 및 아이템(I(5))을 구매하고, 아이템(I(4))에 대하여 방문하였다. The user U1 purchases the item I ( 1 ) and the item I ( 3 ), and visits the item I ( 2 ). User U2 purchases item I ( 2 ) and item I ( 4 ) and visits item I ( 1 ). The user U3 purchases item I ( 3 ) and item I ( 5 ) and visits item I ( 4 ).

또한, 선택적 실시예로서 사용자 이용 정보 저장부(310)가 도 2의 선택적 실시예의 구조를 적용할 경우 임시 저장부에 상기의 정보를 저장할 수 있다.Also, as an alternative embodiment, when the user use information storage unit 310 applies the structure of the alternative embodiment of FIG. 2, the information may be stored in the temporary storage unit.

상기의 표 3에는 예시적으로 3명의 사용자 및 5개의 아이템을 개시하였다. 또한, 2가지 종류의 사용자 이용 정보, 즉 구매 및 방문 정보를 개시하였다. 이는 설명의 편의를 위한 것으로서 사용자 이용 정보 획득 단계(P1)에서 복수의 사용자 및 복수의 아이템에 대한 정보를 획득 및 저장할 수 있음은 물론이다. 또한, 사용자의 이용 정보로서 구매 및 방문 외에 장바구니 정보 또는 보관함 정보, wish list 정보 등 기타 정보를 이용할 수 있음은 물론이다.Table 3 above illustratively shows three users and five items. In addition, two kinds of user utilization information, namely purchase and visit information, are disclosed. It is needless to say that information for a plurality of users and a plurality of items can be acquired and stored in the user-use-information obtaining step P1 for convenience of explanation. It is also possible to use other information such as shopping cart information, storage box information, wish list information, and the like in addition to purchase and visit as user use information.

또한, 기타 사용자 이용 정보 저장과 관련된 내용은 전술한 실시예에서 설명한 바와 같다.The content related to storing other user-used information is as described in the above embodiments.

전처리 단계(P2)에서는 사용자 이용 정보 획득 단계(P1)에서 획득 및 저장한 단계를 사용자 이용 정보 전처리 수행부(320)를 이용하여 사용자들과 아이템들간의 관계를 형성하고 그래프로 변형한다. 즉 후술할 저장 단계(P3)에 적합하도록 정보 전처리를 수행한다.In the preprocessing step P2, the user-information-preprocessing unit 320 acquires and stores the acquired and stored information in the user-used information obtaining step P1 to form a relationship between users and items, and transforms the generated graph into a graph. That is, the storage step P3, which will be described later.

도 12는 전처리 단계(P2)를 통하여 변화된 그래프이다.12 is a graph that is changed through the preprocessing step P2.

설명의 편의를 위하여 도 16은 상기 표 3의 정보를 그대로 이용하여 전처리한 그래프 데이터를 보여준다. For convenience of explanation, FIG. 16 shows graph data obtained by pre-processing using the information of Table 3 as it is.

도 16을 참조하면 그래프 데이터는 복수의 노드(node)를 포함하고, 복수의 노드들간에는 관계(relation)가 형성된다. 복수의 노드들은 각각 속성(property)을 갖는데, 도 16에서는 각 노드들은 사용자들(U1, U2, U3) 및 아이템(I(1), I(2), I(3), I(4), I(5))을 속성으로 갖는다. 또한 관계(relation)들은 구매(p) 및 방문(v)을 속성으로 갖는다. Referring to FIG. 16, the graph data includes a plurality of nodes, and a relation is formed between the plurality of nodes. Each node has properties U1, U2, U3 and items I ( 1 ), I ( 2 ), I ( 3 ), I ( 4 ) I ( 5 )). Also, relations have attributes (p) and (v) as attributes.

도 16에는 관계(relation)가 단방향으로만 표시되어 있다. 그러나, 이는 하나의 예시로서 각 노드들간에 양방향 관계(relation)가 형성될 수 있음은 물론이다.In Fig. 16, the relation is shown only in one direction. However, it goes without saying that a bi-directional relation may be formed between each node as an example.

도 16을 참조하면 상기 표 3에 기재된 데이터가 모두 표시되어 있다. 즉, 사용자(U1)가 아이템(I(1)) 및 아이템(I(3))을 구매하고, 아이템(I(2))에 대하여는 방문을 한 정보, 사용자(U2)가 아이템(I(2)) 및 아이템(I(4))을 구매하고, 아이템(I(1))에 대하여 방문한 정보, 사용자(U3)가 아이템(I(3)) 및 아이템(I(5))을 구매하고, 아이템(I(4))에 대하여 방문한 정보가 하나의 그래프 데이터로 표시된다.Referring to FIG. 16, all the data described in Table 3 are shown. That is, the user (U1) the item (I (1)) and the item (I (3)) purchase, the item (I (2)) is a the visit information, the user (U2) with respect to items of (I (2 ) And item I ( 4 ), information visited for item I ( 1 ), user U3 purchases item I ( 3 ) and item I ( 5 ) The information visited for the item I ( 4 ) is displayed as one graph data.

즉, 전처리 단계(P2)에서는 사용자 이용 정보 전처리 수행부(320)를 이용하여 표 3에 개시된 정보를 처리하여 표 3에 대응하는 그래프 데이터를 생성한다. That is, in the preprocessing step P2, the user information pre-processing unit 320 processes the information described in Table 3 to generate graph data corresponding to Table 3. [

그래프 데이터를 통하여 각 사용자(U1, U2, U3)들과 각 아이템(I(1), I(2), I(3), I(4), I(5))들간의 정보를 용이하게 알 수 있다. 또한, 각 사용자(U1, U2, U3)들과 각 아이템(I(1), I(2), I(3), I(4), I(5))들간의 관계(relation)에 대한 정보를 통하여 각 사용자(U1, U2, U3)들간의 관계를 알 수 있다.Through the graph data for each user (U1, U2, U3) and for each item (I (1), I ( 2), I (3), I (4), I (5)) easily know information between . Further, the information for each user (U1, U2, U3) and for each item (I (1), I ( 2), I (3), I (4), I (5)) relationship (relation) between the U1, U2, and U3 can be known through the user interface (U1, U2, U3).

저장 단계(P3)에서는 이러한 사용자 이용 정보 전처리 수행부(320)를 이용하여 형성된 그래프 데이터를 그래프 데이터 베이스(330)에 저장한다. 전술한 실시예에서 설명한 바와 같이 사용자 이용 정보 전처리 수행부(320)와 그래프 데이터 베이스(330)는 별개의 독립된 부재일 수 있고, 다른 선택적 실시예로서 하나의 일체화된 형태일 수도 있다.In the storing step P3, the graph data formed using the user-used information preprocessing unit 320 is stored in the graph database 330. [ As described in the above embodiments, the user-utilization-information preprocessing unit 320 and the graph database 330 may be separate independent members, or may be in one integrated form as another alternative embodiment.

아이템 유사도 계산 단계(P4)에서는 아이템들간의 유사도를 계산 및 판단한다. 아이템 유사도 계산 단계(P4)에서는 다양한 방법으로 아이템들간의 유사도를 계산한다. 즉, 전술한 대로 오프라인 배치(offline batch) 처리 방식으로 아이템들간의 유사도를 계산 및 판단할 수 있다.In the item similarity calculation step P4, the degree of similarity between the items is calculated and determined. In the item similarity calculation step (P4), similarity between items is calculated by various methods. That is, as described above, the degree of similarity between items can be calculated and determined by an offline batch processing method.

또한, 사용자의 암시적 선호도를 이용할 수 있다. 즉, 사용자의 구매, 방문 기타 암시적 선호도를 이용하여 아이템들간의 유사도를 계산 및 판단할 수 있다. 또한 유사도 판단부(360)는 주기적으로, 예를들면 1시간 간격으로 아이템들간 유사도를 오프라인 배치 처리 방식으로 계산할 수 있다. 이 때 사용자의 암시적 선호도를 가리키는 구매, 방문 정보등을 주기적으로 제공받아 아이템들간 유사도를 계산 및 판단할 수 있다.In addition, the implicit preference of the user can be used. That is, the similarity degree between the items can be calculated and determined using the user's purchase, visit, or other implicit preferences. In addition, the similarity determination unit 360 may calculate the similarities between items periodically, for example, at intervals of one hour, in an offline arrangement processing manner. At this time, purchasing, visiting information indicating the user's implicit preference is periodically provided, and the similarity between the items can be calculated and determined.

이를 위하여 전술한 것과 마찬가지로 선택적 실시예로서 유사도 판단부(360)가 사용자 이용 정보 저장부(310)와 연결되어 정보를 전달 받을 수도 있다. For this, the similarity determination unit 360 may be connected to the user-used information storage unit 310 to receive information as an alternative embodiment as described above.

아이템 유사도 계산 단계(P4)를 통하여 도 17에 도시한 것과 같이 유사도가 높은 아이템별로 그룹을 선정할 수 있다.The item similarity calculation step P4 can select the group for each item having a high degree of similarity as shown in FIG.

도 17을 참조하면 A그룹 내에 포함된 아이템들(I(1), I(3), I(4), I(7), I(10), I(13)...)은서로 유사도가 높은 아이템들이고, B그룹 내에 포함된 아이템들(I(2), I(5), I(6), I(15), I(19), I(20)...)은 서로 유사도가 높은 아이템들이다.17, the items I ( 1 ), I ( 3 ), I ( 4 ), I ( 7 ), I ( 10 ), I ( 13 ) Items I ( 2 ), I ( 5 ), I ( 6 ), I ( 15 ), I ( 19 ), I ( 20 ) Items.

유사도 계산 단계(P4)에서 계산된 아이템 유사도 및 이를 통하여 얻은 유사도가 높은 아이템별로 선정된 그룹은 소정의 저장소에 저장할 수 있다. 예를들면 도 1에 도시한 유사도 판단부(360)내에 저장할 수 있고, 도시하지 않은 별도의 저장소, 특히 임시 저장소에 저장할 수 있다. The group selected by the item similarity calculated in the similarity calculation step P4 and the similarity obtained through the similarity can be stored in a predetermined storage. For example, within the similarity determination unit 360 shown in FIG. 1, and may be stored in a separate repository, not shown, in particular, a temporary repository.

또 다른 예로서, 도 2에 도시한 실시예에서 설명한 대로 임시 저장부(MQ)에 이러한 정보를 저장할 수 있고, 또한 임시 저장부(MQ)에 저장한 아이템 유사도 정보를 전처리 단계(P2)를 수행하여 전술한 그래프 데이터에 포함시킨 후 그래프 데이터로 저장 단계(P3)에서 저장하는 것도 가능하다.As another example, the item similarity information stored in the temporary storage unit MQ can be stored in the temporary storage unit MQ as described in the embodiment shown in FIG. 2, and the preprocessing step P2 is performed And then stored in the graph data and stored in the graph data storage step P3.

연산 단계(P5)에서는 저장 단계(P3) 및 아이템 유사도 계산 단계(P4)를 통하여 획득한 정보를 이용하여 연산을 수행한다. 특히, 연산 단계(P5)에서는 저장 단계(P3)에서 저장된 그래프 데이터를 연산하여 실시간으로 다양한 작업을 수행할 수 있고, 특정 사용자를 기준으로 사용자와 관계(relation)지어진 아이템들을 추출하고, 추출된 아이템들로부터 연관 사용자 및 연관 아이템들을 용이하게 선정하는 연산을 수행할 수 있다.In the calculation step P5, the calculation is performed using the information obtained through the storage step P3 and the item similarity calculation step P4. In particular, in the calculation step P5, the stored graph data may be calculated in the storage step P3 to perform various operations in real time, and items related to the user may be extracted based on the specific user, Lt; RTI ID = 0.0 > and / or < / RTI >

연산 단계(P5)는 다양한 형태의 선택적 실시예들을 가질 수 있는데, 도 15a 및 도 15b는 도 14의 단계(P5)의 선택적 실시예들을 각각 설명하는 순서도들이다.Operation step P5 may have various alternative embodiments, which are flowcharts that respectively illustrate alternative embodiments of step P5 of Fig. 14, respectively.

먼저, 도 15a를 참조하면 연산 단계(P5)는 특정 사용자와 관계를 갖는 아이템을 파악하는 단계(P51), 상기 P51단계에서 파악한 아이템과 유사도가 높은 아이템들을 선정하는 단계(P52), 상기 P52단계에서 선정한 아이템과 관계를 갖는 사용자들 중 상기 특정 사용자를 제외한 사용자들을 선정하는 단계(P53), 상기 P53단계에서 선정한 사용자들과 관계를 갖는 아이템들을 파악하는 단계(P54) 및 상기 P54단계에서 파악한 아이템들 중 상기 특정 사용자와 관계를 갖지 않는 아이템을 선정하는 단계(P55)를 포함한다.Referring to FIG. 15A, the operation step (P5) includes a step (P51) of identifying an item having a relation with a specific user, a step (P52) of selecting items having high similarity to the item identified in the step P51, (P53) of selecting users who are related to the selected item from among the users having a relationship with the selected item in the step P53, determining (P54) items related to the users selected in the step P53, (P55) of selecting an item having no relationship with the specific user.

사용자와 관계를 갖는 아이템을 선정하는 단계(P51)는 특정 사용자와 관계를 갖는 아이템을 파악하는 것으로서, 도 16을 참조하면 특정 사용자, 예를들면 사용자(U1)과 관계를 갖는 아이템들을 파악한다. 즉 사용자(U1)와 구매(p)의 관계를 갖는 아이템(I(1)) 및 아이템(I(3))을 파악하고, 사용자(U1)과 방문(v)의 관계를 갖는 아이템(I(2))을 파악한다. The step P51 of selecting an item having a relation with the user is to grasp an item having a relation with a specific user, and referring to FIG. 16, it grasps items having a relation with a specific user, for example, the user U1. That is, items I ( 1 ) and I ( 3 ) having a relationship of the user U1 and purchase p, 2 ).

상기 P51단계에서 파악한 아이템과 유사도가 높은 아이템들을 선정하는 단계(P52)에서는, 상기 아이템들, 즉 아이템(I(1)), 아이템(I(2)) 및 아이템(I(3))과 유사도가 높은 아이템들을 파악한다. 도 17을 참조하면 아이템(I(1)) 또는 아이템(I(3))과 유사도가 높은 아이템들은 아이템들(I(4), I(7), I(10), I(13)...)이고, 아이템(I(2))와 유사도가 높은 아이템들은 아이템들(I(5), I(6), I(15), I(19), I(20)...)이다.In step P52, items having similarity to the item identified in step P51 are compared with the items I ( 1 ), I ( 2 ), and I ( 3 ) To identify high-ranked items. Referring to FIG. 17, items having similarity to items I ( 1 ) and I ( 3 ) are items I ( 4 ), I ( 7 ), I ( 10 ), I ( 13 ) .), and the item (I (2)) and the degree of similarity is high items are the items (I (5), I ( 6), I (15), I (19), I (20) ...).

즉, 최종적으로 아이템들(I(4), I(7), I(10), I(13)...) 또는 아이템들(I(5), I(6), I(15), I(19), I(20)...)을 선정한다.That is, finally the item (I (4), I ( 7), I (10), I (13) ...) or the item (I (5), I ( 6), I (15), I ( 19 ), I ( 20 ) ...) are selected.

상기 P52단계에서 선정한 아이템과 관계를 갖는 사용자들 중 상기 특정 사용자를 제외한 사용자들을 선정하는 단계(P53)에서는, 상기 P52단계에서 선정된 아이템들, 즉 아이템(I(1)) 또는 아이템(I(3))과 유사도가 높은 아이템들, 예를들면 아이템 I(4) 또는 아이템(I(5))과 관계를 갖는 사용자들 중 사용자(U1)을 제외한 사용자들을 선정한다. 먼저, 아이템(I(4))과 관계를 갖는 사용자들은 사용자(U2) 및 사용자(U3)이다. 그리고, 아이템(I(5))과 관계를 갖는 사용자는 사용자(U3)이다. 그리고, 이러한 사용자들 중 사용자(U1)을 제외한다. 그러므로 최종적으로 사용자(U2) 및 사용자(U3)가 선정된다. In the step P53 of selecting users except for the specific user among the users having relations with the item selected in the above step P52, the user selects the items selected in the above step P52, that is, the item I ( 1 ) 3 )), for example, items other than the user U1 among the users having a relationship with the item I ( 4 ) or the item I ( 5 ). First, the users having a relationship with item I ( 4 ) are user U2 and user U3. And, the user having a relationship with the item I ( 5 ) is the user U3. Among these users, the user U1 is excluded. Therefore, the user U2 and the user U3 are finally selected.

전술한 연산부(350)의 연관 사용자 선정부(351)는 이러한 사용자(U2) 및 사용자(U3) 선정 작업을 수행할 수 있다. 즉, 특정 사용자(U1)과 관계를 갖는 아이템들과 관계를 갖는 아이템과 유사한 아이템들과 관계를 갖는 타 사용자(본 실시예에서 연관 사용자라고 지칭)를 선정하는 작업을 수행할 수 있다. The associated user selecting unit 351 of the calculating unit 350 may perform the selecting operation of the user U2 and the user U3. That is, an operation can be performed to select another user (referred to as an associated user in this embodiment) having a relationship with items similar to items having relations with items having a relation with the specific user U1.

상기 P53단계에서 선정한 사용자들, 즉 연관 사용자들과 관계를 갖는 아이템들을 파악하는 단계(P54)에서는 상기 선정된 사용자들, 즉 사용자(U2) 및 사용자(U3)들과 관계를 갖는 아이템들을 파악한다. 도 16을 참조하면 사용자(U2)는 아이템(I(1)), 아이템(I(2)) 및 아이템(I(4))와 관계를 갖고, 사용자(U3)는 아이템(I(3)), 아이템(I(4)) 및 아이템(I(5))와 관계를 갖는다. 즉, 단계(P54)에서 파악한 아이템들은 아이템(I(1)), 아이템(I(2)), 아이템(I(3)), 아이템(I(4)) 및 아이템(I(5))이다.In the step P54 of grasping items related to the users selected in the step P53, that is, the related users, items having relations with the selected users, i.e., the user U2 and the user U3 are identified . 16, the user U2 has a relation with the item I ( 1 ), the item I ( 2 ) and the item I ( 4 ), the user U3 has the relationship with the item I ( 3 ) Item I ( 4 ), and item I ( 5 ). That is, the items identified in step (P54) are items (I (1)), the item (I (2)), the item (I (3)), the item (I (4)) and the item (I (5)) .

상기 P54단계에서 파악한 아이템들 중 상기 특정 사용자와 관계를 갖지 않는 아이템을 선정하는 단계(P55)에서는 상기 단계(P54)에서 파악한 아이템들(I(1), I(2), I(3), I(4), I(5)) 중 사용자(U1)와 관계를 갖지 않는 아이템을 선정한다. 즉 아이템들(I(1), I(2), I(3), I(4), I(5)) 중 사용자(U1)와 관계를 갖는 아이템들(I(1), I(2), I(3))를 제외한 아이템(I(4), I(5))을 선정한다. 전술한 연산부(350)의 연관 아이템 선정부(352)는 이러한 아이템 선정 작업을 수행한다. 즉, 연관 사용자와 관계를 갖는 아이템 중 상기 특정 사용자와 관계를 갖지 않는 아이템(본 실시예에서 연관 아이템이라고 지칭)을 선정한다.Of the items identified in the P54 step, step (P55) for selecting an item having no relationship with the particular user of the items identified in step (P54) (I (1) , I (2), I (3), I ( 4 ), I ( 5 )) that are not related to the user (U1). That is the item of the (I (1), I ( 2), I (3), I (4), I (5)) the item having a relationship with the user (U1) of the (I (1), I ( 2) I ( 4 ), I ( 5 )) excluding the items I ( 3 ) and I ( 3 ) The association item selection unit 352 of the operation unit 350 performs the item selection operation. That is, an item having a relation with the related user and having no relation with the specific user (referred to as an associated item in this embodiment) is selected.

추천 단계(P6)에서는 연산 단계(P5)를 통하여 선정된 아이템들을 사용자에게 추천하는 작업을 진행한다. 즉, 사용자(U1)에게 사용자(U1)에게 아이템(I(4), I(5))을 추천할 수 있다.In the recommendation step P6, an operation for recommending the selected items to the user is performed through the operation step P5. That is, the user U1 can recommend items I ( 4 ) and I ( 5 ) to the user U1.

추천 단계(P6)는 다양한 방식으로 추천할 수 있는데, 전술한 실시예와 마찬가지인 바, 구체적인 내용은 생략한다.The recommendation step P6 can be recommended in various ways, which is the same as the above-described embodiment, and a detailed description thereof will be omitted.

특정 사용자로서 사용자(U1)을 설명한 것은 설명의 편의를 위한 것으로서 다른 사용자들 중 어느 하나에 대하여 추천 작업을 수행할 수 있음은 물론이다.It is needless to say that the description of the user U1 as a specific user is for convenience of explanation and can perform recommendation work for any one of the other users.

연산 단계(P5)의 다양한 형태의 선택적 실시예 중 다른 실시예를 설명하기로 한다.Another embodiment among the various types of selective embodiments of the calculation step P5 will be described.

도 15b를 참조하면 연산 단계(P5')는 특정 사용자와 관계를 갖는 아이템을 파악하는 단계(P51'), 상기 P51'단계에서 파악한 아이템과 관계를 갖는 사용자들 중 단계 P51'의 특정 사용자를 제외한 사용자를 선정하는 단계(P52'), 상기 P52'에서 선정된 사용자들과 관계를 갖는 아이템을 파악하는 단계(P53'), 상기 P53'에서 파악한 아이템과 유사도가 높은 아이템을 선정하는 단계(P54') 및 상기 P54'단계에서파악한 아이템들 중 상기 특정 사용자와 관계를 갖지 않는 아이템을 선정하는 단계(P55')를 포함한다.Referring to FIG. 15B, the operation step P5 'includes a step P51' of identifying an item having a relation with a specific user, a step P51 'of excluding users having a relationship with the item identified at the step P51' A step of selecting a user (P52 '), a step (P53') of identifying an item having a relationship with the users selected in the P52 ', a step (P54' And a step P55 'of selecting items not related to the specific user among the items identified in the step P54'.

사용자와 관계를 갖는 아이템을 선정하는 단계(P51')는 특정 사용자와 관계를 갖는 아이템을 파악하는 것으로서, 도 16을 참조하면 특정 사용자, 예를들면 사용자(U1)과 관계를 갖는 아이템들을 파악한다. 즉 사용자(U1)와 구매(p)의 관계를 갖는 아이템(I(1)) 및 아이템(I(3))을 파악하고, 사용자(U1)과 방문(v)의 관계를 갖는 아이템(I(2))을 파악한다. The step P51 'of selecting an item having a relation with the user is to identify an item having a relation with a specific user, and referring to FIG. 16, the item having a relationship with a specific user, for example, the user U1 is identified . That is, items I ( 1 ) and I ( 3 ) having a relationship of the user U1 and purchase p, 2 ).

상기 P51'단계에서 파악한 아이템과 관계를 갖는 사용자들 중 단계 P51'의 특정 사용자를 제외한 사용자를 선정하는 단계(P52')에서는 상기 P51' 단계에서 파악된 아이템들, 즉, 아이템(I(1)), 아이템(I(2)) 및 아이템(I(3))과 관계를 갖는 사용자들을 파악한다. 즉, 아이템(I(1))과 관계를 갖는 사용자들인 사용자(U1) 및 사용자(U2)를 파악하고, 아이템(I(2))과 관계를 갖는 사용자들인 사용자(U1) 및 사용자(U2)를 파악하고, 아이템(I(3))과 관계를 갖는 사용자들인 사용자(U1) 및 사용자(U3)를 파악한다. 이 중 특정 사용자인 사용자(U1)를 제외한 사용자들, 즉 사용자(U2) 및 사용자(U3)를 최종적으로 선정한다. In step P52 'of selecting a user other than the specific user in step P51' among the users having a relationship with the item identified in step P51 ', the items identified in step P51', that is, items I ( 1 ) ), Item (I ( 2 )), and item (I ( 3 )). That is, the user U1 and the user U2 who are users who have relations with the item I ( 1 ) and those who have the relationship with the item I ( 2 ) And grasps the user U1 and the user U3 who are users who have a relationship with the item I ( 3 ). The user (U2) and the user (U3) excluding the user U1, which is a specific user, are finally selected.

전술한 연산부(350)의 연관 사용자 선정부(351)는 이러한 사용자(U2) 및 사용자(U3) 선정 작업을 수행할 수 있다. 즉, 특정 사용자(U1)과 관계를 갖는 아이템들과 관계를 갖는 타 사용자(본 실시예에서 연관 사용자라고 지칭)를 선정하는 작업을 수행할 수 있다. The associated user selecting unit 351 of the calculating unit 350 may perform the selecting operation of the user U2 and the user U3. In other words, it is possible to perform an operation of selecting another user (referred to as an associated user in this embodiment) having a relationship with items having a relation with the specific user U1.

상기 P52'에서 선정된 사용자들과 관계를 갖는 아이템을 파악하는 단계(P53')에서는, 사용자(U2) 및 사용자(U3)가 각각 관계를 갖는 아이템들을 파악한다. In the step P53 'of grasping the items related to the users selected in the step P52', the user U2 and the user U3 grasp the items having the respective relations.

먼저, 사용자(U2)와 관계를 갖는 아이템들을 파악하기로 한다. 도 16을 참조하면 사용자(U2)와 구매(p)의 관계를 갖는 아이템(I(2)) 및 아이템(I(4))을 파악하고, 사용자(U2)와 방문(v)의 관계를 갖는 아이템(I(1))을 파악하고, 사용자(U3)와 구매(p)의 관계를 갖는 아이템(I(3)), 아이템(I(5)) 및 방문(v)의 관계를 갖는 아이템(I(4))을 파악한다. First, the items related to the user U2 will be grasped. 16, an item I ( 2 ) and an item I ( 4 ) having a relation of a user U2 and a purchase p are grasped and a relationship between a user U2 and a visit v item (I (1)) to identify and user items with the relationship (U3) and purchasing (p) item (I (3)), the item (I (5)) and landing (v) having a relationship ( I ( 4 ).

*상기 P53'에서 파악한 아이템과 유사도가 높은 아이템을 선정하는 단계(P54')에서는 상기 파악한 아이템들, 즉 아이템(I(1)), 아이템(I(2)), 아이템(I(3)), 아이템(I(4)) 및 아이템(I(5))와 유사도가 높은 아이템들을 선정한다. The item I ( 1 ), the item I ( 2 ), and the item I ( 3 ) are selected in the step P54 'of selecting an item having a high degree of similarity to the item identified in the P53' , Items (I ( 4 )) and items (I ( 5 )).

도 17을 참조하면 아이템(I(1)), 아이템(I(3)) 또는 아이템(I(4))과 유사도가 높은 아이템들은 아이템들(I(7), I(10), I(13)...)이고, 아이템(I(2)) 또는 아이템(I(5))과 유사도가 높은 아이템들은 아이템들(I(7), I(10), I(13)...)이다.Referring to Figure 17, the item (I (1)), the item (I (3)) or the item (I (4)) and the degree of similarity is high items are items of (I (7), I ( 10), I (13 ) ...), and the items having similarities to items I ( 2 ) and I ( 5 ) are items I ( 7 ), I ( 10 ), I ( 13 ) .

상기 P54'단계에서 파악한 아이템들 중 상기 특정 사용자와 관계를 갖지 않는 아이템을 선정하는 단계(P55') 에서는 상기 아이템 들 중 사용자(U1)과 관계를 갖지 않는 아이템을 선정한다. 그러므로 최종적으로, 아이템들(I(7), I(10), I(13)...) 및 아이템들(I(7), I(10), I(13)...)을 선정한다. 전술한 연산부(350)의 연관 아이템 선정부(352)는 이러한 아이템 선정 작업을 수행한다. 즉, 연관 사용자와 관계를 갖는 아이템과 유사한 아이템들 중 상기 특정 사용자와 관계를 갖지 않는 아이템(본 실시예에서 연관 아이템이라고 지칭)을 선정한다.In the step P55 'of selecting items not related to the specific user among the items identified in the step P54', an item having no relationship with the user U1 among the items is selected. Finally, the items I ( 7 ), I ( 10 ), I ( 13 ) ... and the items I ( 7 ), I ( 10 ), I ( 13 ) . The association item selection unit 352 of the operation unit 350 performs the item selection operation. That is, an item (referred to as an associated item in this embodiment) that does not have a relationship with the specific user among the items similar to the item having a relationship with the related user is selected.

추천 단계(P6)에서는 연산 단계(P5)를 통하여 선정된 아이템들을 사용자에게 추천하는 작업을 진행한다. 즉, 사용자(U1)에게 아이템들(I(7), I(10), I(13)...) 및 아이템들(I(7), I(10), I(13)...)을 추천할 수 있다.In the recommendation step P6, an operation for recommending the selected items to the user is performed through the operation step P5. That is, the user (U1) Item (I (7), I ( 10), I (13) ...) and the item (I (7), I ( 10), I (13) ...) Can be recommended.

추천 단계(P6)는 다양한 방식으로 추천할 수 있는데, 전술한 실시예와 마찬가지인 바, 구체적인 내용은 생략한다.The recommendation step P6 can be recommended in various ways, which is the same as the above-described embodiment, and a detailed description thereof will be omitted.

특정 사용자로서 사용자(U1)을 설명한 것은 설명의 편의를 위한 것으로서 다른 사용자들 중 어느 하나에 대하여 추천 작업을 수행할 수 있음은 물론이다.It is needless to say that the description of the user U1 as a specific user is for convenience of explanation and can perform recommendation work for any one of the other users.

본 실시예의 아이템 추천 시스템(300) 및 이를 이용한 추천 방법은 전술한 실시예들과 마찬가지로 사용자 이용 정보 저장부(310)를 통하여 사용자 이용 정보를 용이하게 저장할 수 있고, 선택적 실시예로서, 실시간으로 처리한 정보 및 첫 방문자임을 표시하여 저장할 수 있다. The item recommendation system 300 of the present embodiment and the recommendation method using the same can easily store user-use information through the user-use-information storage 310 as in the above-described embodiments, and as an alternative embodiment, You can mark and store the information and the first visitor.

즉, 연산부(350)를 통한 가공 단계에서 위와 같이 용이한 방법으로 파악된 사용자들과 아이템들간의 관계를 이용하여 연산 작업을 진행하여 다양한 작업을 수행한다. 즉, 그래프 데이터 형태로 저장된 데이터들을 모두 연산하는 것이 아니고, 필요한 사용자 또는 필요한 아이템에 관련된 관계(relation)를 포함하는 정보만 불러와 이에 대한 연산만을 수행하여 작업을 수행한다.That is, at the machining step through the operation unit 350, various operations are performed by performing calculation operations using the relationship between the users and the items, which are grasped by the above-mentioned easy method. In other words, rather than computing all the data stored in the form of graph data, only the information including a relation related to a necessary user or a required item is performed, and the operation is performed by performing only the operation related thereto.

이를 통하여 실시간으로 신속한 연산이 가능하므로 원하는 때에 최신의 정보를 통한 연산, 예를들면 사용자와 아이템들 각각의 관계 정보 선별 작업을 용이하게 진행할 수 있다.Accordingly, it is possible to perform a quick calculation in real time, so that it is possible to easily carry out calculations based on the latest information at a desired time, for example, a relation information sorting operation for each user and items.

그리고, 아이템들간 유사도를 판단하여 아이템에 기반한 추천 작업을 진행하므로 추천 작업의 속도를 용이하게 증가할 수 있다. 이와 함께 특정 사용자와 관계를 갖는 아이템들과 관계를 갖는 타 사용자들, 즉 연관 사용자를 선정하고, 연관 사용자와 관계를 갖는 아이템들 중 특정 사용자와 관계를 갖지 않는 아이템들, 즉 연관 아이템들을 선정하여 추천 작업을 병행하여 진행할 수 있으므로 실시간으로 다양한 형태의 효과적인 추천 작업을 진행할 수 있다. 즉, 추천 작업을 진행할 사용자들에 대한 정보 및 이와 연관된 사용자들에 대한 정보만을 그래프 데이터 베이스에서 불러와 빠른 시간에 연산이 가능하므로 언제든지 실시간으로 원하는 추천 작업을 용이하게 진행할 수 있다.In addition, since the recommendation work based on the item is judged by judging the similarity between the items, the speed of recommendation work can be easily increased. At the same time, other users having a relationship with items related to a specific user, that is, an associated user, are selected, and items having no relationship with a specific user, i.e., related items, are selected Since recommendation work can be carried out in parallel, various types of recommendation work can be performed in real time. That is, only the information about the users who will perform the recommendation work and the information about the users related thereto can be retrieved from the graph database and can be operated in a short time, so that the recommendation work can be easily performed in real time at any time.

이와 같이 본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 당해 기술 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art . Accordingly, the true scope of the present invention should be determined by the technical idea of the appended claims.

실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시 예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다.Embodiments may be represented by functional block configurations and various processing steps. These functional blocks may be implemented in a wide variety of hardware and / or software configurations that perform particular functions. For example, embodiments may include integrated circuit components such as memory, processing, logic, look-up tables, etc., that may perform various functions by control of one or more microprocessors or other control devices Can be employed.

본 발명에의 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 실시 예는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. "매커니즘", "요소", "수단", "구성"과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다. Similar to the components of the present invention may be implemented with software programming or software components, embodiments may include various algorithms implemented in a combination of data structures, processes, routines, or other programming constructs, such as C, C ++ , Java (Java), assembler, and the like. Functional aspects may be implemented with algorithms running on one or more processors. The embodiments may also employ conventional techniques for electronic configuration, signal processing, and / or data processing. Terms such as "mechanism", "element", "means", "configuration" may be used broadly and are not limited to mechanical and physical configurations. The term may include the meaning of a series of routines of software in conjunction with a processor or the like.

실시예에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 실시 예의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, "필수적인", "중요하게" 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.The specific implementations described in the embodiments are, by way of example, not intended to limit the scope of the embodiments in any way. For brevity of description, descriptions of conventional electronic configurations, control systems, software, and other functional aspects of such systems may be omitted. Also, the connections or connecting members of the lines between the components shown in the figures are illustrative of functional connections and / or physical or circuit connections, which may be replaced or additionally provided by a variety of functional connections, physical Connection, or circuit connections. Also, unless explicitly mentioned, such as "essential "," importantly ", etc., it may not be a necessary component for application of the present invention.

실시예의 명세서(특히 특허청구범위에서)에서 "상기"의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 실시 예에서 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 적용한 발명을 포함하는 것으로서(이에 반하는 기재가 없다면), 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다. 마지막으로, 실시 예에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 실시 예들이 한정되는 것은 아니다. 실시 예에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 실시 예를 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 실시 예의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.The use of the terms "above" and similar indication words in the description of the embodiments (in particular in the claims) may refer to both singular and plural. In addition, in the embodiment, when a range is described, it includes the invention to which the individual values belonging to the above range are applied (if there is no description to the contrary), the individual values constituting the above range are described in the detailed description . Finally, the steps may be performed in an appropriate order, unless explicitly stated or contrary to the description of the steps constituting the method according to the embodiment. The embodiments are not necessarily limited to the description order of the steps. The use of all examples or exemplary terms (e.g., etc.) in the examples is for the purpose of describing the embodiments in detail and is not intended to be limited by the scope of the claims, It is not. It will also be appreciated by those skilled in the art that various modifications, combinations, and alterations may be made depending on design criteria and factors within the scope of the appended claims or equivalents thereof.

100, 200, 300: 아이템 추천 시스템
110, 110' 210, 310: 사용자 이용 정보 저장부
101, 101' 201, 301: 사용자 이용 정보 제1 저장부
102, 102' 202, 302: 사용자 이용 정보 제2 저장부
120, 220, 320: 사용자 이용 정보 전처리 수행부
130, 230, 330: 그래프 데이터 베이스
150, 250, 350: 연산부
MQ: 임시 저장부
SR: 실시간 처리부
100, 200, 300: Item recommendation system
110, 110 ' 210, 310:
101, 101 '201, and 301:
102, 102 ' 202, 302:
120, 220, and 320: a user use information pre-
130, 230, 330: a graph database
150, 250, and 350:
MQ: Temporary storage unit
SR: real-time processing unit

Claims (11)

웹사이트에 접속하는 사용자의 식별 정보를 포함하는 기본 정보 및 실시간의 활동 정보를 저장하는 사용자 이용 정보 제1 저장부, 사용자의 방문 정보를 저장하는 사용자 이용 정보 제2 저장부, 상기 사용자의 방문 정보를 실시간으로 업데이트하여 상기 제2 저장부에 저장하는 실시간 처리부 및 상기 제1 저장부 및 제2 저장부로부터 정보를 전달받아 메시지큐 형태로 저장하는 임시 저장부를 포함하는 사용자 이용 정보 저장부;
상기 사용자 이용 정보 저장부의 임시 저장부로부터 정보를 전달받아 전처리하여 상기 사용자 및 상기 웹사이트에서 제공하는 복수의 아이템들간의 관계(relation)를 형성하고, 이를 기초로 그래프 데이터로 변환하는 사용자 이용 정보 전처리 수행부;
상기 사용자 이용 정보 전처리 수행부에서 전처리 수행되어 변환된 그래프 데이터를 저장하는 그래프 데이터 베이스;
상기 사용자 이용 정보 저장부에 연결되어 사용자의 구매 또는 방문을 포함하는 암시적 선호도를 이용하여 상기 아이템들간의 유사도를 설정된 시간 주기에 따라 오프라인 배치 처리 방식으로 판단하는 유사도 판단부;
상기 그래프 데이터 베이스에 저장된 데이터 중 특정 데이터 및 상기 유사도 판단부에서 판단한 아이템 유사도 정보를 불러와 연산하여 상기 웹사이트에서 제공하는 아이템들 중 하나 이상의 특정 아이템을 선정하는 연산부; 및
상기 연산부에서 선정한 상기 아이템을 상기 사용자에게 하나 이상의 방식으로 추천하는 추천부를 포함하고,
상기 사용자 이용 정보 전처리 수행부는 상기 사용자와 아이템들간의 상호 관련 정보를, 복수의 노드(node), 상기 복수의 노드들간의 관계(relation) 및 상기 노드 및 상기 관계가 갖는 하나 이상의 속성(property)으로 표시하여 그래프 데이터로 변환하고,
상기 사용자 및 상기 아이템들 각각은 상기 복수의 노드 각각의 속성에 대응되고,
상기 사용자를 속성으로 갖는 노드와 상기 아이템을 속성으로 갖는 노드 간의 관계는 상기 노드 간을 연결하는 선으로 표시하고,
상기 선으로 표시된 상기 노드 간의 관계는 상이한 하나 이상의 속성을 갖고, 상기 속성을 구별하여 표시하고,
상기 노드 간의 관계가 갖는 속성은, 상기 웹사이트의 접속을 통한 상기 사용자의 상기 아이템에 대한 하나 이상의 활동과 관련된 활동 정보에 대응하는 값으로서, 구매(P) 및 방문(V)중 하나이고,
상기 사용자를 속성으로 갖는 노드와 상기 아이템을 속성을 갖는 노드는 구매(P) 및 방문(V) 중 하나를 속성으로 하는 관계로 연결되고 상기 구매(P)를 속성으로 하는 관계와 상기 방문(V)을 속성으로 하는 관계는 구별되어 표시되는 것을 특징으로 하는 아이템 추천 시스템.
A first user storage unit for storing basic information including identification information of a user accessing a web site and activity information in real time, a second user storage unit for storing visit information of the user, And a temporary storage unit for storing the information in the form of a message queue by receiving the information from the first storage unit and the second storage unit;
A pre-processing unit for receiving and pre-processing information from the temporary storage unit of the user-use-information storage unit to form a relation between a plurality of items provided by the user and the website, and converting the user- Performing part;
A graph database for storing pre-processed and transformed graph data in the user utilization information preprocessing unit;
A degree of similarity determination unit connected to the user-use-information storage unit and determining the degree of similarity between the items based on an implicit preference including purchase or visit of the user as an offline placement processing scheme according to a set time period;
An operation unit for retrieving specific data among the data stored in the graph database and the item similarity information determined by the similarity degree determination unit and selecting one or more specific items among the items provided in the website; And
And a recommendation unit for recommending the item selected by the operation unit to the user in one or more ways,
The user-utilization-information preprocessing unit may associate the mutual association information between the user and the items with a plurality of nodes, a relation between the plurality of nodes, and at least one property having the node and the relation And converts it into graph data,
Each of the user and the items corresponding to an attribute of each of the plurality of nodes,
Wherein a relationship between a node having the user as an attribute and a node having the attribute as an attribute is represented by a line connecting the nodes,
Wherein the relationship between the nodes indicated by the lines has one or more attributes different from each other,
Wherein the attribute of the relationship between the nodes is one of a purchase (P) and a visit (V), the value corresponding to activity information associated with one or more activities of the user on the item through connection to the website,
Wherein a node having the user as an attribute and a node having the attribute as an attribute are connected in a relationship having attributes of purchase (P) and visit (V) ) As attributes are displayed separately.
제1 항에 있어서,
상기 연산부는 상기 사용자와 관련을 갖는 연관 사용자를 선정하는 연관 사용자 선정부 및 상기 연관 사용자와 관련을 갖는 연관 아이템을 선정하는 연관 아이템 선정부를 포함하는 아이템 추천 시스템.
The method according to claim 1,
Wherein the operation unit includes an associated user selecting unit for selecting an associated user related to the user and an associated item selecting unit for selecting an associated item associated with the associated user.
제2 항에 있어서,
상기 연관 사용자 선정부가 선정한 상기 연관 사용자는 상기 사용자 중 일 사용자와 관계를 갖는 아이템들 또는 이와 유사한 아이템들과 관계를 갖는 타 사용자인 것을 특징으로 하고,
상기 연관 아이템 선정부가 선정한 상기 연관 아이템은 상기 타사용자와 관계를 갖는 아이템들 또는 이와 유사한 아이템들 중 상기 일 사용자와 관계를 갖지 않는 아이템들인 것을 특징으로 하고,
상기 유사한 아이템들은, 상기 유사도 판단부를 통하여 아이템들간의 유사도를 판단한 후에, 상기 유사도 판단부를 통하여 판단된 유사도를 이용하여 상기 연산부에 의하여 결정되는 것을 포함하는 아이템 추천 시스템.
3. The method of claim 2,
And the related user selected by the related user selecting unit is another user having a relationship with one of the users or a relationship with similar items,
The association item selected by the association item selection unit is items having no relationship with the one user among the items having the relation with the other user or similar items,
Wherein the similar items include those determined by the operation unit using similarity determined through the similarity determination unit after determining similarities between the items through the similarity determination unit.
제1 항에 있어서,
상기 사용자의 활동과 관련된 하나 이상의 정보는 구매 정보 또는 장바구니 정보를 포함하는 아이템 추천 시스템.
The method according to claim 1,
Wherein the at least one item of information related to the activity of the user includes purchase information or shopping cart information.
제1 항에 있어서,
상기 실시간 처리부는 상기 사용자의 방문이 첫 방문인지를 판단할 수 있도록 처리하는 것을 특징으로 하는 아이템 추천 시스템.
The method according to claim 1,
Wherein the real-time processing unit processes the item to determine whether the visit of the user is the first visit.
웹사이트에 접속하는 사용자의 식별 정보를 포함하는 기본 정보 및 실시간의 활동 정보가 저장된 사용자 이용 정보 제1 저장부, 사용자의 방문 정보가 저장된 사용자 이용 정보 제2 저장부, 상기 사용자의 방문 정보를 실시간으로 업데이트하여 상기 제2 저장부에 저장하는 실시간 처리부 및 상기 제1 저장부 및 제2 저장부로부터 정보를 전달받아 메시지큐 형태로 저장하는 임시 저장부를 포함하는 사용자 이용 정보 저장부로부터 사용자의 복수의 이용 정보를 획득하는 단계;
사용자 이용 정보 전처리 수행부를 이용하여 상기 임시 저장부로부터 정보를 전달받아 상기 사용자의 복수의 이용 정보를 전처리하여 상기 사용자와 상기 웹사이트에서 제공하는 복수의 아이템들간의 관계(relation)를 형성하고, 이를 기초로 그래프 데이터로 변환하는 단계;
상기 그래프 데이터를 그래프 데이터 베이스에 저장하는 단계;
상기 사용자 이용 정보 저장부의 정보를 이용하여 사용자의 구매 또는 방문을 포함하는 암시적 선호도를 이용하여 상기 아이템들간의 유사도를 설정된 시간 주기에 따라 오프라인 배치 처리 방식으로 판단하는 유사도 판단 단계;
상기 그래프 데이터 베이스에 저장된 데이터 중 특정 데이터 및 상기 유사도 판단 단계에서 판단한 아이템 유사도 정보를 불러와 연산하여 상기 웹사이트에서 제공하는 아이템들 중 하나 이상의 특정 아이템을 선정하는 단계; 및
네트워크를 통하여 추천부를 이용하여 상기 선정한 아이템을 상기 사용자가 인식하도록 상기 선정한 아이템을 상기 사용자에게 공지하는 하나 이상의 방법으로 추천하는 단계를 포함하고,
상기 그래프 데이터로 변환하는 단계는 상기 사용자와 아이템들의 간의 상호 관련 정보를, 복수의 노드(node), 상기 복수의 노드들간의 관계(relation) 및 상기 노드 및 상기 관계가 갖는 하나 이상의 속성(property)으로 표시하여 그래프 데이터로 변환하고,
상기 사용자 및 상기 아이템들 각각은 상기 복수의 노드 각각의 속성에 대응되고,
상기 사용자를 속성으로 갖는 노드와 상기 아이템을 속성으로 갖는 노드 간의 관계는 상기 노드 간을 연결하는 선으로 표시하고,
상기 선으로 표시된 상기 노드 간의 관계는 상이한 하나 이상의 속성을 갖고, 상기 속성을 구별하여 표시하고,
상기 노드 간의 관계가 갖는 속성은, 상기 웹사이트의 접속을 통한 상기 사용자의 상기 아이템에 대한 하나 이상의 활동과 관련된 활동 정보에 대응하는 값으로서, 구매(P) 및 방문(V)중 하나이고,
상기 사용자를 속성으로 갖는 노드와 상기 아이템을 속성을 갖는 노드는 구매(P) 및 방문(V) 중 하나를 갖는 속성으로 하는 관계로 연결되고, 상기 관계로 연결 시 상기 구매(P)를 속성으로 하는 관계와 상기 방문(V)을 속성으로 하는 관계는 구별되어 표시되는 것을 특징으로 하는 아이템 추천 방법.
A first user storage unit storing basic information including identification information of a user accessing a website and real-time activity information, a second user storage unit storing user's visit information, And a temporary storage unit for receiving the information from the first storage unit and the second storage unit and storing the received information in a message queue form, Obtaining usage information;
A relation between a user and a plurality of items provided on the web site is formed by receiving information from the temporary storage unit using a user use information preprocessing unit and preprocessing a plurality of usage information of the user, Converting into graph data on a basis;
Storing the graph data in a graph database;
A degree of similarity determining step of determining the degree of similarity between the items using an implicit preference including a user's purchase or visit using the information of the user-use information storage unit as an offline placement processing method according to a set time period;
Selecting one or more specific items among the items provided in the website by searching for specific data among the data stored in the graph database and item similarity information determined in the similarity determination step; And
Recommending the selected item to one or more methods that inform the user that the selected item is recognized by the user using a recommendation section via a network,
Wherein the step of transforming the graph data into the graph data comprises: correlating information between the user and the items to a plurality of nodes, a relation between the plurality of nodes, and at least one property having the node and the relation. And converts it into graph data,
Each of the user and the items corresponding to an attribute of each of the plurality of nodes,
Wherein a relationship between a node having the user as an attribute and a node having the attribute as an attribute is represented by a line connecting the nodes,
Wherein the relationship between the nodes indicated by the lines has one or more attributes different from each other,
Wherein the attribute of the relationship between the nodes is one of a purchase (P) and a visit (V), the value corresponding to activity information associated with one or more activities of the user on the item through connection to the website,
The node having the attribute as the attribute and the node having the attribute as the attribute are connected in a relationship having attributes of one of purchase (P) and visit (V), and the connection And the relationship of the visit (V) as an attribute are distinguished and displayed.
제6 항에 있어서,
상기 특정 아이템을 선정하는 단계는,
상기 사용자 중 일 사용자와 관계를 갖는 아이템을 파악하는 단계; 및
상기 파악한 아이템과 유사도가 높은 아이템을 선정하는 단계를 포함하는 아이템 추천 방법.
The method according to claim 6,
Wherein the step of selecting the specific item comprises:
Identifying an item having a relationship with a user of the user; And
And selecting an item having a similarity to the identified item.
제6 항에 있어서,
상기 그래프 데이터 베이스에 저장된 데이터 중 특정 데이터를 불러와 연산하여 상기 웹사이트에서 제공하는 아이템들 중 하나 이상의 특정 아이템을 선정하는 단계는,
상기 사용자와 관련을 갖는 연관 사용자를 선정하는 단계 및 상기 연관 사용자와 관련을 갖는 연관 아이템을 선정하는 단계를 포함하는 아이템 추천 방법.
The method according to claim 6,
Wherein the step of selecting one or more specific items among the items provided by the web site by searching specific data among the data stored in the graph database,
Selecting an associated user associated with the user, and selecting an associated item associated with the associated user.
제8 항에 있어서,
상기 사용자와 관련을 갖는 연관 사용자를 선정하는 단계는 상기 사용자 중 일 사용자와 관계를 갖는 아이템들 또는 이와 유사한 아이템들과 관계를 갖는 타 사용자를 선정하는 것을 특징으로 하고,
상기 연관 아이템을 선정하는 단계는 상기 타사용자와 관계를 갖는 아이템들 또는 이와 유사한 아이템들 중 상기 일 사용자와 관계를 갖지 않는 아이템들을 선정하는 것을 특징으로 하고,
상기 유사한 아이템들은,
상기 유사도 판단 단계를 통하여 아이템들간의 유사도를 판단한 후에, 상기 유사도 판단 단계를 통하여 판단된 유사도를 이용하여 상기 하나 이상의 특정 아이템을 선정하는 단계에서 결정되는 것을 포함하는 아이템 추천 방법.
9. The method of claim 8,
Wherein the step of selecting an associated user related to the user selects an item having a relationship with one of the users or another user having a relationship with similar items,
Wherein the step of selecting the associated item is to select items that are not related to the one user among items having a relationship with the other user or similar items,
The similar items include,
Determining the degree of similarity between the items through the similarity determination step, and then selecting the one or more specific items based on the degree of similarity determined through the similarity determination step.
제6 항에 있어서,
상기 사용자의 활동과 관련된 하나 이상의 정보는 구매 정보 또는 장바구니 정보를 포함하는 아이템 추천 방법.
The method according to claim 6,
Wherein the one or more pieces of information associated with the activity of the user includes purchase information or shopping cart information.
제6 항에 있어서,
상기 사용자의 방문 정보를 실시간으로 업데이트 하는 단계는 상기 사용자의 방문이 첫 방문인지를 판단할 수 있도록 처리하는 단계를 더 포함하는 아이템 추천 방법.
The method according to claim 6,
Wherein the step of updating the user's visit information in real time further includes processing the user's visit to determine whether the visit is the first visit.
KR1020160040454A 2016-04-01 2016-04-01 Item recommend system and method for recommending item KR101745604B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160040454A KR101745604B1 (en) 2016-04-01 2016-04-01 Item recommend system and method for recommending item

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160040454A KR101745604B1 (en) 2016-04-01 2016-04-01 Item recommend system and method for recommending item

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020140048208A Division KR20150121945A (en) 2014-04-22 2014-04-22 Item recommend system and method for recommending item

Publications (2)

Publication Number Publication Date
KR20160043528A KR20160043528A (en) 2016-04-21
KR101745604B1 true KR101745604B1 (en) 2017-06-09

Family

ID=55918005

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160040454A KR101745604B1 (en) 2016-04-01 2016-04-01 Item recommend system and method for recommending item

Country Status (1)

Country Link
KR (1) KR101745604B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102307517B1 (en) * 2019-09-17 2021-09-30 인하공업전문대학산학협력단 Method and apparatus of recommending goods based on network

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014067180A (en) * 2012-09-25 2014-04-17 Nippon Telegr & Teleph Corp <Ntt> Information recommendation device, method, and program

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014067180A (en) * 2012-09-25 2014-04-17 Nippon Telegr & Teleph Corp <Ntt> Information recommendation device, method, and program

Also Published As

Publication number Publication date
KR20160043528A (en) 2016-04-21

Similar Documents

Publication Publication Date Title
CN109559208B (en) Information recommendation method, server and computer readable medium
US9569499B2 (en) Method and apparatus for recommending content on the internet by evaluating users having similar preference tendencies
KR20150121945A (en) Item recommend system and method for recommending item
CN105426528B (en) A kind of retrieval ordering method and system of commodity data
JP6293642B2 (en) General-purpose graphs, rules and spatial structure based on recommendation engine
US9727906B1 (en) Generating item clusters based on aggregated search history data
KR20180118597A (en) Method and apparatus for identifying network access behavior, servers and storage media
KR102307517B1 (en) Method and apparatus of recommending goods based on network
JP2021517315A (en) Data processing methods, devices, electronic devices, programs, and storage media
Dev et al. Recommendation system for big data applications based on set similarity of user preferences
CN112825182A (en) Method and device for determining recommended commodities
CN114936301A (en) Intelligent household building material data management method, device, equipment and storage medium
CN110851737B (en) Recommendation method, recommendation device, electronic equipment and computer storage medium
KR20190081671A (en) Method and server for searching for similar items on online shoppingmall integrated management system
CN103353865A (en) Barter electronic trading commodity recommendation method based on position
US20210272178A1 (en) Determining item relevancy
KR101745604B1 (en) Item recommend system and method for recommending item
CN109656540A (en) A kind of warehouse compartment proposed algorithm that replenishes based on Apriori algorithm
CN110827044A (en) Method and device for extracting user interest mode
CN112036988B (en) Label generation method and device, storage medium and electronic equipment
CN110992109B (en) Real estate customer analysis method, apparatus and storage medium based on association rule
CN112966098A (en) Product and matching supply relation visualization method and system thereof
CN112819404A (en) Data processing method and device, electronic equipment and storage medium
CN110750238A (en) Method and device for determining product requirements and electronic equipment
KR20150121944A (en) System for processing usage information of users and method for processing usage information of users using the same

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant