KR20220109249A - Place recommendation method and system - Google Patents

Place recommendation method and system Download PDF

Info

Publication number
KR20220109249A
KR20220109249A KR1020210012673A KR20210012673A KR20220109249A KR 20220109249 A KR20220109249 A KR 20220109249A KR 1020210012673 A KR1020210012673 A KR 1020210012673A KR 20210012673 A KR20210012673 A KR 20210012673A KR 20220109249 A KR20220109249 A KR 20220109249A
Authority
KR
South Korea
Prior art keywords
place
user
interest
recommendation
information
Prior art date
Application number
KR1020210012673A
Other languages
Korean (ko)
Other versions
KR102655723B1 (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 KR1020210012673A priority Critical patent/KR102655723B1/en
Priority to JP2021185654A priority patent/JP7325492B2/en
Publication of KR20220109249A publication Critical patent/KR20220109249A/en
Application granted granted Critical
Publication of KR102655723B1 publication Critical patent/KR102655723B1/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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3347Query execution using vector based model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/38Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/387Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. 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/0281Customer communication at a business location, e.g. providing product or service information, consulting

Landscapes

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

Abstract

The present invention relates to a method and system for recommending a place. The method for recommending the place according to the present invention may comprise: a step of collecting the history information of a specific user related to at least one place of interest; a step of specifying a user group to which the specific user belongs among a plurality of user groups classified according to the degree of interest for the place, based on the history information; and a step of extracting a recommended target place, based on a method for recommending a place matched to the specified user group among a plurality of place recommendation methods.

Description

장소 추천 방법 및 시스템{PLACE RECOMMENDATION METHOD AND SYSTEM}Location recommendation method and system {PLACE RECOMMENDATION METHOD AND SYSTEM}

본 발명은 장소를 추천하는 방법 및 시스템에 관한 것이다.The present invention relates to a method and system for recommending a place.

기술이 발전함에 따라, 전자기기(예를 들어, 스마트폰, 태블릿 PC 등)의 보급이 대중화되었으며, 이에 따라 일상생활의 많은 부분에서 인터넷에 대한 의존도가 점차적으로 높아지고 있다. With the development of technology, the dissemination of electronic devices (eg, smart phones, tablet PCs, etc.) has become popular, and accordingly, dependence on the Internet is gradually increasing in many parts of daily life.

이와 같이, 인터넷을 비롯한 다양한 기술의 발전에 힘입어, 종래 오프라인에 대한 의존도가 높았던 소비패턴은, 점차적으로 온라인(on-line)으로 옮겨갔으며, 현재에는, 온라인을 중심으로 한 소비가 기하급수적으로 늘어가고 있다. As such, with the development of various technologies including the Internet, the consumption pattern, which had been highly dependent on offline, has gradually moved to on-line, and now, consumption centered on online is exponential. is increasing

나아가, 여행 산업, 음식 산업과 같이, 서비스의 특성상 오프라인(off-line)에 기반을 둔 산업 분야 역시, 온라인을 통한 다양한 마케팅을 통하여 고객을 유치하는 것이 보편화되고 있다. Furthermore, in industrial fields based on off-line due to the characteristics of services, such as the travel industry and the food industry, attracting customers through various online marketing is becoming common.

나아가, 고객들 역시, 오프라인에 기반을 둔 장소에 방문을 하기 전에, 온라인을 통하여 장소에 대한 정보를 검색하는 행위가 보편화되었다.Furthermore, before visiting an offline-based place, customers also search for information about a place through online has become common.

이와 같이, 온라인에 대한 정보 검색의 의존도가 높아짐에 따라, 사용자에 의해 검색된 장소에 대한 정보를 제공하는 것에서 나아가, 사용자에게 적절한 장소(예를 들어, 맛집 관련 장소)를 추천하는 방법에 대한 연구가 활발하게 진행되고 있다.As such, as the dependence of online information search increases, research on a method of recommending an appropriate place (eg, a restaurant-related place) to a user goes beyond providing information on a place searched by a user. is being actively pursued.

이러한 기술로서, 대한민국 공개특허 제10-2020-0070072호는 장소 추천 시스템 및 방법에 대한 기술을 개시하고 있으며, 특히, 사용자의 선호도를 고려한 장소 추천 방법을 제안하고 있다.As such a technique, Korean Patent Laid-Open No. 10-2020-0070072 discloses a technique for a place   recommendation system and   method, and in particular, proposes a place recommendation method in consideration of a user's preference.

그러나, 종래의 기술들은 사용자 마다의 특성을 고려함없이, 모든 사용자에 대해 획일적인 장소 추천 방법을 적용하고 있어, 일부 사용자에 대해서는 유용하지 않은 장소 정보가 추천되는 경우가 종종 발생한다.However, the conventional techniques apply a uniform place recommendation method to all users without considering the characteristics of each user, so that place information that is not useful for some users is often recommended.

본 발명은, 사용자의 특성을 고려한, 사용자 맞춤형 장소 추천 방법 및 시스템을 제공하기 위한 관한 것이다.The present invention relates to providing a user-customized place recommendation method and system in consideration of user characteristics.

보다 구체적으로 본 발명은, 장소에 대한 사용자의 관심도를 반영하여 장소를 추천할 수 있는 사용자 맞춤형 장소 추천 방법 및 시스템을 제공하기 위한 관한 것이다.More particularly, the present invention relates to providing a user-customized place recommendation method and system capable of recommending a place by reflecting the user's interest in the place.

나아가, 본 발명은 추천 장소에 대한 정보를 사용자에게 보다 직관적으로 제공할 수 있는 장소 추천 방법 및 시스템을 제공하기 위한 것이다.Furthermore, an object of the present invention is to provide a method and system for recommending a place that can more intuitively provide information on a recommended place to a user.

위에서 살펴본 과제를 해결하기 위하여, 본 발명에 따른 장소 추천 방법은, 적어도 하나의 관심 장소와 관련된 특정 사용자의 히스토리 정보를 수집하는 단계, 상기 히스토리 정보에 근거하여, 장소에 대한 관심도에 따라 분류되는 복수의 사용자 그룹 중 상기 특정 사용자가 속하는 사용자 그룹을 특정하는 단계 및 복수의 장소 추천 방법 중 상기 특정된 사용자 그룹에 매칭된 장소 추천 방법에 근거하여, 추천 대상 장소를 추출하는 단계를 포함할 수 있다.In order to solve the above problems, a place recommendation method according to the present invention includes collecting history information of a specific user related to at least one place of interest, and based on the history information, a plurality of places classified according to the degree of interest in the place. specifying a user group to which the specific user belongs from among the user groups of , and extracting a recommended place based on a place recommendation method matching the specified user group among a plurality of place recommendation methods.

나아가, 본 발명에 따른 장소 추천 방법은, 사용자의 단말기로부터 장소 추천 요청 이벤트를 수신하는 단계, 상기 사용자의 적어도 하나의 관심 장소와 관련된 히스토리 정보에 근거하여, 장소에 대한 관심도에 따라 분류되는 복수의 사용자 그룹 중 상기 사용자가 속하는 사용자 그룹을 특정하는 단계 및 복수의 장소 추천 방법 중 상기 특정된 사용자 그룹에 매칭된 장소 추천 방법에 근거하여, 추천 대상 장소를 추출하는 단계를 포함할 수 있다.Furthermore, the method for recommending a place according to the present invention includes the steps of: receiving a place recommendation request event from a user's terminal; The method may include specifying a user group to which the user belongs from among user groups and extracting a recommended place based on a place recommendation method matching the specified user group among a plurality of place recommendation methods.

나아가, 본 발명에 따른 장소 추천 시스템은, 적어도 하나의 관심 장소와 관련된 특정 사용자의 히스토리 정보를 저장하는 저장부 및 상기 히스토리 정보에 근거하여, 장소에 대한 관심도에 따라 분류되는 복수의 사용자 그룹 중 상기 특정 사용자가 속하는 사용자 그룹을 특정하는 제어부를 포함하고, 상기 제어부는, 복수의 장소 추천 방법 중 상기 특정된 사용자 그룹에 매칭된 장소 추천 방법에 근거하여, 추천 대상 장소를 추출할 수 있다.Furthermore, the place recommendation system according to the present invention provides a storage unit for storing history information of a specific user related to at least one place of interest, and based on the history information, among a plurality of user groups classified according to the degree of interest in the place, the and a control unit for specifying a user group to which a specific user belongs, wherein the control unit may extract a recommended place based on a place recommendation method matching the specified user group among a plurality of place recommendation methods.

나아가, 본 발명에 따른 전자기기에서 하나 이상의 프로세스에 의하여 실행되며, 컴퓨터로 판독될 수 있는 기록매체에 저장 가능한 프로그램은, 전자기기에서 하나 이상의 프로세스에 의하여 실행되며, 컴퓨터로 판독될 수 있는 기록매체에 저장 가능한 프로그램으로서, 상기 프로그램은, 적어도 하나의 관심 장소와 관련된 특정 사용자의 히스토리 정보를 수집하는 단계, 상기 히스토리 정보에 근거하여, 장소에 대한 관심도에 따라 분류되는 복수의 사용자 그룹 중 상기 특정 사용자가 속하는 사용자 그룹을 특정하는 단계 및 복수의 장소 추천 방법 중 상기 특정된 사용자 그룹에 매칭된 장소 추천 방법에 근거하여, 추천 대상 장소를 추출하는 단계를 수행하도록 하는 명령어들을 포함할 수 있다.Furthermore, the program that is executed by one or more processes in the electronic device according to the present invention and can be stored in a computer-readable recording medium is executed by one or more processes in the electronic device and is a computer-readable recording medium. A program storable in , wherein the program includes the steps of: collecting historical information of a specific user related to at least one place of interest; based on the history information, the specific user from among a plurality of user groups classified according to the degree of interest in the place It may include instructions for specifying a user group to which the user group belongs and extracting a recommended place based on a place recommendation method matching the specified user group among a plurality of place recommendation methods.

위에서 살펴본 것과 같이, 본 발명에 따른 장소 추천 방법 및 시스템은, 사용자의 히스토리 정보에 기반하여, 장소에 대한 사용자의 관심도를 판단할 수 있다, 그리고, 장소에 대한 사용자의 관심도에 근거하여, 사용자에게 적절한 장소 추천 방법을 통해 추천 장소에 대한 정보를 제공할 수 있다. 결과적으로, 본 발명에 따른 장소 추천 방법 및 시스템은, 모든 사용자에 대해 획일적인 추천 장소에 대한 정보를 제공하는 것이 아니라, 사용자 마다의 장소에 대한 관심도를 고려하여, 사용자 맞춤형의 추천 장소에 대한 정보를 제공할 수 있다. 나아가, 사용자는 평소 장소에 대해 가지고 있는 관심도 수준에 맞는 장소 정보를 제공받을 수 있다.As seen above, place recommendations according to the present invention The method and system may determine the user's interest in the place based on the user's history information, and based on the user's interest in the place, information on the recommended place through a place recommendation method suitable for the user can provide As a result, the method and system for recommending a place according to the present invention does not provide uniform information on recommended places to all users, but considers each user's level of interest in places, and provides user-customized information on recommended places. can provide Furthermore, the user may be provided with place information that matches the level of interest he or she usually has for the place.

나아가, 본 발명에 따른 장소 추천 방법 및 시스템은, 사용자에게 추천된 장소의 추천 근거에 대한 정보를, 사용자의 히스토리 정보에 기반하여 제공할 수 있다. 이를 통해, 사용자는 해당 장소를 이용함에 있어, 추천 근거를 참고할 수 있으며, 이를 통해 추천 장소를 이용하고자 하는 의사 판단에 도움을 받을 수 있다.Furthermore, the method and system for recommending a place according to the present invention may provide information on a recommendation basis of a recommended place to a user based on the user's history information. Through this, the user can refer to the recommendation basis when using the corresponding place, and through this, the user can receive help in determining a decision to use the recommended place.

도 1은 본 발명에 따른 장소 추천 시스템을 설명하기 위한 개념도이다.
도 2는 도 1에서 살펴본 장소 추천 시스템에서 장소 추천을 수행하는 방법을 설명하기 위한 블록도이다.
도 3은 데이터 구조를 설명하기 위한 블록도이다.
도 4는 본 발명에 따른 장소 추천 방법을 설명하기 위한 흐름도이다.
도 5는 본 발명에서 사용자의 히스토리 정보를 수집하는 방법을 설명하기 위한 개념도이다.
도 6 및 도 7은 복수의 사용자 그룹을 설명하기 개념도들이다.
도 8, 도 9, 도 10, 도 11, 도 12, 도 13, 도 14 및 도 15는 장소 추천 방법의 일 예를 설명하기 위한 개념도들이다.
도 16 및 도 17은 장소 추천 방법의 다른 예를 설명하기 위한 개념도들이다.
도 18은 장소 추천 정보를 설명하기 위한 개념도이다.
1 is a conceptual diagram for explaining a place recommendation system according to the present invention.
FIG. 2 is a block diagram illustrating a method of performing a place recommendation in the place recommendation system illustrated in FIG. 1 .
3 is a block diagram illustrating a data structure.
4 is a flowchart illustrating a method for recommending a place according to the present invention.
5 is a conceptual diagram for explaining a method of collecting user history information in the present invention.
6 and 7 are conceptual diagrams illustrating a plurality of user groups.
8, 9, 10, 11, 12, 13, 14, and 15 are conceptual diagrams for explaining an example of a place recommendation method.
16 and 17 are conceptual diagrams for explaining another example of a place recommendation method.
18 is a conceptual diagram for explaining place recommendation information.

이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소에는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. Hereinafter, the embodiments disclosed in the present specification will be described in detail with reference to the accompanying drawings, but the same or similar components will be given the same reference numerals regardless of reference numerals, and redundant descriptions thereof will be omitted. The suffixes "module" and "part" for 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. In addition, in describing the embodiments disclosed in the present specification, if it is determined that detailed descriptions of related known technologies may obscure the gist of the embodiments disclosed in this specification, the detailed description thereof will be omitted. In addition, the accompanying drawings are only for easy understanding of the embodiments disclosed in this specification, and the technical idea disclosed herein is not limited by the accompanying drawings, and all changes included in the spirit and scope of the present invention , should be understood to include equivalents or substitutes.

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

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.When a component is referred to as being “connected” or “connected” to another component, it may be directly connected or connected to the other component, but it is understood that other components may exist in between. it should be On the other hand, when it is said that a certain element is "directly connected" or "directly connected" to another element, it should be understood that the other element does not exist in the middle.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. The singular expression includes the plural expression unless the context clearly dictates otherwise.

본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In the present application, terms such as “comprises” or “have” are intended to designate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, but one or more other features It is to be understood that it does not preclude the possibility of the presence or addition of numbers, steps, operations, components, parts, or combinations thereof.

본 발명은, 사용자 단말기로부터 수집되는 사용자의 히스토리 정보에 기반하여, 해당 사용자 및 임의의 제3 사용자에게 유용한 정보를 생성하고, 이를 제공하기 위한 것으로서, 특히, 장소 정보를 중심으로 추천 장소 데이터를 생성 및 가공하는 방법에 대한 것이다. The present invention is to generate and provide useful information to a corresponding user and an arbitrary third user based on the user's history information collected from the user terminal, and in particular, generate recommended place data based on the place information and processing methods.

본 발명에서는 설명의 편의를 위하여, “장소”에 대한 추천을 중심으로 설명하나, 반드시 이에 한정되는 것은 아니다. 즉, 본 발명에서 추천 정보는 장소에 대한 것뿐만 아니라, 특정 아이템(예를 들어, 책, 의류, 스포츠, 여행지 등)에 대한 추천 등, 다양한 종류의 아이템에 대한 추천을 모두 포함할 수 있다.In the present invention, for convenience of description, the description is focused on a recommendation for a “place”, but the present invention is not limited thereto. That is, in the present invention, the recommendation information may include not only a place but also a recommendation for various types of items, such as a recommendation for a specific item (eg, a book, clothing, sports, travel destination, etc.).

한편, 본 발명에서 “장소”는 그 종류에 관계없이, 어떤 일이 이루어지거나 일어나는 곳으로서, 지리학적, 개념적 또는 물리적으로 구분되는 장소이기만 하면 된다. On the other hand, in the present invention, a "place" is a place where something is done or occurs regardless of the type, as long as it is a geographically, conceptually or physically distinct place.

예를 들어, 본 발명에서 “장소”는 영리적인 목적을 위한 장소를 의미할 수 있으며, 사업자 번호 등에 의하여 구분되는 특정 업체를 포함하는 개념으로 이해되질 수 있다. 보다 구체적으로, 장소는 음식점, 숙박 시설(예를 들어, 호텔, 펜션, 민박, 콘도, 리조트 등), 테마 파크, 놀이 시설, 뷰티 관리샵(예를 들어, 미용실, 네일샵 등), 부동산, 병원 등과 같은 특정 상업적인 목적의 업체일 수 있다. For example, in the present invention, "place" may mean a place for a commercial purpose, and may be understood as a concept including a specific company distinguished by a business number or the like. More specifically, a place may be a restaurant, accommodation facility (eg, hotel, pension, guest house, condominium, resort, etc.), theme park, amusement facility, beauty care shop (eg, beauty salon, nail salon, etc.), real estate, It may be a business for a specific commercial purpose, such as a hospital.

일 예로서, 추천의 대상이 “음식점”에 해당하는 장소인 경우, 도 1에 도시된 것과 같이, 본 발명에서는 추천의 대상이 되는 사용자에게 적합한 음식점을 추천할 수 있다(도면부호 200, 210 참조). 이러한 추천 서비스는 “맛집 추천” 서비스 또는 “오늘의 PICK” 서비스 등으로 다양한 서비스 명으로 명명될 수 있다.As an example, if the target of the recommendation is a place corresponding to a “restaurant”, as shown in FIG. 1 , in the present invention, a restaurant suitable for a user who is the target of the recommendation may be recommended (see reference numerals 200 and 210). ). Such a recommendation service may be named by various service names, such as a “restaurant recommendation” service or “today’s PICK” service.

한편, 본 발명에서 설명되는 “장소”는 비영리적인 목적을 위한 장소를 의미할 수 있다. 이 경우, 장소는, 공공 또는 공익의 목적, 또는 기타 다른 목적을 위하여 비영리적으로 운영되는 장소(예를 들어, 미술관, 특정 재단의 사옥 등)를 포함할 수 있다. On the other hand, "place" described in the present invention may mean a place for a non-commercial purpose. In this case, the place may include a place (eg, an art museum, an office building of a specific foundation, etc.) that is operated non-profit for the purpose of public or public interest, or for other purposes.

이와 같이, 본 발명에서 장소는, 다양한 개념을 의미하는 것으로서, 추천의 대상이 되는 장소이기만 하면 그 종류 및 위치에 한정을 두지 않는다.As described above, in the present invention, a place means various concepts, and as long as it is a recommended place, the type and location are not limited.

한편, 본 발명에서는 사용자에게 장소를 추천함에 있어, 추천의 대상이 되는 장소에 대한 정보(210, 예를 들어, “땡스오뜨”라는 음식점) 뿐만 아니라, 해당 장소가 추천된 근거에 대한 정보(220)를 사용자에게 추가적으로 제공함으로써, 사용자는 해당 장소가 자신에게 왜 추천되었는지를 직관적으로 파악하고, 자신의 성향이나, 자신의 선호도에 해당하는 장소인지를 파악할 수 있도록 할 수 있다. 이러한 근거에 대한 정보(220)는, 추천 대상 장소에 대한 추천 지수(221) 및 상기 추천 대상 장소의 추천 이유(근거, 222) 중 적어도 하나와 관련된 정보를 포함할 수 있다.Meanwhile, in the present invention, when recommending a place to a user, not only information on the recommended place (210, for example, a restaurant called “Thanks Haute”), but also information on the basis for recommending the corresponding place (220) ) is additionally provided to the user, so that the user can intuitively understand why the corresponding place is recommended to him and whether it is a place that corresponds to his or her disposition or his or her preference. The information 220 on the basis may include information related to at least one of the recommendation index 221 for the recommendation target place and the recommendation reason (evidence, 222) of the recommendation target place.

이하에서는, 위에서 살펴본 장소에 대한 개념과 함께, 본 발명에 대한 장소 추천 시스템 및 방법에 대하여 보다 구체적으로 살펴본다. 도 1은 본 발명에 따른 장소 추천 시스템을 설명하기 위한 개념도이고, 도 2는 도 1에서 살펴본 장소 추천 시스템에서 장소 추천을 수행하는 방법을 설명하기 위한 블록도이다. 나아가, 도 3은 데이터 구조를 설명하기 위한 블록도이다.Hereinafter, the place recommendation system and method according to the present invention will be described in more detail along with the concept of the place discussed above. 1 is a conceptual diagram illustrating a place recommendation system according to the present invention, and FIG. 2 is a block diagram illustrating a method of performing a place recommendation in the place recommendation system shown in FIG. 1 . Furthermore, FIG. 3 is a block diagram for explaining a data structure.

먼저, 도 1에 도시된 것과 같이, 장소 추천 정보(200)는 사용자 단말기(또는 사용자의 단말기, 도면부호 부여하지 않음)상의 디스플레이부 상에 출력될 수 있으며, 이 경우, 사용자 단말기는 전자기기를 의미하는 것으로 이해되어 질 수 있다. 여기서 전자기기는, 스마트폰(smart phone), 휴대폰, 태블릿 PC, 키오스크(KIOSK), 컴퓨터, 노트북, 디지털방송용 단말, PDA(Personal Digital Assistants), 및 PMP(Portable Multimedia Player) 중 적어도 하나를 포함할 수 있다. 나아가, 위에서 설명한 것과 같이, 사용자 단말기는, 사용자 계정이 로그인된, 접속된 또는 등록된 전자기기 일 수 있다.First, as shown in FIG. 1 , the place recommendation information 200 may be output on the display unit on the user terminal (or the user's terminal, no reference numerals are given), and in this case, the user terminal uses the electronic device. can be understood to mean Here, the electronic device may include at least one of a smart phone, a mobile phone, a tablet PC, a kiosk, a computer, a notebook computer, a digital broadcasting terminal, a personal digital assistant (PDA), and a portable multimedia player (PMP). can Furthermore, as described above, the user terminal may be an electronic device to which a user account is logged, connected, or registered.

이하의 설명에서는, 사용자 단말기에 로그인된 사용자 계정에 대하여 중복하여 설명하지 않으며, 이하에서 설명되는 사용자 단말기는 사용자 계정이 로그인된 전자기기 또는 본 발명에 따른 장소 추천 시스템(100)에 의해 정보가 수집될 수 있는 전자기기로 이해되어질 수 있음은 물론이다. In the following description, the user account logged into the user terminal will not be repeatedly described. In the user terminal described below, information is collected by the electronic device to which the user account is logged or the place recommendation system 100 according to the present invention. Of course, it can be understood as an electronic device that can be

한편, 본 발명에 따른 장소 추천 시스템(100)은, 통신부(110), 저장부(120) 및 제어부(130) 중 적어도 하나를 포함할 수 있다.Meanwhile, the place recommendation system 100 according to the present invention may include at least one of a communication unit 110 , a storage unit 120 , and a control unit 130 .

통신부(110)는 사용자 단말기, 외부 저장소(예를 들어, 데이터베이스(database, 140)), 외부 서버 및 클라우드 서버 중 적어도 하나와 통신을 수행할 수 있다.The communication unit 110 may communicate with at least one of a user terminal, an external storage (eg, a database 140 ), an external server, and a cloud server.

한편, 외부 서버 또는 클라우드 서버에서는, 제어부(130)의 적어도 일부의 역할을 수행하도록 구성될 수 있다. 즉, 데이터 처리 또는 데이터 연산 등의 수행은 외부 서버 또는 클라우드 서버에서 이루어지는 것이 가능하며, 본 발명에서는 이러한 방식에 대한 특별한 제한을 두지 않는다.Meanwhile, in an external server or a cloud server, it may be configured to perform at least a part of the control unit 130 . That is, data processing or data operation may be performed in an external server or a cloud server, and the present invention does not place any particular limitation on this method.

한편, 통신부(110)는 통신하는 대상(예를 들어, 전자기기, 외부 서버, 디바이스 등)의 통신 규격에 따라 다양한 통신 방식을 지원할 수 있다.Meanwhile, the communication unit 110 may support various communication methods according to a communication standard of a communication target (eg, an electronic device, an external server, a device, etc.).

예를 들어, 통신부(110)는, WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), Wi-Fi(Wireless Fidelity) Direct, DLNA(Digital Living Network Alliance), WiBro(Wireless Broadband), WiMAX(World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced), 5G(5th Generation Mobile Telecommunication ), 블루투스(Bluetooth™), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), UWB(Ultra-Wideband), ZigBee, NFC(Near Field Communication), Wi-Fi Direct, Wireless USB(Wireless Universal Serial Bus) 기술 중 적어도 하나를 이용하여, 통신 대상과 통신하도록 이루어질 수 있다.For example, the communication unit 110 may include a Wireless LAN (WLAN), a Wireless-Fidelity (Wi-Fi), a Wireless Fidelity (Wi-Fi) Direct, a Digital Living Network Alliance (DLNA), a Wireless Broadband (WiBro), and a WiMAX (Wireless Broadband). World Interoperability for Microwave Access), High Speed Downlink Packet Access (HSDPA), High Speed Uplink Packet Access (HSUPA), Long Term Evolution (LTE), Long Term Evolution-Advanced (LTE-A), 5th Generation Mobile Telecommunication (5G) , Bluetooth™, RFID (Radio Frequency Identification), Infrared Data Association (IrDA), UWB (Ultra-Wideband), ZigBee, NFC (Near Field Communication), Wi-Fi Direct, Wireless USB (Wireless Universal) Serial Bus) technology may be used to communicate with a communication target.

다음으로 저장부(120)는, 본 발명과 관련된 다양한 정보를 저장하도록 이루어질 수 있다. 본 발명에서 저장부(120)는 장소 추천 시스템(100) 자체에 구비될 수 있다. 이와 다르게, 저장부(120)의 적어도 일부는, 데이터베이스(database: DB, 140) 및 클라우드 저장소(또는 클라우드 서버) 중 적어도 하나를 의미할 수 있다. 즉, 저장부(120)는 본 발명에 따른 장소 추천 시스템 및 방법을 위하여 필요한 정보가 저장되는 공간이면 충분하며, 물리적인 공간에 대한 제약은 없는 것으로 이해될 수 있다. 이에, 이하에서는, 저장부(120), 데이터베이스(140), 외부 저장소, 클라우드 저장소(또는 클라우드 서버)를 별도로 구분하지 않고, 모두 저장부(120)라고 표현하도록 한다. Next, the storage unit 120 may be configured to store various information related to the present invention. In the present invention, the storage unit 120 may be provided in the place recommendation system 100 itself. Alternatively, at least a portion of the storage unit 120 may mean at least one of a database (DB, 140) and a cloud storage (or cloud server). That is, it can be understood that the storage unit 120 is sufficient as long as a space in which information necessary for the place recommendation system and method according to the present invention is stored, and there is no restriction on the physical space. Accordingly, hereinafter, the storage unit 120 , the database 140 , the external storage, and the cloud storage (or cloud server) are not separately distinguished, and all are referred to as the storage unit 120 .

본 발명에 따른 장소 추천 방법을 제공하기 위하여 저장부(120)에 저장되는 정보는, 사용자와 관련된 다양한 정보, 추천 대상이 되는 장소에 대한 정보를 포함할 수 있다.In order to provide the method for recommending a place according to the present invention, the information stored in the storage unit 120 may include various information related to a user and information on a place to be recommended.

여기에서, “사용자와 관련된 다양한 정보”는 사용자의 히스토리(history) 정보 및 사용자의 메타데이터(metadata) 중 적어도 하나를 포함할 수 있다.Here, “various information related to the user” may include at least one of user history information and user metadata.

보다 구체적으로, 사용자의 히스토리 정보는, 사용자의 관심 장소에 대한 정보로 이해되어질 수 있다. 여기에서, 관심 장소란, 사용자의 자발적인 의사(또는 선택)에 의하여, 해당 장소에 대해 사용자가 관심이 있다고 여겨질 만한 이벤트가 발생된 장소를 의미할 수 있다.More specifically, the user's history information may be understood as information about the user's place of interest. Here, the place of interest may refer to a place where an event that is considered to be of interest to the user is generated by the user's voluntary intention (or selection).

예를 들어, 상기 이벤트는, 적어도 하나의 관심 장소와 관련된 예약, 문서(ex: 웹페이지, 이미지, 영상 등)의 선택, 정보의 저장, 콜(call) 발신, 장소 검색(ex: 검색 포털 사이트를 통한 검색 등) 및 경로 검색(ex: 네비게이션 서비스 또는 지도 서비스 등을 통한 검색 등) 등이 존재할 수 있다.For example, the event may include a reservation related to at least one place of interest, selection of a document (eg, a web page, image, video, etc.), storage of information, a call, and a place search (eg, a search portal site). Search through , etc.) and route search (ex: search through navigation service or map service, etc.) may exist.

한편, 검색 이벤트는, 사용자 단말기에 입력된 검색어에 대한 검색 결과 중 사용자의 선택에 의하여 선택 또는 클릭된 행위가 이루어짐에 의하여 발생할 수 있다.On the other hand, the search event may be generated by an action selected or clicked by the user's selection among the search results for the search word input into the user terminal.

나아가, 사용자의 히스토리 정보는, 위에서 살펴본 이벤트가 수행된 또는 발생된 횟수에 대한 카운팅 정보를 포함할 수 있다.Furthermore, the user's history information may include counting information about the number of times the above-described event has been performed or generated.

이와 같이, 사용자의 히스토리 정보는, 적어도 하나의 관심 장소에 대한 장소 정보와 함께, 상기 적어도 하나의 관심 장소와 관련된 예약, 문서의 선택, 정보의 저장, 콜(call) 발신, 장소 검색 및 경로 검색 중 적어도 하나를 수행한 횟수와 관련된 카운팅 정보를 포함할 수 있다. 이러한 횟수와 관련된 카운팅 정보는 빈도 정보라고도 명명될 수 있다.In this way, the user's history information, together with the place information on the at least one POI, may include a reservation related to the at least one POI, selection of a document, storage of information, a call origination, a place search, and a route search related to the at least one POI. It may include counting information related to the number of times of performing at least one of them. Counting information related to the number of times may also be referred to as frequency information.

나아가, 사용자의 히스토리 정보는, 상기 이벤트가 발생한 시점 및 날짜 중 적어도 하나와 관련된 일자 정보를 더 포함할 수 있다.Furthermore, the user's history information may further include date information related to at least one of a time point and a date when the event occurred.

이러한 사용자의 히스토리 정보는, 사용자 별로 구분되어 저장될 수 있다. 사용자 별로의 구분은, 본 발명의 장소 추천 시스템에 연계된 사용자DB(DB: data base)에 포함된 사용자의 ID(identification, identification number)(또는 USER ID) 별로 매칭되어 저장될 수 있다.Such user history information may be stored separately for each user. Classification for each user may be stored by matching each user's identification (identification, identification number) (or USER ID) included in a user DB (data base) linked to the place recommendation system of the present invention.

다음으로, 사용자의 메타데이터(metadata)는 사용자를 특정하기 위한 정보로서, 사용자의 개인정보 또는 신상정보라고도 이해되어질 수 있다. Next, the user's metadata (metadata) is information for specifying the user, and may be understood as the user's personal information or personal information.

사용자 메타데이터는, 사용자(또는 특정 사용자)의 성별 및 연령 중 적어도 하나와 관련된 정보를 포함할 수 있다. 사용자의 메타 데이터는 이외에도, 사용자의 주거 지역, 근무 지역, 관심사, 취미, 직업 등 다양한 정보를 더 포함할 수 있다.The user metadata may include information related to at least one of a gender and an age of a user (or a specific user). The user's metadata may further include various information such as the user's residential area, work area, interests, hobbies, and occupation.

나아가, 사용자 메타데이터에는, 앞서 살펴본, 사용자의 히스토리 정보가 함께 매칭되어 존재할 수 있다. 즉, 사용자 메타데이터에는 해당 사용자가 관심있어 하는 장소에 대한 정보, 장소에 대해 관심의 의사를 표현한 이벤트의 횟수 정보(카운팅 정보) 등이 함께 저장될 수 있다. 이 경우, 사용자 메타데이터는, 사용자의 히스토리 정보를 포함하는 개념으로 이해되어 질 수 있다.Furthermore, in the user metadata, the user's history information as described above may be matched together. That is, the user metadata may store information on a place in which the user is interested, information on the number of events expressing interest in the place (counting information), and the like. In this case, user metadata may be understood as a concept including user history information.

다음으로, 제어부(130)는 본 발명과 관련된 장소 추천 시스템(100)의 전반적인 동작을 제어하도록 이루어질 수 있다. 제어부(130)는 위에서 살펴본 구성요소들을 통해 입력 또는 출력되는 신호, 데이터, 정보 등을 처리하거나 사용자에게 적절한 정보 또는 기능을 제공 또는 처리할 수 있다.Next, the controller 130 may be configured to control the overall operation of the place recommendation system 100 related to the present invention. The controller 130 may process signals, data, information, etc. input or output through the above-described components, or may provide or process appropriate information or functions to the user.

제어부(130)는 사용자의 히스토리 정보(또는 사용자 히스토리, 사용자 히스토리 정보) 및 사용자의 메타데이터(또는 사용자 메타데이터, 메타데이터)에 근거하여, 사용자에 대한 추천 장소를 추출 및 사용자의 단말기로 추천 장소에 대한 정보를 제공할 수 있다.Based on the user's history information (or user history, user history information) and the user's metadata (or user metadata, metadata), the control unit 130 extracts a recommended place for the user and recommends a place to the user's terminal can provide information about

제어부(130)는 사용자의 현재 위치(또는 사용자가 현재 위치한 지역) 또는 사용자가 선택(또는 입력)한 위치(또는 지역)를 기반으로, 해당 위치(또는 지역)에 위치한 장소에 대한 추천 정보를 추출할 수 있다. 여기에서, 사용자의 현재 위치는, 사용자의 단말기로부터 수집되는 위치 정보에 기반하여 특정될 수 있다.The controller 130 extracts recommendation information for a place located in the corresponding location (or region) based on the user's current location (or the region where the user is currently located) or the location (or region) selected (or input) by the user can do. Here, the user's current location may be specified based on location information collected from the user's terminal.

한편, 추천 장소에 대한 정보의 제공은, 사용자 단말기에 설치된 애플리케이션(application), 웹브라우저(web browser), 프로그램, 소프트웨어 등 다양한 서비스 플랫폼을 통하여, 제공될 수 있다.Meanwhile, the information on the recommended place may be provided through various service platforms, such as an application installed in the user terminal, a web browser, a program, and software.

제어부(130)는 적어도 하나의 CPU(Central Processing Unit, 중앙처리장치)를 포함하여, 본 발명에 따른 기능을 수행할 수 있다. 나아가, 제어부(130)는 인공지능 기반의 데이터 처리를 수행할 수 있다. The control unit 130 may include at least one central processing unit (CPU) to perform a function according to the present invention. Furthermore, the controller 130 may perform artificial intelligence-based data processing.

한편, 본 발명에 따른 제어부(130)는 도 2에 도시된 시스템(300)의 구조(또는 프레임워크(framework) 구조)를 통하여, 본 발명에 따른 장소 추천을 수행할 수 있으며, 도 2에 도시된 프레임워크는 경우에 따라 적어도 일부가 변형되는 것 또한 가능하다.On the other hand, the control unit 130 according to the present invention can perform the place recommendation according to the present invention through the structure (or framework structure) of the system 300 shown in FIG. 2 , as shown in FIG. 2 . It is also possible that at least a part of the framework is modified in some cases.

한편, 본 발명에 따른 제어부(130)는 시스템(300)의 구조에 한정되지 않으며, 도시된 시스템(300)을 포함하는 개념으로 이해되어 질 수 있다. 즉, 이하에서 설명되는 시스템(300)은 제어부(130)의 제어 하에 있다고 이해되어 질 수 있다. 이러한 시스템(300)은 히스토리 정보 기반의 추천 시스템(History based recommendation system)이라고도 명명될 수 있다. Meanwhile, the control unit 130 according to the present invention is not limited to the structure of the system 300 , and may be understood as a concept including the illustrated system 300 . That is, it can be understood that the system 300 described below is under the control of the controller 130 . Such a system 300 may also be referred to as a history based recommendation system.

본 발명에서는 설명의 편의를 위하여, 시스템(300)에 포함된 요소들을 각각 “모듈(module)”이라고 지칭하도록 한다. In the present invention, for convenience of description, each element included in the system 300 is referred to as a “module”.

한편, 시스템(300)은 데이터(data) 모듈(310), 사용자 모델링(user modeling) 모듈(320), 선호도 모델링(preference modeling) 모듈(330, 또는 장소 선호도 모듈), 추천 모델링(recommendation modeling) 모듈(340, 또는 장소 추천 모델링 모듈) 및 후처리 모듈(postprocess, 350) 중 적어도 하나를 포함할 수 있다. 이하의 설명에서는, 경우에 따라 해당 모듈을 지칭하여 본 발명을 설명하거나, 또는 제어부(130)로 명명하여 본 발명을 설명할 수 있으나, 이는 본 발명의 본질에 영향을 미치는 요소가 아니며, 모두 제어부(130)로 통용하여 설명하는 것 또한 가능하다.Meanwhile, the system 300 includes a data module 310 , a user modeling module 320 , a preference modeling module 330 , or a place preference module), and a recommendation modeling module. (340 or a place recommendation modeling module) and a post-processing module (postprocess, 350) may be included. In the following description, in some cases, the present invention may be described by referring to the corresponding module, or the present invention may be described by naming the controller 130, but this is not an element affecting the essence of the present invention, and all of the controllers It is also possible to describe it commonly as (130).

먼저, 데이터(data) 모듈(310)은, 사용자의 히스토리 정보(311, User History) 및 사용자 메타데이터(312, User Metadata)를 포함하도록 구성될 수 있다.First, the data module 310 may be configured to include user history information 311 (User History) and user metadata 312 (User Metadata).

이러한, 사용자 모델링(user modeling) 모듈(320)은, 데이터 모듈(310)에 저장된 사용자의 히스토리 정보(311, User History) 및 사용자 메타 데이터(312, User Metadata) 중 적어도 하나를 이용할 수 있다.The user modeling module 320 may use at least one of user history information 311 and user metadata 312 stored in the data module 310 .

사용자 모델링(user modeling) 모듈(320)은 장소 추천의 대상이 되는 사용자가 서로 다른 복수의 사용자 그룹 중 어느 하나의 사용자 그룹에 속하는 사용자인지를 판단하는 사용자 그룹(User Group) 모듈(321)을 포함할 수 있다.The user modeling module 320 includes a user group module 321 that determines whether a user who is a target of place recommendation belongs to any one user group among a plurality of different user groups. can do.

여기에서, 복수의 사용자 그룹은, 장소에 대한 관심도에 따라 분류될 수 있다. 도 3에 도시된 것과 같이, 사용자 모델링 모듈(320)(또는 제어부(130), 이하 제어부(130)로 통칭함)는, 사용자 메타데이터(410) 및 사용자의 히스토리 정보 중 적어도 하나를 기반으로, 사용자가 복수의 사용자 그룹(430) 중 어느 사용자 그룹에 속하는지 판단할 수 있다. 도 3에서는 사용자 그룹을 크게 3그룹으로 분류하였으나, 이는 일 예에 해당할 뿐, 사용자 그룹을 분류하는 기준 및 수는 다양하게 변경될 수 있다.Here, the plurality of user groups may be classified according to the degree of interest in the place. As shown in FIG. 3, the user modeling module 320 (or the control unit 130, hereinafter referred to as the control unit 130) is based on at least one of user metadata 410 and user history information, It may be determined which user group the user belongs to among the plurality of user groups 430 . In FIG. 3 , the user groups are largely classified into three groups, but this is only an example, and the criteria and number for classifying the user groups may be variously changed.

예를 들어, 복수의 사용자 그룹(430) 중, 제1 사용자 그룹(heavy, 431)은 장소에 대한 관심도가 가장 높은 그룹이고, 제2 사용자 그룹(middle, 432)은 장소에 대한 관심도가 제1 사용자 그룹 보다는 낮으나, 어느 정도 관심은 있는 그룹이며, 제3 사용자 그룹(light, 433)는 장소에 대한 관심도가 낮은 그룹일 수 있다.For example, among the plurality of user groups 430 , a first user group (heavy) 431 is a group with the highest degree of interest in a place, and a second user group (middle) 432 has a first degree of interest in a place. Although it is lower than the user group, it is a group with some interest, and the third user group (light) 433 may be a group with a low level of interest in a place.

이러한 복수의 사용자 그룹은, 장소에 대한 관심도에 근거하여 분류될 수 있으며, 이러한 관심도의 정도는, 앞서 살펴본 사용자의 장소에 대해 관심이 있다고 여겨질 만한 행동에 대한 이벤트 발생 정도에 근거하여 산출 또는 추출될 수 있다.Such a plurality of user groups may be classified based on the degree of interest in the place, and the degree of interest is calculated or extracted based on the degree of occurrence of an event for an action that is considered to be interested in the user's place as described above. can be

제어부(130)는 i)사용자 그룹의 분류 대상 사용자들 중 상위 xx%(예를 들어, 13%)에 해당하는 장소에 대해 관심도를 가진 사용자를 제1 사용자 그룹으로 분류하고, ii) 사용자 그룹의 분류 대상 사용자들 중 상기 제1 사용자 그룹의 사용자를 제외하고, 상위 yy%(예를 들어, 38%)에 해당하는 장소에 대해 관심도를 가진 사용자를 제2 사용자 그룹으로 분류하며, iii)나머지 사용자들을 제3 사용자 그룹으로 분류할 수 있다.The control unit 130 i) classifies a user having an interest in a place corresponding to the top xx% (eg, 13%) among the users to be classified in the user group into the first user group, ii) the user group Excluding users of the first user group among the users to be classified, users having an interest in a place corresponding to the top yy% (eg, 38%) are classified into a second user group, iii) the remaining users may be classified into a third user group.

이 경우, 제1 사용자 그룹의 사용자들이 차지하는 비율을 전체 사용자 그룹의 분류 대상 사용자들 중 13%에 해당하고, 제2 사용자 그룹의 사용자들이 자치하는 비율은 25%에 해당하며, 제3 사용자 그룹의 사용자들이 차지하는 비율은 62%에 해당할 수 있다.In this case, the proportion occupied by users of the first user group corresponds to 13% of the users to be classified in the total user group, the proportion in which users of the second user group self-governing corresponds to 25%, and The proportion of users may correspond to 62%.

이와 같이, 각각의 사용자 그룹에는, 장소에 대한 사용자들의 관심도 정도가 각각 매칭되어 존재할 수 있다.As such, in each user group, the user's degree of interest in the place may be matched to each other.

이와 같이, 제어부(130)는 분류 대상의 사용자들 간의 상대적인 관심도를 고려하여, 사용자 그룹을 분류할 수 있다.In this way, the controller 130 may classify the user group in consideration of the relative degree of interest among users to be classified.

한편, 제어부(130)는 앞서 살펴본 사용자가 장소에 대해 관심이 있다고 여겨질 만한 행동에 대한 이벤트 발생 정도에 근거하여, 사용자의 관심도 정도를 산출 또는 추출함으로써, 해당 관심도 정도에 근거하여, 사용자가 어느 사용자 그룹에 해당하는지 판단할 수 있다.On the other hand, the control unit 130 calculates or extracts the user's degree of interest based on the occurrence of an event for an action that the user may be interested in in the above-mentioned place, and, based on the degree of interest, the user It can be determined whether it corresponds to a user group.

상기 이벤트는, 적어도 하나의 관심 장소와 관련된 예약, 문서(ex: 웹페이지, 이미지, 영상 등)의 선택, 정보의 저장, 콜(call) 발신, 장소 검색(ex: 검색 포털 사이트를 통한 검색 등) 및 경로 검색(ex: 네비게이션 서비스 또는 지도 서비스 등을 통한 검색 등) 등이 존재할 수 있다. The event may include reservation related to at least one place of interest, selection of a document (eg: web page, image, video, etc.), storage of information, sending a call, searching for a place (ex: searching through a search portal site, etc.) ) and route search (eg: search through a navigation service or a map service, etc.) may exist.

앞서 살펴본 것과 같이, 사용자의 히스토리 정보 또는 사용자 메타데이터에는, 위에서 살펴본 이벤트가 수행된 또는 발생된 횟수에 대한 카운팅 정보를 포함할 수 있다.As described above, the user's history information or user metadata may include counting information on the number of times the above-described event has been performed or occurred.

이와 같이, 제어부(130)는 복수의 사용자들의 메타데이터(또는 히스토리 정보)를 기반으로, 사용자(특정 사용자)가 어느 사용자 그룹에 해당하는지를 판단할 수 있다. In this way, the controller 130 may determine which user group the user (specific user) corresponds to based on the metadata (or history information) of the plurality of users.

이와 같이, 제어부(130)는 사용자의 히스토리 정보(또는 사용자 메타데이터)를 이용하여, 사용자 마다의 장소에 대한 관심도의 정도를 판단할 수 있다. 그리고, 제어부(130)는 복수의 사용자 그룹 중 상기 판단된 관심도의 정도에 매칭된 사용자 그룹을 특정 사용자가 속하는 사용자 그룹으로서 특정할 수 있다.As such, the controller 130 may determine the degree of interest in each user's place by using the user's history information (or user metadata). In addition, the controller 130 may specify a user group matched to the determined degree of interest among a plurality of user groups as a user group to which a specific user belongs.

한편, 이러한 사용자 그룹은, 사용자 메타데이터 중 특정 요소를 기준으로 분류된 사용자들 내에서 분류된 사용자 그룹을 의미할 수 있다.Meanwhile, such a user group may mean a user group classified within users classified based on a specific element in user metadata.

즉, 제어부(130)는 사용자들 마다의 대표 공통점을 추출하여, 해당 공통점을 갖는 사용자들을 동일한 사용자 그룹으로 분류한 뒤, 분류된 사용자 그룹 내에서, 세분화된 사용자 그룹(앞서 살펴본, 제1 내지 제3 사용자 그룹(도 3의 431 내지 433 참조))을 분류할 수 있다,That is, the control unit 130 extracts the representative common points for each user, classifies the users having the corresponding common points into the same user group, and then within the classified user group, the subdivided user groups (the first to the first 3 user groups (see 431 to 433 in FIG. 3)) can be classified,

예를 들어, 이러한 공통점은, 성별 및 연령대 중 적어도 하나와 관련될 수 있다.For example, these commonalities may relate to at least one of gender and age group.

예를 들어, 제어부(130)는 “여성” 및 “20대”의 공통점을 갖는 사용자들을 1차적으로 분류한 뒤, 1차적으로 분류된 사용자들 내에서 제1 내지 제3 사용자 그룹(도 3의 431 내지 433 참조)을 추가적으로 분류할 수 있다.For example, the controller 130 first classifies users having a commonality of “female” and “twenties”, and then the first to third user groups (shown in FIG. 3 ) among the primarily classified users. 431 to 433) can be further classified.

이 경우, 제어부(130)는 장소 추천의 대상이 되는 사용자의 사용자 메타데이터를 참조하여, 해당 사용자의 성별 및 연령대를 추출하고, 추출된 성별 및 연령대를 참조하여, 장소 추천의 대상이 되는 사용자가, 서로 다른 메타데이터를 갖는 복수의 사용자 그룹 내에서, 어느 사용자 그룹에 속하는지를 1차적으로 분류(또는 추출)할 수 있다.In this case, the controller 130 extracts the gender and age group of the user by referring to the user metadata of the user who is the target of the place recommendation, and refers to the extracted gender and age group, the user who is the target of the place recommendation , which user group belongs to within a plurality of user groups having different metadata may be primarily classified (or extracted).

이와 같이, 공통점을 기준으로 사용자들 1차적으로 분류하는 이유는, 해당 공통점들을 갖는 사용자들 마다의 장소에 대한 관심 특성이 상이하기 때문이다(예를 들어, 20대 여성은 “스파게티”를 좋아하는 반면, 50내 남성은 “국밥”을 좋아하는 특성을 가짐)As such, the reason for primary classification of users based on commonalities is that each user having the corresponding commonalities has different characteristics of interest in places (for example, a woman in her 20s likes “spaghetti”). On the other hand, men in their 50s have the characteristic of liking “gukbap”)

이와 같이, 본 발명에서의 사용자 그룹은, 1차적으로 사용자 메타데이터를 기준으로 분류되고, 1차적으로 분류된 사용자 그룹 내에서 사용자의 장소에 대한 관심도에 근거하여 2차적으로 구분될 수 있다. 본 발명에서 사용자 그룹을 특정한다 함은, 위에서 살펴본 1차 및 2차에 따른 분류를 모두 수행한 것을 의미할 수 있다.As described above, the user group in the present invention may be primarily classified based on user metadata, and may be secondarily classified based on the degree of interest in the user's place within the primarily classified user group. In the present invention, specifying a user group may mean performing all of the classification according to the first and second steps described above.

그리고, 제어부(130)는 추천 대상 장소의 지역이, 사용자의 관심 지역(또는 활동 지역)인지 여부에 따라, 2차적으로 매칭된 사용자 그룹에 근거하여 장소를 추천할지 여부를 결정할 수 있다. 이하에서, 설명되는 사용자 그룹은, 1차 및 2차 분류가 수행된 사용자 그룹으로 이해되어질 수 있다.In addition, the controller 130 may determine whether to recommend a place based on a secondly matched user group, according to whether the region of the recommended place is an area of interest (or activity area) of the user. Hereinafter, a user group to be described may be understood as a user group in which primary and secondary classification are performed.

제어부(130)는 사용자 마다 지역 선호도(440)를 구분할 수 있다. 지역 선호도(440)는 사용자의 활동 지역(또는 관심 지역, 441) 및 기타 지역(442)으로 분류될 수 있다. 사용자의 활동 지역(441)은, 사용자가 주로 방문하는 장소가 위치하는 지역, 사용자의 주거 지역, 근무 지역 등이고, 기타 지역(442)은 이 외이 지역일 수 있다.The controller 130 may classify the regional preference 440 for each user. The regional preference 440 may be classified into an activity region (or region of interest) 441 and other regions 442 of the user. The user's activity area 441 may be an area where a place that the user mainly visits is located, the user's residential area, work area, and the like, and the other area 442 may be an outer ear area.

본 발명에서 사용자 마다 지역 선호도(440)를 구분하는 이유는, 사용자의 히스토리 정보는, 사용자의 활동 지역(441)에 포함된 장소 정보로 구성될 가능성이 높기 때문이다. 즉, 사용자는, 사용자의 활동 지역(441)에 대해서는 제1 사용자 그룹(heavy, 431) 또는 제2 사용자 그룹(middle, 432)에 해당하는 사용자일 수 있으나, 기타 지역(442)에 대해서는 제3 사용자 그룹(light, 433)에 해당하는 사용자일 수 있다.The reason why the region preference 440 is classified for each user in the present invention is that the user's history information is highly likely to be composed of place information included in the user's activity region 441 . That is, the user may be a user corresponding to the first user group (heavy) 431 or the second user group (middle) 432 in the user's active area 441 , but in the other area 442 , the third user It may be a user corresponding to the user group (light) 433 .

이와 같이, 제어부(130)는 사용자의 히스토리 정보에 근거하여, 사용자의 활동 지역을 특정하고, 추천 대상 장소를 추출하는 지역이 사용자의 활동 지역인지 여부를 고려하여, 특정 사용자가 속하는 사용자 그룹에 매칭된 장소 추천 방법으로 추천 장소를 추출할지 결정할 수 있다.In this way, the controller 130 specifies the user's activity area based on the user's history information, and matches the user group to which the specific user belongs, considering whether the area from which the recommended place is extracted is the user's activity area It is possible to determine whether to extract a recommended place by the recommended place recommendation method.

예를 들어, 제어부(130)는, i)사용자에게 장소를 추천할 지역이, 사용자의 활동 지역인 경우, 사용자에 매칭된 사용자 그룹을 기준으로 장소를 추천하고, ii)사용자에게 장소를 추천할 지역이, 사용자의 비활동 지역인 경우, 사용자에 매칭된 사용자 그룹이 아닌, 장소에 대해 관심도가 가장 낮은 그룹(제3 그룹, light)을 기준으로 장소를 추천할 수 있다.For example, the controller 130 may i) recommend a place to the user based on a user group matched to the user when the region to be recommended to the user is an active region of the user, and ii) recommend a place to the user. When the region is an inactive region of the user, the place may be recommended based on a group (third group, light) having the lowest interest in the place, not the user group matched to the user.

제어부(130)는 사용자 마다, 지역 선호도(440)를 구분하여, 사용자 메타데이터(또는 사용자의 히스토리 정보)에 저장할 수 있다. 따라서, 사용자 메타데이터(또는 사용자의 히스토리 정보)에는, 사용자의 활동 지역에 대한 정보와 사용자의 비활동 지역에 대한 정보가 저장되어 존재할 수 있다.The controller 130 may classify the regional preference 440 for each user and store it in user metadata (or user history information). Accordingly, information on the user's active area and information on the user's non-active area may be stored in the user metadata (or user's history information).

한편, 제어부(130)는 이러한 사용자 메타데이터(또는 사용자의 히스토리 정보)에 기반하여, 사용자 마다 특화된 장소 추천 정보(개인화된 추천 리스트, 450)를 생성함은 물론, 각각의 사용자 그룹에 대한 장소 추천 정보(그룹 단위의 추천 리스트, 460)를 생성할 수 있다.On the other hand, the controller 130 not only generates place recommendation information (personalized recommendation list, 450) specialized for each user based on such user metadata (or user history information), but also recommends a place for each user group. Information (recommendation list in units of groups, 460) may be generated.

다음으로 선호도(preference) 모델링 모듈(330, 또는 장소 선호도 모델링 모듈) 및 추천 모델링(recommendation modeling) 모듈(340, 또는 장소 추천 모델링 모듈)에 대하여 살펴본다.Next, a preference modeling module 330 (or a place preference modeling module) and a recommendation modeling module 340 (or a place recommendation modeling module) will be described.

본 발명에서, 제어부(130)는 사용자 그룹마다 서로 다른 장소 추천 방법에 따라 사용자에게 장소를 추천할 수 있다.In the present invention, the controller 130 may recommend a place to the user according to a different place recommendation method for each user group.

제어부(130)는 복수의 장소 추천 방법 중 장소 추천의 대상이 되는 사용자가 속한 사용자 그룹에 매칭된 장소 추천 방법에 근거하여, 추천 대상 장소를 추출할 수 있다.The controller 130 may extract a recommended place based on a place recommendation method matched with a user group to which the user who is the target of the place recommendation belongs among the plurality of place recommendation methods.

먼저, 선호도 모델링 모듈(330)은, 사용자 관심 장소 선호도(User-POI Preference) 모듈(331) 및 관심 장소 관련성(POI-POI Relevance) 모듈(332)을 포함할 수 있다. 여기에서, POI는 Point of Interest의 약자로서, 본 발명에서, POI는 사용자의 관심 장소로 이행되어질 수 있다. 이러한 POI에 대한 정보는, 사용자의 히스토리 정보에 포함될 수 있다.First, the preference modeling module 330 may include a User-POI Preference module 331 and a POI-POI Relevance module 332 . Here, POI is an abbreviation of Point of Interest, and in the present invention, POI may be transferred to a user's place of interest. The information on the POI may be included in the user's history information.

사용자 관심장소 선호도 모듈(331)은, 동일 사용자 그룹에 속하는 사용자들의 히스토리 정보를 이용하여, 해당 사용자 그룹에 속한 사용자들의 관심 장소에 대한 정보를 추출할 수 있다. 여기에서, “동일 사용자 그룹”은, 앞서 살펴본 1차 분류 및 2차 분류를 통하여 구분된 사용자 그룹일 수 있고, 이와 달리, 1차 분류를 통하여 구분된 사용자 그룹일 수 있다. 1차 분류를 통하여 구분된 사용자 그룹에 포함된 사용자들은 장소에 대한 관심도 정도가 서로 상이한 복수의 그룹 각각에 해당하는 사용자들을 모두 포함할 수 있다.The user POI preference module 331 may extract information on POIs of users belonging to the corresponding user group by using history information of users belonging to the same user group. Here, the “same user group” may be a user group classified through the first classification and the second classification described above, and, alternatively, may be a user group classified through the first classification. Users included in the user group classified through the primary classification may include all users corresponding to each of a plurality of groups having different degrees of interest in places.

다음으로, 관심 장소 관련성(POI-POI Relevance) 모듈(332)은, 관심 장소 간의 관련성을 추출하는 모듈로서, 사용자의 히스토리 정보에 기반하여, 함께 자주 나타나는 장소들을 추출하고, 해당 장소들 간의 관련성을 지어주는 역할을 수행할 수 있다. 여기에서, “함께 자주 나타난다”고 함은, 제1 장소에 대한 이벤트가 발생하였을 때, 제2 장소에 대한 이벤트도 유사한 시점에 함께 나타나는 것을 의미할 수 있다. 제어부(130)는 사용자 마다의 히스토리 정보 내에서, 함께 자주 나타나는 장소에 대한 정보를 추출할 수 있다.Next, the POI-POI Relevance module 332 is a module for extracting relevance between places of interest. Based on the user's history information, places frequently appearing together are extracted, and the relevance between the places is determined. It can play a building role. Here, “frequently appear together” may mean that when an event for a first place occurs, an event for a second place also appears at a similar time point. The controller 130 may extract information about a place that frequently appears together from within the history information for each user.

제어부(130)는 선호도 모델링 모듈(330)을 통해 추출된 사용자들의 관심 장소에 대한 정보 및 장소 간의 관련성 정보에 근거하여, 앞서 살펴본 복수의 사용자 그룹 중 적어도 하나의 사용자 그룹에 대한 추천 장소 정보를 추출할 수 있다.The controller 130 extracts recommended place information for at least one user group from among the plurality of user groups discussed above, based on the information on the places of interest of users and the relation information between the places extracted through the preference modeling module 330 . can do.

한편, 추천 모델링(recommendation modeling) 모듈(340, 또는 장소 추천 모델링 모듈)은, 사용자 그룹 마다 각각 매칭된 장소 추천 방법으로, 추천 장소를 추출할 수 있다.Meanwhile, the recommendation modeling module 340 (or the place recommendation modeling module) may extract a recommended place using a place recommendation method matched for each user group.

복수의 장소 추천 방법 각각은, 복수의 사용자 그룹 중 장소 추천의 타겟이 되는 사용자가 속한 사용자 그룹에 포함된 복수의 사용자들의 히스토리 정보를 이용하여, 추천 장소를 추출하도록 이루어진다.Each of the plurality of place recommendation methods is configured to extract a recommended place by using history information of a plurality of users included in a user group to which a user who is a target of place recommendation among a plurality of user groups belongs.

나아가, 복수의 장소 추천 방법은 상기 복수의 사용자들의 히스토리 정보를 처리하는 방법이 서로 다르게 이루어질 수 있다.Furthermore, in the method of recommending a plurality of places, a method of processing the history information of the plurality of users may be performed differently.

복수의 장소 추천 방법 중 제1 장소 추천 방법은, CoFactor(341) 모델링 방법으로서, 이러한 방법은, i)복수의 사용자들과 상기 복수의 사용자들의 히스토리 정보에 포함된 관심 장소들에 대한 제1 관계성 및 ii)복수의 사용자들의 히스토리 정보에 포함된 관심 장소들 간의 제2 관계성에 근거하여 추천 장소를 추출할 수 있다.A first place recommendation method among a plurality of place recommendation methods is a CoFactor 341 modeling method, and the method includes: i) a first relationship between a plurality of users and places of interest included in the history information of the plurality of users A recommended place may be extracted based on a gender and ii) a second relationship between places of interest included in the history information of a plurality of users.

여기에서, 제1 관계성은, 사용자 관심 장소 선호도(User-POI Preference) 모듈(331)에 의하여 추출되고, 제2 관계성은 관심 장소 관련성(POI-POI Relevance) 모듈(332)에 의하여 추출될 수 있다.Here, the first relationship may be extracted by the User-POI Preference module 331 , and the second relationship may be extracted by the POI-POI Relevance module 332 . .

제1 장소 추천 방법은, 상기 제1 관계성을 정의한 제1 매트릭스와 상기 제2 관계성을 정의한 제2 매트릭스에서 상기 관심 장소들에 해당하는 요소들을 공유하도록 상기 제1 매트릭스 및 제2 매트릭스에 대한 Matrix Factorization(MF)을 수행하는 과정을 포함할 수 있다.In the first place recommendation method, elements corresponding to the places of interest are shared in the first matrix defining the first relation and the second matrix defining the second relation, and the first and second matrices are It may include a process of performing Matrix Factorization (MF).

제어부(130)는 상기 제1 장소 추천 방법에 근거하여, 복수의 사용자 그룹 중 장소에 대한 관심도가 가장 큰 사용자 그룹(제1 그룹, 431, 도 3 참조)에 대한 추천 장소를 추출할 수 있다.Based on the first place recommendation method, the controller 130 may extract a recommended place for a user group (the first group 431, see FIG. 3 ) having the highest degree of interest in a place among a plurality of user groups.

나아가, 복수의 장소 추천 방법 중 제2 장소 추천 방법은, POI2VEC(342) 모델링 방법일 수 있다. 제2 장소 추천 방법은, 복수의 사용자들의 히스토리 정보에 포함된 관심 장소들에 각각 대응되는 단어들을 벡터 공간 상에 나타내는 과정 및 상기 벡터 공간으로부터 상기 추천 장소를 추출하는 과정을 포함할 수 있다. 여기에서, “복수의 사용자들”은, 앞서 살펴본 1차 분류 및 2차 분류를 통하여 구분된 사용자 그룹에 포함된 사용자들일 수 있고, 이와 달리, 1차 분류를 통하여 구분된 사용자 그룹에 포함된 사용자들일 수 있다. 1차 분류를 통하여 구분된 사용자 그룹에 포함된 사용자들은 장소에 대한 관심도 정도가 서로 상이한 복수의 그룹 각각에 해당하는 사용자들을 모두 포함할 수 있다.Furthermore, the second place recommendation method among the plurality of place recommendation methods may be a POI2VEC 342 modeling method. The second place recommendation method may include displaying words corresponding to places of interest included in the history information of a plurality of users on a vector space and extracting the recommended place from the vector space. Here, the “plural users” may be users included in the user group classified through the primary classification and the secondary classification described above, and, in contrast, users included in the user group classified through the primary classification. can take Users included in the user group classified through the primary classification may include all users corresponding to each of a plurality of groups having different degrees of interest in places.

제어부(130)는, 제2 장소 추천 방법에 따라, 상기 복수의 사용자들 각각을 기준으로, 관심 장소들에 각각 대응되는 단어들 중 적어도 일부를 포함한 문장(sentence)을 생성할 수 있다. 그리고, 제어부(130)는 상기 문장에 대해 워드 임베딩(word embedding)을 수행하여, 상기 문장에 포함된 단어들을 벡터 공간 상에 나타낼 수 있다. 나아가, 제어부(130)는 벡터 공간 상에 나타난 단어들 간의 거리에 근거하여, 사용자에 대해 추천 장소를 추출할 수 있다.According to the second place recommendation method, the controller 130 may generate a sentence including at least some of words respectively corresponding to places of interest based on each of the plurality of users. In addition, the controller 130 may perform word embedding on the sentence to display the words included in the sentence on a vector space. Furthermore, the controller 130 may extract a recommended place for the user based on the distance between words appearing on the vector space.

복수의 장소 추천 방법 중 제3 장소 추천 방법은, Statistical Model(343) 모델링 방법일 수 있다.A third place recommendation method among the plurality of place recommendation methods may be a modeling method of the Statistical Model 343 .

제3 장소 추천 방법은, 복수의 사용자들의 히스토리 정보에 포함된 관심 장소들에 통계에 근거하여 추천 장소를 추출하는 과정을 포함할 수 있다. 여기에서, “복수의 사용자들”은, 앞서 살펴본 1차 분류 및 2차 분류를 통하여 구분된 사용자 그룹에 포함된 사용자들일 수 있고, 이와 달리, 1차 분류를 통하여 구분된 사용자 그룹에 포함된 사용자들일 수 있다. 1차 분류를 통하여 구분된 사용자 그룹에 포함된 사용자들은 장소에 대한 관심도 정도가 서로 상이한 복수의 그룹 각각에 해당하는 사용자들을 모두 포함할 수 있다.The third place recommendation method may include extracting a recommended place based on statistics on places of interest included in the history information of a plurality of users. Here, the “plural users” may be users included in the user group classified through the primary classification and the secondary classification described above, and, in contrast, users included in the user group classified through the primary classification. can take Users included in the user group classified through the primary classification may include all users corresponding to each of a plurality of groups having different degrees of interest in places.

제3 장소 추천 방법에 의하여 장소가 추천되는 경우, 추천 대상 장소가 포함된 지역에서 가장 유명한 장소(EX: 가장 유명한 맛집)가 추천될 수 있다.When a place is recommended by the third place recommendation method, the most famous place (EX: most famous restaurant) in the region including the recommended place may be recommended.

이와 같이, 제어부(130)는 앞서 살펴본 복수의 사용자 그룹 중, i)장소에 대한 관심도 정도가 가장 큰 제1 사용자 그룹(431)에 대해서는 제1 장소 추천 방법(CoFactor(341) 모델링 방법)에 근거하여, 추천 장소를 추출하고, ii)장소에 대한 관심도가 중간 정도인 제2 사용자 그룹(432)에 대해서는, 제2 장소 추천 방법(POI2VEC(342) 모델링 방법)에 근거하여 추천 장소를 추출하며, iii)장소에 대한 관심도가 가장 적은 제3 사용자 그룹(433)에 대해서는, 제3 장소 추천 방법(Statistical Model(343) 모델링 방법)에 근거하여 추천 장소를 추출할 수 있다.As described above, the controller 130 determines, among the plurality of user groups discussed above, i) based on the first place recommendation method (CoFactor 341 modeling method) for the first user group 431 having the greatest degree of interest in the place. Thus, a recommended place is extracted, and ii) a recommended place is extracted based on the second place recommendation method (POI2VEC (342) modeling method) for the second user group 432 with a moderate degree of interest in the place, iii) With respect to the third user group 433 having the lowest degree of interest in a place, a recommended place may be extracted based on a third place recommendation method (a modeling method of the Statistical Model 343).

나아가, 본 발명에 따른 시스템(300)의 후처리 모듈(postprocess, 350)은, 앙상블 모델링 모듈(351, Ensemble Model) 및 다양성 모델링 모듈(352, Diversity Model), Explanation 모델링 모듈(353)을 중 적어도 하나를 포함할 수 있다.Furthermore, the postprocessing module 350 of the system 300 according to the present invention includes at least an ensemble modeling module 351, an Ensemble Model, a diversity modeling module 352, and an Explanation modeling module 353. may contain one.

보다 구체적으로, 앙상블 모델링 모듈(351)은 추천 모델링(recommendation modeling) 모듈(340)에 근거하여, 각각의 장소 추천 방법에 근거하여, 추천된 장소들 및 이들을 그룹화한 후보군들을 서로 섞는(믹스(mix)) 역할을 수행할 수 있다.More specifically, the ensemble modeling module 351 mixes (mix (mix) )) can play a role.

보다 구체적으로, 앙상블 모델링 모듈(351)은 어느 하나의 장소 추천 방법을 통해 추천된 추천 대상 장소의 적어도 일부를, 다른 장소 추천 방법에 의해 추천된 추천 대상 장소의 적어도 일부와 섞는(믹스(mix)) 역할을 수행할 수 있다. 예를 들어, 앙상블 모델링 모듈(351)에 의하여, 장소에 대한 관심도가 높은 제1 사용자 그룹(heavy)에 대응되는 제1 장소 추천 방법을 통해 추천된 추천 장소 후보군(적어도 하나의 추천 장소가 포함된 그룹)에 포함된 장소 중 적어도 일부는, 제3 사용자 그룹(light)에 대응되는 제3 장소 추천 방법을 통해 추천된 추천 장소 후보군에 포함될 수 있다.More specifically, the ensemble modeling module 351 mixes (mixes) at least a portion of a recommendation target place recommended through one place recommendation method with at least a portion of a recommendation target place recommended by another place recommendation method. ) can play a role. For example, by the ensemble modeling module 351, a recommended place candidate group (including at least one recommended place) recommended through a first place recommendation method corresponding to a first user group (heavy) with a high degree of interest in a place At least some of the places included in the group) may be included in a recommended place candidate group recommended through a third place recommendation method corresponding to a third user group (light).

다양성 모델링 모듈(352)은 일정 기간 내에 동일한 장소(예를 들어, 동일 맛집)가 반복되어 사용자에게 추천되지 않도록 하는 것으로서, 일정 기간 내에 동일 사용자에게 동일 추천 대상 장소가 추출되는 경우, 이를 다른 추천 대상 장소로 변경하는 역할을 수행할 수 있다. 그 결과, 사용자는 일정 기간 내에 동일한 장소를 추천받지 않음으로써, 다양한 장소에 대한 정보를 제공받을 수 있다.The diversity modeling module 352 prevents the same place (eg, the same restaurant) from being recommended to the user repeatedly within a certain period of time. It can play a role in changing the place. As a result, the user may be provided with information on various places by not recommending the same place within a certain period of time.

다음으로, Explanation 모델링 모듈(353)은 추천 대상 장소가 추천된 근거(또는 이유, 근거)에 대한 설명 정보를 제공하는 역할을 수행할 수 있다. Explanation 모델링 모듈(353)은 추천 대상 장소가 사용자에게 추천되는 근거를 생성할 수 있다. Explanation 모델링 모듈(353)은 사용자와 장소와의 관련도 및 추천 대상 장소가 속한 추천 대상 장소 후보그룹(후보군 등) 내에서의 해당 추천 대상 장소의 순위 중 적어도 하나를 고려하여, 추천 대상 장소에 대한 추천 지수를 생성할 수 있다. 이때, Explanation 모델링 모듈(353)은, 사용자의 히스토리 정보 또는 사용자 메타 데이터 등을 고려하여, 추천 대상 장소와 사용자와의 관련성을 추출할 수 있다.Next, the Explanation modeling module 353 may serve to provide explanatory information on the reason (or reason, rationale) for which the recommendation target place is recommended. Explanation The modeling module 353 may generate a basis for recommending a recommended place to a user. Explanation The modeling module 353 considers at least one of the degree of relevance between the user and the place and the ranking of the corresponding recommended place in the recommendation target place candidate group (candidate group, etc.) to which the recommendation target place belongs. You can create a recommendation index. In this case, the Explanation modeling module 353 may extract the relation between the recommendation target place and the user in consideration of the user's history information or user metadata.

이러한 후처리 모듈(350)은, 시스템(300)에 포함된 각각의 모듈에서 처리된 데이터들에 대한 신뢰도, 정확도 등을 보완하는 역할을 수행할 수 있다.The post-processing module 350 may serve to supplement reliability and accuracy of data processed by each module included in the system 300 .

이하에서는, 위에서 살펴본 장소 추천 시스템을 참고하여, 본 발명에 따른 장소 추천 방법에 대하여 첨부된 도면과 함께 보다 구체적으로 살펴본다. 도 4는 본 발명에 따른 장소 추천 방법을 설명하기 위한 흐름도이고, 도 5는 본 발명에서 사용자의 히스토리 정보를 수집하는 방법을 설명하기 위한 개념도이다. 나아가, 도 6 및 도 7은 복수의 사용자 그룹을 설명하기 개념도들이며. 도 8, 도 9, 도 10, 도 11, 도 12, 도 13, 도 14 및 도 15는 장소 추천 방법의 일 예를 설명하기 위한 개념도들이다. 또한, 도 16 및 도 17은 장소 추천 방법의 다른 예를 설명하기 위한 개념도들이고, 도 18은 장소 추천 정보를 설명하기 위한 개념도이다.Hereinafter, with reference to the above-described place recommendation system, a method for recommending a place according to the present invention will be described in more detail with accompanying drawings. 4 is a flowchart illustrating a place recommendation method according to the present invention, and FIG. 5 is a conceptual diagram illustrating a method of collecting user history information in the present invention. Further, FIGS. 6 and 7 are conceptual diagrams illustrating a plurality of user groups. 8, 9, 10, 11, 12, 13, 14, and 15 are conceptual diagrams for explaining an example of a place recommendation method. 16 and 17 are conceptual diagrams for explaining another example of a place recommendation method, and FIG. 18 is a conceptual diagram for explaining place recommendation information.

먼저, 도 4를 참조하면, 본 발명에 따른 장소 추천 방법에서는, 사용자에 대한 히스토리 정보를 수집하는 과정이 진행될 수 있다(S310).First, referring to FIG. 4 , in the method for recommending a place according to the present invention, a process of collecting history information about a user may be performed ( S310 ).

제어부(130)는 도 6에 도시된 것과 같이, 사용자 단말기로부터, 사용자(600)의 히스토리 정보(610)를 수집할 수 있다. 본 발명에서 히스토리 정보를 수집하는 방법은 매우 다양할 수 있으므로, 구체적인 방법에 대한 한정을 하지 않기로 한다.As shown in FIG. 6 , the controller 130 may collect history information 610 of the user 600 from the user terminal. Since the method of collecting history information in the present invention may be very diverse, the specific method will not be limited.

한편, 사용자의 히스토리 정보는, 사용자의 관심 장소에 대한 정보로 이해되어질 수 있다. 여기에서, 관심 장소란, 사용자의 자발적인 의사(또는 선택)에 의하여, 해당 장소에 대해 사용자가 관심이 있다고 여겨질 만한 이벤트가 발생된 장소를 의미할 수 있다.Meanwhile, the user's history information may be understood as information on the user's place of interest. Here, the place of interest may refer to a place where an event that is considered to be of interest to the user is generated by the user's voluntary intention (or selection).

예를 들어, 상기 이벤트는, 적어도 하나의 관심 장소와 관련된 예약, 문서(ex: 웹페이지, 이미지, 영상 등)의 선택, 정보의 저장, 콜(call) 발신, 장소 검색(ex: 검색 포털 사이트를 통한 검색 등) 및 경로 검색(ex: 네비게이션 서비스 또는 지도 서비스 등을 통한 검색 등) 등이 존재할 수 있다.For example, the event may include a reservation related to at least one place of interest, selection of a document (eg, a web page, image, video, etc.), storage of information, a call, and a place search (eg, a search portal site). Search through , etc.) and route search (ex: search through navigation service or map service, etc.) may exist.

한편, 검색 이벤트는, 사용자 단말기에 입력된 검색어에 대한 검색 결과 중 사용자의 선택에 의하여 선택 또는 클릭된 행위가 이루어짐에 의하여 발생할 수 있다.On the other hand, the search event may be generated by an action selected or clicked by the user's selection among the search results for the search word input into the user terminal.

나아가, 사용자의 히스토리 정보는, 위에서 살펴본 이벤트가 수행된 또는 발생된 횟수에 대한 카운팅 정보를 포함할 수 있다.Furthermore, the user's history information may include counting information about the number of times the above-described event has been performed or generated.

이와 같이, 사용자의 히스토리 정보는, 적어도 하나의 관심 장소에 대한 장소 정보와 함께, 상기 적어도 하나의 관심 장소와 관련된 예약, 문서의 선택, 정보의 저장, 콜(call) 발신, 장소 검색 및 경로 검색 중 적어도 하나를 수행한 횟수와 관련된 카운팅 정보를 포함할 수 있다. 이러한 횟수와 관련된 카운팅 정보는 빈도 정보라고도 명명될 수 있다.In this way, the user's history information, together with the place information on the at least one POI, may include a reservation related to the at least one POI, selection of a document, storage of information, a call origination, a place search, and a route search related to the at least one POI. It may include counting information related to the number of times of performing at least one of them. Counting information related to the number of times may also be referred to as frequency information.

나아가, 사용자의 히스토리 정보는, 상기 이벤트가 발생한 시점 및 날짜 중 적어도 하나와 관련된 일자 정보를 더 포함할 수 있다.Furthermore, the user's history information may further include date information related to at least one of a time point and a date when the event occurred.

이러한 사용자의 히스토리 정보는, 도 5에 도시된 것과 같이, 사용자 별로 구분되어 존재(510, 520, 530, 540, 550) 및 저장될 수 있다. 사용자 별로의 구분은, 본 발명의 장소 추천 시스템에 연계된 사용자DB(DB: data base)에 포함된 사용자의 ID(identification, identification number)(또는 USER ID) 별로 매칭되어 저장될 수 있다.As shown in FIG. 5 , the user's history information may be classified for each user, and may be present (510, 520, 530, 540, 550) and stored. Classification for each user may be stored by matching each user's identification (identification, identification number) (or USER ID) included in a user DB (data base) linked to the place recommendation system of the present invention.

도 5에 도시된 것과 같이, 히스토리 정보는 장소(본 발명에서는, 알파벳(A 내지 D 등)을 이용하여, 서로 다른 장소를 구분함)에 대한 정보 및 장소에 대한 이벤트의 정보(또는 종류)(예를 들어, 문서(EX: 블로그) 검색, 콜 발신(전화), 길찾기 등)를 포함할 수 있다.As shown in FIG. 5 , the history information includes information about a place (in the present invention, using alphabets (A to D, etc.) to distinguish different places) and information (or type) of an event about the place ( For example, document (EX: blog) search, call origination (phone), directions, etc.) may be included.

다음으로, 본 발명에서는, 히스토리 정보를 기반으로, 사용자가 속한 사용자 그룹을 특정하는 과정을 진행할 수 있다(S320).Next, in the present invention, a process of specifying a user group to which the user belongs may be performed based on the history information (S320).

보다 구체적으로, 제어부(130)는 사용자의 히스토리 정보 및 사용자 메타데이터 중 적어도 하나를 이용하여, 사용자가 속한 사용자 그룹을 특정할 수 있다.More specifically, the controller 130 may specify a user group to which the user belongs by using at least one of the user's history information and user metadata.

사용자 메타데이터(metadata)는 사용자를 특정하기 위한 정보로서, 사용자의 개인정보 또는 신상정보라고도 이해되어질 수 있다.User metadata is information for specifying a user, and may be understood as personal information or personal information of a user.

사용자 메타데이터는, 사용자(또는 특정 사용자)의 성별 및 연령 중 적어도 하나와 관련된 정보를 포함할 수 있다. 사용자의 메타 데이터는 이외에도, 사용자의 주거 지역, 근무 지역, 관심사, 취미, 직업 등 다양한 정보를 더 포함할 수 있다.The user metadata may include information related to at least one of a gender and an age of a user (or a specific user). The user's metadata may further include various information such as the user's residential area, work area, interests, hobbies, and occupation.

즉, 사용자 메타데이터에는 해당 사용자가 관심있어 하는 장소에 대한 정보, 장소에 대해 관심의 의사를 표현한 이벤트의 횟수 정보(카운팅 정보) 등이 함께 저장될 수 있다. 이 경우, 사용자 메타데이터는, 사용자의 히스토리 정보를 포함하는 개념으로 이해되어 질 수 있다.That is, the user metadata may store information on a place in which the user is interested, information on the number of events expressing interest in the place (counting information), and the like. In this case, user metadata may be understood as a concept including user history information.

앞서 살펴본 것과 같이, 본 발명에서는 도 6에 도시된 것과 같이, 복수의 사용자 그룹(620)이 존재하며, 각각의 사용자 그룹(621, 622, 623)은 장소에 대한 관심도를 기준으로 구분될 수 있다.As described above, in the present invention, as shown in FIG. 6 , a plurality of user groups 620 exist, and each of the user groups 621 , 622 , and 623 may be classified based on the degree of interest in the place. .

제어부(130)는 사용자 메타데이터 및 사용자의 히스토리 정보 중 적어도 하나를 기반으로, 사용자가 복수의 사용자 그룹(620) 중 어느 사용자 그룹에 속하는지 판단할 수 있다. 도 6에서는 사용자 그룹을 크게 3그룹으로 분류하였으나, 이는 일 예에 해당할 뿐, 사용자 그룹을 분류하는 기준 및 수는 다양하게 변경될 수 있다.The controller 130 may determine which user group the user belongs to among the plurality of user groups 620 based on at least one of user metadata and user history information. In FIG. 6 , the user groups are largely classified into three groups, but this is only an example, and the criteria and number of user groups for classifying the user groups may be variously changed.

복수의 사용자 그룹(620) 중, i)제1 사용자 그룹(heavy User, 621)은 장소에 대한 관심도가 가장 높은 그룹이고, ii)제2 사용자 그룹(middle User, 622)은 장소에 대한 관심도가 제1 사용자 그룹 보다는 낮으나, 어느 정도 관심은 있는 그룹이며, iii)제3 사용자 그룹(light, 623)는 장소에 대한 관심도가 낮은 그룹으로 정의될 수 있다.Among the plurality of user groups 620, i) the first user group (heavy User) 621 is the group with the highest degree of interest in the place, and ii) the second user group (middle User, 622) has the highest degree of interest in the place. Although it is lower than the first user group, it is a group with a certain degree of interest, and iii) the third user group (light, 623) may be defined as a group with a low level of interest in a place.

이러한 복수의 사용자 그룹은, 장소에 대한 관심도에 근거하여 분류될 수 있으며, 이러한 관심도의 정도는, 앞서 살펴본 사용자의 장소에 대해 관심이 있다고 여겨질 만한 행동에 대한 이벤트 발생 정도에 근거하여 산출 또는 추출될 수 있다.Such a plurality of user groups may be classified based on the degree of interest in the place, and the degree of interest is calculated or extracted based on the degree of occurrence of an event for an action that is considered to be interested in the user's place as described above. can be

제어부(130)는 i)사용자 그룹의 분류 대상 사용자들 중 상위 xx%(예를 들어, 13%)에 해당하는 장소에 대해 관심도를 가진 사용자를 제1 사용자 그룹(621)으로 분류하고, ii) 사용자 그룹의 분류 대상 사용자들 중 상기 제1 사용자 그룹의 사용자를 제외하고, 상위 yy%(예를 들어, 38%)에 해당하는 장소에 대해 관심도를 가진 사용자를 제2 사용자 그룹(622)으로 분류하며, iii)나머지 사용자들을 제3 사용자 그룹(623)으로 분류할 수 있다.The control unit 130 i) classifies a user having an interest in a place corresponding to the top xx% (eg, 13%) among users of the user group to be classified into the first user group 621, ii) A user with an interest in a place corresponding to the top yy% (eg, 38%) is classified into the second user group 622 , except for the user of the first user group among users to be classified in the user group. and iii) the remaining users may be classified into a third user group 623 .

이 경우, 제1 사용자 그룹의 사용자들이 차지하는 비율을 전체 사용자 그룹의 분류 대상 사용자들 중 13%에 해당하고, 제2 사용자 그룹의 사용자들이 자치하는 비율은 25%에 해당하며, 제3 사용자 그룹의 사용자들이 차지하는 비율은 62%에 해당할 수 있다.In this case, the proportion occupied by users of the first user group corresponds to 13% of the users to be classified in the total user group, the proportion in which users of the second user group self-governing corresponds to 25%, and The proportion of users may correspond to 62%.

이와 같이, 각각의 사용자 그룹에는, 장소에 대한 사용자들의 관심도 정도가 각각 매칭되어 존재할 수 있다.As such, in each user group, the degree of the users' interest in the place may be matched to each other.

이와 같이, 제어부(130)는 분류 대상의 사용자들 간의 상대적인 관심도를 고려하여, 사용자 그룹을 분류할 수 있다.In this way, the controller 130 may classify the user group in consideration of the relative degree of interest among users to be classified.

한편, 제어부(130)는 앞서 살펴본 사용자가 장소에 대해 관심이 있다고 여겨질 만한 행동에 대한 이벤트 발생 정도에 근거하여, 사용자의 관심도 정도를 산출 또는 추출함으로써, 해당 관심도 정도에 근거하여, 사용자가 어느 사용자 그룹에 해당하는지 판단할 수 있다.On the other hand, the control unit 130 calculates or extracts the user's degree of interest based on the occurrence of an event for an action that the user may be interested in in the above-mentioned place, and, based on the degree of interest, the user It can be determined whether it corresponds to a user group.

상기 이벤트는, 적어도 하나의 관심 장소와 관련된 예약, 문서(ex: 웹페이지, 이미지, 영상 등)의 선택, 정보의 저장, 콜(call) 발신, 장소 검색(ex: 검색 포털 사이트를 통한 검색 등) 및 경로 검색(ex: 네비게이션 서비스 또는 지도 서비스 등을 통한 검색 등) 등이 존재할 수 있다. The event may include reservation related to at least one place of interest, selection of a document (eg: web page, image, video, etc.), storage of information, sending a call, searching for a place (ex: searching through a search portal site, etc.) ) and route search (eg: search through a navigation service or a map service, etc.) may exist.

앞서 살펴본 것과 같이, 사용자의 히스토리 정보 또는 사용자 메타데이터에는, 위에서 살펴본 이벤트가 수행된 또는 발생된 횟수에 대한 카운팅 정보를 포함할 수 있다.As described above, the user's history information or user metadata may include counting information on the number of times the above-described event has been performed or occurred.

이와 같이, 제어부(130)는 복수의 사용자들의 메타데이터(또는 히스토리 정보)를 기반으로, 사용자(특정 사용자)가 어느 사용자 그룹에 해당하는지를 판단할 수 있다. In this way, the controller 130 may determine which user group the user (specific user) corresponds to based on the metadata (or history information) of the plurality of users.

보다 구체적으로, 제어부(130)는, 히스토리 정보(또는 사용자 메타데이터)에 포함된 상기 카운팅 정보와, 상기 특정 사용자의 사용자 메타데이터(metadata)에 대응되는 다른 사용자들의 히스토리 정보에 포함된 카운팅 정보의 비교를 수행할 수 있다. 그리고, 제어부(130)는 상기 비교에 근거하여, 특정 사용자(사용자 그룹을 분류해야 할 대상에 해당하는 사용자)의 장소에 대한 관심도의 정도를 산출할 수 있다.More specifically, the control unit 130 may control the counting information included in the history information (or user metadata) and the counting information included in the history information of other users corresponding to the user metadata of the specific user. comparison can be performed. And, based on the comparison, the controller 130 may calculate the degree of interest in the place of a specific user (a user corresponding to an object to be classified into a user group).

상기 특정 사용자의 카운팅 정보에 포함된 횟수가, 상기 다른 사용자들의 카운팅정보에 포함된 횟수보다 많은 경우, 상기 특정 사용자의 장소에 대한 관심도는, 상기 다른 사용자들보다 장소에 대한 관심도가 더 큰 것 산출될 수 있다. 이 경우, 제어부(130)는 분류 대상의 사용자들 간의 상대적인 관심도를 고려하여, 사용자 그룹을 분류할 수 있다.When the number of times included in the counting information of the specific user is greater than the number of times included in the counting information of other users, the specific user's interest in the place is calculated as having a greater degree of interest in the place than the other users can be In this case, the controller 130 may classify the user group in consideration of the relative degree of interest among users to be classified.

보다 구체적으로, 제어부(130)는, 히스토리 정보(또는 사용자 메타데이터)에 포함된 상기 카운팅 정보와, 상기 특정 사용자의 사용자 메타데이터(metadata)에 대응되는 다른 사용자들의 히스토리 정보에 포함된 카운팅 정보의 비교를 수행할 수 있다. 그리고, 제어부(130)는 상기 비교에 근거하여, 특정 사용자(사용자 그룹을 분류해야 할 대상에 해당하는 사용자)의 장소에 대한 관심도의 정도를 산출할 수 있다.More specifically, the control unit 130 may control the counting information included in the history information (or user metadata) and the counting information included in the history information of other users corresponding to the user metadata of the specific user. comparison can be performed. And, based on the comparison, the controller 130 may calculate the degree of interest in the place of a specific user (a user corresponding to an object to be classified into a user group).

상기 특정 사용자의 카운팅 정보에 포함된 횟수가, 상기 다른 사용자들의 카운팅 정보에 포함된 횟수보다 많은 경우, 상기 특정 사용자의 장소에 대한 관심도는, 상기 다른 사용자들보다 장소에 대한 관심도가 더 큰 것 산출될 수 있다. 이 경우, 제어부(130)는 분류 대상의 사용자들 간의 상대적인 관심도를 고려하여, 사용자 그룹을 분류할 수 있다.When the number of times included in the counting information of the specific user is greater than the number of times included in the counting information of other users, the degree of interest in the specific user's place is calculated that the degree of interest in the place is greater than that of the other users can be In this case, the controller 130 may classify the user group in consideration of the relative degree of interest among users to be classified.

한편, 이러한 사용자 그룹은, 사용자 메타데이터 중 특정 요소를 기준으로 분류된 사용자들 내에서 분류된 사용자 그룹을 의미할 수 있다.Meanwhile, such a user group may mean a user group classified within users classified based on a specific element in user metadata.

즉, 제어부(130)는 사용자들 마다의 대표 공통점을 추출하여, 해당 공통점을 갖는 사용자들을 동일한 사용자 그룹으로 분류(1차 분류)한 뒤, 분류된 사용자 그룹 내에서, 세분화된 사용자 그룹(앞서 살펴본, 제1 내지 제3 사용자 그룹(도 3의 421 내지 433 참조))을 분류할 수 있다,That is, the controller 130 extracts the representative common points of each user, classifies the users having the common points into the same user group (primary classification), and then within the classified user group, the subdivided user group (as described above) , it is possible to classify the first to third user groups (see 421 to 433 in FIG. 3),

예를 들어, 이러한 공통점은, 성별 및 연령대 중 적어도 하나와 관련될 수 있다.For example, these commonalities may relate to at least one of gender and age group.

예를 들어, 제어부(130)는 “여성” 및 “20대”의 공통점을 갖는 사용자들을 1차적으로 분류한 뒤, 1차적으로 분류된 사용자들 내에서 제1 내지 제3 사용자 그룹(도 3의 421 내지 433 참조)을 추가적으로 분류할 수 있다.For example, the controller 130 first classifies users having a commonality of “female” and “twenties”, and then the first to third user groups (shown in FIG. 3 ) among the primarily classified users. 421 to 433) can be further classified.

이 경우, 제어부(130)는 장소 추천의 대상이 되는 사용자의 사용자 메타데이터를 참조하여, 해당 사용자의 성별 및 연령대를 추출하고, 추출된 성별 및 연령대를 참조하여, 장소 추천의 대상이 되는 사용자가, 서로 다른 메타데이터를 갖는 복수의 사용자 그룹 내에서, 어느 사용자 그룹에 속하는지를 1차적으로 분류(또는 추출)할 수 있다.In this case, the controller 130 extracts the gender and age group of the user by referring to the user metadata of the user who is the target of the place recommendation, and refers to the extracted gender and age group, the user who is the target of the place recommendation , which user group belongs to within a plurality of user groups having different metadata may be primarily classified (or extracted).

이와 같이, 공통점을 기준으로 사용자들 1차적으로 분류하는 이유는, 해당 공통점들을 갖는 사용자들 마다의 장소에 대한 관심 특성이 상이하기 때문이다(예를 들어, 20대 여성은 “스파게티”를 좋아하는 반면, 50내 남성은 “국밥”을 좋아하는 특성을 가짐).As such, the reason for primary classification of users based on commonalities is that each user having the corresponding commonalities has different characteristics of interest in places (for example, a woman in her 20s likes “spaghetti”). On the other hand, men in their 50s have the characteristic of liking “gukbap”).

이와 같이, 본 발명에서의 사용자 그룹은, 1차적으로 사용자 메타데이터를 기준으로 분류되고, 1차적으로 분류된 사용자 그룹 내에서 사용자의 장소에 대한 관심도에 근거하여 2차적으로 분류될 수 있다. 본 발명에서 “사용자 그룹을 특정한다” 함은, 위에서 살펴본 1차 및 2차에 따른 분류를 모두 수행한 것을 의미할 수 있다.As such, the user group in the present invention may be primarily classified based on user metadata, and may be secondarily classified based on the degree of interest in the user's place within the primary classified user group. In the present invention, “specifying a user group” may mean performing both the primary and secondary classifications described above.

이와 같이, 제어부(130)는 서로 공통점을 갖는 사용자들을 기준으로 분류한 복수의 사용자 그룹 중, 장소 추천의 대상이 되는 사용자가 속한 사용자 그룹을 특정할 수 있다.In this way, the controller 130 may specify a user group to which the user who is the target of the place recommendation belongs from among a plurality of user groups classified based on users having common features.

다음으로 본 발명에서는, 사용자 그룹에 매칭된 장소 추천 방법에 근거하여, 추천 장소를 추출하는 과정이 진행될 수 있다(S330).Next, in the present invention, a process of extracting a recommended place may be performed based on the method of recommending a place matched to a user group ( S330 ).

보다 구체적으로, 제어부(130)는, 사용자 그룹마다 서로 다른 장소 추천 방법에 따라 사용자에게 장소를 추천할 수 있다. 제어부(130)는 복수의 장소 추천 방법 중 장소 추천의 대상이 되는 사용자가 속한 사용자 그룹에 매칭된 장소 추천 방법에 근거하여, 추천 대상 장소를 추출할 수 있다.More specifically, the controller 130 may recommend a place to the user according to a different place recommendation method for each user group. The controller 130 may extract a recommended place based on a place recommendation method matched with a user group to which the user who is the target of the place recommendation belongs among the plurality of place recommendation methods.

제어부(130) 복수의 사용자 그룹 중, i)장소에 대한 관심도 정도가 가장 큰 제1 사용자 그룹(621)에 대해서는 제1 장소 추천 방법(CoFactor(631) 모델링 방법)에 근거하여, 추천 장소를 추출하고, ii)장소에 대한 관심도가 중간 정도인 제2 사용자 그룹(622)에 대해서는, 제2 장소 추천 방법(POI2VEC(632) 모델링 방법)에 근거하여 추천 장소를 추출하며, iii)장소에 대한 관심도가 가장 적은 제3 사용자 그룹(623)에 대해서는, 제3 장소 추천 방법(Statistical Model(633) 모델링 방법)에 근거하여 추천 장소를 추출할 수 있다(각각의 장소 추천 방법에 대해서는 뒷부분에서 보다 구체적으로 살펴본다).The controller 130 extracts a recommended place based on the first place recommendation method (CoFactor 631 modeling method) for the first user group 621 with the highest degree of interest in i) a place among the plurality of user groups. and ii) extracting a recommended place based on the second place recommendation method (POI2VEC (632) modeling method) for the second user group 622 with a medium degree of interest in the place, iii) the interest in the place For the third user group 623 with the smallest number, a recommended place may be extracted based on the third place recommendation method (Statistical Model 633 modeling method) (each place recommendation method will be described in more detail later). look).

한편, 제어부(130)는 사용자에게 장소를 추천하는 지역이, 사용자의 관심 지역(또는 활동) 지역인지에 따라, 사용자가 속한 사용자 그룹에 매칭된 장소 추천 방법으로 추천 장소를 추출할지 여부를 결정할 수 있다.On the other hand, the controller 130 may determine whether to extract a recommended place by a method for recommending a place matched to a user group to which the user belongs, depending on whether the region recommending a place to the user is a region of interest (or activity) of the user. have.

즉, 제어부(130)는, 사용자에게 장소를 추천하는 지역이, 사용자의 관심 지역(또는 활동) 지역인 경우에 한하여, 사용자가 속한 사용자 그룹에 매칭된 장소 추천 방법으로 추천 장소를 추출할 수 있다.That is, the controller 130 may extract a recommended place by a method for recommending a place matched to a user group to which the user belongs, only when the region in which the place is recommended to the user is a region of interest (or activity) of the user. .

제어부(130)는 사용자 마다 지역 선호도를 구분할 수 있다. 도 7의 (a)에 도시된 것과 같이, 지역 선호도(또는 지역 관심도)는 사용자의 활동 지역(또는 주 활동 지역, 관심 지역, 710) 및 기타 지역(720)으로 분류될 수 있다. 사용자의 활동 지역(710)은, 사용자가 주로 방문하는 장소가 위치한 지역, 사용자의 주거 지역, 근무 지역 등(예를 들어, 강남구, 분당구, 용산구)이고, 기타 지역은 이 외이 지역일 수 있다.The controller 130 may classify regional preferences for each user. As shown in (a) of FIG. 7 , the regional preference (or regional interest) may be classified into a user's active region (or a main activity region, a region of interest, 710 ) and other regions 720 . The user's activity area 710 is an area where a place that the user mainly visits is located, the user's residential area, work area, etc. (eg, Gangnam-gu, Bundang-gu, Yongsan-gu), and other areas may be other regions.

본 발명에서 사용자 마다 지역 선호도를 구분하는 이유는, 사용자의 히스토리 정보는, 사용자의 활동 지역에 포함된 장소 정보로 구성될 가능성이 높기 때문이다. 즉, 사용자는, 사용자의 활동 지역에 대해서는 제1 사용자 그룹(heavy User, 621, 622) 또는 제2 사용자 그룹(middle user, 622)에 해당하는 사용자일 수 있으나, 기타 지역에 대해서는 제3 사용자 그룹(light, 623)에 해당하는 사용자일 수 있다.The reason for classifying regional preferences for each user in the present invention is that the user's history information is highly likely to be composed of place information included in the user's active area. That is, the user may be a user corresponding to the first user group (heavy user, 621, 622) or the second user group (middle user, 622) for the user's active area, but may be a third user group for other areas It may be a user corresponding to (light, 623).

이와 같이, 제어부(130)는 사용자의 히스토리 정보에 근거하여, 사용자의 활동 지역을 특정하고, 추천 대상 장소를 추출하는 지역이 사용자의 활동 지역인지 여부를 고려하여, 특정 사용자가 속하는 사용자 그룹에 매칭된 장소 추천 방법으로 추천 장소를 추출할지 결정할 수 있다.In this way, the controller 130 specifies the user's activity area based on the user's history information, and matches the user group to which the specific user belongs, considering whether the area from which the recommended place is extracted is the user's activity area It is possible to determine whether to extract a recommended place by the recommended place recommendation method.

예를 들어, 제어부(130)는, 도 7의 (b)에 도시된 것과 같이, 사용자에게 장소를 추천할 지역이, 사용자(702)의 활동 지역(711)인 경우, 사용자에 매칭된 사용자 그룹을 기준으로 장소를 추천(730, 개인화 추천 방법, 사용자 맞춤형 추천 방법)할 수 있다. 그리고, 제어부(130)는 도 7의 (c)에 도시된 것과 같이, 사용자에게 장소를 추천할 지역이, 사용자(703)의 비활동 지역(또는 기타 지역, 721)인 경우, 사용자에 매칭된 사용자 그룹이 아닌, 장소에 대해 관심도가 가장 낮은 그룹에 매칭된 장소 추천 방법(통계적 방법(제3 장소 추천 방법) 등, 740)으로, 추천 장소를 추출할 수 있다. 제3 장소 추천 방법에 의하여 장소가 추천되는 경우, 추천 대상 장소가 포함된 지역에서 가장 유명한 장소(EX: 가장 유명한 맛집)가 추천될 수 있다.For example, as shown in (b) of FIG. 7 , when the area to recommend a place to the user is the activity area 711 of the user 702 , the control unit 130 may include a user group matched to the user. A place may be recommended based on 730 (a personalized recommendation method, a user-customized recommendation method). Then, as shown in (c) of FIG. 7 , when an area to recommend a place to the user is an inactive area (or other area, 721 ) of the user 703 , the controller 130 matches the user The recommended place may be extracted using a place recommendation method (statistical method (third place recommendation method), etc., 740 ) matched with a group having the lowest interest in a place, not a user group. When a place is recommended by the third place recommendation method, the most famous place (EX: most famous restaurant) in the region including the recommended place may be recommended.

이하에서는, 각각의 장소 추천 방법에 따라, 추천 장소를 추출하는 방법에 대하여 보다 구체적으로 살펴본다.Hereinafter, a method of extracting a recommended place according to each place recommendation method will be described in more detail.

먼저, 장소에 대한 관심도 정도가 가장 큰 제1 사용자 그룹(621)에 매칭된 제1 장소 추천 방법(CoFactor(341) 모델링 방법)에 대하여 살펴본다.First, a first place recommendation method (CoFactor 341 modeling method) matched to the first user group 621 having the highest degree of interest in a place will be described.

제어부(130) 복수의 사용자 그룹 중, i)장소에 대한 관심도 정도가 가장 큰 제1 사용자 그룹(621)에 대해서는 제1 장소 추천 방법(CoFactor(631) 모델링 방법)에 근거하여, 추천 장소를 추출할 수 있다.The controller 130 extracts a recommended place based on the first place recommendation method (CoFactor 631 modeling method) for the first user group 621 with the highest degree of interest in i) a place among the plurality of user groups. can do.

복수의 장소 추천 방법 중 제1 장소 추천 방법은, CoFactor(341) 모델링 방법으로서, 이러한 방법은, i)복수의 사용자들과 상기 복수의 사용자들의 히스토리 정보에 포함된 관심 장소들에 대한 제1 관계성 및 ii)복수의 사용자들의 히스토리 정보에 포함된 관심 장소들 간의 제2 관계성에 근거하여 추천 장소를 추출할 수 있다.A first place recommendation method among a plurality of place recommendation methods is a CoFactor 341 modeling method, and the method includes: i) a first relationship between a plurality of users and places of interest included in the history information of the plurality of users A recommended place may be extracted based on a gender and ii) a second relationship between places of interest included in the history information of a plurality of users.

여기에서, 제1 관계성은, 사용자 관심 장소 선호도(User-POI Preference) 알고리즘에 의하여 추출되고, 제2 관계성은 관심 장소 관련성(POI-POI Relevance) 알고리즘에 의하여 추출될 수 있다.Here, the first relationship may be extracted by a User-POI Preference algorithm, and the second relationship may be extracted by a POI-POI Relevance algorithm.

제1 장소 추천 방법은, 도 8에 도시된 것과 같이, 상기 제1 관계성을 정의한 제1 매트릭스(920, 도 10 참조)와 상기 제2 관계성을 정의한 제2 매트릭스(1410, 도 14 참조)에서 상기 관심 장소들에 해당하는 요소들을 공유하도록 상기 제1 매트릭스(920) 및 제2 매트릭스(1410)에 대한 Matrix Factorization(MF)을 수행하는 과정(1510)을 포함할 수 있다.In the first place recommendation method, as shown in FIG. 8 , a first matrix 920 (see FIG. 10 ) defining the first relationship and a second matrix 1410 (see FIG. 14 ) defining the second relationship may include a process 1510 of performing matrix factorization (MF) on the first matrix 920 and the second matrix 1410 to share elements corresponding to the POIs.

제어부(130)는 상기 제1 장소 추천 방법에 근거하여, 복수의 사용자 그룹 중 장소에 대한 관심도가 가장 큰 사용자 그룹(제1 그룹, 431, 도 3 참조)에 대한 추천 장소를 추출할 수 있다.Based on the first place recommendation method, the controller 130 may extract a recommended place for a user group (the first group 431, see FIG. 3 ) having the highest degree of interest in a place among a plurality of user groups.

먼저, 제1 관계성을 추출하는 방법에 대하여 살펴보면, 제어부(130)는, 사용자의 히스토리 정보에 기반하여, 도 8에 도시된 것과 같이, User-Item(또는 장소) Matrix(행렬, 830)을 최대한 채울 수 있다. 이때, 각 행(810)에는, 서로 다른 사용자 (사용자 ID를 기준으로 구분됨)에 대한 정보가 포함되며, 각 열(820)에는 서로 다른 item(장소)에 대한 정보가 포함될 수 있다. 따라서, 행렬은 User vector(사용자 벡터)와 Item vector(장소 벡터)로 나타내어질 수 있다.First, looking at the method of extracting the first relationship, the controller 130 selects a User-Item (or place) Matrix (matrix, 830) as shown in FIG. 8 based on the user's history information. can be filled as much as possible. In this case, each row 810 may include information on different users (identified based on user IDs), and each column 820 may include information on different items (places). Accordingly, the matrix can be represented by a User vector (user vector) and an Item vector (place vector).

서로 다른 장소에 대한 정보는 각 장소에 대한 사용자의 이벤트 횟수(관심 장소라고 인지될 만한 행동에 대한 이벤트의 횟수)에 대한 정보가 포함될 수 있다.The information about the different places may include information on the number of events of the user (the number of events for an action that may be recognized as a place of interest) for each place.

히스토리 정보를 기반으로 도 8의 행렬(또는 매트릭스, 830)를 채우면, 제어부(130)는 히스토리 정보에 포함된 이벤트의 횟수를 이용하여, 매트릭스(830)을 채울 수 있다. 예를 들어, user 1의 사용자 히스토리 정보를 기반으로, A장소에 대해서는 1회의 이벤트(길찾기)가 발생하고, B장소에 대해서는 3회의 이벤트(블로그 검색 2회, 전화 1회), C장소에 대해서는 2회의 이벤트(길찾기 1회, 전화 1회), D장소에 대해서는 발생된 이벤트가 없음을 확인할 수 있다.When the matrix (or matrix) 830 of FIG. 8 is filled based on the history information, the controller 130 may fill the matrix 830 using the number of events included in the history information. For example, based on user history information of user 1, one event (path finding) occurs for place A, three events (2 blog searches, one phone call) for place B, and one event to place C. It can be confirmed that there are 2 events (1 wayfinding, 1 phone call) for , and no events occurred for D place.

이와 같이, 도 3의 행렬(830)에서, USER 1에 해당하는 행의 각 열에는, 1, 3, 2, 0의 요소가 각각 채워질 수 있다.In this way, in the matrix 830 of FIG. 3 , elements 1, 3, 2, and 0 may be filled in each column of a row corresponding to USER 1, respectively.

이러한 방법으로, 제어부(130)는 동일한 사용자 그룹(이때의 사용자 그룹은, 1차적인 분류에 해당하는 사용자 그룹일 수 있음)에 포함된 사용자들의 히스토리 정보를 이용하여, 행렬(830)을 완성할 수 있다. 도시와 같이, user 1 내지 user 4 마다, 각각의 열에 포함된 장소에 대한 이벤트의 횟수에 대한 정보가 포함될 수 있다. In this way, the controller 130 may complete the matrix 830 by using the history information of users included in the same user group (in this case, the user group may be a user group corresponding to the primary classification). can As illustrated, for each user 1 to user 4, information on the number of events for a place included in each column may be included.

제어부(130)는, 상기 행렬(830)로부터, 도 9의 (a)에 도시된 것과 같이, User vector와 Item vector를 분리할 수 있다. 그리고, 제어부(130)는, User vector와 Item vector의 곱인 Expected preference(장소에 사용자들의 선호도 행렬)와 Actual Preference(장소에 대한 사용자들의 실제 선호도 행렬)의 차이가 작아지도록, 도 9의 (b)에 도시된 것과 같이, Root Mean Square Error를 작아지는 방향으로 User Vector와 Item Vector를 학습시킬 수 있다. 이러한 과정은, Matrix Factorization이라고 표현될 수 있다.The controller 130 may separate a user vector and an item vector from the matrix 830 as shown in FIG. 9A . Then, the control unit 130, so that the difference between Expected preference (users' preference matrix for a place) and Actual Preference (user's actual preference matrix for a place), which is a product of a User vector and an Item vector, is small, (b) of FIG. As shown in , User Vector and Item Vector can be learned in a direction to decrease the Root Mean Square Error. This process can be expressed as Matrix Factorization.

그리고, 제어부(130)는 도 10의 (a) 및 (b)에 도시된 것과 같이, 위의 과정에서 얻어진 User vector와 Item vector의 Inner product(내적)를 통해, 전체 Expected Preference 매트릭스(920, 도 10의 (b) 참조)를 구함으로써, 매트릭스를 완성(Matrix Completion) 시킬 수 있다. 그 결과, 도 11에 도시된 것과 같이, 종래 사용자의 히스토리 정보가 존재하지 않는 장소에 해당하는 요소(또는 인자, 831, 832, 833, 834, 835, 836)들이 모두 채워질 수 있다. 즉, 제어부(130)는 위의 과정을 통하여, Missing Preference(사용자의 관심도 정도가 존재하지 않은 장소에 대한 정보)가 추출될 수 있다. 그 결과, user 3의 B장소에 히스토리 정보가 채워질 수 있으며, 도 11의 도면부호 833과 같이, B장소에 대한 user 3의 히스토리 정보가 “1”로 채워질 수 있다. And, as shown in FIGS. 10 (a) and (b), the control unit 130 through the inner product (inner product) of the User vector and the Item vector obtained in the above process, the entire Expected Preference matrix 920, FIG. By finding (see (b) of 10), the matrix can be completed. As a result, as shown in FIG. 11 , all elements (or factors, 831, 832, 833, 834, 835, 836) corresponding to a place where the conventional user's history information does not exist may be filled. That is, through the above process, the controller 130 may extract Missing Preference (information about a place where the user's degree of interest does not exist). As a result, history information may be filled in place B of user 3, and as shown in reference numeral 833 of FIG. 11 , history information of user 3 in place B may be filled with “1”.

이러한 Expected Preference 매트릭스(920)는 종래 사용자가 관심을 나타내지 않은 장소에 대한 관심도 정보가 포함되며, 이러한 매트릭스(920) 기반으로, 제어부(130)는 사용자 개개인 마다 맞춤형 장소를 추천할 수 있다.The Expected Preference matrix 920 includes interest level information on a place that a user has not shown interest in in the prior art. Based on this matrix 920 , the controller 130 may recommend a customized place for each user.

제어부(130)는 해당 매트릭스(920)에서 인자(또는 요소)별 수치가 가장 높은 장소를 추천 장소로서 추출할 수 있다. 예를 들어, user 4에 해당하는 사용자에 대해서는, C 및 D에 해당하는 장소가 추천될 수 있다. The controller 130 may extract a place having the highest numerical value for each factor (or element) in the matrix 920 as a recommended place. For example, for a user corresponding to user 4, places corresponding to C and D may be recommended.

한편, 제어부(130)는 도 8의 사용자의 히스토리 정보를 기반으로 채워진, User-Item(또는 장소) Matrix(행렬, 830)에 Implicit Feedback 기법을 수행하여, 도 12의 (a)에 도시된 것과 같이, Implicit Feedback 기반의 User-Item(또는 장소) Matrix(행렬, 830’)을 도출하는 것이 가능하다. 이 경우, 이는, 이벤트가 존재하는 장소(itme)에 대응되는 인자에 1을 부여하고, 해당 장소에 대한 이벤트 횟수(예를 들어, 클릭 횟수)에 소정의 confidence level을 곱해서 최종적으로 해당 장소에 대한 선호도 정보를 산출하는 것이다.On the other hand, the control unit 130 performs the implicit feedback technique on the User-Item (or place) matrix (matrix, 830) filled based on the user's history information of FIG. Similarly, it is possible to derive a User-Item (or place) Matrix (matrix, 830') based on Implicit Feedback. In this case, it assigns 1 to a factor corresponding to the place (itme) where the event exists, multiplies the number of events (eg, click count) for the place by a predetermined confidence level to finally determine the place To calculate preference information.

이와 같이, Implicit Feedback 기반의 행렬에 기반하여, 앞서 살펴본 과정을 수행하면, 도 12의 (b)에 도시된 것과 같이, Expected Preference 매트릭스(920’)가 도출될 수 있다. 이러한 Implicit Feedback 기반한 장소 추천은, 사용자의 이벤트 수가 상대적으로 많은 장소만 집중하여 추천되는 문제를 방지할 수 있다.As described above, when the above-described process is performed based on the implicit feedback-based matrix, an Expected Preference matrix 920 ′ can be derived as shown in FIG. 12B . The place recommendation based on such implicit feedback can prevent the problem of being recommended by concentrating only on places with a relatively large number of user events.

다음으로, 제2 관계성을 추출하는 방법에 대하여 살펴본다, 이하에서는, 위에서 살펴본 Expected Preference 매트릭스를 이용하여, 920에 따른 매트릭스 또는 920’에 따른 매트릭스 모두 사용될 수 있으므로, Expected Preference 매트릭스의 도면 부호를 920으로 통일하여 부여하도록 한다.Next, a method of extracting the second relationship will be described. Hereinafter, both a matrix according to 920 or a matrix according to 920' can be used using the Expected Preference matrix looked at above, so the reference numerals of the Expected Preference matrix 920 to be unified.

제2 관계성은 관심 장소 관련성(POI-POI Relevance 또는 POI-POI Interaction) 알고리즘에 의하여 추출될 수 있다.The second relationship may be extracted using a place of interest relevance (POI-POI Relevance or POI-POI Interaction) algorithm.

다음으로, 관심 장소 관련성(POI-POI Relevance) 알고리즘은, 사용자의 히스토리 정보에 기반하여, 함께 자주 나타나는 장소들을 추출하는 것으로서, 제어부(130)는 해당 알고리즘에 기반하여, 관련성 있는 장소들 간에 관련성을 지어주는 역할을 수행할 수 있다. 여기에서, “함께 자주 나타난다”고 함은, 제1 장소에 대한 이벤트가 발생하였을 때, 제2 장소에 대한 이벤트도 유사한 시점에 함께 나타나는 것을 의미할 수 있다. 제어부(130)는 사용자 마다의 히스토리 정보 내에서, 함께 자주 나타나는 장소에 대한 정보를 추출할 수 있다.Next, the POI-POI Relevance algorithm extracts places that frequently appear together based on the user's history information, and the controller 130 determines the relevance between the relevant places based on the algorithm. It can play a building role. Here, “frequently appear together” may mean that when an event for a first place occurs, an event for a second place also appears at a similar time point. The controller 130 may extract information about a place that frequently appears together from within the history information for each user.

예를 들어 도 13에 도시된 것과 같이, User 1은 A, B, C 장소에 대해 관심을 가졌고, User 2는 D, B, C 장소에 관심을 가졌으며, User 4는 B, C에 대해 관심을 가졌다고 가정하자.For example, as shown in FIG. 13 , User 1 is interested in places A, B, and C, User 2 is interested in places D, B, and C, and User 4 is interested in places B and C. Suppose we have

이때, 장소 B, C는 User 1, User 2 및 User 4에 해당하는 복수의 사용자들의 히스토리 정보에서 함께 나타나는 것을 알 수 있다. 이와 같이, 관심 장소 관련성은, 장소들 간의 관련성에 대해 구체적으로 정의되지 않더라도, 장소들이 복수의 사용자들에 대한 히스토리 정보 내에 함께 자주 나타나는 것 만으로, “장소들 간에 유사한 성격(또는 특징)을 갖는다”라고 정의하는 데에서 시작될 수 있다.At this time, it can be seen that places B and C appear together in the history information of a plurality of users corresponding to User 1, User 2, and User 4. As such, the place-of-interest relevance "has a similar character (or characteristic) between places" only as places frequently appear together in historical information for a plurality of users, even if the relevance between places is not specifically defined. It can be started by defining

제어부(130)는 이러한 가정에 기반하여, 장소들 간의 관련성을 추출하기 위하여, 도 14에 도시된 것과 같이, 장소들 간의 item-item 매트릭스(1410)를 생성할 수 있다. item-item 매트릭스(1410)는, nxn의 매트릭스로 이루어질 수 있다.Based on this assumption, the controller 130 may generate an item-item matrix 1410 between the places as shown in FIG. 14 in order to extract the relevance between the places. The item-item matrix 1410 may be formed of an nxn matrix.

제어부(130)는, 장소들 간의 관련성이 존재하지 않은 장소(아이템)에 대해서도 매트릭스의 인자들을 부여하기 위하여, Pointwise Mutual Information(PMI)기법에 근거하여, 아이템 간에 함께 나타날 확률을 구할 수 있다.The controller 130 may obtain a probability of appearing together between items based on a Pointwise Mutual Information (PMI) technique in order to provide matrix factors even to places (items) where there is no relation between places.

제어부(130)는 PMI기법에 근거하여, 모든 아이템(장소) 간의 조합에 대해, 함께 나타날 확률을 구하여, item-item 매트릭스(1410)의 모든 인자들의 값을 채울 수 있다. 모든 인자들이 채워진 매트릭스는 PMI 매트릭스 라고도 명명될 수 있다. 이러한 PMI매트릭스는, 아이템(장소) 기반의 임베딩(embedding)에 활용될 수 있다.Based on the PMI technique, the controller 130 may calculate the probability that all items (places) appear together, and fill the values of all factors of the item-item matrix 1410 . A matrix in which all factors are filled may be referred to as a PMI matrix. Such a PMI matrix may be utilized for item (place) based embedding.

그리고, 제어부(130)는 앞서 살펴본 RMSE가 작아지는 방향으로 Matrix Factorization을 수행할 수 있다. 그 결과, Expected PMI 매트릭스가 도출될 수 있다. 이러한, Expected PMI 매트릭스는 도면부호 1410을 동일하게 활용할 수 있다.In addition, the controller 130 may perform matrix factorization in a direction in which the aforementioned RMSE decreases. As a result, an Expected PMI matrix can be derived. Such an Expected PMI matrix may be equally utilized by reference numeral 1410.

한편, 제어부(130)는 Expected PMI매트릭스(1410)를 Item vector와 context vector로 Factorization(분해, 또는 인수 분해)을 수행할 수 있다. 이렇게 분해된 Item vector와 context vector는 도 14에 도시된 것과 같이, 벡터 공간(1420) 상에 나타내어질 수 있으며, 벡터 공간 상에서의 아이템(장소)들 간의 거리가 가까울수록 서로 관련성이 높은 장소로 이해되어질 수 있다. 즉, 분해된 vector는 word2vec의 skip-gram과 유사한 성격을 가질 수 있다. Meanwhile, the controller 130 may perform factorization (decomposition or factorization) of the Expected PMI matrix 1410 into an item vector and a context vector. As shown in FIG. 14, the decomposed Item vector and the context vector may be represented on a vector space 1420, and as the distance between items (places) on the vector space is closer, it is understood as a place with higher relevance to each other. can become In other words, the decomposed vector can have a characteristic similar to the skip-gram of word2vec.

한편, 제어부(130)는 이상에서 살펴본 것과 같이, 제1 관계성을 정의한 제1 매트릭스(Expected Preference 매트릭스, 920)와 상기 제2 관계성을 정의한 제2 매트릭스(1410)에서 장소에 해당하는 요소(item vector)들을 공유하도록, 상기 제1 매트릭스(920) 및 제2 매트릭스(Expected PMI매트릭스, 1410)에 대한 Matrix Factorization(MF)을 수행하는 과정을 포함할 수 있다(도 15 참조).Meanwhile, as described above, the control unit 130 controls an element corresponding to a place in a first matrix (Expected Preference matrix 920) defining a first relationship and a second matrix 1410 defining the second relationship as described above. item vectors), the process of performing Matrix Factorization (MF) on the first matrix 920 and the second matrix (Expected PMI matrix, 1410) may be included (refer to FIG. 15 ).

상기 제1 및 제2 매트릭스(920, 1410)에서 Item vector가 함께 공유되므로, 각각의 매트릭스에서 Factorization 하는데 사용된 Loss는 하나의 Loss로 특정될 수 있다. 그 결과 제어부(130)는 제1 및 제2 매트릭스(920, 1410)를 조합하여, Item vector, User vector, Context vector로 Factorization될 수 있는 cofactor Model을 생성할 수 있다.Since the item vectors are shared together in the first and second matrices 920 and 1410, a loss used for factorization in each matrix may be specified as one loss. As a result, the controller 130 may combine the first and second matrices 920 and 1410 to generate a cofactor model that can be factorized into an item vector, a user vector, and a context vector.

제어부(130)는 위의 방법으로 도출된 Item vector와 User vector를 통해 Expected Preference(또는 Expected Preference 매트릭스)를 구하고, 이를 기반으로 추천 장소를 추출할 수 있다.The controller 130 may obtain an Expected Preference (or an Expected Preference matrix) through the Item vector and User vector derived in the above method, and extract a recommended place based thereon.

이러한 제1 추천 방법에 의하면, 사용자가 관심을 보인 장소와 유사한 속성을 갖는 장소를 추천할 수 있고, 보다 다양한 장소를 추천할 수 있다.According to the first recommendation method, places having properties similar to the places in which the user has shown interest can be recommended, and more diverse places can be recommended.

다음으로, 제2 사용자 그룹에 매칭된 제2 장소 추천 방법(POI2VEC)은, 복수의 사용자들의 히스토리 정보에 포함된 관심 장소들에 각각 대응되는 단어들을 벡터 공간 상에 나타내는 과정 및 상기 벡터 공간으로부터 상기 추천 장소를 추출하는 과정을 포함할 수 있다. Next, the second place recommendation method (POI2VEC) matched to the second user group includes a process of representing words respectively corresponding to places of interest included in the history information of a plurality of users on a vector space and It may include a process of extracting a recommended place.

POI2VEC은 WORD2VEC 기법에 기반하여, POI(사용자의 관심 장소)들을 임베딩(embedding)한 것을 의미할 수 있다.POI2VEC may mean embedding POIs (places of interest of a user) based on the WORD2VEC technique.

여기에서, “복수의 사용자들”은, 앞서 살펴본 1차 분류 및 2차 분류를 통하여 구분된 사용자 그룹에 포함된 사용자들일 수 있고, 이와 달리, 1차 분류를 통하여 구분된 사용자 그룹에 포함된 사용자들일 수 있다. 1차 분류를 통하여 구분된 사용자 그룹에 포함된 사용자들은 장소에 대한 관심도 정도가 서로 상이한 복수의 그룹 각각에 해당하는 사용자들을 모두 포함할 수 있다.Here, the “plural users” may be users included in the user group classified through the primary classification and the secondary classification described above, and, in contrast, users included in the user group classified through the primary classification. can take Users included in the user group classified through the primary classification may include all users corresponding to each of a plurality of groups having different degrees of interest in places.

제어부(130)는, 제2 장소 추천 방법에 따라, 상기 복수의 사용자들 각각을 기준으로, 도 16에 도시된 것과 같이, 사용자의 히스토리 정보에 포함된 관심 장소들에 각각 대응되는 단어들 중 적어도 일부를 포함한 문장(sentence)을 생성할 수 있다. 제어부(130)는 사용자 마다 각각 대응되는 문장을 생성할 수 있다. According to the second place recommendation method, the control unit 130, based on each of the plurality of users, as shown in FIG. 16 , at least one of the words corresponding to the places of interest included in the user's history information. You can create a sentence with parts. The controller 130 may generate a sentence corresponding to each user.

예를 들어, 제어부(130)는, User 1 내지 User 5에 따른 사용자의 히스토리 정보에 각각 포함된 단어들(1610 내지 1650)을 이용하여, 문장을 생성할 수 있다. 이때, 생성되는 문장은, 각각의 유저에 대해 서로 구분되는 문장으로 구성될 수 있다. 예를 들어, User 1에 대해서는, User 1의 히스토리 정보에 포함된 관심 장소들에 각각 대응되는 단어들(1610)이 포함된 문장이 생성되고, User 2에 대해서는, User 2의 히스토리 정보에 포함된 관심 장소들에 각각 대응되는 단어들(1620)이 포함된 문장이 생성될 수 있다. 이와 같은 방식으로 User 3 내지 User 5에 대해서도 각각 대응되는 문장이 생성될 수 있다.For example, the controller 130 may generate a sentence by using the words 1610 to 1650 respectively included in the user history information according to User 1 to User 5 . In this case, the generated sentences may be composed of sentences that are distinguished from each other for each user. For example, for User 1, a sentence including words 1610 corresponding to places of interest included in the history information of User 1 is generated, and for User 2, the sentences included in the history information of User 2 are generated. A sentence including words 1620 respectively corresponding to places of interest may be generated. In this way, corresponding sentences may be generated for User 3 to User 5, respectively.

본 발명에서 단어는, 제어부(130)에서 데이터 처리가 가능한 형태의 정보로서, 기 설정된 데이터베이스에 등록된 각각의 단어들에 대응되는 장소의 ID(identification number)(또는 업체의 ID)를 의미할 수 있다.In the present invention, a word is information in a form that can be processed by the controller 130, and may mean an identification number (or ID of a company) of a place corresponding to each word registered in a preset database. have.

그리고, 제어부(130)는 상기 문장에 대해 워드 임베딩(word embedding)을 수행하여, 도 17에 도시된 것과 같이, 상기 문장에 포함된 단어들을 벡터 공간(1710) 상에 나타낼 수 있다. 나아가, 제어부(130)는 벡터 공간 상에 나타난 단어들 간의 거리에 근거하여, 사용자에 대해 추천 장소를 추출할 수 있다.In addition, the controller 130 may perform word embedding on the sentence to display the words included in the sentence on the vector space 1710 as shown in FIG. 17 . Furthermore, the controller 130 may extract a recommended place for the user based on the distance between words appearing on the vector space.

제어부(130)는 사용자의 히스토리 정보를 바탕으로, 도 17에 도시된 것과 같이, 장소들을 벡터 공간(1710) 상에 나타내고, 사용자의 벡터(vector)로부터 가깝게 위치한 아이템(장소)를 추천할 수 있다. 여기에서, 사용자의 벡터는, 추천대상이 되는 특정 사용자가 과거 관심을 보인 관심 장소에 해당하는 벡터를 의미할 수 있다.Based on the user's history information, the controller 130 may indicate the places on the vector space 1710 as shown in FIG. 17 , and recommend an item (place) located close to the user's vector (vector). . Here, the user's vector may mean a vector corresponding to a place of interest in which a specific user to be recommended has shown interest in the past.

나아가, 제어부(130)는 장소에 대한 관심도가 가장 적은 제3 사용자 그룹(433)에 대해서는, 제3 장소 추천 방법(Statistical Model(343) 모델링 방법)에 근거하여 추천 장소를 추출할 수 있다. 제3 장소 추천 방법에 의하여 장소가 추천되는 경우, 추천 대상 장소가 포함된 지역에서 가장 유명한 장소(EX: 가장 유명한 맛집)가 추천될 수 있다.Furthermore, with respect to the third user group 433 having the lowest degree of interest in the place, the controller 130 may extract a recommended place based on the third place recommendation method (the statistical model 343 modeling method). When a place is recommended by the third place recommendation method, the most famous place (EX: most famous restaurant) in the region including the recommended place may be recommended.

한편, 위에서 살펴본 것과 같이, 장소 추천의 대상이 되는 사용자에게 제공할 추천 장소의 추출이 완료되면, 제어부(130)는 도 18에 도시된 것과 같이, 사용자의 단말기로 추출된 추천 장소 정보를 제공할 수 있다.Meanwhile, as described above, when the extraction of the recommended place to be provided to the user who is the target of the place recommendation is completed, the controller 130 provides the extracted recommended place information to the user's terminal as shown in FIG. 18 . can

제어부(130)는 사용자의 단말기로부터 수신되는 장소 추천 관련 이벤트(또는 장소 추천 요청 이벤트)에 근거하여, 상기 사용자의 단말기에 상기 추천 대상 장소에 대한 추천 정보를 제공할 수 있다.The controller 130 may provide recommendation information on the recommended place to the user's terminal based on a place recommendation related event (or a place recommendation request event) received from the user's terminal.

여기에서, 장소 추천 관련 이벤트는, 사용자의 단말기로부터 장소 추천 요청이 수신되는 것을 의미할 수 있다. 사용자는, 단말기에 대하여 장소 추천을 요구하는 사용자 입력을 인가할 수 있다. 장소 추천 요청 이벤트는, 매우 다양한 경로를 통하여 수신될 수 있다. 예를 들어, 장소 추천 요청 이벤트는 웹페이지, 애플리케이션을 통하여 수신될 수 있음.Here, the place recommendation related event may mean that a place recommendation request is received from the user's terminal. The user may apply a user input for requesting a place recommendation to the terminal. The place recommendation request event may be received through a wide variety of paths. For example, the place recommendation request event may be received through a web page or an application.

제어부(130)는 장소 추천 요청이 수신되면, 사용자 단말기(또는 사용자 계정)에 대응되는 사용자의 히스토리 정보 또는 사용자 메타데이터에 기반하여, 장소 추천 요청에 대응되는 특정 사용자가 속한 사용자 그룹을 특정할 수 있다. When a place recommendation request is received, the control unit 130 may specify a user group to which a specific user corresponding to the place recommendation request belongs, based on the user's history information or user metadata corresponding to the user terminal (or user account). have.

이 경우, 제어부(130)는 장소 추천의 대상이 되는 지역이, 특정 사용자의 활동 지역(또는 관심 지역)인지 여부를 먼저 확인한 후, 사용자가 속한 사용자 그룹 및 장소 추천 방법을 결정할 수 있다.In this case, the controller 130 may determine whether the region to be recommended for the place is an activity region (or region of interest) of a specific user, and then determine a user group to which the user belongs and a method for recommending a place.

예를 들어, 제어부(130)는 장소 추천의 대상이 되는 지역이, 사용자의 활동 지역인 경우, 위에서 살펴본 제1 및 제2 장소 추천 방법 중 특정 사용자의 사용자 그룹에 매칭된 방법으로, 특정 사용자에 대한 추천 장소를 추출할 수 있다.For example, when the target area of the place recommendation is the user's activity area, the controller 130 may use a method matching the user group of the specific user among the first and second place recommendation methods described above. It is possible to extract recommended places for

이 경우, 제어부(130)는, 장소 추천의 대상이 된 지역에서, 특정 사용자가 관심있어 할 만한 장소를 추출할 수 있다.In this case, the control unit 130 may extract a place that a specific user may be interested in from the area targeted for the place recommendation.

예를 들어, 사용자의 주 활동 지역이 “강남구”이고, 장소 추천의 대상이 된 지역이 “강남구 논현동”인 경우, 제어부(130)는 특정 사용자가 속한 사용자 그룹을 특정하고, 해당 사용자 그룹에 매칭된 장소 추천 방법에 따라, 추천 장소를 추출할 수 있다. 예를 들어, 특정 사용자가 제1 사용자 그룹 또는 제2 사용자 그룹에 속하는 경우, 제어부(130)는 도 18에 도시된 것과 같이, 제1 장소 추천 방법(CoFactor 모델링 방법, 1841) 또는 제2 장소 추천 방법(POI2VEC 모델링 방법, 1842)에 근거하여, 특정 사용자에게 제공할 “강남구 논현동”에 위치한 추천 장소를 추출할 수 있다.For example, if the user's main activity area is "Gangnam-gu" and the area to be recommended is "Nonhyeon-dong, Gangnam-gu", the controller 130 specifies a user group to which the specific user belongs, and matches the user group A recommended place may be extracted according to the method of recommending a place. For example, when a specific user belongs to the first user group or the second user group, the control unit 130 as shown in FIG. 18 , a first place recommendation method (CoFactor modeling method, 1841) or a second place recommendation method Based on the method (POI2VEC modeling method, 1842), it is possible to extract a recommended place located in “Nonhyeon-dong, Gangnam-gu” to be provided to a specific user.

이 경우, 제어부(130)는, 사용자의 단말기에, 추천 장소에 대한 정보(1820, “르몽블랑” 음식점)에 대한 정보 및 해당 추천 장소가 추천된 근거와 관련된 정보(1830) 중 적어도 하나를 포함할 수 있다.In this case, the control unit 130 includes, in the user's terminal, at least one of information on the recommended place (1820, “Le Mont Blanc” restaurant) and information 1830 related to the reason for recommending the recommended place. can do.

해당 추천 장소가 추천된 근거와 관련된 정보(1830)는, 추천 대상 장소에 대한 추천 지수 (1831) 및 상기 추천 대상 장소의 추천 이유(근거, 1832) 중 적어도 하나와 관련된 정보를 포함할 수 있다.The information 1830 related to the reason for recommending the corresponding recommended place may include information related to at least one of the recommendation index 1831 for the recommended place and the reason for recommending the recommended place (the basis, 1832 ).

이때, 추천 지수는, 제1 장소 추천 방법(CoFactor 모델링 방법, 1841) 또는 제2 장소 추천 방법(POI2VEC 모델링 방법, 1842)에 근거하여 특정 사용자에 대한 장소가 추출되었을 때, 해당 특정 사용자에게 추천된 장소ㅃ의 적합한 정도에 대한 것으로서, 해당 추천 지수가 높을수록, 특정 사용자가 관심을 보일 확률이 높은 장소로 이해되어질 수 있다.In this case, the recommendation index is, when a place for a specific user is extracted based on the first place recommendation method (CoFactor modeling method, 1841) or the second place recommendation method (POI2VEC modeling method, 1842), the recommended place for the specific user As for the degree of suitability of the place ⅃, the higher the corresponding recommendation index, the higher the probability that a specific user will show interest.

나아가, 추천 이유는, 앞서 살펴본 제1 장소 추천 방법(CoFactor 모델링 방법, 1841) 또는 제2 장소 추천 방법(POI2VEC 모델링 방법, 1842)에 근거하여 추천 장소를 특정 사용자가 선호할 만한 근거, 추천 장소가 추천된 근거에 대한 것으로서, 사용자의 히스토리 정보를 기반으로 추출될 수 있다.Furthermore, the reason for the recommendation is that a specific user may prefer a recommended place based on the aforementioned first place recommendation method (CoFactor modeling method, 1841) or second place recommendation method (POI2VEC modeling method, 1842). As for the recommended basis, it may be extracted based on the user's history information.

한편, 제어부(130)는 장소 추천의 대상이 되는 지역이, 사용자의 활동 지역이 아닌 경우, 위에서 살펴본 제3 장소 추천 방법으로, 특정 사용자에 대한 추천 장소를 추출할 수 있다.On the other hand, when the target area of the place recommendation is not the user's activity area, the controller 130 may extract a recommended place for a specific user using the third place recommendation method described above.

이 경우, 제어부(130)는, 장소 추천의 대상이 된 지역에서, 가장 유명한 장소를 사용자가 관심있어 할 만한 장소로서 추출할 수 있다.In this case, the controller 130 may extract the most famous place as a place that the user may be interested in from the region targeted for the place recommendation.

예를 들어, 사용자의 주 활동 지역이 “서울”이고, 장소 추천의 대상이 된 지역이 “부산”인 경우, 제어부(130)는 장소 추천의 대상이된 지역에서 특정 사용자의 히스토리 정보에 기반한 추천 장소가 존재하지 않는다고 판단할 수 있다. 이 경우, 제어부(130)는 제3 장소 추천 방법에 때라, 추천 대상 장소(EX: 부산)에서 가장 유명한 장소를, 특정 사용자에게 장소 추천 정보로서 제공할 수 있다.For example, if the user's main activity area is "Seoul" and the area targeted for place recommendation is "Busan", the controller 130 recommends based on the history information of a specific user in the area targeted for place recommendation. It can be concluded that the place does not exist. In this case, according to the third place recommendation method, the controller 130 may provide the most famous place in the recommended place (EX: Busan) as place recommendation information to a specific user.

위에서 살펴본 것과 같이, 본 발명에 따른 장소 추천 방법 및 시스템은, 사용자의 히스토리 정보에 기반하여, 장소에 대한 사용자의 관심도를 판단할 수 있다, 그리고, 장소에 대한 사용자의 관심도에 근거하여, 사용자에게 적절한 장소 추천 방법을 통해 추천 장소에 대한 정보를 제공할 수 있다. 결과적으로, 본 발명에 따른 장소 추천 방법 및 시스템은, 모든 사용자에 대해 획일적인 추천 장소에 대한 정보를 제공하는 것이 아니라, 사용자 마다의 장소에 대한 관심도를 고려하여, 사용자 맞춤형의 추천 장소에 대한 정보를 제공할 수 있다. 나아가, 사용자는 평소 장소에 대해 가지고 있는 관심도 수준에 맞는 장소 정보를 제공받을 수 있다.As seen above, place recommendations according to the present invention The method and system may determine the user's interest in the place based on the user's history information, and based on the user's interest in the place, information on the recommended place through a place recommendation method suitable for the user can provide As a result, the method and system for recommending a place according to the present invention does not provide uniform information on a recommended place for all users, but considers the degree of interest in each user's place, and provides information on user-customized recommended place. can provide Furthermore, the user may be provided with place information that matches the level of interest he or she usually has for the place.

나아가, 본 발명에 따른 장소 추천 방법 및 시스템은, 사용자에게 추천된 장소의 추천 근거에 대한 정보를, 사용자의 히스토리 정보에 기반하여 제공할 수 있다. 이를 통해, 사용자는 해당 장소를 이용함에 있어, 추천 근거를 참고할 수 있으며, 이를 통해 추천 장소를 이용하고자 하는 의사 판단에 도움을 받을 수 있다.Furthermore, the method and system for recommending a place according to the present invention may provide information on a recommendation basis of a recommended place to a user based on the user's history information. Through this, the user can refer to the recommendation basis when using the corresponding place, and through this, the user can receive help in determining a decision to use the recommended place.

한편, 위에서 살펴본 본 발명은, 컴퓨터에서 하나 이상의 프로세스에 의하여 실행되며, 이러한 컴퓨터로 판독될 수 있는 매체(또는 기록 매체)에 저장 가능한 프로그램으로서 구현될 수 있다.Meanwhile, the present invention described above may be implemented as a program that is executed by one or more processes in a computer and can be stored in a computer-readable medium (or recording medium).

나아가, 위에서 살펴본 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드 또는 명령어로서 구현하는 것이 가능하다. 즉, 본 발명은 프로그램의 형태로 제공될 수 있다. Furthermore, the present invention as seen above can be implemented as computer-readable codes or instructions on a medium in which a program is recorded. That is, the present invention may be provided in the form of a program.

한편, 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. Meanwhile, the computer-readable medium includes all types of recording devices in which data readable by a computer system is stored. Examples of computer-readable media include Hard Disk Drive (HDD), Solid State Disk (SSD), Silicon Disk Drive (SDD), ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc. There is this.

나아가, 컴퓨터가 읽을 수 있는 매체는, 저장소를 포함하며 전자기기가 통신을 통하여 접근할 수 있는 서버 또는 클라우드 저장소일 수 있다. 이 경우, 컴퓨터는 유선 또는 무선 통신을 통하여, 서버 또는 클라우드 저장소로부터 본 발명에 따른 프로그램을 다운로드 받을 수 있다.Furthermore, the computer-readable medium may be a server or a cloud storage that includes a storage and that an electronic device can access through communication. In this case, the computer may download the program according to the present invention from a server or cloud storage through wired or wireless communication.

나아가, 본 발명에서는 위에서 설명한 컴퓨터는 프로세서, 즉 CPU(Central Processing Unit, 중앙처리장치)가 탑재된 전자기기로서, 그 종류에 대하여 특별한 한정을 두지 않는다.Furthermore, in the present invention, the computer described above is an electronic device equipped with a processor, that is, a CPU (Central Processing Unit, Central Processing Unit), and there is no particular limitation on the type thereof.

한편, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.On the other hand, the above detailed description should not be construed as limiting in all aspects, but should be considered as exemplary. The scope of the present invention should be determined by a reasonable interpretation of the appended claims, and all modifications within the equivalent scope of the present invention are included in the scope of the present invention.

Claims (20)

특정 사용자의 단말기로부터 장소 추천 관련 이벤트를 수신하는 단계;
상기 특정 사용자의 적어도 하나의 관심 장소와 관련된 히스토리 정보에 근거하여, 장소에 대한 관심도에 따라 분류되는 복수의 사용자 그룹 중 상기 특정 사용자가 속하는 사용자 그룹을 특정하는 단계; 및
복수의 장소 추천 방법 중 상기 특정된 사용자 그룹에 매칭된 장소 추천 방법에 근거하여, 추천 대상 장소를 추출하는 단계를 포함하는 것을 특징으로 하는 장소 추천 방법.
receiving a place recommendation related event from a specific user's terminal;
specifying a user group to which the specific user belongs from among a plurality of user groups classified according to the degree of interest in the place, based on the history information related to the at least one place of interest of the specific user; and
and extracting a recommended place based on a place recommendation method matching the specified user group from among a plurality of place recommendation methods.
제1항에 있어서,
상기 특정 사용자의 단말기로부터 수신되는 장소 추천 관련 이벤트에 근거하여, 상기 특정 사용자의 단말기에 상기 추천 대상 장소에 대한 추천 정보를 제공하는 단계를 더 포함하는 것을 특징으로 하는 장소 추천 방법.
According to claim 1,
The method of claim 1, further comprising the step of providing recommendation information on the recommended place to the terminal of the specific user based on the event related to the place recommendation received from the terminal of the specific user.
제2항에 있어서,
상기 추천 정보는,
상기 추천 대상 장소의 장소명, 상기 추천 대상 장소에 대한 추천 지수 및 상기 추천 대상 장소의 추천 근거 중 적어도 하나와 관련된 정보를 포함하는 것을 특징으로 하는 장소 추천 방법.
3. The method of claim 2,
The recommended information is
and information related to at least one of a place name of the recommended place, a recommendation index for the recommended place, and a recommendation basis for the recommended place.
제3항에 있어서,
상기 추천 지수는,
상기 특정된 사용자 그룹에 매칭된 장소 추천 방법에 따라 추출된 상기 추천 장소와 상기 히스토리 정보와의 관계성에 근거하여 산출되는 것을 특징으로 하는 장소 추천 방법.
4. The method of claim 3,
The recommendation index is,
The method for recommending a place, characterized in that it is calculated based on a relationship between the recommended place and the history information extracted according to the method for recommending a place matched to the specified user group.
제1항에 있어서,
상기 사용자 그룹을 특정하는 단계에서는,
상기 히스토리 정보를 이용하여, 상기 특정 사용자의 장소에 대한 관심도의 정도를 판단하고,
상기 복수의 사용자 그룹 중 상기 판단된 관심도의 정도에 매칭된 사용자 그룹을 상기 특정 사용자가 속하는 사용자 그룹으로서 특정하는 것을 특징으로 하는 장소 추천 방법.
According to claim 1,
In the step of specifying the user group,
Determining the degree of interest in the specific user's place by using the history information,
and specifying a user group matching the determined degree of interest among the plurality of user groups as a user group to which the specific user belongs.
제5항에 있어서,
상기 히스토리 정보는,
상기 적어도 하나의 관심 장소에 대한 장소 정보 및,
상기 적어도 하나의 관심 장소와 관련된 예약, 문서의 선택, 정보의 저장, 콜(call) 발신, 장소 검색 및 경로 검색 중 적어도 하나를 수행한 횟수와 관련된 카운팅 정보를 포함하는 것을 특징으로 하는 장소 추천 방법.
6. The method of claim 5,
The history information is
place information on the at least one place of interest; and
A place recommendation method comprising counting information related to the number of times of performing at least one of reservation, document selection, information storage, call origination, place search, and route search related to the at least one place of interest. .
제6항에 있어서,
상기 사용자 그룹을 특정하는 단계는,
상기 히스토리 정보에 포함된 상기 카운팅 정보와, 상기 특정 사용자의 사용자 메타데이터(metadata)에 대응되는 다른 사용자들의 히스토리 정보에 포함된 카운팅 정보의 비교를 수행하는 단계; 및
상기 비교에 근거하여, 상기 특정 사용자의 장소에 대한 관심도의 정도를 산출하는 단계를 더 포함하는 것을 특징으로 하는 장소 추천 방법,
7. The method of claim 6,
The step of specifying the user group comprises:
comparing the counting information included in the history information with the counting information included in the history information of other users corresponding to user metadata of the specific user; and
Based on the comparison, the method for recommending a place further comprising the step of calculating a degree of interest in the specific user's place;
제7항에 있어서,
상기 특정 사용자의 상기 카운팅 정보에 포함된 횟수가, 상기 다른 사용자들의 카운팅정보에 포함된 횟수보다 많은 경우,
상기 특정 사용자의 장소에 대한 관심도는, 상기 다른 사용자들보다 장소에 대한 관심도가 더 큰 것으로 산출되는 것을 특징으로 하는 장소 추천 방법.
8. The method of claim 7,
When the number of times included in the counting information of the specific user is greater than the number of times included in the counting information of other users,
The place recommendation method, characterized in that the specific user's degree of interest in the place is calculated as having a greater degree of interest in the place than the other users.
제7항에 있어서,
상기 사용자 메타 데이터는, 상기 특정 사용자의 성별 및 연령 중 적어도 하나와 관련된 정보를 포함하는 것을 특징으로 하는 장소 추천 방법.
8. The method of claim 7,
The user metadata includes information related to at least one of a gender and an age of the specific user.
제1항에 있어서,
상기 복수의 장소 추천 방법 각각은,
상기 복수의 사용자 그룹 중 장소 추천의 타겟이 되는 사용자가 속한 사용자 그룹에 포함된 복수의 사용자들의 히스토리 정보를 이용하는 것을 특징으로 하는 장소 추천 방법.
According to claim 1,
Each of the plurality of place recommendation methods,
The method of claim 1, wherein history information of a plurality of users included in a user group to which a user who is a target of place recommendation among the plurality of user groups is included is used.
제10항에 있어서,
상기 복수의 장소 추천 방법은 상기 복수의 사용자들의 히스토리 정보를 처리하는 방법이 서로 다른 것을 특징으로 하는 장소 추천 방법.
11. The method of claim 10,
The method of recommending a plurality of places is characterized in that the method of processing the history information of the plurality of users is different from each other.
제11항에 있어서,
상기 복수의 장소 추천 방법 중 제1 장소 추천 방법은,
상기 복수의 사용자들과 상기 복수의 사용자들의 히스토리 정보에 포함된 관심 장소들에 대한 제1 관계성 및
상기 복수의 사용자들의 히스토리 정보에 포함된 관심 장소들 간의 제2 관계성에 근거하여 상기 추천 장소를 추출하는 과정을 포함하는 것을 특징으로 하는 장소 추천 방법.
12. The method of claim 11,
A first place recommendation method among the plurality of place recommendation methods includes:
a first relationship to the plurality of users and places of interest included in the history information of the plurality of users; and
and extracting the recommended place based on a second relationship between places of interest included in the history information of the plurality of users.
제12항에 있어서,
상기 제1 장소 추천 방법은,
상기 제1 관계성을 정의한 제1 매트릭스와 상기 제2 관계성을 정의한 제2 매트릭스에서 상기 관심 장소들에 해당하는 요소들을 공유하도록 상기 제1 매트릭스 및 제2 매트릭스에 대한 Matrix Factorization(MF)을 수행하는 과정을 포함하는 것을 특징으로 하는 장소 추천 방법.
13. The method of claim 12,
The first place recommendation method is,
Matrix factorization (MF) is performed on the first matrix and the second matrix to share elements corresponding to the places of interest in the first matrix defining the first relationship and the second matrix defining the second relationship A method of recommending a place, characterized in that it includes the process of:
제11항에 있어서,
상기 복수의 장소 추천 방법 중 제2 장소 추천 방법은,
상기 복수의 사용자들의 히스토리 정보에 포함된 관심 장소들에 각각 대응되는 단어들을 벡터 공간 상에 나타내는 과정 및
상기 벡터 공간으로부터 상기 추천 장소를 추출하는 과정을 포함하는 것을 특징으로 하는 장소 추천 방법.
12. The method of claim 11,
A second place recommendation method among the plurality of place recommendation methods includes:
a process of displaying words corresponding to places of interest included in the history information of the plurality of users on a vector space; and
and extracting the recommended place from the vector space.
제14항에 있어서,
상기 제2 장소 추천 방법은,
상기 복수의 사용자들 각각을 기준으로, 상기 관심 장소들에 각각 대응되는 단어들 중 적어도 일부를 포함한 문장(sentence)을 생성하는 과정,
상기 문장에 대해 워드 임베딩(word embedding)을 수행하여, 상기 문장에 포함된 단어들을 벡터 공간 상에 나타내는 과정 및
상기 벡터 공간 상에 나타난 단어들 간의 거리에 근거하여 상기 추천 장소를 추출하는 과정을 포함하는 것을 특징으로 하는 장소 추천 방법.
15. The method of claim 14,
The second place recommendation method is,
a process of generating a sentence including at least some of the words corresponding to the places of interest, respectively, based on each of the plurality of users;
A process of displaying words included in the sentence on a vector space by performing word embedding on the sentence; and
and extracting the recommended place based on a distance between words appearing on the vector space.
제11항에 있어서,
상기 복수의 장소 추천 방법 중 제3 장소 추천 방법은,
상기 복수의 사용자들의 히스토리 정보에 포함된 관심 장소들에 통계에 근거하여 상기 추천 장소를 추출하는 과정을 포함하는 것을 특징으로 하는 장소 추천 방법.
12. The method of claim 11,
A third place recommendation method among the plurality of place recommendation methods includes:
and extracting the recommended place based on statistics on places of interest included in the history information of the plurality of users.
제1항에 있어서,
상기 사용자 그룹을 특정하는 단계에서는,
상기 특정 사용자의 상기 히스토리 정보에 근거하여, 상기 특정 사용자의 활동 지역을 특정하고,
상기 추천 대상 장소를 추출하는 지역이 상기 특정 사용자의 활동 지역인지 여부를 고려하여, 상기 특정 사용자가 속하는 사용자 그룹을 특정하는 것을 특징으로 하는 장소 추천 방법.
According to claim 1,
In the step of specifying the user group,
specifying an activity area of the specific user based on the history information of the specific user;
The method of claim 1, wherein the user group to which the specific user belongs is specified in consideration of whether the region from which the recommendation target place is extracted is the activity region of the specific user.
적어도 하나의 관심 장소와 관련된 특정 사용자의 히스토리 정보를 수집하는 단계;
상기 히스토리 정보에 근거하여, 장소에 대한 관심도에 따라 분류되는 복수의 사용자 그룹 중 상기 특정 사용자가 속하는 사용자 그룹을 특정하는 단계; 및
복수의 장소 추천 방법 중 상기 특정된 사용자 그룹에 매칭된 장소 추천 방법에 근거하여, 추천 대상 장소를 추출하는 단계를 포함하는 것을 특징으로 하는 장소 추천 방법.
collecting historical information of a specific user related to at least one POI;
specifying a user group to which the specific user belongs from among a plurality of user groups classified according to the degree of interest in a place, based on the history information; and
and extracting a recommended place based on a place recommendation method matching the specified user group from among a plurality of place recommendation methods.
적어도 하나의 관심 장소와 관련된 특정 사용자의 히스토리 정보를 저장하는 저장부; 및
상기 히스토리 정보에 근거하여, 장소에 대한 관심도에 따라 분류되는 복수의 사용자 그룹 중 상기 특정 사용자가 속하는 사용자 그룹을 특정하는 제어부를 포함하고,
상기 제어부는,
복수의 장소 추천 방법 중 상기 특정된 사용자 그룹에 매칭된 장소 추천 방법에 근거하여, 추천 대상 장소를 추출하는 것을 특징으로 하는 장소 추천 시스템.
a storage unit for storing history information of a specific user related to at least one POI; and
a control unit for specifying a user group to which the specific user belongs from among a plurality of user groups classified according to the degree of interest in a place, based on the history information;
The control unit is
and extracting a recommended place based on a place recommendation method matching the specified user group among a plurality of place recommendation methods.
제 1 항 내지 제 18 항 중 어느 한 항에 따른 방법을 실행하기 위해 컴퓨터 판독 가능한 기록 매체에 기록된 컴퓨터 프로그램.A computer program recorded on a computer readable recording medium for executing the method according to any one of claims 1 to 18.
KR1020210012673A 2021-01-28 2021-01-28 Place recommendation method and system KR102655723B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210012673A KR102655723B1 (en) 2021-01-28 2021-01-28 Place recommendation method and system
JP2021185654A JP7325492B2 (en) 2021-01-28 2021-11-15 Place recommendation method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210012673A KR102655723B1 (en) 2021-01-28 2021-01-28 Place recommendation method and system

Publications (2)

Publication Number Publication Date
KR20220109249A true KR20220109249A (en) 2022-08-04
KR102655723B1 KR102655723B1 (en) 2024-04-09

Family

ID=82747608

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210012673A KR102655723B1 (en) 2021-01-28 2021-01-28 Place recommendation method and system

Country Status (2)

Country Link
JP (1) JP7325492B2 (en)
KR (1) KR102655723B1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130130731A (en) * 2010-12-01 2013-12-02 마이크로소프트 코포레이션 Real-time personalized recommendation of location-related entities
KR20140065384A (en) * 2014-05-11 2014-05-29 이정우 Personalized place recommendation system and method by using subjectivity analysis for user classification
KR20190023721A (en) * 2017-08-30 2019-03-08 한국과학기술원 Apparatus and method for gathering public mood about place
KR20190111313A (en) * 2018-03-22 2019-10-02 네이버 주식회사 Method and system for item recommendation
KR20190124524A (en) * 2018-04-26 2019-11-05 충북대학교 산학협력단 Method and system for recommending point of interest
KR20200088134A (en) * 2019-01-14 2020-07-22 카페24 주식회사 An apparatus for improving way of product recommendation and a method thereof

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120278320A1 (en) * 2009-06-02 2012-11-01 Shoji Ogura Recommendation information providing system, recommendation information providing apparatus, recommendation information service method, and recommendation information distribution program
JP5565253B2 (en) * 2010-10-04 2014-08-06 独立行政法人情報通信研究機構 Tourist spot recommendation device and program
JP6114654B2 (en) * 2013-07-19 2017-04-12 株式会社ゼンリンデータコム Place recommendation device and place recommendation method
JP2020154821A (en) * 2019-03-20 2020-09-24 株式会社ミクシィ Article recommendation system
JP2020153919A (en) * 2019-03-22 2020-09-24 本田技研工業株式会社 server

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130130731A (en) * 2010-12-01 2013-12-02 마이크로소프트 코포레이션 Real-time personalized recommendation of location-related entities
KR20140065384A (en) * 2014-05-11 2014-05-29 이정우 Personalized place recommendation system and method by using subjectivity analysis for user classification
KR20190023721A (en) * 2017-08-30 2019-03-08 한국과학기술원 Apparatus and method for gathering public mood about place
KR20190111313A (en) * 2018-03-22 2019-10-02 네이버 주식회사 Method and system for item recommendation
KR20190124524A (en) * 2018-04-26 2019-11-05 충북대학교 산학협력단 Method and system for recommending point of interest
KR20200088134A (en) * 2019-01-14 2020-07-22 카페24 주식회사 An apparatus for improving way of product recommendation and a method thereof

Also Published As

Publication number Publication date
KR102655723B1 (en) 2024-04-09
JP7325492B2 (en) 2023-08-14
JP2022115795A (en) 2022-08-09

Similar Documents

Publication Publication Date Title
Cai et al. Integrating spatial and temporal contexts into a factorization model for POI recommendation
Ravi et al. A collaborative location based travel recommendation system through enhanced rating prediction for the group of users
Zhao et al. Personalized recommendations of locally interesting venues to tourists via cross-region community matching
JP5602864B2 (en) Location-based service middleware
Barreneche Governing the geocoded world: Environmentality and the politics of location platforms
Fogli et al. Exploiting semantics for context-aware itinerary recommendation
Li et al. Next and next new POI recommendation via latent behavior pattern inference
US20100325127A1 (en) Method and apparatus for automatic geo-location and social group indexing
JP6725718B2 (en) Location-based information search method and computer apparatus
KR20170129529A (en) Method and device for predicting future number of customers coming into the store based on pattern information of floating population
Al-Ghobari et al. Location-Aware Personalized Traveler Recommender System (LAPTA) Using Collaborative Filtering KNN.
Liu et al. Recommending attractive thematic regions by semantic community detection with multi-sourced VGI data
Tang et al. Discovering Travel Community for POI Recommendation on Location‐Based Social Networks
Massimo et al. Popularity, novelty and relevance in point of interest recommendation: an experimental analysis
Norouzi et al. Developing Tourism Users’ Profiles with Data‐Driven Explicit Information
Vahidnia Point-of-interest recommendation in location-based social networks based on collaborative filtering and spatial kernel weighting
Xie et al. We know your preferences in new cities: Mining and modeling the behavior of travelers
Xu et al. A novel travel group recommendation model based on user trust and social influence
Shahriari-Mehr et al. A store location-based recommender system using user’s position and web searches
JP7325492B2 (en) Place recommendation method and system
Soliman et al. A survey of recommender systems and geographical recommendation techniques
CN114219581A (en) Personalized interest point recommendation method and system based on heteromorphic graph
Wang et al. Optimization of Digital Recommendation Service System for Tourist Attractions Based on Personalized Recommendation Algorithm
Keya et al. Recurrent ALBERT for recommendation: A hybrid architecture for accurate and lightweight restaurant recommendations
Wen-ying et al. A new framework of a personalized location-based restaurant recommendation system in mobile application

Legal Events

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