KR102327029B1 - Method of recommending poi and recommendation system performing therof - Google Patents

Method of recommending poi and recommendation system performing therof Download PDF

Info

Publication number
KR102327029B1
KR102327029B1 KR1020200003087A KR20200003087A KR102327029B1 KR 102327029 B1 KR102327029 B1 KR 102327029B1 KR 1020200003087 A KR1020200003087 A KR 1020200003087A KR 20200003087 A KR20200003087 A KR 20200003087A KR 102327029 B1 KR102327029 B1 KR 102327029B1
Authority
KR
South Korea
Prior art keywords
poi
matrix
user
recommendation
preference
Prior art date
Application number
KR1020200003087A
Other languages
Korean (ko)
Other versions
KR20210089919A (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 KR1020200003087A priority Critical patent/KR102327029B1/en
Publication of KR20210089919A publication Critical patent/KR20210089919A/en
Application granted granted Critical
Publication of KR102327029B1 publication Critical patent/KR102327029B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • 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/0259Targeted advertisements based on store location
    • 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/0261Targeted advertisements based on user location

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Mathematical Physics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명에 따른 POI(Point of Interest) 추천 방법이 제공된다. 상기 POI 추천 방법은 사용자 별로 POI 천이 패턴과 연관된 POI 정보를 수신하는 POI 정보 수신 단계, 상기 POI 정보에 기반하여 사용자의 천이 선호도(transition preference)를 나타내는 POI-POI 행렬(Q)을 생성하는 POI 행렬 생성 단계, 상기 POI-POI 행렬(Q) 및 사용자-POI 행렬(P)과 연관된 정보를 이용하여 POI에 대한 선호도와 연관된 목표 함수를 최적화하는 목표 함수 최적화 단계, 및 상기 최적화된 목표함수에 따라 산출된 상기 POI에 대한 선호도에 기반하여 POI 후보를 각 사용자 단말로 제공하는 POI 후보 제공 단계를 포함할 수 있다. A POI (Point of Interest) recommendation method according to the present invention is provided. The POI recommendation method includes a POI information receiving step of receiving POI information associated with a POI transition pattern for each user, and a POI matrix generating a POI-POI matrix (Q) indicating a user's transition preference based on the POI information. generating, optimizing a target function associated with a preference for a POI using information associated with the POI-POI matrix Q and the user-POI matrix P, and calculating according to the optimized target function The method may include providing a POI candidate providing a POI candidate to each user terminal based on the selected preference for the POI.

Figure R1020200003087
Figure R1020200003087

Description

POI 추천 방법 및 이를 수행하는 추천 제공 시스템{METHOD OF RECOMMENDING POI AND RECOMMENDATION SYSTEM PERFORMING THEROF}POI recommendation method and recommendation providing system performing the same

본 발명은 POI 추천 방법 및 이를 수행하는 추천 제공 시스템에 관한 것으로, 보다 상세하게는, 사용자 단말과 연동하여 POI 추천 방법 및 이를 수행하는 추천 서버 및 추천 제공 시스템에 대한 것이다.The present invention relates to a POI recommendation method and a recommendation providing system for performing the same, and more particularly, to a POI recommendation method in conjunction with a user terminal, a recommendation server for performing the same, and a recommendation providing system.

추천 시스템(recommendation system)은 사용자 또는 소비자로 하여금 관심 아이템(items of interest)와 추천된 추가 아이템(recommended additional items)를 찾는 것을 가능하게 한다.A recommendation system enables a user or consumer to find items of interest and recommended additional items.

아이템을 추천하기 위해, 추천 제공부는 각 사용자로부터 아이템에 대한 “등급(rating)”을 수집하여야 한다. 또한, 추천 제공부의 추천 엔진은 사용자의 이전 히스토리에 기반하는 제품을 필터링할 필요가 있다.In order to recommend an item, the recommendation provider must collect a “rating” for the item from each user. In addition, the recommendation engine of the recommendation provider needs to filter products based on the user's previous history.

그러나, 추천 제공부는 제출된 등급에 따라 개인 정보, 즉 성별, 나이, 성향 및 선호도 등을 유추하여야 한다. 하지만, 이러한 각 아이템에 대한 등급을 수집하는 것이 번거로울 수 있다. 또한, 이러한 수집된 등급에 따라 개인 정보, 즉 성별, 나이, 성향 및 선호도 등을 정확히 유추할 수 없다는 문제점이 있다.However, the recommendation provider must infer personal information, ie, gender, age, disposition and preference, etc. according to the submitted grade. However, it can be cumbersome to collect ratings for each of these items. In addition, there is a problem in that it is impossible to accurately infer personal information, ie, gender, age, inclination and preference, etc. according to the collected grades.

따라서, 본 발명의 목적은 전술한 문제를 해결하기 위해, 각 아이템에 대한 등급이나 평점을 수집하지 않고 아이템을 추천할 수 있는 추천 방법 및 추천 제공 시스템을 제공함에 있다.Accordingly, an object of the present invention is to provide a recommendation method and a recommendation providing system capable of recommending an item without collecting ratings or ratings for each item, in order to solve the above problem.

또한, 본 발명의 목적은 POI에 대한 선호도와 연관된 목표 함수를 최적화하여 정확하면서도 신속하게 POI를 제공할 수 있는 추천 방법 및 추천 제공 시스템을 제공함에 있다.Another object of the present invention is to provide a recommendation method and a recommendation providing system capable of providing a POI accurately and quickly by optimizing a target function related to a preference for a POI.

상기와 같은 과제를 해결하기 위한 본 발명에 따른 POI (Point of Interest) 추천 방법이 제공된다. 상기 POI (Point of Interest) 추천 방법은 사용자 별로 POI 천이 패턴과 연관된 POI 정보를 수신하는 POI 정보 수신 단계, 상기 POI 정보에 기반하여 사용자의 천이 선호도(transition preference)를 나타내는 POI-POI 행렬(Q)을 생성하는 POI 행렬 생성 단계; 상기 POI-POI 행렬(Q) 및 사용자-POI 행렬(P)과 연관된 정보를 이용하여 POI에 대한 선호도와 연관된 목표 함수를 최적화하는 목표 함수 최적화 단계, 및 상기 최적화된 목표함수에 따라 산출된 상기 POI에 대한 선호도에 기반하여 POI 후보를 각 사용자 단말로 제공하는 POI 후보 제공 단계를 포함할 수 있다.A POI (Point of Interest) recommendation method according to the present invention for solving the above problems is provided. The POI (Point of Interest) recommendation method includes a POI information receiving step of receiving POI information related to a POI transition pattern for each user, and a POI-POI matrix (Q) representing a user's transition preference based on the POI information. POI matrix generation step of generating; a target function optimization step of optimizing a target function related to a preference for a POI using information related to the POI-POI matrix Q and the user-POI matrix P, and the POI calculated according to the optimized target function The POI candidate providing step of providing a POI candidate to each user terminal based on the preference for .

본 발명의 다른 양상에 따른 POI (Point of Interest) 추천 방법을 수행하는 추천 제공 시스템이 제공된다. 상기 추천 제공 시스템은 사용자 별로 POI 천이 패턴과 연관된 POI 정보를 수신하고, 상기 POI 정보에 기반하여 사용자의 천이 선호도(transition preference)를 나타내는 POI-POI 행렬(Q)을 생성하도록 구성되는 추천 서버; 및 사용자-POI 행렬(P)과 연관된 정보를 상기 추천 서버로 전달하도록 구성된 사용자 단말을 포함한다.A recommendation providing system for performing a POI (Point of Interest) recommendation method according to another aspect of the present invention is provided. The recommendation providing system includes: a recommendation server configured to receive POI information associated with a POI transition pattern for each user, and generate a POI-POI matrix (Q) indicating a user's transition preference based on the POI information; and a user terminal configured to transmit information associated with the user-POI matrix P to the recommendation server.

일 실시 예에 따르면, 상기 추천 서버는 상기 POI-POI 행렬(Q) 및 상기 사용자-POI 행렬(P)과 연관된 정보를 이용하여 POI에 대한 선호도와 연관된 목표 함수를 최적화하고, 상기 최적화된 목표함수에 따라 산출된 상기 POI에 대한 선호도에 기반하여 POI 후보를 상기 사용자 단말로 제공하도록 더 구성될 수 있다.According to an embodiment, the recommendation server optimizes a target function related to a preference for a POI using information related to the POI-POI matrix Q and the user-POI matrix P, and the optimized target function It may be further configured to provide a POI candidate to the user terminal based on the calculated preference for the POI.

본 발명에 따르면, 사용자 별로 POI 천이 패턴과 연관된 POI 정보만을 이용하여 각 아이템에 대한 등급이나 평점을 수집하지 않고 아이템을 추천할 수 있는 추천 방법 및 추천 제공 시스템을 제공할 수 있다.According to the present invention, it is possible to provide a recommendation method and a recommendation providing system capable of recommending an item by using only POI information associated with a POI transition pattern for each user without collecting a rating or rating for each item.

또한, 본 발명에 따르면, POI-POI 행렬(Q) 및 사용자-POI 행렬(P)과 연관된 정보를 이용하여 POI에 대한 선호도와 연관된 목표 함수를 최적화하여 정확하면서도 신속하게 POI를 제공할 수 있는 추천 방법 및 이를 수행하는 추천 제공 시스템을 제공할 수 있다.In addition, according to the present invention, by using information associated with the POI-POI matrix (Q) and the user-POI matrix (P), the objective function associated with the preference for the POI is optimized to provide a recommendation that can provide POI accurately and quickly A method and a system for providing a recommendation for performing the same may be provided.

상술한 본 발명의 특징 및 효과는 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다.The features and effects of the present invention described above will become more apparent through the following detailed description in relation to the accompanying drawings, and accordingly, those of ordinary skill in the art to which the present invention pertains can easily implement the technical idea of the present invention. will be able

도 1은 본 발명과 관련된 연속적(successive) POI(Point of Interest) 추천과 관련된 개념도를 나타낸다.
도 2는 본 발명에 따른 사용자-POI 행렬과 POI-POI 행렬 분해 과정의 개념도를 나타낸다.
도 3은 본 발명에 따른 POI 추천 방법의 흐름도를 나타낸다.
도 4는 본 발명에 따른 각각의 사용자의 천이 패턴과 방문 횟수를 이용하여 추천 서버와 사용자 단말이 도 3의 POI 추천 제공 방법을 수행하는 과정을 나타낸 것이다.
도 5는 본 발명에 따른 POI 행렬 생성 단계를 나타낸 것이다.
도 6은 천이 패턴 perturbation 알고리즘을 나타낸다.
도 7은 본 발명에 따른 사용자와 서버 간에 프로파일 벡터를 이용한 gradient perturbation 과정을 나타낸 것이다.
도 8은 piecewise 메커니즘을 이용한 gradient perturbation 알고리즘을 나타낸다.
1 shows a conceptual diagram related to a continuous (successive) POI (Point of Interest) recommendation related to the present invention.
2 is a conceptual diagram illustrating a user-POI matrix and a POI-POI matrix decomposition process according to the present invention.
3 is a flowchart of a POI recommendation method according to the present invention.
4 is a diagram illustrating a process in which a recommendation server and a user terminal perform the POI recommendation providing method of FIG. 3 using each user's transition pattern and number of visits according to the present invention.
5 shows a step of generating a POI matrix according to the present invention.
6 shows a transition pattern perturbation algorithm.
7 shows a gradient perturbation process using a profile vector between a user and a server according to the present invention.
8 shows a gradient perturbation algorithm using a piecewise mechanism.

상술한 본 발명의 특징 및 효과는 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. The features and effects of the present invention described above will become more apparent through the following detailed description in relation to the accompanying drawings, and accordingly, those of ordinary skill in the art to which the present invention pertains can easily implement the technical idea of the present invention. will be able

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 구체적으로 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Since the present invention can have various changes and can have various embodiments, specific embodiments are illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to a specific embodiment, it should be understood to include all modifications, equivalents and substitutes included in the spirit and scope of the present invention.

각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다.In describing each figure, like reference numerals are used for like elements.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.Terms such as first, second, etc. may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another.

예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component. and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs.

일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않아야 한다.Terms such as those defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present application. shouldn't

이하의 설명에서 사용되는 구성요소에 대한 접미사 모듈, 블록 및 부는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. The suffix module, block, and part for the components used in the following description are given or mixed in consideration of only the ease of writing the specification, and do not have distinct meanings or roles by themselves.

이하, 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 당해 분야에 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 설명한다. 하기에서 본 발명의 실시 예를 설명함에 있어, 관련된 공지의 기능 또는 공지의 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.Hereinafter, a preferred embodiment of the present invention will be described with reference to the accompanying drawings so that a person skilled in the art can easily implement it. In the following description of embodiments of the present invention, if it is determined that a detailed description of a related known function or a known configuration may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted.

이하에서는, 본 발명에 따른 POI 추천 제공 방법 및 이를 수행하는 추천 제공 시스템에 대해 설명한다.Hereinafter, a method for providing a POI recommendation and a system for providing a recommendation for performing the method according to the present invention will be described.

이와 관련하여, 도 1은 본 발명과 관련된 연속적(successive) POI(Point of Interest) 추천과 관련된 개념도를 나타낸다. 도 1을 참조하면, 체크 인 히스토리

Figure 112020002500159-pat00001
가 주어진 경우, POI 추천 시스템은 사용자의 최근 체크 인 정보에 기반하여 다음 POI 후보들을 제공할 수 있다. 여기서, U는 사용자들의 집합(set)을 나타내고, L은 POI들의 집합을 나타내고,
Figure 112020002500159-pat00002
는 사용자 u의 체크 인 히스토리를 나타낸다.In this regard, FIG. 1 shows a conceptual diagram related to a successive POI (Point of Interest) recommendation related to the present invention. 1 , check-in history
Figure 112020002500159-pat00001
If , the POI recommendation system may provide the following POI candidates based on the user's recent check-in information. Here, U represents a set of users, L represents a set of POIs,
Figure 112020002500159-pat00002
represents the check-in history of user u.

본 발명과 관련하여 가정(assumption)은 정적 사용자 관심(static user interest) 및 천이 선호도(transition preference)가 동일한 POI 잠재 요소(latent factor)를 공유한다는 것이다. 정적 사용자 관심은 방문 횟수에 기반하는 POI에 대한 개인적 취향을 의미한다. 한편, 천이 선호는 사용자의 순차적 행동들에 관한 1차 Markov 가정으로 근사화될 수 있다.An assumption in the context of the present invention is that static user interest and transition preference share the same POI latent factor. Static user interest means personal preference for POI based on the number of visits. On the other hand, the transition preference can be approximated with a first-order Markov assumption about the user's sequential actions.

한편, 본 발명의 목적은 정적 사용자 관심과 천이 선호도를 통합(integrate)하는 것이다. 이와 관련하여, 행렬 분해 과정(matrix factorization process)에서 POI 프로파일 벡터들이 공유된다.On the other hand, it is an object of the present invention to integrate static user interest and transition preference. In this regard, POI profile vectors are shared in a matrix factorization process.

한편, 전이 학습 접근법(transfer learning approach)은 사용자-POI 행렬과 POI-POI 행렬로 표현될 수 있다. 이와 관련하여, 도 2는 본 발명에 따른 사용자-POI 행렬과 POI-POI 행렬 분해 과정의 개념도를 나타낸다.Meanwhile, the transfer learning approach may be expressed by a user-POI matrix and a POI-POI matrix. In this regard, FIG. 2 shows a conceptual diagram of a user-POI matrix and a POI-POI matrix decomposition process according to the present invention.

도 2를 참조하면, 사용자-POI 행렬(P)은 POI들에 대한 사용자 선호도를 의미하고, P = UVT로 분해(decompose)되어 근사화될 수 있다. 여기서, P는 모든 사용자들에 대한 정적 선호도, 즉 각 POI에 대한 방문 횟수를 의미한다. 이 경우, 사용자-POI 행렬(P)는 user latent matrix(U)와 POI latent matrix(V)를 이용하여 P = UVT로 분해(decompose)될 수 있다. Referring to FIG. 2 , the user-POI matrix P means user preference for POIs, and may be decomposed and approximated as P = UV T . Here, P denotes a static preference for all users, that is, the number of visits to each POI. In this case, the user-POI matrix (P) may be decomposed into P = UV T using the user latent matrix (U) and the POI latent matrix (V).

한편, POI-POI 행렬(Q)은 천이 선호도를 의미하고, Q = VVT로 분해되어 근사화될 수 있다.여기서, Q는 모든 사용자들에 대한 천이 선호도, 즉 선호도 천이 횟수를 의미한다. 이 경우, POI-POI 행렬(Q)은 두 개의 POI latent matrix(V)를 이용하여 Q = VVT로 분해될 수 있다. On the other hand, the POI-POI matrix Q means a transition preference, and can be approximated by decomposing Q = VV T . Here, Q means a transition preference for all users, that is, the number of preference transitions. In this case, the POI-POI matrix (Q) may be decomposed into Q = VV T using two POI latent matrices (V).

전술한 바와 같이 사용자-POI 행렬(P)과 POI-POI 행렬(Q)을 이용한 POI (Point of Interest) 추천 방법에 대해 설명하면 다음과 같다. 이와 관련하여, 도 3은 본 발명에 따른 POI 추천 방법의 흐름도를 나타낸다. POI 추천 방법은 주로 추천 서버(recommendation server)에 의해 수행될 수 있다. 하지만, POI 추천 방법의 일부 과정은 추천 서버가 사용자 단말과 연동 및 협력하여 최적화 과정 등을 수행할 수 있다.As described above, a POI (Point of Interest) recommendation method using the user-POI matrix (P) and the POI-POI matrix (Q) will be described as follows. In this regard, FIG. 3 shows a flowchart of a POI recommendation method according to the present invention. The POI recommendation method may be mainly performed by a recommendation server. However, in some processes of the POI recommendation method, the recommendation server may perform an optimization process by interworking and cooperation with the user terminal.

도 3을 참조하면, POI 추천 방법은 POI 정보 수신 단계(S100), POI 행렬 생성 단계(S200), 목표 함수 최적화 단계(S300) 및 POI 후보 제공 단계(S400)를 포함할 수 있다. Referring to FIG. 3 , the POI recommendation method may include receiving POI information ( S100 ), generating a POI matrix ( S200 ), optimizing a target function ( S300 ), and providing a POI candidate ( S400 ).

POI 정보 수신 단계(S100)에서, 사용자 별로 POI 천이 패턴과 연관된 POI 정보를 수신할 수 있다. POI 행렬 생성 단계(S200)에서, POI 정보에 기반하여 사용자의 천이 선호도(transition preference)를 나타내는 POI-POI 행렬(Q)을 생성할 수 있다. 한편, 목표 함수 최적화 단계(S300)에서, POI-POI 행렬(Q) 및 사용자-POI 행렬(P)과 연관된 정보를 이용하여 POI에 대한 선호도와 연관된 목표 함수를 최적화할 수 있다. 이 경우, 사용자-POI 행렬(P)은 user latent matrix(U)와 POI latent matrix(V)를 이용하여 P = UVT로 분해(decompose)될 수 있다. 한편, POI-POI 행렬(Q)은 POI latent matrix(V)를 이용하여 Q = VVT로 분해될 수 있다.In the POI information receiving step S100 , POI information associated with a POI transition pattern may be received for each user. In the POI matrix generation step S200 , a POI-POI matrix Q indicating a user's transition preference may be generated based on the POI information. Meanwhile, in the target function optimization step S300 , the target function related to the preference for the POI may be optimized using information related to the POI-POI matrix Q and the user-POI matrix P. In this case, the user-POI matrix (P) may be decomposed into P = UV T using the user latent matrix (U) and the POI latent matrix (V). Meanwhile, the POI-POI matrix (Q) may be decomposed into Q = VV T using the POI latent matrix (V).

따라서, POI 후보 제공 단계(S400)에서, 최적화된 목표함수에 따라 산출된 POI에 대한 선호도에 기반하여 POI 후보를 각 사용자 단말로 제공할 수 있다. 한편, 목표 함수 최적화 단계(S300)는 일정 횟수 반복되거나 또는 기준 조건을 충족할 때까지 반복적으로 수행될 수 있다. 일 예시로, 목표 함수 최적화 단계(S300)에서, 상기 목표 함수에 대한 최적화는 아래의 수학식 1에 의해 반복적으로 수행될 수 있다. 즉, 수학식 1의 손실 함수(loss function)를 이용하여 user latent matrix(U)와 POI latent matrix(V)를 공동 최적화(jointly optimize)할 수 있다.Accordingly, in the POI candidate providing step S400 , the POI candidate may be provided to each user terminal based on the preference for the POI calculated according to the optimized target function. Meanwhile, the target function optimization step S300 may be repeated a predetermined number of times or may be repeatedly performed until a reference condition is satisfied. As an example, in the step of optimizing the target function ( S300 ), the optimization of the target function may be iteratively performed by Equation 1 below. That is, the user latent matrix (U) and the POI latent matrix (V) can be jointly optimized by using the loss function of Equation (1).

[수학식 1][Equation 1]

Figure 112020002500159-pat00003
Figure 112020002500159-pat00003

여기서 사용자-POI 행렬(P)와 POI-POI 행렬(Q)의 특정 성분을 이용하여 다음과 같이 표 1을 이용하여 선호도가 산출될 수 있다.Here, preference may be calculated using Table 1 as follows using specific components of the user-POI matrix (P) and the POI-POI matrix (Q).

Figure 112020002500159-pat00004
Figure 112020002500159-pat00004

한편, 도 4는 본 발명에 따른 각각의 사용자의 천이 패턴과 방문 횟수를 이용하여 추천 서버와 사용자 단말이 도 3의 POI 추천 제공 방법을 수행하는 과정을 나타낸 것이다. 도 3 및 도 4를 참조하면, POI 행렬 생성 단계(S200)는 추천 서버(100)에 의해 수행되고, 목표 함수 최적화 단계(S300)는 사용자 단말(200)에 의해 수행될 수 있다. 또는, 목표 함수 최적화 단계(S300) 중 일부 과정은 추천 서버(100)에 의해 수행되고, 나머지 과정은 사용자 단말(200)에 의해 수행될 수 있다. 한편, 도 5는 본 발명에 따른 POI 행렬 생성 단계를 나타낸 것이다. 이와 관련하여, 도 6은 천이 패턴 perturbation 알고리즘을 나타낸다. 도 5 및 도 6을 참조하면, 1)사용자의 체크 인 히스토리를 이용하여 2) 샘플링된 천이 패턴의 비트 표현이 생성될 수 있다. 또한, 3)perturbed된 비트 스트링을 이용하여, 4)POI-POI 행렬이 생성될 수 있다.Meanwhile, FIG. 4 shows a process in which a recommendation server and a user terminal perform the POI recommendation providing method of FIG. 3 using each user's transition pattern and visit number according to the present invention. 3 and 4 , the POI matrix generation step S200 may be performed by the recommendation server 100 , and the objective function optimization step S300 may be performed by the user terminal 200 . Alternatively, some processes of the target function optimization step S300 may be performed by the recommendation server 100 , and the remaining processes may be performed by the user terminal 200 . Meanwhile, FIG. 5 shows a step of generating a POI matrix according to the present invention. In this regard, Fig. 6 shows a transition pattern perturbation algorithm. 5 and 6 , 1) a bit representation of a sampled transition pattern may be generated using 1) a check-in history of a user. In addition, 3) using the perturbed bit string, 4) a POI-POI matrix may be generated.

이와 관련하여, POI-POI 행렬의 각각의 엘리먼트는 전역 선호도 천이(global preference transition)을 반영한다. 생성 과정(build process)는 다음과 같이 수행될 수 있다.In this regard, each element of the POI-POI matrix reflects a global preference transition. The build process may be performed as follows.

1) 각 사용자 단말은 체크 인 히스토리로부터 천이 패턴을 샘플링한다.1) Each user terminal samples a transition pattern from the check-in history.

2) 각 사용자 단말은 n2 비트-스트링을 초기화한다. 이와 관련하여, 각 비트는 대응하는 천이 패턴을 나타내고, 단지 1비트가 1로 설정될 수 있다.2) Each user terminal initializes n 2 bit-strings. In this regard, each bit represents a corresponding transition pattern, and only 1 bit can be set to 1.

3) 각 비트는 최적화된 랜덤 응답을 통해 perturb될 수 있다. 3) Each bit can be perturbated through an optimized random response.

전술한 바와 같이, POI 천이 패턴과 연관된 POI 정보는 사용자 별로 방문한 장소가 연관된 체크인 히스토리에 기반한 샘플링된 천이 패턴(sampled transition pattern)이 비트 스트링으로 표현된 비트 표현(bit representation)이일 수 있다. 또한, POI 천이 패턴과 연관된 POI 정보는 비트 스트링에 대해 perturbation이 적용된 것일 수 있다. 이와 관련하여, POI 행렬 생성 단계(S200)에서, POI 정보를 current POI 별로 집성(aggregate)하여 상기 POI-POI 행렬(Q)이 생성될 수 있다. As described above, the POI information associated with the POI transition pattern may be a bit representation in which a sampled transition pattern based on a check-in history associated with a place visited by each user is expressed as a bit string. Also, the POI information associated with the POI transition pattern may be perturbation applied to the bit string. In this regard, in the POI matrix generation step S200 , the POI-POI matrix Q may be generated by aggregating POI information for each current POI.

일 실시 예에 따르면, noisy POI-POI 행렬(Q)를 획득한 이후, 다음 단계는 두 개의 행렬을 결합하여 수학식 2와 같이 분해하는 것이다. 이와 관련하여, 수학식 2의 분해 과정은 수학식 1의 공동 최적화 과정에 해당한다.According to an embodiment, after obtaining the noisy POI-POI matrix (Q), the next step is to combine the two matrices and decompose them as in Equation (2). In this regard, the decomposition process of Equation 2 corresponds to the joint optimization process of Equation 1.

[수학식 2][Equation 2]

Figure 112020002500159-pat00005
Figure 112020002500159-pat00005

한편, 목표 함수 최적화 단계(S300)에서, 수학식 3을 이용하여 user latent matrix(U)와 연관된 사용자 프로파일 벡터(P)에 대한 최적화를 수행할 수 있다.Meanwhile, in the target function optimization step ( S300 ), the user profile vector (P) associated with the user latent matrix (U) may be optimized using Equation (3).

[수학식 3][Equation 3]

Figure 112020002500159-pat00006
Figure 112020002500159-pat00006

즉, 사용자 프로파일 벡터(P)를 최적화하기 위해 제1 최적화 방법, 예컨대 ALS (Alternative Least Square) 방법이 적용될 수 있다. That is, in order to optimize the user profile vector P, the first optimization method, for example, an Alternative Least Square (ALS) method may be applied.

반면에, 목표 함수 최적화 단계(S300)에서, 제1 최적화 방법과 다른 제2 최적화 방법, 예컨대 SGD(Stochastic Gradient Descent) 방법을 이용하여 POI 프로파일 벡터를 최적화할 수 있다. 이와 관련하여, gradient perturbation을 이용하여 POI latent matrix(V)가 업데이트될 수 있다. 수학식 4는 목표 함수에 대한 gradient perturbation을 통해 사용자 프로파일 벡터 및 POI 프로파일 벡터를 표현한 것이다. On the other hand, in the objective function optimization step S300 , the POI profile vector may be optimized using a second optimization method different from the first optimization method, for example, a stochastic gradient descent (SGD) method. In this regard, the POI latent matrix (V) may be updated using gradient perturbation. Equation 4 expresses the user profile vector and the POI profile vector through gradient perturbation for the target function.

[수학식 4][Equation 4]

Figure 112020002500159-pat00007
Figure 112020002500159-pat00007

이와 관련하여, 도 7은 본 발명에 따른 사용자와 서버 간에 프로파일 벡터를 이용한 gradient perturbation 과정을 나타낸 것이다. 도 8은 piecewise 메커니즘을 이용한 gradient perturbation 알고리즘을 나타낸다. 한편, 표 2는 본 발명에 따른 프로파일 벡터를 이용한 gradient perturbation 과정을 나타낸 것이다.In this regard, FIG. 7 shows a gradient perturbation process using a profile vector between a user and a server according to the present invention. 8 shows a gradient perturbation algorithm using a piecewise mechanism. Meanwhile, Table 2 shows the gradient perturbation process using the profile vector according to the present invention.

Figure 112020002500159-pat00008
Figure 112020002500159-pat00008

표 2 , 도 7 및 도 8을 참조하면, 추천 서버(100)는 POI latent matrix(V)를 사용자 단말(200)로 제공할 수 있다. 이에 따라, 사용자 단말(200)은 POI latent matrix(V)를 이용하여 user latent matrix(U)를 업데이트할 수 있다. 또한, 사용자 단말(200)은 각각의 POIj에 대해 perturbed gradient의 i번째 엘리먼트를 추천 서버(100)로 제공할 수 있다. 이에 따라, 추천 서버(100)는 POI latent matrix(V)를 업데이트할 수 있다. Referring to Table 2, FIGS. 7 and 8 , the recommendation server 100 may provide the POI latent matrix (V) to the user terminal 200 . Accordingly, the user terminal 200 may update the user latent matrix (U) by using the POI latent matrix (V). Also, the user terminal 200 may provide the i-th element of the perturbed gradient for each POIj to the recommendation server 100 . Accordingly, the recommendation server 100 may update the POI latent matrix (V).

한편, POI 후보 제공 단계(S400)에서, 사용자(ui)가 POI(vj)에 있는 경우 다음 POI(vk)에 대한 선호도는 수학식 5와 같이 산출될 수 있다. 여기서, vj는 현재 POI의 프로파일 벡터를 나타낸다.Meanwhile, in the POI candidate providing step S400 , when the user ui is in the POI(vj), the preference for the next POI(vk) may be calculated as in Equation 5. Here, vj represents the profile vector of the current POI.

[수학식 5][Equation 5]

Figure 112020002500159-pat00009
Figure 112020002500159-pat00009

다음 POI(vk)를 추천하기 위해, 본 발명에서 사용자는 자신의 현재 위치를 추천 서버로 제공할 필요가 없다는 장점이 있다. 즉, 각 사용자 (단말)은 국부적으로(locally) 다음 POI(vk)에 대한 선호도를 산출할 수 있다는 장점이 있다.In order to recommend the next POI (vk), there is an advantage that the user does not need to provide his/her current location as a recommendation server in the present invention. That is, there is an advantage that each user (terminal) can locally calculate a preference for the next POI (vk).

한편, 전술한 목표 함수 최적화 단계(S300)와 관련하여, 다음과 같이 1) 사용자 그룹을 이용한 학습, 2) 암시적 피드백의 정규화, 3)학습 과정 가속화를 통해 성능 향상이 가능하다.Meanwhile, in relation to the above-described objective function optimization step S300, performance can be improved by 1) learning using user groups, 2) normalizing implicit feedback, and 3) accelerating the learning process as follows.

1) 사용자 그룹을 이용한 학습(learning with user group)1) Learning with user group

- 학습 과정에서, 업데이트는 k번의 반복(iteration)을 필요로 한다.- In the learning process, the update requires k iterations.

- composition theorem에 따라, 각 사용자는 각각의 반복에서 privacy budget을 이용하여 gradient를 perturb할 수 있다.- Depending on the composition theorem, each user can perturb the gradient using the privacy budget at each iteration.

- 이와 관련하여, 전체 사용자를 k개의 그룹으로 분할하고, 각 사용자는 전체 privacy budget을 이용하여 단 한번만 perturbed gradient를 제출할 수 있다.- In this regard, we divide all users into k groups, and each user can submit a perturbed gradient only once using the entire privacy budget.

2) 암시적 피드백 정규화(normalizing implicit feedback)2) normalizing implicit feedback

- 천이 패턴의 추청 빈도(estimated frequency)는 사용자의 수에 따라 수학식 6과 같이 표현된다. - The estimated frequency of the transition pattern is expressed as Equation 6 according to the number of users.

[수학식 6][Equation 6]

Figure 112020002500159-pat00010
Figure 112020002500159-pat00010

- 본 발명에서는 천이 패턴을 정확히 반영하기 위해 추청 빈도를 정규화할 수 있다.- In the present invention, the tracking frequency can be normalized to accurately reflect the transition pattern.

- 추청 빈도를 정규화하기 위해 sigmoid 함수를 이용할 수 있다.- You can use the sigmoid function to normalize the estimation frequency.

3)학습 과정 가속화(accelerating learning process)3) Accelerating learning process

- 사용자 프로파일 벡터는 ALS에 의해 업데이트되고, POI 프로파일 벡터는 SGD에 의해 업데이트될 수 있다.- The user profile vector may be updated by ALS, and the POI profile vector may be updated by SGD.

- SGD는 ALS에 비해 최적(optimum)에 도달하기 위해 더 많은 반복 횟수를 필요로 할 수 있다.- SGD may require more iterations to reach the optimum compared to ALS.

- 한편, POI 프로파일 벡터를 업데이트하기 위해 Adam optimizer를 이용할 수 있다. 이와 관련하여 Adam optimizer는 gradient descent method의 변형에 해당한다.- Meanwhile, the Adam optimizer can be used to update the POI profile vector. In this regard, the Adam optimizer corresponds to a variant of the gradient descent method.

- Adam optimizer는 수학식 7과 같이 previous gradient m과 squared gradient v의 지수 감쇠 평균(exponentially decaying averages)를 유지할 수 있다.- Adam optimizer can maintain exponentially decaying averages of previous gradient m and squared gradient v as shown in Equation 7.

[수학식 7][Equation 7]

Figure 112020002500159-pat00011
Figure 112020002500159-pat00011

Figure 112020002500159-pat00012
Figure 112020002500159-pat00012

Figure 112020002500159-pat00013
Figure 112020002500159-pat00013

이상에서는 본 발명에 따른 POI 추천 제공 방법에 대해 설명하였다. 이하에서는 본 발명에 따른 POI 추천 제공 방법을 수행하는 추천 제공 시스템에 대해 설명하기로 한다. 한편, 전술한 POI 추천 제공 방법에 대한 설명이 이하의 추천 제공 시스템에 적용될 수 있다.In the above, a method for providing a POI recommendation according to the present invention has been described. Hereinafter, a recommendation providing system for performing the POI recommendation providing method according to the present invention will be described. Meanwhile, the description of the POI recommendation providing method described above may be applied to the following recommendation providing system.

이와 관련하여, 도 5 및 도 7을 참조하면, POI (Point of Interest) 추천 방법을 수행하는 추천 제공 시스템은 추천 서버(100)와 복수의 사용자 단말(200)을 포함할 수 있다. In this regard, referring to FIGS. 5 and 7 , a recommendation providing system for performing a POI (Point of Interest) recommendation method may include a recommendation server 100 and a plurality of user terminals 200 .

추천 서버(100)는 사용자 별로 POI 천이 패턴과 연관된 POI 정보를 수신하고, 상기 POI 정보에 기반하여 사용자의 천이 선호도(transition preference)를 나타내는 POI-POI 행렬(Q)을 생성하도록 구성될 수 있다. 한편, 사용자 단말(200)은 사용자-POI 행렬(P)과 연관된 정보를 추천 서버(100)로 전달하도록 구성될 수 있다. The recommendation server 100 may be configured to receive POI information associated with a POI transition pattern for each user, and generate a POI-POI matrix Q indicating a user's transition preference based on the POI information. Meanwhile, the user terminal 200 may be configured to transmit information related to the user-POI matrix P to the recommendation server 100 .

한편, 추천 서버(100)는 POI-POI 행렬(Q) 및 사용자-POI 행렬(P)과 연관된 정보를 이용하여 POI에 대한 선호도와 연관된 목표 함수를 최적화하도록 더 구성될 수 있다. 따라서, 추천 서버(100)는 최적화된 목표함수에 따라 산출된 POI에 대한 선호도에 기반하여 POI 후보를 상기 사용자 단말로 제공하도록 더 구성될 수 있다. Meanwhile, the recommendation server 100 may be further configured to optimize the target function associated with the preference for the POI by using the information associated with the POI-POI matrix Q and the user-POI matrix P. Accordingly, the recommendation server 100 may be further configured to provide a POI candidate to the user terminal based on the preference for the POI calculated according to the optimized target function.

이와 관련하여, POI-POI 행렬(Q) 및 사용자-POI 행렬(P)과 연관된 정보를 이용하여 POI에 대한 선호도와 연관된 목표 함수를 최적화하는 것은 추천 서버(100)와 사용자 단말(200)에 의해 수행될 수도 있다. In this regard, optimizing the objective function associated with the preference for the POI using the information associated with the POI-POI matrix (Q) and the user-POI matrix (P) is performed by the recommendation server 100 and the user terminal 200 by the recommendation server 100 and the user terminal 200 . may be performed.

한편, 사용자-POI 행렬(P)은 user latent matrix(U)와 POI latent matrix(V)를 이용하여 P = UVT로 분해(decompose)될 수 있다. 또한, POI-POI 행렬(Q)은 POI latent matrix(V)를 이용하여 Q = VVT로 분해될 수 있다. 이 경우, 추천 서버(100)는 수학식 1에 의해 목표 함수에 대한 최적화를 반복적으로 수행할 수 있다.Meanwhile, the user-POI matrix (P) may be decomposed into P = UV T using the user latent matrix (U) and the POI latent matrix (V). In addition, the POI-POI matrix (Q) may be decomposed into Q = VV T using the POI latent matrix (V). In this case, the recommendation server 100 may repeatedly perform optimization on the target function by Equation (1).

한편, 사용자 단말(200)은 수학식 3을 이용하여 user latent matrix(U)와 연관된 사용자 프로파일 벡터(P)에 대한 최적화를 수행할 수 있다. 반면에, 추천 서버(100)는 SGD(Stochastic Gradient Descent) 방법을 이용하여 POI 프로파일 벡터를 최적화할 수 있다. 또한, 추천 서버(100)는 사용자(ui)가 POI(vj)에 있는 경우 다음 POI(vk)에 대한 선호도를 수학식 5로 산출할 수 있다.On the other hand, the user terminal 200 may perform optimization of the user profile vector (P) associated with the user latent matrix (U) using Equation (3). On the other hand, the recommendation server 100 may optimize the POI profile vector using a stochastic gradient descent (SGD) method. Also, when the user ui is in the POI(vj), the recommendation server 100 may calculate the preference for the next POI(vk) by Equation 5.

이상에서는 본 발명에 따른 POI 추천 제공 방법 및 이를 제공하는 추천 시스템에 대해 살펴보았다. 본 발명에 따른 기술적 효과에 대해 살펴보면 다음과 같다.In the above, a method for providing a POI recommendation according to the present invention and a recommendation system for providing the same have been described. Looking at the technical effects of the present invention are as follows.

본 발명에 따르면, 사용자 별로 POI 천이 패턴과 연관된 POI 정보만을 이용하여 각 아이템에 대한 등급이나 평점을 수집하지 않고 아이템을 추천할 수 있는 추천 방법 및 추천 제공 시스템을 제공할 수 있다.According to the present invention, it is possible to provide a recommendation method and a recommendation providing system capable of recommending an item by using only POI information associated with a POI transition pattern for each user without collecting a rating or rating for each item.

또한, 본 발명에 따르면, POI-POI 행렬(Q) 및 사용자-POI 행렬(P)과 연관된 정보를 이용하여 POI에 대한 선호도와 연관된 목표 함수를 최적화하여 정확하면서도 신속하게 POI를 제공할 수 있는 추천 방법 및 이를 수행하는 추천 제공 시스템을 제공할 수 있다.In addition, according to the present invention, by using information associated with the POI-POI matrix (Q) and the user-POI matrix (P), the objective function associated with the preference for the POI is optimized to provide a recommendation that can provide POI accurately and quickly A method and a system for providing a recommendation for performing the same may be provided.

상술한 본 발명의 특징 및 효과는 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. The features and effects of the present invention described above will become more apparent through the following detailed description in relation to the accompanying drawings, and accordingly, those of ordinary skill in the art to which the present invention pertains can easily implement the technical idea of the present invention. will be able

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 구체적으로 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Since the present invention can have various changes and can have various embodiments, specific embodiments are illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to a specific embodiment, it should be understood to include all modifications, equivalents and substitutes included in the spirit and scope of the present invention.

소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능뿐만 아니라 각각의 구성 요소들에 대한 설계 및 파라미터 최적화는 별도의 소프트웨어 모듈로도 구현될 수 있다. 적절한 프로그램 언어로 쓰여진 소프트웨어 어플리케이션으로 소프트웨어 코드가 구현될 수 있다. 상기 소프트웨어 코드는 메모리에 저장되고, 제어부(controller) 또는 프로세서(processor)에 의해 실행될 수 있다.According to the software implementation, not only the procedures and functions described in this specification but also the design and parameter optimization for each component may be implemented as a separate software module. The software code may be implemented as a software application written in a suitable programming language. The software code may be stored in a memory and executed by a controller or a processor.

Claims (10)

삭제delete POI(Point of Interest) 추천 방법에 있어서, 상기 방법은 추천 서버(recommendation server)에 의해 수행되고, 상기 방법은,
사용자 별로 POI 천이 패턴과 연관된 POI 정보를 수신하는 POI 정보 수신 단계;
상기 POI 정보에 기반하여 사용자의 천이 선호도(transition preference)를 나타내는 POI-POI 행렬(Q)을 생성하는 POI 행렬 생성 단계;
상기 POI-POI 행렬(Q) 및 사용자-POI 행렬(P)과 연관된 정보를 이용하여 POI에 대한 선호도와 연관된 목표 함수를 최적화하는 목표 함수 최적화 단계; 및
상기 최적화된 목표함수에 따라 산출된 상기 POI에 대한 선호도에 기반하여 POI 후보를 각 사용자 단말로 제공하는 POI 후보 제공 단계를 포함하고,
상기 사용자-POI 행렬(P)은 user latent matrix(U)와 POI latent matrix(V)를 이용하여 P = UVT로 분해(decompose)되고,
상기 POI-POI 행렬(Q)은 POI latent matrix(V)를 이용하여 Q = VVT로 분해되는, POI 추천 방법.
In the POI (Point of Interest) recommendation method, the method is performed by a recommendation server, the method comprising:
a POI information receiving step of receiving POI information associated with a POI transition pattern for each user;
a POI matrix generation step of generating a POI-POI matrix (Q) indicating a user's transition preference based on the POI information;
a target function optimization step of optimizing a target function related to a preference for a POI using information related to the POI-POI matrix (Q) and the user-POI matrix (P); and
a POI candidate providing step of providing a POI candidate to each user terminal based on the preference for the POI calculated according to the optimized objective function;
The user-POI matrix (P) is decomposed into P = UV T using a user latent matrix (U) and a POI latent matrix (V),
The POI-POI matrix (Q) is decomposed into Q = VV T using the POI latent matrix (V), POI recommendation method.
제2 항에 있어서,
상기 목표 함수 최적화 단계에서, 상기 목표 함수에 대한 최적화는
Figure 112020002500159-pat00014
에 의해 반복적으로 수행되는, POI 추천 방법.
3. The method of claim 2,
In the objective function optimization step, the optimization of the objective function is
Figure 112020002500159-pat00014
POI recommendation method, which is iteratively performed by
POI(Point of Interest) 추천 방법에 있어서, 상기 방법은 추천 서버(recommendation server)에 의해 수행되고, 상기 방법은,
사용자 별로 POI 천이 패턴과 연관된 POI 정보를 수신하는 POI 정보 수신 단계;
상기 POI 정보에 기반하여 사용자의 천이 선호도(transition preference)를 나타내는 POI-POI 행렬(Q)을 생성하는 POI 행렬 생성 단계;
상기 POI-POI 행렬(Q) 및 사용자-POI 행렬(P)과 연관된 정보를 이용하여 POI에 대한 선호도와 연관된 목표 함수를 최적화하는 목표 함수 최적화 단계; 및
상기 최적화된 목표함수에 따라 산출된 상기 POI에 대한 선호도에 기반하여 POI 후보를 각 사용자 단말로 제공하는 POI 후보 제공 단계를 포함하고,
상기 POI 천이 패턴과 연관된 POI 정보는,
상기 사용자 별로 방문한 장소가 연관된 체크인 히스토리에 기반하여 샘플링된 천이 패턴(sampled transition pattern)이 비트 스트링으로 표현된 비트 표현(bit representation)이고, 상기 비트 스트링에 대해 perturbation이 적용된 것을 특징으로 하고,
상기 POI 행렬 생성 단계에서, 상기 POI 정보를 current POI 별로 집성(aggregate)하여 상기 POI-POI 행렬(Q)이 생성되는, POI 추천 방법.
In the POI (Point of Interest) recommendation method, the method is performed by a recommendation server, the method comprising:
a POI information receiving step of receiving POI information associated with a POI transition pattern for each user;
a POI matrix generation step of generating a POI-POI matrix (Q) indicating a user's transition preference based on the POI information;
a target function optimization step of optimizing a target function related to a preference for a POI using information related to the POI-POI matrix (Q) and the user-POI matrix (P); and
a POI candidate providing step of providing a POI candidate to each user terminal based on the preference for the POI calculated according to the optimized objective function;
The POI information associated with the POI transition pattern includes:
A sampled transition pattern sampled based on a check-in history associated with a place visited by each user is a bit representation expressed as a bit string, characterized in that perturbation is applied to the bit string,
In the generating of the POI matrix, the POI-POI matrix (Q) is generated by aggregating the POI information for each current POI.
제2 항에 있어서,
상기 목표 함수 최적화 단계에서,
Figure 112020002500159-pat00015
를 이용하여 상기 user latent matrix(U)와 연관된 사용자 프로파일 벡터(P)에 대한 최적화를 수행하는 것을 특징으로 하는, POI 추천 방법.
3. The method of claim 2,
In the objective function optimization step,
Figure 112020002500159-pat00015
POI recommendation method, characterized in that the optimization of the user profile vector (P) associated with the user latent matrix (U) using
제2 항에 있어서,
상기 목표 함수 최적화 단계에서, SGD(Stochastic Gradient Descent) 방법을 이용하여 POI 프로파일 벡터를 최적화하는 것을 특징으로 하는, POI 추천 방법.
3. The method of claim 2,
The POI recommendation method, characterized in that in the objective function optimization step, a POI profile vector is optimized using a stochastic gradient descent (SGD) method.
제2 항에 있어서,
상기 POI 후보 제공 단계에서, 사용자(ui)가 POI(vj)에 있는 경우 다음 POI(vk)에 대한 선호도는
Figure 112020002500159-pat00016
로 산출되는 것을 특징으로 하는, POI 추천 방법.
3. The method of claim 2,
In the POI candidate providing step, if the user (ui) is in the POI (vj), the preference for the next POI (vk) is
Figure 112020002500159-pat00016
POI recommendation method, characterized in that calculated as.
POI (Point of Interest) 추천 방법을 수행하는 추천 제공 시스템에 있어서,
사용자 별로 POI 천이 패턴과 연관된 POI 정보를 수신하고, 상기 POI 정보에 기반하여 사용자의 천이 선호도(transition preference)를 나타내는 POI-POI 행렬(Q)을 생성하도록 구성되는 추천 서버; 및
사용자-POI 행렬(P)과 연관된 정보를 상기 추천 서버로 전달하도록 구성된 사용자 단말을 포함하고,
상기 추천 서버는,
상기 POI-POI 행렬(Q) 및 상기 사용자-POI 행렬(P)과 연관된 정보를 이용하여 POI에 대한 선호도와 연관된 목표 함수를 최적화하고,
상기 최적화된 목표함수에 따라 산출된 상기 POI에 대한 선호도에 기반하여 POI 후보를 상기 사용자 단말로 제공하도록 더 구성되고,
상기 사용자-POI 행렬(P)은 user latent matrix(U)와 POI latent matrix(V)를 이용하여 P = UVT로 분해(decompose)되고,
상기 POI-POI 행렬(Q)은 POI latent matrix(V)를 이용하여 Q = VVT로 분해되는, 추천 제공 시스템.
In the recommendation providing system for performing the POI (Point of Interest) recommendation method,
a recommendation server configured to receive POI information associated with a POI transition pattern for each user, and generate a POI-POI matrix (Q) indicating a user's transition preference based on the POI information; and
a user terminal configured to transmit information associated with a user-POI matrix (P) to the recommendation server;
The recommendation server is
optimizing a target function associated with a preference for a POI by using the information associated with the POI-POI matrix (Q) and the user-POI matrix (P);
and to provide a POI candidate to the user terminal based on the preference for the POI calculated according to the optimized target function,
The user-POI matrix (P) is decomposed into P = UV T using a user latent matrix (U) and a POI latent matrix (V),
The POI-POI matrix (Q) is decomposed into Q = VV T using the POI latent matrix (V), a recommendation providing system.
제8 항에 있어서,
상기 추천 서버는,
Figure 112021082974423-pat00017
에 의해 상기 목표 함수에 대한 최적화를 반복적으로 수행하는, 추천 제공 시스템.
9. The method of claim 8,
The recommendation server is
Figure 112021082974423-pat00017
Iteratively performs the optimization on the objective function by a recommendation providing system.
제9 항에 있어서,
상기 사용자 단말은,
Figure 112020002500159-pat00018
를 이용하여 상기 user latent matrix(U)와 연관된 사용자 프로파일 벡터(P)에 대한 최적화를 수행하고,
상기 추천 서버는,
SGD(Stochastic Gradient Descent) 방법을 이용하여 POI 프로파일 벡터를 최적화하고,
사용자(ui)가 POI(vj)에 있는 경우 다음 POI(vk)에 대한 선호도를
Figure 112020002500159-pat00019
로 산출하는, 추천 제공 시스템.
10. The method of claim 9,
The user terminal is
Figure 112020002500159-pat00018
Optimizing the user profile vector (P) associated with the user latent matrix (U) using
The recommendation server is
Optimizing the POI profile vector using the stochastic gradient descent (SGD) method,
If the user (ui) is in POI (vj), the preference for the next POI (vk)
Figure 112020002500159-pat00019
, which is a recommendation providing system.
KR1020200003087A 2020-01-09 2020-01-09 Method of recommending poi and recommendation system performing therof KR102327029B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200003087A KR102327029B1 (en) 2020-01-09 2020-01-09 Method of recommending poi and recommendation system performing therof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200003087A KR102327029B1 (en) 2020-01-09 2020-01-09 Method of recommending poi and recommendation system performing therof

Publications (2)

Publication Number Publication Date
KR20210089919A KR20210089919A (en) 2021-07-19
KR102327029B1 true KR102327029B1 (en) 2021-11-16

Family

ID=77125946

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200003087A KR102327029B1 (en) 2020-01-09 2020-01-09 Method of recommending poi and recommendation system performing therof

Country Status (1)

Country Link
KR (1) KR102327029B1 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101953802B1 (en) * 2017-07-03 2019-03-07 한양대학교 산학협력단 Method and apparatus for recommending item using implicit and explicit signed trust relationships
KR102076407B1 (en) * 2018-04-26 2020-02-11 충북대학교 산학협력단 Method and system for recommending point of interest

Also Published As

Publication number Publication date
KR20210089919A (en) 2021-07-19

Similar Documents

Publication Publication Date Title
Yin et al. Near-optimal provable uniform convergence in offline policy evaluation for reinforcement learning
Wang et al. Recent advances in Bayesian optimization
Kallus et al. Stochastic optimization forests
Amine Bouhlel et al. Efficient global optimization for high-dimensional constrained problems by using the Kriging models combined with the partial least squares method
Zanette et al. Cautiously optimistic policy optimization and exploration with linear function approximation
Shahvari et al. Hybrid flow shop batching and scheduling with a bi-criteria objective
WO2020025633A1 (en) Incentive control for multi-agent systems
Shimoyama et al. Kriging-surrogate-based optimization considering expected hypervolume improvement in non-constrained many-objective test problems
EP3916652A1 (en) A method and neural network trained by reinforcement learning to determine a constraint optimal route using a masking function
CN110689110B (en) Method and device for processing interaction event
US20180129968A1 (en) Update of attenuation coefficient for a model corresponding to time-series input data
Guinet et al. Pareto-efficient acquisition functions for cost-aware Bayesian optimization
Hong et al. Surrogate-based simulation optimization
Zhou et al. Estimating uncertainty intervals from collaborating networks
US20210342691A1 (en) System and method for neural time series preprocessing
KR102327029B1 (en) Method of recommending poi and recommendation system performing therof
Kim et al. A trust-region algorithm for bi-objective stochastic optimization
Liu et al. A surrogate model assisted evolutionary algorithm for computationally expensive design optimization problems with discrete variables
Soeffker et al. Adaptive state space partitioning for dynamic decision processes
Chung et al. Federated multi-output Gaussian processes
Ben-Gal et al. Sequential DOE via dynamic programming
Thompson et al. Stochastic iterative dynamic programming: a Monte Carlo approach to dual control
Kang Outgoing call recommendation using neural network
Maddulapalli et al. Sensitivity analysis for product design selection with an implicit value function
Guo et al. DRL router: Distributional reinforcement learning-based router for reliable shortest path problems

Legal Events

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