Nothing Special   »   [go: up one dir, main page]

KR101634152B1 - 실시간 위치 인식 추천 - Google Patents

실시간 위치 인식 추천 Download PDF

Info

Publication number
KR101634152B1
KR101634152B1 KR1020157022008A KR20157022008A KR101634152B1 KR 101634152 B1 KR101634152 B1 KR 101634152B1 KR 1020157022008 A KR1020157022008 A KR 1020157022008A KR 20157022008 A KR20157022008 A KR 20157022008A KR 101634152 B1 KR101634152 B1 KR 101634152B1
Authority
KR
South Korea
Prior art keywords
location
locations
user
recommendation
recommendations
Prior art date
Application number
KR1020157022008A
Other languages
English (en)
Other versions
KR20150099619A (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 이베이 인크.
Publication of KR20150099619A publication Critical patent/KR20150099619A/ko
Application granted granted Critical
Publication of KR101634152B1 publication Critical patent/KR101634152B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
    • H04W4/028
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0261Targeted advertisements based on user location
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0267Wireless devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0269Targeted advertisements based on user profile or attribute
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/021Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/18Service support devices; Network management devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Data Mining & Analysis (AREA)
  • Game Theory and Decision Science (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

실시간 위치 인식 추천을 위한 시스템 및 방법이 이 명세서에서 논의된다. 일례에서, 위치 인식 추천들을 생성하기 위한 방법은 사용자의 현재 위치를 수신하는 단계, 사용자의 장소 그래프를 산출하는 단계, 장소 그래프를 검토하는 단계, 추천을 선택하는 단계, 및 추천을 전송하는 단계를 포함할 수 있다. 이 예에서, 장소 그래프는 현재의 위치에 기초하여 산출된다. 장소 그래프를 검토하는 단계는 현재 위치의 사전정의된 거리 내에서 하나 이상의 잠재적 추천들을 식별할 수 있다.

Description

실시간 위치 인식 추천{REAL-TIME LOCATION-AWARE RECOMMENDATIONS}
본 출원은 "실시간 위치 인식 추천을 위한 시스템 및 방법(SYSTEMS AND METHODS FOR REAL-TIME LOCATION-AWARE RECOMMENDATIONS)"이라는 발명의 명칭으로 2011년 7월 20일자에 출원된 미국 가특허출원 제61/509,987호에 대한 우선권을 주장하며, 상기 가출원은 전체적으로 참조에 의해 본 명세서 내에 통합된다.
인터넷과 같은 네트워크 기초 시스템들 상에서 이용 가능한 정보의 급증은 원하는 정보나 제품을 찾고자 시도하는 사람을 압도시킬 수 있다. 예를 들어, 식사할 장소나 로컬 엔터테인먼트 이벤트를 찾는 사람은 인터넷을 검색할 수 있지만 데이터의 양에 압도되거나 어떤 관련 정보도 찾지 못할 수 있다. 인터넷을 통해 이용 가능한 정보량의 급격한 증가는 사용자들에게 그들의 수요와 관련된 정보를 찾기 위해 막대한 데이터 량을 구분하고 살펴보는 문제를 남겼다. 타깃 검색 서비스 및 추천 엔진들이 사용자들이 관련 정보나 제품들을 찾는 것을 돕도록 구현되어 왔다. 성공적인 추천 시스템은 관련 정보(예를 들어, 먹을 장소나 구매할 제품)를 찾는 데 있어 사용자들의 시간을 절약해 줄뿐 아니라, 광고를 통한 추가 이익이나 검색 서비스나 추천 엔진을 운영하는 서비스 제공자의 추가 판매 수익을 끌어낼 수도 있다.
(캘리포니아 주 쿠퍼티노에 있는 애플 사에서 나온) 아이폰과 같이 인터넷에 연결된 스마트폰들의 출현은 어디에서나 이용 가능한 인터넷을 통해 광대한 양의 정보를 이용할 수 있게 함으로써 문제를 악화시켰다. 또한 스마트폰들은 통상적으로, 위치 결정 기능들을 가져서 검색이나 추천 엔진에 의해 사용할 이용 가능 데이터를 증가시킨다. 그러나 실시간 위치 인식 추천들을 제공하는 것은 상당한 난제들을 제공한다.
전통적 추천 시스템들은 단순 키워드나 자연 언어 검색을 통해 찾은 정보의 양을 줄이기 위해 어떤 협력 필터링의 형식을 이용한다. 두 개의 서로 다른 기본 타입의 협력 필터링이 사용자 기초이나 항목 기초(또는 타깃 기초)으로 추천 시스템들에 의해 통상적으로 사용된다. 사용자 기초 협력 필터링은 유사 사용자 동향을 그룹화하는 데 초점을 맞춘다. 항목 기초 추천 시스템은 유사 항목들을 그룹화하는 데 초점을 맞춘다. 유사 제품들을 샀던 사용자들의 구매 이력(예를 들어, X를 샀던 사용자들이 Y 및 Z 역시 샀음)에 기초하여 추천을 제공하기 위해 상거래 사이트들에 의해 필터링을 이용하는 항목 기초 추천이 사용될 수 있다. 항목 기초 추천들은 식당들이나 엔터테인먼트 공연장들과 같은 것들에 적용될 수도 있다. 그러나 협력 필터링은 제한적이며, 특히 위치가 추천 매트릭스에 추가될 때 그러하다.
본 발명자는 무엇보다 실시간 위치 인식 추천들의 생성이 특히 속도 및 관련성 면에서 난제를 제시한다는 것을 인지해왔다. 추천에 대한 관련성의 문제는 위치 관련성뿐 아니라 개별 사용자에 대한 관련성을 포함할 수 있다. 거의 실시간으로 개별 사용자와 관련된 위치 인식 추천들을 생성하는 일은 상당한 계산적 난제이다. 본 시스템 및 방법들은 현재 위치에 대한 지난 사용자 행동들을 처리 및 적용하는 데 대한 신규한 접근방식을 통해 이러한 난제들을 극복할 수 있다.
예 1은 위치 인식 추천들을 생성하기 위한 방법을 포함할 수 있다. 이 방법은 정보를 수신하는 단계와, 장소 그래프를 산출하는 단계와, 장소 그래프를 검토하는 단계와, 로컬 위치 추천을 선택하는 단계와, 로컬 위치 추천을 전송하는 단계를 포함할 수 있다. 정보를 수신하는 단계는 사용자의 현재 위치를 특정하는 정보를 포함한다. 장소 그래프를 산출하는 단계는 순간적으로 발생하며 현재 위치에 기초한다. 장소 그래프를 검토하는 단계는 현재 위치의 사전정의된 거리 내에서 하나 이상의 잠재적 장소 추천들을 식별하는 단계를 포함할 수 있다. 하나 이상의 잠재적 장소 추천들로부터 로컬 장소 추천이 선택될 수 있다.
예 2에서, 예 1의 방법은 장소 그래프를 산출할 때 수반되는 추가 동작들을 옵션으로서 포함할 수 있다. 장소 그래프를 산출하는 단계는 사용자 프로필 데이터를 액세스하는 단계와, 특성 행렬을 추출하는 단계와, 장소 데이터를 액세스하는 단계와, 특성 행렬을 투영하는 단계를 포함할 수 있다. 사용자 프로필 데이터를 액세스하는 단계는 제1복수의 장소들을 포함할 수 있으며, 제1복수의 장소들 각각은 사용자 프로필 데이터 안에 기록된 상호동작(interaction) 이력을 포함한다. 특성 행렬은 제1복수의 장소들로부터 추출될 수 있다. 장소 데이터를 액세스하는 단계는 현재 위치 안에 제2복수의 장소들을 포함할 수 있다. 특성 행렬은 제1복수의 장소들로부터 현재 위치 안의 제2복수의 장소들 상으로 투영될 수 있다.
예 3에서, 예 2의 방법은 제1복수의 장소들과 관련된 사용자 프로필 데이터에 기초하여 제1복수의 장소들로부터 특성 행렬 내 특성들의 점수 매김을 포함하는 특성 행렬을 추출하는 단계를 옵션으로서 포함할 수 있다.
예 4에서, 예 3의 방법은 제1복수의 장소들 중 하나 이상과 관련한 명시적 사용자 입력에 기초하여 특성들을 점수 매김으로써 특성들의 점수를 매기는 단계를 옵션으로서 포함할 수 있다.
예 5에서, 예 4의 방법은 사용자 제공 등급, 리뷰, 관련 체크인 및 사용자가 어떤 장소를 주소록 안에 저장한 것을 포함하는 명시적 사용자 입력에 기초하여 특성들을 점수 매기는 단계를 옵션으로서 포함할 수 있다.
예 6에서, 예 3-5 중 어느 하나의 방법은 제1복수의 장소들 중 하나 이상과 관련한 암시적 사용자 입력에 기초하여 특성들을 점수 매기는 단계를 옵션으로서 포함할 수 있다.
예 7에서, 예 6의 방법은 제1복수의 장소들 중 하나 이상에 관한 명시적 사용자 입력에 제1가중 팩터를 적용하고 제1복수의 장소들 중 하나 이상에 관한 암시적 사용자 입력에 제2가중 팩터를 적용함으로써 특성들을 점수 매기는 단계를 옵션으로서 포함할 수 있다.
예 8에서, 예 2-7 중 어느 하나의 방법은 하나 이상의 잠재적 장소 추천들을 식별하기 위해 제2복수의 장소들을 분석함으로써 장소 그래프를 검토하는 단계를 옵션으로서 포함할 수 있다.
예 9에서, 예 1-8 중 어느 하나의 방법은 해당 시각에 기초하여 하나 이상의 잠재적 장소 추천들을 필터링함으로써 로컬 장소 추천을 선택하는 단계를 옵션으로서 포함할 수 있다.
예 10은 위치 인식 실시간 추천들을 생성하기 위한 시스템을 포함할 수 있다. 본 명세서에 기술되는 시스템은 상술한 예시적 방법들 중 어느 것을 수행할 수 있다. 시스템은 위치 모듈, 장소 그래프 모듈, 추천 엔진, 및 프로세서 실행 공개 애플리케이션을 포함하는 네트워크에 연결된 서버를 포함할 수 있다. 위치 모듈은 네트워크를 통해 사용자가 서버를 액세스하는 것과 관련된 현재 위치를 판단하도록 구성될 수 있다. 장소 그래프 모듈은 즉석에서, 현재 위치에 기초하여 사용자의 장소 그래프를 산출하도록 구성될 수 있다. 구성된 추천 엔진은 현재 위치의 사전정의된 거리 내에서 하나 이상의 잠재적 장소 추천들을 식별하기 위해 장소 그래프를 검토하고, 하나 이상의 잠재적 장소 추천들로부터 사용자의 로컬 장소 추천을 선택하도록 구성될 수 있다. 프로세서 실행 공개 애플리케이션은 네트워크를 통해 사용자에게 로컬 장소 추천을 전송하도록 구성될 수 있다.
예 11에서, 예 10의 시스템은 사용자의 사용자 프로필 데이터를 액세스하도록 옵션으로서 구성된 장소 그래프 모듈을 포함하되, 상기 사용자 프로필 데이터는 제1복수의 장소들을 포함하고, 제1복수의 장소들 각각은 사용자 프로필 데이터 안에 기록된 상호동작 이력을 포함하고; 제1복수의 장소들로부터 특성 행렬을 추출하고; 현재 위치 안에서 제2복수의 장소들의 장소 데이터를 액세스하고; 제1복수의 장소들로부터의 특성 행렬을 현재 위치 안의 제2복수의 장소들 상으로 투영하도록 옵션으로서 구성된 장소 그래프 모듈을 포함할 수 있다.
예 12에서, 예 11의 시스템은 제1복수의 장소들과 관련된 사용자 프로필 데이터에 기초하여 특성 행렬 안의 특성들을 점수 매기도록 옵션으로서 더 구성된 장소 그래프 모듈을 포함할 수 있다.
예 13에서, 예 12의 시스템은 제1복수의 장소들 중 하나 이상과 관련한 명시적 사용자 입력에 기초하여 특성들을 점수 매기도록 옵션으로서 추가 구성된 장소 그래프 모듈을 포함할 수 있다.
예 14에서, 예 13의 시스템은 제1복수의 장소들 중 하나 이상에 관한 암시적 사용자 입력에 기초하여 특성들을 점수 매기도록 옵션으로서 추가 구성된 장소 그래프 모듈을 포함할 수 있다.
예 15에서, 예 13-14의 시스템은 제1복수의 장소들 중 하나 이상에 관한 명시적 사용자 입력에 제1가중 팩터를 적용하고 제1복수의 장소들 중 하나 이상에 관한 암시적 사용자 입력에 제2가중 팩터를 적용하도록 옵션으로서 추가 구성된 장소 그래프 모듈을 포함할 수 있다.
예 16에서, 예 11-15 중 어느 하나의 시스템은 하나 이상의 잠재적 장소 추천들을 식별하기 위해 제2복수의 장소들을 분석하도록 옵션으로서 추가 구성된 추천 엔진을 포함할 수 있다.
예 17은 네트워킹된 시스템에 의해 실행될 때 그 네트워킹된 시스템이 상술한 예 1-10 중 어느 하나를 수행하게 하는 명령어들을 포함하는 장치 판독 가능 저장 매체를 포함한다.
정의
장소나 사건 발생지-이 명세서 및 관련 청구범위의 목적 상, "장소" 및 "사건 발생지"라는 용어들은 특히 식당, 극장, 경기장, 또는 사업장과 같은 물리적 위치들을 나타내기 위해 혼용하여 사용된다. 장소나 사건 발생지는 특히, 물리적 위치, 카테고리 및 동작 시간과 같은 다양한 속성들이나 특성들을 가질 수 있다. 장소나 사건 발생지는 또한 식당이나 이탈리안 레스토랑과 같은 여러 상이한 카테고리들로 분류될 수 있다.
위치-이 명세서 및 관련 청구범위의 목적 상, "위치"라는 용어는 경도/위도 조합이나 거리 주소와 같은 지리적 위치를 나타내기 위해 사용된다.
실시간-이 명세서 및 관련 청구범위의 목적 상, "실시간"이라는 용어는 동작가능 시스템에 의해 입력이 수신되거나 이벤트가 발생할 때 즉시 수행되는 계산이나 동작을 나타내는 데 사용된다. 그러나 "실시간"이라는 용어의 사용은 대기시간(latency)이 장치의 성능 특성에 따라 유발되는 의도치 않은 결과인 한, 입력과 반응 사이에 약간의 대기시간을 유발하는 동작들을 배제하는 것이어서는 안된다.
일부 실시예들은 예로서 예시된 것이며 첨부 도면의 도형으로 국한되는 것이 아니다.
도 1은 예시적 실시예에 따른 간단한 장소 그래프를 예시한 관계도이다.
도 2는 예시적 실시예에 따른 보다 상세한 장소 그래프를 예시한 관계도이다.
도 3은 예시적 실시예에 따라 모바일 장치를 동작시키기 위한 환경을 예시한 블록도이다.
도 4는 예시적 실시예에 따른 모바일 장치를 예시한 블록도이다.
도 5는 예시적 실시예에 따라 실시간 위치 인식 추천들 및 광고들을 전달하기 위한 네트워크 기초 시스템을 예시한 블록도이다.
도 6은 예시적 실시예에 따라 실시간 위치 인식 추천들을 생성할 수 있는 예시적 추천 서브 시스템을 예시한 블록도이다.
도 7은 실시간 위치 인식 추천들을 생성하기 위한 예시적 방법을 예시한 흐름도이다.
도 8은 예시적 실시예에 따라 이차 지리적 위치에 대한 장소 그래프를 생성하기 위한 방법을 예시한 흐름도이다.
도 9는 예시적 실시예에 따라 지리적 위치 안의 사건 발생지들의 특성 집합을 예시한 테이블이다.
도 10은 장치가 본 명세서에서 논의되는 방법론들 중 어느 하나 이상을 수행하도록 하는 명령어들의 집합이 실행될 수 있는 예시적 형식의 컴퓨터 시스템 안의 어느 장치의 도시적 표현이다.
실시간 위치 인식 추천들을 제공하기 위한 예시적 시스템들 및 방법들이 기술된다. 실시간 위치 인식 추천들을 제공하기 위한 시스템들 및 방법들은 일부 예시적 실시예들에서, 네트워크 기초 위치 인식 추천 시스템과 같은 네트워크 기초 시스템과 상호 동작하는 사용자의 지나간 행위에 기초하여 추천들을 제공할 수 있다. 이하의 설명에서, 설명의 목적상 예시적 실시예들에 대한 철저한 이해를 제공하기 위해 수많은 특정 세부사항들이 언급된다. 그러나 당업자라면 본 발명이 그러한 특정 세부사항들 없이도 실시될 수 있다는 것을 알 수 있을 것이다. 실시간 위치 인식 추천들은 제공된 예들에 국한되지 않고 구체적으로 논의되지 않은 다른 시나리오들을 포함할 수 있다는 것 역시 자명할 것이다.
예시적 실시예에서, 네트워크 기초 시스템은 네트워크 기초 시스템과의 지나간 사용자 상호동작들을 이용하는 사용자의 현재 위치에 기초하여 추천들을 제공할 수 있다. 일부 예들에서 사용자는 특히 스마트폰, 태블릿 컴퓨팅 장치 또는 인터넷 가능 PDA(personal digital assistant)와 같은 모바일 장치를 통해 네트워크 기초 시스템과 상호 동작한다. 일례에서 네트워크 기초 시스템은 위치 인식 추천들을 도출하고 거의 실시간으로 사용자의 모바일 장치로 그 추천들을 전송할 수 있는 추천 서브 시스템을 포함할 수 있다. 실시간 위치 인식 추천들을 생성하는 것은 즉각적 계산을 필요로 하는데, 이는 사용자 프로필 데이터(예를 들어, 선호사항 및 명시적이고 내재적인 행동들) 및 위치 데이터 모두가 추천들을 생성하는데 사용될 때 미리 프로그래밍된(미리 컴파일링된) 추천들은 효과적이지 않기 때문이다.
영화들을 추천하는데 이용될 수 있는 것과 같은(예를 들어, 캘리포니아 주 로스가토스의 Netflix 사에서 나온 NETFLIX.COM 상에서의 영화 추천들) 전통적 협동 필터링 추천 시스템에서, 추천 시스템은 미리 컴파일링된 추천들을 전개하기 위해 여러 그래프들에 걸친 여러 사람들로부터의 보기 이력을 이용할 수 있다. 시청자의 위치는 무관하거나, 기껏해야 추천들에 대해 매우 대략적으로만 적용될 수 있다. 또한, 이하에서 보다 상세히 논의되는 것과 같이 추천 엔진은 이용 가능한 많은 추가 입력들을 가질 수 있는데, 이는 사람들이 일반적으로 자신들이 지역의 관심 지점들(예를 들어, 식당이나 엔터테인먼트 발생지)을 방문하기 보다 영화들을 자주 보기 때문이다.
반대로 위치 인식 추천 엔진들은 보통, 추천을 생성함에 있어 작업할 훨씬 적은 입력들을 가질 수 있다. 사용자들은 통상적으로 일주일에 두세 번 지역 시설들을 방문할 뿐이며, 같은 장소들을 훨씬 자주 방문하는 경향 역시 있다. 따라서 위치 인식 추천 엔진은 단순한 협력 필터링을 넘는 알고리즘들을 이용하는 것에서 이익을 취할 수 있다. 예시적 실시예에서 위치 인식 추천 시스템은 사적 추천들 및 새로운 발견을 가능하게 하기 위해 여기에서 장소 그래프라고 불리는 장소들의 그래프를 생성할 수 있다. 장소 그래프는 내재적이거나 사용자 특정적 관계들(특성들이라고도 칭함)에 의해 상호 연결되는 노드들인 물리적 위치들을 포함한다. 도 1은 특정한 지리적 위치에서 특정 사용의 단순 장소 그래프를 예시한 관계도 또는 그래프이다.
일례에 따르면, 장소 그래프는 물리적 위치들 및 사용자 입력들에 관한 일반 정보를 포함하는 여러 입력들로부터 생성될 수 있다. 물리적 위치들에 대한 일반 정보는 특히, 위치(예를 들어, 경도/위도, 거리 주소 등), 카테고리(예를 들어, 식당, 바 등) 및 리뷰를 포함할 수 있다. 사용자 입력들은 물리적 위치들과의 암시적이고 명시적인 상호동작들 모두를 포함할 수 있다. 추천 시스템은 이때, 특정 위치에 있는 특정 사용자의 장소 그래프를 생성하기 위해 장치 학습, 유사도 계측 및 예측 해석을 이용할 수 있다. 추천 시스템에 의해 사용되는 알고리즘들은 새로운 위치 상으로 투영될 한 위치에서의 사용자의 암시적 및 명시적 상호동작들의 실시간 투영을 가능하게 하여, 상기 새로운 위치에서 이용 가능한 사용자가 보인 관심사들 및 장소들(예를 들어, 식당, 엔터테인먼트 이벤트 등) 모두와 관련된 추천들을 생성하도록 한다. 일례에서 한 위치에서 새로운 위치로의 사용자의 암시적 및 명시적 상호동작의 투영은 공간 필터링 메커니즘(예를 들어, 센터 지점 및 반경)을 통해 그 새로운 위치의 장소들을 필터링하는 단계를 포함한다.
어떤 예시적 실시예들에서 사용된 입력들은 명시적 상호동작들, 암시적 상호동작들 및 장소(위치) 정보라는 3 개의 일반 버킷들을 포함할 수 있다. 명시적 상호동작들은 등급, 리뷰, 체크인, 주소록으로의 장소들 저장, 또는 장소에 관한 선호사항을 나타내기 위해 긍정적으로 해석될 수 있는 사용자가 취한 다른 명시적 액션을 포함할 수 있다. 명시적 상호동작들은 사용자들의 선호사항들 및 선택사항들을 직접적으로 드러내는 사용자들로부터의 입력들이다. 암시적 상호동작들은 검색, 브라우징, 또는 모바일 애플리케이션과의 상호동작의 수동적 부산물이다. 예를 들어 암시적 상호동작은 사용자가 로컬 장소의 온라인 상세 페이지를 클릭할 때 기록될 수 있다. 단지 장소에 대한 상세 페이지의 클릭이 그 장소에 관한 사용자의 의도를 긍정적으로 확인하는 것은 아니다. 일부 경우들에서 사용자는 상세 페이지를 읽고 그들이 그 장소를 좋아하지 않는다(거나 그 장소를 좋아할 가능성이 없다)고 결정할 수 있다. 추천 시스템은 사용자의 암시적 상호동작들에 기초하여 어떤 장소 내 어떤 관심사를 추정할 수 있으나, 그러한 암시적 상호동작들은 추천 시스템에 의해 명시적 상호동작들과 다르게 다뤄질 수 있다. 마지막으로 추천 시스템은 장소 그래프를 산출하기 위한 입력으로서 장소나 사건 발생지 정보를 사용한다.
일례에서 추천 시스템은 상술한 입력들에 기초하여 장소들에 대한 패턴들 및 관계를 식별하기 위해 수학적 기법들 및 장치 학습을 이용하는 특수화된 색인 및 검색 알고리즘들을 사용한다. 상술한 입력들을 감안할 때, 동적으로 발생되는 출력은 특정 사용자에 대한 장소들의 관계들에 대한 여러 레벨들로 이루어진다. 도 2는 예시적 실시예에 따른 보다 상세한 장소 그래프를 예시한 관계도이다
도 1 및 2에 도시된 장소 그래프 예들에 의해 예시된 바와 같이, 비슷한 특성들을 가진 로컬 장소들은 보통, 어떤 장소 그래프 안에서 관련된 상태에 있게 된다(예를 들어, 어떤 스시 장소는 해당 그래프 안의 다른 스시 장소들을 가질 가능성이 있을 수 있다). 일례에서 추천 시스템은 어떤 지리적 영역 내 위치들의 집합에 걸친 특성들을 추출하기 위해 주요 성분 분석(PCA) 및/또는 특이값 분해(SVD)와 같은 알고리즘들을 사용한다. 이러한 장치 기초 특성 추출은 사용자들에게 그다지 명백하지 않은 위치들 사이의 유사성들을 식별할 수 있다. 예를 들어 추출된 유사 특성은 "시내에서 비싼 음식을 서비스하며 상 받은 디저트들을 내놓는 식당들"과 같은 것일지도 모른다. 특성들은 보통 매우 모호하여, 공유된 특성이 어떻게 발전되었는지를 판단하기 위해 두 개의 장치 관련 위치들을 분석하는 주의 깊은 재구성을 요한다. 따라서 이러한 예들에서, 그러한 관계(공유된 특성이라 표현됨)는 암시적이지 않은 것으로 추정된다-이는 그것들이 산출/추정되었고 직접 혹은 발견적으로 암시된 것이 아닌 수학적 알고리즘들의 결과들임을 의미한다. 이 예에서, 장소들(예를 들어, 사건 발생지들) 사이의 관계 추정 개념을 발전시키기 위해 차원수 감소가 적용될 수 있다. 이러한 기법들은 예시적 추천 엔진이 장소들 사이의 이전에 알려지지 않은 연관들을 발전시킬 수 있게 함으로써, 새로운 사적 발견들이 추천(안)들로서 사용자들에게 제시될 수 있게 한다.
위에서 언급한 바와 같이, 명시적이고 암시적인 사용자 상호동작들은 장소 그래프 전개 시 추천 엔진에 의해 상이하게 취급될 수 있다. 암시적이고 명시적인 액션들 사이에(브라우징되고 사용자에 의해 평가되었던 장소들 사이에) 높은 상관이 있는 것으로 종종 보여지더라도, 암시적 상호동작들로부터 명시적 상호동작들을 모델링하는 시도들은 일반적으로 보다 낮은 품질의 추천들을 생성시킨다. 일례에서 추천의 품질은 사용자가 추천에 따라 (명시적으로나 암시적으로) 행동하는지 여부에 의해 평가될 수 있다. 예를 들어 사용자 상호동작 이력 데이터는 사용자가 그 장소의 상세 페이지를 보았던 횟수에 기초하여 특정 장소에 대한 사용자 등급을 예측하고자 하는 시도가 신뢰성이 있다고 증명하지 못한다는 것을 보여준다. 복합 모델들이 적용될 수 있지만, 대부분의 예시적 실시예들은 소정의 지리 영역(예를 들어, 동네, 시 또는 대도시 영역) 내 장소들 사이의 관계들을 산출하기 위해 확률적 유사도 계측을 이용한다.
사적 장소 그래프의 생성은 어려운 일일 수 있다. 위에서 언급한 바와 같이, 사용자-장소 상호동작들은 일반적으로 희박하며 새로운 지리적 위치들에서 극단적으로 희박하다(또는 존재하지 않는다). 희박한 데이터 문제를 다루기 위해, 추천 시스템은 차원수 감소 및 행렬 인수분해를 이용할 수 있다. 예시적 시스템에서 차원수 감소 및 행렬 인수분해는 상술한 PCA 및 SVD 알고리즘들을 이용하여 수행된다. 오리지널 사용자-장소 상호작용 행렬을 인수 분해함으로써, 시스템은 사용자 프로필 데이터에 기초하여 서로 다른 지리적 위치들에서의 장소들 간 숨겨진 관계들을 드러낼 수 있으며, 새로운 지리적 위치들(예를 들어, 사용자가 제한했거나 로컬 장소들과의 명시적이나 암시적 상호동작들을 한 지리적 위치들)에 대한 장소 그래프를 성공적으로 생성할 수 있다. 어떤 예들에서, 추천 시스템은 특히 사용자가 초기에 그 추천 시스템을 이용하여 시작할 때(예를 들어, 콜드 스타트) 보다 전통적인 협력 필터링을 이용할 수도 있다.
일례에서 추천 시스템은 새로운 지리 위치에 대한 위치 인식 추천들을 생성할 수 있다. 영화들을 추천하는 것과 달리, 시스템이 오프라인으로 추천 "룩업 테이블"을 미리 산출할 수 있는 경우, 위치 인식 추천 시스템은 최근의 모바일 장치들에 의해 부과되는 국지적 맥락 및 실시간 응답 요건들을 처리해야 한다. 사용자들이 하루 종일 여러 장소들로 다니면서 자기들의 장치들을 가지고 이동할 때, 사용자들은 추천들이 그들 주변의 장소들(예를 들어, 현재의 지리 위치) 및 그날의 시간과 같은 다른 요인들에 따라 계속해서 동적으로 재산출될 것을 요구한다. 오프라인에서 추천들을 주기적으로 산출하는 것은 모바일 장치 사용자들에 의해 요망되는 결과들을 도출하지 못할 것이다. 추천 산출은 실시간으로 전후 맥락 상의 사용자의 현재 위치를 이용하여 수행되어야 한다.
일례에서 추천 시스템은 위에서 논의된 실시간 위치 인지 추천 문제를 해소하기 위해 빠른 장소 그래프 노드 검토를 이용할 수 있다. 본 명세서에서 논의된 추천 시스템은 계속해서 사용자 추천들을 재산출하고, 사용자의 이전 장소들(예를 들어, 사용자 프로필 데이터)에 기초하고 사용자의 현재 위치와 관련하여 추천 장소 리스트를 업데이트할 수 있다. 그 결과, 논의된 추천 시스템은 모바일 이용성을 감안한 국지적 발견에 대한 최적의 해법이다.
일례에서 사용자들이 장소들(장소 그래프 안의 노드들)과 상호작용할 때, 명시적이고 암시적인 상호동작들이 장소 그래프 상에 매핑된다(예를 들어, 노드들 및 에지(edge)들이 업데이트된다). 그런 다음 장소 그래프 안에서 사용자의 국지적 취향(예를 들어, 좋아하는 것 및 싫어하는 것)을 반영한 경로들이 산출될 수 있으며, 그 경로들은 취향 경로들이라 불릴 수 있다. 이러한 취향 경로들에 기초하여 시스템은 사용자가 현재 위치 안에서 좋아할 수 있는 장소들을 예측할 수 있다.
상술한 바와 같이, 추천 시스템은 사용자 프로필 정보 및 소셜 그래프(예를 들어, 소셜 네트워크 관계들)와 같이 장소 그래프 너머의 정보를 고려한 복합 모델을 이용할 수 있다. 이러한 추가 정보는 사용자가 명시적이거나 암시적인 많은(또는 임의의) 상호동작들을 기록하지 않은 콜드 스타트 시나리오에서 특히 유용할 수 있다.
예시적 동작 환경
도 3은 예시적 실시예에 따라 모바일 장치(400)를 동작시키기 위한 환경(300)을 예시한 블록도이다. 모바일 전자 장치(400)는 다양한 타입의 장치들 중 어느 하나, 예컨대 휴대 전화, PDA(apersonal digital assistant), PND(Personal Navigation Device), 핸드헬드 컴퓨터, 태블릿 컴퓨터, 노트북 컴퓨터, 또는 다른 타입의 이동가능 장치일 수 있다. 장치(400)는 통신 네트워크(320)와 연결(310)을 통해 인터페이스할 수 있다. 모바일 전자 장치(400)의 형식에 따라, 다양한 타입의 연결들(310) 및 통신 네트워크들(320) 중 어느 것이 사용될 수 있다.
예를 들어 연결(310)은 CDMA(Code Division Multiple Access) 연결, GSM(Global System for Mobile communications) 연결, 또는 다른 타입의 셀룰라 접속일 수 있다. 그러한 연결(310)은 단일 캐리어 무선 전송 기술(1xRTT), EVDO(Evolution-Data Optimized) 기술, GPRS(General Packet Radio Service) 기술, EDGE(nhanced Data rates for GSM Evolution) 기술, 또는 다른 데이터 전송 기술과 같은 다양한 타입의 데이터 전송 기술 중 어느 것을 구현할 수 있다. 그러한 기술이 사용될 때, 통신 네트워크(320)는 휴대 전화 교류를 통해 상호 연결되는 중복되는 지리적 적용범위의 복수의 셀 사이트들을 가지는 셀룰라 네트워크를 포함할 수 있다. 이러한 셀룰라 전화 교류는 네트워크 백본, 예컨대 공공 교환 전화망(PSTN), 패킷 교환 데이터 네트워크 또는 다른 타입의 네트워크들에 연결될 수 있다.
다른 예에서 연결(310)은 와이파이(Wi-Fi, IEEE 802.1 1x 타입) 연결, WiMAX(Worldwide Interoperability for Microwave Access) 연결, 또는 다른 타입의 무선 데이터 연결일 수 있다. 그러한 실시예에서 통신 네트워크(320)는 LAN(local area network), WAN(wide area network), 인터넷, 또는 다른 패킷 교환 데이터망에 연결된 하나 이상의 무선 액세스 포인트들을 포함할 수 있다.
또 다른 예에서, 연결(310)은 유선 연결, 예컨대 이더넷 링크일 수 있으며, 통신 네트워크는 LAN(local area network), WAN(wide area network), 인터넷, 또는 따른 패킷 교환 데이터망일 수 있다. 그에 따라 다양한 여러 구성들이 특별한 목적에 따라 고려된다.
복수의 서버들(330)은 통신 네트워크(320)에 대한 인터페이스들, 예컨대 유선이나 무선 인터페이스들을 통해 연결될 수 있다. 이러한 서버들(330)은 모바일 전자 장치(400)로 다양한 타입의 서비스들을 제공하도록 구성될 수 있다. 예를 들어 하나 이상의 서버들(330)은 위치 기초 서비스(LBS) 애플리케이션들(340)을 실행할 수 있으며, LBS 애플리케이션들(340)은 사용자에게 LBS들을 제공하기 위해 장치(400) 상에서 실행되는 소프트웨어를 통해 운용된다. LBS들은 장치의 위치 및/또는 다른 장치들의 위치에 대한 지식을 이용하여 위치 고유 정보, 추천들, 통지들, 상호동작 기능들 및/또는 다른 기능을 사용자에게 제공할 수 있다. 장치의 위치 및/또는 다른 장치들의 위치에 대한 지식은 서버들(330) 중 하나 이상에서 실행되는 위치 결정 애플리케이션(350)을 이용한 장치(400)의 상호운용을 통해 얻어질 수 있다. 위치 정보는 또한, 애플리케이션(350)과 같은 위치 결정 애플리케이션의 사용 없이 장치(400)에 의해 제공될 수 있다. 어떤 예들에서 장치(400)는 위치 결정 애플리케이션(350)에 의해 증대되는 어떤 제한된 위치 결정 기능들을 가질 수 있다.
예시적 모바일 장치
도 4는 예시적 실시예에 따른 모바일 장치(400)를 예시한 블록도이다. 장치(400)는 프로세서(410)를 더 포함할 수 있다. 프로세서(410)는 모바일 장치들에 적합한 다양한 여러 타입의 상용 가능한 프로세서들 증 어느 하나, 예컨대 XScale 아키텍처 마이크로프로세서, MIPS(Microprocessor without Interlocked Pipeline Stages) 아키텍처 프로세서, 또는 다른 타입의 프로세서일 수 있다. RAM(Random Access Memory), 플래시 메모리 또는 다른 타입의 메모리와 같은 메모리(420)는 통상적으로 프로세서에 접근 가능하다. 메모리(420)는 운영체계(OS)(430)뿐 아니라 LBS들을 사용자에게 제공할 수 있는 모바일 위치 가능 애플리케이션과 같은 애플리케이션 프로그램들(440)을 저장하도록 적응될 수 있다. 프로세서(410)는 직접적으로나 적절한 중간 하드웨어를 통해 디스플레이(450) 및 키패드, 터치 패널 센서, 마이크로폰 등과 같은 하나 이상의 입출력(I/O) 장치들(460)에 연결될 수 있다. 마찬가지로 일부 실시예들에서, 프로세서(410)는 안테나(490)와 인터페이스하는 트랜시버(470)에 연결될 수 있다. 트랜시버(470)는 장치(400)의 성격에 따라, 셀룰라 네트워크 신호들, 무선 데이터 신호들, 또는 다른 타입의 신호들을 안테나(490)를 통해 송신 및 수신하도록 구성될 수 있다. 이러한 방식으로, 통신 네트워크(420)와의 연결(410)이 설정될 수 있다. 또한, 일부 구성들에서 GPS 수신기(480)는 GPS 신호들을 수신하기 위해 안테나(490)를 활용할 수도 있다.
위치 기초 서비스들을 제공 및 수신하는 것에 관한 추가적 세부사항은 참조를 통해 여기에 병합되는 것으로, 필립스 등에게 수여되어 메릴랜드 주 보스턴에 있는 Where 사에 양도된 "Location-Based Services"라는 제목의 미국 특허 제7,848,765에서 찾아볼 수 있다.
예시적 플랫폼 구조
도 5는 예시적 실시예에 따라 실시간 위치 인식 추천들 및 광고들을 전달하기 위한 네트워크 기초 시스템(500)을 예시한 블록도이다. 예시적 실시예가 사용될 수 있는 클라이언트-서버 시스템(500)을 도시한 블록도가 기술된다. 네트워크 기초 위치 인식 추천, 광고, 또는 출판 시스템의 예시적 형식들로 된 네트워킹된 시스템(502)은 네트워크(504)(예를 들어, 인터넷이나 WAN(Wide Area Network)를 통해 서버측 기능을 하나 이상의 클라이언트들(510, 512)로 제공한다. 도 5는 예컨대 웹 클라이언트(506)(예를 들어, 워싱턴 주 레이몬드에 있는 마이크로소프트 사에 의해 개발된 인터넷 익스플로러 브라우저와 같은 브라우저), 및 각자의 클라이언트 장치들(510 및 512) 상에서 실행되는 프로그래머틱 클라이언트(508)(예를 들어, 메릴랜드 주 보스턴에 있는 Where 사로부터 나온 WHERE 스마트폰 애플리케이션)를 예시한다. 일례에서 클라이언트 장치들(510 및 512)은 모바일 장치(400)와 같은 모바일 장치의 형태가 될 수 있다.
애플리케이션 프로그래밍 인터페이스(API) 서버(514) 및 웹 서버(516)는 하나 이상의 애플리케이션 서버들(518)에 연결되어 각기 프로그래머틱 및 웹 인터페이스들을 제공한다. 애플리케이션 서버들(518)은 하나 이상의 공개 애플리케이션들(520)(소정 예들에서 이들은 몇 가지 예를 들자면 상거래 애플리케이션들, 광고 애플리케이션들 및 마켓 플레이스 애플리케이션들), 결제 애플리케이션들(522) 및 추천 서브 시스템(532)을 호스팅한다. 애플리케이션 서버들(518)은 다시, 하나 이상의 데이터베이스들(526)에 대한 액세스를 돕는 하나 이상의 데이터베이스 서버들(524)에 연결되는 것으로 보여진다. 일부 예들에서 애플리케이션 서버(518)는 데이터베이스 서버(524)에 대한 필요 없이 데이터베이스들(526)에 바로 액세스할 수 있다.
공개 애플리케이션들(520)은 네트워킹된 시스템(502)을 액세스하는 사용자들에게 여러 공개 기능들 및 서비스들을 제공할 수 있다. 결제 애플리케이션들(522)은 마찬가지로, 사용자들에게 여러 결제 서비스들 및 기능들을 제공할 수 있다. 결제 애플리케이션들(522)은 사용자들이 (예를 들어, 미국 달러와 같은 시중 통화나 "포인트들"과 같은 독자 통화의) 가치를 계좌들 안에 누적시키고 그런 다음 이후에 그 누적된 가치를 다양한 공개 애플리케이션들(520)을 통해 광고되거나 이용 가능하게 된 상품들(예를 들어, 재화나 서비스들)과 교환하게 할 수 있다. 결제 애플리케이션(522)은 또한 체크아웃 도중에 추천 서브 시스템(532)에 의해 생성된 추천들을 사용자에게 제공하도록 구성될 수 있다. 추천 서브 시스템(532)은 네트워킹된 시스템(502)의 사용자들에게 실시간 위치 인식 추천들을 제공할 수 있다. 추천 서브 시스템(532)은 사용자들에게 추천들을 제공하기 위해 네트워킹된 시스템(502)에 의해 제공되는 다양한 통신 메커니즘들 모두를 사용하도록 구성될 수 있다. 공개 애플리케이션들(520), 결제 애플리케이션들(522) 및 추천 서브 시스템(532)이 도 5에서는 모두 네트워킹된 시스템(502)의 일부를 형성하는 것으로 보여지고 있지만, 다른 실시예들에서 결제 애플리케이션들(522)은 네트워킹된 시스템(502)과 별개로서 구분되는 결제 서비스의 일부를 형성할 수 있다는 것이 예상될 수 있다.
또한, 도 5에 도시된 시스템(500)은 클라이언트-서버 구조를 이용하지만, 본 발명은 당연히 그러한 구조에 국한되지 않고, 마찬가지로 예컨대 분산되거나 피어-투-피어 구조의 시스템에서의 적용을 찾을 수도 있을 것이다. 다양한 공개 애플리케이션들(520), 결제 애플리케이션들(522) 및 추천 서브 시스템(532)은 반드시 네트워킹 기능을 가질 필요 없이 단독형 소프트웨어 프로그램들로서 구현될 수도 있을 것이다.
웹 클라이언트(506)는 웹 서버(516)에 의해 지원되는 웹 인터페이스를 통해 다양한 공개 애플리케이션들(520), 결제 애플리케이션들(522) 및 추천 서브 시스템(532)을 액세스한다. 마찬가지로, 프로그래머틱 클라이언트(508)는 API 서버(514)에 의해 제공되는 프로그램 인터페이스를 통해 공개 애플리케이션들, 결제 애플리케이션들 및 추천 서브 시스템(520, 522 및 532)에 의해 제공되는 다양한 서비스들 및 기능들을 액세스한다. 프로그래머틱 클라이언트(508)는 예컨대, 사용자들이 스마트폰에 의해 제공되는 사용자 프로필 데이터 및 현재 위치 정보를 이용하는 실시간 위치 인식 추천들을 수신할 수 있도록 로컬 추천 스마트폰 애플리케이션(예를 들어, 메릴랜드 주 보스턴에 있는 Where 사에 의해 개발된 WHERE 애플리케이션)일 수 있다.
도 5는 또한, 제3자 서버 장치(530) 상에서 실행되는 제3자 애플리케이션(528)을 API 서버(514)에 의해 제공되는 프로그램 인터페이스를 통해 네트워킹된 시스템(502)에 프로그래머틱 액세스를 하는 것으로서 도시한다. 예를 들어 제3자 애플리케이션(528)은 네트워킹된 시스템(502)으로부터 검색된 정보를 이용하여, 제3자에 의해 호스팅되는 웹사이트 상의 하나 이상의 특성들이나 기능들을 지원할 수 있다. 제3자 웹사이트는 예컨대, 네트워킹된 시스템(502)의 관련 애플리케이션들에 의해 지원되는 하나 이상의 판촉용 마켓 플레이스이나 결제 기능들을 제공할 수 있다. 또한 제3자 웹사이트는 추천 서브 시스템(532)을 통해 네트워킹된 시스템(502) 상에서 이용 가능한 항목들에 대한 사용자 추천들을 제공할 수 있다. 또한 애플리케이션 서버(518)는 제3의 아트 서버(540)와 같은 제3자 시스템을 통해 광고 데이터를 액세스할 수 있다.
예시적 추천 서브 시스템
도 6은 예시적 실시예에 따라 실시간 위치 인식 추천들을 생성할 수 있는 예시적 추천 서브 시스템(532)을 예시한 블록도이다. 이 예에서 추천 서브 시스템(532)은 장소 그래프 모듈(605), 위치 모듈(630) 및 추천 엔진(620)을 포함할 수 있다. 일부 예들에서 장소 그래프 모듈(605)은 특성 추출 모듈(610) 및 투영 모듈(615)을 포함할 수 있다. 이 예에서 추천 서브 시스템(532)은 사용자 프로필 데이터 및 로컬 장소들에 대한 정보(위치 데이터라고도 칭함)를 저장 및/또는 검색하기 위해 데이터베이스(526)를 액세스할 수 있다.
일례에서 장소 그래프 모듈(605)은 사용자 프로필 데이터 및 위치 데이터에 기초하여 현재 위치에 대한 장소 그래프를 생성할 수 있다. 일부 예들에서 위치 데이터는 위치 모듈(630)에 의해 제공될 수 있다. 어떤 예들에서 장소 그래프 모듈(605)은 사용자 프로필 데이터 안에 연관된 상호동작들을 가지는 제1복수의 장소들에 대한 특성 매트릭스를 추출하기 위해 PCA 및 SVD와 같은 알고리즘들을 유발할 수 있는 특성 추출 모듈(610)을 포함한다. 특성 추출 모듈(610)은 추출된 특성들 각각을 점수 매기기 위해 명시적이고 암시적인 사용자 상호동작 관련 복수의 장소들 모두를 이용할 수도 있다. 복수의 장소들에 대한 예시적 특성 매트릭스를 예시한 테이블에 대한 도 9를 참조한다. 명시적이고 암시적인 사용자 상호동작 데이터는 사용자 프로필 데이터 안에 저장될 수 있다. 투영 모듈(615)은 위치 모듈(630)에 의해 제공되는 제2복수의 장소들 상으로 특성 매트릭스를 투영할 수 있다. 일부 예들에서 제2복수의 장소들은 제1복수의 장소들과 공통되는 어떤 장소들을 반드시 포함할 필요가 없는 다른 지리 위치로부터 도출된다. 일례로, 투영 모듈(615)은 새로운 장소들 특성 값들에 기초하여 사용자 주변 장소들을 필터링하기 위해 현재 위치 주변의 공간 검색(예를 들어, 센터 포인트 및 반경)을 이용할 수 있다. 이 예에서 필터는 사용자 프로필 데이터로부터 도출된 특성 매트릭스 안의 특성 값들과 유사한 특성 값들을 가지는 장소들만을 보여줄 것이다. 마지막으로 추천 엔진(620)은 특정 위치 내 특정 사용자에 대한 위치 인식 추천을 생성하기 위해 장소 그래프 모듈(605)의 출력을 이용할 수 있다. 어떤 예들에서 추천 엔진(620)은 특정 위치 내 특정 사용자에 대해 추천된 장소들의 리스트를 관리한다. 추천 서브 시스템(632)은 사용자가 하루 종일 여러 위치들 사이를 이동할 때, 추천된 장소들의 리스트를 지속적으로 업데이트할 수 있다.
추천 서브 시스템(532)에 의해 제공되는 기능에 관한 추가 세부사항들이 도 7-8을 참조하여 자세히 설명된다.
예시적 추천 방법들
도 7은 실시간 위치 인식 추천들을 생성하기 위한 예시적 방법(700)을 예시한 흐름도이다. 이 예에서 방법(700)은 현재 사용자 위치를 판단하는 동작(702), 현재 사용자 위치(704)에 대한 장소 그래프를 산출하는 동작(704), 로컬 추천(705)을 생성하는 동작, 및 위치 인식 추천을 사용자에게 보내는 동작(708)을 포함할 수 있다.
이 예에서 방법(700)은 애플리케이션 서버(518)를 이용하여 클라이언트(512)와 같은 클라이언트로부터 위치 데이터를 수신하는 것으로 시작할 수 있다(702). 일례에서 클라이언트(512)는 모바일 장치(400)와 같은 모바일 장치이며, GPS 수신기(480)로부터 획득된 GPS 위치 데이터를 제공할 수 있다. 704에서, 방법(700)은 추천 서브 시스템(532)을 사용하여 현재 사용자 위치에 대한 장소 그래프를 산출하는 것으로 이어질 수 있다. 일례에서 장소 그래프는 현재 사용자 위치 내 복수의 장소들 상으로 투영되는 점수 매겨진 특성 매트릭스(도 9 참조)를 포함할 수 있다. 일례에서 위치 모듈(620)은 복수의 장소들을 투영 모듈(615)로 제공할 수 있으며, 투영 모듈(615)은 장소 그래프를 생성할 수 있다.
706에서 방법(700)은 추천 엔진(620)을 이용하여 장소 그래프 모듈(605)에 의해 생성된 장소 그래프로부터 로컬 추천을 생성하는 것으로 이어질 수 있다. 추천 엔진(620)은 장소 그래프를 검토하고 사용자의 사용자 프로필 데이터 안의 장소들에 대한 강력한 상관을 가진 장소들을 추출함으로써 로컬 추천을 생성할 수 있다. 마지막으로 708에서, 방법(700)은 추천 서브 시스템(532)을 사용하여, 애플리케이션 서버(518)에 의해 관리되는 통신 채널들을 통해 클라이언트 장치(512)로 위치 인식 추천을 전송하는 것으로 끝맺을 수 있다.
도 8은 예시적 실시예에 따라 이차 지리적 위치에 대한 장소 그래프를 산출하기 위한 방법(704)을 예시한 흐름도이다. 이 예에서 방법(704)은 사용자 프로필 데이터를 액세스하는 동작(802), 관계들(예를 들어, 특성들)을 추출하는 동작(804), 위치 데이터를 액세스하는 동작(806) 및 관계들(예를 들어, 특성들)을 지리 위치 안의 장소들 상으로 투영하는 동작(808)을 포함할 수 있다.
이 예에서 방법(704)은 장소 그래프 모듈(605)을 사용하여 제1복수의 장소들과 관련된 사용자 상호동작 데이터를 얻기 위해 사용자 프로필 데이터를 액세스하는 것으로 시작할 수 있다. 제1복수의 장소들과 관련된 사용자 상호동작 데이터는 명시적이고 암시적인 상호동작 데이터를 모두 포함할 수 있다. 위에서 논의된 바와 같이, 명시적 상호동작 데이터는 장소와 관련된 사용자의 선호도(나 그 장소의 어떤 양태)를 명시적으로 나타낸다. 예를 들어 사용자는 어떤 장소를 선호 목록에 저장할 수 있고 그에 따라 사용자가 그 장소를 좋아한다는 것을 명시적으로 나타낼 수 있다. 사용자는 또한, 사용자가 그러한 특정 장소에서의 디저트를 좋아한다는 것을 명시적으로 나타내는 리뷰를 쓰거나 설문조사를 수행할 수도 있다. 위에서 논의된 바와 같이 암시적 상호동작들은 특정 장소에서의 사용자 흥미를 간접적으로 나타낸다. 예를 들어 사용자가 어떤 장소에 대한 세부 페이지를 수 차례 보았다면, 시스템은 사용자가 그 위치에 관심이 있다고 추정할 수 있다. 상술한 바와 같이 암시적 상호동작들은 명시적 상호동작들과는 다르게 가중되거나 점수 매겨진다.
804에서 방법(704)은 특성 추출 모듈(610)을 사용하여 제1복수의 장소들 사이의 관계들이나 그들과 관련된 특성들을 추출하는 것으로 이어질 수 있다. 일부 예들에서, 추출된 특성들은 사용자의 명시적이고 암시적인 상호동작들에 따라 점수 매겨진다. 추출되고 점수 매겨진 특성들은 사용자의 선호도를 기술하는데(또는 나타내는데) 사용되는 특성 매트릭스를 생성할 수 있다. 일례에서 각각의 사용자 액션은 코드 및 값을 가진다. 사용자가 어떤 장소와 관련하여 어떤 액션을 수행할 때(예를 들어, 사용자(120)가 장소 2345 상에서 액션 4를 수행했을 때), 액션과 관련된 코드 및 값은 장소 ID 및 사용자 ID와 관련된 점수를 파생한다. 이 정보는 특성 추출을 위한 SVD 알고리즘 안으로 제공될 수 있는 매트릭스 안으로 제공된다. 806에서, 방법(704)은 위치 모듈(620)을 사용하여 데이터베이스(526)로부터 현재의 지리 위치(예를 들어 동작 702에서 수신된 위치) 안의 제2복수의 장소들에 대한 위치 데이터를 액세스하는 것으로 이어진다. 마지막으로 방법(700)은 808에서, 투영 모듈(615)을 사용하여 특성 매트릭스(예를 들어, 제1복수의 장소들 사이에서 추출된 관계들)을 현재 사용자 위치에 의해 지시된 지리 위치 안의 제2복수의 장소들 상으로 투영하는 것으로 끝맺음 할 수 있다. 이 예에서 방법(704)에 의해 생성된 장소 그래프는 이제, 새로운 지리 위치(예를 들어, 사용자가 어떤 장소들과도 상호 동작하지 않았던 위치)에서 사용자에 대한 위치 인식 추천들을 생성하는데 사용될 수 있다.
모듈들, 구성요소들 및 로직
소정 실시예들은 본 명세서에서 로직이나 여러 구성요소들, 모듈들 또는 메커니즘들을 포함하는 것으로서 기술된다. 모듈들은 소프트웨어 모듈들(예를 들어, 장치 판독 가능 매체 상이나 전송 신호 내에 구현된 코드)나 하드웨어 모듈들에 해당할 수 있다. 하드웨어 모듈은 소정 동작들을 수행할 수 있는 유형의 유닛이며 소정의 방식에 따라 구성되거나 정렬될 수 있다. 예시적 실시예들에서 하나 이상의 컴퓨터 시스템들(예를 들어, 단독형 클라이언트나 서버 컴퓨터 시스템)이나 컴퓨터 시스템의 하나 이상의 하드웨어 모듈들(예를 들어 프로세서나 프로세서들의 그룹)이 소프트웨어(예를 들어, 애플리케이션이나 애플리케이션 부분)에 의해 본 명세서에 기술된 바와 같은 소정 동작들을 수행하도록 운영되는 하드웨어 모듈로서 구성될 수 있다.
다양한 실시예들에서 하드웨어 모듈은 기계적으로나 전기적으로 구현될 수 있다. 예를 들어 하드웨어 모듈은 소정 동작들을 수행하기 위해 영구적으로 구성된 전용 회로나 로직(예를 들어, FPGA(field programmable gate array)나 ASIC(application- specific integrated circuit)과 같은 특수 목적 프로세서 같은 것)을 포함할 수 있다. 하드웨어 모듈은 소정 동작들을 수행하기 위해 소프트웨어에 의해 일시적으로 구성된 프로그래머블 로직이나 회로(예를 들어, 범용 프로세서나 다른 프로그래머블 프로세서 같은 것)을 포함할 수도 있다. 하드웨어 모듈을 전용 및 영구적으로 구성된 회로나 일시적으로 구성된(예를 들어, 소프트웨어에 의해 구성된) 회로 안에서 기계적으로 하드웨어 모듈을 구현하고자 하는 결정은 가격 및 시간의 고려사항들에 따라 영향을 받는다는 것을 알 수 있을 것이다.
따라서 "하드웨어 모듈"이라는 용어는 소정 방식으로 동작하고/하거나 본 명세서에 기술된 소정 동작들을 수행하기 위해 물리적으로 구성되거나 영구적으로 구성되거나(예를 들어, 하드웨어적인) 일시적으로 구성된(예를 들어 프로그램된) 개체일 수 있는 유형의 개체를 포함하는 것으로 이해되어야 한다. 하드웨어 모듈들이 일시적으로 구성된(예를 들어 프로그램된) 실시예들을 고려할 때, 그 하드웨어 모듈들 각각은 어느 한 순간에 설정되거나 구체화되어야 하는 것은 아니다. 예를 들어 하드웨어 모듈들이 소프트웨어를 사용하여 구성된 범용 프로세서를 포함하는 경우, 그 범용 프로세서는 상이한 시점에 각기 상이한 하드웨어 모듈들로서 구성될 수 있다. 소프트웨어는 그에 따라 예컨대, 한 시점에서의 특정 하드웨어 모듈을 구현하고 다른 시점에 다른 하드웨어 모듈을 구현하도록 프로세서를 설정할 수 있다.
하드웨어 모듈들은 다른 하드웨어 모듈들로 정보를 제공하고 그로부터 정보를 수신할 수 있다. 따라서 상기 기술된 하드웨어 모듈들은 통신 가능하게 연결되는 것으로 간주될 수 있다. 그러한 하드웨어 모듈들 다수가 동시에 존재하는 경우, 하드웨어 모듈들을 연결하는 신호 전송을 통해(예를 들어 적합한 회로들 및 버스들을 통해) 통신이 이루어질 수 있다. 다수의 하드웨어 모듈들이 상이한 시점들에서 구성되거나 구체화되는 실시예들에서, 그러한 하드웨어 모듈들 사이의 통신들은 예컨대, 그 다수의 하드웨어 모듈들이 액세스하는 메모리 구조들에서의 정보 저장 및 검색을 통해 이루어질 수 있다. 예를 들어 한 하드웨어 모듈이 동작을 수행하고, 그것이 통신 가능하게 연결된 메모리 장치 안에 그 동작의 출력을 저장할 수 있다. 그러면 또 다른 하드웨어 모듈은 이후 시점에 그 저장된 출력을 가져와서 처리하기 위해 메모리 장치를 액세스할 수 있다. 하드웨어 모듈들은 또한 입력이나 출력 장치들과의 통신을 개시할 수도 있고, 자원(예를 들어, 정보의 집합)에 대해 작용할 수 있다.
본 명세서에 기술된 예시적 방법들의 다양한 동작들은 적어도 부분적으로, 관련 동작들을 수행하기 위해 일시적으로 구성되거나(예를 들어, 소프트웨어로) 영구적으로 구성된 하나 이상의 프로세서들에 의해 수행될 수 있다. 일시적으로 구성되든지 영구적으로 구성되든지, 그러한 프로세서들은 하나 이상의 동작들이나 기능들을 수행하도록 동작하는 프로세서 구현 모듈들을 나타낼 수 있다. 본 명세서에서 언급된 모듈들은 일부 예시적 실시예들에서 프로세서 구현 모듈들을 포함할 수 있다.
마찬가지로 본 명세서에 기술된 방법들은 적어도 부분적으로 프로세서 구현될 수 있다. 예를 들어 방법의 동작들 중 적어도 일부가 하나 이상의 프로세서들이나 프로세서 구현 모듈들에 의해 수행될 수 있다. 상기 동작들 중 일부의 기능이 하나의 장치 내에 상주하는 것만이 아니라 여러 장치들에 걸쳐 배치된 하나 이상의 프로세서들 사이에 분산될 수 있다. 일부 예시적 실시예들에서 프로세서나 프로세서들은 단일 위치 안에(예를 들어, 집 환경, 사무실 환경 내, 또는 서버 팜으로서) 자리할 수 있고, 다른 실시예들에서 프로세서들은 여러 위치들에 걸쳐 분산될 수 있다.
하나 이상의 프로세서들은 "클라우드 컴퓨팅" 환경이나 "서비스로서의 소프트웨어(Saas)"로서 관련 동작들의 기능을 지원하도록 동작할 수도 있다. 예를 들어 동작들 중 적어도 일부가 (프로세서들을 포함하는 장치들의 예들인) 컴퓨터들의 그룹에 의해 수행될 수 있고, 이러한 동작들은 네트워크(예를 들어, 인터넷) 및 하나 이상의 적절한 인터페이스들(예를 들어, API(Application Program Interface)들)을 통해 액세스된다.
전자 장치 및 시스템
예시적 실시예들은 디지털 전자 회로나 컴퓨터 하드웨어, 펌웨어, 소프트웨어 또는 이들의 조합을 통해 구현될 수 있다. 예시적 실시예들은 예를 들어 프로그래머블 프로세서, 컴퓨터 또는 다중 컴퓨터들과 같은 데이터 처리 장치에 의해 실행되거나 그것의 동작을 제어하기 위한 장치 판독 가능 매체와 같은 정보 운반자 안에서 유형적으로 구현되는 컴퓨터 프로그램과 같은 컴퓨터 프로그램 제품을 이용하여 구현될 수 있다.
컴퓨터 프로그램은 컴파일 또는 해석 언어를 포함하는 프로그램 언어의 어떤 형식으로 작성될 수 있으며, 단독형 프로그램이나 모듈, 서브루틴 또는 컴퓨팅 환경에서 사용하기 적합한 다른 유닛으로서 포함하는 어떤 형식으로 배치될 수 있다. 컴퓨터 프로그램은 한 장소에 있거나 여러 장소들에 걸쳐 분산되어 통신 네트워크에 의해 상호 연결되는 다수의 컴퓨터들이나 단일 컴퓨터 상에서 실행되도록 배치될 수 있다.
예시적 실시예들에서 동작들은 입력 데이터에 대해 작용하여 출력을 생성함으로써 기능들을 수행하는 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래머블 프로세서들에 의해 수행될 수 있다. 방법의 동작들은 예시적 실시예들의 장치에 의해 수행될 수도 있고, 이 실시예들은 특수 목적 로직 회로, 예컨대 FPGA(field programmable gate array)나 ASIC(application-specific integrated circuit)으로서 구현될 수 있다.
컴퓨팅 시스템은 클라이언트들 및 서버들을 포함할 수 있다. 클라이언트 및 서버는 일반적으로 서로 떨어져 있고, 통상적으로 통신 네트워크를 통해 상호 동작한다. 개별 컴퓨터들 상에서 실행되고 서로에 대해 클라이언트-서버 관계를 가지는 컴퓨터 프로그램들로 인해 클라이언트 및 서버의 관계가 생겨난다. 프로그래머블 컴퓨팅 시스템을 사용하는 실시예들에서, 하드웨어 및 소프트웨어 구조들 모두가 고려되어야 하다는 것을 예상할 수 있다. 구체적으로, 소정 기능을 영구적으로 구성된 하드웨어(예를 들어, ASIC)로 구현할지, 일시적으로 구성된 하드웨어(예를 들어, 소프트웨어 및 프로그래머블 프로세서의 조합)로 구현할지, 또는 영구적이고 일시적으로 구성된 하드웨어의 조합으로 구현할지 여부에 대한 선택은 설계적 선택사항임을 알 수 있을 것이다. 이하에서는 다양한 예시적 실시예들 안에서 사용될 수 있는 하드웨어(예를 들어, 장치) 및 소프트웨어 구조들을 기술한다.
예시적 장치 구조 및 장치 판독 가능 매체
도 10은 장치가 본 명세서에서 논의된 방법들 중 어느 하나 이상을 수행하게 하는 명령어들이 실행될 수 있는 컴퓨터 시스템(1000)의 예시적 형태로 된 장치의 블록도이다. 대안적 실시예들에서 장치는 단독형 장치로서 동작하거나 다른 장치들에 연결될(네트워킹될) 수 있다. 네트워킹된 배치에서, 장치는 서버-클라이언트 네트워크 환경 안에서나 피어(peer)-투(to)-피어(또는 분산된) 네트워크 환경 내 피어 장치로서의 서버나 클라이언트의 기능 안에서 동작할 수 있다. 장치는 퍼스널 컴퓨터(PC), 태블릿 PC, 세톱 박스(STB), PDA(Personal Digital Assistant), 휴대 전화, 웹 가전, 네트워크 라우터, 스위치나 브리지, 또는 어떤 장치로서 그 장치에 의해 취해질 액션들을 특정하는 명령어들(순차적이거나 그렇지 않은 것들)을 실행할 수 있는 것일 수 있다. 또한, 하나의 장치만이 도시되어 있지만 "장치"라는 용어가 본 명세서에서 논의된 방법들 중 어느 하나 이상을 수행하기 위한 명령어들의 집합(또는 다중 집합들)을 개별적으로나 협력하여 실행하는 장치들의 어떤 집합을 포함하는 것으로도 간주되어야 한다.
예시적 컴퓨터 시스템(1000)은 프로세서(1002)(예를 들어 중앙처리장치(CPU), 그래픽 처리 장치(GPU) 또는 둘 다), 메인 메모리(1004) 및 고정 메모리(1006)를 포함하며, 이들은 버스(1008)를 통해 서로 통신한다. 컴퓨터 시스템(1000)은 비디오 디스플레이 유닛(1010)(예를 들어 액정 디스플레이(LCD)나 CRT(cathode ray tube))를 더 포함할 수 있다. 컴퓨터 시스템(1000)은 또한 문자/숫자 입력 장치(1012)(예를 들어, 키보드), 사용자 인터페이스(UI), 탐색 장치(1014)(예를 들어, 마우스), 디스크 드라이브 유닛(1016), 신호 생성 장치(1018)(예를 들어, 스피커) 및 네트워크 인터페이스 장치(1020)을 포함한다.
장치 판독 가능 매체
디스크 드라이브 유닛(1016)은 본 명세서에서 기술된 방법들이나 기능들 중 어느 하나 이상을 구현하거나 그에 의해 사용되는 명령어들 및 데이터 구조들의 하나 이상의 집합(예를 들어, 소프트웨어)(1024)이 저장된 장치 판독 가능 매체(1022)를 포함한다. 명령어들(1024)은 컴퓨터 시스템(1000)에 의해 실행 중에 메인 메모리(1004) 및/또는 프로세서(1002) 안에 온전히, 혹은 적어도 일부가 상주할 수도 있으며, 메인 메모리(1004) 및 프로세서(1002) 역시 장치 판독 가능 매체에 해당할 수 있다.
장치 판독 가능 매체(1022)는 예시적 실시예들에서 하나의 매체로서 도시되어 있지만, "장치 판독 가능 매체"라는 용어는 하나 이상의 명령어들이나 데이터 구조들을 저장하는 하나의 매체나 여러 개의 매체(예를 들어, 중앙화되거나 분산된 데이터베이스 및/또는 관련 캐시들 및 서버들)를 포함할 수 있다. "장치 판독 가능 매체"라는 용어는 또한, 장치에 의해 실행될 명령어들을 저장, 인코딩, 또는 운반할 수 있고 장치가 본 발명의 방법들의 어떤 하나 이상의 모드를 수행하게 하거나, 그러한 명령어들에 의하거나 그와 연관된 데이터 구조들을 저장, 인코딩, 또는 운반할 수 있는 어떤 유형의 매체를 포함하는 것으로 간주되어야 한다. "장치 판독 가능 매체"라는 용어는 그에 따라, 비한정적으로 고체 상태 메모리, 및 광학 및 자기적 매체를 포함하는 것으로 간주되어야 한다. 장치 판독 가능 매체의 구체적 예들로는 예로서, 반도체 메모리 소자, 예를 들어 EPROM(Erasable Programmable Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory) 및 플래시 메모리 소자들; 내부 하드 디스크들 및 착탈가능 디스크들과 같은 자기 디스크들; 자기 광 디스크; 및 CD-ROM 및 DVD-ROM 디스크들을 포함하는 비휘발성 메모리가 포함될 수 있다.
전송 매체
명령어들(1024)은 전송 매체를 이용하여 통신 네트워크(1026)를 통해 더 송신되거나 수신될 수 있다. 명령어들(1024)은 네트워크 인터페이스 장치(1020) 및 여러 개의 잘 알려진 전송 프로토콜들 중 어느 하나(예를 들어, HTTP)를 이용하여 전송될 수 있다. 통신 네트워크들의 예들로는 LAN(local area network), WAN(wide area network), 인터넷, 모바일 전화망, POTS(Plain Old Telephone) 네트워크 및 무선 데이터 네트워크(예를 들어 WiFi 및 WiMax 네트워크)가 포함된다. "전송 매체"라는 용어는 장치에 의해 실행될 명령어들을 저장, 인코딩 또는 운반할 수 있고, 그러한 소프트웨어의 통신을 촉진하기 위해 디지털 또는 아날로그 통신 신호들이나 다른 무형 매체를 포함하는 어떤 무형 매체를 포함하는 것으로 간주되어야 한다.
지금까지 네트워크 기초 마켓 플레이스 상에서 사용자들에게 정황상의 추천들을 행하기 위한 방법 및 시스템이 기술되었다. 본 발명은 특정한 예시적 실시예들을 참조하여 기술되었지만, 본 발명의 포괄적 범위로부터 벗어나지 않고 그러한 실시예들에 대한 다양한 수정 및 변경이 이루어질 수 있다는 것은 자명할 것이다. 따라서 명세서 및 도면은 한정적 맥락이 아닌 예시적인 것으로 간주되어야 한다.
실시예는 특정한 예시적 실시예들을 참조하여 기술되었지만, 본 발명의 포괄적 범위로부터 벗어나지 않고 그러한 실시예들에 대한 다양한 수정 및 변경이 이루어질 수 있다는 것은 자명할 것이다. 따라서, 명세서 및 도면은 한정적 맥락이 아닌 예시적인 것으로 간주되어야 한다. 명세서의 일부를 이루는 첨부 도면들은 한정이 아닌 예로서, 발명의 주제가 실시될 수 있는 특정 실시예들을 보여준다. 도시된 실시예들은 당업자가 본 명세서에 개시된 가르침들을 실시할 수 있도록 충분히 상세하게 기술된다. 다른 실시예들이 사용되고 그로부터 파생됨으로써, 본 개시의 범위로부터 벗어나지 않은 채 구조적이고 논리적인 치환 및 변경이 이루어질 수 있다. 따라서, 상세한 설명은 한정하는 맥락으로 해석되지 않아야 하며, 다양한 실시예들의 범위는 부가된 청구범위에 속할 자격이 있는 모든 균등물들과 함께 적절히 해석되는 그러한 청구범위에 의해서만 한정된다.
본 발명의 주제에 대한 그러한 실시예들은 다만 편의상, 그리고 하나를 넘는 발명이 실제로 개시되는 경우 하나의 발명이나 발명적 개념에 대한 그 적용의 범위를 저절로 제한하고자 함이 없이 본 명세서 안에서 개별적으로 및/또는 집합적으로 "발명"이라는 용어로 언급될 수 있다. 따라서, 특정 실시예들이 본 명세서에 예시 및 기술되었지만, 동일한 목적을 달성하기 위해 산출된 모든 구성이 도시된 특정 실시예들에 대해 대체될 수 있다는 것을 알아야 한다. 본 개시는 다양한 실시예들에 대한 모든 각색이나 변형을 포괄하도록 의도된다. 상기 실시예들의 조합들 및 본 명세서에 특정하게 기술되지 않은 다른 실시예들도 상기 내용을 검토함에 따라 당업자에게는 자명해질 것이다.
이 문서 안에 언급된 모든 공개들, 특허들 및 특허 문서들은 참조로서 개별적으로 통합되는 것처럼 전체적으로 참조로서 본 명세서 내에 통합된다. 참조를 통해 그렇게 포함되는 그러한 문서 및 그 문서들 사이의 모순적 사용이 있게 될 때, 포함된 참조(들)에서의 사용은 본 문서의 사용에 대해 보충적인 것으로 간주되어야 한다; 조정 불가능한 불일치에 대해서는 본 문서에서의 사용이 결정한다.
이 문서에서, "하나의(a)"라는 용어는 특허 문서들에서 일반적인 바와 같이 "적어도 하나"나 "하나 이상"이라는 어떤 다른 경우들이나 사용들과 무관하게 하나 혹은 하나 이상을 포함하도록 사용된다. 이 문서에서, "또는(or)"이라는 용어는 다르게 지시되지 않는 한 "A 또는 B"가 "B가 아닌 A", "A가 아닌 B" 및 "A 및 B"를 포함하는 비배타적인 것을 가리키는 것으로 사용된다. 첨부된 청구범위에서 "포함하는(including)" 및 "에 있어서(in which)"라는 용어들은 각기 "구비하는(comprising)" 및 "에 있어서(wherein)"의 평이한 영어의 등가어로서 사용된다. 또한, 이하의 청구범위에서, "포함하는"과 "구비하는"이라는 용어들은 추가가 가능하다는 것을 의미한다, 즉 어떤 청구항에서 그러한 용어 이전에 나열되는 것들 이외의 요소들을 포함하는 시스템, 장치, 물품 또는 프로세스 역시 해당 청구항의 범위 내에 속하는 것으로 간주된다. 또한, 아래의 청구범위에서 "제1", "제2", 및 "제3" 등의 용어들은 단지 표시들일 뿐이며 그 대상에 대한 수치적인 요건들을 부과하려는 것이 아니다.
본 개시의 요약은 독자가 기술적 개시의 특성을 빠르게 확인할 수 있도록 제공된다. 그것은 청구범위나 의미를 해석하거나 한정하는데 이용되지 않는 것이라고 이해하며 제출된다. 또한, 상술한 상세 설명에서, 다양한 특징들은 본 개시의 간결화를 목적으로 어떤 하나의 실시예 안에 함께 그룹화된다는 것을 알 수 있다. 본 개시의 방법은 청구된 실시예들이 각각의 청구항에 명확히 개시되는 것보다 더 많은 특징들을 요구한다는 의도를 반영하는 것으로 해석되지 않아야 한다. 오히려, 이하의 청구범위가 반영하는 바와 같이, 발명의 대상은 단일 개시 실시예의 모든 특징들보다 적은 특징들로 되어있다. 따라서, 이하의 청구범위는 이에 의해 상세한 설명 안에 통합되고, 각각의 청구항은 하나의 개별 실시예로서 독립된다.

Claims (20)

  1. 위치 인식 추천(location-aware recommendations)을 생성하기 위한 방법으로서,
    사용자의 현재 위치를 특정하는 정보를 클라이언트 장치로부터 수신하는 단계와,
    사용자의 사용자 프로필 데이터에 액세스하는 단계―상기 사용자 프로필 데이터는 제1복수의 장소를 포함하고, 상기 제1복수의 장소의 각각은 상기 사용자 프로필 데이터 안에 기록된 상호동작 이력(interaction history)을 포함함―와,
    상기 현재 위치와 상기 사용자 프로필 데이터에 기초하여 상기 사용자에 대한 장소 그래프를 산출하는 단계―상기 장소 그래프는 장소의 물리적 위치를 나타내는 하나 이상의 노드를 포함함―와,
    상기 현재 위치의 사전정의된 거리 내에서 장소의 물리적 위치를 나타내는 상기 하나 이상의 노드 중에서의 하나 이상의 잠재적 장소 추천을 식별하기 위해 하나 이상의 프로세서를 이용하여 상기 장소 그래프를 검토하는(traversing) 단계와,
    상기 하나 이상의 잠재적 장소 추천으로부터 상기 사용자를 위한 로컬 장소 추천을 선택하는 단계와,
    상기 로컬 장소 추천을 상기 사용자에게 전송하는 단계를 포함하는
    위치 인식 추천 생성 방법.
  2. 제1항에 있어서,
    상기 장소 그래프를 산출하는 단계는
    상기 제1복수의 장소로부터 특성 행렬(feature matrix)을 추출하는 단계와,
    상기 현재 위치 안에서 제2복수의 장소에 대한 장소 데이터에 액세스하는 단계와,
    상기 제1복수의 장소로부터의 상기 특성 행렬을 상기 현재 위치 안의 상기 제2복수의 장소 상으로 투영하는(projecting) 단계를 포함하는
    위치 인식 추천 생성 방법.
  3. 제2항에 있어서,
    상기 제1복수의 장소로부터 상기 특성 행렬을 추출하는 단계는 상기 제1복수의 장소와 관련된 상기 사용자 프로필 데이터에 기초하여 상기 특성 행렬 내 특성을 점수 매기는(scoring) 단계를 포함하는
    위치 인식 추천 생성 방법.
  4. 제3항에 있어서,
    상기 특성을 점수 매기는 단계는 상기 제1복수의 장소 중 하나 이상에 관한 명시적 사용자 입력(explicit user input)에 기초하여 상기 특성을 점수 매기는 단계를 포함하며, 상기 명시적 사용자 입력은
    사용자 제공 등급(user supplied rating)과,
    리뷰(review)와,
    관련 체크인(related check-in)과,
    사용자가 주소록에 장소를 저장하는 것을 포함하는
    위치 인식 추천 생성 방법.
  5. 제4항에 있어서,
    상기 특성을 점수 매기는 단계는 상기 제1복수의 장소 중 하나 이상에 관한 암시적 사용자 입력(implicit user input)에 기초하여 상기 특성을 점수 매기는 단계를 포함하는
    위치 인식 추천 생성 방법.
  6. 제5항에 있어서,
    상기 특성을 점수 매기는 단계는 상기 제1복수의 장소 중 상기 하나 이상에 관한 상기 명시적 사용자 입력에 제1가중 팩터를 적용하고 상기 제1복수의 장소 중 상기 하나 이상에 관한 상기 암시적 사용자 입력에 제2가중 팩터를 적용하는 단계를 포함하는
    위치 인식 추천 생성 방법.
  7. 제2항에 있어서,
    상기 장소 그래프를 검토하는 단계는 상기 하나 이상의 잠재적 장소 추천을 식별하기 위해 상기 제2복수의 장소를 분석하는 단계를 포함하는
    위치 인식 추천 생성 방법.
  8. 제1항에 있어서,
    상기 로컬 장소 추천을 선택하는 단계는 해당 시각에 기초하여 상기 하나 이상의 잠재적 장소 추천을 필터링하는 단계를 포함하는
    위치 인식 추천 생성 방법.
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020157022008A 2011-07-20 2012-07-20 실시간 위치 인식 추천 KR101634152B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161509987P 2011-07-20 2011-07-20
US61/509,987 2011-07-20
PCT/US2012/047621 WO2013013161A1 (en) 2011-07-20 2012-07-20 Real-time location-aware recommendations

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020147004287A Division KR101602078B1 (ko) 2011-07-20 2012-07-20 실시간 위치 인식 추천

Publications (2)

Publication Number Publication Date
KR20150099619A KR20150099619A (ko) 2015-08-31
KR101634152B1 true KR101634152B1 (ko) 2016-06-28

Family

ID=47556543

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020157022008A KR101634152B1 (ko) 2011-07-20 2012-07-20 실시간 위치 인식 추천
KR1020147004287A KR101602078B1 (ko) 2011-07-20 2012-07-20 실시간 위치 인식 추천

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020147004287A KR101602078B1 (ko) 2011-07-20 2012-07-20 실시간 위치 인식 추천

Country Status (7)

Country Link
US (1) US10114901B2 (ko)
EP (1) EP2735187A4 (ko)
KR (2) KR101634152B1 (ko)
CN (2) CN109597945B (ko)
AU (2) AU2012283826B8 (ko)
CA (1) CA2842265C (ko)
WO (1) WO2013013161A1 (ko)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109597945B (zh) * 2011-07-20 2023-05-02 电子湾有限公司 用于产生位置感知推荐的方法
US10789526B2 (en) 2012-03-09 2020-09-29 Nara Logics, Inc. Method, system, and non-transitory computer-readable medium for constructing and applying synaptic networks
US8732101B1 (en) 2013-03-15 2014-05-20 Nara Logics, Inc. Apparatus and method for providing harmonized recommendations based on an integrated user profile
US11151617B2 (en) 2012-03-09 2021-10-19 Nara Logics, Inc. Systems and methods for providing recommendations based on collaborative and/or content-based nodal interrelationships
US8170971B1 (en) 2011-09-28 2012-05-01 Ava, Inc. Systems and methods for providing recommendations based on collaborative and/or content-based nodal interrelationships
US11727249B2 (en) 2011-09-28 2023-08-15 Nara Logics, Inc. Methods for constructing and applying synaptic networks
US10467677B2 (en) 2011-09-28 2019-11-05 Nara Logics, Inc. Systems and methods for providing recommendations based on collaborative and/or content-based nodal interrelationships
US9058573B2 (en) * 2011-11-21 2015-06-16 Facebook, Inc. Network traffic-analysis-based suggestion generation
US9195721B2 (en) 2012-06-04 2015-11-24 Apple Inc. Mobile device with localized app recommendations
US10360760B2 (en) 2012-06-22 2019-07-23 Zonal Systems, Llc System and method for placing virtual geographic zone markers
US10657768B2 (en) 2012-06-22 2020-05-19 Zonal Systems, Llc System and method for placing virtual geographic zone markers
US9317996B2 (en) 2012-06-22 2016-04-19 II Robert L. Pierce Method for authenticating a wager using a system and method for interacting with virtual geographic zones
US10460354B2 (en) * 2012-12-05 2019-10-29 Ebay Inc. Systems and methods for customer valuation and merchant bidding
US9972042B2 (en) * 2013-03-15 2018-05-15 Sears Brands, L.L.C. Recommendations based upon explicit user similarity
CN103347046B (zh) * 2013-06-06 2017-03-01 百度在线网络技术(北京)有限公司 一种基于位置的信息交互方法及服务器
US9892200B2 (en) 2013-09-18 2018-02-13 Ebay Inc. Location-based and alter-ego queries
US11120491B2 (en) 2013-09-24 2021-09-14 Ebay Inc. Method, medium, and system for social media based recommendations
US20160328452A1 (en) * 2014-01-23 2016-11-10 Nokia Technologies Oy Apparatus and method for correlating context data
US9996851B1 (en) 2014-02-03 2018-06-12 Google Llc Performance based content item ranking
US9913100B2 (en) 2014-05-30 2018-03-06 Apple Inc. Techniques for generating maps of venues including buildings and floors
US9402161B2 (en) 2014-07-23 2016-07-26 Apple Inc. Providing personalized content based on historical interaction with a mobile device
US9858610B2 (en) * 2014-08-29 2018-01-02 Wal-Mart Stores, Inc. Product recommendation based on geographic location and user activities
US9529500B1 (en) 2015-06-05 2016-12-27 Apple Inc. Application recommendation based on detected triggering events
RU2632131C2 (ru) 2015-08-28 2017-10-02 Общество С Ограниченной Ответственностью "Яндекс" Способ и устройство для создания рекомендуемого списка содержимого
RU2629638C2 (ru) 2015-09-28 2017-08-30 Общество С Ограниченной Ответственностью "Яндекс" Способ и сервер создания рекомендуемого набора элементов для пользователя
RU2632100C2 (ru) 2015-09-28 2017-10-02 Общество С Ограниченной Ответственностью "Яндекс" Способ и сервер создания рекомендованного набора элементов
RU2742457C2 (ru) * 2015-10-20 2021-02-05 Аксон Вайб Аг Система и способ выявления взаимодействия и влияния в сетях
EP3423962A4 (en) 2016-03-04 2019-10-02 Axon Vibe AG SYSTEMS AND METHOD FOR PREDICTING THE USER BEHAVIOR BASED ON LOCATION DATA
RU2632144C1 (ru) 2016-05-12 2017-10-02 Общество С Ограниченной Ответственностью "Яндекс" Компьютерный способ создания интерфейса рекомендации контента
US11170311B2 (en) * 2016-05-20 2021-11-09 Coupa Software Incorporated System and method for determining expense information based on inferred events
EP3408807A4 (en) * 2016-06-09 2019-02-20 Samsung Electronics Co., Ltd. METHOD AND ELECTRONIC DEVICE FOR MANAGING NOTIFICATIONS IN A NOTIFICATION PANEL
US10200810B2 (en) * 2016-06-12 2019-02-05 Apple Inc. Proactive actions on mobile device using uniquely-identifiable and unlabeled locations
RU2632132C1 (ru) 2016-07-07 2017-10-02 Общество С Ограниченной Ответственностью "Яндекс" Способ и устройство для создания рекомендаций содержимого в системе рекомендаций
RU2636702C1 (ru) 2016-07-07 2017-11-27 Общество С Ограниченной Ответственностью "Яндекс" Способ и устройство для выбора сетевого ресурса в качестве источника содержимого для системы рекомендаций
EP3267386A1 (en) * 2016-07-07 2018-01-10 Yandex Europe AG Method and apparatus for generating a content recommendation in a recommendation system
ES2892198T3 (es) 2016-08-11 2022-02-02 Axon Vibe AG Geoubicación de individuos con base en una red social derivada
US11481690B2 (en) * 2016-09-16 2022-10-25 Foursquare Labs, Inc. Venue detection
USD882600S1 (en) 2017-01-13 2020-04-28 Yandex Europe Ag Display screen with graphical user interface
US10977683B2 (en) 2017-05-23 2021-04-13 International Business Machines Corporation Cognitive advertising triggered by weather data
CN107833111A (zh) * 2017-11-28 2018-03-23 中国银行股份有限公司 一种产品推荐方法、装置及系统
RU2720952C2 (ru) 2018-09-14 2020-05-15 Общество С Ограниченной Ответственностью "Яндекс" Способ и система для создания рекомендации цифрового содержимого
RU2720899C2 (ru) 2018-09-14 2020-05-14 Общество С Ограниченной Ответственностью "Яндекс" Способ и система для определения зависящих от пользователя пропорций содержимого для рекомендации
RU2714594C1 (ru) 2018-09-14 2020-02-18 Общество С Ограниченной Ответственностью "Яндекс" Способ и система определения параметра релевантность для элементов содержимого
RU2725659C2 (ru) * 2018-10-08 2020-07-03 Общество С Ограниченной Ответственностью "Яндекс" Способ и система для оценивания данных о взаимодействиях пользователь-элемент
RU2731335C2 (ru) 2018-10-09 2020-09-01 Общество С Ограниченной Ответственностью "Яндекс" Способ и система для формирования рекомендаций цифрового контента
US10945190B2 (en) 2019-01-04 2021-03-09 Apple Inc. Predictive routing based on microlocation
CN110032677A (zh) * 2019-03-05 2019-07-19 四川大学 一种基于深度神经网络和概率矩阵分解的混合推荐算法
EP3981007A1 (en) * 2019-06-07 2022-04-13 Koninklijke Philips N.V. Patient sleep therapy mask selection tool
US20210056644A1 (en) * 2019-08-23 2021-02-25 Doug Karo Golf Mobile Application System
CN110611704A (zh) * 2019-08-30 2019-12-24 阿里巴巴集团控股有限公司 一种基于位置的子应用推荐方法和系统
RU2757406C1 (ru) 2019-09-09 2021-10-15 Общество С Ограниченной Ответственностью «Яндекс» Способ и система для обеспечения уровня сервиса при рекламе элемента контента
CN111125473B (zh) * 2019-12-23 2023-10-24 支付宝(杭州)信息技术有限公司 推荐业务处理及信息推荐方法、装置、设备及系统
US11055378B1 (en) * 2020-08-21 2021-07-06 Coupang Corp. Systems and methods for loading websites with multiple items
CN114707075B (zh) * 2022-06-06 2022-10-25 荣耀终端有限公司 一种冷启动推荐方法和设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005065117A (ja) * 2003-08-19 2005-03-10 Mizuho Bank Ltd 場所情報提供方法及び場所情報提供プログラム

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0128220D0 (en) 2001-11-24 2002-01-16 Koninkl Philips Electronics Nv Location based delivery of service data
US7526458B2 (en) 2003-11-28 2009-04-28 Manyworlds, Inc. Adaptive recommendations systems
US8103445B2 (en) * 2005-04-21 2012-01-24 Microsoft Corporation Dynamic map rendering as a function of a user parameter
US20060271569A1 (en) * 2005-05-27 2006-11-30 Microsoft Corproation Method and system for determining shared context
US20070027925A1 (en) * 2005-07-27 2007-02-01 William Spencer System and method for public geospatial registrar and services
US20070282621A1 (en) * 2006-06-01 2007-12-06 Flipt, Inc Mobile dating system incorporating user location information
US20080077574A1 (en) * 2006-09-22 2008-03-27 John Nicholas Gross Topic Based Recommender System & Methods
US7698302B2 (en) * 2006-10-13 2010-04-13 Sony Ericsson Mobile Communications Ab Mobile phone content-based recommendation of new media
US20080104024A1 (en) * 2006-10-25 2008-05-01 Amit Kumar Highlighting results in the results page based on levels of trust
US7574422B2 (en) * 2006-11-17 2009-08-11 Yahoo! Inc. Collaborative-filtering contextual model optimized for an objective function for recommending items
CN101276404A (zh) * 2007-03-30 2008-10-01 李季檩 一种快速准确的智能图像处理系统及其处理方法
US20090163183A1 (en) * 2007-10-04 2009-06-25 O'donoghue Hugh Recommendation generation systems, apparatus and methods
US9159034B2 (en) * 2007-11-02 2015-10-13 Ebay Inc. Geographically localized recommendations in a computing advice facility
US9195752B2 (en) * 2007-12-20 2015-11-24 Yahoo! Inc. Recommendation system using social behavior analysis and vocabulary taxonomies
US9646025B2 (en) * 2008-05-27 2017-05-09 Qualcomm Incorporated Method and apparatus for aggregating and presenting data associated with geographic locations
KR100897436B1 (ko) 2008-06-20 2009-05-14 김한준 지리정보 확인시스템의 제어방법 및 이동단말기
CN101334792B (zh) * 2008-07-10 2011-01-12 中国科学院计算技术研究所 一种个性化服务推荐系统和方法
ITTO20090182A1 (it) * 2009-03-11 2010-09-12 Fond Istituto Italiano Di Tecnologia Procedimento per la generazione di relazioni di ridondanza analitica per la diagnosi di sistemi
US10984397B2 (en) * 2009-03-31 2021-04-20 Ebay Inc. Application recommendation engine
WO2010141216A2 (en) * 2009-06-02 2010-12-09 Xobni Corporation Self populating address book
US8484140B2 (en) * 2009-06-09 2013-07-09 Microsoft Corporation Feature vector clustering
FI20095642A0 (fi) * 2009-06-09 2009-06-09 Dopplr Oy Maantieteellisen kohteen identifiointi
CN101924602B (zh) * 2009-06-12 2012-12-12 华为技术有限公司 数据传输方法及设备
US20110184945A1 (en) 2010-01-22 2011-07-28 Qualcomm Incorporated Location aware recommendation engine
US8719198B2 (en) * 2010-05-04 2014-05-06 Microsoft Corporation Collaborative location and activity recommendations
US9269077B2 (en) * 2010-11-16 2016-02-23 At&T Intellectual Property I, L.P. Address book autofilter
US8489625B2 (en) * 2010-11-29 2013-07-16 Microsoft Corporation Mobile query suggestions with time-location awareness
US9083747B2 (en) * 2011-03-07 2015-07-14 Facebook, Inc. Automated location check-in for geo-social networking system
WO2012135804A2 (en) * 2011-04-01 2012-10-04 Mixaroo, Inc. System and method for real-time processing, storage, indexing, and delivery of segmented video
US20130097162A1 (en) * 2011-07-08 2013-04-18 Kelly Corcoran Method and system for generating and presenting search results that are based on location-based information from social networks, media, the internet, and/or actual on-site location
CN109597945B (zh) 2011-07-20 2023-05-02 电子湾有限公司 用于产生位置感知推荐的方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005065117A (ja) * 2003-08-19 2005-03-10 Mizuho Bank Ltd 場所情報提供方法及び場所情報提供プログラム

Also Published As

Publication number Publication date
CN109597945B (zh) 2023-05-02
KR101602078B1 (ko) 2016-03-09
EP2735187A1 (en) 2014-05-28
CA2842265A1 (en) 2013-01-24
AU2012283826B2 (en) 2015-07-09
AU2012283826B8 (en) 2015-07-30
KR20140051316A (ko) 2014-04-30
US10114901B2 (en) 2018-10-30
AU2015238908B2 (en) 2016-09-08
CN103814599B (zh) 2018-11-02
CN103814599A (zh) 2014-05-21
KR20150099619A (ko) 2015-08-31
WO2013013161A1 (en) 2013-01-24
CN109597945A (zh) 2019-04-09
AU2012283826A8 (en) 2015-07-30
EP2735187A4 (en) 2015-12-02
AU2012283826A1 (en) 2014-02-06
CA2842265C (en) 2019-05-07
US20130024471A1 (en) 2013-01-24
AU2015238908A1 (en) 2015-10-29

Similar Documents

Publication Publication Date Title
KR101634152B1 (ko) 실시간 위치 인식 추천
US10529004B2 (en) Systems and methods for generating location-based group recommendations
US11727447B2 (en) Systems and methods for customer valuation and merchant bidding
US11315131B2 (en) Method, apparatus, and computer program product for identifying a business need via a promotional system
US10489842B2 (en) Large-scale recommendations for a dynamic inventory
AU2013361357B2 (en) Cross-border location of goods and services
US20130110624A1 (en) Methods and systems for assessing excessive accessory listings in search results
US20210312525A1 (en) Systems and methods for generating recommendations based on online history information and geospatial data
US10817886B2 (en) Method, apparatus, and computer program product for identifying a service need via a promotional system

Legal Events

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

Payment date: 20190530

Year of fee payment: 4