KR102655723B1 - 장소 추천 방법 및 시스템 - Google Patents

장소 추천 방법 및 시스템 Download PDF

Info

Publication number
KR102655723B1
KR102655723B1 KR1020210012673A KR20210012673A KR102655723B1 KR 102655723 B1 KR102655723 B1 KR 102655723B1 KR 1020210012673 A KR1020210012673 A KR 1020210012673A KR 20210012673 A KR20210012673 A KR 20210012673A KR 102655723 B1 KR102655723 B1 KR 102655723B1
Authority
KR
South Korea
Prior art keywords
place
user
recommendation
interest
control unit
Prior art date
Application number
KR1020210012673A
Other languages
English (en)
Other versions
KR20220109249A (ko
Inventor
전영환
김창회
장현수
김진호
최인식
최지훈
Original Assignee
네이버 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 네이버 주식회사 filed Critical 네이버 주식회사
Priority to KR1020210012673A priority Critical patent/KR102655723B1/ko
Priority to JP2021185654A priority patent/JP7325492B2/ja
Publication of KR20220109249A publication Critical patent/KR20220109249A/ko
Application granted granted Critical
Publication of KR102655723B1 publication Critical patent/KR102655723B1/ko

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명은 장소를 추천하는 방법 및 시스템에 관한 것이다. 본 발명에 따른 장소 추천 방법은, 적어도 하나의 관심 장소와 관련된 특정 사용자의 히스토리 정보를 수집하는 단계, 상기 히스토리 정보에 근거하여, 장소에 대한 관심도에 따라 분류되는 복수의 사용자 그룹 중 상기 특정 사용자가 속하는 사용자 그룹을 특정하는 단계 및 복수의 장소 추천 방법 중 상기 특정된 사용자 그룹에 매칭된 장소 추천 방법에 근거하여, 추천 대상 장소를 추출하는 단계를 포함할 수 있다.

Description

장소 추천 방법 및 시스템{PLACE RECOMMENDATION METHOD AND SYSTEM}
본 발명은 장소를 추천하는 방법 및 시스템에 관한 것이다.
기술이 발전함에 따라, 전자기기(예를 들어, 스마트폰, 태블릿 PC 등)의 보급이 대중화되었으며, 이에 따라 일상생활의 많은 부분에서 인터넷에 대한 의존도가 점차적으로 높아지고 있다.
이와 같이, 인터넷을 비롯한 다양한 기술의 발전에 힘입어, 종래 오프라인에 대한 의존도가 높았던 소비패턴은, 점차적으로 온라인(on-line)으로 옮겨갔으며, 현재에는, 온라인을 중심으로 한 소비가 기하급수적으로 늘어가고 있다.
나아가, 여행 산업, 음식 산업과 같이, 서비스의 특성상 오프라인(off-line)에 기반을 둔 산업 분야 역시, 온라인을 통한 다양한 마케팅을 통하여 고객을 유치하는 것이 보편화되고 있다.
나아가, 고객들 역시, 오프라인에 기반을 둔 장소에 방문을 하기 전에, 온라인을 통하여 장소에 대한 정보를 검색하는 행위가 보편화되었다.
이와 같이, 온라인에 대한 정보 검색의 의존도가 높아짐에 따라, 사용자에 의해 검색된 장소에 대한 정보를 제공하는 것에서 나아가, 사용자에게 적절한 장소(예를 들어, 맛집 관련 장소)를 추천하는 방법에 대한 연구가 활발하게 진행되고 있다.
이러한 기술로서, 대한민국 공개특허 제10-2020-0070072호는 장소 추천 시스템 및 방법에 대한 기술을 개시하고 있으며, 특히, 사용자의 선호도를 고려한 장소 추천 방법을 제안하고 있다.
그러나, 종래의 기술들은 사용자 마다의 특성을 고려함없이, 모든 사용자에 대해 획일적인 장소 추천 방법을 적용하고 있어, 일부 사용자에 대해서는 유용하지 않은 장소 정보가 추천되는 경우가 종종 발생한다.
본 발명은, 사용자의 특성을 고려한, 사용자 맞춤형 장소 추천 방법 및 시스템을 제공하기 위한 관한 것이다.
보다 구체적으로 본 발명은, 장소에 대한 사용자의 관심도를 반영하여 장소를 추천할 수 있는 사용자 맞춤형 장소 추천 방법 및 시스템을 제공하기 위한 관한 것이다.
나아가, 본 발명은 추천 장소에 대한 정보를 사용자에게 보다 직관적으로 제공할 수 있는 장소 추천 방법 및 시스템을 제공하기 위한 것이다.
위에서 살펴본 과제를 해결하기 위하여, 본 발명에 따른 장소 추천 방법은, 적어도 하나의 관심 장소와 관련된 특정 사용자의 히스토리 정보를 수집하는 단계, 상기 히스토리 정보에 근거하여, 장소에 대한 관심도에 따라 분류되는 복수의 사용자 그룹 중 상기 특정 사용자가 속하는 사용자 그룹을 특정하는 단계 및 복수의 장소 추천 방법 중 상기 특정된 사용자 그룹에 매칭된 장소 추천 방법에 근거하여, 추천 대상 장소를 추출하는 단계를 포함할 수 있다.
나아가, 본 발명에 따른 장소 추천 방법은, 사용자의 단말기로부터 장소 추천 요청 이벤트를 수신하는 단계, 상기 사용자의 적어도 하나의 관심 장소와 관련된 히스토리 정보에 근거하여, 장소에 대한 관심도에 따라 분류되는 복수의 사용자 그룹 중 상기 사용자가 속하는 사용자 그룹을 특정하는 단계 및 복수의 장소 추천 방법 중 상기 특정된 사용자 그룹에 매칭된 장소 추천 방법에 근거하여, 추천 대상 장소를 추출하는 단계를 포함할 수 있다.
나아가, 본 발명에 따른 장소 추천 시스템은, 적어도 하나의 관심 장소와 관련된 특정 사용자의 히스토리 정보를 저장하는 저장부 및 상기 히스토리 정보에 근거하여, 장소에 대한 관심도에 따라 분류되는 복수의 사용자 그룹 중 상기 특정 사용자가 속하는 사용자 그룹을 특정하는 제어부를 포함하고, 상기 제어부는, 복수의 장소 추천 방법 중 상기 특정된 사용자 그룹에 매칭된 장소 추천 방법에 근거하여, 추천 대상 장소를 추출할 수 있다.
나아가, 본 발명에 따른 전자기기에서 하나 이상의 프로세스에 의하여 실행되며, 컴퓨터로 판독될 수 있는 기록매체에 저장 가능한 프로그램은, 전자기기에서 하나 이상의 프로세스에 의하여 실행되며, 컴퓨터로 판독될 수 있는 기록매체에 저장 가능한 프로그램으로서, 상기 프로그램은, 적어도 하나의 관심 장소와 관련된 특정 사용자의 히스토리 정보를 수집하는 단계, 상기 히스토리 정보에 근거하여, 장소에 대한 관심도에 따라 분류되는 복수의 사용자 그룹 중 상기 특정 사용자가 속하는 사용자 그룹을 특정하는 단계 및 복수의 장소 추천 방법 중 상기 특정된 사용자 그룹에 매칭된 장소 추천 방법에 근거하여, 추천 대상 장소를 추출하는 단계를 수행하도록 하는 명령어들을 포함할 수 있다.
위에서 살펴본 것과 같이, 본 발명에 따른 장소 추천 방법 및 시스템은, 사용자의 히스토리 정보에 기반하여, 장소에 대한 사용자의 관심도를 판단할 수 있다, 그리고, 장소에 대한 사용자의 관심도에 근거하여, 사용자에게 적절한 장소 추천 방법을 통해 추천 장소에 대한 정보를 제공할 수 있다. 결과적으로, 본 발명에 따른 장소 추천 방법 및 시스템은, 모든 사용자에 대해 획일적인 추천 장소에 대한 정보를 제공하는 것이 아니라, 사용자 마다의 장소에 대한 관심도를 고려하여, 사용자 맞춤형의 추천 장소에 대한 정보를 제공할 수 있다. 나아가, 사용자는 평소 장소에 대해 가지고 있는 관심도 수준에 맞는 장소 정보를 제공받을 수 있다.
나아가, 본 발명에 따른 장소 추천 방법 및 시스템은, 사용자에게 추천된 장소의 추천 근거에 대한 정보를, 사용자의 히스토리 정보에 기반하여 제공할 수 있다. 이를 통해, 사용자는 해당 장소를 이용함에 있어, 추천 근거를 참고할 수 있으며, 이를 통해 추천 장소를 이용하고자 하는 의사 판단에 도움을 받을 수 있다.
도 1은 본 발명에 따른 장소 추천 시스템을 설명하기 위한 개념도이다.
도 2는 도 1에서 살펴본 장소 추천 시스템에서 장소 추천을 수행하는 방법을 설명하기 위한 블록도이다.
도 3은 데이터 구조를 설명하기 위한 블록도이다.
도 4는 본 발명에 따른 장소 추천 방법을 설명하기 위한 흐름도이다.
도 5는 본 발명에서 사용자의 히스토리 정보를 수집하는 방법을 설명하기 위한 개념도이다.
도 6 및 도 7은 복수의 사용자 그룹을 설명하기 개념도들이다.
도 8, 도 9, 도 10, 도 11, 도 12, 도 13, 도 14 및 도 15는 장소 추천 방법의 일 예를 설명하기 위한 개념도들이다.
도 16 및 도 17은 장소 추천 방법의 다른 예를 설명하기 위한 개념도들이다.
도 18은 장소 추천 정보를 설명하기 위한 개념도이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소에는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 발명은, 사용자 단말기로부터 수집되는 사용자의 히스토리 정보에 기반하여, 해당 사용자 및 임의의 제3 사용자에게 유용한 정보를 생성하고, 이를 제공하기 위한 것으로서, 특히, 장소 정보를 중심으로 추천 장소 데이터를 생성 및 가공하는 방법에 대한 것이다.
본 발명에서는 설명의 편의를 위하여, “장소”에 대한 추천을 중심으로 설명하나, 반드시 이에 한정되는 것은 아니다. 즉, 본 발명에서 추천 정보는 장소에 대한 것뿐만 아니라, 특정 아이템(예를 들어, 책, 의류, 스포츠, 여행지 등)에 대한 추천 등, 다양한 종류의 아이템에 대한 추천을 모두 포함할 수 있다.
한편, 본 발명에서 “장소”는 그 종류에 관계없이, 어떤 일이 이루어지거나 일어나는 곳으로서, 지리학적, 개념적 또는 물리적으로 구분되는 장소이기만 하면 된다.
예를 들어, 본 발명에서 “장소”는 영리적인 목적을 위한 장소를 의미할 수 있으며, 사업자 번호 등에 의하여 구분되는 특정 업체를 포함하는 개념으로 이해되질 수 있다. 보다 구체적으로, 장소는 음식점, 숙박 시설(예를 들어, 호텔, 펜션, 민박, 콘도, 리조트 등), 테마 파크, 놀이 시설, 뷰티 관리샵(예를 들어, 미용실, 네일샵 등), 부동산, 병원 등과 같은 특정 상업적인 목적의 업체일 수 있다.
일 예로서, 추천의 대상이 “음식점”에 해당하는 장소인 경우, 도 1에 도시된 것과 같이, 본 발명에서는 추천의 대상이 되는 사용자에게 적합한 음식점을 추천할 수 있다(도면부호 200, 210 참조). 이러한 추천 서비스는 “맛집 추천” 서비스 또는 “오늘의 PICK” 서비스 등으로 다양한 서비스 명으로 명명될 수 있다.
한편, 본 발명에서 설명되는 “장소”는 비영리적인 목적을 위한 장소를 의미할 수 있다. 이 경우, 장소는, 공공 또는 공익의 목적, 또는 기타 다른 목적을 위하여 비영리적으로 운영되는 장소(예를 들어, 미술관, 특정 재단의 사옥 등)를 포함할 수 있다.
이와 같이, 본 발명에서 장소는, 다양한 개념을 의미하는 것으로서, 추천의 대상이 되는 장소이기만 하면 그 종류 및 위치에 한정을 두지 않는다.
한편, 본 발명에서는 사용자에게 장소를 추천함에 있어, 추천의 대상이 되는 장소에 대한 정보(210, 예를 들어, “땡스오뜨”라는 음식점) 뿐만 아니라, 해당 장소가 추천된 근거에 대한 정보(220)를 사용자에게 추가적으로 제공함으로써, 사용자는 해당 장소가 자신에게 왜 추천되었는지를 직관적으로 파악하고, 자신의 성향이나, 자신의 선호도에 해당하는 장소인지를 파악할 수 있도록 할 수 있다. 이러한 근거에 대한 정보(220)는, 추천 대상 장소에 대한 추천 지수(221) 및 상기 추천 대상 장소의 추천 이유(근거, 222) 중 적어도 하나와 관련된 정보를 포함할 수 있다.
이하에서는, 위에서 살펴본 장소에 대한 개념과 함께, 본 발명에 대한 장소 추천 시스템 및 방법에 대하여 보다 구체적으로 살펴본다. 도 1은 본 발명에 따른 장소 추천 시스템을 설명하기 위한 개념도이고, 도 2는 도 1에서 살펴본 장소 추천 시스템에서 장소 추천을 수행하는 방법을 설명하기 위한 블록도이다. 나아가, 도 3은 데이터 구조를 설명하기 위한 블록도이다.
먼저, 도 1에 도시된 것과 같이, 장소 추천 정보(200)는 사용자 단말기(또는 사용자의 단말기, 도면부호 부여하지 않음)상의 디스플레이부 상에 출력될 수 있으며, 이 경우, 사용자 단말기는 전자기기를 의미하는 것으로 이해되어 질 수 있다. 여기서 전자기기는, 스마트폰(smart phone), 휴대폰, 태블릿 PC, 키오스크(KIOSK), 컴퓨터, 노트북, 디지털방송용 단말, PDA(Personal Digital Assistants), 및 PMP(Portable Multimedia Player) 중 적어도 하나를 포함할 수 있다. 나아가, 위에서 설명한 것과 같이, 사용자 단말기는, 사용자 계정이 로그인된, 접속된 또는 등록된 전자기기 일 수 있다.
이하의 설명에서는, 사용자 단말기에 로그인된 사용자 계정에 대하여 중복하여 설명하지 않으며, 이하에서 설명되는 사용자 단말기는 사용자 계정이 로그인된 전자기기 또는 본 발명에 따른 장소 추천 시스템(100)에 의해 정보가 수집될 수 있는 전자기기로 이해되어질 수 있음은 물론이다.
한편, 본 발명에 따른 장소 추천 시스템(100)은, 통신부(110), 저장부(120) 및 제어부(130) 중 적어도 하나를 포함할 수 있다.
통신부(110)는 사용자 단말기, 외부 저장소(예를 들어, 데이터베이스(database, 140)), 외부 서버 및 클라우드 서버 중 적어도 하나와 통신을 수행할 수 있다.
한편, 외부 서버 또는 클라우드 서버에서는, 제어부(130)의 적어도 일부의 역할을 수행하도록 구성될 수 있다. 즉, 데이터 처리 또는 데이터 연산 등의 수행은 외부 서버 또는 클라우드 서버에서 이루어지는 것이 가능하며, 본 발명에서는 이러한 방식에 대한 특별한 제한을 두지 않는다.
한편, 통신부(110)는 통신하는 대상(예를 들어, 전자기기, 외부 서버, 디바이스 등)의 통신 규격에 따라 다양한 통신 방식을 지원할 수 있다.
예를 들어, 통신부(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) 기술 중 적어도 하나를 이용하여, 통신 대상과 통신하도록 이루어질 수 있다.
다음으로 저장부(120)는, 본 발명과 관련된 다양한 정보를 저장하도록 이루어질 수 있다. 본 발명에서 저장부(120)는 장소 추천 시스템(100) 자체에 구비될 수 있다. 이와 다르게, 저장부(120)의 적어도 일부는, 데이터베이스(database: DB, 140) 및 클라우드 저장소(또는 클라우드 서버) 중 적어도 하나를 의미할 수 있다. 즉, 저장부(120)는 본 발명에 따른 장소 추천 시스템 및 방법을 위하여 필요한 정보가 저장되는 공간이면 충분하며, 물리적인 공간에 대한 제약은 없는 것으로 이해될 수 있다. 이에, 이하에서는, 저장부(120), 데이터베이스(140), 외부 저장소, 클라우드 저장소(또는 클라우드 서버)를 별도로 구분하지 않고, 모두 저장부(120)라고 표현하도록 한다.
본 발명에 따른 장소 추천 방법을 제공하기 위하여 저장부(120)에 저장되는 정보는, 사용자와 관련된 다양한 정보, 추천 대상이 되는 장소에 대한 정보를 포함할 수 있다.
여기에서, “사용자와 관련된 다양한 정보”는 사용자의 히스토리(history) 정보 및 사용자의 메타데이터(metadata) 중 적어도 하나를 포함할 수 있다.
보다 구체적으로, 사용자의 히스토리 정보는, 사용자의 관심 장소에 대한 정보로 이해되어질 수 있다. 여기에서, 관심 장소란, 사용자의 자발적인 의사(또는 선택)에 의하여, 해당 장소에 대해 사용자가 관심이 있다고 여겨질 만한 이벤트가 발생된 장소를 의미할 수 있다.
예를 들어, 상기 이벤트는, 적어도 하나의 관심 장소와 관련된 예약, 문서(ex: 웹페이지, 이미지, 영상 등)의 선택, 정보의 저장, 콜(call) 발신, 장소 검색(ex: 검색 포털 사이트를 통한 검색 등) 및 경로 검색(ex: 네비게이션 서비스 또는 지도 서비스 등을 통한 검색 등) 등이 존재할 수 있다.
한편, 검색 이벤트는, 사용자 단말기에 입력된 검색어에 대한 검색 결과 중 사용자의 선택에 의하여 선택 또는 클릭된 행위가 이루어짐에 의하여 발생할 수 있다.
나아가, 사용자의 히스토리 정보는, 위에서 살펴본 이벤트가 수행된 또는 발생된 횟수에 대한 카운팅 정보를 포함할 수 있다.
이와 같이, 사용자의 히스토리 정보는, 적어도 하나의 관심 장소에 대한 장소 정보와 함께, 상기 적어도 하나의 관심 장소와 관련된 예약, 문서의 선택, 정보의 저장, 콜(call) 발신, 장소 검색 및 경로 검색 중 적어도 하나를 수행한 횟수와 관련된 카운팅 정보를 포함할 수 있다. 이러한 횟수와 관련된 카운팅 정보는 빈도 정보라고도 명명될 수 있다.
나아가, 사용자의 히스토리 정보는, 상기 이벤트가 발생한 시점 및 날짜 중 적어도 하나와 관련된 일자 정보를 더 포함할 수 있다.
이러한 사용자의 히스토리 정보는, 사용자 별로 구분되어 저장될 수 있다. 사용자 별로의 구분은, 본 발명의 장소 추천 시스템에 연계된 사용자DB(DB: data base)에 포함된 사용자의 ID(identification, identification number)(또는 USER ID) 별로 매칭되어 저장될 수 있다.
다음으로, 사용자의 메타데이터(metadata)는 사용자를 특정하기 위한 정보로서, 사용자의 개인정보 또는 신상정보라고도 이해되어질 수 있다.
사용자 메타데이터는, 사용자(또는 특정 사용자)의 성별 및 연령 중 적어도 하나와 관련된 정보를 포함할 수 있다. 사용자의 메타 데이터는 이외에도, 사용자의 주거 지역, 근무 지역, 관심사, 취미, 직업 등 다양한 정보를 더 포함할 수 있다.
나아가, 사용자 메타데이터에는, 앞서 살펴본, 사용자의 히스토리 정보가 함께 매칭되어 존재할 수 있다. 즉, 사용자 메타데이터에는 해당 사용자가 관심있어 하는 장소에 대한 정보, 장소에 대해 관심의 의사를 표현한 이벤트의 횟수 정보(카운팅 정보) 등이 함께 저장될 수 있다. 이 경우, 사용자 메타데이터는, 사용자의 히스토리 정보를 포함하는 개념으로 이해되어 질 수 있다.
다음으로, 제어부(130)는 본 발명과 관련된 장소 추천 시스템(100)의 전반적인 동작을 제어하도록 이루어질 수 있다. 제어부(130)는 위에서 살펴본 구성요소들을 통해 입력 또는 출력되는 신호, 데이터, 정보 등을 처리하거나 사용자에게 적절한 정보 또는 기능을 제공 또는 처리할 수 있다.
제어부(130)는 사용자의 히스토리 정보(또는 사용자 히스토리, 사용자 히스토리 정보) 및 사용자의 메타데이터(또는 사용자 메타데이터, 메타데이터)에 근거하여, 사용자에 대한 추천 장소를 추출 및 사용자의 단말기로 추천 장소에 대한 정보를 제공할 수 있다.
제어부(130)는 사용자의 현재 위치(또는 사용자가 현재 위치한 지역) 또는 사용자가 선택(또는 입력)한 위치(또는 지역)를 기반으로, 해당 위치(또는 지역)에 위치한 장소에 대한 추천 정보를 추출할 수 있다. 여기에서, 사용자의 현재 위치는, 사용자의 단말기로부터 수집되는 위치 정보에 기반하여 특정될 수 있다.
한편, 추천 장소에 대한 정보의 제공은, 사용자 단말기에 설치된 애플리케이션(application), 웹브라우저(web browser), 프로그램, 소프트웨어 등 다양한 서비스 플랫폼을 통하여, 제공될 수 있다.
제어부(130)는 적어도 하나의 CPU(Central Processing Unit, 중앙처리장치)를 포함하여, 본 발명에 따른 기능을 수행할 수 있다. 나아가, 제어부(130)는 인공지능 기반의 데이터 처리를 수행할 수 있다.
한편, 본 발명에 따른 제어부(130)는 도 2에 도시된 시스템(300)의 구조(또는 프레임워크(framework) 구조)를 통하여, 본 발명에 따른 장소 추천을 수행할 수 있으며, 도 2에 도시된 프레임워크는 경우에 따라 적어도 일부가 변형되는 것 또한 가능하다.
한편, 본 발명에 따른 제어부(130)는 시스템(300)의 구조에 한정되지 않으며, 도시된 시스템(300)을 포함하는 개념으로 이해되어 질 수 있다. 즉, 이하에서 설명되는 시스템(300)은 제어부(130)의 제어 하에 있다고 이해되어 질 수 있다. 이러한 시스템(300)은 히스토리 정보 기반의 추천 시스템(History based recommendation system)이라고도 명명될 수 있다.
본 발명에서는 설명의 편의를 위하여, 시스템(300)에 포함된 요소들을 각각 “모듈(module)”이라고 지칭하도록 한다.
한편, 시스템(300)은 데이터(data) 모듈(310), 사용자 모델링(user modeling) 모듈(320), 선호도 모델링(preference modeling) 모듈(330, 또는 장소 선호도 모듈), 추천 모델링(recommendation modeling) 모듈(340, 또는 장소 추천 모델링 모듈) 및 후처리 모듈(postprocess, 350) 중 적어도 하나를 포함할 수 있다. 이하의 설명에서는, 경우에 따라 해당 모듈을 지칭하여 본 발명을 설명하거나, 또는 제어부(130)로 명명하여 본 발명을 설명할 수 있으나, 이는 본 발명의 본질에 영향을 미치는 요소가 아니며, 모두 제어부(130)로 통용하여 설명하는 것 또한 가능하다.
먼저, 데이터(data) 모듈(310)은, 사용자의 히스토리 정보(311, User History) 및 사용자 메타데이터(312, User Metadata)를 포함하도록 구성될 수 있다.
이러한, 사용자 모델링(user modeling) 모듈(320)은, 데이터 모듈(310)에 저장된 사용자의 히스토리 정보(311, User History) 및 사용자 메타 데이터(312, User Metadata) 중 적어도 하나를 이용할 수 있다.
사용자 모델링(user modeling) 모듈(320)은 장소 추천의 대상이 되는 사용자가 서로 다른 복수의 사용자 그룹 중 어느 하나의 사용자 그룹에 속하는 사용자인지를 판단하는 사용자 그룹(User Group) 모듈(321)을 포함할 수 있다.
여기에서, 복수의 사용자 그룹은, 장소에 대한 관심도에 따라 분류될 수 있다. 도 3에 도시된 것과 같이, 사용자 모델링 모듈(320)(또는 제어부(130), 이하 제어부(130)로 통칭함)는, 사용자 메타데이터(410) 및 사용자의 히스토리 정보 중 적어도 하나를 기반으로, 사용자가 복수의 사용자 그룹(430) 중 어느 사용자 그룹에 속하는지 판단할 수 있다. 도 3에서는 사용자 그룹을 크게 3그룹으로 분류하였으나, 이는 일 예에 해당할 뿐, 사용자 그룹을 분류하는 기준 및 수는 다양하게 변경될 수 있다.
예를 들어, 복수의 사용자 그룹(430) 중, 제1 사용자 그룹(heavy, 431)은 장소에 대한 관심도가 가장 높은 그룹이고, 제2 사용자 그룹(middle, 432)은 장소에 대한 관심도가 제1 사용자 그룹 보다는 낮으나, 어느 정도 관심은 있는 그룹이며, 제3 사용자 그룹(light, 433)는 장소에 대한 관심도가 낮은 그룹일 수 있다.
이러한 복수의 사용자 그룹은, 장소에 대한 관심도에 근거하여 분류될 수 있으며, 이러한 관심도의 정도는, 앞서 살펴본 사용자의 장소에 대해 관심이 있다고 여겨질 만한 행동에 대한 이벤트 발생 정도에 근거하여 산출 또는 추출될 수 있다.
제어부(130)는 i)사용자 그룹의 분류 대상 사용자들 중 상위 xx%(예를 들어, 13%)에 해당하는 장소에 대해 관심도를 가진 사용자를 제1 사용자 그룹으로 분류하고, ii) 사용자 그룹의 분류 대상 사용자들 중 상기 제1 사용자 그룹의 사용자를 제외하고, 상위 yy%(예를 들어, 38%)에 해당하는 장소에 대해 관심도를 가진 사용자를 제2 사용자 그룹으로 분류하며, iii)나머지 사용자들을 제3 사용자 그룹으로 분류할 수 있다.
이 경우, 제1 사용자 그룹의 사용자들이 차지하는 비율을 전체 사용자 그룹의 분류 대상 사용자들 중 13%에 해당하고, 제2 사용자 그룹의 사용자들이 자치하는 비율은 25%에 해당하며, 제3 사용자 그룹의 사용자들이 차지하는 비율은 62%에 해당할 수 있다.
이와 같이, 각각의 사용자 그룹에는, 장소에 대한 사용자들의 관심도 정도가 각각 매칭되어 존재할 수 있다.
이와 같이, 제어부(130)는 분류 대상의 사용자들 간의 상대적인 관심도를 고려하여, 사용자 그룹을 분류할 수 있다.
한편, 제어부(130)는 앞서 살펴본 사용자가 장소에 대해 관심이 있다고 여겨질 만한 행동에 대한 이벤트 발생 정도에 근거하여, 사용자의 관심도 정도를 산출 또는 추출함으로써, 해당 관심도 정도에 근거하여, 사용자가 어느 사용자 그룹에 해당하는지 판단할 수 있다.
상기 이벤트는, 적어도 하나의 관심 장소와 관련된 예약, 문서(ex: 웹페이지, 이미지, 영상 등)의 선택, 정보의 저장, 콜(call) 발신, 장소 검색(ex: 검색 포털 사이트를 통한 검색 등) 및 경로 검색(ex: 네비게이션 서비스 또는 지도 서비스 등을 통한 검색 등) 등이 존재할 수 있다.
앞서 살펴본 것과 같이, 사용자의 히스토리 정보 또는 사용자 메타데이터에는, 위에서 살펴본 이벤트가 수행된 또는 발생된 횟수에 대한 카운팅 정보를 포함할 수 있다.
이와 같이, 제어부(130)는 복수의 사용자들의 메타데이터(또는 히스토리 정보)를 기반으로, 사용자(특정 사용자)가 어느 사용자 그룹에 해당하는지를 판단할 수 있다.
이와 같이, 제어부(130)는 사용자의 히스토리 정보(또는 사용자 메타데이터)를 이용하여, 사용자 마다의 장소에 대한 관심도의 정도를 판단할 수 있다. 그리고, 제어부(130)는 복수의 사용자 그룹 중 상기 판단된 관심도의 정도에 매칭된 사용자 그룹을 특정 사용자가 속하는 사용자 그룹으로서 특정할 수 있다.
한편, 이러한 사용자 그룹은, 사용자 메타데이터 중 특정 요소를 기준으로 분류된 사용자들 내에서 분류된 사용자 그룹을 의미할 수 있다.
즉, 제어부(130)는 사용자들 마다의 대표 공통점을 추출하여, 해당 공통점을 갖는 사용자들을 동일한 사용자 그룹으로 분류한 뒤, 분류된 사용자 그룹 내에서, 세분화된 사용자 그룹(앞서 살펴본, 제1 내지 제3 사용자 그룹(도 3의 431 내지 433 참조))을 분류할 수 있다,
예를 들어, 이러한 공통점은, 성별 및 연령대 중 적어도 하나와 관련될 수 있다.
예를 들어, 제어부(130)는 “여성” 및 “20대”의 공통점을 갖는 사용자들을 1차적으로 분류한 뒤, 1차적으로 분류된 사용자들 내에서 제1 내지 제3 사용자 그룹(도 3의 431 내지 433 참조)을 추가적으로 분류할 수 있다.
이 경우, 제어부(130)는 장소 추천의 대상이 되는 사용자의 사용자 메타데이터를 참조하여, 해당 사용자의 성별 및 연령대를 추출하고, 추출된 성별 및 연령대를 참조하여, 장소 추천의 대상이 되는 사용자가, 서로 다른 메타데이터를 갖는 복수의 사용자 그룹 내에서, 어느 사용자 그룹에 속하는지를 1차적으로 분류(또는 추출)할 수 있다.
이와 같이, 공통점을 기준으로 사용자들 1차적으로 분류하는 이유는, 해당 공통점들을 갖는 사용자들 마다의 장소에 대한 관심 특성이 상이하기 때문이다(예를 들어, 20대 여성은 “스파게티”를 좋아하는 반면, 50내 남성은 “국밥”을 좋아하는 특성을 가짐)
이와 같이, 본 발명에서의 사용자 그룹은, 1차적으로 사용자 메타데이터를 기준으로 분류되고, 1차적으로 분류된 사용자 그룹 내에서 사용자의 장소에 대한 관심도에 근거하여 2차적으로 구분될 수 있다. 본 발명에서 사용자 그룹을 특정한다 함은, 위에서 살펴본 1차 및 2차에 따른 분류를 모두 수행한 것을 의미할 수 있다.
그리고, 제어부(130)는 추천 대상 장소의 지역이, 사용자의 관심 지역(또는 활동 지역)인지 여부에 따라, 2차적으로 매칭된 사용자 그룹에 근거하여 장소를 추천할지 여부를 결정할 수 있다. 이하에서, 설명되는 사용자 그룹은, 1차 및 2차 분류가 수행된 사용자 그룹으로 이해되어질 수 있다.
제어부(130)는 사용자 마다 지역 선호도(440)를 구분할 수 있다. 지역 선호도(440)는 사용자의 활동 지역(또는 관심 지역, 441) 및 기타 지역(442)으로 분류될 수 있다. 사용자의 활동 지역(441)은, 사용자가 주로 방문하는 장소가 위치하는 지역, 사용자의 주거 지역, 근무 지역 등이고, 기타 지역(442)은 이 외이 지역일 수 있다.
본 발명에서 사용자 마다 지역 선호도(440)를 구분하는 이유는, 사용자의 히스토리 정보는, 사용자의 활동 지역(441)에 포함된 장소 정보로 구성될 가능성이 높기 때문이다. 즉, 사용자는, 사용자의 활동 지역(441)에 대해서는 제1 사용자 그룹(heavy, 431) 또는 제2 사용자 그룹(middle, 432)에 해당하는 사용자일 수 있으나, 기타 지역(442)에 대해서는 제3 사용자 그룹(light, 433)에 해당하는 사용자일 수 있다.
이와 같이, 제어부(130)는 사용자의 히스토리 정보에 근거하여, 사용자의 활동 지역을 특정하고, 추천 대상 장소를 추출하는 지역이 사용자의 활동 지역인지 여부를 고려하여, 특정 사용자가 속하는 사용자 그룹에 매칭된 장소 추천 방법으로 추천 장소를 추출할지 결정할 수 있다.
예를 들어, 제어부(130)는, i)사용자에게 장소를 추천할 지역이, 사용자의 활동 지역인 경우, 사용자에 매칭된 사용자 그룹을 기준으로 장소를 추천하고, ii)사용자에게 장소를 추천할 지역이, 사용자의 비활동 지역인 경우, 사용자에 매칭된 사용자 그룹이 아닌, 장소에 대해 관심도가 가장 낮은 그룹(제3 그룹, light)을 기준으로 장소를 추천할 수 있다.
제어부(130)는 사용자 마다, 지역 선호도(440)를 구분하여, 사용자 메타데이터(또는 사용자의 히스토리 정보)에 저장할 수 있다. 따라서, 사용자 메타데이터(또는 사용자의 히스토리 정보)에는, 사용자의 활동 지역에 대한 정보와 사용자의 비활동 지역에 대한 정보가 저장되어 존재할 수 있다.
한편, 제어부(130)는 이러한 사용자 메타데이터(또는 사용자의 히스토리 정보)에 기반하여, 사용자 마다 특화된 장소 추천 정보(개인화된 추천 리스트, 450)를 생성함은 물론, 각각의 사용자 그룹에 대한 장소 추천 정보(그룹 단위의 추천 리스트, 460)를 생성할 수 있다.
다음으로 선호도(preference) 모델링 모듈(330, 또는 장소 선호도 모델링 모듈) 및 추천 모델링(recommendation modeling) 모듈(340, 또는 장소 추천 모델링 모듈)에 대하여 살펴본다.
본 발명에서, 제어부(130)는 사용자 그룹마다 서로 다른 장소 추천 방법에 따라 사용자에게 장소를 추천할 수 있다.
제어부(130)는 복수의 장소 추천 방법 중 장소 추천의 대상이 되는 사용자가 속한 사용자 그룹에 매칭된 장소 추천 방법에 근거하여, 추천 대상 장소를 추출할 수 있다.
먼저, 선호도 모델링 모듈(330)은, 사용자 관심 장소 선호도(User-POI Preference) 모듈(331) 및 관심 장소 관련성(POI-POI Relevance) 모듈(332)을 포함할 수 있다. 여기에서, POI는 Point of Interest의 약자로서, 본 발명에서, POI는 사용자의 관심 장소로 이행되어질 수 있다. 이러한 POI에 대한 정보는, 사용자의 히스토리 정보에 포함될 수 있다.
사용자 관심장소 선호도 모듈(331)은, 동일 사용자 그룹에 속하는 사용자들의 히스토리 정보를 이용하여, 해당 사용자 그룹에 속한 사용자들의 관심 장소에 대한 정보를 추출할 수 있다. 여기에서, “동일 사용자 그룹”은, 앞서 살펴본 1차 분류 및 2차 분류를 통하여 구분된 사용자 그룹일 수 있고, 이와 달리, 1차 분류를 통하여 구분된 사용자 그룹일 수 있다. 1차 분류를 통하여 구분된 사용자 그룹에 포함된 사용자들은 장소에 대한 관심도 정도가 서로 상이한 복수의 그룹 각각에 해당하는 사용자들을 모두 포함할 수 있다.
다음으로, 관심 장소 관련성(POI-POI Relevance) 모듈(332)은, 관심 장소 간의 관련성을 추출하는 모듈로서, 사용자의 히스토리 정보에 기반하여, 함께 자주 나타나는 장소들을 추출하고, 해당 장소들 간의 관련성을 지어주는 역할을 수행할 수 있다. 여기에서, “함께 자주 나타난다”고 함은, 제1 장소에 대한 이벤트가 발생하였을 때, 제2 장소에 대한 이벤트도 유사한 시점에 함께 나타나는 것을 의미할 수 있다. 제어부(130)는 사용자 마다의 히스토리 정보 내에서, 함께 자주 나타나는 장소에 대한 정보를 추출할 수 있다.
제어부(130)는 선호도 모델링 모듈(330)을 통해 추출된 사용자들의 관심 장소에 대한 정보 및 장소 간의 관련성 정보에 근거하여, 앞서 살펴본 복수의 사용자 그룹 중 적어도 하나의 사용자 그룹에 대한 추천 장소 정보를 추출할 수 있다.
한편, 추천 모델링(recommendation modeling) 모듈(340, 또는 장소 추천 모델링 모듈)은, 사용자 그룹 마다 각각 매칭된 장소 추천 방법으로, 추천 장소를 추출할 수 있다.
복수의 장소 추천 방법 각각은, 복수의 사용자 그룹 중 장소 추천의 타겟이 되는 사용자가 속한 사용자 그룹에 포함된 복수의 사용자들의 히스토리 정보를 이용하여, 추천 장소를 추출하도록 이루어진다.
나아가, 복수의 장소 추천 방법은 상기 복수의 사용자들의 히스토리 정보를 처리하는 방법이 서로 다르게 이루어질 수 있다.
복수의 장소 추천 방법 중 제1 장소 추천 방법은, CoFactor(341) 모델링 방법으로서, 이러한 방법은, i)복수의 사용자들과 상기 복수의 사용자들의 히스토리 정보에 포함된 관심 장소들에 대한 제1 관계성 및 ii)복수의 사용자들의 히스토리 정보에 포함된 관심 장소들 간의 제2 관계성에 근거하여 추천 장소를 추출할 수 있다.
여기에서, 제1 관계성은, 사용자 관심 장소 선호도(User-POI Preference) 모듈(331)에 의하여 추출되고, 제2 관계성은 관심 장소 관련성(POI-POI Relevance) 모듈(332)에 의하여 추출될 수 있다.
제1 장소 추천 방법은, 상기 제1 관계성을 정의한 제1 매트릭스와 상기 제2 관계성을 정의한 제2 매트릭스에서 상기 관심 장소들에 해당하는 요소들을 공유하도록 상기 제1 매트릭스 및 제2 매트릭스에 대한 Matrix Factorization(MF)을 수행하는 과정을 포함할 수 있다.
제어부(130)는 상기 제1 장소 추천 방법에 근거하여, 복수의 사용자 그룹 중 장소에 대한 관심도가 가장 큰 사용자 그룹(제1 그룹, 431, 도 3 참조)에 대한 추천 장소를 추출할 수 있다.
나아가, 복수의 장소 추천 방법 중 제2 장소 추천 방법은, POI2VEC(342) 모델링 방법일 수 있다. 제2 장소 추천 방법은, 복수의 사용자들의 히스토리 정보에 포함된 관심 장소들에 각각 대응되는 단어들을 벡터 공간 상에 나타내는 과정 및 상기 벡터 공간으로부터 상기 추천 장소를 추출하는 과정을 포함할 수 있다. 여기에서, “복수의 사용자들”은, 앞서 살펴본 1차 분류 및 2차 분류를 통하여 구분된 사용자 그룹에 포함된 사용자들일 수 있고, 이와 달리, 1차 분류를 통하여 구분된 사용자 그룹에 포함된 사용자들일 수 있다. 1차 분류를 통하여 구분된 사용자 그룹에 포함된 사용자들은 장소에 대한 관심도 정도가 서로 상이한 복수의 그룹 각각에 해당하는 사용자들을 모두 포함할 수 있다.
제어부(130)는, 제2 장소 추천 방법에 따라, 상기 복수의 사용자들 각각을 기준으로, 관심 장소들에 각각 대응되는 단어들 중 적어도 일부를 포함한 문장(sentence)을 생성할 수 있다. 그리고, 제어부(130)는 상기 문장에 대해 워드 임베딩(word embedding)을 수행하여, 상기 문장에 포함된 단어들을 벡터 공간 상에 나타낼 수 있다. 나아가, 제어부(130)는 벡터 공간 상에 나타난 단어들 간의 거리에 근거하여, 사용자에 대해 추천 장소를 추출할 수 있다.
복수의 장소 추천 방법 중 제3 장소 추천 방법은, Statistical Model(343) 모델링 방법일 수 있다.
제3 장소 추천 방법은, 복수의 사용자들의 히스토리 정보에 포함된 관심 장소들에 통계에 근거하여 추천 장소를 추출하는 과정을 포함할 수 있다. 여기에서, “복수의 사용자들”은, 앞서 살펴본 1차 분류 및 2차 분류를 통하여 구분된 사용자 그룹에 포함된 사용자들일 수 있고, 이와 달리, 1차 분류를 통하여 구분된 사용자 그룹에 포함된 사용자들일 수 있다. 1차 분류를 통하여 구분된 사용자 그룹에 포함된 사용자들은 장소에 대한 관심도 정도가 서로 상이한 복수의 그룹 각각에 해당하는 사용자들을 모두 포함할 수 있다.
제3 장소 추천 방법에 의하여 장소가 추천되는 경우, 추천 대상 장소가 포함된 지역에서 가장 유명한 장소(EX: 가장 유명한 맛집)가 추천될 수 있다.
이와 같이, 제어부(130)는 앞서 살펴본 복수의 사용자 그룹 중, i)장소에 대한 관심도 정도가 가장 큰 제1 사용자 그룹(431)에 대해서는 제1 장소 추천 방법(CoFactor(341) 모델링 방법)에 근거하여, 추천 장소를 추출하고, ii)장소에 대한 관심도가 중간 정도인 제2 사용자 그룹(432)에 대해서는, 제2 장소 추천 방법(POI2VEC(342) 모델링 방법)에 근거하여 추천 장소를 추출하며, iii)장소에 대한 관심도가 가장 적은 제3 사용자 그룹(433)에 대해서는, 제3 장소 추천 방법(Statistical Model(343) 모델링 방법)에 근거하여 추천 장소를 추출할 수 있다.
나아가, 본 발명에 따른 시스템(300)의 후처리 모듈(postprocess, 350)은, 앙상블 모델링 모듈(351, Ensemble Model) 및 다양성 모델링 모듈(352, Diversity Model), Explanation 모델링 모듈(353)을 중 적어도 하나를 포함할 수 있다.
보다 구체적으로, 앙상블 모델링 모듈(351)은 추천 모델링(recommendation modeling) 모듈(340)에 근거하여, 각각의 장소 추천 방법에 근거하여, 추천된 장소들 및 이들을 그룹화한 후보군들을 서로 섞는(믹스(mix)) 역할을 수행할 수 있다.
보다 구체적으로, 앙상블 모델링 모듈(351)은 어느 하나의 장소 추천 방법을 통해 추천된 추천 대상 장소의 적어도 일부를, 다른 장소 추천 방법에 의해 추천된 추천 대상 장소의 적어도 일부와 섞는(믹스(mix)) 역할을 수행할 수 있다. 예를 들어, 앙상블 모델링 모듈(351)에 의하여, 장소에 대한 관심도가 높은 제1 사용자 그룹(heavy)에 대응되는 제1 장소 추천 방법을 통해 추천된 추천 장소 후보군(적어도 하나의 추천 장소가 포함된 그룹)에 포함된 장소 중 적어도 일부는, 제3 사용자 그룹(light)에 대응되는 제3 장소 추천 방법을 통해 추천된 추천 장소 후보군에 포함될 수 있다.
다양성 모델링 모듈(352)은 일정 기간 내에 동일한 장소(예를 들어, 동일 맛집)가 반복되어 사용자에게 추천되지 않도록 하는 것으로서, 일정 기간 내에 동일 사용자에게 동일 추천 대상 장소가 추출되는 경우, 이를 다른 추천 대상 장소로 변경하는 역할을 수행할 수 있다. 그 결과, 사용자는 일정 기간 내에 동일한 장소를 추천받지 않음으로써, 다양한 장소에 대한 정보를 제공받을 수 있다.
다음으로, Explanation 모델링 모듈(353)은 추천 대상 장소가 추천된 근거(또는 이유, 근거)에 대한 설명 정보를 제공하는 역할을 수행할 수 있다. Explanation 모델링 모듈(353)은 추천 대상 장소가 사용자에게 추천되는 근거를 생성할 수 있다. Explanation 모델링 모듈(353)은 사용자와 장소와의 관련도 및 추천 대상 장소가 속한 추천 대상 장소 후보그룹(후보군 등) 내에서의 해당 추천 대상 장소의 순위 중 적어도 하나를 고려하여, 추천 대상 장소에 대한 추천 지수를 생성할 수 있다. 이때, Explanation 모델링 모듈(353)은, 사용자의 히스토리 정보 또는 사용자 메타 데이터 등을 고려하여, 추천 대상 장소와 사용자와의 관련성을 추출할 수 있다.
이러한 후처리 모듈(350)은, 시스템(300)에 포함된 각각의 모듈에서 처리된 데이터들에 대한 신뢰도, 정확도 등을 보완하는 역할을 수행할 수 있다.
이하에서는, 위에서 살펴본 장소 추천 시스템을 참고하여, 본 발명에 따른 장소 추천 방법에 대하여 첨부된 도면과 함께 보다 구체적으로 살펴본다. 도 4는 본 발명에 따른 장소 추천 방법을 설명하기 위한 흐름도이고, 도 5는 본 발명에서 사용자의 히스토리 정보를 수집하는 방법을 설명하기 위한 개념도이다. 나아가, 도 6 및 도 7은 복수의 사용자 그룹을 설명하기 개념도들이며. 도 8, 도 9, 도 10, 도 11, 도 12, 도 13, 도 14 및 도 15는 장소 추천 방법의 일 예를 설명하기 위한 개념도들이다. 또한, 도 16 및 도 17은 장소 추천 방법의 다른 예를 설명하기 위한 개념도들이고, 도 18은 장소 추천 정보를 설명하기 위한 개념도이다.
먼저, 도 4를 참조하면, 본 발명에 따른 장소 추천 방법에서는, 사용자에 대한 히스토리 정보를 수집하는 과정이 진행될 수 있다(S310).
제어부(130)는 도 6에 도시된 것과 같이, 사용자 단말기로부터, 사용자(600)의 히스토리 정보(610)를 수집할 수 있다. 본 발명에서 히스토리 정보를 수집하는 방법은 매우 다양할 수 있으므로, 구체적인 방법에 대한 한정을 하지 않기로 한다.
한편, 사용자의 히스토리 정보는, 사용자의 관심 장소에 대한 정보로 이해되어질 수 있다. 여기에서, 관심 장소란, 사용자의 자발적인 의사(또는 선택)에 의하여, 해당 장소에 대해 사용자가 관심이 있다고 여겨질 만한 이벤트가 발생된 장소를 의미할 수 있다.
예를 들어, 상기 이벤트는, 적어도 하나의 관심 장소와 관련된 예약, 문서(ex: 웹페이지, 이미지, 영상 등)의 선택, 정보의 저장, 콜(call) 발신, 장소 검색(ex: 검색 포털 사이트를 통한 검색 등) 및 경로 검색(ex: 네비게이션 서비스 또는 지도 서비스 등을 통한 검색 등) 등이 존재할 수 있다.
한편, 검색 이벤트는, 사용자 단말기에 입력된 검색어에 대한 검색 결과 중 사용자의 선택에 의하여 선택 또는 클릭된 행위가 이루어짐에 의하여 발생할 수 있다.
나아가, 사용자의 히스토리 정보는, 위에서 살펴본 이벤트가 수행된 또는 발생된 횟수에 대한 카운팅 정보를 포함할 수 있다.
이와 같이, 사용자의 히스토리 정보는, 적어도 하나의 관심 장소에 대한 장소 정보와 함께, 상기 적어도 하나의 관심 장소와 관련된 예약, 문서의 선택, 정보의 저장, 콜(call) 발신, 장소 검색 및 경로 검색 중 적어도 하나를 수행한 횟수와 관련된 카운팅 정보를 포함할 수 있다. 이러한 횟수와 관련된 카운팅 정보는 빈도 정보라고도 명명될 수 있다.
나아가, 사용자의 히스토리 정보는, 상기 이벤트가 발생한 시점 및 날짜 중 적어도 하나와 관련된 일자 정보를 더 포함할 수 있다.
이러한 사용자의 히스토리 정보는, 도 5에 도시된 것과 같이, 사용자 별로 구분되어 존재(510, 520, 530, 540, 550) 및 저장될 수 있다. 사용자 별로의 구분은, 본 발명의 장소 추천 시스템에 연계된 사용자DB(DB: data base)에 포함된 사용자의 ID(identification, identification number)(또는 USER ID) 별로 매칭되어 저장될 수 있다.
도 5에 도시된 것과 같이, 히스토리 정보는 장소(본 발명에서는, 알파벳(A 내지 D 등)을 이용하여, 서로 다른 장소를 구분함)에 대한 정보 및 장소에 대한 이벤트의 정보(또는 종류)(예를 들어, 문서(EX: 블로그) 검색, 콜 발신(전화), 길찾기 등)를 포함할 수 있다.
다음으로, 본 발명에서는, 히스토리 정보를 기반으로, 사용자가 속한 사용자 그룹을 특정하는 과정을 진행할 수 있다(S320).
보다 구체적으로, 제어부(130)는 사용자의 히스토리 정보 및 사용자 메타데이터 중 적어도 하나를 이용하여, 사용자가 속한 사용자 그룹을 특정할 수 있다.
사용자 메타데이터(metadata)는 사용자를 특정하기 위한 정보로서, 사용자의 개인정보 또는 신상정보라고도 이해되어질 수 있다.
사용자 메타데이터는, 사용자(또는 특정 사용자)의 성별 및 연령 중 적어도 하나와 관련된 정보를 포함할 수 있다. 사용자의 메타 데이터는 이외에도, 사용자의 주거 지역, 근무 지역, 관심사, 취미, 직업 등 다양한 정보를 더 포함할 수 있다.
즉, 사용자 메타데이터에는 해당 사용자가 관심있어 하는 장소에 대한 정보, 장소에 대해 관심의 의사를 표현한 이벤트의 횟수 정보(카운팅 정보) 등이 함께 저장될 수 있다. 이 경우, 사용자 메타데이터는, 사용자의 히스토리 정보를 포함하는 개념으로 이해되어 질 수 있다.
앞서 살펴본 것과 같이, 본 발명에서는 도 6에 도시된 것과 같이, 복수의 사용자 그룹(620)이 존재하며, 각각의 사용자 그룹(621, 622, 623)은 장소에 대한 관심도를 기준으로 구분될 수 있다.
제어부(130)는 사용자 메타데이터 및 사용자의 히스토리 정보 중 적어도 하나를 기반으로, 사용자가 복수의 사용자 그룹(620) 중 어느 사용자 그룹에 속하는지 판단할 수 있다. 도 6에서는 사용자 그룹을 크게 3그룹으로 분류하였으나, 이는 일 예에 해당할 뿐, 사용자 그룹을 분류하는 기준 및 수는 다양하게 변경될 수 있다.
복수의 사용자 그룹(620) 중, i)제1 사용자 그룹(heavy User, 621)은 장소에 대한 관심도가 가장 높은 그룹이고, ii)제2 사용자 그룹(middle User, 622)은 장소에 대한 관심도가 제1 사용자 그룹 보다는 낮으나, 어느 정도 관심은 있는 그룹이며, iii)제3 사용자 그룹(light, 623)는 장소에 대한 관심도가 낮은 그룹으로 정의될 수 있다.
이러한 복수의 사용자 그룹은, 장소에 대한 관심도에 근거하여 분류될 수 있으며, 이러한 관심도의 정도는, 앞서 살펴본 사용자의 장소에 대해 관심이 있다고 여겨질 만한 행동에 대한 이벤트 발생 정도에 근거하여 산출 또는 추출될 수 있다.
제어부(130)는 i)사용자 그룹의 분류 대상 사용자들 중 상위 xx%(예를 들어, 13%)에 해당하는 장소에 대해 관심도를 가진 사용자를 제1 사용자 그룹(621)으로 분류하고, ii) 사용자 그룹의 분류 대상 사용자들 중 상기 제1 사용자 그룹의 사용자를 제외하고, 상위 yy%(예를 들어, 38%)에 해당하는 장소에 대해 관심도를 가진 사용자를 제2 사용자 그룹(622)으로 분류하며, iii)나머지 사용자들을 제3 사용자 그룹(623)으로 분류할 수 있다.
이 경우, 제1 사용자 그룹의 사용자들이 차지하는 비율을 전체 사용자 그룹의 분류 대상 사용자들 중 13%에 해당하고, 제2 사용자 그룹의 사용자들이 자치하는 비율은 25%에 해당하며, 제3 사용자 그룹의 사용자들이 차지하는 비율은 62%에 해당할 수 있다.
이와 같이, 각각의 사용자 그룹에는, 장소에 대한 사용자들의 관심도 정도가 각각 매칭되어 존재할 수 있다.
이와 같이, 제어부(130)는 분류 대상의 사용자들 간의 상대적인 관심도를 고려하여, 사용자 그룹을 분류할 수 있다.
한편, 제어부(130)는 앞서 살펴본 사용자가 장소에 대해 관심이 있다고 여겨질 만한 행동에 대한 이벤트 발생 정도에 근거하여, 사용자의 관심도 정도를 산출 또는 추출함으로써, 해당 관심도 정도에 근거하여, 사용자가 어느 사용자 그룹에 해당하는지 판단할 수 있다.
상기 이벤트는, 적어도 하나의 관심 장소와 관련된 예약, 문서(ex: 웹페이지, 이미지, 영상 등)의 선택, 정보의 저장, 콜(call) 발신, 장소 검색(ex: 검색 포털 사이트를 통한 검색 등) 및 경로 검색(ex: 네비게이션 서비스 또는 지도 서비스 등을 통한 검색 등) 등이 존재할 수 있다.
앞서 살펴본 것과 같이, 사용자의 히스토리 정보 또는 사용자 메타데이터에는, 위에서 살펴본 이벤트가 수행된 또는 발생된 횟수에 대한 카운팅 정보를 포함할 수 있다.
이와 같이, 제어부(130)는 복수의 사용자들의 메타데이터(또는 히스토리 정보)를 기반으로, 사용자(특정 사용자)가 어느 사용자 그룹에 해당하는지를 판단할 수 있다.
보다 구체적으로, 제어부(130)는, 히스토리 정보(또는 사용자 메타데이터)에 포함된 상기 카운팅 정보와, 상기 특정 사용자의 사용자 메타데이터(metadata)에 대응되는 다른 사용자들의 히스토리 정보에 포함된 카운팅 정보의 비교를 수행할 수 있다. 그리고, 제어부(130)는 상기 비교에 근거하여, 특정 사용자(사용자 그룹을 분류해야 할 대상에 해당하는 사용자)의 장소에 대한 관심도의 정도를 산출할 수 있다.
상기 특정 사용자의 카운팅 정보에 포함된 횟수가, 상기 다른 사용자들의 카운팅정보에 포함된 횟수보다 많은 경우, 상기 특정 사용자의 장소에 대한 관심도는, 상기 다른 사용자들보다 장소에 대한 관심도가 더 큰 것 산출될 수 있다. 이 경우, 제어부(130)는 분류 대상의 사용자들 간의 상대적인 관심도를 고려하여, 사용자 그룹을 분류할 수 있다.
보다 구체적으로, 제어부(130)는, 히스토리 정보(또는 사용자 메타데이터)에 포함된 상기 카운팅 정보와, 상기 특정 사용자의 사용자 메타데이터(metadata)에 대응되는 다른 사용자들의 히스토리 정보에 포함된 카운팅 정보의 비교를 수행할 수 있다. 그리고, 제어부(130)는 상기 비교에 근거하여, 특정 사용자(사용자 그룹을 분류해야 할 대상에 해당하는 사용자)의 장소에 대한 관심도의 정도를 산출할 수 있다.
상기 특정 사용자의 카운팅 정보에 포함된 횟수가, 상기 다른 사용자들의 카운팅 정보에 포함된 횟수보다 많은 경우, 상기 특정 사용자의 장소에 대한 관심도는, 상기 다른 사용자들보다 장소에 대한 관심도가 더 큰 것 산출될 수 있다. 이 경우, 제어부(130)는 분류 대상의 사용자들 간의 상대적인 관심도를 고려하여, 사용자 그룹을 분류할 수 있다.
한편, 이러한 사용자 그룹은, 사용자 메타데이터 중 특정 요소를 기준으로 분류된 사용자들 내에서 분류된 사용자 그룹을 의미할 수 있다.
즉, 제어부(130)는 사용자들 마다의 대표 공통점을 추출하여, 해당 공통점을 갖는 사용자들을 동일한 사용자 그룹으로 분류(1차 분류)한 뒤, 분류된 사용자 그룹 내에서, 세분화된 사용자 그룹(앞서 살펴본, 제1 내지 제3 사용자 그룹(도 3의 421 내지 433 참조))을 분류할 수 있다,
예를 들어, 이러한 공통점은, 성별 및 연령대 중 적어도 하나와 관련될 수 있다.
예를 들어, 제어부(130)는 “여성” 및 “20대”의 공통점을 갖는 사용자들을 1차적으로 분류한 뒤, 1차적으로 분류된 사용자들 내에서 제1 내지 제3 사용자 그룹(도 3의 421 내지 433 참조)을 추가적으로 분류할 수 있다.
이 경우, 제어부(130)는 장소 추천의 대상이 되는 사용자의 사용자 메타데이터를 참조하여, 해당 사용자의 성별 및 연령대를 추출하고, 추출된 성별 및 연령대를 참조하여, 장소 추천의 대상이 되는 사용자가, 서로 다른 메타데이터를 갖는 복수의 사용자 그룹 내에서, 어느 사용자 그룹에 속하는지를 1차적으로 분류(또는 추출)할 수 있다.
이와 같이, 공통점을 기준으로 사용자들 1차적으로 분류하는 이유는, 해당 공통점들을 갖는 사용자들 마다의 장소에 대한 관심 특성이 상이하기 때문이다(예를 들어, 20대 여성은 “스파게티”를 좋아하는 반면, 50내 남성은 “국밥”을 좋아하는 특성을 가짐).
이와 같이, 본 발명에서의 사용자 그룹은, 1차적으로 사용자 메타데이터를 기준으로 분류되고, 1차적으로 분류된 사용자 그룹 내에서 사용자의 장소에 대한 관심도에 근거하여 2차적으로 분류될 수 있다. 본 발명에서 “사용자 그룹을 특정한다” 함은, 위에서 살펴본 1차 및 2차에 따른 분류를 모두 수행한 것을 의미할 수 있다.
이와 같이, 제어부(130)는 서로 공통점을 갖는 사용자들을 기준으로 분류한 복수의 사용자 그룹 중, 장소 추천의 대상이 되는 사용자가 속한 사용자 그룹을 특정할 수 있다.
다음으로 본 발명에서는, 사용자 그룹에 매칭된 장소 추천 방법에 근거하여, 추천 장소를 추출하는 과정이 진행될 수 있다(S330).
보다 구체적으로, 제어부(130)는, 사용자 그룹마다 서로 다른 장소 추천 방법에 따라 사용자에게 장소를 추천할 수 있다. 제어부(130)는 복수의 장소 추천 방법 중 장소 추천의 대상이 되는 사용자가 속한 사용자 그룹에 매칭된 장소 추천 방법에 근거하여, 추천 대상 장소를 추출할 수 있다.
제어부(130) 복수의 사용자 그룹 중, i)장소에 대한 관심도 정도가 가장 큰 제1 사용자 그룹(621)에 대해서는 제1 장소 추천 방법(CoFactor(631) 모델링 방법)에 근거하여, 추천 장소를 추출하고, ii)장소에 대한 관심도가 중간 정도인 제2 사용자 그룹(622)에 대해서는, 제2 장소 추천 방법(POI2VEC(632) 모델링 방법)에 근거하여 추천 장소를 추출하며, iii)장소에 대한 관심도가 가장 적은 제3 사용자 그룹(623)에 대해서는, 제3 장소 추천 방법(Statistical Model(633) 모델링 방법)에 근거하여 추천 장소를 추출할 수 있다(각각의 장소 추천 방법에 대해서는 뒷부분에서 보다 구체적으로 살펴본다).
한편, 제어부(130)는 사용자에게 장소를 추천하는 지역이, 사용자의 관심 지역(또는 활동) 지역인지에 따라, 사용자가 속한 사용자 그룹에 매칭된 장소 추천 방법으로 추천 장소를 추출할지 여부를 결정할 수 있다.
즉, 제어부(130)는, 사용자에게 장소를 추천하는 지역이, 사용자의 관심 지역(또는 활동) 지역인 경우에 한하여, 사용자가 속한 사용자 그룹에 매칭된 장소 추천 방법으로 추천 장소를 추출할 수 있다.
제어부(130)는 사용자 마다 지역 선호도를 구분할 수 있다. 도 7의 (a)에 도시된 것과 같이, 지역 선호도(또는 지역 관심도)는 사용자의 활동 지역(또는 주 활동 지역, 관심 지역, 710) 및 기타 지역(720)으로 분류될 수 있다. 사용자의 활동 지역(710)은, 사용자가 주로 방문하는 장소가 위치한 지역, 사용자의 주거 지역, 근무 지역 등(예를 들어, 강남구, 분당구, 용산구)이고, 기타 지역은 이 외이 지역일 수 있다.
본 발명에서 사용자 마다 지역 선호도를 구분하는 이유는, 사용자의 히스토리 정보는, 사용자의 활동 지역에 포함된 장소 정보로 구성될 가능성이 높기 때문이다. 즉, 사용자는, 사용자의 활동 지역에 대해서는 제1 사용자 그룹(heavy User, 621, 622) 또는 제2 사용자 그룹(middle user, 622)에 해당하는 사용자일 수 있으나, 기타 지역에 대해서는 제3 사용자 그룹(light, 623)에 해당하는 사용자일 수 있다.
이와 같이, 제어부(130)는 사용자의 히스토리 정보에 근거하여, 사용자의 활동 지역을 특정하고, 추천 대상 장소를 추출하는 지역이 사용자의 활동 지역인지 여부를 고려하여, 특정 사용자가 속하는 사용자 그룹에 매칭된 장소 추천 방법으로 추천 장소를 추출할지 결정할 수 있다.
예를 들어, 제어부(130)는, 도 7의 (b)에 도시된 것과 같이, 사용자에게 장소를 추천할 지역이, 사용자(702)의 활동 지역(711)인 경우, 사용자에 매칭된 사용자 그룹을 기준으로 장소를 추천(730, 개인화 추천 방법, 사용자 맞춤형 추천 방법)할 수 있다. 그리고, 제어부(130)는 도 7의 (c)에 도시된 것과 같이, 사용자에게 장소를 추천할 지역이, 사용자(703)의 비활동 지역(또는 기타 지역, 721)인 경우, 사용자에 매칭된 사용자 그룹이 아닌, 장소에 대해 관심도가 가장 낮은 그룹에 매칭된 장소 추천 방법(통계적 방법(제3 장소 추천 방법) 등, 740)으로, 추천 장소를 추출할 수 있다. 제3 장소 추천 방법에 의하여 장소가 추천되는 경우, 추천 대상 장소가 포함된 지역에서 가장 유명한 장소(EX: 가장 유명한 맛집)가 추천될 수 있다.
이하에서는, 각각의 장소 추천 방법에 따라, 추천 장소를 추출하는 방법에 대하여 보다 구체적으로 살펴본다.
먼저, 장소에 대한 관심도 정도가 가장 큰 제1 사용자 그룹(621)에 매칭된 제1 장소 추천 방법(CoFactor(341) 모델링 방법)에 대하여 살펴본다.
제어부(130) 복수의 사용자 그룹 중, i)장소에 대한 관심도 정도가 가장 큰 제1 사용자 그룹(621)에 대해서는 제1 장소 추천 방법(CoFactor(631) 모델링 방법)에 근거하여, 추천 장소를 추출할 수 있다.
복수의 장소 추천 방법 중 제1 장소 추천 방법은, CoFactor(341) 모델링 방법으로서, 이러한 방법은, i)복수의 사용자들과 상기 복수의 사용자들의 히스토리 정보에 포함된 관심 장소들에 대한 제1 관계성 및 ii)복수의 사용자들의 히스토리 정보에 포함된 관심 장소들 간의 제2 관계성에 근거하여 추천 장소를 추출할 수 있다.
여기에서, 제1 관계성은, 사용자 관심 장소 선호도(User-POI Preference) 알고리즘에 의하여 추출되고, 제2 관계성은 관심 장소 관련성(POI-POI Relevance) 알고리즘에 의하여 추출될 수 있다.
제1 장소 추천 방법은, 도 8에 도시된 것과 같이, 상기 제1 관계성을 정의한 제1 매트릭스(920, 도 10 참조)와 상기 제2 관계성을 정의한 제2 매트릭스(1410, 도 14 참조)에서 상기 관심 장소들에 해당하는 요소들을 공유하도록 상기 제1 매트릭스(920) 및 제2 매트릭스(1410)에 대한 Matrix Factorization(MF)을 수행하는 과정(1510)을 포함할 수 있다.
제어부(130)는 상기 제1 장소 추천 방법에 근거하여, 복수의 사용자 그룹 중 장소에 대한 관심도가 가장 큰 사용자 그룹(제1 그룹, 431, 도 3 참조)에 대한 추천 장소를 추출할 수 있다.
먼저, 제1 관계성을 추출하는 방법에 대하여 살펴보면, 제어부(130)는, 사용자의 히스토리 정보에 기반하여, 도 8에 도시된 것과 같이, User-Item(또는 장소) Matrix(행렬, 830)을 최대한 채울 수 있다. 이때, 각 행(810)에는, 서로 다른 사용자 (사용자 ID를 기준으로 구분됨)에 대한 정보가 포함되며, 각 열(820)에는 서로 다른 item(장소)에 대한 정보가 포함될 수 있다. 따라서, 행렬은 User vector(사용자 벡터)와 Item vector(장소 벡터)로 나타내어질 수 있다.
서로 다른 장소에 대한 정보는 각 장소에 대한 사용자의 이벤트 횟수(관심 장소라고 인지될 만한 행동에 대한 이벤트의 횟수)에 대한 정보가 포함될 수 있다.
히스토리 정보를 기반으로 도 8의 행렬(또는 매트릭스, 830)를 채우면, 제어부(130)는 히스토리 정보에 포함된 이벤트의 횟수를 이용하여, 매트릭스(830)을 채울 수 있다. 예를 들어, user 1의 사용자 히스토리 정보를 기반으로, A장소에 대해서는 1회의 이벤트(길찾기)가 발생하고, B장소에 대해서는 3회의 이벤트(블로그 검색 2회, 전화 1회), C장소에 대해서는 2회의 이벤트(길찾기 1회, 전화 1회), D장소에 대해서는 발생된 이벤트가 없음을 확인할 수 있다.
이와 같이, 도 3의 행렬(830)에서, USER 1에 해당하는 행의 각 열에는, 1, 3, 2, 0의 요소가 각각 채워질 수 있다.
이러한 방법으로, 제어부(130)는 동일한 사용자 그룹(이때의 사용자 그룹은, 1차적인 분류에 해당하는 사용자 그룹일 수 있음)에 포함된 사용자들의 히스토리 정보를 이용하여, 행렬(830)을 완성할 수 있다. 도시와 같이, user 1 내지 user 4 마다, 각각의 열에 포함된 장소에 대한 이벤트의 횟수에 대한 정보가 포함될 수 있다.
제어부(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이라고 표현될 수 있다.
그리고, 제어부(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”로 채워질 수 있다.
이러한 Expected Preference 매트릭스(920)는 종래 사용자가 관심을 나타내지 않은 장소에 대한 관심도 정보가 포함되며, 이러한 매트릭스(920) 기반으로, 제어부(130)는 사용자 개개인 마다 맞춤형 장소를 추천할 수 있다.
제어부(130)는 해당 매트릭스(920)에서 인자(또는 요소)별 수치가 가장 높은 장소를 추천 장소로서 추출할 수 있다. 예를 들어, user 4에 해당하는 사용자에 대해서는, C 및 D에 해당하는 장소가 추천될 수 있다.
한편, 제어부(130)는 도 8의 사용자의 히스토리 정보를 기반으로 채워진, User-Item(또는 장소) Matrix(행렬, 830)에 Implicit Feedback 기법을 수행하여, 도 12의 (a)에 도시된 것과 같이, Implicit Feedback 기반의 User-Item(또는 장소) Matrix(행렬, 830’)을 도출하는 것이 가능하다. 이 경우, 이는, 이벤트가 존재하는 장소(itme)에 대응되는 인자에 1을 부여하고, 해당 장소에 대한 이벤트 횟수(예를 들어, 클릭 횟수)에 소정의 confidence level을 곱해서 최종적으로 해당 장소에 대한 선호도 정보를 산출하는 것이다.
이와 같이, Implicit Feedback 기반의 행렬에 기반하여, 앞서 살펴본 과정을 수행하면, 도 12의 (b)에 도시된 것과 같이, Expected Preference 매트릭스(920’)가 도출될 수 있다. 이러한 Implicit Feedback 기반한 장소 추천은, 사용자의 이벤트 수가 상대적으로 많은 장소만 집중하여 추천되는 문제를 방지할 수 있다.
다음으로, 제2 관계성을 추출하는 방법에 대하여 살펴본다, 이하에서는, 위에서 살펴본 Expected Preference 매트릭스를 이용하여, 920에 따른 매트릭스 또는 920’에 따른 매트릭스 모두 사용될 수 있으므로, Expected Preference 매트릭스의 도면 부호를 920으로 통일하여 부여하도록 한다.
제2 관계성은 관심 장소 관련성(POI-POI Relevance 또는 POI-POI Interaction) 알고리즘에 의하여 추출될 수 있다.
다음으로, 관심 장소 관련성(POI-POI Relevance) 알고리즘은, 사용자의 히스토리 정보에 기반하여, 함께 자주 나타나는 장소들을 추출하는 것으로서, 제어부(130)는 해당 알고리즘에 기반하여, 관련성 있는 장소들 간에 관련성을 지어주는 역할을 수행할 수 있다. 여기에서, “함께 자주 나타난다”고 함은, 제1 장소에 대한 이벤트가 발생하였을 때, 제2 장소에 대한 이벤트도 유사한 시점에 함께 나타나는 것을 의미할 수 있다. 제어부(130)는 사용자 마다의 히스토리 정보 내에서, 함께 자주 나타나는 장소에 대한 정보를 추출할 수 있다.
예를 들어 도 13에 도시된 것과 같이, User 1은 A, B, C 장소에 대해 관심을 가졌고, User 2는 D, B, C 장소에 관심을 가졌으며, User 4는 B, C에 대해 관심을 가졌다고 가정하자.
이때, 장소 B, C는 User 1, User 2 및 User 4에 해당하는 복수의 사용자들의 히스토리 정보에서 함께 나타나는 것을 알 수 있다. 이와 같이, 관심 장소 관련성은, 장소들 간의 관련성에 대해 구체적으로 정의되지 않더라도, 장소들이 복수의 사용자들에 대한 히스토리 정보 내에 함께 자주 나타나는 것 만으로, “장소들 간에 유사한 성격(또는 특징)을 갖는다”라고 정의하는 데에서 시작될 수 있다.
제어부(130)는 이러한 가정에 기반하여, 장소들 간의 관련성을 추출하기 위하여, 도 14에 도시된 것과 같이, 장소들 간의 item-item 매트릭스(1410)를 생성할 수 있다. item-item 매트릭스(1410)는, nxn의 매트릭스로 이루어질 수 있다.
제어부(130)는, 장소들 간의 관련성이 존재하지 않은 장소(아이템)에 대해서도 매트릭스의 인자들을 부여하기 위하여, Pointwise Mutual Information(PMI)기법에 근거하여, 아이템 간에 함께 나타날 확률을 구할 수 있다.
제어부(130)는 PMI기법에 근거하여, 모든 아이템(장소) 간의 조합에 대해, 함께 나타날 확률을 구하여, item-item 매트릭스(1410)의 모든 인자들의 값을 채울 수 있다. 모든 인자들이 채워진 매트릭스는 PMI 매트릭스 라고도 명명될 수 있다. 이러한 PMI매트릭스는, 아이템(장소) 기반의 임베딩(embedding)에 활용될 수 있다.
그리고, 제어부(130)는 앞서 살펴본 RMSE가 작아지는 방향으로 Matrix Factorization을 수행할 수 있다. 그 결과, Expected PMI 매트릭스가 도출될 수 있다. 이러한, Expected PMI 매트릭스는 도면부호 1410을 동일하게 활용할 수 있다.
한편, 제어부(130)는 Expected PMI매트릭스(1410)를 Item vector와 context vector로 Factorization(분해, 또는 인수 분해)을 수행할 수 있다. 이렇게 분해된 Item vector와 context vector는 도 14에 도시된 것과 같이, 벡터 공간(1420) 상에 나타내어질 수 있으며, 벡터 공간 상에서의 아이템(장소)들 간의 거리가 가까울수록 서로 관련성이 높은 장소로 이해되어질 수 있다. 즉, 분해된 vector는 word2vec의 skip-gram과 유사한 성격을 가질 수 있다.
한편, 제어부(130)는 이상에서 살펴본 것과 같이, 제1 관계성을 정의한 제1 매트릭스(Expected Preference 매트릭스, 920)와 상기 제2 관계성을 정의한 제2 매트릭스(1410)에서 장소에 해당하는 요소(item vector)들을 공유하도록, 상기 제1 매트릭스(920) 및 제2 매트릭스(Expected PMI매트릭스, 1410)에 대한 Matrix Factorization(MF)을 수행하는 과정을 포함할 수 있다(도 15 참조).
상기 제1 및 제2 매트릭스(920, 1410)에서 Item vector가 함께 공유되므로, 각각의 매트릭스에서 Factorization 하는데 사용된 Loss는 하나의 Loss로 특정될 수 있다. 그 결과 제어부(130)는 제1 및 제2 매트릭스(920, 1410)를 조합하여, Item vector, User vector, Context vector로 Factorization될 수 있는 cofactor Model을 생성할 수 있다.
제어부(130)는 위의 방법으로 도출된 Item vector와 User vector를 통해 Expected Preference(또는 Expected Preference 매트릭스)를 구하고, 이를 기반으로 추천 장소를 추출할 수 있다.
이러한 제1 추천 방법에 의하면, 사용자가 관심을 보인 장소와 유사한 속성을 갖는 장소를 추천할 수 있고, 보다 다양한 장소를 추천할 수 있다.
다음으로, 제2 사용자 그룹에 매칭된 제2 장소 추천 방법(POI2VEC)은, 복수의 사용자들의 히스토리 정보에 포함된 관심 장소들에 각각 대응되는 단어들을 벡터 공간 상에 나타내는 과정 및 상기 벡터 공간으로부터 상기 추천 장소를 추출하는 과정을 포함할 수 있다.
POI2VEC은 WORD2VEC 기법에 기반하여, POI(사용자의 관심 장소)들을 임베딩(embedding)한 것을 의미할 수 있다.
여기에서, “복수의 사용자들”은, 앞서 살펴본 1차 분류 및 2차 분류를 통하여 구분된 사용자 그룹에 포함된 사용자들일 수 있고, 이와 달리, 1차 분류를 통하여 구분된 사용자 그룹에 포함된 사용자들일 수 있다. 1차 분류를 통하여 구분된 사용자 그룹에 포함된 사용자들은 장소에 대한 관심도 정도가 서로 상이한 복수의 그룹 각각에 해당하는 사용자들을 모두 포함할 수 있다.
제어부(130)는, 제2 장소 추천 방법에 따라, 상기 복수의 사용자들 각각을 기준으로, 도 16에 도시된 것과 같이, 사용자의 히스토리 정보에 포함된 관심 장소들에 각각 대응되는 단어들 중 적어도 일부를 포함한 문장(sentence)을 생성할 수 있다. 제어부(130)는 사용자 마다 각각 대응되는 문장을 생성할 수 있다.
예를 들어, 제어부(130)는, User 1 내지 User 5에 따른 사용자의 히스토리 정보에 각각 포함된 단어들(1610 내지 1650)을 이용하여, 문장을 생성할 수 있다. 이때, 생성되는 문장은, 각각의 유저에 대해 서로 구분되는 문장으로 구성될 수 있다. 예를 들어, User 1에 대해서는, User 1의 히스토리 정보에 포함된 관심 장소들에 각각 대응되는 단어들(1610)이 포함된 문장이 생성되고, User 2에 대해서는, User 2의 히스토리 정보에 포함된 관심 장소들에 각각 대응되는 단어들(1620)이 포함된 문장이 생성될 수 있다. 이와 같은 방식으로 User 3 내지 User 5에 대해서도 각각 대응되는 문장이 생성될 수 있다.
본 발명에서 단어는, 제어부(130)에서 데이터 처리가 가능한 형태의 정보로서, 기 설정된 데이터베이스에 등록된 각각의 단어들에 대응되는 장소의 ID(identification number)(또는 업체의 ID)를 의미할 수 있다.
그리고, 제어부(130)는 상기 문장에 대해 워드 임베딩(word embedding)을 수행하여, 도 17에 도시된 것과 같이, 상기 문장에 포함된 단어들을 벡터 공간(1710) 상에 나타낼 수 있다. 나아가, 제어부(130)는 벡터 공간 상에 나타난 단어들 간의 거리에 근거하여, 사용자에 대해 추천 장소를 추출할 수 있다.
제어부(130)는 사용자의 히스토리 정보를 바탕으로, 도 17에 도시된 것과 같이, 장소들을 벡터 공간(1710) 상에 나타내고, 사용자의 벡터(vector)로부터 가깝게 위치한 아이템(장소)를 추천할 수 있다. 여기에서, 사용자의 벡터는, 추천대상이 되는 특정 사용자가 과거 관심을 보인 관심 장소에 해당하는 벡터를 의미할 수 있다.
나아가, 제어부(130)는 장소에 대한 관심도가 가장 적은 제3 사용자 그룹(433)에 대해서는, 제3 장소 추천 방법(Statistical Model(343) 모델링 방법)에 근거하여 추천 장소를 추출할 수 있다. 제3 장소 추천 방법에 의하여 장소가 추천되는 경우, 추천 대상 장소가 포함된 지역에서 가장 유명한 장소(EX: 가장 유명한 맛집)가 추천될 수 있다.
한편, 위에서 살펴본 것과 같이, 장소 추천의 대상이 되는 사용자에게 제공할 추천 장소의 추출이 완료되면, 제어부(130)는 도 18에 도시된 것과 같이, 사용자의 단말기로 추출된 추천 장소 정보를 제공할 수 있다.
제어부(130)는 사용자의 단말기로부터 수신되는 장소 추천 관련 이벤트(또는 장소 추천 요청 이벤트)에 근거하여, 상기 사용자의 단말기에 상기 추천 대상 장소에 대한 추천 정보를 제공할 수 있다.
여기에서, 장소 추천 관련 이벤트는, 사용자의 단말기로부터 장소 추천 요청이 수신되는 것을 의미할 수 있다. 사용자는, 단말기에 대하여 장소 추천을 요구하는 사용자 입력을 인가할 수 있다. 장소 추천 요청 이벤트는, 매우 다양한 경로를 통하여 수신될 수 있다. 예를 들어, 장소 추천 요청 이벤트는 웹페이지, 애플리케이션을 통하여 수신될 수 있음.
제어부(130)는 장소 추천 요청이 수신되면, 사용자 단말기(또는 사용자 계정)에 대응되는 사용자의 히스토리 정보 또는 사용자 메타데이터에 기반하여, 장소 추천 요청에 대응되는 특정 사용자가 속한 사용자 그룹을 특정할 수 있다.
이 경우, 제어부(130)는 장소 추천의 대상이 되는 지역이, 특정 사용자의 활동 지역(또는 관심 지역)인지 여부를 먼저 확인한 후, 사용자가 속한 사용자 그룹 및 장소 추천 방법을 결정할 수 있다.
예를 들어, 제어부(130)는 장소 추천의 대상이 되는 지역이, 사용자의 활동 지역인 경우, 위에서 살펴본 제1 및 제2 장소 추천 방법 중 특정 사용자의 사용자 그룹에 매칭된 방법으로, 특정 사용자에 대한 추천 장소를 추출할 수 있다.
이 경우, 제어부(130)는, 장소 추천의 대상이 된 지역에서, 특정 사용자가 관심있어 할 만한 장소를 추출할 수 있다.
예를 들어, 사용자의 주 활동 지역이 “강남구”이고, 장소 추천의 대상이 된 지역이 “강남구 논현동”인 경우, 제어부(130)는 특정 사용자가 속한 사용자 그룹을 특정하고, 해당 사용자 그룹에 매칭된 장소 추천 방법에 따라, 추천 장소를 추출할 수 있다. 예를 들어, 특정 사용자가 제1 사용자 그룹 또는 제2 사용자 그룹에 속하는 경우, 제어부(130)는 도 18에 도시된 것과 같이, 제1 장소 추천 방법(CoFactor 모델링 방법, 1841) 또는 제2 장소 추천 방법(POI2VEC 모델링 방법, 1842)에 근거하여, 특정 사용자에게 제공할 “강남구 논현동”에 위치한 추천 장소를 추출할 수 있다.
이 경우, 제어부(130)는, 사용자의 단말기에, 추천 장소에 대한 정보(1820, “르몽블랑” 음식점)에 대한 정보 및 해당 추천 장소가 추천된 근거와 관련된 정보(1830) 중 적어도 하나를 포함할 수 있다.
해당 추천 장소가 추천된 근거와 관련된 정보(1830)는, 추천 대상 장소에 대한 추천 지수 (1831) 및 상기 추천 대상 장소의 추천 이유(근거, 1832) 중 적어도 하나와 관련된 정보를 포함할 수 있다.
이때, 추천 지수는, 제1 장소 추천 방법(CoFactor 모델링 방법, 1841) 또는 제2 장소 추천 방법(POI2VEC 모델링 방법, 1842)에 근거하여 특정 사용자에 대한 장소가 추출되었을 때, 해당 특정 사용자에게 추천된 장소ㅃ의 적합한 정도에 대한 것으로서, 해당 추천 지수가 높을수록, 특정 사용자가 관심을 보일 확률이 높은 장소로 이해되어질 수 있다.
나아가, 추천 이유는, 앞서 살펴본 제1 장소 추천 방법(CoFactor 모델링 방법, 1841) 또는 제2 장소 추천 방법(POI2VEC 모델링 방법, 1842)에 근거하여 추천 장소를 특정 사용자가 선호할 만한 근거, 추천 장소가 추천된 근거에 대한 것으로서, 사용자의 히스토리 정보를 기반으로 추출될 수 있다.
한편, 제어부(130)는 장소 추천의 대상이 되는 지역이, 사용자의 활동 지역이 아닌 경우, 위에서 살펴본 제3 장소 추천 방법으로, 특정 사용자에 대한 추천 장소를 추출할 수 있다.
이 경우, 제어부(130)는, 장소 추천의 대상이 된 지역에서, 가장 유명한 장소를 사용자가 관심있어 할 만한 장소로서 추출할 수 있다.
예를 들어, 사용자의 주 활동 지역이 “서울”이고, 장소 추천의 대상이 된 지역이 “부산”인 경우, 제어부(130)는 장소 추천의 대상이된 지역에서 특정 사용자의 히스토리 정보에 기반한 추천 장소가 존재하지 않는다고 판단할 수 있다. 이 경우, 제어부(130)는 제3 장소 추천 방법에 때라, 추천 대상 장소(EX: 부산)에서 가장 유명한 장소를, 특정 사용자에게 장소 추천 정보로서 제공할 수 있다.
위에서 살펴본 것과 같이, 본 발명에 따른 장소 추천 방법 및 시스템은, 사용자의 히스토리 정보에 기반하여, 장소에 대한 사용자의 관심도를 판단할 수 있다, 그리고, 장소에 대한 사용자의 관심도에 근거하여, 사용자에게 적절한 장소 추천 방법을 통해 추천 장소에 대한 정보를 제공할 수 있다. 결과적으로, 본 발명에 따른 장소 추천 방법 및 시스템은, 모든 사용자에 대해 획일적인 추천 장소에 대한 정보를 제공하는 것이 아니라, 사용자 마다의 장소에 대한 관심도를 고려하여, 사용자 맞춤형의 추천 장소에 대한 정보를 제공할 수 있다. 나아가, 사용자는 평소 장소에 대해 가지고 있는 관심도 수준에 맞는 장소 정보를 제공받을 수 있다.
나아가, 본 발명에 따른 장소 추천 방법 및 시스템은, 사용자에게 추천된 장소의 추천 근거에 대한 정보를, 사용자의 히스토리 정보에 기반하여 제공할 수 있다. 이를 통해, 사용자는 해당 장소를 이용함에 있어, 추천 근거를 참고할 수 있으며, 이를 통해 추천 장소를 이용하고자 하는 의사 판단에 도움을 받을 수 있다.
한편, 위에서 살펴본 본 발명은, 컴퓨터에서 하나 이상의 프로세스에 의하여 실행되며, 이러한 컴퓨터로 판독될 수 있는 매체(또는 기록 매체)에 저장 가능한 프로그램으로서 구현될 수 있다.
나아가, 위에서 살펴본 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드 또는 명령어로서 구현하는 것이 가능하다. 즉, 본 발명은 프로그램의 형태로 제공될 수 있다.
한편, 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다.
나아가, 컴퓨터가 읽을 수 있는 매체는, 저장소를 포함하며 전자기기가 통신을 통하여 접근할 수 있는 서버 또는 클라우드 저장소일 수 있다. 이 경우, 컴퓨터는 유선 또는 무선 통신을 통하여, 서버 또는 클라우드 저장소로부터 본 발명에 따른 프로그램을 다운로드 받을 수 있다.
나아가, 본 발명에서는 위에서 설명한 컴퓨터는 프로세서, 즉 CPU(Central Processing Unit, 중앙처리장치)가 탑재된 전자기기로서, 그 종류에 대하여 특별한 한정을 두지 않는다.
한편, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.

Claims (20)

  1. 제어부 및 통신부를 포함하는 장소 추천 시스템에 의해 장소를 추천하는 장소 추천 방법에 있어서,
    상기 통신부를 통해, 특정 사용자의 단말기로부터 장소 추천 관련 이벤트를 수신하는 단계;
    상기 제어부에서, 상기 특정 사용자의 장소와 관련된 히스토리 정보에 근거하여, 상기 특정 사용자의 장소에 대한 관심도 정도를 산출하는 단계;
    상기 제어부에서, 산출된 상기 특정 사용자의 상기 관심도 정도에 근거하여, 장소에 대한 관심도에 따라 분류되는 복수의 사용자 그룹 중 상기 특정 사용자가 속한 사용자 그룹을 특정하는 단계;
    상기 제어부에서, 상기 특정 사용자의 활동 지역에 근거하여, 사용자들의 히스토리 정보를 처리하는 방법이 서로 다른 복수의 장소 추천 방법 중 어느 하나의 장소 추천 방법을 특정하는 단계; 및
    상기 제어부에서, 상기 특정된 어느 하나의 장소 추천 방법으로 추천 대상 장소를 추출하는 단계를 포함하고,
    상기 관심도 정도는 상기 히스토리 정보에 포함된 장소와 관련된 이벤트 발생 정도에 근거하여 추출되며,
    상기 복수의 사용자 그룹 각각에는, 상기 복수의 사용자 그룹 각각에 대응되는 장소에 대한 관심도에 따라 상기 복수의 장소 추천 방법 중 어느 하나의 장소 추천 방법이 매칭되고,
    상기 장소 추천 방법을 특정하는 단계에서는,
    상기 특정 사용자의 상기 히스토리 정보에 근거하여, 상기 특정 사용자의 활동 지역을 특정하고,
    상기 추천 대상 장소를 추출하는 지역이 상기 특정 사용자의 활동 지역인 경우, 상기 특정된 사용자 그룹에 매칭된 장소 추천 방법을 상기 어느 하나의 장소 추천 방법으로 특정하고,
    상기 추천 대상 장소를 추출하는 지역이 상기 특정 사용자의 비활동 지역인 경우, 상기 특정된 사용자 그룹이 아닌, 상기 복수의 사용자 그룹 중 장소에 대한 관심도가 가장 낮은 사용자 그룹에 매칭된 장소 추천 방법을 상기 어느 하나의 장소 추천 방법으로 특정하는 것을 특징으로 하는 것을 특징으로 하는 장소 추천 방법.
  2. 제1항에 있어서,
    상기 제어부에서, 상기 특정 사용자의 단말기로부터 수신되는 장소 추천 관련 이벤트에 근거하여, 상기 특정 사용자의 단말기에 상기 추천 대상 장소에 대한 추천 정보를 제공하는 단계를 더 포함하는 것을 특징으로 하는 장소 추천 방법.
  3. 제2항에 있어서,
    상기 추천 정보는,
    상기 추천 대상 장소의 장소명, 상기 추천 대상 장소에 대한 추천 지수 및 상기 추천 대상 장소의 추천 근거 중 적어도 하나와 관련된 정보를 포함하는 것을 특징으로 하는 장소 추천 방법.
  4. 제3항에 있어서,
    상기 추천 지수는,
    상기 특정된 사용자 그룹에 매칭된 장소 추천 방법에 따라 추출된 상기 추천 대상 장소와 상기 히스토리 정보와의 관계성에 근거하여 산출되는 것을 특징으로 하는 장소 추천 방법.
  5. 삭제
  6. 제1항에 있어서,
    상기 히스토리 정보는,
    적어도 하나의 장소에 대한 장소 정보 및,
    상기 적어도 하나의 장소와 관련된 예약, 문서의 선택, 정보의 저장, 콜(call) 발신, 장소 검색 및 경로 검색 중 적어도 하나를 수행한 횟수와 관련된 카운팅 정보를 포함하는 것을 특징으로 하는 장소 추천 방법.
  7. 제6항에 있어서,
    상기 사용자 그룹을 특정하는 단계는,
    상기 제어부에서, 상기 히스토리 정보에 포함된 상기 카운팅 정보와, 상기 특정 사용자의 사용자 메타데이터(metadata)에 대응되는 다른 사용자들의 히스토리 정보에 포함된 카운팅 정보의 비교를 수행하는 단계; 및
    상기 제어부에서, 상기 비교에 근거하여, 상기 특정 사용자의 장소에 대한 관심도 정도를 산출하는 단계를 더 포함하는 것을 특징으로 하는 장소 추천 방법,
  8. 제7항에 있어서,
    상기 특정 사용자의 상기 카운팅 정보에 포함된 횟수가, 상기 다른 사용자들의 카운팅정보에 포함된 횟수보다 많은 경우,
    상기 특정 사용자의 장소에 대한 관심도는, 상기 다른 사용자들보다 장소에 대한 관심도가 더 큰 것으로 산출되는 것을 특징으로 하는 장소 추천 방법.
  9. 제7항에 있어서,
    상기 사용자 메타 데이터는, 상기 특정 사용자의 성별 및 연령 중 적어도 하나와 관련된 정보를 포함하는 것을 특징으로 하는 장소 추천 방법.
  10. 제1항에 있어서,
    상기 복수의 장소 추천 방법 각각은,
    상기 복수의 사용자 그룹 중 장소 추천의 타겟이 되는 사용자가 속한 사용자 그룹에 포함된 복수의 사용자들의 히스토리 정보를 이용하는 것을 특징으로 하는 장소 추천 방법.
  11. 삭제
  12. 제10항에 있어서,
    상기 복수의 장소 추천 방법 중 제1 장소 추천 방법은,
    상기 복수의 사용자들과 상기 복수의 사용자들의 히스토리 정보에 포함된 장소들에 대한 제1 관계성 및
    상기 복수의 사용자들의 히스토리 정보에 포함된 장소들 간의 제2 관계성에 근거하여 상기 추천 대상 장소를 추출하는 과정을 포함하는 것을 특징으로 하는 장소 추천 방법.
  13. 제12항에 있어서,
    상기 제1 장소 추천 방법은,
    상기 제어부에서, 상기 제1 관계성을 정의한 제1 매트릭스와 상기 제2 관계성을 정의한 제2 매트릭스에서 상기 장소들에 해당하는 요소들을 공유하도록 상기 제1 매트릭스 및 제2 매트릭스에 대한 Matrix Factorization(MF)을 수행하는 과정을 포함하는 것을 특징으로 하는 장소 추천 방법.
  14. 제10항에 있어서,
    상기 복수의 장소 추천 방법 중 제2 장소 추천 방법은,
    상기 제어부에서, 상기 복수의 사용자들의 히스토리 정보에 포함된 장소들에 각각 대응되는 단어들을 벡터 공간 상에 나타내는 과정 및
    상기 제어부에서, 상기 벡터 공간으로부터 상기 추천 대상 장소를 추출하는 과정을 포함하는 것을 특징으로 하는 장소 추천 방법.
  15. 제14항에 있어서,
    상기 제2 장소 추천 방법은,
    상기 제어부에서, 상기 복수의 사용자들 각각을 기준으로, 상기 장소들에 각각 대응되는 단어들 중 적어도 일부를 포함한 문장(sentence)을 생성하는 과정,
    상기 제어부에서, 상기 문장에 대해 워드 임베딩(word embedding)을 수행하여, 상기 문장에 포함된 단어들을 벡터 공간 상에 나타내는 과정 및
    상기 제어부에서, 상기 벡터 공간 상에 나타난 단어들 간의 거리에 근거하여 상기 추천 대상 장소를 추출하는 과정을 포함하는 것을 특징으로 하는 장소 추천 방법.
  16. 제10항에 있어서,
    상기 복수의 장소 추천 방법 중 제3 장소 추천 방법은,
    상기 제어부에서, 상기 복수의 사용자들의 히스토리 정보에 포함된 장소들에 통계에 근거하여 상기 추천 대상 장소를 추출하는 과정을 포함하는 것을 특징으로 하는 장소 추천 방법.
  17. 삭제
  18. 제어부에서, 적어도 하나의 장소와 관련된 특정 사용자의 히스토리 정보를 수집하는 단계;
    상기 제어부에서, 상기 히스토리 정보에 근거하여, 상기 특정 사용자의 장소에 대한 관심도 정도를 산출하는 단계;
    상기 제어부에서, 산출된 상기 특정 사용자의 상기 관심도 정도에 근거하여, 장소에 대한 관심도에 따라 분류되는 복수의 사용자 그룹 중 상기 특정 사용자가 속한 사용자 그룹을 특정하는 단계; 및
    상기 제어부에서, 상기 특정 사용자의 활동 지역에 근거하여, 사용자들의 히스토리 정보를 처리하는 방법이 서로 다른 복수의 장소 추천 방법 중 어느 하나의 장소 추천 방법을 특정하는 단계;
    상기 제어부에서, 상기 특정된 어느 하나의 장소 추천 방법으로 추천 대상 장소를 추출하는 단계를 포함하는 것을 특징으로 하고,
    상기 관심도 정도는 상기 히스토리 정보에 포함된 장소와 관련된 이벤트 발생 정도에 근거하여 추출되며,
    상기 복수의 사용자 그룹 각각에는, 상기 복수의 사용자 그룹 각각에 대응되는 장소에 대한 관심도에 따라 상기 복수의 장소 추천 방법 중 어느 하나의 장소 추천 방법이 매칭되고,
    상기 장소 추천 방법을 특정하는 단계에서는,
    상기 특정 사용자의 상기 히스토리 정보에 근거하여, 상기 특정 사용자의 활동 지역을 특정하고,
    상기 추천 대상 장소를 추출하는 지역이 상기 특정 사용자의 활동 지역인 경우, 상기 특정된 사용자 그룹에 매칭된 장소 추천 방법을 상기 어느 하나의 장소 추천 방법으로 특정하고,
    상기 추천 대상 장소를 추출하는 지역이 상기 특정 사용자의 비활동 지역인 경우, 상기 특정된 사용자 그룹이 아닌, 상기 복수의 사용자 그룹 중 장소에 대한 관심도가 가장 낮은 사용자 그룹에 매칭된 장소 추천 방법을 상기 어느 하나의 장소 추천 방법으로 특정하는 것을 특징으로 하는 것을 특징으로 하는 장소 추천 방법.
  19. 적어도 하나의 장소와 관련된 특정 사용자의 히스토리 정보를 저장하는 저장부; 및
    상기 특정 사용자의 상기 히스토리 정보에 근거하여, 상기 특정 사용자의 장소에 대한 관심도 정도를 산출하는 제어부를 포함하고,
    상기 제어부는,
    산출된 상기 특정 사용자의 상기 관심도 정도에 근거하여, 장소에 대한 관심도에 따라 분류되는 복수의 사용자 그룹 중 상기 특정 사용자가 속한 사용자 그룹을 특정하고,
    상기 특정 사용자의 활동 지역에 근거하여, 사용자들의 히스토리 정보를 처리하는 방법이 서로 다른 복수의 장소 추천 방법 중 어느 하나의 장소 추천 방법을 특정하고,
    상기 특정된 어느 하나의 장소 추천 방법으로 추천 대상 장소를 추출하며,
    상기 관심도 정도는 상기 히스토리 정보에 포함된 장소와 관련된 이벤트 발생 정도에 근거하여 추출되며,
    상기 복수의 사용자 그룹에는 상기 복수의 사용자 그룹 각각에 대응되는 장소에 대한 관심도에 따라 상기 복수의 장소 추천 방법 중 어느 하나의 장소 추천 방법이 매칭되고,
    상기 제어부는,
    상기 특정 사용자의 상기 히스토리 정보에 근거하여, 상기 특정 사용자의 활동 지역을 특정하고,
    상기 추천 대상 장소를 추출하는 지역이 상기 특정 사용자의 활동 지역인 경우, 상기 특정된 사용자 그룹에 매칭된 장소 추천 방법을 상기 어느 하나의 장소 추천 방법으로 특정하며,
    상기 추천 대상 장소를 추출하는 지역이 상기 특정 사용자의 비활동 지역인 경우, 상기 특정된 사용자 그룹이 아닌, 상기 복수의 사용자 그룹 중 장소에 대한 관심도가 가장 낮은 사용자 그룹에 매칭된 장소 추천 방법이 상기 어느 하나의 장소 추천 방법으로 특정되는 것을 특징으로 하는 장소 추천 시스템.
  20. 제1항 내지 제4항, 제6항 내지 제10항 및 제12항 내지 제16항 및 제18항 중 어느 한 항에 따른 방법을 실행하기 위해 컴퓨터 판독 가능한 기록 매체에 기록된 컴퓨터 프로그램.
KR1020210012673A 2021-01-28 2021-01-28 장소 추천 방법 및 시스템 KR102655723B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210012673A KR102655723B1 (ko) 2021-01-28 2021-01-28 장소 추천 방법 및 시스템
JP2021185654A JP7325492B2 (ja) 2021-01-28 2021-11-15 場所推薦方法及びシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210012673A KR102655723B1 (ko) 2021-01-28 2021-01-28 장소 추천 방법 및 시스템

Publications (2)

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

Family

ID=82747608

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210012673A KR102655723B1 (ko) 2021-01-28 2021-01-28 장소 추천 방법 및 시스템

Country Status (2)

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

Family Cites Families (11)

* 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 (ja) * 2010-10-04 2014-08-06 独立行政法人情報通信研究機構 観光スポット推薦装置およびプログラム
US9152726B2 (en) * 2010-12-01 2015-10-06 Microsoft Technology Licensing, Llc Real-time personalized recommendation of location-related entities
JP6114654B2 (ja) * 2013-07-19 2017-04-12 株式会社ゼンリンデータコム 場所推薦装置及び場所推薦方法
KR101579376B1 (ko) * 2014-05-11 2015-12-21 이정우 주관성 분석을 이용한 사용자 분류와 그에 따른 개인화된 장소 추천 시스템 및 방법
KR20190023721A (ko) * 2017-08-30 2019-03-08 한국과학기술원 세부 장소 관련 온라인 정보의 감성 특성 정형화 장치 및 방법
KR102061331B1 (ko) * 2018-03-22 2019-12-31 네이버 주식회사 아이템 추천 방법 및 시스템
KR102076407B1 (ko) * 2018-04-26 2020-02-11 충북대학교 산학협력단 관심장소 추천 방법 및 관심장소 추천 시스템
KR102410777B1 (ko) * 2019-01-14 2022-06-21 카페24 주식회사 상품 추천 방식 개선 방법 및 장치
JP2020154821A (ja) * 2019-03-20 2020-09-24 株式会社ミクシィ 記事推奨システム
JP2020153919A (ja) * 2019-03-22 2020-09-24 本田技研工業株式会社 サーバ

Also Published As

Publication number Publication date
JP2022115795A (ja) 2022-08-09
KR20220109249A (ko) 2022-08-04
JP7325492B2 (ja) 2023-08-14

Similar Documents

Publication Publication Date Title
Cai et al. Integrating spatial and temporal contexts into a factorization model for POI recommendation
Xiao et al. Inferring social ties between users with human location history
Colombo-Mendoza et al. RecomMetz: A context-aware knowledge-based mobile recommender system for movie showtimes
Zhao et al. Personalized recommendations of locally interesting venues to tourists via cross-region community matching
US11490220B2 (en) System and method for accurately and efficiently generating ambient point-of-interest recommendations
Fogli et al. Exploiting semantics for context-aware itinerary recommendation
US20190340537A1 (en) Personalized Match Score For Places
Bin et al. A travel route recommendation system based on smart phones and IoT environment
JP6725718B2 (ja) 位置基盤情報探索方法およびコンピュータ装置
Al-Ghobari et al. Location-Aware Personalized Traveler Recommender System (LAPTA) Using Collaborative Filtering KNN.
US20170011063A1 (en) Systems and Methods to Facilitate Submission of User Images Descriptive of Locations
Liu et al. Recommending attractive thematic regions by semantic community detection with multi-sourced VGI data
CN113590936A (zh) 信息推送的方法及装置
Hong et al. Multi-criteria tensor model consolidating spatial and temporal information for tourism recommendation
Norouzi et al. Developing Tourism Users’ Profiles with Data‐Driven Explicit Information
KR20150083673A (ko) 여행 플랜 서비스 제공 방법 및 장치
KR20230141654A (ko) 장소 추천 방법 및 시스템
Shahriari-Mehr et al. A store location-based recommender system using user’s position and web searches
KR102655723B1 (ko) 장소 추천 방법 및 시스템
Chen et al. A restaurant recommendation approach with the contextual information
KR20160049411A (ko) 사용자 행동 기반의 장소 추천 시스템 및 방법
Guellab et al. Enhancing Parking Online Reservation with a Recommendation System based on User Preferences: A hybrid Approach
CN114219581A (zh) 一种基于异构图的个性化兴趣点推荐方法及系统
Zhang et al. Context-aware point-of-interest recommendation algorithm with interpretability
Zu et al. Wisdom Homestay Tourism Recommendation Platform and Marketing Strategy Based on Multi‐Information Fusion Sensor Network

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