KR101985603B1 - Recommendation method based on tripartite graph - Google Patents

Recommendation method based on tripartite graph Download PDF

Info

Publication number
KR101985603B1
KR101985603B1 KR1020170159381A KR20170159381A KR101985603B1 KR 101985603 B1 KR101985603 B1 KR 101985603B1 KR 1020170159381 A KR1020170159381 A KR 1020170159381A KR 20170159381 A KR20170159381 A KR 20170159381A KR 101985603 B1 KR101985603 B1 KR 101985603B1
Authority
KR
South Korea
Prior art keywords
group
node
matrix
nodes
information
Prior art date
Application number
KR1020170159381A
Other languages
Korean (ko)
Inventor
전종훈
임푸름
Original Assignee
(주)프람트테크놀로지
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)프람트테크놀로지 filed Critical (주)프람트테크놀로지
Priority to KR1020170159381A priority Critical patent/KR101985603B1/en
Application granted granted Critical
Publication of KR101985603B1 publication Critical patent/KR101985603B1/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/0254Targeted advertisements based on statistics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0255Targeted advertisements based on user history
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0269Targeted advertisements based on user profile or attribute
    • G06Q30/0271Personalized advertisement

Abstract

The present invention relates to a recommendation method based on a tripartite graph and, more specifically, to a recommendation method based on a tripartite graph improving the accuracy of recommendation by manipulating weights of nodes and trunk lines in a tripartite graph. The present invention may utilize hidden information not easily revealed by including the structural characteristics obtained by constructing a tripartite graph while using a conventional tripartite graph in a recommendation process.

Description

삼분 그래프에 기반한 추천 방법{RECOMMENDATION METHOD BASED ON TRIPARTITE GRAPH} {RECOMMENDATION METHOD BASED ON TRIPARTITE GRAPH}

본 발명은 삼분 그래프에 기반한 추천 방법에 관한 것으로, 보다 상세하게는 x, y 및 z개의 구성요소를 갖는 3개의 집합인 제1그룹, 제2그룹 및 제3그룹으로 이루어진 3그룹 데이터 셋으로부터, ⅰ)상기 제1그룹에 대하여 각 구성요소를 노드(node)로 하여 제2그룹의 구성요소와의 연관관계인 간선인 가중치로 한 x×y 행렬로 표현하여 제1가중치 행렬을 구하고 이를 열 단위로 정규화하는 단계,; ⅱ)제1그룹 제1노드의 정보를 p라 하고 제1노드와 연결된 제2그룹의 다른 노드로 분배되는 비율을 구한 뒤 이를 이용하여 p를 제2그룹의 노드에 분배하는 단계; ⅲ)상기 제2그룹 각 노드와 연결된 제3그룹의 노드와의 연관관계인 간선을 가중치로 한 y×z 행렬로 표현된 제2가중치 행렬을 구하고 이를 열 단위로 정규화하는 단계,; ⅳ)상기 ⅱ)단계에서 분배된 p를 ⅲ)에서 구한 정규화된 제2가중치 행렬을 이용하여 상기 제3그룹 노드에 분배하고 합하는 단계; ⅴ)제3그룹에서 제1그룹에 대하여 상기 ⅲ)내지 ⅳ)의 과정을 수행하여 p를 제1그룹의 노드로 분배한 뒤 각 노드에 분배된 값을 p로 나누어 제1그룹 제1노드의 분배비율을 구하는 단계,; ⅵ)제1그룹의 나머지 노드에 대하여 순차적으로 상기 ⅱ)내지 ⅴ)단계를 수행하여 각 노드의 최종 분배비율을 구하고 x×x 행렬로 표시하고 제1파워 행렬을 구하는 단계.; ⅶ)제1가중치 행렬에 대하여 상기 제1파워 행렬에 표현한 분배비율대로 각 노드의 가중치를 재분배하여 수정된 제1수정 가중치 행렬을 구하는 단계 및; ⅷ)제2그룹 및 제3그룹에 대하여 상기 ⅰ) 내지 ⅶ)단계를 수행하여 각각의 수정가중치 행렬을 구하는 단계를 포함한 삼분그래프 기반의 추천방법에 관한 것이다.The present invention relates to a three-minute graph-based recommendation method, and more particularly to a three-group graph based on a three-group data set consisting of a first group, a second group and a third group having three sets of x, y, I) For each of the first groups, a first weighting matrix is obtained by expressing each constituent element as a node, which is an association weight with a second group of constituent elements, as an xy matrix, Normalizing; Ii) dividing the information of the first group first node by p and distributing p to the second group of nodes using the ratio of the first node to the second group of nodes connected to the first node; Iii) obtaining a second weighting matrix represented by a yxz matrix having weights of edges, which are associations with nodes of a third group connected to each node of the second group, and normalizing the second weighting matrix by a column unit; Iv) distributing and summing p distributed in step ii) to the third group node using the normalized second weight matrix obtained in iii); V) distributing p to the first group of nodes by performing the processes of iii) to iv) for the first group in the third group, dividing the value distributed to each node by p, Obtaining a distribution ratio; Vi) sequentially performing the steps of ii) to v) for the remaining nodes of the first group to obtain a final distribution ratio of each node, expressing the final distribution ratios by xxx matrix and obtaining a first power matrix; Ⅶ) obtaining a modified first modified weighting matrix by redistributing the weight of each node according to the distribution ratio expressed in the first power matrix with respect to the first weighting matrix; (I) performing the steps (i) to (iii) for the second group and the third group to obtain respective modified weighting matrices.

최근 몇 년 사이 모바일 환경이 이전과 비교할 수 없을 만큼 빠르게 발전함에 따라 광고 시장에서도 스마트폰 등과 같은 모바일 기기들을 이용한 Display Post 광고, In-App 광고, 텍스트 광고, 보상형 광고, 검색 광고 등은 물론, 최근에는 위치기반 광고, 증강현실 광고, 보상형 광고 등 다양한 광고 형태가 출현하고 있으며, 모바일 광고에 대한 관심이 높아지고 있다. 하지만, 낮은 광고 단가로 인한 기대 이하의 수익성과, 광고주의 모바일 광고 효과성에 대한 의문 및 모바일 광고에 대한 소비자의 거부감 등, 현재의 모바일 광고는 다음과 같이 여러 가지 문제점들을 안고 있다.In recent years, as the mobile environment evolves so rapidly that it can not be compared with the previous years, in the advertising market, there are also display posts, in-app ads, text ads, In recent years, various types of advertisements such as location-based advertisement, augmented reality advertisement, and compensation advertisement have appeared, and interest in mobile advertisement is increasing. However, current mobile advertising has various problems such as below profitability due to low advertising price, doubts about advertiser's mobile advertising effectiveness, and consumer's rejection of mobile advertisement.

첫째, 현재의 모바일 광고는 소비자가 원하는 때에 상품의 정보를 제공하는 것이 아닌 단순/무분별하게 디스플레이되고 있다. 예를 들어, 모바일을 통해 뉴스 기사들을 읽다보면 전혀 관심 없는 광고들이 기사의 위, 아래 심지어는 글귀 중간에도 무분별하게 나타나는 것을 볼 수 있다. 따라서 이러한 광고는 광고 자체의 효과도 미비할뿐더러, 이에 대한 소비자의 거부감만 키우게 된다.First, the present mobile advertisement is displayed simply / indiscriminately, rather than providing information of the product when the consumer desires. For example, if you read news articles via mobile, you can see that ads that are not of interest at all appear indiscreet at the top, bottom or even in the middle of the article. Therefore, these ads are not only effective in advertising itself, but also cause consumers to feel rejection.

둘째, 이러한 무분별한 광고에서 벗어나, 인용문헌[1] 에서는 사용자의 웹사이트에 대한 브라우징 히스토리를 통해 웹사이트 재방문시 개인화된 추천 광고 방법 'Retargeting'을 제시하였고, 이에 따라 리타게팅 광고 기술이 PC웹에는 물론 한층 더 발전하여 모바일에도 적용되고 있다. (기존의 특허 또는 비특허 문헌 언급 필요) 하지만 이는 단순히 사용자가 과거에 관심있어했던 품목에 대한 재-광고 또는 관련광고 일뿐이다. 즉, 해당 제품에 대해 사용자가 현재 시점에도 관심을 가지고 있을지 없을지는 확신할 수 없다. 또한, 소비자가 실제 관심있는 상품을 접하는 시점에 이의 관련 광고/정보를 보여주는 것은 불가능하다.Second, from the indiscreet advertisement, [1] suggested personalized recommendation advertisement method 'Retargeting' when browsing website through browsing history of user's web site, Of course, is being applied to mobile. (Need to refer to existing patent or non-patent literature), but it is merely a re-advertisement or related advertisement for items that the user was interested in in the past. In other words, we can not be sure that the user is interested in the product at this point. In addition, it is impossible for the consumer to show the relevant advertisement / information at the point of contact with the actual interest goods.

셋째, 기존의 디지털 사이니지의 경우, 관련 상품이나 부가 관련 정보를 디지털 사이니지 컨텐츠와 같이 사용자에게 전달하려면, 해당 정보를 디지털 사이니지 컨텐츠 내에 직접 노출해야 한다. 하지만 이러한 방법은 디지털 사이니지 컨텐츠 소비 본연의 경험을 방해하게 됨으로써, 소비자에게 거부감을 일으킬 수 있고, 또한 디지털 사이니지 컨텐츠 자체의 질을 떨어뜨릴 수 있다. 그러나, 사용자가 원하는 컨텐츠를 제공받기 위하여 사용자는 원하는 정보와 컨텐츠에 대한 사전지식을 갖고 이와 관련된 검색 키워드를 스마트폰의 화면과 문자 입력기로 직접 입력한 후, 검색된 여러 컨텐츠 중 원하는 컨텐츠를 선택해야 하는데, 대부분의 스마트폰 사용자들은 정확한 검색 키워드를 입력하는데 귀찮음을 느껴 이를 활용하기 어려움이 있다. Third, in the case of the existing digital signage, in order to transmit the related product or the supplementary information to the user like the digital signage contents, the relevant information must be directly exposed in the digital signage contents. However, this method may interfere with the experience of digital signage content consumption, which may cause a negative feeling to consumers, and may also deteriorate the quality of digital signage content itself. However, in order to receive the contents desired by the user, the user has to know the desired information and the contents in advance, directly input the related search keyword into the screen and the character input device of the smartphone, and then select desired contents among the various contents , Most smartphone users find it difficult to input accurate search keywords because they feel annoyed.

따라서, 각 사용자의 검색조건을 반영하여 개인 맞춤형 광고를 제공하는 방법이 개발된 바 있다. 추천 시스템(Recommendation system)은 일반적으로 협업 필터링(Collaborative filtering) 추천 시스템, 내용 기반 필터링(Content-based filtering) 추천 시스템, 혼합형(Hybrid) 추천 시스템의 3가지로 나뉜다. 위의 세가지 추천 시스템은 과거의 패턴을 분석한 뒤, 현재 패턴과의 유사성을 비교하여 추천하는 방법을 이용한다. 이러한 방법을 통해서 추천 시스템을 구현하게 된다면 유저나 아이템 각각의 요소 간 단순한 비교를 통해 추천을 하게 되는데, 이렇게 단순한 비교만으로는 각 요소 사이에 존재하는 깊이 얽힌 관계를 잘 활용하지 못한다. 일반적인 추천 시스템에서 깊이 숨겨진 패턴 정보를 추천에 반영하기 위해서는, 정형화 되어있는 방대한 량의 데이터 셋을 이용해야만 한다. 대한민국 공개특허공보 제2012-104648호에는 개인 맞춤형 컨텐츠 추천 장치에 있어서, 상황 정보를 분석하여 추천 대상 컨텐츠 중에서 현재 상황에 따른 추천 컨텐츠 그룹을 추출하기 위한 상황 정보분석부; 사용자 프로파일 정보를 분석하여 상기 상황 정보 분석부에서 추출된 컨텐츠 중에서 사용자 프로파일에 따른 추천 컨텐츠 그룹을 추출하기 위한 프로파일 분석부; 사용 이력 정보를 분석하여 상기 프로파일 분석부에서 추출된 컨텐츠 중에서 사용 이력 정보에 따른 추천 컨텐츠 그룹을 추출하기 위한 사용 이력 분석부; 소셜 네트워크 상의 인맥이 추천한 컨텐츠 정보를 분석하여 상기 프로파일 분석부에서 추출된 컨텐츠 중에서 소셜 네트워크 인맥의 추천 정보에 따른 컨텐츠를 추출하기 위한 인맥 추천 분석부; 및 상기 추천 대상 컨텐츠 중에서 조회수에 따른 인기 컨텐츠를 추출하기 위한 인기도 분석부를 포함하되, 상기 사용 이력 분석부와 상기 인맥 추천 분석부와 상기 인기도 분석부에서 추출된 개인 맞춤형 컨텐츠를 단말장치로 날짜순, 거리순, 추천순, 인기순으로 추천하는 개인 맞춤형 컨텐츠 추천 장치가 개시되어 있다. 또한, 또한, 대한민국 공개특허공보 제2012-88635호에는 사회관계망 서비스(SNS) 상 이용자에게 개인단말기(100)를 통해 버킷리스트(개인이 하고 싶은 일의 목록)를 작성, 관리 및 실현 할 수 있도록 하는 플랫폼을 제공하고, 버킷리스트를 기반으로 하여 광고를 제공하여 광고료를 받고, 플랫폼을 활용하는 유저확보를 통해 수익을 창출하는 비즈니스 방법이 개시되어 있다.Accordingly, a method of providing a personalized advertisement by reflecting the search condition of each user has been developed. The recommendation system is generally divided into three types: a collaborative filtering recommendation system, a content-based filtering recommendation system, and a hybrid recommendation system. The above three recommendation systems analyze past patterns and compare them to the current patterns. If a recommendation system is implemented through this method, it is recommended to make a recommendation through a simple comparison between elements of each user or item. Such a simple comparison does not make good use of the deep relationship between elements. In a typical recommendation system, in order to reflect deeply hidden pattern information in the recommendation, it is necessary to use a large amount of data sets that have been formalized. Korean Patent Laid-Open Publication No. 2004-104648 discloses a personalized content recommendation apparatus comprising: a situation information analyzing unit for analyzing situation information and extracting a recommended content group according to a current situation from among recommended target contents; A profile analyzer for analyzing user profile information and extracting a recommended content group according to a user profile from among the contents extracted by the situation information analyzer; A use history analyzing unit for analyzing usage history information and extracting a recommended content group based on usage history information among the contents extracted by the profile analyzing unit; A recommendation analyzing unit for analyzing the content information recommended by the human network on the social network and extracting content from the content extracted by the profile analyzing unit in accordance with recommendation information of the social network network; And a popularity analyzing unit for extracting popular contents according to the number of views among the recommended contents, wherein the usage history analyzing unit, the human network recommendation analyzing unit, and the personalized contents extracted from the popularity analyzing unit are sorted by date, , A recommendation order, and a popularity order. Also, Korean Patent Laid-Open Publication No. 8-88635 discloses a method for creating, managing and realizing a bucket list (a list of things that an individual wants to do) via a personal terminal 100 to a user on a social network service (SNS) And providing a platform based on a bucket list to receive advertisements to receive advertisements and to generate revenue by securing users who utilize the platform.

최근 그래프 기반의 추천 시스템, 특히 삼분그래프 기반의 추천 시스템이 제안되고 있다. Chen, B.[2]의 논문에서 동영상 데이터를 추천하기 위한 삼분 그래프 기반의 시스템을 제안하였고, Shams, B.[3]의 논문에서는 GRank라는 개념을 이용하여 평점 정보와 Binary 정보를 동시에 활용한 그래프 기반의 추천 시스템을 제안하였다. Jindal, H.[4]의 연구에서는 그래프 정보와 클러스터 결과 정보를 융합한 추천 시스템을 제안하였다. 또한, 대한민국 공개특허 제10-2017-0011963호에는 아이템 추천 방법에 있어서, 샘플 사용자들이 생성한 복수의 아이템들로 구성된 이력 정보를 수집하는 단계; 상기 아이템들에 대한 정규 규칙을 이용하여 상기 이력 정보를 전처리하는 단계; 상기 전처리된 이력 정보로부터 협력 필터링 기반의 그래프를 생성하는 단계; 상기 이력 정보에 대한 내용 기반의 유사도를 결정하는 단계; 상기 내용 기반의 유사도를 그래프에 적용하여 그래프를 모델링하는 단계; 상기 모델링된 그래프로부터 타겟 사용자에 대한 복수의 아이템들 각각의 선호도를 결정하는 단계; 및 상기 선호도에 기초하여 상기 타겟 사용자를 위한 공고 정보를 추천하는 단계를 포함하는 아이템 추천 방법이 개시되어 있다.Recently, a graph based recommendation system, especially a three minute graph based recommendation system, has been proposed. Chen, B. [2] proposed a three-minute graph-based system for recommending moving image data, and Shams, B. [3] We propose a graph - based recommendation system. Jindal, H. [4] proposed a recommendation system that combines graph information and cluster result information. Korean Patent Laid-Open Publication No. 10-2017-0011963 discloses an item recommendation method comprising the steps of: collecting history information composed of a plurality of items generated by sample users; Pre-processing the history information using a regular rule for the items; Generating a collaborative filtering based graph from the preprocessed history information; Determining a content-based similarity of the history information; Modeling the graph by applying the content-based similarity to the graph; Determining a preference for each of a plurality of items for a target user from the modeled graph; And recommending announcement information for the target user based on the preference.

하지만 위에서 언급한 연구들은 그래프 구조를 통해 얻을 수 있는 정보를 사용하기 보다는 Numeric 데이터와 Binary 데이터처럼 서로 연결 할 수 없는 정보를 그래프 구조를 통해 연결하는 것에 그치고 있다. However, the above-mentioned researches do not use the information obtained through the graph structure, but merely connect the information that can not be connected with each other like the numerical data and the binary data through the graph structure.

대한민국 공개특허 제10-2017-0011963호Korean Patent Publication No. 10-2017-0011963

1.Shang, M., Fu, Y., Chen, D., "Personal Recommendation Using Weighted BiPartite Graph Projection", Apperceiving Computing and Intelligence Analysis, 2008. ICACIA 2008. International Conference on, Dec. 2008, pp. 198-202.1.Shang, M., Fu, Y., Chen, D., "Personal Recommendation Using Weighted BiPartite Graph Projection", Apperceiving Computing and Intelligence Analysis, 2008. ICACIA 2008. International Conference on, Dec. 2008, pp. 198-202. 2. Chen, B., Wang, J., Huang, Q., Mei, T., "Personalized Video Recommendation Through Tripartite Graph Propagation", Proceedings of ACM Multimedia, 2012.2. Chen, B., Wang, J., Huang, Q., Mei, T., "Personalized Video Recommendation Through Tripartite Graph Propagation", Proceedings of ACM Multimedia, 3. Shams, B., Haratizadeh, S., "Graph-based collaborative ranking", Expert Systems with Applications, vol. 67, Jan. 2017, pp. 59-70.3. Shams, B., Haratizadeh, S., "Graph-based collaborative ranking", Expert Systems with Applications, vol. 67, Jan. 2017, pp. 59-70. 4. Jindal, H., Anjali, "Graph based Recommendation System in Social Networks", International Journal of Computer Applications, vol. 133, Mar. 2015, pp. 36-40.4. Jindal, H., Anjali, "Graph based Recommendation System in Social Networks", International Journal of Computer Applications, vol. 133, Mar. 2015, pp. 36-40. 5. Yifan, Hu., Yehuda, K., Chris, V., "Collaborative Filtering for Implicit Feedback Datasets", Data Mining, 2008. ICDM '08. Eighth IEEE International Conference, Dec. 2008.5. Yifan, Hu., Yehuda, K., Chris, V., " Collaborative Filtering for Implicit Feedback Datasets ", Data Mining, 2008. ICDM '08. Eighth IEEE International Conference, Dec. 2008.

따라서, 본 발명이 이루고자 하는 기술적 과제는 종래의 삼분그래프를 활용하면서 삼분 그래프를 구성함으로써 얻을 수 있는 구조적 특성을 추천 과정에 포함하여 쉽게 드러나지 않는 숨겨진 정보를 활용 할 수 있는 삼분그래프 기반의 추천방법을 제공하는 것이다.Therefore, the technical problem to be solved by the present invention is to provide a three-minute graph-based recommendation method which can utilize hidden information that is not easily revealed by including a structural characteristic obtained by constructing a three-minute graph using a conventional three- .

상기 기술적 과제를 달성하기 위하여, 본 발명은 x, y 및 z개의 구성요소를 갖는 3개의 집합인 제1그룹, 제2그룹 및 제3그룹으로 이루어진 3그룹 데이터 셋으로부터, ⅰ)상기 제1그룹에 대하여 각 구성요소를 노드(node)로 하여 제2그룹의 구성요소와의 연관관계인 간선인 가중치로 한 x×y 행렬로 표현하여 제1가중치 행렬을 구하고 이를 열 단위로 정규화하는 단계,; ⅱ)제1그룹 제1노드의 정보를 p라 하고 제1노드와 연결된 제2그룹의 다른 노드로 분배되는 비율을 구한 뒤 이를 이용하여 p를 제2그룹의 노드에 분배하는 단계; ⅲ)상기 제2그룹 각 노드와 연결된 제3그룹의 노드와의 연관관계인 간선을 가중치로 한 y×z 행렬로 표현된 제2가중치 행렬을 구하고 이를 열 단위로 정규화하는 단계,; ⅳ)상기 ⅱ)단계에서 분배된 p를 ⅲ)에서 구한 정규화된 제2가중치 행렬을 이용하여 상기 제3그룹 노드에 분배하고 합하는 단계; ⅴ)제3그룹에서 제1그룹에 대하여 상기 ⅲ)내지 ⅳ)의 과정을 수행하여 p를 제1그룹의 노드로 분배한 뒤 각 노드에 분배된 값을 p로 나누어 제1그룹 제1노드의 분배비율을 구하는 단계,; ⅵ)제1그룹의 나머지 노드에 대하여 순차적으로 상기 ⅱ)내지 ⅴ)단계를 수행하여 각 노드의 최종 분배비율을 구하고 x×x 행렬로 표시하고 제1파워 행렬을 구하는 단계.; ⅶ)제1가중치 행렬에 대하여 상기 제1파워 행렬에 표현한 분배비율대로 각 노드의 가중치를 재분배하여 수정된 제1수정 가중치 행렬을 구하는 단계 및; ⅷ)제2그룹 및 제3그룹에 대하여 상기 ⅰ) 내지 ⅶ)단계를 수행하여 각각의 수정가중치 행렬을 구하는 단계를 포함한 삼분그래프 기반의 추천방법을 제공한다. In order to accomplish the above object, the present invention provides a method for generating a three-group data set comprising three groups of data sets consisting of a first group, a second group and a third group having three sets of x, y, and z components, Expressing each element as a node by an xy matrix as a weight which is an association with an element of the second group to obtain a first weighting matrix and normalizing it by column; Ii) dividing the information of the first group first node by p and distributing p to the second group of nodes using the ratio of the first node to the second group of nodes connected to the first node; Iii) obtaining a second weighting matrix represented by a yxz matrix having weights of edges, which are associations with nodes of a third group connected to each node of the second group, and normalizing the second weighting matrix by a column unit; Iv) distributing and summing p distributed in step ii) to the third group node using the normalized second weight matrix obtained in iii); V) distributing p to the first group of nodes by performing the processes of iii) to iv) for the first group in the third group, dividing the value distributed to each node by p, Obtaining a distribution ratio; Vi) sequentially performing the steps of ii) to v) for the remaining nodes of the first group to obtain a final distribution ratio of each node, expressing the final distribution ratios by xxx matrix and obtaining a first power matrix; Ⅶ) obtaining a modified first modified weighting matrix by redistributing the weight of each node according to the distribution ratio expressed in the first power matrix with respect to the first weighting matrix; (I) performing the steps (i) to (iii) for the second group and the third group to obtain respective modified weighting matrices.

본 발명은 종래의 삼분그래프를 활용하면서 삼분 그래프를 구성함으로써 얻을 수 있는 구조적 특성을 추천 과정에 포함하여 쉽게 드러나지 않는 숨겨진 정보를 활용 할 수 있다.The present invention can utilize hidden information that is not easily revealed by including the structural characteristic obtained by constructing the three-minute graph using the conventional three-minute graph in the recommendation process.

도 1은 본 발명에 따른 삼분 그래프에 기반한 추천 방법의 예를 설명하기 위한 모식도
도2는 본 발명에 따른 삼분 그래프에 기반한 추천방법과 종래 삼분그래프의 연산 방법의 연산수행시간을 비교한 그래프
도3은 기존 추천 알고리즘과 본 발명의 삼분그래프에 기반한 추천방법의 nDCG결과 비교
1 is a schematic diagram for explaining an example of a recommendation method based on a three-minute graph according to the present invention;
FIG. 2 is a graph comparing the operation time of the recommendation method based on the three-minute graph according to the present invention and the operation method of the conventional three-minute graph
Figure 3 compares nDCG results of the recommendation algorithm based on the existing recommendation algorithm and the three-minute graph of the present invention

이하에서 본 명세서에 첨부된 도면을 참조하여 본 발명을 상세히 설명한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention will now be described in detail with reference to the drawings attached hereto.

본 발명의 삼분 그래프에 기반한 추천 방법은 삼분 그래프 구조가 구축되어 있다는 전제하에 가중치 변경 과정을 비특허문헌 1의 선행연구 아이디어를 확장하여 진행하게 된다. 삼분 그래프 구조이기에 총 3개의 간선 정보(가중치)가 존재하고 이것을 조작하는 과정을 통해 추천 시스템을 구현하게 된다. 이때 조작 과정의 편의를 위하여 삼분 그래프 구조의 가중치를 행렬로 만들어 사용한다.The recommendation method based on the three-minute graph of the present invention is based on the premise that a three-minute graph structure is constructed, and the weight changing process is extended by extending the previous research idea of Non-Patent Document 1. Since there is a three-dimensional graph structure, there are a total of three pieces of trunk information (weight value), and the recommended system is implemented through the process of manipulating the trunk information. At this time, for convenience of the operation process, the weight of the three-dimensional graph structure is used as a matrix.

본 명세서에서 '그래프'란 하나의 카테고리로 묶이는 집합을 구성하는 구성요소인 정점(node)과 그 정점 사이의 연결인 간선(edge)인 가중치로 이루어진 구조를 의미하고, '삼분 그래프'는 각 집합의 구성 요소가 그래프 구조에서의 정점을 구성하고 동일 집합 내의 집합끼리는 간선인 가중치가 없는 3개 집합간 정점과 간선구조를 의미한다. 또한, '파워'는 하나의 정점의 정보가 다른 정점으로 얼마나 분배가 되느냐를 비율화한 것이다. In the present specification, 'graph' refers to a structure consisting of a node, which is a component constituting a set bound to one category, and a weight, which is an edge, which is a connection between the vertices. Means the vertex and trunk structure between the three sets of vertices constituting the vertices in the graph structure and having no weights in which the sets in the same set are the trunks. Also, 'power' is a ratio of how much information of one vertex is distributed to other vertices.

본 발명의 삼분그래프 기반 추천방법은 x, y 및 z개의 구성요소를 갖는 3개의 집합인 제1그룹, 제2그룹 및 제3그룹으로 이루어진 3그룹 데이터 셋으로부터, ⅰ)상기 제1그룹에 대하여 각 구성요소를 노드(node)로 하여 제2그룹의 구성요소와의 연관관계인 간선인 가중치로 한 x×y 행렬로 표현하여 제1가중치 행렬을 구하고 이를 열 단위로 정규화하는 단계,; ⅱ)제1그룹 제1노드의 정보를 p라 하고 제1노드와 연결된 제2그룹의 다른 노드로 분배되는 비율을 구한 뒤 이를 이용하여 p를 제2그룹의 노드에 분배하는 단계; ⅲ)상기 제2그룹 각 노드와 연결된 제3그룹의 노드와의 연관관계인 간선을 가중치로 한 y×z 행렬로 표현된 제2가중치 행렬을 구하고 이를 열 단위로 정규화하는 단계,; ⅳ)상기 ⅱ)단계에서 분배된 p를 ⅲ)에서 구한 정규화된 제2가중치 행렬을 이용하여 상기 제3그룹 노드에 분배하고 합하는 단계; ⅴ)제3그룹에서 제1그룹에 대하여 상기 ⅲ)내지 ⅳ)의 과정을 수행하여 p를 제1그룹의 노드로 분배한 뒤 각 노드에 분배된 값을 p로 나누어 제1그룹 제1노드의 분배비율을 구하는 단계,; ⅵ)제1그룹의 나머지 노드에 대하여 순차적으로 상기 ⅱ)내지 ⅴ)단계를 수행하여 각 노드의 최종 분배비율을 구하고 x×x 행렬로 표시하고 제1파워 행렬을 구하는 단계.; ⅶ)제1가중치 행렬에 대하여 상기 제1파워 행렬에 표현한 분배비율대로 각 노드의 가중치를 재분배하여 수정된 제1수정 가중치 행렬을 구하는 단계 및; ⅷ)제2그룹 및 제3그룹에 대하여 상기 ⅰ) 내지 ⅶ)단계를 수행하여 각각의 수정가중치 행렬을 구하는 단계를 포함한다.The ternary graph based recommendation method of the present invention is based on three groups of data sets consisting of a first group, a second group and a third group, which are three sets having x, y, and z components: i) Expressing each element as a node as a weight which is an association between the element of the second group and an xy matrix and obtaining a first weighting matrix and normalizing it by column; Ii) dividing the information of the first group first node by p and distributing p to the second group of nodes using the ratio of the first node to the second group of nodes connected to the first node; Iii) obtaining a second weighting matrix represented by a yxz matrix having weights of edges, which are associations with nodes of a third group connected to each node of the second group, and normalizing the second weighting matrix by a column unit; Iv) distributing and summing p distributed in step ii) to the third group node using the normalized second weight matrix obtained in iii); V) distributing p to the first group of nodes by performing the processes of iii) to iv) for the first group in the third group, dividing the value distributed to each node by p, Obtaining a distribution ratio; Vi) sequentially performing the steps of ii) to v) for the remaining nodes of the first group to obtain a final distribution ratio of each node, expressing the final distribution ratios by xxx matrix and obtaining a first power matrix; Ⅶ) obtaining a modified first modified weighting matrix by redistributing the weight of each node according to the distribution ratio expressed in the first power matrix with respect to the first weighting matrix; (I) performing the steps (i) to (iii) for the second group and the third group to obtain respective modified weighting matrices.

본 발명의 삼분그래프 기반 추천방법은 각각 x, y 및 z개의 구성요소를 갖는 3개의 집합인 제1그룹, 제2그룹 및 제3그룹으로 이루어진 3그룹 데이터 셋으로부터, ⅰ)상기 제1그룹에 대하여 각 구성요소를 노드(node)로 하여 제2그룹의 구성요소와의 연관관계인 간선인 가중치로 한 x×y 행렬로 표현하여 제1가중치 행렬을 구하고 이를 열 단위로 정규화하는 단계를 포함한다. 가중치의 조작 과정을 간단한 예를 통해 설명하겠다. 가령, A={a, b}, B={1, 2, 3}, C={x, y}를 가지는 3개의 그룹을 가정하자. 도 1은 도 1은 본 발명에 따른 삼분 그래프에 기반한 추천 방법의 예를 설명하기 위한 모식도이다. 도 1에서 볼 수 있는 바와 같이, 우선, 세 개의 집합 A, B 및 C에 대하여 각 구성요소간 간선을 행렬로 표현한다. 집합A 노드들과 집합B 노드들의 가중치를 표 1의 Weight라 하였을 때 각 노드에서 연결된 노드들과의 가중치를 정규화 한다. 집합A의 노드a만을 고려해 보자. 노드a와 연결된 집합B의 노드 1, 2와의 가중치가 각각 3, 1이므로 정규화 하게 되면 각각 0.75, 0.25가 된다. The ternary graph based recommendation method of the present invention is characterized in that it consists of three groups of data sets consisting of a first group, a second group and a third group which are three sets each having x, y and z components: i) And each element is represented as a node by an xy matrix as an weight which is an association between the element of the second group and an element of the second group to obtain a first weighting matrix and normalizing the first weighting matrix by a column unit. The process of manipulating the weights will be explained with a simple example. Suppose, for example, three groups with A = {a, b}, B = {1,2,3}, C = {x, y}. 1 is a schematic diagram for explaining an example of a recommendation method based on a three-minute graph according to the present invention. As shown in FIG. 1, first, the trunks between the constituent elements are represented by a matrix for the three sets A, B, and C. When the weights of the set A nodes and the set B nodes are given as Weight in Table 1, the weights of the nodes connected to each other are normalized. Consider node a in set A only. Since weights of node 1 and node 2 of set B connected to node a are 3 and 1, respectively, they become 0.75 and 0.25, respectively.

그 다음, ⅱ)제1그룹 제1노드의 정보를 p라 하고 제1노드와 연결된 제2그룹의 다른 노드로 분배되는 비율을 구한 뒤 이를 이용하여 p를 제2그룹의 노드에 분배하는 단계; ⅲ)상기 제2그룹 각 노드와 연결된 제3그룹의 노드와의 연관관계인 간선을 가중치로 한 y×z 행렬로 표현된 제2가중치 행렬을 구하고 이를 열 단위로 정규화하는 단계,; ⅳ)상기 ⅱ)단계에서 분배된 p를 ⅲ)에서 구한 정규화된 제2가중치 행렬을 이용하여 상기 제3그룹 노드에 분배하고 합하는 단계; ⅴ)제3그룹에서 제1그룹에 대하여 상기 ⅲ)내지 ⅳ)의 과정을 수행하여 p를 제1그룹의 노드로 분배한 뒤 각 노드에 분배된 값을 p로 나누어 제1그룹 제1노드의 분배비율을 구하는 단계를 거치게 된다. 위의 예를 보면, 이때 노드a의 Power는 1을 가지고, 이 Power를 집합B 노드들에게 분배한다. 이 Power를 앞서 구한 정규화된 가중치 비율로 분해하게 되면, 노드 1에는 0.75의 Power를, 노드 2에는 0.25의 Power를 분배하게 된다. 다음 노드 1, 2에서 연결된 집합C의 노드 집합과의 가중치를 정규화 한 뒤, 이전에 분배한 Power를 다음 집합C로 정규화된 가중치 비율로 분배하여 더하면 노드 ㄱ, ㄴ은 각각 0.19, 0.81의 Power가 분배된다. 이 과정을 다시 집합B에서 집합C로 하게 되면 노드a는 0.36, 노드b는 0.64의 Power가 분배된다. (Ii) dividing the information of the first group first node by p and distributing p to the second group of nodes by using the ratio of the distribution to the other nodes of the second group connected to the first node; Iii) obtaining a second weighting matrix represented by a yxz matrix having weights of edges, which are associations with nodes of a third group connected to each node of the second group, and normalizing the second weighting matrix by a column unit; Iv) distributing and summing p distributed in step ii) to the third group node using the normalized second weight matrix obtained in iii); V) distributing p to the first group of nodes by performing the processes of iii) to iv) for the first group in the third group, dividing the value distributed to each node by p, The distribution ratio is obtained. In the above example, the power of node a is 1, and this power is distributed to the set B nodes. When this power is decomposed into the normalized weight ratio obtained earlier, the power of 0.75 is distributed to node 1 and the power of 0.25 is distributed to node 2. [ Next, we normalize the weights of nodes 1 and 2 of the connected set C and then distribute the previously distributed power by the weighting ratio normalized to the next set C, and the power of the nodes a and b is 0.19 and 0.81, respectively, do. When this process is set again in the set B in the set C, the power of the node a is 0.36 and the power of the node b is 0.64.

그 다음, ⅵ)제1그룹의 나머지 노드에 대하여 순차적으로 상기 ⅱ)내지 ⅴ)단계를 수행하여 각 노드의 최종 분배비율을 구하고 x×x 행렬로 표시하고 제1파워 행렬을 구하는 단계.; ⅶ)제1가중치 행렬에 대하여 상기 제1파워 행렬에 표현한 분배비율대로 각 노드의 가중치를 재분배하여 수정된 제1수정 가중치 행렬을 구하는 단계를 포함하다. 즉, 위 예에서 노드b에 대해서도 위 노드 a와 같은 과정을 통해 Power를 얻은 뒤, 최종 결과로 얻게 된 Power를 비율로 하여 가중치를 재분배 하게 되면, 표 1의 Modified Weight의 값으로 업데이트 된다. Next, vi) sequentially performing the steps ii) to v) for the remaining nodes of the first group to obtain a final distribution ratio of each node, expressing it as an xxx matrix and obtaining a first power matrix; And (e) redistributing weights of the respective nodes according to the distribution ratios expressed in the first power matrix with respect to the first weight matrix, thereby obtaining a corrected first modified weight matrix. That is, in the above example, the power is obtained through the same process as the node a, and then the weight is redistributed as the ratio of the power obtained as the final result.

Figure 112017117888229-pat00001
Figure 112017117888229-pat00001

본 발명의 추천방법은 ⅷ)제2그룹 및 제3그룹에 대하여 상기 ⅰ) 내지 ⅶ)단계를 수행하여 각각의 수정가중치 행렬을 구하는 단계를 포함한다. 전술한 바와 같이, 위 과정을 집합 하나의 모든 노드에 대하여 진행하는 것을 1Step으로 정의하고, 노드 집합 A, B, C 순서대로 Step을 수행하게 된다. 최종적으로 얻게 되는 가중치 정보는 위의 과정을 통해 삼분 그래프 구조를 모두 거치게 되므로 그래프 구조를 이용해야만 얻을 수 있는 정보가 가중치에 반영된다. 따라서 특정 메뉴에 대한 추천을 하고자 한다면, 입력한 노드와 연결된 가중치를 비교하여 좀 더 높은 가중치로 연결된 노드의 추천 순위가 높은 것이다.The recommendation method of the present invention includes the steps of (i) through (e)) for each of the second group and the third group to obtain respective modified weighting matrices. As described above, it is defined as 1 step that the above process is performed for all the nodes of the set, and the step is performed in the order of the node sets A, B, C. Finally, the weight information obtained through the above process is passed through the whole three-minute graph structure, so the information that can be obtained only by using the graph structure is reflected in the weight. Therefore, if a recommendation is made for a specific menu, a node having a higher weight is higher in a recommendation order than a node having a higher weight.

또한, 본 발명은 ⅸ)상기 ⅰ)내지 ⅷ)단계를 1회 더 수행하는 단계를 더 포함할 수 있다. 상기 ⅰ)내지 ⅷ)단계를 수행하는 경우 본 발명에서는 1Cycle 과정으로 보았다. 사이클을 계속 진행하는 경우 행렬 정보가 변화를 하게 되는데, 행렬의 변화율은 일정수준으로 수렴하게 된다. 행렬A에 대한 변화율은 행렬 A의 1Cycle 뒤 업데이트 한 행렬 A'에 대한 수치변화로 정의한다. In addition, the present invention may further comprise the step of (i) performing the above steps (i) to (i) one more time. In the case of performing steps (i) to (i) above, the present invention is described as a one-cycle process. When the cycle continues, the matrix information changes, and the rate of change of the matrix converges to a certain level. The rate of change for the matrix A is defined as the numerical change to the updated matrix A 'after 1 cycle of the matrix A.

Figure 112017117888229-pat00002
Figure 112017117888229-pat00002

Cycle별 각 행렬의 변화율을 표 2에 정리하였다. 표2를 통해 살펴보면 2 Cycle 이후의 변화율이 약 10-7로 수렴하는 것을 알 수 있는데 이 수치는 단순하게 생각하여도 매우 작은 수치이므로 더 이상의 Cycle을 진행한다고 하여 가중치 정보 순위가 뒤바뀌지 않게 되므로, 각 행렬은 2Cycle에서 모두 수렴하였다고 할 수 있다.Table 2 summarizes the rate of change of each matrix per cycle. As shown in Table 2, the rate of change after 2 cycles converges to about 10 -7 . Since this value is very small even if it is considered simple, the weight information ranking does not change because the cycle proceeds further. Therefore, Each matrix can be said to have converged in two cycles.

Figure 112017117888229-pat00003
Figure 112017117888229-pat00003

앞서 설명한 가중치 조작 과정을 메뉴, 상황어, 식당 집합으로 구성된 삼분 그래프로 실험을 진행하였다. 이 때 행렬 연산의 특성 상 필연적인 반복 문의 중첩으로 인해 방대한 연산 량이 발생하여 초기 구현 모델의 1Cycle 수행 시간은 약 12시간이나 되었다. 연산 속도를 높이기 위하여 행렬 연산에 특화된 GPU를 이용하여, 대부분의 연산을 GPU에서 처리하도록 코드를 변경 하였다. 하지만 행렬 변형 과정을 앞서 설명했던 조작 과정과 동일하게 구현하기 위해 필요한 메모리 공간의 크기가 그래프에서 가장 큰 노드 크기의 제곱만큼 필요하다는 점이 문제가 되었다. 초기 실험 그래프의 식당 노드는 50,000여개로, 필요한 메모리의 크기는 50,000 X50,000 X 4 byte = 10GB나 되었지만 실험에 사용한 GPU의 메모리의 크기가 8GB인 관계로 GPU에서 처리가 불가능하여 일부 연산은 CPU에서 처리하도록 하였다. 그 결과 1Cycle 수행 시간을 2시간까지 줄일 수 있었지만 순수한 연산 과정의 시간은 굉장히 짧은 데에 반해 연산 도중의 정보가 CPU와 GPU사이를 이동하느라 생긴 병목현상이 수행 시간의 대부분을 차지하고 있는 것을 알게 되었다. 이후 1Cycle 수행 시간을 더욱 개선하기 위하여 4.1에서 설명하였던 가중치 조작의 순서를 약간 변경하여 노드 한개의 연산 후 얻게 된 정보를 바로 행렬을 변형하는 과정을 통해 메모리 사용을 1GB미만으로 크게 줄였다. 그리하여 모든 연산 과정을 GPU에서 처리하도록 변경할 수 있었고, 1Cycle 수행 시간을 2분까지 단축(그림2)할 수 있었다.The weight manipulation process described above was conducted with a three-minute graph consisting of a menu, a context word, and a set of restaurants. In this case, because of the nature of the matrix operation, a large amount of computation occurs due to the overlapping of the iterative queries, and the execution time of one cycle of the initial implementation model is about 12 hours. In order to increase the computation speed, we changed the code so that most operations are processed by the GPU using a GPU specialized for matrix operation. However, it is problematic that the amount of memory space required to implement the matrix transformation process is the same as the square of the largest node size in the graph. In the initial experiment graph, there are 50,000 restaurant nodes, and the required memory size is 50,000 X50,000 X 4 bytes = 10GB. However, since the memory size of the GPU used in the experiment is 8GB, . As a result, we were able to reduce the execution time of one cycle up to 2 hours, but we found that the bottleneck caused by moving information between CPU and GPU occupies most of the execution time, while the time of pure operation is very short. In order to further improve the execution time of one cycle, memory usage is reduced to less than 1 GB by directly modifying the matrix obtained after one operation of the node by modifying the procedure of weighting operation described in Section 4.1. Thus, we could change all of the operations to be handled by the GPU and reduce the execution time of one cycle to 2 minutes (Figure 2).

본 발명에서 필요한 삼분 그래프를 구성하기 위하여 노드 정보로 메뉴, 식당, 상황어 집합을 삼분 그래프의 세가지 노드 집합으로 이용하였다. 상황어의 정의는 추천을 하기 위한 일종의 Context라 할 수 있는데 예를 들어 "가족끼리 크리스마스에 저녁을 먹으려 한다." 는 경우를 가정하면 가족, 크리스마스, 저녁처럼 메뉴와 식당을 제외한 모든 의미 있는 형태소가 상황어에 해당한다. 노드 정보를 추출하기 위하여 블로그 데이터의 리뷰를 형태소 단위로 분리하여 분석하였다. 가장 먼저 메뉴에 대한 형태소를 분석하여 86종류의 메뉴를 확보 한 뒤, 상황어를 추출하기 위하여 나머지 형태소들에 대하여 분석하여 의미 있는 단어라고 판단한 형태소를 215개 선정하였다. 식당에 관한 정보는 블로그 작성자가 설정한 태그 정보를 이용하였다. 모든 태그 정보를 수집 하여 5만여개의 정보를 얻은 뒤, 부정확한 정보를 제거하기 위하여 실제 식당 정보와 대조하여 일치하는 식당 정보만을 추려 내었고 2069개의 식당 정보를 얻을 수 있었다. 가중치 정보(간선)는 각 형태소(노드)간의 동시 출현 횟수를 사용하여 구성하였다.In order to construct a three-minute graph that is necessary in the present invention, a menu, a restaurant, and a condition set are used as three node sets of a three-dimensional graph as node information. The definition of a conditional language is a kind of context for recommendation. For example, "A family is going to have dinner for Christmas." , All meaningful morphemes except for menus and restaurants, such as family, Christmas, and evening, correspond to situation words. In order to extract node information, review of blog data was analyzed by morpheme. First, 86 types of menus were analyzed by analyzing the morpheme for the menu, and then 215 morphemes judged as meaningful words were analyzed by analyzing the remaining morphemes in order to extract the condition words. Information about the restaurant was used by the tag information set by the blog author. After gathering all the tag information and obtaining about 50,000 pieces of information, in order to remove the inaccurate information, only the matching restaurant information was compared with the actual restaurant information and 2069 restaurants information could be obtained. The weight information (trunk line) was constructed using the number of simultaneous occurrences of each morpheme (node).

앞서 실험을 위해 완성한 삼분 그래프를 이용하여 300Cycle까지 진행한 추천 데이터를 통해 평가를 진행하였다. 본 논문은 비교 대상 기법으로서 Yifan, Hu[5]가 제안한 이웃 기반 협업 필터링(Neighborhood based CF)기법을 사용하였는데, 이 기법은 추천 시스템의 가장 일반적인 협업 필터링 방법이기에 비교 기법으로 선정하였다. 정량적 평가를 위하여 평가를 위한 수치는 Normalizing Discounted Cumulative Gain(nDCG)을 사용하였다. Using the three-minute graph completed for the previous experiment, the evaluation was conducted through recommendation data up to 300 cycles. In this paper, we use Neighborhood based CF scheme proposed by Yifan and Hu [5] as a comparative technique. This technique is selected as a comparison technique because it is the most common collaborative filtering method of recommendation system. For the quantitative evaluation, the value for the evaluation was the Normalizing Discounted Cumulative Gain (nDCG).

Figure 112017117888229-pat00004
이때 relevance 함수는
Figure 112017117888229-pat00004
The relevance function

로 정의 하였다. 정답과 추천 정보는 모두 Top 5 랭킹 정보를 사용하며, 삼분 그래프의 3개의 행렬에 대하여 각각의 평가를 진행하였다. 각 평가 값은 서로 다른 3개 input에 대한 추천 결과값의 평균으로 하였다. 림 3을 통하여 비교 대상 기법과의 차이를 살펴보면 식당-메뉴, 식당-상황어 관계에 대한 평가 값이 상당한 차이를 두고 우열을 다투었는데, 메뉴-상황어 관계에 대한 평가에서는 [5]의 추천 기법이 전혀 작동하지 않았다. 이는 [5]의 추천 기법을 통해 숨겨진 정보를 찾아내기에 본 발명의 대조실험에서 사용한 메뉴-상황어 관계 정보(86 x 215)가 작고, 소셜 리뷰 데이터라는 비정형 데이터에서 추출한 정보를 기반으로 한 관계이기에 본 발명에서 제안한 추천 기법에서 포착한 패턴을 찾을 수 없는 것으로 파악된다. 본 논문에서는 적은 양의 비정형 데이터를 이용하는 것만으로도 삼분 그래프의 구조적 정보를 연산 과정에 포함하는 것을 통해, 기존의 추천 기법을 통해 얻을 수 없었던 깊게 숨겨진 패턴 정보를 Top5 순위 내에서 찾아내어 기존의 추천 기법에 비해 좋은 성능을 낼 수 있음을 실험적으로 보였다.Respectively. Both the correct answer and the recommendation information use the Top 5 ranking information, and the evaluation of each of the three matrices of the three-minute graph was carried out. Each evaluation value was the average of recommendation results for three different inputs. In the case of the menu-to-language relation, the recommendation technique of [5] was used. In the evaluation of the menu-context relation, This did not work at all. This is because the menu-context relation information (86 x 215) used in the verification experiment of the present invention is small in finding the hidden information through the recommendation technique of [5], and the relation based on the information extracted from the irregular data called the social review data It is understood that the pattern captured in the recommendation technique proposed by the present invention can not be found. In this paper, by incorporating the structural information of the 3-minute graph into the calculation process by using only a small amount of irregular data, it is possible to find out deeply hidden pattern information which can not be obtained through the existing recommendation technique, It is experimentally shown that it can achieve better performance than the conventional technique.

앞에서 설명된 본 발명의 일실시예는 본 발명의 기술적 사상을 한정하는 것으로 해석되어서는 안 된다. 본 발명의 보호범위는 청구범위에 기재된 사항에 의하여만 제한되고, 본 발명의 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상을 다양한 형태로 개량 변경하는 것이 가능하다. 따라서 이러한 개량 및 변경은 통상의 지식을 가진 자에게 자명한 것인 한 본 발명의 보호범위에 속하게 될 것이다.The embodiments of the present invention described above should not be construed as limiting the technical idea of the present invention. The scope of protection of the present invention is limited only by the matters described in the claims, and those skilled in the art will be able to modify the technical idea of the present invention in various forms. Accordingly, such improvements and modifications will fall within the scope of the present invention as long as they are obvious to those skilled in the art.

Claims (2)

적어도 프로세서 및 프로세서에 의해 실행되는 명령어들을 저장하는 메모리를 포함하는 전자 디바이스 또는 컴퓨터 프로그램에 의해 선택적으로 활성화 또는 재구성되는 프로그래밍 가능한 머신(machine)상에서 수행되며,
x, y 및 z개의 구성요소를 갖는 3개의 집합인 제1그룹, 제2그룹 및 제3그룹으로 이루어진 3그룹 데이터 셋으로부터,
ⅰ)상기 제1그룹에 대하여 각 구성요소를 노드(node)로 하여 제2그룹의 구성요소와의 연관관계인 간선인 가중치로 한 x×y 행렬로 표현하여 제1가중치 행렬을 구하고 이를 열 단위로 정규화하는 단계,;
ⅱ)제1그룹 제1노드의 정보를 p라 하고 제1노드와 연결된 제2그룹의 다른 노드로 분배되는 비율을 구한 뒤 이를 이용하여 p를 제2그룹의 노드에 분배하는 단계;
ⅲ)상기 제2그룹 각 노드와 연결된 제3그룹의 노드와의 연관관계인 간선을 가중치로 한 y×z 행렬로 표현된 제2가중치 행렬을 구하고 이를 열 단위로 정규화하는 단계,;
ⅳ)상기 ⅱ)단계에서 분배된 p를 ⅲ)에서 구한 정규화된 제2가중치 행렬을 이용하여 상기 제3그룹 노드에 분배하고 합하는 단계;
ⅴ)제3그룹에서 제1그룹에 대하여 상기 ⅲ)내지 ⅳ)의 과정을 수행하여 p를 제1그룹의 노드로 분배한 뒤 각 노드에 분배된 값을 p로 나누어 제1그룹 제1노드의 분배비율을 구하는 단계,;
ⅵ)제1그룹의 나머지 노드에 대하여 순차적으로 상기 ⅱ)내지 ⅴ)단계를 수행하여 각 노드의 최종 분배비율을 구하고 x×x 행렬로 표시하고 제1파워 행렬을 구하는 단계.;
ⅶ)제1가중치 행렬에 대하여 상기 제1파워 행렬에 표현한 분배비율대로 각 노드의 가중치를 재분배하여 수정된 제1수정 가중치 행렬을 구하는 단계 및;
ⅷ)제2그룹 및 제3그룹에 대하여 상기 ⅰ) 내지 ⅶ)단계를 수행하여 각각의 수정가중치 행렬을 구하는 단계를 포함한 삼분그래프 기반의 추천방법.
Executed on a programmable machine selectively activated or reconfigured by an electronic device or a computer program comprising at least a processor and a memory for storing instructions executed by the processor,
From the three group data set consisting of the first group, the second group and the third group, which are three sets having x, y, and z components,
I) For each of the first groups, a first weighting matrix is obtained by expressing each constituent element as a node, which is an association weight with a second group of constituent elements, as an xy matrix, Normalizing;
Ii) dividing the information of the first group first node by p and distributing p to the second group of nodes using the ratio of the first node to the second group of nodes connected to the first node;
Iii) obtaining a second weighting matrix represented by a yxz matrix having weights of edges, which are associations with nodes of a third group connected to each node of the second group, and normalizing the second weighting matrix by a column unit;
Iv) distributing and summing p distributed in step ii) to the third group node using the normalized second weight matrix obtained in iii);
V) distributing p to the first group of nodes by performing the processes of iii) to iv) for the first group in the third group, dividing the value distributed to each node by p, Obtaining a distribution ratio;
Vi) sequentially performing the steps of ii) to v) for the remaining nodes of the first group to obtain a final distribution ratio of each node, expressing the final distribution ratios by xxx matrix and obtaining a first power matrix;
Ⅶ) obtaining a modified first modified weighting matrix by redistributing the weight of each node according to the distribution ratio expressed in the first power matrix with respect to the first weighting matrix;
(I) performing the steps (i) to (iii) for the second group and the third group to obtain respective modified weighting matrices;
제1항에 있어서,
ⅸ)상기 ⅰ)내지 ⅷ)단계를 1회 더 수행하는 단계를 포함한 삼분그래프 기반의 추천방법.
The method according to claim 1,
Ⅸ) A three-minute graph-based recommendation method including the steps of performing steps i) through 1) one more time.
KR1020170159381A 2017-11-27 2017-11-27 Recommendation method based on tripartite graph KR101985603B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170159381A KR101985603B1 (en) 2017-11-27 2017-11-27 Recommendation method based on tripartite graph

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170159381A KR101985603B1 (en) 2017-11-27 2017-11-27 Recommendation method based on tripartite graph

Publications (1)

Publication Number Publication Date
KR101985603B1 true KR101985603B1 (en) 2019-06-03

Family

ID=66848877

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170159381A KR101985603B1 (en) 2017-11-27 2017-11-27 Recommendation method based on tripartite graph

Country Status (1)

Country Link
KR (1) KR101985603B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111400483A (en) * 2020-03-17 2020-07-10 重庆邮电大学 Time-weighting-based three-part graph news recommendation method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5662299B2 (en) * 2011-11-10 2015-01-28 日本電信電話株式会社 Information recommendation apparatus, method, apparatus, and program
KR20170011963A (en) 2015-07-23 2017-02-02 한양대학교 산학협력단 Method and server for recommending item

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5662299B2 (en) * 2011-11-10 2015-01-28 日本電信電話株式会社 Information recommendation apparatus, method, apparatus, and program
KR20170011963A (en) 2015-07-23 2017-02-02 한양대학교 산학협력단 Method and server for recommending item

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
1.Shang, M., Fu, Y., Chen, D., "Personal Recommendation Using Weighted BiPartite Graph Projection", Apperceiving Computing and Intelligence Analysis, 2008. ICACIA 2008. International Conference on, Dec. 2008, pp. 198-202.
2. Chen, B., Wang, J., Huang, Q., Mei, T., "Personalized Video Recommendation Through Tripartite Graph Propagation", Proceedings of ACM Multimedia, 2012.
3. Shams, B., Haratizadeh, S., "Graph-based collaborative ranking", Expert Systems with Applications, vol. 67, Jan. 2017, pp. 59-70.
4. Jindal, H., Anjali, "Graph based Recommendation System in Social Networks", International Journal of Computer Applications, vol. 133, Mar. 2015, pp. 36-40.
5. Yifan, Hu., Yehuda, K., Chris, V., "Collaborative Filtering for Implicit Feedback Datasets", Data Mining, 2008. ICDM '08. Eighth IEEE International Conference, Dec. 2008.

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111400483A (en) * 2020-03-17 2020-07-10 重庆邮电大学 Time-weighting-based three-part graph news recommendation method
CN111400483B (en) * 2020-03-17 2022-06-21 重庆邮电大学 Time-weighting-based three-part graph news recommendation method

Similar Documents

Publication Publication Date Title
US10657161B2 (en) Intelligent navigation of a category system
US10360623B2 (en) Visually generated consumer product presentation
WO2016161976A1 (en) Method and device for selecting data content to be pushed to terminals
JP2020523714A (en) Recommended information acquisition method and device, electronic device
US20140289239A1 (en) Recommendation tuning using interest correlation
CN110942337A (en) Accurate tourism marketing method based on internet big data
CN105718184A (en) Data processing method and apparatus
CN106600302A (en) Hadoop-based commodity recommendation system
WO2018040069A1 (en) Information recommendation system and method
CN103886090A (en) Content recommendation method and device based on user favorites
CN102279851A (en) Intelligent navigation method, device and system
CN106651544B (en) Conversational recommendation system with minimal user interaction
US9767417B1 (en) Category predictions for user behavior
US9767204B1 (en) Category predictions identifying a search frequency
US20100318427A1 (en) Enhancing database management by search, personal search, advertising, and databases analysis efficiently using core-set implementations
JP2017054214A (en) Determination device, learning device, information distribution device, determination method, and determination program
CN110175895A (en) A kind of item recommendation method and device
CN104751354A (en) Advertisement cluster screening method
CN104077707B (en) A kind of optimization method and device for promoting presentation mode
CN105916032A (en) Video recommendation method and video recommendation terminal equipment
WO2023142520A1 (en) Information recommendation method and apparatus
Ben-Shimon et al. An ensemble method for top-N recommendations from the SVD
JP2017201535A (en) Determination device, learning device, determination method, and determination program
CN116823410B (en) Data processing method, object processing method, recommending method and computing device
CN108470289B (en) Virtual article issuing method and equipment based on E-commerce shopping platform

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant