KR101810279B1 - Real-time personalized recommendation of location-related entities - Google Patents

Real-time personalized recommendation of location-related entities Download PDF

Info

Publication number
KR101810279B1
KR101810279B1 KR1020137014146A KR20137014146A KR101810279B1 KR 101810279 B1 KR101810279 B1 KR 101810279B1 KR 1020137014146 A KR1020137014146 A KR 1020137014146A KR 20137014146 A KR20137014146 A KR 20137014146A KR 101810279 B1 KR101810279 B1 KR 101810279B1
Authority
KR
South Korea
Prior art keywords
location
time
query
user
ranking
Prior art date
Application number
KR1020137014146A
Other languages
Korean (ko)
Other versions
KR20130130731A (en
Inventor
디미트리오스 림페로포울로스
지에 리우
멜리사 우드 던
애쉬위니 케이 바르마
팽 왕
젠-시엔 케니 치엔
Original Assignee
마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 filed Critical 마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Publication of KR20130130731A publication Critical patent/KR20130130731A/en
Application granted granted Critical
Publication of KR101810279B1 publication Critical patent/KR101810279B1/en

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

Abstract

쿼리에 응답하여, 원하는 위치 근처에 있는 위치-기반 개체들의 순위를 사용자에게 보여주는 위치-기반 개체의 순위를 매기는 기법이 기술된다. 본 기법은 주어진 위치와 주어진 시간에 모바일 장치 사용자들의 커뮤니티에 의해 수행되는 검색을 활용하여, 특정 위치 및 시간대에서 인기있는 위치-기반 개체를 추정할 수 있다. 본 기법은 또한 쿼리를 제출하는 사람의 개인적 선호도 및 그 사용자가 속한 그룹의 그룹 선호도에 기초하여 이들 위치-기반 개체들을 필터링하거나 다시 순위를 매길 수 있다. 또한 개인적 선호도는 상황(예컨대, 점심 또는 저녁 시간대에 선호하는 음식점이 다른 것)에 따라 달라질 수 있다.In response to a query, a technique is described for ranking a location-based entity to show the user the ranking of location-based entities near the desired location. The technique can estimate popular location-based entities at specific locations and time zones, utilizing searches performed by a community of mobile device users at a given location and at a given time. The technique may also filter or re-rank these location-based entities based on the personal preferences of the person submitting the query and the group preferences of the group to which the user belongs. Also, personal preferences may vary depending on the situation (e.g., different restaurants preferred at lunch or in the evening).

Figure 112013048821809-pct00001
Figure 112013048821809-pct00001

Description

위치-기반 개체에 대해 실시간으로 맞춤형 추천을 하는 방법{REAL-TIME PERSONALIZED RECOMMENDATION OF LOCATION-RELATED ENTITIES}REAL-TIME PERSONALIZED RECOMMENDATION OF LOCATION-RELATED ENTITIES [0002]

현재, 사용자들이 검색 엔진을 사용하여 지역 업체에 대한 검색을 수행할 때, 그 검색 결과의 순위는 정적(static)이다. 즉, 검색 결과는 오로지 위치에만 의존하며, 쿼리가 제출된 시간, 쿼리를 제출한 사람 및 검색과 관련된 기타 상황에 대한 정보에 의해서는 변하지 않는다. 그러한 상황의 정보는, 예컨대, 날씨, 교통상황, 그 사업체의 인기 등을 포함할 수 있다. 예를 들어, 주어진 위치에서 쿼리 "음식점"에 대한 지역 정보 검색 결과는 그 쿼리가 언제 제출되었는지에 무관하게 변하지 않는다. 그러나, 사용자, 특히 모바일 장치로부터 쿼리를 제출하는 사용자는 아침, 점심 또는 저녁에 따라 다른 유형의 음식점을 찾는 것이 일반적이다. 게다가, 사용자의 개인적인 선호도에 따라, 하루 중의 다른 시간대에서는 다른 유형의 음식점들이 선호될 수 있다.Currently, when a user performs a search for a local company using a search engine, the ranking of the search results is static. That is, the search results depend only on location, and do not depend on the time the query was submitted, the person who submitted the query, and other information about the search. Such information of the situation may include, for example, weather, traffic conditions, popularity of the business, and the like. For example, a localized search result for a query "restaurant" at a given location does not change regardless of when the query was submitted. However, it is common for users, especially those submitting queries from mobile devices, to find other types of restaurants in the morning, at lunch or in the evening. In addition, different types of restaurants may be preferred at different times of the day, depending on the user's personal preferences.

지역 사업체 및 다른 관심지역정보들에 대한 검색, 특히 스마트 폰과 같은 모바일 컴퓨터 장치로부터 오는 검색들은, 사용자들의 "바로 여기, 바로 지금 (right here, right now)"의 관심을 반영한다. 그러나, 지역정보 검색 결과의 순위를 매기는 종래의 기법들은 이러한 시간과 상황에 따른 역동적인 측면(temporal and contextual dynamics)을 포착하는데 실패하고 있다.Searches for local businesses and other areas of interest, particularly searches from mobile computing devices such as smartphones, reflect the user's interest in "right here, right now ". However, conventional techniques for ranking local information search results fail to capture such temporal and contextual dynamics.

요약 (summary ( SummarySummary ))

본 요약부는 발명의 상세한 설명에서 후술될 선택된 개념들을 단순화된 형태로 소개하기 위해 제공된다. 본 요약부는 청구 대상의 주요 특징 또는 핵심적인 특징을 밝히기 위한 것이 아니며, 청구 대상의 범위를 한정하기 위해 사용되는 것은 더더욱 아니다.This summary is provided to introduce in simplified form selected concepts that will be described later in the description of the invention. This Summary is not intended to identify key features or key features of the claimed subject matter and is not to be used to limit the scope of the claims.

본 명세서에서 설명되는 위치-기반 개체의 순위를 매기는 기법은, 예컨대 지역 사업체, 음식점, 여흥을 즐길 수 있는 장소(entertainment venues), 이벤트 등과 같은 위치-기반 개체들의 순위를 매기기 위한 기법이다. 이를 위해서, 본 기법의 일 실시예는 위치-기반 개체의 순위를 실시간(real-time) 또는 준-실시간(near real-time)으로 순위매기기 위한 모바일 검색 로그 (모바일 컴퓨터 장치 등에서 행해진 검색의 기록)을 활용한다. 사용자가 쿼리를 제출할 때마다, 본 기법은 주변의 다른 사용자들이 동일하거나 유사한 쿼리를 제출한 뒤에 선택한 검색 결과 중에서 위치-기반 개체를 조사한다. 일 실시예에서, 본 기법은 오직 주어진 시간대에 대응하는 모바일 검색 로그의 일부분만을 포함한다. 추가적으로, 위치-기반 개체의 순위를 매기는 기법의 일 실시예에서, 검색 쿼리에 응답하여 위치-기반 개체들을 검색하는 두 가지 옵션이 있는데, 이는: 실시간 검색과 준 실시간 검색이다.The location-based entity ranking technique described herein is a technique for ranking location-based entities such as, for example, local businesses, restaurants, entertainment venues, events, and the like. To this end, one embodiment of the present technique is to provide a mobile search log (record of search performed on a mobile computer device or the like) for ranking the rank of a location-based entity in real-time or near real- . Each time a user submits a query, the technique examines a location-based object among selected search results after other nearby users submit the same or similar query. In one embodiment, the technique only includes a portion of the mobile search log corresponding to a given time period. Additionally, in one embodiment of a technique for ranking location-based entities, there are two options for searching for location-based entities in response to a search query: real-time search and semi-real-time search.

본 기법의 실시간 검색의 한 실시예에서는, 예컨대 어느 월요일의 시간 T에 제출된 주어진 쿼리에 답하기 위하여, 본 기법은 바로 그날(즉, 바로 그 월요일)의 시간 (T-X)와 T 사이에 제출된 쿼리만을 사용한다. 변수 X는 쿼리의 양에 기초하여 결정될 수 있다. 본 기법은 순위 매기기를 수행하기에 충분한 쿼리가 나오도록 X의 값을 (예컨대 1시간, 2시간, 3시간 등으로) 증가시킬 수 있다.In one embodiment of a real-time search of the technique, for example, to answer a given query submitted at a time T of a Monday, the technique uses a query submitted between the times (TX) and T on the very day Only. The variable X can be determined based on the amount of the query. The technique may increase the value of X (for example, by 1 hour, 2 hours, 3 hours, etc.) so that there are enough queries to perform the ranking.

다른 준 실시간 검색의 실시예에서, 만약 전술된 실시간 검색 옵션이 실패한다면(예를 들어, 이용가능한 쿼리의 양이 충분치 않은 경우), 유사한 시구간(예를 들어, 월요일) 및 시간대(T-X, T)에 기록된 쿼리 로그를 검색 결과를 제공하는데 사용할 수 있다.In an embodiment of another quasi-real-time search, if the aforementioned real-time search option fails (e.g., the amount of available query is insufficient), similar time periods (e.g. Monday) ) Can be used to provide search results.

검색 로그의 집합을 어떻게 식별하는지와 무관하게, 본 기법의 일 실시예에서, 쿼리 로그의 선택된 집합에 대한 검색 결과 중에서 어떤 위치-기반 개체가 많이 선택될수록, 그 위치-기반 개체의 순위 점수가 높아진다. 사용자가 그날의 다른 시간에 다른 위치-기반 개체를 선택(예컨대, 입력 장치로 클릭)함에 따라, 위치-기반 개체의 순위, 그리고 보이는 검색 결과가, 날씨, 교통상황 등과 같이 수집하기 어려운 상황에 따른 제한조건을 반영하여 바뀔 것이다. 일 실시예에서, 순위를 매기는 어떤 알고리즘이라도 위치-기반 개체의 순위를 매기기 위해 사용될 수 있다.Regardless of how to identify the set of search logs, in one embodiment of the present technique, the more the location-based objects are selected from among the search results for the selected set of query logs, the higher the ranking score of the location-based objects . As the user selects (e.g., clicks on an input device) another location-based object at another time of the day, the position-based object's ranking and the search results that are visible are displayed in a variety of contexts such as weather, traffic conditions, It will change to reflect the limitation. In one embodiment, any ranking algorithm can be used to rank the location-based entities.

위치-기반 개체의 순위를 매기는 기법은 특정한 위치 및 시간대에서 인기있는 위치-기반 개체를 추측하기 위해, 주어진 위치 및 주어진 시간에서 모바일 장치 사용자와 같은 컴퓨터 장치 사용자들의 커뮤니티에 의해 수행되는 검색을 활용할 수 있다. 그러면 본 기법은 또한 쿼리를 제출하는 사용자의 개인적 선호도에 기초하여 이들 위치-기반 개체를 필터링하거나 다시 순위를 매길 수 있다. 개인적 선호도는 또한 특유의 상황(예를 들어, 점심과 저녁 시간대에 따라 선호하는 음식점이 달라지는 것)에 따라 달라질 수 있다.
The technique of ranking a location-based entity utilizes a search performed by a community of computer device users, such as a mobile device user, at a given location and at a given time, to guess popular location-based objects in a particular location and time zone . The technique may then also filter or reorder these location-based entities based on the personal preferences of the user submitting the query. Personal preferences may also vary depending on the particular circumstances (eg, the preferences of the restaurant for lunch and dinner).

본 명세서에 개시된 특정한 특징, 양상 및 장점들은 후술할 상세한 설명, 첨부된 청구범위 및 도면을 통하여 더 잘 이해될 것이다.
도 1은 본 명세서에 기술된 위치-기반 개체의 순위를 매기는 기법의 예시적인 일 실시예를 이용하는 예시적인 아키텍쳐이다.
도 2는 위치-기반 개체의 순위를 매기는 기법의 일 실시예를 이용하는 예시적인 프로세스의 흐름도를 도시한 것이다.
도 3은 위치-기반 개체의 순위를 매기는 기법의 다른 실시예를 이용하는 다른 예시적인 프로세스의 흐름도를 도시한 것이다.
도 4는 본 명세서에 기술된 위치-기반 개체의 순위를 매기는 기법을 사용하는 예시적인 시나리오를 도시한 것이다.
도 5는 위치-기반 개체의 순위를 매기는 기법을 실시하는 데 사용될 수 있는 예시적인 컴퓨터 장치를 도시한 것이다.
The particular features, aspects and advantages disclosed herein will be better understood from the following detailed description, appended claims and drawings.
FIG. 1 is an exemplary architecture that utilizes one exemplary embodiment of a ranking technique for location-based entities described herein.
Figure 2 illustrates a flow diagram of an exemplary process utilizing one embodiment of a technique for ranking a location-based entity.
3 illustrates a flow diagram of another exemplary process utilizing another embodiment of a technique for ranking a location-based entity.
4 illustrates an exemplary scenario using the ranking technique of position-based entities described herein.
Figure 5 illustrates an exemplary computer device that may be used to implement a ranking-based entity ranking technique.

위치-기반 개체의 순위를 매기는 기법에 대한 이하의 상세한 설명에서는 첨부된 도면이 참조될 수 있는데, 이 도면들은 본 명세서에 기술된 위치-기반 개체의 순위를 매기는 기법이 실시될 수 있는 실시예로서 본 발명을 도시하면서 그 일부를 형성한다. 또한 본 발명의 청구대상의 범위를 벗어나지 않으면서 다른 실시예들을 이용하거나 구조적인 변경을 할 수 있다는 점을 이해하여야 한다.
In the following detailed description of a technique for ranking a location-based entity, reference may be made to the accompanying drawings, which are incorporated in and constitute a part of the specification, in which a ranking-based entity ranking technique described herein may be practiced Illustrate the invention and form part of it. It should also be understood that other embodiments may be utilized or structural changes may be made without departing from the scope of the invention.

1.0 위치-기반 개체의 순위를 매기는 기법 (1.0 Position-based object ranking technique ( LocationLocation -- RelatedRelated EntityEntity Ranking  Ranking TechniqueTechnique ))

이하의 부분에서는 위치-기반 개체의 순위를 매기는 기법에 대한 소개 및 개관과, 본 기법을 실시하기 위한 예시적인 아키텍쳐 및 예시적인 프로세스가 제공된다. 본 기법을 적용하기 위한 예시적인 시나리오도 제공된다.
In the following sections, an introduction and overview of a technique for ranking a location-based entity and an exemplary architecture and exemplary process for implementing the technique are provided. An exemplary scenario for applying this technique is also provided.

1.1 소개(1.1 Introduction IntroductionIntroduction ))

위치-기반 개체의 검색 결과, 예컨대, 지역 사업체, 음식점, 이벤트, 박물관, 공원 또는 다른 관심지역정보에 대한 쿼리의 검색 결과에 순위를 매길 때에는 상황적 정보가 중요하다. 그러나, 그러한 정보를 획득하고, 주석을 달고, 분류를 하는 것은 어려운 일이다. 사용자들 스스로가 그러한 정보의 좋은 원천이다. 본 명세서에 기술된 위치-기반 개체의 순위를 매기는 기법의 다양한 실시예는 이 점을 활용한다. 사람들의 커뮤니티의 각각의 구성원이 일정 시간대에서 검색을 수행한 뒤 어떤 것을 선택하는 지를 관찰하는 것에 의해, 본 기법은 그 시간대 동안 주어진 상황(예컨대 시간적, 개인적, 환경적)하에서 그 커뮤니티의 인기있는 선택이 무엇일지에 대한 비록 암시적이긴 하지만 확실한 예측값을 얻을 수 있다.
Contextual information is important when ranking search results of search results for location-based objects, such as queries for local businesses, restaurants, events, museums, parks or other areas of interest. However, it is difficult to obtain such information, annotate it, and classify it. Users themselves are a good source of such information. Various embodiments of the technique for ranking the location-based entities described herein utilize this point. By observing what each member of the community of people does after performing a search at a certain time of day and then choosing which one to select, the technique can be used to determine the popularity of that community under given circumstances (eg, temporal, personal, environmental) Although it is implicit, we can get a clear estimate of what it is.

1.2 본 기법의 개관 (1.2 Overview of this technique ( OverviewOverview ofof thethe TechniqueTechnique ))

본 명세서에 기술된 위치-기반 개체의 순위를 매기는 기법은 인기도에 따라 위치-기반 개체의 순위를 매긴다. 이를 위해, 일 실시예에서, 본 기법은 실시간(또는 준-실시간)으로 위치-기반 개체의 순위를 매기기 위해 모바일 장치의 검색 로그(예컨대, 모바일 장치에 행해진 검색들의 기록)를 활용한다. (비-모바일 컴퓨터 장치에 의한 검색 로그도 위치 정보가 사용가능한 경우에는 사용될 수 있음에 주목해야 한다.) 추가적으로, 검색 로그 데이터는 다른 데이터, 예컨대 전화 로그 데이터나 소셜 네트워킹 데이터에 의해 보강될 수 있다. 예를 들어, 검색 로그와 마찬가지로 어떤 위치-기반 개체에 대한 전화 통화 또는 포스트도 그 위치-기반 개체가 얼마나 자주 선택되는지를 결정할 때 사용될 수 있다. 게다가, 일 실시예에서, 순위를 매기는 중에, 전화 통화 또는 소셜 네트워킹 포스트에는 더 높은 가중치를 줄 수 있는데, 왜냐하면 검색 로그의 사용자 선택은 암시적인 사용자 선호도를 제공하는데 비해 이러한 행동들은 명시적인 사용자 선호도를 보여주기 때문이다. 사용자가 쿼리를 제출할 때마다, 본 기법은 근처의 다른 사용자들이 동일 또는 유사한 쿼리를 제출한 후에 선택(예컨대 클릭하거나, 전화하거나 이에 대해 블로그)했던 검색 결과 중의 위치-기반 개체를 조사한다. 쿼리의 유사성은, 예를 들어, 쿼리 검색어의 유사성을 비교함으로서 결정될 수 있다. 예를 들어, 본 기법은 한 사용자가동일 개체 또는 동종 개체를 선택한 경우, 그 사용자가 입력한 검색어를 다른 사용자들이 입력한 다른 검색어와 비교할 수 있다. 이들 검색어들은 분류되어 새로운 검색어가 나타났을 때 사전적 마커(lexical marker)로서 사용될 수 있다. 따라서 시간이 지나면 본 기법은 검색어 “국수”와 “스파게티”를 상당히 유사한 결과를 생성하는 검색어로 연관지을 것이다. 예를 들어, 만약 쿼리 “파스타” 및 “새우”가 모두 90%의 확률로 이탈리안 음식점을 선택하는 결과를 낳았다면, 본 기법의 일 실시예는 두 쿼리가 동종의 사업체를 가리킨다는 점에서 이들이 유사하다고 판단할 것이다. 일 실시예에서, 본 발명은 주어진 시간대에 해당하는 모바일 검색 로그의 일부분만을 포함할 수 있다.The technique of ranking the location-based entities described herein ranks the location-based entities according to their popularity. To this end, in one embodiment, the technique utilizes a search log (e.g., a record of searches done on a mobile device) of the mobile device to rank the location-based entities in real-time (or semi-real-time). (It should be noted that search logs by non-mobile computing devices may also be used if location information is available.) Additionally, search log data may be augmented with other data, such as phone log data or social networking data . For example, a phone call or post to a location-based object, like a search log, can be used to determine how often the location-based object is selected. In addition, in one embodiment, during ranking, a phone call or social networking post may be given a higher weight, since user selection of search logs provides implicit user preferences, . Each time a user submits a query, the technique examines a location-based entity in the search results that other users nearby select (e.g., click, call, or blog against) after submitting the same or similar query. The similarity of the query can be determined, for example, by comparing the similarity of the query terms. For example, if a user selects the same entity or homogeneous entity, the technique can compare the search term entered by the user with another search term input by other users. These search terms can be categorized and used as lexical markers when new search terms appear. So over time, this technique will relate the search terms "noodles" and "spaghetti" to search terms that produce quite similar results. For example, if the query "pasta" and "shrimp" all resulted in a 90% probability of choosing an Italian restaurant, then one embodiment of the technique would be similar in that two queries refer to the same type of business . In one embodiment, the invention may include only a portion of the mobile search log corresponding to a given time period.

위치-기반 개체의 순위를 매기는 본 기법의 일 실시예에서, 사용자에게 위치-기반 개체를 추천하는 시간대를 선택하는 두가지 옵션이 있다. 첫번째 옵션은 사용자의 쿼리에 응답하여 그 사용자가 관심있어 할만한 유형의 위치-기반 개체들에 대한 실시간 검색을 수반한다. 일 실시예에서, 본 기법은 위치-기반 개체의 유형을 아래와 같이 결정한다. 본 기법은 주변의 모든 위치-기반 개체들(예컨대 사업체)을 조사하고 각각의 점수를 계산한다. 점수가 높을수록, 그 위치-기반 개체가 검색 결과중 상위로 나타난다. 이 점수는 상황-제한적인 로그에 기초하여 계산된다. 예를 들어, 주어진 쿼리 “이탈리안”에 대해, 로그는 (만약 있다하더라도) 매우 적은 수의 일본 음식점에 대한 클릭수를 가질 것이다. 결과적으로, 일본 음식점들은 낮은 점수를 받을 것이고 검색 결과 목록 상단에는 나타나지 않을 것이다. 만약 본 기법이 이전에는 한번도 본 적이 없었던 쿼리에 대해 답해야 한다면, 본 기법은 결과를 전혀 보여주지 않거나 관련없는 결과를 보여주게 될 것이다. 두번째 옵션은 위치-기반 개체에 대한 준 실시간 검색을 수반한다. 이 시나리오에서, 본 기법은 쿼리가 입력된 시간과 유사한 (그러나 동일하지는 않은) 시구간에 대해 위치-기반 개체들을 검색한다.In one embodiment of this technique for ranking location-based entities, there are two options for selecting a time zone for recommending a location-based entity to a user. The first option involves a real-time search for location-based entities of a type that the user may be interested in in response to the user's query. In one embodiment, the technique determines the type of location-based entity as follows. This technique examines all the location-based entities (for example, businesses) in the vicinity and calculates each score. The higher the score, the higher the position-based entity appears in the search results. This score is calculated based on the situation-limited log. For example, for a given query "Italian", the log will have a very small number of clicks on Japanese restaurants (if any). As a result, Japanese restaurants will receive low scores and will not appear at the top of the search results list. If this technique is to answer queries that have never been seen before, then this technique will show no results at all or show irrelevant results. The second option involves a quasi-real-time search for location-based entities. In this scenario, the technique searches for location-based entities for time periods that are similar (but not identical) to the time the query was entered.

검색 로그의 집합을 어떻게 식별하느냐와 무관하게, 쿼리 로그의 선택된 집합에 대한 검색 결과 중에서 한 위치-기반 개체가 사용자에 의해 많은 선택(예컨대, 입력 장치로 클릭)을 받을수록, 그 위치-기반 개체의 순위 점수가 높아진다. 사용자가 그날의 다른 시간대에 다른 위치-기반 개체를 선택하면, 그 위치-기반 개체의 순위 그리고 보이는 검색 결과가, 날씨, 교통상황 등의 수집하기 어려운 상황적 제한조건을 반영하여 달라질 것이다. 위치-기반 개체를 순위 매기기 위해 어떤 순위 매기는 알고리즘을 사용해도 무방하다는 것에 주목해야 한다. 본 기법이 순위 매기는 알고리즘에 입력될 입력 데이터(예컨대 검색 로그)의 집합을 선택하는 방법(예를 들어, 실시간 옵션 또는 준 실시간 옵션)이 본 기법의 응용에 중요한 고려대상임에 주목해야 한다.Regardless of how to identify the set of search logs, the more a location-based object is selected by the user (e.g., clicked as an input device) from the search results for a selected set of query logs, The higher the ranking score is. If a user selects a different location-based object at different times of the day, the position of the location-based object and the search results that will be visible will vary, reflecting the cumbersome situational constraints of weather, traffic conditions, and the like. It should be noted that any ranking algorithm may be used to rank position-based entities. It should be noted that the scheme chooses a set of input data (e.g., search logs) to be input to the ranking algorithm (e.g., real-time option or quasi-real-time option) is important to the application of this technique.

일 실시예에서, 본 기법은 쿼리를 제출하는 특정 사용자의 시간에 따라 변하는 개인적 선호도를 찾아내고 이들 시간에 따라 변하는 선호도를 이용하여 모바일 검색 로그를 통해 발견된 위치-기반 개체들을 필터링하고 순위매긴다. 이들 시간에 따라 변하는 개인적 선호도를 결정하는 것은 사용자가 각각의 쿼리 이후에 선택하는 위치-기반 개체들의 유형들을 모니터링하는 것에 의해 수행될 수 있다. 그런 방법으로 본 기법은 시간이 지남에 따라 이 사용자가 관심있어하는 위치-기반 개체의 유형을 학습할 수 있다. 일 실시예에서, 본 기법은 하루 중의 다른 시간대 또는 여러 날 또는 여러 계절(예컨대 여름 대 겨울) 내의 다른 시간대에 기초하여 사용자의 선호도를 생성할 수 있다. 예를 들어, 어떤 사용자가 점심에 이탈리안 음식점을 좋아하는 것이 알려져 있다면, 그 사용자가 점심 시간에 "음식점"에 대해 검색할 때, 본 기법은 근처의 이탈리아 레스토랑에 더 놓은 순위를 매겨 표시할 수 있다. 만약 사용자가 저녁으로 간소한 식당(diner)을 선호한다면 저녁 시간 동안 그 사용자로부터의 정확히 동일한 쿼리가 이번에는 더 많은 간소한 식당인 위치-기반 개체를 포함할 것이다.In one embodiment, the technique finds personal preferences that vary with the time of a particular user submitting a query and filters and ranks the found location-based entities through the mobile search log using preferences that vary over time. Determining the personal preferences that vary over these times may be performed by monitoring the types of location-based entities the user selects after each query. In this way, the technique can learn over time the types of location-based entities that this user is interested in. In one embodiment, the technique may generate a user's preference based on different time of day or multiple days or different time periods within several seasons (e.g., summer versus winter). For example, if a user is known to like an Italian restaurant for lunch, then when the user searches for "restaurant" at lunch time, the technique may rank more in nearby Italian restaurants . If the user prefers a simple diner for the evening, the exact same query from that user during the evening will include a location-based entity, which is now a more streamlined restaurant.

일 실시예에서 본 기법은 또한 검색 결과에 대한 사용자의 개인화된 선택을 활용하여 사용자들을 그들의 배경, 선호도, 인구통계학적(demographic) 특성에 의해 암시적으로 정의되는 커뮤니티 또는 그룹들로 그룹화할 수 있다. 그 결과로서, 본 기법의 일 실시예는 다른 순위를 가진 특정 커뮤니티에 대해서는 이전에 기술된 검색 로그 분석을 수정할 수 있다. 예를 들어, 만약 저녁에 이탈리안 음식점을 선택한 사람들이 보통 점심에 피자를 선택한다고 할 때, 주어진 사용자가 정오 경에 음식점 쿼리를 발송한다면, 수정된 검색 로그 분석은 그 결과에서 근처의 피자 음식점이 높은 순위를 갖도록 표시할 것이다. 사용자의 선호도가 시간에 따라 변하기 때문에, 형성된 그룹들도 시간에 따라 달라진다. 예를 들어, 사용자는 그 쿼리를 제출한 시간에 따라 다른 그룹에 속할 수 있다.In one embodiment, the technique may also utilize a user's personalized selection of search results to group users into communities or groups that are implicitly defined by their background, preferences, demographic characteristics . As a result, one embodiment of the present technique may modify the previously described search log analysis for a particular community of different rankings. For example, if a person who chooses an Italian restaurant in the evening usually chooses a pizza for lunch, and a given user sends a restaurant query around noon, the modified search log analysis will show that the nearby pizza restaurant is high I will mark it as having a ranking. Since the user's preferences change over time, the groups formed also vary over time. For example, a user can belong to a different group depending on the time the query was submitted.

본질적으로, 일 실시예에서, 본 기법은 주어진 위치 및 시간에 모바일 장치 사용자의 커뮤니티에 의해 수행되는 검색을 활용하여 특정 위치 및 시간대에서 인기있는 위치-기반 개체를 추측한다. 그러면 본 기법은 이들 위치-기반 개체를 그 쿼리를 제출한 사용자의 개인적 선호도에 기초하여 필터링하거나 다시 순위를 매긴다. 개인적 선호도는 특유의 상황(예를 들어, 점심과 저녁 시간대에 다른 음식점을 선호하는 것)에 따른 것일 수도 있다.In essence, in one embodiment, the technique utilizes searches performed by a community of mobile device users at a given location and time to guess popular location-based entities at particular locations and time zones. The technique then filters or reorders these location-based entities based on the personal preferences of the user who submitted the query. Personal preferences may be due to specific circumstances (eg, preferring other restaurants for lunch and dinner).

위치-기반 순위를 매기는 기법의 개관이 제공되었으므로, 이하의 섹션에서는 본 기법을 실시하는 예시적인 아키텍쳐 및 예시적인 프로세스를 제공한다.
Since an overview of location-based ranking techniques has been provided, the following sections provide exemplary architectures and exemplary processes for implementing the techniques.

1.3 예시적인 아키텍쳐(1.3 Example Architecture ( ExemplaryExemplary ArchitectureArchitecture ))

도 1은 본 위치-기반 개체의 순위를 매기는 기법이 구현될 수 있는 예시적인 아키텍쳐의 다이어그램을 제공한다. 도 1에서 보이는 바와 같이, 사용자(102)가 모바일 컴퓨터 장치(500)(도 5에서 더 자세히 논의됨)를 사용하여 쿼리(104)를 제출하면, 쿼리 문자열(104)이 그 사용자의 위치(106)(또는 선택적으로 다른 관련있는 위치) 및 사용자 ID(108)와 함께 서버(110)(또는 블럭 (110)에서 보이는 것과 동일한 기능을 수행하는 하나 이상의 서버들)로 전송된다. 쿼리(104), 위치(106) 및 쿼리(104)가 제출된 시간(112)이 서버(110)에 기록된다.Figure 1 provides a diagram of an exemplary architecture in which techniques for ranking the location-based entities can be implemented. 1, when the user 102 submits the query 104 using the mobile computer device 500 (discussed in more detail in FIG. 5), the query string 104 is returned to the user's location 106 (Or one or more servers that perform the same functions as those shown in block 110) along with user ID 108 (or optionally other relevant locations) and user ID 108. [ The query 104, the location 106 and the time 112 when the query 104 is submitted are recorded in the server 110. [

위치(106), 시간(112) 및 쿼리(104) 그 자체에 기초하여, 검색 로그(114)(예컨대 모바일 검색 로그)의 집합의 부분이 아래에 논의될 실시간 또는 준 실시간 방법을 사용하여 식별된다. 본 위치-기반 개체의 순위를 매기는 기법의 일 실시예에서, 위치-기반 개체를 사용자에게 추천하는 데 사용될 검색 로그 데이터의 부분을 결정하는 데 두 가지 옵션이 있다. 첫번째 옵션은 사용자의 쿼리에 응답하여, 사용자가 관심있어 할만한 유형의 위치-기반 개체에 대한 실시간 검색을 수반한다. 두번째 옵션은 위치-기반 개체에 대하여 준 실시간 검색을 수반한다. 이 시나리오에서, 예를 들어, 본 기법은 쿼리가 입력된 것과 동일한 시간대에서 며칠에 걸쳐 위치-기반 개체에 대한 검색을 수행한다.Based on location 106, time 112, and query 104 itself, portions of the set of search logs 114 (e.g., mobile search logs) are identified using real-time or quasi-real-time methods discussed below . In one embodiment of the present position-based entity ranking technique, there are two options for determining the portion of search log data to be used to recommend the location-based entity to the user. The first option, in response to a user's query, involves a real-time search for a type of location-based entity that the user may be interested in. The second option involves a quasi-real-time search for location-based entities. In this scenario, for example, the technique performs a search on a location-based entity over the course of a few days in the same time zone as the query was entered.

예를 들어, 실시간 검색 옵션에서, 예컨대 어느 월요일의 시간 T에 제출된 주어진 쿼리에 대답하기 위해, 본 기법은, 일 실시예에서, 정확히 동일한 날(즉, 그 월요일)의 시간 T-X와 T 사이에 제출된 쿼리들만을 사용한다. 변수 X는 쿼리의 양에 따라 결정될 수 있다. 본 기법은 순위를 매기기에 충분한 수의 쿼리를 보장하도록 X의 값을 (예컨대, 1시간, 2시간, 3시간 등으로) 증가시킬 수 있다. 준 실시간 검색 옵션에서, 만약 위에서 기술된 실시간 검색 옵션이 실패하면(예를 들어, 사용가능한 쿼리의 양이 충분치 않은 경우), 주어진 요일(즉, 월요일들) 중에서 주어진 시간대(T-X, T) 안에 기록된 쿼리 로그들만이 사용된다.For example, in a real-time search option, for example, to answer a given query submitted at a time T of one Monday, the technique may, in one embodiment, calculate the time between the times TX and T on exactly the same day Only the submitted queries are used. The variable X can be determined according to the amount of the query. The technique may increase the value of X (e.g., by 1 hour, 2 hours, 3 hours, etc.) to ensure a sufficient number of queries to rank. In the semi-real-time search option, if the real-time search option described above fails (for example, the amount of available queries is insufficient), records within a given time zone (TX, T) Only the query logs are used.

식별된 검색 로그(114)의 부분이 서버(110)의 위치-기반 개체의 순위를 매기는 모듈(116) 내에서 위치-기반 개체의 순위를 매기기 위해 사용된다. 사용된 검색 로그(114)의 부분은 순위 매기기에 앞서 사용자의 그룹 멤버쉽에 기초하여 선택적으로 필터링될 수 있다. 이것은 도 3 및 도 4에서 더 구체적으로 논의될 것이다. 주어진 사용자에 대한 그룹 멤버쉽은 시구간 및 위치가 달라짐에 따라 변할 수 있다.A portion of the identified search logs 114 is used to rank the location-based entities within the module 116 that ranks the location-based entities of the server 110. The portion of search logs 114 used may be selectively filtered based on the user's group membership prior to ranking. This will be discussed in more detail in FIG. 3 and FIG. Group membership for a given user may change as the time period and location change.

사용자가 쿼리를 제출할 때마다, 본 기법은 근처의 다른 사용자들이 동일 또는 유사한 쿼리를 제출한 뒤에 선택한 검색 결과 내의 위치-기반 개체들을 센다. 위치-기반 개체가 검색 로그의 선택된 부분에 더 자주 나타날수록 그 순위 점수가 높아진다. 실제로는, 어떤 순위를 매기는 알고리즘이라도 이 단계에 적용될 수 있다.Each time a user submits a query, the technique counts location-based entities in the selected search results after other nearby users submit the same or similar query. The more frequently a location-based entity appears in a selected portion of the search log, the higher the rank score. In practice, any ranking algorithm can be applied to this step.

본 기법의 일 실시예에서, 사용자 ID에 기초하여, 쿼리를 제출한 사용자의 개인적 선호도가 개인화된 데이터베이스(118)에 저장될 수 있고 위치-기반 개체의 순위를 매기는 모듈(116)에서 위치-기반 개체를 필터링하거나 다시 순위를 매기는 데 더 사용될 수 있다. 이에 더하여, 개인적 선호도는 시간 정보(예를 들어, 시간, 날짜, 계절 등)에 따라 조절될 수 있다. 예를 들어 한 사람의 선호도는 그가 월요일 아침에 쿼리를 제출할 때 다를 수 있다.In one embodiment of the present technique, based on the user ID, the personal preferences of the user submitting the query may be stored in the personalized database 118 and stored in a location-based entity ranking module 116, Can be further used to filter or reorder based objects. In addition, personal preferences can be adjusted according to time information (e.g., time, date, season, etc.). For example, a person's preference may be different when he submits a query on Monday morning.

좀 더 구체적으로, 사용자는 개인적 선호도를 명시적으로 혹은 암시적으로 제공할 수 있다. 첫번째 경우에, 일 실시예에서, 사용자는 그의 선호도에 관한 질문(예를 들어, 그가 자신의 모바일 컴퓨터 장치에 본 기법에 대한 애플리케이션을 설치한 직후)에 답하게 된다. 이들 개인적 선호도는 시간에 따라 변할 수 있다. 사용자에 의해 제공되는 정보는 "나는 주말에는 비싼 이탈리안 또는 프랑스 음식점이 좋다", "주중에 나는 보통 패스트푸드를 파는 곳에 관심이 있다", "나는 야외 자리가 있는 장소를 선호한다" 등과 같은 형태일 수 있다. 또는, 사용자 선호도의 결정은 암시적일 수도 있다. 예를 들어, 만약 사용자가 "음식점" 쿼리를 제출한 후에 90%의 확률로 비싼 이탈리안 또는 프랑스 음식점을 선택한다면, 본 기법은 이 사용자가 비싼 이탈리안 또는 프랑스 음식점을 좋아한다고 가정할 수 있다.More specifically, the user can provide personal preferences explicitly or implicitly. In the first case, in one embodiment, the user answers a question about his preferences (e.g., immediately after he installs the application for the technique on his mobile computing device). These personal preferences can change over time. The information provided by the user may be in the form of "I like expensive Italian or French restaurants on weekends", "I am usually interested in selling fast food on weekdays", "I prefer a place with outdoor seating" . Alternatively, the determination of user preferences may be implicit. For example, if a user chooses an expensive Italian or French restaurant with a 90% probability after submitting a "restaurant" query, the technique can assume that the user likes expensive Italian or French restaurants.

위치-기반 개체의 많은 범주들이 확립될 수 있다. 예를 들어, 이 범주들에는 사업체 속성(예컨대, 분위기, 드레스 코드 등), 주어진 유형의 사업체를 방문하기 위해 사용자들이 주로 가는 장소, 그리고 사용자들이 사업체를 검색 또는 방문하는 시간대 등이 포함될 수 있다. 사용자 선호도가 구축되고 나면, 개개인의 선호도가 얼마나 유사한가에 기초하여 사용자 선호도를 함께 클러스터링하는 것에 의해 그룹 선호도가 생성될 수 있다.Many categories of location-based entities can be established. For example, these categories may include business attributes (e.g., mood, dress code, etc.), where users typically go to visit a given type of business, and the time when users search for or visit the business. Once the user preferences have been established, group preferences can be created by clustering user preferences together based on how similar the individual's preferences are.

비록 본 명세서에 기술된 위치-기반 개체의 실시간 순위 매기기가 서버(110) 상에서 수행되는 것으로 기술되었지만, 이러한 순위 매기기는 그 대신에 유사한 순위 매기기 모듈이 설치된 모바일 컴퓨터 장치(500)에서도 수행될 수 있음을 주목해야 한다. 다른 실시예에서 서버와 관련하여 본 명세서에 기술된 기능들은 컴퓨팅 클라우드에서 수행될 수도 있다.Although real-time ranking of the location-based entity described herein is described as being performed on the server 110, such ranking may instead be performed on the mobile computer device 500 with a similar ranking module installed . In other embodiments, the functions described herein in connection with a server may be performed in a computing cloud.

쿼리(104)에 응답하여 반환된 순위가 매겨진 검색 결과(120)는 사용자(102)에게로 다시 전송된다. 사용자(102)가 반환된 검색 결과(120)로부터 위치-기반 개체를 선택한 후에, 이 데이터는 서버(110)의 데이터 로깅 모듈(124)에 기록되고, 모바일 검색 로그(114)에 새로운 엔트리가 생성되며, 그 사용자의 개인적인 선호도가 개인화된 데이터베이스(118)에 적절하게 갱신된다. 데이터 로깅 모듈은 쿼리에 응답하여 사용자 활동(예컨대 이 경우에는 사용자의 선택 또는 클릭)을 기록할 책임이 있다. 일 실시예에서, 이 정보가 최신이라는 것을 확신하기 위해 데이터로거는 모든 사용자 선택(예컨대, 클릭)을 기록한다. 예를 들어, 데이터로거는 쿼리, 사용자 ID, 장치 유형, 하루 중의 시간, 주중의 요일 등을 기록한다. 이 정보는 위치-기반 개체의 순위를 매기는 것을 수행하는 데 활용된다.The ranked ranked search results 120 returned in response to the query 104 are sent back to the user 102. After the user 102 selects a location-based entity from the returned search result 120, this data is written to the data logging module 124 of the server 110 and a new entry is created in the mobile search log 114 And the user's personal preferences are updated appropriately in the personalized database 118. The data logging module is responsible for recording user activity (e.g., in this case, a user's selection or click) in response to the query. In one embodiment, the data logger records all user selections (e.g., clicks) to ensure that this information is up-to-date. For example, a data logger records queries, user IDs, device types, hours of the day, days of the week, and so on. This information is used to perform ranking of location-based entities.

실시간으로 순위를 매기는 모듈(116)은 실시간으로 사용자 선호도를 반영하기 위해 주기적으로 각 커뮤니티, 시간대 및 다른 상황의 변수값(context parameter values)에 대해 지역 위치-기반 개체의 순위를 다시 매긴다. 예를 들어, 일 실시예에서, 상술한 대로, 사용자가 소정의 검색 결과를 클릭(선택)할 때마다, 검색 로그가 갱신된다. 이것이 실시간 순위가 매겨진 이후이기 때문에, 본 기법은 시간에 따라 사용자 선택(예컨대 클릭) 방식이 변경되는 것을 포착하려고 시도한다. 그렇게 하기 위해서, 본 기법은 고려되는 상황의 변수(예컨대, 시간대, 요일 등)의 모든 조합에 대해 주기적으로 지역 위치-기반 개체(예컨대 사업체)의 순위를 계산한다. 주기적으로 이를 수행함으로써, 본 기법은 실시간으로 순위를 매기는 것을 가능하게 하고 (이미 순위가 계산되어 있기 때문에) 서버로 하여금 쿼리에 재빠르게 응답할 수 있도록 한다.The real-time ranking module 116 periodically reorders the local location-based objects for each community, time zone, and other context parameter values to reflect user preferences in real time. For example, in one embodiment, as described above, each time the user clicks (selects) a predetermined search result, the search log is updated. Since this is after real-time ranking, the technique attempts to capture changes in user selection (e.g., click) manner over time. To do so, the technique periodically calculates the rank of a local location-based entity (e.g., a business) for every combination of variables of the situation under consideration (e.g., time of day, day of week, etc.). By doing this periodically, this technique makes it possible to rank in real time (because the rankings are already calculated) and allow the server to respond quickly to queries.

본 기법을 실시하는 예시적인 아키텍쳐에 대해 논의하였으므로, 이하의 섹션에서는 본 기법을 실시하는 몇몇 예시적인 프로세스를 기술한다.
Having discussed an exemplary architecture for implementing this technique, the following sections describe some exemplary processes for implementing this technique.

1.4 위치-기반 개체의 순위를 매기는 기법을 이용하는 예시적인 프로세스 (Exemplary 1.4 Exemplary process using position-based object ranking technique ProcessesProcesses forfor EmployingEmploying thethe LocationLocation -- RelatedRelated EntityEntity RankingRanking TechniqueTechnique ))

위치-기반 개체의 순위를 매기는 기법을 수행하는 한 예시적인 실시예(200)의 흐름도가 도 2에 도시된다. 도 2에서 볼 수 있듯이, 블럭(202)에서 위치-기반 개체(예컨대, 사업체, 장소, 관심지역정보)의 유형, 위치 및 주어진 시간(예를 들어, 현재시간)에 대한 쿼리가 검색 엔진에 입력된다. 그리고 나서 블럭(204)에 도시되어 있듯이, 입력 시간과 연관된 시간대의 검색 로그를 검색하여 동일 또는 유사한 쿼리에 응답하여 입력 위치 주변의 검색 로그로부터 사용자에 의해 선택된 입력된 위치-기반 개체의 유형의 위치-기반 개체를 찾아낸다. 그리고 나서, 블럭(206)에서 도시된 것처럼 사용자에 의해 선택된 위치-기반 개체는 각 위치-기반 개체가 검색 로그로부터 사용자에 의해 선택된 횟수에 따라 순위가 매겨진다. 이어서 위치-기반 개체의 순위가 매겨진 목록은 블럭(208)에 도시된 것과 같이 출력된다.A flow diagram of an exemplary embodiment 200 of performing a ranking-based entity ranking technique is shown in FIG. As can be seen in Figure 2, at block 202, a query for the type, location, and location of a location-based entity (e.g., business, location, area of interest) and a given time do. Then, as shown in block 204, the search log of the time zone associated with the input time is retrieved and the location of the type of input location-based entity selected by the user from the search log around the input location in response to the same or similar query - Finds a base object. The location-based entity selected by the user as shown in block 206 is then ranked according to the number of times each location-based entity is selected by the user from the search log. The ranked list of location-based entities is then output as shown in block 208.

위치-기반 개체의 순위를 매기는 기법을 수행하는 다른 예시적인 실시예(300)의 흐름도가 도 3에 도시되어 있다. 도 3과 같이, 블럭(302)에서, 소정의 유형을 갖는 위치-기반 개체에 대한 쿼리가 주어진 시간과 위치에서 검색 엔진에 입력된다. 블럭(304)에서, 입력 쿼리와 연관된 몇몇 사용자로부터의 검색 로그 또한 입력된다. 이 검색 로그들은 또한 선택적으로 주어진 입력 시간 주변의 시간대만을 포함하도록 필터링될 수도 있다(또는 선택적으로 입력 시간과 유사한 시간대를 포함하도록 필터링될 수도 있다). 검색 쿼리와 연관된 검색 로그는 앞서 도 2에서 논의했던 것처럼 그룹 멤버쉽 선호도(블럭(306))에 기초하여 필터링될 수 있다.A flow diagram of another exemplary embodiment 300 for performing a ranking-based entity ranking technique is shown in FIG. As shown in FIG. 3, at block 302, a query for a location-based entity having a given type is entered into the search engine at a given time and location. At block 304, a search log from some users associated with the input query is also input. These search logs may also be filtered (or optionally filtered to include a time zone similar to the input time) to include only a time period around a given input time. The search log associated with the search query may be filtered based on group membership preferences (block 306) as discussed above in FIG. 2 above.

입력 시간과 연관된 시간대의 이들 필터링된 검색 로그들을 검색하여, 동일 또는 유사한 쿼리에 응답하여 입력 위치 근처에서 필터링된 검색 로그로부터 사용자에 의해 선택된 위치-기반 개체 입력과 동일한 유형의 위치-기반 개체를 찾아낸다(블럭(308)). 사용자에 의해 선택된 위치-기반 개체들은 블럭(310)에 나타낸 것과 같이 각각의 위치-기반 개체들이 필터링된 검색 로그로부터 사용자에 의해 선택된 회수에 의해 순위가 매겨진다.Searches these filtered search logs in the time zone associated with the input time to find a location-based object of the same type as the location-based object input selected by the user from the filtered search log near the input location in response to the same or similar query (Block 308). The location-based entities selected by the user are ranked by the number of times the respective location-based entities are selected by the user from the filtered search logs, as shown in block 310.

그리고 나서 위치-기반 개체의 순위가 매겨진 목록은 블럭(312)에 도시된 것과 같이 그 쿼리를 입력한 사용자의 사용자 선호도에 기초하여 다시 순위가 매겨지고, 블럭(314)에 나타낸 것과 같이 사용자에게 출력된다. 이어서, 검색 로그 및 선호도를 갱신하기 위해서, 블럭(316)에 도시된 것과 같이, 쿼리를 입력한 사용자는 위치-기반 개체들의 순위가 매겨진 목록으로부터 위치-기반 개체를 선택하고, (블럭(318)에 나타낸 것과 같이) 사용자가 쿼리에 응답하여 그 선택된 위치-기반 개체를 선택하였음을 보여주도록 검색 로그와 사용자 선호도가 갱신된다.
The ranked list of location-based entities is then re-ranked based on the user preference of the user who entered the query, as shown in block 312, and the output of the location- do. Then, to update the search log and preferences, the user who entered the query, as shown in block 316, selects the location-based entity from the ranked list of location-based entities (block 318) The search log and the user preferences are updated to show that the user has selected the selected location-based entity in response to the query.

1.5 위치-기반 개체의 순위를 매기는 기법을 사용하는 예시적인 시나리오 (Exemplary 1.5 Exemplary Scenarios Using Location-Based Object Ranking Techniques ScenarioScenario forfor UsingUsing thethe LocationLocation -- RelatedRelated EntityEntity RankingRanking TechniqueTechnique ))

도 4에서는 위치-기반 개체의 순위를 매기는 기법의 일 실시예에서 위치-기반 개체의 순위를 어떻게 매기게 되는지를 보여주는 예시적인 시나리오(400)가 제시된다. 시나리오를 단순화하기 위해, 가능한 가장 낮은 위치 해상도는 우편번호 단위이고, 사용자는 1시간의 시간대 내의 위치-기반 개체의 순위를 매기는 것에 관심이 있다고 가정하자. 실제로, 임의의 이용가능한 위치 측정 단위 및 해상도도 사용가능하며 어떤 시간대도 사용될 수 있다.In FIG. 4, an exemplary scenario 400 is presented that illustrates how to rank a location-based entity in one embodiment of a ranking-based entity ranking technique. To simplify the scenario, suppose that the lowest possible location resolution is the zip code unit, and the user is interested in ranking the location-based objects within the one hour time zone. In practice, any available position unit and resolution may be used and any time zone may be used.

도 4에 도시한 것처럼, 사용자(사용자 ID(402)로 나타냄)가 쿼리 "음식점"(404)을 우편번호 "98004"로 식별되는 위치(406)에서 "현지 시각 9시"의 시간(408)에 제출한다. 이런 정보 (404), (406), (408)이 서버(410)에 도달하면, 서버는 과거 시간(오후 8-9시)에 기록되고 관련된 쿼리 문자열이 "음식점"이었던 우편번호 "98004"에 해당하는 모바일 검색 로그(412) 내의 엔트리 전부를 반영하는 실시간 검색 색인들을 이용할 것이다. 만약 사용자가 알려진 프로파일을 갖는다면, 예컨대, "고급 음식점을 좋아하는 사람" 범주에 속한다면, 서버는 필터링 모듈(414)를 사용하여 그 특정 사용자 그룹(416)에 대해 구축된 검색 색인을 사용한다. 모바일 검색 엔트리(418)의 식별된 부분이 주어지면, 순위를 매기는 절차가 순위를 매기는 모듈(420)에 적용되어, 다른 유사한 사용자에 의해 선택된 위치-기반 개체를 순위 매기게 된다. 이 예에서, "Maggiano's"는 3개의 엔트리에 나타나기 때문에 3점의 점수를 얻고 "Subway"는 오직 한 개의 엔트리에 나타나기 때문에 1점의 점수를 얻는다. 위치-기반 개체의 순위를 매기는 것을 수행하는 데 사용된 검색 로그 엔트리의 전체 갯수는 순위 결과의 신뢰성을 평가하는 데 사용할 수 있다(사용된 엔트리의 갯수가 많을수록 그 순위 결과가 더 확실하다). 순위가 매겨진 위치-기반 개체는 그 쿼리를 제출한 사용자의 시간에 따라 변하는 개인적 선호도(422)를 사용하여 필터링/다시 순위매기기 모듈(424)에서 더 필터링된다.이 시나리오에서, 사용자는 쿼리 "음식점"을 제출한 뒤에 이탈리안 및 멕시코 음식점에만 관심이 있는 것으로 보인다(블럭(426)). 결과적으로, "Subway"는 특정 사용자에 대해 관계없는 사업체로서 검색 결과(428)에서 제외된다(또는 그 대신 그 사용자에 대해 낮은 순위가 매겨질 수도 있다). 동일한 사용자라도 다른 시간대 또는 날들에 대하여 복수의 개인적 선호도 테이블이 존재할 수 있음을 주목해야 한다.
As shown in Figure 4, when a user (denoted by user ID 402) is at time 408 of "local time 9 o'clock" at location 406 where query "restaurant" 404 is identified with zip code "98004" . When this information 404, 406, 408 reaches the server 410, the server logs in to the postal code "98004" that was recorded in the past time (8-9 pm) Will utilize real-time search indexes that reflect all of the entries in the corresponding mobile search logs 412. If the user has a known profile and belongs, for example, to the "person who likes restaurants" category, the server uses the search index built for that particular user group 416 using the filtering module 414 . Given an identified portion of the mobile search entry 418, the ranking procedure is applied to the ranking module 420 to rank the location-based entities selected by other similar users. In this example, "Maggiano's" gets 3 points because it appears in 3 entries, and "Subway" gets 1 point because it appears in only one entry. The total number of search log entries used to perform ranking of location-based entities can be used to evaluate the reliability of ranking results (the more number of entries used, the more reliable the ranking results). The ranked position-based entity is further filtered in the filtering / re-ranking module 424 using a personal preference 422 that varies with the time of the user who submitted the query. In this scenario, "It appears to be interested only in Italian and Mexican restaurants (block 426). As a result, the "Subway " is excluded from search results 428 as an unrelated business for a particular user (or alternatively may be ranked low for that user). It should be noted that there may be multiple personal preference tables for different time periods or days, even for the same user.

2.0 컴퓨팅 환경 (2.0 Computing Environment ( TheThe ComputingComputing EnvironmentEnvironment ))

위치-기반 개체의 순위를 매기는 기법은 소정의 컴퓨팅 환경에서 동작되도록 설계되었다. 이하의 설명은 위치-기반 개체의 순위를 매기는 기법이 구현될 수 있는 적절한 컴퓨팅 환경의 간단하고 일반적인 설명을 제공하려는 의도이다. 본 기법은 다양한 범용 목적 또는 특수 목적 컴퓨터 시스템 환경 또는 구성에서 동작 가능하다. 잘 알려진 적절한 컴퓨팅 시스템, 환경 및/또는 구성의 예에는 개인용 컴퓨터, 서버 컴퓨터, 핸드-헬드 또는 랩탑 장치(예를 들어, 미디어 플레이어, 노트북 컴퓨터, 셀룰러 폰, 개인정보단말기(personal data assistant), 음성 녹음기), 멀티프로세서 시스템, 마이크로프로세서-기반 시스템, 셋탑 박스, 프로그램가능한 소비자 가전, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 전술한 시스템 혹은 장치 중 임의의 것(들)을 포함하는 분산 컴퓨팅 환경 등이 포함되며, 이에 제한되지 않는다.The technique of ranking location-based entities is designed to operate in a given computing environment. The following description is intended to provide a brief, general description of a suitable computing environment in which a ranking-based entity ranking technique may be implemented. The techniques are operable in a variety of general purpose or special purpose computer system environments or configurations. Examples of well known and appropriate computing systems, environments and / or configurations include, but are not limited to, personal computers, server computers, hand-held or laptop devices (e.g., media players, notebook computers, cellular phones, personal data assistants, A distributed computing environment including any one or more of the above systems or devices, etc.), multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, , But is not limited thereto.

도 5는 적절한 컴퓨팅 시스템 환경의 예를 도시한다. 컴퓨팅 시스템 환경은단지 적절한 컴퓨팅 환경의 한 예시일 뿐이며 본 기법의 사용 또는 기능성의 범위의 제한을 제시하려고 의도된 것이 아니다. 또한 컴퓨팅 환경은 이 예시적인 동작 환경에 도시된 컴포넌트나 그 조합과 관련된 어떠한 의존성이나 요구사항을 가지는 것으로 해석되어서는 안된다. 도 5를 참조하면, 위치-기반 개체의 순위를 매기는 기법을 구현하는 예시적인 시스템은 컴퓨터 장치(500)와 같은 컴퓨터 장치를 포함한다. 가장 기초적인 구성에서, 컴퓨터 장치(500)는 전형적으로 적어도 하나의 프로세싱 유닛(502)과 메모리(504)를 포함한다. 컴퓨터 장치의 정확한 구성 및 유형에 따라, 메모리(504)는 (RAM과 같은) 휘발성, (ROM이나 플래시 메모리 등과 같은) 비휘발성 또는 이들의 조합일 수 있다. 이 가장 기초적인 구성이 도 5에서 점선(506)에 의해 도시된다. 추가적으로, 장치(500)는 또한 추가적인 특징부/기능부를 가질 수 있다. 예를 들어, 장치(500)는 자기 또는 광학 디스크나 테입과 같은 추가적인 저장장치(이동식 및/또는 고정식)를 포함할 수 있으며, 이에 제한되지 않는다. 이러한 추가적인 저장장치는 도 5에서 이동식 저장장치(508) 및 고정식 저장장치(510)에 의해 도시된다. 컴퓨터 저장장치 매체는 컴퓨터로 판독가능한 명령어, 데이터 구조, 프로그램 모듈이나 다른 데이터와 같은 정보를 저장하는 방법이나 기법이 구현된 휘발성 및 비휘발성, 이동식 및 고정식 매체를 포함한다. 메모리(504), 이동식 저장장치(508) 및 고정식 저장장치(510)는 모두 컴퓨터 저장 매체의 예시이다. 컴퓨터 저장 매체는, RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기법, CD-ROM, 디지털 다기능 디스크(DVD) 또는 다른 광학 저장장치, 자기 카세트, 자기 테이프, 자기 디스크 저장장치 또는 다른 자기 저장 장치, 또는 원하는 정보를 저장하는 데 사용될 수 있고 장치(500)에 의해 접근가능한 어떠한 다른 매체라도 포함하며, 이에 제한되지 않는다. 컴퓨터로 판독가능한 매체는 일시적인 전파성 신호 및 컴퓨터(로 판독가능한) 저장 매체 모두를 포함한다. 어떤 컴퓨터 저장 매체라도 장치(500)의 한 부분이 될 수 있다.5 illustrates an example of a suitable computing system environment. The computing system environment is merely an example of a suitable computing environment and is not intended to suggest limitations on the scope of use or functionality of the techniques. Also, the computing environment should not be construed as having any dependency or requirement relating to the components or combinations thereof shown in this exemplary operating environment. Referring to FIG. 5, an exemplary system for implementing a technique for ranking a location-based entity includes a computing device, such as computer device 500. In the most basic configuration, the computing device 500 typically includes at least one processing unit 502 and a memory 504. Depending on the exact configuration and type of computer device, memory 504 may be volatile (such as RAM), non-volatile (such as ROM or flash memory, etc.), or a combination thereof. This most basic configuration is shown by dashed line 506 in Fig. Additionally, the device 500 may also have additional features / functions. For example, the device 500 may include, but is not limited to, a magnetic or optical disk or additional storage devices such as tape (removable and / or stationary). This additional storage device is illustrated in Figure 5 by a removable storage device 508 and a fixed storage device 510. Computer storage media includes volatile and nonvolatile, removable and non-removable media in which methods or techniques for storing information such as computer readable instructions, data structures, program modules or other data are implemented. The memory 504, the removable storage 508, and the fixed storage 510 are all examples of computer storage media. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, Or any other medium which can be used to store the desired information and which is accessible by the apparatus 500, but is not limited thereto. The computer-readable medium includes both temporal propagation signals and computer (readable) storage media. Any computer storage media may be a part of the apparatus 500.

장치(500)은 또한 장치가 다른 장치 또는 네트워크와 통신할 수 있게 하는 통신 접속부(들)(512)을 포함할 수 있다. 통신 접속부(들)(512)은 통신 매체의 예시이다. 통신 매체는 전형적으로 컴퓨터로 판독가능한 명령어, 데이터 구조, 프로그램 모듈 또는 반송파나 다른 전송 메커니즘과 같은 변조된 데이터 신호의 다른 데이터를 구현하며 어떤 정보 전달 매체라도 포함할 수 있다. "변조된 데이터 신호"라는 용어는 하나 이상의 특징(characteristic set)을 가지거나 신호에 정보를 인코딩하는 방식으로 변형된 신호로서, 그 신호를 수신하는 장치의 구성이나 상태를 바꾸는 것을 의미한다. 예시로서, 통신 매체는 유선 네트워크나 직접-유선 접속부와 같은 유선 매체 및 음파, RF, 적외선 또는 다른 무선 매체와 같은 무선 매체를 포함하며, 이에 제한되지 않는다. 본 명세서에서 사용되는 컴퓨터로 판독가능한 매체라는 용어는 저장 매체 및 통신 매체 모두를 포함한다.The device 500 may also include communication interface (s) 512 that allow the device to communicate with other devices or networks. The communication connection (s) 512 is an example of a communication medium. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism, and may include any information delivery media. The term "modulated data signal" means a signal that has one or more characteristic sets or that is modified in such a way as to encode information in the signal, which changes the configuration or state of the device receiving the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection and wireless media such as acoustic, RF, infrared, or other wireless media. The term computer readable medium as used herein includes both storage media and communication media.

장치(500)는 디스플레이, 키보드, 마우스, 펜, 카메라, 터치 입력 장치 등 다양한 입력 장치(들)(514)를 포함할 수 있다. 디스플레이, 스피커, 프린터 등과 같은 출력 장치(들)(516) 역시 포함될 수 있다. 이들 장치 모두는 업계에 널리 알려져 있으며 본 명세서에서 길게 논의될 필요가 없다.The device 500 may include various input device (s) 514, such as a display, keyboard, mouse, pen, camera, touch input device, Output device (s) 516, such as a display, speaker, printer, etc., may also be included. All of these devices are well known in the art and need not be discussed here long.

위치-기반 개체의 순위를 매기는 기법은, 예컨대 컴퓨터 장치에 의해 실행되는 프로그램 모듈과 같은 컴퓨터로 실행가능한 명령어의 일반적 맥락에서 기술될 수 있다. 일반적으로, 프로그램 모듈은 특정한 과제를 수행하거나 특정한 유형의 추상 데이터는 구현하는 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조 등을 포함한다. 위치-기반 객체의 순위를 매기는 기법은 통신 네트워크를 통해 연결된 원격 프로세싱 장치에 의해 작업이 수행되는 분산 컴퓨팅 환경에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 메모리 저장 장치를 포함하는 로컬 및 원격 컴퓨터 저장 매체 모두에 위치할 수 있다. 게다가, 전술한 명령어들은 프로세서를 포함하거나 포함하지 않을 수 있는 하드웨어 논리 회로에 의해 일부 또는 전부가 구현될 수 있다.Techniques for ranking location-based entities can be described in the general context of computer-executable instructions, such as, for example, program modules executed by a computer device. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular types of abstract data. The technique of ranking location-based objects may be implemented in a distributed computing environment where tasks are performed by remote processing devices connected through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices. In addition, the above-described instructions may be implemented in whole or in part by a hardware logic circuit that may or may not include a processor.

본 명세서에 기술된 전술된 실시예들의 하나 또는 전부는 추가적인 혼성 실시예를 형성하기 위해 원하는 조합으로 사용될 수 있음이 주목되어야 한다. 비록 본 발명이 구조적 특징 및/또는 방법적 동작에 대해 특정되는 언어로 기술되었지만, 첨부된 청구항에 정의된 본 발명은 상술한 특징이나 동작에 반드시 제한되는 것은 아니다. 상술된 특징이나 동작은 청구항을 구현하는 예시적인 형태로서 개시된 것이다.It should be noted that one or all of the above-described embodiments described herein may be used in any desired combination to form additional hybrid embodiments. Although the invention has been described in language specific to structural features and / or methodical acts, the invention as defined in the appended claims is not necessarily limited to the features or acts described above. The above-described features and operations are disclosed as exemplary forms of implementing the claims.

Claims (20)

검색 쿼리에 응답하여 특정 지리적 영역 내의 위치-기반 개체들(location-related entities)의 순위를 매기는 컴퓨터로 구현되는 방법으로서,
주어진 유형, 특정 지리적 영역 내에서의 위치 및 현재 시간을 갖는 지리적 위치-기반 개체에 대한 쿼리를 수신하는 단계와,
상기 수신된 쿼리와 동일하거나 유사한 쿼리에 응답하여 상기 수신된 위치 근처의 사용자들에 의해 선택된 상기 수신된 주어진 유형을 갖는 상기 특정 지리적 영역 내의 위치-기반 개체들에 대한 모바일 컴퓨팅 장치의 모바일 검색 로그를, 상기 현재 시간을 포함하는 실시간대에서(in a real time window of time) 상기 수신된 쿼리를 이용하여 검색하는 단계와,
상기 현재 시간을 포함하는 실시간대에서 상기 수신된 쿼리와 동일하거나 유사한 쿼리에 응답하여 각각의 지리적 위치-기반 개체가 상기 모바일 검색 로그로부터 사용자들에 의해 선택된 횟수에 따라 상기 모바일 검색 로그로부터 사용자들에 의해 선택된 상기 특정 지리적 영역 내의 상기 지리적 위치-기반 개체들의 순위를 매기는 단계와,
상기 현재 시간을 포함하는 실시간대에서 사용자들에 의해 가장 빈번하게 선택된 상기 특정 지리적 영역 내의 상기 지리적 위치-기반 개체들의 순위가 매겨진 목록을 사용자에게 출력하는 단계
를 포함하는 컴퓨터로 구현되는 방법.
A computer-implemented method for ranking location-related entities in a particular geographic area in response to a search query,
Receiving a query for a geographic location-based entity having a given type, a location within a particular geographic area, and a current time;
In response to a query that is the same as or similar to the received query, a mobile search log of the mobile computing device for location-based entities in the particular geographic area with the received given type selected by users near the received location Retrieving, using the received query, a real time window of time including the current time;
In response to a query that is the same as or similar to the received query in the real-time band that includes the current time, each geo-location-based entity is allowed to send to the users from the mobile search log according to the number of times selected by the users from the mobile search log Ranking the geographic location-based entities within the specific geographic area selected by the geographic location-based entities;
Outputting to the user a ranked list of the geographical location-based entities within the particular geographical area most frequently selected by users in the real-time band including the current time
≪ / RTI >
제 1 항에 있어서,
상기 위치-기반 개체들의 순위가 매겨진 목록을 출력하기 전에, 상기 쿼리를 입력한 사용자의 시간 의존적인 사용자 선호도(time-dependent user preference)에 기초하여, 상기 위치-기반 개체들의 순위가 매겨진 목록에 대해 다시 순위를 매기는 단계를 더 포함하는
컴퓨터로 구현되는 방법.
The method according to claim 1,
Based on the time-dependent user preference of the user who entered the query, before outputting a ranked list of the location-based entities, Further comprising the step of re-ranking
A computer implemented method.
제 2 항에 있어서,
상기 사용자 선호도는 상기 사용자의 위치에 따라 변하는
컴퓨터로 구현되는 방법.
3. The method of claim 2,
The user preference may vary depending on the location of the user
A computer implemented method.
제 1 항에 있어서,
시간, 위치, 쿼리 및 쿼리 결과별로 사용자들을 그룹화하는 것에 의해 시간 의존적인 그룹 멤버쉽들(time-dependent group memberships)을 결정하는 단계를 더 포함하는
컴퓨터로 구현되는 방법.
The method according to claim 1,
Determining time-dependent group memberships by grouping users by time, location, query, and query result
A computer implemented method.
제 4 항에 있어서,
상기 모바일 검색 로그를 검색하기 이전에, 시간 의존적인 그룹 멤버쉽 선호도에 기초하여 상기 모바일 검색 로그를 필터링하는 단계를 더 포함하는
컴퓨터로 구현되는 방법.
5. The method of claim 4,
Further comprising filtering the mobile search log based on time-dependent group membership preferences prior to retrieving the mobile search log
A computer implemented method.
제 5 항에 있어서,
사용자가 속하는 그룹들은 상이한 시구간들 및 위치에 따라 변할 수 있는
컴퓨터로 구현되는 방법.
6. The method of claim 5,
The groups to which the user belongs can be varied according to different time periods and locations
A computer implemented method.
제 1 항에 있어서,
상기 실시간대는 상기 쿼리가 입력된 시간에 기초하여 선택되는
컴퓨터로 구현되는 방법.
The method according to claim 1,
The real time zone is selected based on the time at which the query was entered
A computer implemented method.
제 7 항에 있어서,
상기 실시간대 동안 순위가 매겨진 목록을 생성할 만큼 모바일 검색 로그 데이터가 존재하지 않는 경우, 상기 현재 시간과 연관된 상기 실시간대는 이전 날의 상기 입력된 시간과 동일한 시구간 내에 있도록 선택되는
컴퓨터로 구현되는 방법.
8. The method of claim 7,
If the mobile search log data does not exist to generate the ranked list in real time, the real time zone associated with the current time is selected to be within the same time zone as the input time of the previous day
A computer implemented method.
제 1 항에 있어서,
상기 지리적 위치-기반 개체들의 순위를 매기는 단계는 실시간으로 일어나는
컴퓨터로 구현되는 방법.
The method according to claim 1,
The step of ranking the geographical location-based entities comprises:
A computer implemented method.
위치-기반 개체들의 순위를 매기는 컴퓨터로 구현되는 방법으로서,
현재 시간 및 특정 지리적 영역 내의 지리적 위치에서 위치-기반 개체 유형에 대한 쿼리를 수신하는 단계와,
상기 수신된 쿼리와 연관되고, 또한 쿼리 볼륨에 기초하여 결정되며 상기 현재 시간에 인접한 시간대에 국한된 모바일 컴퓨팅 장치의 모바일 검색 로그를 수신하는 단계와,
상기 현재 시간에 인접한 시간대에서 상기 수신된 쿼리와 동일하거나 유사한 쿼리에 응답하여 입력 위치 근처에서 사용자들에 의해 상기 모바일 검색 로그로부터 선택된 상기 수신된 위치-기반 개체 유형을 갖는 상기 특정 지리적 영역 내의 위치-기반 개체들에 대한 상기 모바일 검색 로그를, 상기 현재 시간에 인접한 시간대에서 상기 수신된 쿼리를 이용하여 검색하는 단계와,
상기 현재 시간에 인접한 시간대에서 각각의 위치-기반 개체 유형이 상기 수신된 모바일 검색 로그로부터 사용자들에 의해 선택된 횟수에 따라 사용자들에 의해 선택된 상기 특정 지리적 영역 내의 상기 위치-기반 개체들의 순위를 매기는 단계와,
상기 현재 시간에 인접한 시간대에서 사용자들에 의해 가장 빈번하게 선택된 상기 특정 지리적 영역 내의 상기 위치-기반 개체들의 순위가 매겨진 목록을 출력하는 단계
를 포함하는 컴퓨터로 구현되는 방법.
A computer-implemented method for ranking location-based entities,
Receiving a query for a location-based entity type at a current time and a geographic location within a particular geographic area,
Receiving a mobile search log of a mobile computing device associated with the received query and also based on a query volume and localized to a time zone adjacent to the current time;
A location within the particular geographic area having the received location-based entity type selected from the mobile search log by users near the input location in response to a query the same or similar to the received query at a time zone adjacent to the current time, Retrieving the mobile search log for base entities using the received query at a time zone adjacent to the current time;
Wherein each location-based entity type in the time zone adjacent to the current time ranks the location-based entities in the particular geographic area selected by users according to the number of times selected by the users from the received mobile search log Step,
Outputting a ranked list of said location-based entities in said particular geographic area most frequently selected by users in the time zone adjacent to said current time
≪ / RTI >
제 10 항에 있어서,
상기 쿼리를 입력한 사용자의 시간 의존적인 사용자 선호도에 기초하여, 상기 위치-기반 개체들의 순위가 매겨진 목록에 대해 다시 순위를 매기는 단계를 더 포함하는
컴퓨터로 구현되는 방법.
11. The method of claim 10,
Further comprising ranking the ranked list of the location-based entities based on a time-dependent user preference of the user who entered the query
A computer implemented method.
제 10 항에 있어서,
상기 모바일 검색 로그를 검색하기 이전에, 쿼리를 입력한 상기 사용자가 속하는 그룹의 시간 및 위치 의존적인 그룹 선호도에 기초하여 상기 모바일 검색 로그를 필터링하는 단계를 더 포함하는
컴퓨터로 구현되는 방법.
11. The method of claim 10,
Further comprising filtering the mobile search log based on time and location-dependent group preferences of the group to which the user who entered the query belongs before searching the mobile search log
A computer implemented method.
제 10 항에 있어서,
상기 쿼리를 입력한 사용자가 상기 순위가 매겨진 목록으로부터 위치-기반 개체를 선택하는 단계와,
상기 쿼리에 응답하여 상기 사용자가 상기 선택되는 위치-기반 개체를 선택하였음을 보여주기 위해 상기 모바일 검색 로그를 업데이트하는 단계
를 더 포함하는 컴퓨터로 구현되는 방법.
11. The method of claim 10,
Selecting a location-based entity from the ranked list by a user entering the query;
Updating the mobile search log to show that the user has selected the selected location-based entity in response to the query
Lt; RTI ID = 0.0 > 1, < / RTI >
제 10 항에 있어서,
상기 쿼리를 입력한 사용자가 상기 순위가 매겨진 상기 위치-기반 개체들의 목록으로부터 위치-기반 개체를 선택하는 단계와,
상기 사용자에 의해 선택된 상기 위치-기반 개체를 반영하기 위해 상기 사용자의 시간 의존적인 사용자 선호도를 업데이트하는 단계
를 더 포함하는 컴퓨터로 구현되는 방법.
11. The method of claim 10,
Selecting a location-based entity from the ranked list of ranked location-based entities by the user who entered the query;
Updating the user's time-dependent user affinity to reflect the location-based entity selected by the user
Lt; RTI ID = 0.0 > 1, < / RTI >
제 14 항에 있어서,
상기 업데이트된 시간 의존적인 사용자 선호도는
상기 사용자가 보통 방문하는 위치,
상기 사용자가 방문하는 위치의 유형, 및
상기 사용자가 소정의 위치를 방문하기 위해 이동할 용의가 있는 거리
를 포함하는 방법.
15. The method of claim 14,
The updated time-dependent user preference
A location that the user normally visits,
The type of location the user visits, and
A distance at which the user is allowed to move to visit a predetermined position
≪ / RTI >
주어진 시간에서 주어진 위치 주변의 인기 있는 위치-기반 개체를 결정하는 시스템으로서,
컴퓨팅 장치와,
상기 컴퓨팅 장치에 의해 실행가능한 프로그램 모듈을 포함하는 컴퓨터 프로그램을 포함하되,
상기 컴퓨팅 장치는 상기 컴퓨터 프로그램의 프로그램 모듈에 의해,
현재 시간에서 특정 지리적 영역 내의 주어진 위치에서 지리적 위치-기반 개체의 유형에 대해 모바일 컴퓨팅 장치의 모바일 검색 로그를 검색하기 위한 쿼리를 수신하는 동작과,
상기 쿼리를 입력한 사용자의 그룹 멤버쉽에 기초하여 상기 모바일 검색 로그를 필터링하는 동작과,
상기 현재 시간에 인접한 시간대에서 상기 수신된 쿼리와 동일하거나 유사한 쿼리에 응답하여 입력 위치 근처에서 사용자들에 의해 상기 필터링된 모바일 검색 로그로부터 선택된 상기 주어진 위치에서의 지리적 위치-기반 개체의 상기 유형에 대해 상기 필터링된 모바일 검색 로그를 검색하는 동작과,
입력 쿼리와 동일하거나 유사한 쿼리에 응답하여 상기 현재 시간에 인접한 시간대에서 각각의 지리적 위치-기반 개체가 상기 필터링된 모바일 검색 로그로부터 선택된 횟수에 따라 상기 지리적 영역 내의 상기 각각의 지리적 위치-기반 개체들의 순위를 매기는 동작과,
상기 현재 시간을 포함하는 시간대에서 사용자들에 의해 가장 빈번하게 선택된 상기 지리적 영역 내의 지리적 위치-기반 개체들의 순위가 매겨진 목록을 출력하는 동작을 수행하도록 지시를 받는,
주어진 시간에서 주어진 위치 주변의 인기 있는 위치-기반 개체를 결정하는 시스템.
A system for determining a popular location-based entity around a given location at a given time,
A computing device,
A computer program comprising a program module executable by the computing device,
The computing device may be programmed by a program module of the computer program,
Receiving a query for retrieving a mobile search log of a mobile computing device for a type of geographical location-based entity at a given location within a particular geographical area at a current time;
Filtering the mobile search log based on a group membership of a user who has entered the query;
For the type of geographic location-based entity at the given location selected from the filtered mobile search log by users near the input location in response to a query that is the same as or similar to the received query at a time zone adjacent to the current time Retrieving the filtered mobile search log;
Based on the number of times selected from the filtered mobile search log in a time zone adjacent to the current time in response to a query that is the same as or similar to the input query, And
Receiving, by the user, a ranked list of geo-location-based entities in the geo-area most frequently selected by users in a time zone including the current time,
A system for determining a popular location-based entity around a given location at a given time.
제 16 항에 있어서,
하루 중 시간에 따라 변하는 상기 쿼리를 입력한 사용자의 선호도에 따라 상기 순위가 매겨진 목록에 대해 다시 순위를 매기는 모듈을 더 포함하는
주어진 시간에서 주어진 위치 주변의 인기 있는 위치-기반 개체를 결정하는 시스템.
17. The method of claim 16,
Further comprising a module for re-ranking the ranked list according to a preference of a user who entered the query that varies with time during the day
A system for determining a popular location-based entity around a given location at a given time.
제 16 항에 있어서,
하루 중 시간에 따라 변하는 그룹 선호도에 기초하여 상기 순위가 매겨진 목록에 대해 다시 순위를 매기는 모듈을 더 포함하는
주어진 시간에서 주어진 위치 주변의 인기 있는 위치-기반 개체를 결정하는 시스템.
17. The method of claim 16,
Further comprising a module for re-ranking the ranked list based on time-of-day time-varying group preferences
A system for determining a popular location-based entity around a given location at a given time.
제 16 항에 있어서,
전화 로그 데이터를 포함하는 상기 모바일 검색 로그 데이터를 증가시키기 위해 추가의 데이터 소스를 사용하는 모듈을 더 포함하는
주어진 시간에서 주어진 위치 주변의 인기 있는 위치-기반 개체를 결정하는 시스템.
17. The method of claim 16,
Further comprising a module for using an additional data source to increase said mobile search log data comprising telephone log data
A system for determining a popular location-based entity around a given location at a given time.
제 16 항에 있어서,
소셜 네트워크 데이터를 포함하는 상기 모바일 검색 로그 데이터를 증가시키기 위해 추가의 데이터 소스를 사용하는 모듈을 더 포함하는
주어진 시간에서 주어진 위치 주변의 인기 있는 위치-기반 개체를 결정하는 시스템.
17. The method of claim 16,
Further comprising a module that uses an additional data source to increase the mobile search log data comprising social network data
A system for determining a popular location-based entity around a given location at a given time.
KR1020137014146A 2010-12-01 2011-12-01 Real-time personalized recommendation of location-related entities KR101810279B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/958,320 2010-12-01
US12/958,320 US9152726B2 (en) 2010-12-01 2010-12-01 Real-time personalized recommendation of location-related entities
PCT/US2011/062872 WO2012075273A2 (en) 2010-12-01 2011-12-01 Real-time personalized recommendation of location-related entities

Publications (2)

Publication Number Publication Date
KR20130130731A KR20130130731A (en) 2013-12-02
KR101810279B1 true KR101810279B1 (en) 2018-01-18

Family

ID=46163211

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137014146A KR101810279B1 (en) 2010-12-01 2011-12-01 Real-time personalized recommendation of location-related entities

Country Status (6)

Country Link
US (1) US9152726B2 (en)
EP (1) EP2646973A4 (en)
KR (1) KR101810279B1 (en)
CN (1) CN102591911B (en)
HK (1) HK1171541A1 (en)
WO (1) WO2012075273A2 (en)

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008043082A2 (en) * 2006-10-05 2008-04-10 Splunk Inc. Time series search engine
US8838621B1 (en) * 2011-03-01 2014-09-16 Google Inc. Location query processing
WO2012121950A1 (en) * 2011-03-04 2012-09-13 Walker Tristan System and method for managing and redeeming offers with a location-based service
US9015152B1 (en) * 2011-06-01 2015-04-21 Google Inc. Managing search results
US9026516B1 (en) * 2011-08-09 2015-05-05 Google Inc. Interest-based keywords for prominent entity and by location
US8713004B1 (en) * 2011-08-26 2014-04-29 Google Inc. Method and system for prioritizing points of interest for display in a map using category score
US10546306B2 (en) 2011-09-07 2020-01-28 Elwha Llc Computational systems and methods for regulating information flow during interactions
US9690853B2 (en) 2011-09-07 2017-06-27 Elwha Llc Computational systems and methods for regulating information flow during interactions
US10523618B2 (en) 2011-09-07 2019-12-31 Elwha Llc Computational systems and methods for identifying a communications partner
US9432190B2 (en) 2011-09-07 2016-08-30 Elwha Llc Computational systems and methods for double-encrypting data for subsequent anonymous storage
US9167099B2 (en) 2011-09-07 2015-10-20 Elwha Llc Computational systems and methods for identifying a communications partner
US9159055B2 (en) 2011-09-07 2015-10-13 Elwha Llc Computational systems and methods for identifying a communications partner
US10606989B2 (en) 2011-09-07 2020-03-31 Elwha Llc Computational systems and methods for verifying personal information during transactions
US9491146B2 (en) 2011-09-07 2016-11-08 Elwha Llc Computational systems and methods for encrypting data for anonymous storage
US10546295B2 (en) 2011-09-07 2020-01-28 Elwha Llc Computational systems and methods for regulating information flow during interactions
US9195848B2 (en) 2011-09-07 2015-11-24 Elwha, Llc Computational systems and methods for anonymized storage of double-encrypted data
US9141977B2 (en) * 2011-09-07 2015-09-22 Elwha Llc Computational systems and methods for disambiguating search terms corresponding to network members
US9928485B2 (en) 2011-09-07 2018-03-27 Elwha Llc Computational systems and methods for regulating information flow during interactions
US9747561B2 (en) 2011-09-07 2017-08-29 Elwha Llc Computational systems and methods for linking users of devices
US9043260B2 (en) 2012-03-16 2015-05-26 Nokia Technologies Oy Method and apparatus for contextual content suggestion
WO2013192586A2 (en) * 2012-06-22 2013-12-27 Google Inc. Inferring user interests
KR101979401B1 (en) 2012-06-22 2019-05-16 구글 엘엘씨 Ranking nearby destinations based on visit likelihoods and predicting future visits to places from location history
US10977312B2 (en) 2012-09-21 2021-04-13 Google Llc Apparatus and method for inferring an origin
CN103838726B (en) * 2012-11-20 2017-10-27 百度在线网络技术(北京)有限公司 Menu based on map recommends method, system and GIS server
US9111011B2 (en) 2012-12-10 2015-08-18 Google Inc. Local query suggestions
WO2014100605A1 (en) 2012-12-21 2014-06-26 Highspot, Inc. Interest graph-powered search
US10204170B2 (en) 2012-12-21 2019-02-12 Highspot, Inc. News feed
US9727618B2 (en) 2012-12-21 2017-08-08 Highspot, Inc. Interest graph-powered feed
CN103902604B (en) * 2012-12-28 2020-11-10 Ge医疗系统环球技术有限公司 Method and apparatus for searching and displaying scatter log
US9936341B1 (en) 2013-02-15 2018-04-03 United Parcel Service Of America, Inc. Geographic representations of geographic areas
US10055418B2 (en) 2014-03-14 2018-08-21 Highspot, Inc. Narrowing information search results for presentation to a user
US10346357B2 (en) 2013-04-30 2019-07-09 Splunk Inc. Processing of performance data and structure data from an information technology environment
US10997191B2 (en) 2013-04-30 2021-05-04 Splunk Inc. Query-triggered processing of performance data and log data from an information technology environment
US10353957B2 (en) 2013-04-30 2019-07-16 Splunk Inc. Processing of performance data and raw log data from an information technology environment
US10614132B2 (en) 2013-04-30 2020-04-07 Splunk Inc. GUI-triggered processing of performance data and log data from an information technology environment
US10019496B2 (en) 2013-04-30 2018-07-10 Splunk Inc. Processing of performance data and log data from an information technology environment by using diverse data stores
US10225136B2 (en) 2013-04-30 2019-03-05 Splunk Inc. Processing of log data and performance data obtained via an application programming interface (API)
US10318541B2 (en) 2013-04-30 2019-06-11 Splunk Inc. Correlating log data with performance measurements having a specified relationship to a threshold value
US20150032543A1 (en) * 2013-07-25 2015-01-29 Mastercard International Incorporated Systems and methods for recommending merchants
US9805057B2 (en) * 2013-10-15 2017-10-31 Google Inc. Automatic generation of geographic imagery tours
US9558242B2 (en) * 2013-10-15 2017-01-31 Google Inc. Social where next suggestion
US9262541B2 (en) 2013-10-18 2016-02-16 Google Inc. Distance based search ranking demotion
US9710434B2 (en) 2013-12-10 2017-07-18 Highspot, Inc. Skim preview
US9618343B2 (en) 2013-12-12 2017-04-11 Microsoft Technology Licensing, Llc Predicted travel intent
CN103631954B (en) * 2013-12-13 2016-08-31 百度在线网络技术(北京)有限公司 Personalized recommendation method and device
US20150269152A1 (en) * 2014-03-18 2015-09-24 Microsoft Technology Licensing, Llc Recommendation ranking based on locational relevance
KR102216049B1 (en) * 2014-04-21 2021-02-15 삼성전자주식회사 System and method for semantic labeling
US10303725B2 (en) * 2014-05-01 2019-05-28 Airbnb, Inc. Re-ranking search results for location refining and diversity
US10474671B2 (en) 2014-05-12 2019-11-12 Google Llc Interpreting user queries based on nearby locations
EP3143516A1 (en) * 2014-05-12 2017-03-22 Google, Inc. Disambiguation of queries implicit to multiple entities
CN104063457A (en) * 2014-06-25 2014-09-24 北京智谷睿拓技术服务有限公司 Information communication method, system and terminal
US10089326B2 (en) * 2014-07-16 2018-10-02 Google Llc Generating textual summary about physical location based on computing interactions pertaining to physical location
WO2016028696A1 (en) * 2014-08-20 2016-02-25 Google Inc. Interpreting user queries based on nearby locations
CN106537381B (en) 2014-08-20 2019-08-20 谷歌有限责任公司 User query are explained based on device orient
US20160063410A1 (en) * 2014-08-28 2016-03-03 Google Inc. Systems and Methods for Task Assistance by Correlating Task Terms with Specific Entities
US20160132903A1 (en) * 2014-11-11 2016-05-12 Tata Consultancy Services Limited Identifying an industry specific e-maven
KR101620779B1 (en) * 2015-01-08 2016-05-17 네이버 주식회사 Method and system for providing retargeting search services
US9984310B2 (en) * 2015-01-23 2018-05-29 Highspot, Inc. Systems and methods for identifying semantically and visually related content
EP3062279A1 (en) 2015-02-27 2016-08-31 BBVA Data & Analytics, S.L.U. Method and system for generation of parameters
US10503764B2 (en) * 2015-06-01 2019-12-10 Oath Inc. Location-awareness search assistance system and method
CN105760466A (en) * 2016-02-05 2016-07-13 廖炜恒 Social platform data reading method, device and system
CN106331145A (en) * 2016-09-05 2017-01-11 努比亚技术有限公司 Information recommendation method, device and system
US10289625B2 (en) 2016-09-15 2019-05-14 Google Llc Providing context facts
CN108509467B (en) * 2017-05-04 2021-11-26 宁波数联软件有限公司 User behavior log-based maritime quotation recommendation system and method
CN108256070B (en) * 2018-01-17 2022-07-15 北京百度网讯科技有限公司 Method and apparatus for generating information
US11651151B2 (en) 2018-12-03 2023-05-16 Chaz Tanase Automated multi-source website hybridization using streaming data
CN110032696A (en) * 2019-04-15 2019-07-19 拉扎斯网络科技(上海)有限公司 Methods of exhibiting, device, electronic equipment and computer readable storage medium
CN110058944A (en) * 2019-04-15 2019-07-26 拉扎斯网络科技(上海)有限公司 Data processing method, device, electronic equipment and computer readable storage medium
CN111080339B (en) * 2019-11-18 2024-01-30 口口相传(北京)网络技术有限公司 Scene-based category preference data generation method and device
CN112667895A (en) * 2020-12-28 2021-04-16 百果园技术(新加坡)有限公司 Method, device and equipment for determining recommended item queue and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030200192A1 (en) 2002-04-18 2003-10-23 Bell Brian L. Method of organizing information into topical, temporal, and location associations for organizing, selecting, and distributing information
US20080256444A1 (en) 2007-04-13 2008-10-16 Microsoft Corporation Internet Visualization System and Related User Interfaces
US20100174703A1 (en) 2009-01-07 2010-07-08 Microsoft Corporation Relevance improvements for implicit local queries

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6493702B1 (en) 1999-05-05 2002-12-10 Xerox Corporation System and method for searching and recommending documents in a collection using share bookmarks
US7089237B2 (en) 2001-01-26 2006-08-08 Google, Inc. Interface and system for providing persistent contextual relevance for commerce activities in a networked environment
US7599911B2 (en) 2002-08-05 2009-10-06 Yahoo! Inc. Method and apparatus for search ranking using human input and automated ranking
US20040260680A1 (en) * 2003-06-19 2004-12-23 International Business Machines Corporation Personalized indexing and searching for information in a distributed data processing system
US7606798B2 (en) 2003-09-22 2009-10-20 Google Inc. Methods and systems for improving a search ranking using location awareness
US7257570B2 (en) 2003-11-13 2007-08-14 Yahoo! Inc. Geographical location extraction
US20050149399A1 (en) * 2003-12-18 2005-07-07 Fuji Photo Film Co., Ltd. Service server and service method
US20060129533A1 (en) 2004-12-15 2006-06-15 Xerox Corporation Personalized web search method
US8688671B2 (en) * 2005-09-14 2014-04-01 Millennial Media Managing sponsored content based on geographic region
US7747598B2 (en) 2006-01-27 2010-06-29 Google Inc. Geographic coding for location search queries
CN101025737B (en) 2006-02-22 2011-08-17 王东 Attention degree based same source information search engine aggregation display method
US7984049B2 (en) 2006-10-18 2011-07-19 Google Inc. Generic online ranking system and method suitable for syndication
US8244585B1 (en) * 2007-02-14 2012-08-14 SuperMedia LLC Optimized bidding for pay-per-click listings
US20080222119A1 (en) 2007-03-08 2008-09-11 Microsoft Corporation Detecting a user's location, local intent and travel intent from search queries
US8195655B2 (en) 2007-06-05 2012-06-05 Microsoft Corporation Finding related entity results for search queries
US7945566B2 (en) * 2007-08-10 2011-05-17 Sap Ag System and method of information filtering
WO2009086194A2 (en) * 2007-12-19 2009-07-09 Nevins David C Apparatus, system, and method for organizing information by time and place
JP2009282690A (en) * 2008-05-21 2009-12-03 Toshiba Corp Information search method and information processing apparatus
US20100057772A1 (en) * 2008-08-29 2010-03-04 Microsoft Corporation Automatic determination of an entity's searchable social network using role-based inferences
US20110082880A1 (en) * 2009-10-07 2011-04-07 Verizon Patent And Licensing, Inc. System for and method of searching content
US8538973B1 (en) * 2010-04-05 2013-09-17 Google Inc. Directions-based ranking of places returned by local search queries
US8489625B2 (en) * 2010-11-29 2013-07-16 Microsoft Corporation Mobile query suggestions with time-location awareness
US20130046609A1 (en) * 2011-08-19 2013-02-21 Bank Of America Corporation User-driven reverse auctions systems and methods

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030200192A1 (en) 2002-04-18 2003-10-23 Bell Brian L. Method of organizing information into topical, temporal, and location associations for organizing, selecting, and distributing information
US20080256444A1 (en) 2007-04-13 2008-10-16 Microsoft Corporation Internet Visualization System and Related User Interfaces
US20100174703A1 (en) 2009-01-07 2010-07-08 Microsoft Corporation Relevance improvements for implicit local queries

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Detecting dominant locations from search queries", PROCEEDINGS OF THE 28TH ANNUAL INTERNATIONAL ACM SIGIR CONFERENCE, 2005.

Also Published As

Publication number Publication date
CN102591911B (en) 2016-01-06
CN102591911A (en) 2012-07-18
EP2646973A2 (en) 2013-10-09
EP2646973A4 (en) 2016-06-29
WO2012075273A3 (en) 2012-08-02
HK1171541A1 (en) 2013-03-28
KR20130130731A (en) 2013-12-02
US20120143859A1 (en) 2012-06-07
US9152726B2 (en) 2015-10-06
WO2012075273A2 (en) 2012-06-07

Similar Documents

Publication Publication Date Title
KR101810279B1 (en) Real-time personalized recommendation of location-related entities
US11727071B1 (en) Selecting, ranking, and/or presenting microsite content
CN110476176B (en) User objective assistance techniques
JP6450398B2 (en) Power management for mobile clients using location-based services
US9183504B2 (en) System and method for providing recommendations with a location-based service
US8886584B1 (en) Recommendation of media content items based on geolocation and venue
US20130097246A1 (en) Multilocal implicit social networking
Zeng et al. A restaurant recommender system based on user preference and location in mobile environment
US8370062B1 (en) Switching between location contexts
US9275154B2 (en) Context-sensitive point of interest retrieval
US9749274B1 (en) Associating an event attribute with a user based on a group of one or more electronic messages associated with the user
US20140089296A1 (en) Methods and Systems of Aggregating Information of Social Networks Based on Changing Geographical Locations of a Computing Device Via a Network
US11049199B2 (en) Contextual trip itinerary generator
US11490220B2 (en) System and method for accurately and efficiently generating ambient point-of-interest recommendations
US20130073422A1 (en) System and method for providing recommendations with a location-based service
WO2013134451A1 (en) Methods and systems of aggregating information of social networks based on changing geographical locations of a computing device via a network
US20140089343A1 (en) Methods and Systems for Monitoring and Controlling Social Network Communications Over a Network at a Secure Location
US9418076B2 (en) System and method for determining interests from location data
EP3369007A1 (en) Semantic location layer for user-related activity
US20200389757A1 (en) Targeted content delivery
Waga et al. Context aware recommendation of location-based data
US10506383B2 (en) Location prediction using wireless signals on online social networks

Legal Events

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