[go: up one dir, main page]

KR100985450B1 - Local search - Google Patents

Local search Download PDF

Info

Publication number
KR100985450B1
KR100985450B1 KR1020087007591A KR20087007591A KR100985450B1 KR 100985450 B1 KR100985450 B1 KR 100985450B1 KR 1020087007591 A KR1020087007591 A KR 1020087007591A KR 20087007591 A KR20087007591 A KR 20087007591A KR 100985450 B1 KR100985450 B1 KR 100985450B1
Authority
KR
South Korea
Prior art keywords
address
local search
delete delete
map
location
Prior art date
Application number
KR1020087007591A
Other languages
Korean (ko)
Other versions
KR20080040044A (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 KR20080040044A publication Critical patent/KR20080040044A/en
Application granted granted Critical
Publication of KR100985450B1 publication Critical patent/KR100985450B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • Finance (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Engineering & Computer Science (AREA)
  • Game Theory and Decision Science (AREA)
  • Data Mining & Analysis (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Navigation (AREA)
  • Instructional Devices (AREA)

Abstract

본 발명의 시스템은, 지역 검색 질의에 대한 응답으로서 옐로우 페이지 데이터, 제3자 지도 제공자 데이터, 및 문서 데이터를 수신하고, 이들 데이터를 지오코딩 처리해서 지리적 식별자를 할당하고 지역 검색 질의 내의 하나 이상의 주소와 매칭시킨다. 본 발명의 시스템은 또한, 지역 검색 질의에 대응하는 업소 정보 및 위치 정보를 식별하기 위하여 지오코딩 처리된 데이터를 색인화한다. 본 발명의 시스템은 또한, 색인화된 데이터에 기초하여 지도와 지역 검색 결과를 제공한다. The system of the present invention receives yellow page data, third-party map provider data, and document data in response to a local search query, and geocodes these data to assign a geographical identifier and one or more addresses in the local search query. Match with. The system of the present invention also indexes the geocoded data to identify business information and location information corresponding to a local search query. The system of the present invention also provides a map and local search results based on the indexed data.

Description

지역 검색{LOCAL SEARCH}Local search {LOCAL SEARCH}

본 발명은 정보 검색에 관한 것으로서, 더 구체적으로는 지역 검색 결과를 식별하는 것에 관한 것이다. The present invention relates to information retrieval, and more particularly to identifying local search results.

월드 와이드 웹[간단히, "웹(web)"이라 한다]은 방대한 양의 정보를 포함하고 있다. 하지만, 이러한 방대한 양의 정보 중에서 원하는 부분을 찾아내는 것은 상당한 노력을 필요로 할 것이다. 이러한 문제는, 웹상에서의 정보의 양과 웹 검색의 경험이 없는 사용자의 수가 급격히 증가함에 따라, 복잡하고 번거롭게 되고 있다. The World Wide Web (simply referred to as the "web") contains a vast amount of information. However, finding the desired portion of this vast amount of information will require considerable effort. This problem is complicated and cumbersome as the amount of information on the web and the number of users without the experience of web searching increase rapidly.

검색 시스템은, 하이퍼링크(hyperlinks)를, 사용자가 관심을 갖는 웹페이지(web pages)로 반환하는(return) 시도를 행한다. 일반적으로, 검색 시스템은, 사용자가 입력한 검색어("검색 질의"라고 한다)에 대해 사용자가 갖는 관심에 대한 판정(determination)에 기반을 두고 있다. 검색 시스템의 목적은, 검색 질의에 기초하여, 높은 품질을 가지며 적절하게 관련된 검색 결과(예컨대, 웹페이지)에 대한 링크(link)를 사용자에게 제공하는 것이다. 통상적으로, 검색 시스템은, 검색 질의 내의 검색어를 미리 기억된 웹페이지의 코퍼스(corpus: 말뭉치)에 매칭시키는 것에 의해 작업을 완수한다. 사용자의 검색어를 포함하는 웹페이지는, "히 트"(hit: 적중) 또는 "검색 결과"라고 할 수 있으며, 사용자에게 링크로서 제공될 수 있다. The search system attempts to return hyperlinks to web pages of interest to the user. In general, a search system is based on a determination of the user's interest in a search term entered by the user (called a "search query"). The purpose of a search system is to provide a user with links to search results (eg, web pages) of high quality and appropriately based on the search query. Typically, a search system completes a task by matching a search term in a search query to a corpus of web pages previously stored. The web page containing the user's search term may be referred to as a "hit" or a "search result" and may be provided as a link to the user.

지역 검색 시스템(local search systems)은 특정의 지리적인 영역 내의 관련 웹 페이지 및/또는 업소 목록(business listings)을 제공하는 시도를 행한다. 몇몇 국가에서는, 어떤 업소에 대해 상세한 주소 정보를 사용할 수 없다. 따라서, 지역 검색을 수행하는 것이 어려워질 수 있다. Local search systems attempt to provide relevant web pages and / or business listings within a particular geographic area. In some countries, detailed address information may not be available for certain businesses. Thus, it may be difficult to perform a local search.

본 발명의 특징에 의하면, 본 발명의 방법은, 지역 검색 질의에 응답하여, 옐로우 페이지 데이터, 제3자 지도 제공자 데이터, 및 문서 데이터를 수신하는 단계와, 옐로우 페이지 데이터, 제3자 지도 제공자 데이터, 및 문서 데이터 중의 하나 이상을 지오코딩(geocoding)해서, 지리적 식별자(geographic identifier)를 지역 검색 질의 내의 하나 이상의 주소에 할당하고, 지역 검색 질의 내의 하나 이상의 주소와 매칭시키는 지오코딩 단계를 포함한다. 본 발명의 방법은 또한, 지역 검색 질의에 대응하는 업소 정보(business information) 및 위치 정보를 식별하기 위하여 지오코딩된 데이터를 색인화(indexing)하는 단계와, 식별된 업소 정보 및 위치 정보에 기초하여 지역 검색 결과와 제3자 지도를 제공하는 단계를 포함한다. According to a feature of the invention, the method of the invention comprises the steps of: receiving, in response to a local search query, yellow page data, third party map provider data, and document data, yellow page data, third party map provider data; And geocoding one or more of the document data, assigning a geographic identifier to one or more addresses in the local search query, and matching the one or more addresses in the local search query. The method also includes indexing the geocoded data to identify business information and location information corresponding to a local search query, and based on the identified business information and location information. Providing search results and third-party maps.

다른 특징에 의하면, 지역 검색 질의에 기초하여 지오코딩하는 방법은, 제3자 지도 제공자 데이터 및 옐로우 페이지 데이터를 수신하는 단계와, 지역 검색 질의에 기초하여 주소를 생성하는 단계와, 주소에 대해 파싱 처리를 행하는 단계와, 주소 내에서 최장 매칭 프리픽스를 찾아서 주소의 적어도 일부분을 식별해내는 단계와, 주소 내에 조합(combination)을 찾아서 주소가 맞는지 확인하는 단계를 포함한다. According to another aspect, a method of geocoding based on a local search query includes receiving third party map provider data and yellow page data, generating an address based on a local search query, and parsing the address. Processing, identifying at least a portion of the address by finding the longest matching prefix in the address, and finding a combination within the address to verify that the address is correct.

다른 특징에 의하면, 지역 검색 질의에 기초하여 색인화하는 방법은, 옐로우 페이지 데이터를 미리 정해진 포맷으로 전처리하는 단계와, 문서 데이터로부터 업소 정보를 추출하는 단계와, 업소 정보를 레포지토리에 저장하는 단계와, 제3자 지도 제공자 데이터로부터 주소 정보를 색인화하는 단계를 포함한다. 본 방법은 또한, 옐로우 페이지 데이터와 제3자 지도 제공자 데이터를 클러스터링(clustering)하는 단계와, 문서 데이터 내의 발췌 부분(snippets)을 강조하는 단계를 포함한다. 지점 위치(point location)의 경우, 본 방법은 지역 검색 질의에 대한 검색 거리를 미리 정해진 거리로 설정하는 단계를 포함한다. 경계 영역 위치(bound location)의 경우, 본 방법은, 검색 거리를 경계 영역 위치의 중심으로부터 경계 영역 위치의 코너까지의 근사적인 최대 거리로 설정하는 단계를 포함한다. According to another aspect, a method of indexing based on a local search query includes: preprocessing yellow page data in a predetermined format, extracting business information from document data, storing the business information in a repository, Indexing the address information from the third party map provider data. The method also includes clustering yellow page data and third party map provider data, and highlighting snippets in the document data. In the case of point location, the method includes setting a search distance for the local search query to a predetermined distance. For bound location, the method includes setting the search distance to an approximate maximum distance from the center of the border area location to the corner of the border area location.

다른 특징에 의하면, 본 발명의 방법은, 지역 검색 질의에 관련된 동의어 리스트를 작성하는 단계와, 지역 검색 질의를 재작성해서 질의를 확장하는 단계와, 확장된 질의에 기초하여 지역 검색 결과를 생성하는 단계와, 지역 검색 결과에 기초하여 제3자 지도 제공자 데이터로부터 지도를 획득하는 단계와, 지역 검색 결과에 관련된 지리 정보에 기초하여 광고를 만드는 단계를 포함한다. According to another aspect, the method of the present invention comprises the steps of creating a synonym list related to a local search query, rewriting the local search query to expand the query, and generating a local search result based on the expanded query. Obtaining a map from third-party map provider data based on the local search results, and creating an advertisement based on geographic information related to the local search results.

다른 특징에 의하면, 본 발명의 시스템은, 제3자 지도 제공자 데이터, 옐로우 페이지 데이터 및 문서 데이터를 수신하고, 옐로우 페이지 데이터를 전처리하여 업소 정보를 결정하며, 문서 데이터로부터 정보를 추출하고, 지역 검색 질의 내의 위치 정보와 제3자 지도 제공자 데이터의 인덱스 주소 데이터를 식별하기 위한 인덱서(indexer)를 포함한다. 본 발명의 시스템은 또한, 인덱서로부터 정보를 수신하고 지리적 식별자를 할당하기 위한 지오코더(geocoder)와, 지오코더로부터 정보를 수신하고, 지역 검색 질의를 재작성하며, 제3자 지도 제공자 데이터로부터 지도를 획득하고, 지역 검색 질의에 기초하여 지역 검색 결과를 생성하기 위한 프런트 엔드 서버(front end server)를 포함한다. According to another feature, the system of the present invention receives third-party map provider data, yellow page data and document data, preprocesses the yellow page data to determine business information, extracts information from the document data, and retrieves a local search. An indexer for identifying the location information in the query and the index address data of the third party map provider data. The system also includes a geocoder for receiving information from the indexer and assigning a geographic identifier, receiving information from the geocoder, rewriting local search queries, and mapping from third-party map provider data. And a front end server for generating a local search result based on the local search query.

또 다른 특징에 의하면, 본 발명의 시스템은, 지역 검색 질의에 응답하여, 옐로우 페이지 데이터, 제3자 지도 제공자 데이터, 및 문서 데이터를 수신하기 위한 수단과, 옐로우 페이지 데이터, 제3자 지도 제공자 데이터, 및 문서 데이터 중의 하나 이상을 지오코딩(geocoding)해서, 지리적 식별자(geographic identifier)를 지역 검색 질의 내의 하나 이상의 주소에 할당하고, 지역 검색 질의 내의 하나 이상의 주소와 매칭시키는 지오코딩 수단을 포함한다. 본 발명의 시스템은 또한, 지역 검색 질의에 대응하는 업소 정보(business information) 및 위치 정보를 식별하기 위하여 지오코딩된 데이터를 색인화(indexing)하는 수단; 및 식별된 업소 정보 및 위치 정보에 기초하여 지역 검색 결과와 제3자 지도(third-party map)를 제공하는 수단을 포함한다. According to yet another aspect, a system of the present invention includes means for receiving yellow page data, third party map provider data, and document data in response to a local search query, and yellow page data, third party map provider data. And geocoding means for geocoding one or more of the document data, assigning a geographic identifier to one or more addresses in the local search query, and matching the one or more addresses in the local search query. The system also includes means for indexing geocoded data to identify business information and location information corresponding to a local search query; And means for providing a local search result and a third-party map based on the identified business information and location information.

또 다른 특징에 의하면, 본 발명의 시스템은, 복수의 명령을 기억하기 위한 메모리; 및 메모리 내의 명령을 실행하기 위한 프로세서를 포함한다. 프로세서는, 지역 검색 질의와 관련된 위치를 식별하고, 지역 검색 질의에 관련이 있으며 식별된 위치와 연관된 지역 검색 결과를 식별하며, 지역 검색 결과의 그룹의 각각에 대한 식별자를 식별하고, 제3자 지도 제공자로부터, 식별된 위치와 관련된 지도를 수신하는 동작을 수행할 수 있다. 지도는 지역 검색 결과의 그룹 내의 하나 이상의 지역 검색 결과의 위치를 식별한다. According to yet another aspect, a system of the present invention includes a memory for storing a plurality of instructions; And a processor for executing instructions in the memory. The processor identifies a location associated with the local search query, identifies local search results related to the local search query and associated with the identified location, identifies an identifier for each of the group of local search results, and maps a third party. From the provider, perform the operation of receiving a map associated with the identified location. The map identifies the location of one or more local search results within a group of local search results.

또 다른 특징에 의하면, 본 발명의 방법은, 지역 검색 질의를 수신하는 단계와, 지역 검색 질의와 연관된 위치를 식별하는 단계와, 지역 검색 질의와 연관성을 가지며 식별된 위치와 연관된 일련의 검색 결과를 식별하는 단계와, 검색 결과의 그룹의 각각에 대한 식별자를 식별하는 단계를 포함한다. 본 발명의 방법은 또한, 검색 결과의 그룹의 각각에 대한 식별자를 제3자 지도 제공자에게 제공하는 단계; 및 제3자 지도 제공자로부터, 식별된 위치와 연관된 지도를 수신하는 단계를 포함하며, 지도는 검색 결과의 그룹 내의 하나 이상의 검색 결과의 위치를 식별한다. According to another aspect, the method of the present invention includes receiving a local search query, identifying a location associated with the local search query, and receiving a series of search results associated with the identified location and associated with the local search query. Identifying and identifying an identifier for each of the group of search results. The method also includes providing an third party map provider with an identifier for each of the group of search results; And receiving, from a third party map provider, a map associated with the identified location, the map identifying the location of one or more search results within the group of search results.

다른 특징에 의하면, 본 발명의 방법은, 토큰 리스트를 작성하는 단계와, 웹 문서 내의 가능한 주소(potential address)를 식별하는 단계와, 가능한 주소가 도시(city)와 연관된 토큰을 포함하는지 여부를 판정하기 위해 가능한 주소를 시작 부분부터 파싱 처리(parse)하는 단계를 포함한다. 본 방법은 또한, 가능한 주소가 지구(district)와 연관된 토큰을 포함하는지 여부를 판정하기 위해 가능한 주소를 추가로 파싱 처리하는 단계와, 도시와 연관된 토큰 또는 지구와 연관된 토큰의 다음에 가능한 주소 내의 최장 매칭 토큰(longest-matching token)을 식별하는 단계와, 도시와 연관된 토큰, 지구와 연관된 토큰, 및 식별된 최장 매칭 토큰에 기초하여 가능한 주소가 실제의 주소인지 여부를 판정하는 단계를 포함한다. According to another aspect, the method of the present invention comprises the steps of: creating a list of tokens, identifying a potential address in a web document, and determining whether the possible address includes a token associated with a city Parsing the possible addresses from the beginning in order to do so. The method also includes further parsing the possible address to determine whether the possible address includes a token associated with the district, and the longest possible address within the next possible address of the token associated with the city or the token associated with the district. Identifying a longest-matching token, and determining whether a possible address is a real address based on the token associated with the city, the token associated with the district, and the longest matching token identified.

첨부 도면은, 본 명세서에 결합하여 본 명세서의 일부를 구성하며, 본 발명의 하나 이상의 실시예를 예시하고, 발명의 상세한 설명과 함께, 본 발명의 특징을 설명한다. The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate one or more embodiments of the invention and, together with the description, describe features of the invention.

도 1은 본 명세서에 개시된 구현 예를 개략적으로 나타내는 도면이다. 1 is a view schematically showing an embodiment disclosed herein.

도 2는 본 명세서에 개시된 시스템 및 방법이 구현될 수 있는 네트워크의 예를 나타내는 도면이다. 2 is a diagram illustrating an example of a network in which the systems and methods disclosed herein may be implemented.

도 3은 도 2의 네트워크 내에 있는 클라이언트 또는 서버의 예를 나타내는 도면이다. 3 is a diagram illustrating an example of a client or server in the network of FIG.

도 4는 지역 검색 결과를 식별하고 식별된 위치와 연관된 지도를 제공하기 위한 시스템의 예를 기능 블록도로서 나타내는 도면이다. 4 is a functional block diagram illustrating an example of a system for identifying local search results and providing a map associated with an identified location.

도 5는 도 4의 시스템의 인덱스/문서 레포지토리의 예를 나타내는 도면이다. 5 is a diagram illustrating an example of an index / document repository of the system of FIG. 4.

도 6은 도 4의 시스템의 지오코더의 예를 나타내는 도면이다. 6 is a diagram illustrating an example of a geocoder of the system of FIG. 4.

도 7은 도 4의 시스템의 인덱서의 예를 나타내는 도면이다. 7 is a diagram illustrating an example of an indexer of the system of FIG. 4.

도 8은 도 4의 시스템의 프런트 엔드 서버의 예를 나타내는 도면이다. 8 is a diagram illustrating an example of a front-end server of the system of FIG. 4.

도 9는 도 4의 시스템에 의해 작성된 지도와 지역 검색 결과의 예를 나타내는 도면이다. 9 is a diagram illustrating an example of a map created by the system of FIG. 4 and an area search result.

도 10A 내지 도 10D는 지역 검색 결과를 식별하고 식별된 위치와 연관된 지도를 제공하기 위한 프로세스의 예를 나타내는 플로차트이다. 10A-10D are flowcharts illustrating an example of a process for identifying local search results and providing a map associated with an identified location.

본 발명에 관한 이하의 상세한 설명은 첨부 도면을 참조한다. 전체 도면을 통해 동일한 참조 부호는 동일 또는 유사한 구성요소를 나타낼 수 있다. 또한, 이하의 상세한 설명이 본 발명을 제한하는 것은 아니다. DETAILED DESCRIPTION The following detailed description of the invention refers to the accompanying drawings. Like numbers refer to like elements throughout. In addition, the following detailed description does not limit the invention.

몇몇 국가, 예컨대 중국과 같은 국가에서는, 지도 데이터(map data)와 옐로우 페이지 데이터(yellow page data)를 단일의 제공자(single provider)로부터 얻을 수 없으며, 반드시 여러 다른 제공자들로부터 얻어야 한다. 익스포트 규제(export restrictions) 때문에, 소정 영역의 지도를 나타내기 위한 상세한 지도 데이터를 획득하는 것 또는 그 영역 내의 주소의 실제 위도 및 경도를 획득하는 것이 가능하지 않을 수 있다. 그 때문에, 주소의 지오코딩(geocoding)을 위해 주소 근사법(address approximation)이 사용될 수 있다. 지역 검색으로부터의 결과가 사용자에게 제공되면, 지역 결과 페이지(local results page)는 관련 결과의 리스트 및 지도 제공자(map provider)의 서버(제3자)를 가리키는 포인터를 포함할 수 있다. 지도 제공자는 사용자에게 표시되는 지도를 생성하는 역할을 수행할 수 있다. In some countries, such as China, map data and yellow page data cannot be obtained from a single provider and must be obtained from several different providers. Because of export restrictions, it may not be possible to obtain detailed map data to represent a map of a given area or to obtain the actual latitude and longitude of an address within that area. As such, address approximation can be used for geocoding the address. When results from a local search are provided to the user, the local results page may include a list of relevant results and a pointer to a server (third party) of the map provider. The map provider may play a role in generating a map displayed to the user.

개요summary

본 발명의 실시예는, 지역 검색 결과를 식별하고, 식별된 위치와 관련된 지도를 생성할 수 있다. 예를 들어, 일실시예에서, 도 1에 나타낸 바와 같이, 시스템은, 사용자가 입력한 지역 검색 질의(local search query)를 수신하고, 수신한 지역 검색 질의와 연관된 위치(location)를 식별(identify)할 수 있다. 시스템은, 지역 검색 질의에 관련될 수 있으며 식별된 위치와 관련될 수 있는 일련의 지역 검색 결과(예컨대, 검색 결과 "A" 내지 검색 결과 "H")를 식별할 수 있다. 지역 검 색 결과는 지역 검색 질의에 관련될 수 있는 문서에 대한 링크를 포함할 수 있다. 시스템은, 지역 검색 결과의 그룹에 대한 식별자(identifier)를 식별할 수 있으며, 이 식별자를 지도 제공자에게 제공할 수 있다. 시스템은, 식별된 위치와 연관된 지도를 지도 제공자로부터 받을 수 있다. 지도는 지역 검색 결과의 그룹 내에서 하나 이상의 검색 결과(예컨대, 도 1에 나타낸 검색 결과 "A")의 위치를 식별할 수 있다. Embodiments of the invention may identify local search results and generate a map associated with the identified location. For example, in one embodiment, as shown in FIG. 1, the system receives a local search query entered by a user and identifies a location associated with the received local search query. )can do. The system may identify a series of local search results (eg, search result "A" through search result "H") that may be related to a local search query and that may be related to the identified location. The local search results may include links to documents that may be related to local search queries. The system can identify an identifier for a group of local search results and provide this identifier to a map provider. The system can receive a map associated with the identified location from a map provider. The map may identify the location of one or more search results (eg, search result “A” shown in FIG. 1) within a group of local search results.

본 명세서에서 사용되는 "문서"(document)라는 용어는, 기계 판독 가능한(machine-readable) 또는 기계 저장 가능한(machine-storable) 모든 작업물을 포함하는 것으로 넓게 해석되어야 한다. 이러한 문서에는, 예컨대 이메일, 파일, 파일의 조합, 다른 파일에 임베드된(embedded) 링크를 갖는 하나 이상의 파일, 뉴스 그룹 포스팅(news group posting), 블로그, 웹 광고 등이 포함될 수 있다. 인터넷(Internet)과 관련해서, 일반적인 문서는 웹 페이지(web page)이다. 웹 페이지는, 텍스트 정보를 포함할 수 있으며, 임베드된 정보(예컨대, 메타 정보, 이미지, 하이퍼링크 등) 및/또는 임베드된 명령(예컨대, 자바스크립트 등)을 포함할 수 있다. The term "document" as used herein is to be broadly interpreted as encompassing all machine-readable or machine-storable workpieces. Such documents may include, for example, emails, files, combinations of files, one or more files with links embedded in other files, news group postings, blogs, web advertisements, and the like. With regard to the Internet, a general document is a web page. The web page may include textual information and may include embedded information (eg, meta information, images, hyperlinks, etc.) and / or embedded instructions (eg, JavaScript, etc.).

본 명세서에서 사용되는 "링크"(link)라는 용어는, 어느 문서에 대한 다른 문서의 참조 또는 한 문서에서의 다른 부분에 대한 모든 참조를 포함하는 것으로 넓게 해석되어야 한다. As used herein, the term "link" should be construed broadly to include references to other documents or to all references to other parts of a document.

네트워크의 구성예Configuration example of network

도 2는 본 발명에 따른 시스템 및 방법을 구현할 수 있는 네트워크(200)의 예를 나타낸다. 네트워크(200)에서는, 다수의 클라이언트(210)가 통신망(250)을 통해 다수의 서버(220-240)에 접속되어 있다. 도 2에서는, 간단히 나타내기 위해, 통신망(250)에 2개의 클라이언트(210)와 3개의 서버(220-240)가 접속된 것으로 도시되어 있다. 실제로는, 더 많은 또는 더 적은 수의 클라이언트 및 서버가 있을 수 있다. 또한, 어떤 경우에는, 클라이언트가 서버의 하나 이상의 기능을 수행할 수 있으며, 서버가 클라이언트의 하나 이상의 기능을 수행할 수도 있다. 2 illustrates an example of a network 200 that may implement a system and method in accordance with the present invention. In the network 200, a plurality of clients 210 are connected to a plurality of servers 220-240 via a communication network 250. In FIG. 2, for the sake of simplicity, two clients 210 and three servers 220-240 are shown connected to the communication network 250. In practice, there may be more or fewer clients and servers. Also, in some cases, the client may perform one or more functions of the server, and the server may perform one or more functions of the client.

클라이언트(210)는, 클라이언트 엔티티(client entity)를 포함할 수 있다. 엔티티는, 개인용 컴퓨터, 무선 전화, 개인 휴대용 정보 단말기(PDA), 랩탑 컴퓨터 등의 디바이스, 또는 다른 종류의 연산(computation) 또는 통신(communication) 디바이스, 이들 디바이스 중 하나에서 구동되는 쓰레드(thread) 또는 프로세스, 및/또는 이들 디바이스 중 하나에 의해 실행가능한 오브젝트(object)로서 정의될 수 있다. 서버(220-240)는, 문서를 수집, 처리, 검색 및/또는 관리하는 서버 엔티티를 포함할 수 있다. The client 210 may include a client entity. An entity may be a device such as a personal computer, a wireless telephone, a personal digital assistant (PDA), a laptop computer, or another kind of computing or communication device, a thread running on one of these devices, or It may be defined as an object executable by a process and / or one of these devices. Servers 220-240 may include server entities that collect, process, retrieve, and / or manage documents.

일실시예에서, 서버(220)는 클라이언트(210)에 의해 사용될 수 있는 지역 검색 시스템(225)을 포함할 수 있다. 서버(220)는, 문서의 코퍼스를 크롤링(crawl)하고, 문서를 색인화(index)하며, 문서와 관련된 정보를 문서의 저장 장소인 레포지토리(repository)에 저장할 수 있다. 서버(220-240)를 어떻게 조합하든지, 지역 검색 결과를 식별하고 식별된 위치와 관련된 지도를 제공하기 위한 지역 검색 시스템(225)을 구현할 수 있다. In one embodiment, server 220 may include a local search system 225 that may be used by client 210. The server 220 may crawl a corpus of documents, index the documents, and store information related to the documents in a repository, which is a storage location of the documents. Regardless of how the servers 220-240 are combined, a local search system 225 may be implemented to identify local search results and provide a map related to the identified location.

서버(220-240)는 개별의 엔티티로 도시되어 있지만, 하나 이상의 서버(220- 240)가 다른 하나 이상의 서버(220-240)의 하나 이상의 기능을 수행할 수 있다. 예를 들어, 서버(220-240) 중의 둘 이상의 서버를 단일의 서버로 구현할 수 있다. 서버(220-240) 중의 하나의 서버를 둘 이상의 개별의(가능하면 분산된) 디바이스로 구현할 수 있다. Although servers 220-240 are shown as separate entities, one or more servers 220-240 may perform one or more functions of one or more other servers 220-240. For example, two or more servers among the servers 220-240 may be implemented as a single server. One of the servers 220-240 may be implemented as two or more separate (possibly distributed) devices.

통신망(250)에는, 근거리 통신망(LAN: local area network), 광역 통신망(WAN: wide area network), 공중 전화망(PSTN: Public Switched Telephone Network)이나 셀룰러 망 등의 전화망(telephone network), 인트라넷, 인터넷(Internet), 또는 이러한 망의 조합이 포함될 수 있다. 클라이언트(210)와 서버(220-240)는, 유선, 무선 및/또는 광학 연결 매체를 통해 통신망(250)에 연결될 수 있다. The communication network 250 may include a local area network (LAN), a wide area network (WAN), a telephone network such as a public switched telephone network (PSTN) or a cellular network, an intranet, or the Internet. (Internet), or a combination of these networks. Clients 210 and servers 220-240 may be connected to communication network 250 via wired, wireless and / or optical connection media.

클라이언트/서버 구조의 예Example of Client / Server Architecture

도 3은 하나 이상의 클라이언트(210) 및 서버(220-240)에 대응할 수 있는 클라이언트 또는 서버 엔티티(이하, "클라이언트/서버 엔티티"라고 함)의 예를 나타낸다. 클라이언트/서버 엔티티는, 버스(310), 프로세서(320), 메인 메모리(330), 판독 전용 메모리(ROM)(340), 기억 장치(350), 입력 장치(360), 출력 장치(370), 및 통신 인터페이스(380)를 포함할 수 있다. 버스(310)는, 클라이언트/서버 엔티티의 구성요소들 사이의 통신을 가능하게 하는 경로를 포함할 수 있다. 3 illustrates an example of a client or server entity (hereinafter referred to as a "client / server entity") that may correspond to one or more clients 210 and servers 220-240. The client / server entity may include a bus 310, a processor 320, a main memory 330, a read only memory (ROM) 340, a storage device 350, an input device 360, an output device 370, And a communication interface 380. Bus 310 may include a path that enables communication between components of a client / server entity.

프로세서(320)에는, 처리기, 마이크로프로세서, 또는 명령을 해석 및 실행할 수 있는 프로세싱 로직이 포함될 수 있다. 메인 메모리(330)는, 랜덤 액세스 메모리(RAM), 또는 프로세서(320)에 의한 실행을 위한 정보 및 명령을 저장할 수 있는 다른 유형의 동적 기억 장치를 포함할 수 있다. ROM(340)은, ROM 디바이스, 또는 프로세서(320)가 사용하기 위한 정적인 정보 및 명령을 저장할 수 있는 다른 유형의 정적 기억 장치(static storage device)를 포함할 수 있다. 기억 장치(350)는 자기 및/또는 광학 기록 매체 및 이에 대응하는 드라이브를 포함할 수 있다. Processor 320 may include a processor, a microprocessor, or processing logic capable of interpreting and executing instructions. Main memory 330 may include random access memory (RAM), or another type of dynamic storage device capable of storing information and instructions for execution by processor 320. ROM 340 may include a ROM device or other type of static storage device capable of storing static information and instructions for use by processor 320. The storage device 350 may include a magnetic and / or optical recording medium and a corresponding drive.

입력 장치(360)는, 오퍼레이터가 클라이언트/서버 엔티티에 정보를 입력할 수 있도록 해주는 메커니즘으로서, 키보드, 마우스, 펜, 음성 인식 및/또는 생체 메커니즘 등을 포함할 수 있다. 출력 장치(370)는, 오퍼레이터에게 정보를 출력하는 메커니즘으로서, 디스플레이, 프린터, 스피커 등을 포함할 수 있다. 통신 인터페이스(380)는, 클라이언트/서버 엔티티가 다른 디바이스 및/또는 시스템과 통신을 행할 수 있도록 해주는 것이라면 어떠한 송수신 가능한 메커니즘도 포함할 수 있다. 예를 들어, 통신 인터페이스(380)는, 예컨대 통신망(250)을 통해 다른 디바이스 또는 다른 시스템과 통신을 행하기 위한 메커니즘을 포함할 수 있다. Input device 360 is a mechanism that allows an operator to enter information into a client / server entity and may include a keyboard, mouse, pen, voice recognition and / or biomechanical mechanism, and the like. The output device 370 is a mechanism for outputting information to an operator and may include a display, a printer, a speaker, and the like. The communication interface 380 may include any transmit and receive mechanism as long as it enables the client / server entity to communicate with other devices and / or systems. For example, communication interface 380 may include a mechanism for communicating with another device or another system, such as via communication network 250.

클라이언트/서버 엔티티는 소정의 동작을 수행할 수 있는데, 이에 대해서는 나중에 상세하게 설명한다. 클라이언트/서버 엔티티는, 이러한 소정의 동작을, 메모리(330) 등과 같이 컴퓨터로 판독가능한 매체 내에 포함된 소프트웨어 명령(software instructions)을 실행하는 프로세서(320)에 응답하여 수행할 수 있다. 컴퓨터로 판독가능한 매체는, 물리적 또는 논리적 메모리 장치 및/또는 반송파(carrier wave)로서 정의할 수 있다. The client / server entity may perform certain operations, which will be described in detail later. The client / server entity may perform this predetermined operation in response to the processor 320 executing software instructions contained in a computer readable medium, such as memory 330. Computer-readable media may be defined as physical or logical memory devices and / or carrier waves.

소프트웨어 명령은, 데이터 기억 장치(350) 등과 같은 다른 컴퓨터로 판독가능한 매체로부터 또는 통신 인터페이스(380)를 통해 다른 디바이스로부터, 메모 리(330)에 입력될 수 있다. 메모리(330)에 포함되어 있는 소프트웨어 명령에 의해 프로세서(320)가 처리를 수행할 수 있게 되는데, 이에 대해서는 나중에 설명한다. 또한, 본 명세서에 개시된 처리(프로세스)를 구현하기 위하여, 소프트웨어 명령 대신에 또는 이와 함께 하드와이어드 회로(hardwired circuitry)가 사용될 수 있다. 본 발명의 실시예는, 하드웨어 회로 및 소프트웨어의 어떠한 특정의 조합에 한정되지 않는다. Software instructions may be entered into the memory 330 from another computer readable medium, such as data storage 350, or from another device via communication interface 380. The software 320 included in the memory 330 allows the processor 320 to perform the process, which will be described later. In addition, hardwired circuitry may be used in place of or in conjunction with software instructions to implement the processes (processes) disclosed herein. Embodiments of the invention are not limited to any particular combination of hardware circuitry and software.

지역 검색 시스템의 예Local Search System Example

도 4는 지역 검색 결과를 식별하며 식별된 위치와 관련된 지도를 제공하기 위한 시스템[예컨대, 지역 검색 시스템(225)]의 예를 나타내는 기능 블록도이다. 일실시예에 의하면, 지역 검색 시스템(225)의 하나 이상의 기능은, 이하에 설명하는 바와 같이, 서버[예컨대, 서버(220)], 서버(220)의 일부, 서버(220-240)의 조합에 의해 수행될 수 있다. 다른 실시예에 의하면, 이러한 하나 이상의 기능은, 서버(220)로부터 분리된 엔티티, 예컨대 클라이언트(210), 서버(220) 또는 서버들(230 또는 240) 중의 하나와 관련된 컴퓨터에 의해 수행될 수 있다. 4 is a functional block diagram illustrating an example of a system (eg, local search system 225) for identifying local search results and providing a map associated with an identified location. According to one embodiment, one or more functions of local search system 225 may be a combination of a server (eg, server 220), a portion of server 220, and servers 220-240, as described below. It can be performed by. According to another embodiment, one or more of these functions may be performed by a computer associated with an entity that is separate from the server 220, such as a client 210, a server 220, or one of the servers 230 or 240. .

도 4에 나타낸 바와 같이, 지역 검색 시스템(225)은, 지도 제공자 데이터(400), 옐로우 페이지 데이터(405), 웹 문서 데이터(410), 인덱스/문서 레포지토리(415), 주소 및 POI(points of interest: 관심 지점) 식별(ID) 정보(420), 주소 FP(fingerprint: 핑거프린트) 및 POI ID 매핑 정보(425), 지오코더(geocoder)(430), 인덱서(indexer)(435), 프런트 엔드 서버(front end server)(440), 지도 URL(map Uniform Resource Locator) 정보(445), 및 지역 검색 결과(450)를 포함할 수 있다. 지도 제공자 데이터(400), 옐로우 페이지 데이터(405), 및 웹 문서 데이터(410)는 인덱서(435)에 제공될 수 있다. 지도 제공자 데이터(400)는 주소/POI ID 정보(420)와 주소 FP 및 POI ID 매핑 정보(425)를 얻는데 사용될 수 있다. 인덱서(435)는 인덱스/문서 레포지토리(415) 및 지오코더(430)에 접속될 수 있다. 주소/POI ID 정보(420)는 지오코더(430)에 제공될 수 있다. 프런트 엔드 서버(440)는, 지오코더(430) 및 인덱스/문서 레포지토리(415)에 접속될 수 있으며, 주소 FP 및 POI ID 매핑 정보(425)를 수신할 수 있다. 프런트 엔드 서버(440)는 지도 URL 정보(445) 및 지역 검색 결과(450)를 생성할 수 있다. 지역 검색 시스템(225)은, 도 4에 도시하지 않은, 다른 접속 및/또는 구성 요소 상호 관계를 선택적으로 포함할 수 있다. As shown in FIG. 4, local search system 225 may include map provider data 400, yellow page data 405, web document data 410, index / document repository 415, addresses, and points of point of interest. interest (point of interest) identification (420), address fingerprint (FP) and POI ID mapping information (425), geocoder (430), indexer (435), front end The server may include a front end server 440, map uniform resource locator information 445, and a local search result 450. Map provider data 400, yellow page data 405, and web document data 410 may be provided to indexer 435. Map provider data 400 may be used to obtain address / POI ID information 420 and address FP and POI ID mapping information 425. Indexer 435 may be connected to index / document repository 415 and geocoder 430. The address / POI ID information 420 may be provided to the geocoder 430. The front end server 440 may be connected to the geocoder 430 and the index / document repository 415 and may receive address FP and POI ID mapping information 425. The front end server 440 may generate the map URL information 445 and the local search result 450. Local search system 225 may optionally include other connections and / or component interrelationships, not shown in FIG.

일반적으로, 지오코더(430)는, 인덱서(435)로부터 주소/POI ID 정보(420) 및/또는 정보를 수신하고, 지리적 식별자(예컨대, 위치, 좌표 등)를 오브젝트(objects)에 할당하며, 출력을 프런트 엔드 서버(440)에 제공할 수 있다. 인덱서(435)는, 지도 제공자 데이터(400), 옐로우 페이지 데이터(405) 및/또는 웹 문서 데이터(410)를 수신하고, 옐로우 페이지 데이터(405)를 전처리(preprocess)하여 업소 정보(business information)를 정하며, 웹 문서 데이터(410)로부터 업소 정보를 추출하고, 검색 질의 내의 위치 정보를 식별하며, 지도 제공자 데이터(400)의 주소 데이터를 색인화(index)하고, 색인/문서 레포지토리(415) 및/또는 지오코더(430)에 출력을 제공할 수 있다. 프런트 엔드 서버(440)는, 주소 FP 및 POI ID 정보(425), 지오코더(430)로부터의 정보, 및/또는 인덱스/문서 레포지토리(415)로부터의 정보 를 수신하고, 검색 질의를 재작성(rewrite)하며, 광고(ads) 서버(도시 안 됨)가 사용하기 위한 지도 URL 정보(445), 지역 검색 결과(450), 및/또는 지리 정보를 생성할 수 있다. In general, geocoder 430 receives address / POI ID information 420 and / or information from indexer 435, assigns geographic identifiers (eg, location, coordinates, etc.) to objects, The output can be provided to the front end server 440. The indexer 435 receives the map provider data 400, the yellow page data 405, and / or the web document data 410, preprocesses the yellow page data 405 to store business information. Extract business information from the web document data 410, identify location information in the search query, index the address data of the map provider data 400, index / document repository 415, and / Alternatively, the output may be provided to the geocoder 430. The front end server 440 receives address FP and POI ID information 425, information from the geocoder 430, and / or information from the index / document repository 415 and rewrites the search query ( and generate map URL information 445, local search results 450, and / or geographic information for use by an ad server (not shown).

지도 제공자 데이터 (Map Provider Data ( MapMap ProviderProvider DataData ))

중국어(Chinese) 주소 정보를 위한 데이터에는, 지도 데이터와 옐로우 페이지 데이터의 2가지 종류가 있다. 지도 제공자 데이터(400)는 여러 가지의 정보를 포함할 수 있다. 예를 들어, 일실시예에서, 제3자 지도 제공자는, 일련의 POI(예컨대, 미술관, 공원, 병원, 학교 등과 같은 업소 및 그외 다른 관심 지점)와, 중국 내의 여러 도시에 대한 이들 POI의 주소를 제공할 수 있다. 각각의 POI에 대해, 연관된 POI ID 정보가 있을 수 있다. 법적인 규제 때문에, 지도 제공자는, 각각의 POI에 대해 위도 및 경도 정보를 제공하지 못할 수 있다. 그러나, 지도 제공자는, 지도를 그리드(grid)(예컨대, 3백 미터×3백 미터 그리드)로 분할할 수 있으며, 각각의 POI에 대한 그리드 인덱스(grid index)와 프로그램을 제공함으로써, 그리드 간의 거리를 산출할 수 있다. 지도 제공자 데이터(400)는, 주기적으로(예컨대, 매일, 주 단위, 월 단위 등) 갱신될 수 있으며, 갱신이 이루어질 때마다, POI ID를 변경할 수 있다. There are two types of data for Chinese address information: map data and yellow page data. The map provider data 400 may include various kinds of information. For example, in one embodiment, a third party map provider may be a series of POIs (e.g., businesses and other points of interest such as art galleries, parks, hospitals, schools, etc.), and the addresses of these POIs for various cities in China. Can be provided. For each POI, there may be associated POI ID information. Due to legal restrictions, the map provider may not be able to provide latitude and longitude information for each POI. However, the map provider can divide the map into grids (e.g., three hundred meters by three hundred meters grids) and provide a grid index and program for each POI, thereby providing distance between grids. Can be calculated. The map provider data 400 may be updated periodically (eg, daily, weekly, monthly, etc.), and each time an update is made, the POI ID may be changed.

다른 실시예에서, 지도 제공자 데이터(400)는, (1)상호(business name), 주소, 전화 번호, 및 그리드 인덱스(grid index)를 포함할 수 있는 정규(normal) POI; (2)거리 이름과 거리의 중심에 대한 그리드 인덱스를 포함할 수 있는 도로(road) POI; 및/또는 (3)소정의 우편 번호 및 우편 번호의 근사 중 심(approximate center)의 그리드 인덱스를 포함할 수 있는 우편 번호 POI 정보를 포함할 수 있다. In another embodiment, map provider data 400 may include: (1) a normal POI, which may include a business name, address, phone number, and a grid index; (2) a road POI, which may include a street name and a grid index for the center of the street; And / or (3) postal code POI information, which may include a predetermined postal code and a grid index of an approximate center of the postal code.

또 다른 실시예에서, 지도 제공자 데이터(440)가 갖는 문제점이 있을 수 있다. 예를 들어, 지도 제공자 데이터(400)는, 주소 중의 일부분만 포함하고 나머지 부분이 없을 수 있다. 중국에서의 규제 때문에, 지도 제공자 데이터(440)에서, 예컨대 거리 번지(street number)가 없을 수 있다(예컨대, POI의 20%-30%만 거리 번지가 있을 수 있음). 따라서, 지도 제공자 데이터(400)는, POI의 거리 이름(street name)만을 포함하거나 몇몇 높은 레벨의 추상적인 부분(abstraction)을 포함할 수 있다. 또한, 지도 제공자 데이터(400)의 POI의 일부에는 전화 번호가 없을 수 있다. 또한, 지도 제공자 데이터(400)에 의해 제공되는 주소가 적절하지 않은 형식으로 되어 있을 수 있다. In another embodiment, there may be a problem with map provider data 440. For example, map provider data 400 may include only a portion of the address and no other portion. Due to regulations in China, in map provider data 440, for example, there may be no street number (eg, only 20% -30% of POI may have a street address). Thus, map provider data 400 may include only street names of the POIs or may include some high level abstractions. In addition, some of the POIs of map provider data 400 may not have telephone numbers. In addition, the address provided by the map provider data 400 may be in an inappropriate format.

옐로우yellow 페이지 데이터 ( Page data ( YellowYellow PagePage DataData ))

옐로우 페이지 데이터(405)는 여러 가지 정보를 포함할 수 있으며 다수의 소스(예컨대, 제3자 제공자)로부터 수신될 수 있다. 예를 들어, 일실시예에서, 옐로우 페이지 데이터(405)는 POI에 대한 주소[예컨대, 주(county), 시(city), 성(province)] 및/또는 전화 번호 정보, 상호, 이메일 주소, 팩시밀리 번호, 웹 사이트 주소, CEO 이름, 업소 설명(business descriptions), SIC(산업분류코드)에 기초한 카테고리, 업소 종류 등을 포함할 수 있다. 다른 실시예에서, 옐로우 페이지 데이터(405)는 위도와 경도 정보를 전혀 포함하지 않을 수 있다. 그 결과, POI에 관한 완전한(또는 실질적으로 완전한) 정보(예컨대, 주소, 전화 번호, 지도 위치 정보)가, 지도 제공자 데이터(400)와 옐로우 페이지 데이터(405)로부터 추론될 수 있다. Yellow page data 405 may include a variety of information and may be received from multiple sources (eg, third party providers). For example, in one embodiment, yellow page data 405 may include addresses for POIs (eg, county, city, province) and / or phone number information, business name, email address, It can include a facsimile number, website address, CEO name, business descriptions, categories based on SIC, and business type. In other embodiments, yellow page data 405 may not include latitude and longitude information at all. As a result, complete (or substantially complete) information about the POI (eg, address, phone number, map location information) can be inferred from the map provider data 400 and the yellow page data 405.

웹 문서 데이터(Web document data ( WebWeb DocumentDocument DataData ))

웹 문서 데이터(410)는 여러 가지 정보를 포함할 수 있다. 예를 들어, 일실시예에서, 웹 문서 데이터(410)는, 이메일, 파일, 파일의 조합, 다른 파일에 임베드된(embedded) 링크를 갖는 하나 이상의 파일, 뉴스 그룹 포스팅, 블로그, 웹 광고, 웹 페이지[텍스트 정보를 포함할 수 있으며, 임베드된(embedded) 정보(예컨대, 메타 정보, 이미지, 하이퍼링크 등) 및/또는 임베드된(embedded) 명령(예컨대, 자바스크립트 등)을 포함할 수 있음], 업소 정보(예컨대, 주소, 전화 번호 등) 등을 포함할 수 있다. 웹 문서 데이터(410)는 또한 지역 검색 질의에 기초하여 찾은 문서를 포함할 수 있다. The web document data 410 may include various kinds of information. For example, in one embodiment, web document data 410 may include email, files, combinations of files, one or more files with links embedded in other files, newsgroup postings, blogs, web advertisements, the web. Pages (which may include textual information and may include embedded information (eg, meta information, images, hyperlinks, etc.) and / or embedded commands (eg, JavaScript, etc.) Business information (eg, address, telephone number, etc.). Web document data 410 may also include documents found based on local search queries.

주소/address/ POIPOI IDID 정보 Information

주소/POI ID 정보(420)는 여러 가지 정보를 포함할 수 있다. 예를 들어, 일실시예에서, 주소/POI ID 정보(420)는 지도 제공자 데이터(400)로부터 추출한 주소, 지도 제공자 데이터(400)로부터 추출한 POI ID 등을 포함할 수 있다. 다른 실시예에서, 주소/POI ID 정보(420)는, 중국어 주소와 관련된 정보로서, 지도 제공자 데이터(400)에 의해 제공된 주소 데이터(예컨대, POI의 주소, 거리 중심); POI(예컨대, 학교, 공원, 빌딩, 병원 등); 우편 번호 중심(즉, 우편 번호에 포함되는 영역의 중심); 지도 제공자 데이터(400)에 의해 제공된 리스트에 포함되지 않을 수 있는 추가의 도시 등을 포함할 수 있다. The address / POI ID information 420 may include various kinds of information. For example, in one embodiment, the address / POI ID information 420 may include an address extracted from the map provider data 400, a POI ID extracted from the map provider data 400, and the like. In another embodiment, the address / POI ID information 420 may include, as information related to a Chinese address, address data provided by the map provider data 400 (eg, address of POI, center of distance); POIs (eg, schools, parks, buildings, hospitals, etc.); Postal code center (ie, the center of the area included in the postal code); Additional cities, which may not be included in the list provided by map provider data 400, and the like.

주소 address FPFP  And POIPOI IDID 매핑Mapping 정보 Information

주소 FP 및 POI ID 매핑 정보(425)는 여러 가지 정보를 포함할 수 있다. 예를 들어, 일실시예에서, 주소 FP/POI ID 매핑 정보(425)는, 주소 핑거프린트(address fingerprints)와 이에 대응하는 POI ID 간의 매핑(mapping) 등을 포함할 수 있다. 주소 핑거프린트(FP: fingerprint)와 이에 대응하는 POI ID 간의 매핑은, 각각의 지역 검색 결과에 대한 POI ID를 조사(lookup)하기 위해 프런트 엔드 서버(440)에 의해 사용될 수 있다. 이에 대해서 나중에 상세하게 설명한다. 다른 실시예에서, POI ID는 주소 FP와 이에 대응하는 POI ID 간의 매핑 없이 직접 유도될 수 있다. 이러한 실시예에서, 주소 FP/POI ID 매핑 정보(425)는 직접 유도된 POI ID를 포함할 수 있다. The address FP and POI ID mapping information 425 may include various kinds of information. For example, in one embodiment, the address FP / POI ID mapping information 425 may include mapping between address fingerprints and a corresponding POI ID. The mapping between the address fingerprint (FP) and the corresponding POI ID may be used by the front end server 440 to look up the POI ID for each local search result. This will be described later in detail. In another embodiment, the POI ID may be derived directly without a mapping between the address FP and the corresponding POI ID. In such an embodiment, the address FP / POI ID mapping information 425 may include a directly derived POI ID.

지도 제공자 데이터(400), 옐로우 페이지 데이터(405), 웹 문서 데이터(410), 주소/POI ID 정보(420), 및 주소 FP/POI ID 매핑 정보(425)에 포함된 정보의 예를 설명하였지만, 다른 실시예에서는, 지역 검색 결과를 식별하는데 사용될 수 있는 주소와 관한 추가의 또는 다른 정보가 상기 정보의 예에 포함될 수 있다. Although the example of the information included in the map provider data 400, the yellow page data 405, the web document data 410, the address / POI ID information 420, and the address FP / POI ID mapping information 425 has been described. In other embodiments, additional or other information regarding the address that may be used to identify local search results may be included in the example of the information.

도 5 내지 도 8은 도 4의 지역 검색 시스템(225) 내의 몇몇 구성 요소의 예를 나타낸다. 5-8 show examples of some components within the local search system 225 of FIG.

인덱스/문서 레포지토리(Index / Document Repository ( IndexIndex /Of DocumentDocument RepositoryRepository ))

인덱스/문서 레포지토리(415)는 단일의 기억 장치[예컨대, 메인 메모리(330), ROM(340), 및/또는 기억 장치(350)] 내에 설치될 수 있다. 인덱스/문서 레포지토리(415)는, 도 5에 나타낸 바와 같이, 문서, 옐로우 페이지 데이터(405), 및/또는 지도 제공자 데이터(400)에 관련된 여러 가지 정보를 기억할 수 있다. 예를 들어, 일실시예에서, 인덱스/문서 레포지토리(415)는, 중국어로 된 주소와 관련된 정보로서, 지도 제공자 데이터(400)에 의해 제공된 주소 데이터(예컨대, POI의 주소, 거리 중심); POI(예컨대, 학교, 공원, 빌딩, 병원 등); 우편 번호 중심(즉, 우편 번호에 포함되는 영역의 중심); 지도 제공자 데이터(400)에 의해 제공된 리스트에 포함되지 않을 수 있는 추가의 도시 등의 정보를 기억할 수 있다. Index / document repository 415 may be installed in a single storage device (eg, main memory 330, ROM 340, and / or storage device 350). As shown in FIG. 5, the index / document repository 415 may store various information related to the document, the yellow page data 405, and / or the map provider data 400. For example, in one embodiment, index / document repository 415 may include, as information related to an address in Chinese, address data provided by map provider data 400 (eg, address of POI, distance center); POIs (eg, schools, parks, buildings, hospitals, etc.); Postal code center (ie, the center of the area included in the postal code); Information such as additional cities that may not be included in the list provided by the map provider data 400 may be stored.

다른 실시예에서, 도 5에 나타낸 바와 같이, 인덱스/문서 레포지토리(415)는 [province](성) 필드(500), [city](도시) 필드(510), [district](지구) 필드(520), [street](거리) 필드(530)(주소 필드 및/또는 POI 이름 필드를 추가로 또는 대체해서 포함할 수 있음)을 포함할 수 있다. 이하에 나타낸 예는 인덱스/문서 레포지토리(415)에 기억된 중국어 주소 정보에 대응할 수 있다. In another embodiment, as shown in FIG. 5, the index / document repository 415 may include the [province] field 500, the [city] field 510, the [district] field ( 520), a [street] field 530 (which may additionally or alternately include an address field and / or a POI name field). The example shown below may correspond to Chinese address information stored in the index / document repository 415.

[BeiJing City][XiCheng District][BeiLiShi Road];BeiJing City [XiCheng District] [BeiLiShi Road];

([베이징시][시쳉구][베이리시 거리])([Beijing City] [Shicheng District] [Beijing City Street])

[BeiJing City][HaiDian District][YiHeYuan Road 5 Number];[BeiJing City] [HaiDian District] [YiHeYuan Road 5 Number];

([베이징시][하이디안구][이헤유안 거리 5])([Beijing City] [Heidiian District] [Iheyuan Street 5])

[BeiJing City][HaiDian District][BeiJing University];[BeiJing City] [HaiDian District] [BeiJing University];

([베이징시][하이디안구][베이징대학])([Beijing City] [Heidiian District] [Beijing University])

[JiangSu Province][NanJing City][GuLou District][HanZhong Road][JiangSu Province] [NanJing City] [GuLou District] [HanZhong Road]

([장쑤성][난징시][구로우구][한종 거리])([Jiangsu Province] [Nanjing City] [Gurogu] [Hanjong Street])

또 다른 실시예에서, 인덱스/문서 레포지토리(415)는 주소 핑거프린트(FP) 필드(540) 및 FP 정확도(FP accuracy) 필드(550)를 포함할 수 있다. 각각의 주소는, 주소 FP 및 FP 정확도를 사용하여 지오코더(430)에 의해 지점(point)으로서 처리될 수 있다(예컨대, 빌딩은 거리 중심에 비해 FP 정확도가 더 높을 것임). 주소 FP는, 정확한 지도를 나타내기 위한 POI ID를 조사하는데 사용될 수 있는 주소[예컨대, 그 주소에 기초하여 생성될 수 있는 해쉬 값(hash value)]에 기초하여 생성되는 핑거프린트(fingerprint)가 될 수 있다. 예를 들어, FP 생성기(570)는, 주소(예컨대, [province] 필드(500), [city] 필드(510), [district] 필드(520), [street] 필드(530) 등)을 수신할 수 있으며, 이 주소에 기초하여, 주소 FP(예컨대, [FP] 필드(540)) 및 FP 정확도(예컨대, [FP accuracy] 필드(550))를 생성할 수 있다. 주소 FP 및 FP 정확도는 정확한 지도를 표시하기 위한 POI ID를 조사하기 위해 POI ID 조사 테이블(580)에 의해 사용될 수 있다(예컨대, 지역 검색 결과를 사용하여). FP 생성기(570) 및/또는 POI ID 조사 테이블(580)은, 지오코더(430), 인덱서(435), 또는 프런트 엔드 서버(440) 내에 제공될 수 있다. In yet another embodiment, the index / document repository 415 may include an address fingerprint (FP) field 540 and an FP accuracy field 550. Each address may be treated as a point by the geocoder 430 using address FP and FP accuracy (eg, the building will have a higher FP accuracy than the center of the street). The address FP may be a fingerprint generated based on an address (e.g., a hash value that can be generated based on that address) that can be used to look up the POI ID to represent an accurate map. Can be. For example, the FP generator 570 receives an address (eg, [province] field 500, [city] field 510, [district] field 520, [street] field 530, etc.). Based on this address, an address FP (eg, [FP] field 540) and an FP accuracy (eg, [FP accuracy] field 550) can be generated. Address FP and FP accuracy may be used by the POI ID lookup table 580 (eg, using local search results) to look up the POI ID for displaying an accurate map. FP generator 570 and / or POI ID lookup table 580 may be provided within geocoder 430, indexer 435, or front end server 440.

또 다른 실시예에서, 인덱스/문서 레포지토리(415)는 주소와 연관된 [zcode] 필드(560)를 포함할 수 있다. zcode는, 우편 번호 등의 코드를 포함할 수 있으며, 중국의 경우, 중국에 있는 지구에 대한 6자리 행정 코드(administrative code)로부터 산출될 수 있다. JiangSu Province(장쑤성), BeiJing City(베이징시), BeiJing City XiCheng District(베이징시 시쳉구) 등과 같은 위치는, 이들 내의 모든 지점 위치(point location)를 포함하는 경계 영역(bounds)으로서 지오코더(430)에 의해 산출될 수 있다. In yet another embodiment, index / document repository 415 may include a [zcode] field 560 associated with the address. The zcode may include a code such as a postal code and, in the case of China, may be calculated from a six-digit administrative code for the district in China. Locations such as JiangSu Province, BeiJing City, BeiJing City XiCheng District, etc., are geocoder 430 as bounds that include all point locations within them. Can be calculated by

재현율(recall)을 향상시키기 위해, 여러 가지 주소가 결정되어 인덱스/문서 레포지토리 내에 저장될 수 있다. 예를 들어, 성(province)과 도시에 대한 단일 문자 동의어(single character synonyms)가 식별될 수 있다[예컨대, Shanghai City(상하이시) -> Lu; HeBei Province(허베이성) -> Qi]. 추가적으로 또는 다른 대안으로서, 주소 부분은 생략될 수 있다(예컨대, Shanghai City -> Shanghai; HaiDian District -> HaiDian; HuaiHai Central Road -> HuaiHai Road). 추가적으로 또는 다른 대안으로서, 유명한 장소의 경우 동의어가 있을 수 있다(예컨대, Shanghai City Temple -> Old City Temple; LiuRong Temple -> LiuRong Ta). To improve recall, various addresses can be determined and stored in the index / document repository. For example, single character synonyms for provinces and cities can be identified (eg, Shanghai City-> Lu; HeBei Province-> Qi]. Additionally or alternatively, the address portion may be omitted (eg, Shanghai City-> Shanghai; HaiDian District-> HaiDian; HuaiHai Central Road-> HuaiHai Road). Additionally or alternatively, for famous places there may be synonyms (eg, Shanghai City Temple-> Old City Temple; LiuRong Temple-> LiuRong Ta).

도 5는 인덱스/문서 레포지토리(415)에 포함된 정보의 예를 나타내고 있지만, 다른 실시예에서는, 인덱스/문서 레포지토리(415)가, 지역 검색 결과를 식별하는데 사용될 수 있는 정보면 어떠한 정보라도 포함할 수 있다. 5 illustrates an example of information included in index / document repository 415, but in other embodiments, index / document repository 415 may include any information as long as it can be used to identify local search results. Can be.

지오코더(Geocoder ( GeocoderGeocoder ))

도 6에 나타낸 바와 같이, 지오코더(430)는, 지역 검색 결과의 식별에 도움을 주기 위한 여러 가지 작업을 수행할 수 있다. 예를 들어, 일실시예에서, 지오코더(430)는, 지리적 식별자(예컨대, 위치, 좌표 등)를 오브젝트(objects)에 할당할 수 있다. 예를 들어, 지오코더(430)는 인덱스/문서 레포지토리(415) 내의 주소에 주소를 매칭시킬 수 있다. 지오코더(430)로부터의 출력은 여러 가지 용도로 사용될 수 있다. 예를 들어, 옐로우 페이지 데이터(405)는, POI에 대한 업소 정보(예컨대, 주소, 전화 번호, 이메일 주소, 팩시밀리 번호, 업무 시간 등)를 판정하기 위해 파싱 처리(parse)될 수 있다. 업소 정보(business information)는 웹 문 서 데이터(410)로부터 추출될 수 있고, 및/또는 검색 질의 내에 제공된 위치 정보가 식별될 수 있다. As shown in FIG. 6, the geocoder 430 may perform various operations to help identify a local search result. For example, in one embodiment, geocoder 430 may assign a geographical identifier (eg, location, coordinates, etc.) to objects. For example, geocoder 430 may match an address to an address in index / document repository 415. The output from the geocoder 430 can be used for various purposes. For example, yellow page data 405 may be parsed to determine business information (eg, address, phone number, email address, facsimile number, business hours, etc.) for the POI. Business information may be extracted from the web document data 410 and / or location information provided in the search query may be identified.

옐로우 페이지 데이터(405)를 색인화(index)하기 위하여, 인덱서(435)는, 중국어 주소를 보고 지도 위치(map position)를 판정할 필요가 있지만, 여기에는 많은 문제점이 있다. 예를 들어, 중국 내의 주소의 대부분에 대해 정확한 위치와 상세한 주소 정보를 이용하는 것은 쉽지 않다. 중국어 주소는 적절하게 정의된 형식과 분류 체계(hierarchy)를 구비하지 못하고 있기 때문이다. 중국어 주소의 가능한 구성 요소로는, 도시(city), 지구(district), 도심(town), 마을(village), 도로(road), 거리(street), 거리 번지(street number), 및 빌딩이 포함될 수 있다. 옐로우 페이지 데이터(405)는, 특히 시골 지역(rural areas)에서는 그 형식이 자유로울 수 있으며(예컨대, 어떠한 특정의 형식이나 형태에 맞추지 않음), 몇몇 POI에 대해서는, 대응하는 주소 구성 요소를 이용할 수 없다. 중국어 주소의 예를 든다. In order to index the yellow page data 405, the indexer 435 needs to look at the Chinese address and determine the map position, but there are many problems with this. For example, it is not easy to use accurate location and detailed address information for most of the addresses in China. Chinese addresses do not have a properly defined format and hierarchy. Possible components of a Chinese address include city, district, town, village, village, street, street, street number, and building. Can be. Yellow page data 405 may be free in its format, particularly in rural areas (eg, does not conform to any particular format or form), and for some POIs, the corresponding address component may not be available. . Give an example of a Chinese address.

ShenZhen City HeGang Town AnLiang Village AnLiang Road 172 Number JingCheng Building;ShenZhen City HeGang Town AnLiang Village AnLiang Road 172 Number JingCheng Building;

ShenZhen City LongHua Town MingZhiMingLe Office Complex;ShenZhen City LongHua Town MingZhiMingLe Office Complex;

ShenZhen City FuHong Road ShiMao Square Block A 17 Floor; 및ShenZhen City FuHong Road ShiMao Square Block A 17 Floor; And

Beijing City HaiDian District SiJiQingXiaoFu.Beijing City HaiDian District SiJiQingXiaoFu.

지오코더(430)는, 옐로우 페이지 데이터(405)에 있는 주소를 지도 제공자 데이터(400)에 제공된 주소와 최적으로 매칭시켜서, 가능한 가장 정확한 지도 위치를 얻을 수 있다. 지오코더(430)는, 주소 리스트 작성기(600), 파서(parser)(610), 최장 매칭 프리픽스 로케이터(longest matching prefix locator)(620), 조합 로케이터(630), 질의 지오코딩 유닛(query geocoding unit)(640) 등을 포함할 수 있다. 지오코더(430)의 구성 요소들은 각각의 주소(예컨대, ShenZhen City HeGang Town AnLiang Village AnLiang Road 172 Number JingCheng Building)에 대해 많은 작업을 수행할 수 있다. The geocoder 430 may optimally match the address in the yellow page data 405 with the address provided in the map provider data 400 to obtain the most accurate map location possible. The geocoder 430 may include an address list generator 600, a parser 610, a longest matching prefix locator 620, a combination locator 630, and a query geocoding unit. ) 640 and the like. The components of the geocoder 430 may perform many tasks for each address (eg, ShenZhen City HeGang Town AnLiang Village AnLiang Road 172 Number JingCheng Building).

주소 리스트 작성기(600)는, 지도 제공자 데이터(400) 및 옐로우 페이지 데이터(405)를 수신할 수 있으며, 지도 제공자 데이터(400) 및/또는 옐로우 페이지 데이터(405)로부터, 성(province), 시(city), 지구(district), 거리 이름(street name), 주소, POI 이름, 또는 이들의 조합에 기초하여 주소 리스트(이것을 "토큰"이라고 함)를 작성할 수 있다. 각각의 주소에 대해, 파서(610)는, 주소의 시작 부분부터 도시(city)를 파싱(parsing)하기 위한 시도를 행한다. 예를 들어, 주소로부터 "ShenZhen City"가 파서(610)에 의해 파싱될 수 있다. 파서(610)는, 주소로부터 지구(district)를 파싱할 수도 있다. 예를 들어, 상기 설명한 주소의 예에서는 지구(district)가 없기 때문에, 파서(610)는 주소로부터 지구를 파싱할 수 없을 것이다. The address list builder 600 may receive the map provider data 400 and the yellow page data 405, and from the map provider data 400 and / or the yellow page data 405, the province, the city. A list of addresses (called "tokens") can be created based on a city, district, street name, address, POI name, or a combination thereof. For each address, the parser 610 makes an attempt to parse the city from the beginning of the address. For example, "ShenZhen City" from the address may be parsed by parser 610. The parser 610 may parse the district from the address. For example, since there is no district in the example of the address described above, parser 610 will not be able to parse the district from the address.

지오코더(430)의 최장 매칭 프리픽스 로케이터(620)는 주소의 또 다른 부분을 찾는데(locate) 사용될 수 있다. 예를 들어, 최장 매칭 프리픽스 로케이터(620)는 주소 리스트로부터 최장 매칭 프리픽스(예컨대, 토큰)를 찾기 위한 시도를 행한다. 다만, 주소 리스트에 특정의 토큰이 없을 때(예컨대, 주소 리스트에 "HeGang Town"이 없음)에는 이러한 작업이 실패할 것이다. 최장 매칭 프리픽스 로 케이터(620)는, 단어 "Town"이 주소 리스트에 포함되어 있는 경우에는, 단어 "Town"의 끝으로 진행할 것이다. 주소 리스트에 토큰 전체(예컨대, "HeGang Town AnLiang Village AnLiang Road")가 존재할 때에는, 최장 매칭 프리픽스 로케이터(620)는 그 토큰을 양호한 매칭으로 식별할 수 있다(예컨대, "HeGang Town"이 양호한 매칭으로 식별될 수 있음). 최장 매칭 프리픽스 로케이터(620)는, 주소 리스트로부터 다시 최장 매칭 프리픽스(예컨대, 토큰)를 찾기 위한 시도를 행한다. 이것이 실패하면, 최장 매칭 프리픽스 로케이터(620)는, 단어 "Village"가 존재하는 경우(예컨대, "AnLiang Village"), 그 단어 "Village"의 끝으로 진행할 수 있다. 최장 매칭 프리픽스 로케이터(620)는, 주소 리스트로부터 최장 매칭 프리픽스(예컨대, 토큰)를 다시 찾기 위한 처리 과정(프로세스)을 반복할 수 있다. 이 경우, 최장 매칭 프리픽스 로케이터(620)는 거리 이름(예컨대, "Road" 또는 "Street")을 매칭시키는 시도를 행할 수 있다. 최장 매칭 프리픽스 로케이터(620)는, 이들 단어 "Road" 또는 "Street"가 존재하는 경우(예컨대, "AnLiang Road"), 이들 단어 "Road" 또는 "Street"의 끝으로 진행할 수 있다. 최장 매칭 프리픽스 로케이터(620)는, 또한 단어 "Number"가 존재하는 경우(예컨대, "172 Number"), 이 단어 "Number"의 끝으로 진행할 수 있다. 마지막으로, 최장 매칭 프리픽스 로케이터(620)는 POI 이름으로부터 최장 매칭 프리픽스(예컨대, 토큰)를 찾기 위한 시도를 행할 수 있다. 이에 의해, 빌딩, 학교, 공원 등의 이름(예컨대, "JingCheng Building")에 대한 매칭을 제공할 수 있다. The longest matching prefix locator 620 of the geocoder 430 may be used to locate another portion of the address. For example, longest matching prefix locator 620 attempts to find the longest matching prefix (eg, token) from the address list. However, this operation will fail if there are no specific tokens in the address list (eg, there is no "HeGang Town" in the address list). The longest matching prefix locator 620 will proceed to the end of the word "Town" if the word "Town" is included in the address list. When there is an entire token (eg, "HeGang Town AnLiang Village AnLiang Road") in the address list, the longest matching prefix locator 620 may identify the token as a good match (eg, "HeGang Town" as a good match). Can be identified). Longest matching prefix locator 620 attempts to find the longest matching prefix (eg, token) again from the address list. If this fails, the longest matching prefix locator 620 may proceed to the end of the word "Village" if the word "Village" is present (eg, "AnLiang Village"). The longest matching prefix locator 620 may repeat the process (process) to find the longest matching prefix (eg, token) again from the address list. In this case, the longest matching prefix locator 620 may attempt to match the street name (eg, "Road" or "Street"). The longest matching prefix locator 620 may proceed to the end of these words "Road" or "Street" if these words "Road" or "Street" are present (eg, "AnLiang Road"). Longest matching prefix locator 620 may also proceed to the end of this word "Number" if the word "Number" is present (eg, "172 Number"). Finally, the longest matching prefix locator 620 may attempt to find the longest matching prefix (eg, token) from the POI name. This can provide matching for names of buildings, schools, parks, and the like (eg, "JingCheng Building").

조합 로케이터(630)는, 특정의 조합의 위치를 찾는데, 먼저 POI 이름를 찾 고, 이어서 다양한 레벨의 주소를 찾으며, 마지막으로 지구 또는 도시를 찾는다. 이러한 검색 구성(locating arragement)에 의해, 대부분의 특정의 주소가 조합 로케이터(630)에 의해 획득될 수 있다는 것이 보장될 수 있다. 예를 들어, 조합 로케이터(630)는 다음과 같은 조합의 예를 찾을 수 있다. The combination locator 630 finds the location of a particular combination, first finding the POI name, then finding the various levels of address, and finally finding the district or city. By this locating arragement, it can be ensured that most specific addresses can be obtained by the combinatorial locator 630. For example, the combination locator 630 may find an example of the following combination.

도시 + 지구 + POI 이름;City + district + POI name;

도시 + 지구 + 최장 매칭 프리픽스 로케이터(620)에 의해 찾은 주소(예컨대, "Road" 또는 "Street")Address found by city + district + longest matching prefix locator 620 (eg, "Road" or "Street")

도시 + 지구 + 최장 매칭 프리픽스 로케이터(620)에 의해 찾은 주소(예컨대, "Village")Address found by city + district + longest matching prefix locator 620 (eg, "Village")

도시 + 지구 + 최장 매칭 프리픽스 로케이터(620)에 의해 찾은 주소(예컨대, "Town")Address found by city + district + longest matching prefix locator 620 (eg, "Town")

도시 + 지구; 및/또는 City + district; And / or

도시city

사용자에 의해 지역 검색 질의가 입력되면, 검색 질의의 위치 부분(location part)은 지도 제공자가 소유하는 지도 서버(map server)로 보내질 수 있다. 위치 질의(location query)가 중국어, 일본어, 또는 한국어(CJK) 문자를 포함하고 있다면, 지도 서버는 그 질의를 질의 지오코딩 유닛(query geocoding unit)(640)에 보내서 지오코딩이 행해지도록 할 수 있다. 사용자가 입력한 위치가 명확하지 않은 경우(예컨대, 지오코더로부터의 제1 결과의 스코어가 제2 결과의 스코어의 2배보다 작은 경우), 질의 지오코딩 유닛(640)은 사용자에게 제안을 할 수 있다. 예를 들 어, 위치 질의가 "History Museum"(역사 박물관)인 경우, 질의 지오코딩 유닛(640)은, "Do you want to look for TianJian City HeDong District History Museum, or ShangHai City PuDong District ShangHai History Museum?"(티엔지엔시 헤동구 역사 박물관을 찾나요 아니면 상하이시 푸동구 상하이 역사 박물관을 찾나요?)라고 하는 제안을 할 수 있다. If a local search query is entered by the user, the location part of the search query may be sent to a map server owned by the map provider. If the location query contains Chinese, Japanese, or Korean (CJK) characters, the map server can send the query to a query geocoding unit 640 for geocoding to be done. . If the location entered by the user is not clear (eg, when the score of the first result from the geocoder is less than twice the score of the second result), the query geocoding unit 640 may make a suggestion to the user. have. For example, if the location query is "History Museum", the query geocoding unit 640 may be "Do you want to look for TianJian City HeDong District History Museum, or ShangHai City PuDong District ShangHai History Museum You can make a suggestion that asks, "Do you look for a history museum in Hedong-gu, Tianzien City or a Shanghai history museum in Pudong-gu, Shanghai?"

질의 지오코딩 유닛(640)은 검색 결과 위치 내의 다수의 지점에 기초한 검색 결과의 스코어를 산출할 수 있다. 예를 들어, ChangChuan City Yang District(창추안시 양구)가 Beijing City ChaoYang District(베이징시 차오양구)보다 스코어가 작다면, 사용자의 질의 위치가 "ChaoYang District"인 경우, Beijing City ChaoYang District가 표시될 수 있다. The query geocoding unit 640 may calculate a score of the search result based on a number of points within the search result location. For example, if ChangChuan City Yang District has a smaller score than Beijing City ChaoYang District, Beijing City ChaoYang District may be displayed if the user's query location is "ChaoYang District." have.

도 6은 지오코더(430)에 의해 수행되는 작업의 예를 나타내고 있지만, 다른 실시예에서는, 지오코더(430)가 지역 검색 결과를 식별하는데 사용될 수 있는 추가의 또는 다른 작업을 수행할 수 있다. 또한, 도 6은 지오코더(430)의 구성 요소가 상호 접속된 것으로 도시되어 있지만, 다른 실시예에서는, 지오코더(430)의 구성 요소가 개별의 상호 접속되지 않은 구성 요소가 될 수 있다. 6 shows an example of the work performed by the geocoder 430, but in other embodiments, the geocoder 430 may perform additional or other work that may be used to identify local search results. In addition, although FIG. 6 shows that the components of the geocoder 430 are interconnected, in other embodiments, the components of the geocoder 430 may be separate, non-interconnected components.

인덱서(Indexer ( IndexerIndexer ))

인덱서(435)는, 도 7에 도시된 바와 같이, 지역 검색 결과의 식별에 도움이 되는 여러 작업을 수행할 수 있다. 예를 들어, 일실시예에서, 인덱서(435)는, POI에 대한 업소 정보(예컨대, 주소, 전화 번호, 이메일 주소, 팩시밀리 번호, 업무 시간 등)를 판정하기 위해 옐로우 페이지 데이터(435)를 전처리(preprocess)할 수 있으며, 웹 문서 데이터(410)로부터 업소 정보를 추출할 수 있고, 및/또는 검색 질의 내에서 위치 정보를 식별할 수 있다. 인덱서(435)는, 지도 데이터 인덱서(700), 옐로우 페이지 데이터 전처리기(710), 업소 정보 추출기(720), 거리 플래트너(distance flattener)(730), 클러스터러(740), 업소 정보 레포지토리(750), 스니피트 하이라이터(snippet highlighter)(760) 등을 포함할 수 있다. The indexer 435 may perform a number of tasks to help identify local search results, as shown in FIG. 7. For example, in one embodiment, indexer 435 preprocesses yellow page data 435 to determine business information (eg, address, phone number, email address, fax number, business hours, etc.) for the POI. preprocess, extract business information from web document data 410, and / or identify location information within a search query. The indexer 435 may include a map data indexer 700, a yellow page data preprocessor 710, a business information extractor 720, a distance flattener 730, a clusterer 740, and a business information repository 750. ), A snippet highlighter 760, and the like.

지도 데이터 인덱서(700)는 지도 위치 정보를 포함할 수 있는 지도 제공자 데이터(400)로부터의 주소 데이터를 색인화할 수 있다. 지오코더(430)는, 색인화된 주소 데이터에 기초하여 주소를 다시 지오코딩하기 위한 시도를 행한다. 클러스터러(clusterer)(740)(이하 설명함)는, 클러스터 위치(cluster position)가 주어진 위치와 다른 경우에, 클러스터 위치를 설정할 수 있지만, 미리 정해진 거리 임계값(예컨대, 3 킬로미터 이내)을 넘는 클러스터 위치를 설정할 수는 없다. 이러한 구성은, 클러스터링(clustering)을 향상시키는데 사용될 수 있다. 이에 대해서는 나중에 상세히 설명한다. Map data indexer 700 may index address data from map provider data 400, which may include map location information. Geocoder 430 makes an attempt to geocode the address again based on the indexed address data. The clusterer 740 (described below) may set the cluster position if the cluster position is different from the given position, but above a predetermined distance threshold (eg, within 3 kilometers). You cannot set the cluster location. Such a configuration can be used to improve clustering. This will be described later in detail.

옐로우 페이지 데이터 전처리기(710)는, 여러 제공자로부터 옐로우 페이지 데이터(405)를 수신할 수 있으며, 옐로우 페이지 데이터(405)를 공통의 포맷으로 전처리할 수 있다. 이러한 포맷화된 데이터는 색인(indexing) 과정에서 지오코더(430)에 제공될 수 있다. 지오코더(430)는 주소를 지오코딩하기 위한 시도를 행할 수 있다. 주소가 빌딩 또는 거리 레벨까지 지오코딩될 수 있다면, 주소는 정규 엔트리(normal entry)로 색인화될 수 있다. 주소가 도시 또는 지구(district) 레벨로 지오코딩될 수 있다면, 주소는 근사 위치(approximate position)를 가진 엔트 리로서 색인화될 수 있다. 스코어링(scoring) 과정 동안, 엔트리는 중심으로부터 20 킬로미터 이상 떨어져 있는 것처럼 처리될 수 있다(반드시 레벨이 낮은 스코어를 가짐). 주소가 지오코딩될 수 없다면, 주소는 위치가 없는 엔트리로서 처리될 수 있다. 색인 과정에서, 위치가 없는 엔트리는 다른 엔트리와 클러스터링되고, 엔트리는 계속 유지될 수 있다. 그렇지 않다면, 엔트리가 폐기(discard)될 것이다. The yellow page data preprocessor 710 may receive yellow page data 405 from various providers, and may preprocess the yellow page data 405 in a common format. Such formatted data may be provided to the geocoder 430 during the indexing process. Geocoder 430 may make an attempt to geocode an address. If the address can be geocoded up to the building or street level, the address can be indexed as a normal entry. If the address can be geocoded at the city or district level, the address can be indexed as an entry with an approximate position. During the scoring process, entries can be treated as if they are 20 kilometers or more from the center (must have a low level score). If the address cannot be geocoded, the address can be treated as an entry without a location. In the indexing process, an entry without a location is clustered with another entry, and the entry can remain. Otherwise, the entry will be discarded.

업소 정보 추출기(business information extractor)(720)는, 다양한 기술을 사용하여 웹 문서 데이터(410)로부터 업소 정보(예컨대, 주소 및 전화 번호)를 추출할 수 있다. 이 기술은, 중국과 일본에서의 주소 및 전화 번호의 상이한 포맷에 따라 변경될 수 있다. Business information extractor 720 may extract business information (eg, address and phone number) from web document data 410 using various techniques. This technique can be changed according to different formats of address and phone number in China and Japan.

예를 들어, 제1 기술로서, 업소 정보 추출기(720)는, 통계적 모델(statistical model)에 기초한 주소와 연관된 업소 정보를 판정하기 위해 주소를 가진 문서를 분석할 수 있는 분류기(classifier)를 포함할 수 있다. 분류기에 의해 분석되는 문서는, 대응하는 옐로우 페이지 데이터(405)가 없는 주소를 가진 문서 및/또는 정확하지 않은 옐로우 페이지 데이터(405)가 있는 주소를 가진 문서를 포함할 수 있다. 분류기에 의해 수행되는 기능은, 업소 정보가 상호(타이틀) 정보 또는 전화 번호 정보에 대응하는지 여부에 따라 달라질 수 있다. 업소 정보가 상호 정보나 전화 번호 정보 이외의 다른 정보를 포함할 때에는 또 다른 기능이 수행될 수 있다. 상호(타이틀)는, 주소의 가까이에 있는 용어를 해석하고, 각각의 용어가 타이틀의 일부가 될 가능성을 판정함으로써 식별될 수 있다. 식별되는 각각 의 후보 타이틀(candidate title)에 신뢰도 스코어(confidence score)가 할당될 수 있다. For example, as a first technique, business information extractor 720 may include a classifier capable of analyzing a document having an address to determine business information associated with an address based on a statistical model. Can be. The document analyzed by the classifier may include a document with an address without corresponding yellow page data 405 and / or a document with an address with incorrect yellow page data 405. The function performed by the classifier may vary depending on whether the business information corresponds to mutual (title) information or telephone number information. Another function may be performed when the business information includes information other than the mutual information or the telephone number information. The trade name (title) can be identified by interpreting terms near the address and determining the likelihood that each term will be part of the title. A confidence score may be assigned to each candidate title that is identified.

문서에 있는 일련의 후보 전화 번호를 식별함으로써 전화 번호가 주소와 연관될 수 있다. 통계적 모델에 기초하여, 각각의 후보 전화 번호가 이전의 후보 전화 번호와 관련된 예측 및 후보 전화 번호 부근의 용어의 창(예컨대, 미리 정해진 수의 용어를 왼쪽/오른쪽으로 찾아봄)이 있는 경우, 주소와 연관될 가능성이 판정될 수 있다. 신뢰도 스코어는 이들의 판정된 확률에 기초하여 후보 전화 번호에 할당될 수 있다. 선택적으로, 해당 주소에 대한 최적의 전화 번호가 정해질 수 있다. 이어서, 전화 번호가 주소와 연관되어 업소 리스트를 구서 또는 보충하게 된다. A telephone number can be associated with an address by identifying a series of candidate telephone numbers in the document. Based on the statistical model, if each candidate phone number has a window of terms near the candidate and candidate phone numbers associated with the previous candidate phone number (eg, looking up a predetermined number of terms left / right), the address Can be determined. Confidence scores can be assigned to candidate phone numbers based on their determined probabilities. Optionally, an optimal phone number for that address can be determined. The telephone number is then associated with the address to compose or supplement the business listing.

제2 기술로서, 업소 정보 추출기(720)는, 검색 엔진의 일부분으로서 포함될 수 있는 위치 추출기(location extractor)를 포함할 수 있다. 위치 추출기는, 검색 질의를 받아서, 그 검색 질의가 지리적 기준(geographic reference)을 포함하는지 여부를 판정할 수 있다. 검색 질의가 지리적 기준을 포함하고 있다면, 위치 추출기는 그 질의 내의 검색어로부터 지리적 기준을 분리한 다음, 이것을 지역 검색 엔진에 제공할 수 있다. 검색 질의가 지리적 기준을 포함하고 있지 않다면, 위치 추출기는 검색 질의에 관련된 일련의 문서로 반환하는 통상적인 웹 검색 엔진을 포함할 수 있는 웹 검색 엔진에, 검색어를 제공할 수 있다. 지역 검색 엔진은, 업소 리스트 검색 엔진과 같은 전용의 검색 엔진을 포함할 수 있다. 지역 검색 엔진은, 그 동작과 관련하여, 위치 추출기로부터 검색어 및 검색 질의의 지리적 기준을 수 신할 수 있다. 지역 검색 엔진은, 지리적 기준과 연관된 지리적 영역에 관한 문서 코퍼스 내의 문서에 검색어를 비교함으로써 검색 질의를 매칭시키는 일련의 문서(즉, 검색 질의의 일련의 검색어를 포함하는 문서)를 식별할 수 있다. 지역 검색 엔진은, 식별된 문서를 스코어링하고, 이들의 스코어에 기초하여 정렬(sort)한 다음, 검색 결과의 리스트로서 출력할 수 있다. As a second technique, business information extractor 720 may include a location extractor that may be included as part of a search engine. The location extractor may receive a search query and determine whether the search query includes a geographic reference. If the search query includes a geographic criterion, the location extractor may separate the geographic criterion from the search term in the query and then provide it to the local search engine. If the search query does not include geographic criteria, the location extractor may provide the search term to a web search engine, which may include a conventional web search engine that returns a series of documents related to the search query. The local search engine may include a dedicated search engine, such as a business list search engine. The local search engine may receive, from the location extractor, the geographical criteria of search terms and search queries from the location extractor. The local search engine may identify a set of documents (ie, documents containing a set of search terms of the search query) that match the search query by comparing the search terms to documents in the document corpus relating to the geographic area associated with the geographic criteria. The local search engine may score the identified documents, sort them based on their scores, and then output them as a list of search results.

위치 추출기는, 변수 i를 1로 설정하고, 도시 리스트에서의 각 도시[city(i)]의 도시명에 대한 검색을 수행함으로써, 검색 질의에서 명확한 주소(unambiguous addresses)(예컨대, 도시)를 판정할 수 있다. 이러한 검색에 대한 검색 결과의 수는 countcity(도시 검색 횟수)로서 카운트될 수 있다. 대응하는 성(province)의 이름으로 도시명에 대한 검색이 수행될 수도 있다. 이 검색에 대한 검색 결과의 수는 countcity/province(도시/성의 검색 횟수)로서 카운트될 수 있다. The location extractor may determine unambiguous addresses (eg, cities) in the search query by setting the variable i to 1 and performing a search for the city name of each city [city (i)] in the city list. Can be. The number of search results for this search may be counted as countcity. A search for a city name may also be performed with the name of the corresponding province. The number of search results for this search may be counted as countcity / province.

countcity/province가 countcity의 X%(X는 0보다 큰 수) 이상이 되는지 여부가 판정될 수 있다. couuntcity/province가 countcity의 적어도 X%인 경우에는, 도시는 "명백한" 도시(unambiguous city)로 간주될 수 있다. "명백한 도시"라는 것은, 검색 질의에서 단독으로 사용될 수 있는 이름을 가진 도시를 뜻하며, 사용자가 도시 외의 다른 것을 의도하지 않는다는 것을 이해할 수 있을 것이다. countcity/province가 countcity의 적어도 X%가 되지 않으면, 임의의 더 많은 도시가 리스트 상에 존재하는지 여부가 판정될 수 있다. 더 많은 도시가 리스트 상에 있으면, 변수 i는 하나씩 증가되며, 리스트에 있는 다음 도시가 평가될 수 있다. It may be determined whether countcity / province is greater than or equal to X% of countcity (where X is a number greater than zero). If couuntcity / province is at least X% of countcity, the city may be considered an "unambiguous city." By "obvious city" is meant a city with a name that can be used alone in a search query, and it will be understood that the user does not intend anything other than the city. If countcity / province is not at least X% of countcity, it may be determined whether any more cities are on the list. If more cities are on the list, the variable i is incremented by one, and the next city in the list can be evaluated.

검색 결과의 문서는 이들 문서가 포함하는 임의의 우편 번호(postal codes)를 식별하기 위해 분석될 수 있다. 우편 번호는 패턴 매칭 기술을 사용하여 식별될 수 있으며 우편 번호를 우편 번호 리스트에 비교함으로써 확인(verify)할 수 있다. 우편 번호가 city(i)와 연관된 우편 번호에 대응하는지 여부가 판정될 수 있다. city(i)와 연관된 우편 번호를 포함하는 문서의 수는 countpostal(우편 번호 검색 횟수)로서 카운트될 수 있다. countpostal이 countcity의 X%(예컨대, 5%) 이상인지 여부가 판정될 수 있다. countpostal이 countcity의 X% 이상인 경우, 해당 도시는 명백한 도시인 것으로 간주될 수 있다. The documents of the search results can be analyzed to identify any postal codes that these documents contain. Postal codes can be identified using pattern matching techniques and verified by comparing the postal codes to a list of postal codes. It may be determined whether the postal code corresponds to the postal code associated with city (i). The number of documents containing the postal code associated with city (i) can be counted as countpostal. It may be determined whether the countpostal is greater than or equal to X% (eg, 5%) of countcity. If countpostal is greater than or equal to X% of countcity, the city may be considered to be an explicit city.

제3 기술로서, 업소 정보 추출기(720)는 지리적으로 관련성을 갖는 문서를 식별할 수 있다. 본 명세서에서 사용되는 지리적으로 관련성을 갖는 문서란, 몇몇 방식으로, 지리적 위치(geographical location)에 대한 특정의 관련성을 갖는 것으로 판정될 수 있는 어떠한 문서라도 포함한다. 업소 리스트(예컨대, 옐로우 페이지 리스트)는, 업소의 주소에 의해 정의된 지리적 영역에 관련되는 지리적으로 관련성을 갖는 문서인 것으로 간주될 수 있다. 웹 문서와 같은 다른 문서도 또한 특정의 지리적 관련성을 가질 수 있다. 예를 들어, 업소는 홈 페이지를 가질 수 있으며, 업소에 대해 설명하거나 평가하는 문서의 대상이 될 수 있으며, 몇몇 다른 방식으로 업소에 관련되는 웹 페이지에 의해 언급되는 것일 수 있다. 문서가 연관된 특정의 지리적 위치는, 우편 주소 또는 다른 지리적 표시 등과 같은 많은 방식으로 정해질 수 있다. As a third technique, business information extractor 720 may identify geographically relevant documents. Geographically relevant document, as used herein, includes any document that, in some manner, may be determined to have a particular association with a geographical location. A business list (eg, a yellow page list) may be considered to be a geographically relevant document related to the geographic area defined by the business's address. Other documents, such as web documents, may also have specific geographic relevance. For example, a business may have a home page, may be the subject of a document describing or evaluating the business, and may be referred to by a web page associated with the business in some other way. The particular geographic location with which the document is associated can be determined in many ways, such as a postal address or other geographic indication.

지리적으로 관련성을 갖는 문서와 연관된 지리적 영역은 이에 대응하는 위치 식별자에 매핑될 수 있다. 그 문서에 대해 추가의 위치 식별자가 정해질 수 있다. 특히, 미리 정해진 영역 내의 주변 영역에 대응하는 위치 식별자도 정해질 수 있다. 각각의 지리적으로 관련성을 갖는 문서는, 문서의 영역과 식별된 주변 영역에 연관된 위치 식별자를 포함한 것처럼 색인화될 수 있다. Geographic regions associated with geographically relevant documents may be mapped to corresponding location identifiers. Additional location identifiers may be specified for the document. In particular, a location identifier corresponding to the peripheral area within the predetermined area may also be determined. Each geographically relevant document may be indexed as if including a location identifier associated with the region of the document and the identified surrounding region.

도 7은, 업소 정보 추출기(720)가 인덱서(435)의 구성 요소인 것으로 나타내고 있지만, 다른 실시예에서는, 업소 정보 추출기(720)를 인덱서(435)로부터 분리시킬 수 있다. 색인화 과정에서 복합 문서(composite document)의 세트가 사용될 수 있는 것을 보장하기 위하여, 업소 정보 추출기(720)에 의해 추출된 정보가 업소 정보 레포지토리(750) 내에 제공되어 있을 수 있다. 업소 정보 레포지토리(750)는, 다양한 정보, 예컨대 업소 정보 추출기(720)에 의해 업소 정보가 추출된 문서를 포함할 수 있다. 업소 정보 레포지토리(750)는, 추출한 업소 정보를 가지고, 인덱서(435) 내에 제공될 수 있다. 도 7은 업소 정보 레포지토리(750)를 인덱서(435)의 구성 요소인 것으로 나타내고 있지만, 다른 실시예에서는, 업소 정보 레포지토리(750)가 인덱서(435)로부터 분리되어 있을 수 있다. 7 shows that business information extractor 720 is a component of indexer 435, in other embodiments, business information extractor 720 may be separated from indexer 435. In order to ensure that a set of composite documents can be used in the indexing process, information extracted by the business information extractor 720 may be provided in the business information repository 750. The business information repository 750 may include a variety of information, for example, a document from which business information is extracted by the business information extractor 720. The business information repository 750 may be provided in the indexer 435 with the extracted business information. Although FIG. 7 shows the business information repository 750 as a component of the indexer 435, in other embodiments, the business information repository 750 may be separate from the indexer 435.

거리 플래트너(distance flattener)(730)는 지역 검색 질의에 대한 검색 반경(search radius) 또는 거리를 설정할 수 있다. 예를 들어, 일실시예에서, 각각의 지역 검색 질의는 지오코더(430)에 의해 특정의 위치에 지오코딩될 수 있다. 각각의 위치는 지점 위치(예컨대, 빌딩, 유명한 여행자 장소, 학교, 거리 중심 등) 또는 경계 영역 위치(예컨대, 지구, 도시, 성 등)이 될 수 있다. 지점 위치의 경우, 거리 플래트너(730)는, 검색 반경을 미리 정해진 거리(예컨대, 해당 지점 주변 의 근사적으로 5 킬로미터)로 설정할 수 있다. 경계 영역 위치의 경우, 거리 플래트너(730)는, 그 위치의 중심으로부터 코너까지의 대략 최대 거리를 검색 반경으로 설정할 수 있다. 위치와 연관된 zcode 세트(예컨대, 해당 위치를 구성하는 zcode의 세트) 내의 검색 결과의 스코어를 만들어낼 수 있다. 이러한 방식에서는, 사용자가 지구 이름(district name)에 근접해서 검색하면, 최상위 결과(top results)가 해당 지구 내에 있게 된다. Distance flattener 730 may set a search radius or distance for a local search query. For example, in one embodiment, each local search query may be geocoded at a specific location by geocoder 430. Each location may be a point location (eg, building, famous tourist place, school, street center, etc.) or a boundary area location (eg, district, city, castle, etc.). For point locations, distance flattener 730 may set the search radius to a predetermined distance (e.g., approximately 5 kilometers around that point). For boundary region locations, distance flattener 730 may set the approximate maximum distance from the center of the location to the corner as the search radius. Scores of search results within a set of zcodes associated with a location (eg, a set of zcodes constituting that location). In this way, if a user searches near a district name, the top results will be within that district.

클러스터러(740)는 지도 제공자 데이터(400)와 옐로우 페이지 데이터(405)를 함께 클러스터링할 수 있다. 많은 지도 제공자 데이터(400)가 정확한 위치 정보를 포함함으로써, 지도 상에 정확하게 표시될 수 있지만, 상세한 주소 또는 전화 번호 정보를 포함하지 않을 수 있다(예컨대, 거리 번지가 없는 주소를 포함하거나 전화 번호가 없을 수 있음). 한편, 옐로우 페이지 데이터(405)는 상세한 주소와 전화 번호 정보를 포함할 수 있지만, 정확한 위치 정보를 포함하지 않을 수 있다. 예를 들어, 지도 제공자 데이터(400)는 소스(예컨대, 지도 제공자), 타이틀(예컨대, "Beijjing University"), 주소(예컨대, "Beijing City HaiDian District YiHeYuan Road"), 및/또는 POI ID(지도 표시용)(예컨대, "A1234567")를 포함할 수 있다. 이에 대하여, 옐로우 페이지 데이터(405)는, 소스(예컨대, 옐로우 페이지 데이터 제공자), 타이틀(예컨대, "Beijjing University"), 주소(예컨대, "Beijing City HaiDian District YiHeYuan Road 5 Number"), 및/또는 전화 번호(예컨대, "010-62752114")를 포함할 수 있다. 이들 엔트리가 클러스터러(740)에 의해 클러스터링되면, 프런트 엔드 서버(440)는 사용자에게 상세한 주소 및 전화 번호 정보뿐만 아 니라 지도 상에서의 정확한 위치를 제공할 수 있게 된다. The clusterer 740 may cluster the map provider data 400 and the yellow page data 405 together. Many map provider data 400 may be accurately displayed on a map by including accurate location information, but may not include detailed address or phone number information (eg, include an address without a street address or May not exist). The yellow page data 405 may include detailed address and phone number information, but may not include accurate location information. For example, map provider data 400 may include a source (eg, map provider), a title (eg, "Beijjing University"), an address (eg, "Beijing City HaiDian District YiHeYuan Road"), and / or a POI ID (map Display) (eg, "A1234567"). In this regard, yellow page data 405 may include a source (eg, yellow page data provider), a title (eg, “Beijjing University”), an address (eg, “Beijing City HaiDian District YiHeYuan Road 5 Number”), and / or It may include a telephone number (eg, "010-62752114"). When these entries are clustered by the clusterer 740, the front end server 440 can provide the user with the correct location on the map as well as detailed address and phone number information.

옐로우 페이지 데이터(405)로부터 주소를 지오코딩[예컨대, 지오코더(430)에 의해]해서 얻어진 위치는, 근사 값이 될 수 있으며, 지도 제공자 데이터(400)에 의해 제공된 정확한 위치에서 멀리 떨어진 곳이 될 수 있다. 이러한 경우, 두 명의 제공자로부터 제공되는 동일한 업소가, 많이 상이한 지역에 위치될 수 있으며, 이에 따라 클러스터러(740)에 의해 서로 클러스터링되지 않을 수 있다. 이에 대한 해결책으로서, 지도 제공자 데이터(400)로부터의 주소를 클러스터 위치로 지오코딩[예컨대, 지오코더(430)에 의해]하는 처리를 포함할 수 있다. 클러스터 위치는 이웃 생성(neighborhood generation)과 클러스터러(740)에 의한 클러스터링을 위해 사용될 수 있다. 지도 제공자 데이터(400)에 의해 제공되는 실제 위치가 지도 표시를 위해 사용될 수 있다. The location obtained by geocoding an address from the yellow page data 405 (eg, by geocoder 430) may be an approximation, and may be located far from the exact location provided by map provider data 400. Can be. In this case, the same businesses provided from two providers may be located in many different locations and thus may not be clustered with each other by clusterer 740. As a solution to this, it may include processing to geocode (eg, by geocoder 430) the address from the map provider data 400 to the cluster location. The cluster location may be used for neighbor generation and clustering by the clusterer 740. The actual location provided by the map provider data 400 may be used for map display.

스니피트 하이라이터(snippet highlighter)(760)는 문서(예컨대, 웹 문서) 내의 발췌 부분(snippet)을 강조할 수 있다. 웹 문서의 스니피트 하이라이트 처리는 문서 내의 용어 오프셋(term offsets)에 의해 달성되는 것이 일반적이다. CJK(중국어, 일본어, 한국어) 문서는 다른 언어와 다르게 카운트되는 용어를 갖기 때문에(예컨대, 구획 문자로서 스페이스를 사용하지 않으며, 용어를 얻기 위해 텍스트의 긴 단락을 분할할 필요가 있을 수 있음), 특정의 용어를 강조하기 위해서는, 전체 문서를 분할(segment)해서 이에 대응하는 용어를 취득할 수 있지만, 효율적이지 않다. 그러나, 스니피트 하이라이터(760)는 용어 오프셋 대신에 바이트 오프셋(byte offsets)을 기억해서 색인화 동안 웹 문서 내의 주소 또는 전화 번호(또 는 몇몇 다른 업소 정보)를 식별할 수 있다. 스니피트 하이라이터(760)는 강조(highlight)를 행하기 위해 바이트 오프셋을 사용할 수 있으며 분할(segmentation)을 행하지 않아도 된다. 도 7은 스니피트 하이라이터(760)를 인덱서(435)의 구성 요소로서 나타내고 있지만, 다른 실시예에서는, 스니피트 하이라이터(760)를 인덱서로부터 분리시키거나 다른 구성 요소 내에[예컨대, 프런트 엔드 서버(440) 내에] 포함시킬 수 있다. Snippet highlighter 760 may highlight snippets in a document (eg, a web document). Snippet highlighting of web documents is typically accomplished by term offsets within the document. Because CJK (Chinese, Japanese, Korean) documents have terms that are counted differently from other languages (for example, they do not use spaces as delimiters, and you may need to split long paragraphs of text to obtain the term). In order to emphasize a specific term, it is possible to segment the entire document to obtain a corresponding term, but it is not efficient. However, snippet highlighter 760 may store byte offsets instead of term offsets to identify addresses or phone numbers (or some other business information) within web documents during indexing. Snippet highlighter 760 may use the byte offset to perform highlighting and does not need to perform segmentation. Although FIG. 7 shows snippet highlighter 760 as a component of indexer 435, in other embodiments, snippet highlighter 760 may be detached from the indexer or in another component (eg, a front-end server). 440].

도 7은 인덱서(435)에 의해 수행되는 작업의 예를 나타내고 있지만, 다른 실시예에서는, 인덱서(435)가 지역 검색 결과를 식별하는데 사용될 수 있는 추가의 작업 또는 다른 작업을 수행할 수도 있다. 또한, 도 7은 인덱서(435)의 구성 요소가 상호 접속된 것으로 도시하고 있지만, 다른 실시예에서는, 인덱서(435)의 구성 요소가 분리되어 상호 접속되지 않을 수 있다. 7 illustrates an example of the operation performed by indexer 435, but in other embodiments, indexer 435 may perform additional or other tasks that may be used to identify local search results. In addition, although FIG. 7 illustrates that the components of the indexer 435 are interconnected, in other embodiments, the components of the indexer 435 may be separated and not interconnected.

프런트 엔드 서버(Front-end server ( FrontFront EndEnd ServerServer ))

프런트 엔드 서버(440)는, 도 8에 나타낸 바와 같이, 지역 검색 결과의 식별에 도움이 되는 다양한 작업을 수행할 수 있다. 일실시예에서, 프런트 엔드 서버(440)는, 질의 재작성기(query rewriter)(800), 지역 검색 생성기(810), 지도 생성기(820), 지리 정보 생성기(830) 등을 포함할 수 있다. 도 8에는 프런트 엔드 서버(440)에 의해 수행되는 작업의 예를 나타내고 있지만, 다른 실시예에서는, 프런트 엔드 서버(440)가 지역 검색 결과의 식별에 도움이 되도록 사용될 수 있는 추가의 또는 다른 작업을 수행할 수 있다. As shown in FIG. 8, front-end server 440 may perform a variety of tasks to aid in the identification of local search results. In one embodiment, the front end server 440 may include a query rewriter 800, a local search generator 810, a map generator 820, a geographic information generator 830, and the like. Although FIG. 8 shows an example of the work performed by the front end server 440, in other embodiments, the front end server 440 may be further or otherwise capable of being used to aid in the identification of local search results. Can be done.

일실시예에서, 질의 재작성기(800)는 다양한 작업을 수행할 수 있다. 예를 들어, 웹 문서 클러스터의 수는 영어 데이터에 비해 중국어 데이터가 훨씬 더 작을 수 있기 때문에, 유효한 결과를 얻기 위해 타이틀이나 카테고리에서의 매칭이 사용될 수 있다. 또한, 중국어에서는 동일한 용어를 의미하는 동의어가 여러 개 존재할 수 있다. 예를 들어, "restaurant"(레스토랑)이라는 용어는 중국어로 통상 여러 개의 동의어가 있을 수 있다. 또한, 옐로우 페이지 데이터(400)의 다른 제공자가 같은 카테고리를 표현하는데 다른 이름을 사용할 수 있다. 사용자가 입력한 검색 질의에 대한 최대의 재현율(recall)을 제공하기 위하여, 질의 재작성기(800)는 각각의 카테고리에 대한 동의어 리스트를 만들 수 있다. 질의 재작성기(800)는, 질의를, "OR"(논리합) 피연산자(operand)에 의해 결합될 수 있는 검색어 쌍으로 확장하기 위해 각각의 지역 검색 질의를 재작성할 수도 있다. In one embodiment, the query rewrite 800 may perform various tasks. For example, because the number of web document clusters may be much smaller in Chinese data than in English data, matching in title or category may be used to obtain valid results. Also, in Chinese, there may be several synonyms that mean the same term. For example, the term "restaurant" (restaurant) may have several synonyms in Chinese. In addition, different providers of yellow page data 400 may use different names to represent the same category. In order to provide the maximum recall for the search query entered by the user, the query rewrite 800 may create a synonym list for each category. The query rewrite 800 may rewrite each local search query to expand the query into a pair of search terms that may be combined by an "OR" (logical sum) operand.

지역 검색 생성기(810)는, 지역 검색 결과(450)를 생성할 수 있다. 예를 들어, 지역 검색 생성기(810)는, 지역 검색 시스템(225)에 의해 획득되고 처리된 주소 정보에 기초하여, 특정의 지리적 영역 내의 관련 웹 페이지 및/또는 업소 리스트에 대응하는 결과를 생성할 수 있다. 지역 검색 결과(450)가 디스플레이[예컨대, 출력 장치(370)] 상에 표시(예컨대, 지역 검색 질의를 입력하는 사용자에게)될 수 있다. The local search generator 810 may generate a local search result 450. For example, local search generator 810 may generate results corresponding to relevant web pages and / or business listings within a particular geographic area based on address information obtained and processed by local search system 225. Can be. Local search results 450 may be displayed (eg, to a user entering a local search query) on a display (eg, output device 370).

지도 생성기(820)는 지역 검색 결과(450)에 관련된 지도를 생성할 수 있다. 예를 들어, 지역 검색 결과에 대한 지도를 표시하기 위하여, 지도 생성기(820)는, 검색 결과 페이지 상에 아이프레임(iframe)[즉, 웹 페이지 내에 삽입된 플로팅 프레임(floating frame)]을 구성할 수 있으며, 지도 제공자에 의해 제공된 URL에 대 해 포스트 액션(post action)을 실행할 수 있다. 포스트에서의 파라미터는, 각각의 검색 결과에 대해 다음과 같은 필드를 포함할 수 있다. 즉, 타이틀, 주소, 전화 번호, POI ID(지도 상에서의 지점을 표시하기 위한 것), 및 정확도(accuracy) 필드를 포함할 수 있다. 빌딩 레벨까지 지오코딩될 수 있는 위치가, 지도 생성기(820)에 의해 지도상에 accurate(정확한)로 마킹될 수 있다. 거리 레벨(또는 몇몇 더 높은 레벨의 추상적인 부분)까지 지오코딩될 수 있는 위치는 지도 생성기(820)에 의해 지도상에 estimated(추정된)로 마킹될 수 있다. 도 9는 이러한 2가지 정확도 레벨이, 지역 검색 결과(910)에 기초하여 생성된 지도(900) 상에서 어떻게 구분될 수 있는지를 나타낸다. 예를 들어, 정확한 위치(accurate locations)(920)는 하나의 마커 컬러(예컨대, 녹색)로 식별될 수 있으며, 추정된 위치(estimated locations)(930)는 다른 마커 컬러(예컨대, 적색)로 식별될 수 있다. 2가지 정확도 레벨(정확한 그리고 추정된)이 도 9에 도시되어 있지만, 본 발명에 따른 실시예에서 추가의 정확도 레벨이 사용될 수 있다. The map generator 820 may generate a map related to the local search result 450. For example, to display a map for local search results, map generator 820 may construct an iframe (i.e., a floating frame embedded within a web page) on the search results page. And post action against the URL provided by the map provider. The parameters in the post may include the following fields for each search result. That is, it may include a title, address, phone number, POI ID (to indicate a point on the map), and an accuracy field. Locations that can be geocoded up to the building level can be marked with accuracy on the map by the map generator 820. Locations that can be geocoded up to a distance level (or some higher level abstract portion) may be marked as estimated on the map by the map generator 820. 9 shows how these two levels of accuracy can be distinguished on a map 900 generated based on a local search result 910. For example, accurate locations 920 may be identified by one marker color (eg, green), and estimated locations 930 are identified by another marker color (eg, red). Can be. Although two levels of accuracy (accurate and estimated) are shown in FIG. 9, additional levels of accuracy may be used in embodiments according to the invention.

인덱서(435)에 의한 색인화 과정에서, 주소의 핑거프린트[예컨대, 주소 FP(540)]는 관련된 정확도[예컨대, FP 정확도(550)]와 함께 기억될 수 있다. 주소 핑거프린트와 POI ID[예컨대, 주소 FP/POI ID 매핑 정보(425)] 간의 매핑이, 각각의 검색 결과에 대한 POI ID를 조사하기 위해 지도 생성기(820)에 의해 사용될 수 있다. POI ID는 지도 제공자에 대한 지도[예컨대, 지도(900)] 상에서의 위치를 식별하기 위해 지도 생성기(820)에 의해 사용됨으로써, 지도 제공자가 결과 페이지 내에 제공된 지도상의 위치를 나타낼 수 있게 된다. In the indexing process by the indexer 435, the fingerprint of the address (eg, address FP 540) may be stored along with the associated accuracy (eg, FP accuracy 550). The mapping between the address fingerprint and the POI ID (eg, address FP / POI ID mapping information 425) may be used by the map generator 820 to examine the POI ID for each search result. The POI ID is used by the map generator 820 to identify a location on the map (eg, map 900) for the map provider, allowing the map provider to indicate the location on the map provided in the results page.

중국에서 지역 광고(ads)를 표시하기 위하여, 지리 정보 생성기(830)가 다양한 방식으로 ads 서버(840)에 지리 정보를 제공할 수 있다. 예를 들어, 일실시예에서, 성(province) 또는 자치시(self-administered city)는 2개의 숫자 코드를 가질 수 있으며, 이 숫자 코드는 ISO-3166-2에 의해 정의된 지역 코드(region code)의 제2 부분이 될 수 있다. 지오코더(430)는 각각의 주소로 이 코드를 색인화(예컨대, "CN-dd")할 수 있으며, 모든 성공적으로 지오코딩된 주소에 대해 프런트 엔드 서버(440)에게 전달할 수 있다. 지리 정보 생성기(830)는, 이 코드를 geo-region-code(지리적 영역 코드)로서 ads 서버(840)에 제공할 수 있다. In order to display local ads (ads) in China, geographic information generator 830 may provide geographic information to ads server 840 in a variety of ways. For example, in one embodiment, a province or self-administered city may have two numeric codes, which are region codes defined by ISO-3166-2. It can be the second part of). Geocoder 430 may index this code (e.g., "CN-dd") at each address and forward to front-end server 440 for all successfully geocoded addresses. The geographic information generator 830 may provide this code to the ads server 840 as a geo-region-code.

다른 실시예에서, 광고주는 지오타게팅(geo-targeting: 광고지역설정)을 사용하지 않고, <keyword, location>(키워드, 위치)로 된 키워드 쌍을 사용할 수 있는데, 이는 웹 검색의 경우, 지오타게팅이 아시아 지역에서는 미국에서처럼 효과적이지 않기 때문이다. 이러한 키워드 쌍에 대해 광고에 대한 조사 기록(inventory)이 더 많을 수 있다. 따라서, 지리 정보 생성기(830)는, 검색 질의에 의해 입력된 위치와 키워드를 연계시킬 수 있으며, ads 서버(840)에 제공된 키워드로서 이러한 연계(concatenation)를 사용할 수 있다. 예를 들어, 사용자가 "Beijing"(베이징) 인근의 "restaurant"(레스토랑)을 검색한다면, 지리 정보 생성기(830)에 의해 ads 서버(840)에 제공된 키워드는 "restaurnat Beijing"이 될 것이다. 이러한 구성은 일본과 중국에 적용될 수 있다. In another embodiment, an advertiser may use keyword pairs of <keyword, location> instead of geo-targeting, which, in the case of web search, It is not as effective in this region as it is in the United States. There may be more inventory of advertisements for these keyword pairs. Thus, the geographic information generator 830 may associate a keyword with a location entered by the search query, and may use this concatenation as a keyword provided to the ads server 840. For example, if a user searches for "restaurant" near "Beijing", the keyword provided to the ads server 840 by the geographic information generator 830 would be "restaurnat Beijing". This configuration can be applied to Japan and China.

또 다른 실시예에서, 지리 정보 생성기(830)는 검색 질의가 지리적 기준(geographic reference)을 포함하는지 여부를 판정할 수 있다. 검색 질의가 지 리적 기준을 포함하고 있지 않다면, ads 서버(840)에 의해 정규의 광고가 제시될 수 있다. 그러나, 사용자의 IP 주소와 같은 사용자 위치의 표시자(indicator)를 이용할 수 있는지 여부가 판정될 수 있다. 사용자의 위치 표시자를 이용할 수 있다면, 이 사용자의 위치에 기초하여 지역 광고가 제시될 수 있다. In another embodiment, geographic information generator 830 may determine whether the search query includes a geographic reference. If the search query does not include geographic criteria, then regular advertisements may be presented by the ads server 840. However, it may be determined whether an indicator of the user's location, such as the user's IP address, is available. If a user's location indicator is available, a local advertisement may be presented based on the user's location.

한편, 검색 질의가 지리적 기준을 포함하고 있다면, 지리 정보 생성기(830)는, 지리적 기준이 도시명에만[즉, 성(province)에 대한 정보가 없는 것과 같이 임의의 다른 지리 정보 없이] 대응하는지 여부를 판정할 수 있다. 검색 질의가 도시명 외의 지리적 기준을 포함하고 있다면, 지역 광고가 제시될 수 있다. On the other hand, if the search query includes a geographic criterion, the geographic information generator 830 determines whether the geographic criterion corresponds only to the city name (i.e. without any other geographic information, such as no province information). It can be determined. If the search query includes geographic criteria other than the city name, a local advertisement may be presented.

검색 질의가 도시명에만 대응하는 지리적 기준을 포함하고 있다면, 지리 정보 생성기(830)는 해당 도시가 명백한 도시에 대응하는지 여부를 판정할 수 있다. 해당 도시가 명백한 도시에 대응하지 않는다면, 정규의 광고가 제시될 수 있다. 도시가 명백한 도시에 대응한다면, 지리 정보 생성기(830)는 질의의 하나 이상의 다른 검색어를 가진 도시명이 블랙리스트(blacklist) 상에 나타나는지 여부를 판정할 수 있다. 블랙리스트는, 하나 이상의 단어와 조합될 때, 이들 각각의 도시 이외의 다른 것을 의미하는 명백한 도시명에 대해 유지될 수 있다. 질의의 하나 이상의 다른 검색어를 가진 도시명이 블랙리스트 상에 나타난다면, 정규의 광고가 제시될 수 있다. 질의의 하나 이상의 다른 검색어를 가진 도시명이 블랙리스트 상에 나타나지 않는다면, 해당 질의의 지리적 기준에 기초해서 지역 광고가 제시될 수 있다. If the search query includes a geographic criterion that corresponds only to the city name, the geographic information generator 830 may determine whether the city corresponds to an apparent city. If the city does not correspond to an apparent city, a regular advertisement may be presented. If the city corresponds to an apparent city, geographic information generator 830 may determine whether the city name with one or more other search terms in the query appears on the blacklist. Blacklists, when combined with one or more words, may be maintained for obvious city names meaning something other than their respective cities. If a city name with one or more other search terms in the query appears on the blacklist, a regular advertisement may be presented. If a city name with one or more other search terms in the query does not appear on the blacklist, a local advertisement may be presented based on the geographic criteria of the query.

지역("대상이 된") 광고가 제시될 예정이면, 사용자의 위치(예컨대, 사용자 의 IP 주소)에 관련된 정보가 지리 정보 생성기(830)에 의해 사용되어, 그 위치가 지리적 기준에 대응하는 위치의 미리 정해진 거리 내에 있는지 여부를 판정할 수 있게 된다. 사용자의 위치가 미리 정해진 거리 내에 속한다면, 지역 광고가 제시될 수 있다. 사용자의 위치가 미리 정해진 거리에서 벗어나 있다면, 정규의 광고가 제시될 것이다. If a local (“targeted”) advertisement is to be presented, information related to the user's location (eg, the user's IP address) is used by the geographic information generator 830 to determine where the location corresponds to a geographic criterion. It is possible to determine whether it is within a predetermined distance of. If the user's location falls within a predetermined distance, a local advertisement may be presented. If the user's location is outside of a predetermined distance, a regular advertisement will be presented.

프런트 엔드 서버(440)[또는 프런트 엔드 서버(440)의 구성 요소]는, 중국에만 사용될 수 있는 몇몇 작업을 수행할 수 있다. 예를 들어, 프런트 엔드 서버(440)는, 드라이빙 디렉션(driving direction: 가는 길 찾기)을 숨기고, 나라마다 상이할 수 있는 디스플레이 유닛(킬로미터 대 마일)을 제공하며, 사용자가 중국에 있을 때 민감한 키워드에 대한 필터링을 행하고, 표시를 위한 중국어 주소 및 전화 번호의 특정의 포맷을 제공하며, 지도의 상단에 지오코딩된 위치를 나타내며, 및/또는 거리를 0.1 킬로미터 대신에 0.5 킬로미터로 라운드 처리하고 방향을 제거할 수 있다. The front end server 440 (or components of the front end server 440) may perform some tasks that may be used only in China. For example, the front-end server 440 hides the driving direction, provides display units (kilometers versus miles) that can vary from country to country, and is sensitive to keywords when the user is in China. Filter for, provide a specific format of Chinese address and phone number for display, indicate a geocoded location at the top of the map, and / or round the distance to 0.5 km instead of 0.1 km and redirect the direction Can be removed

프로세스(처리 과정)의 예Example of process (processing)

도 10A 내지 도 10D는 지역 검색 결과를 식별하고 식별된 위치와 연관된 지도를 제공하기 위한 프로세스의 예를 나타내는 플로차트이다. 10A-10D are flowcharts illustrating an example of a process for identifying local search results and providing a map associated with an identified location.

지역 검색 결과 및 지도 생성의 프로세스의 예Example of the process of generating local search results and maps

도 10A에 나타낸 바와 같이, 지역 검색 결과를 식별하고 식별된 위치와 연관된 지도를 제공하기 위한 프로세스(1000)는, 먼저 옐로우 페이지, 지도 제공자, 및 문서 데이터를 수신하는 것으로 개시한다(블록 1005). 예를 들어, 도 4와 관련하 여 앞서 설명한 일실시예에서, 지도 제공자 데이터(400), 옐로우 페이지 데이터(405), 및 웹 문서 데이터(410)는 인덱서(435)에 제공될 수 있으며, 지도 제공자 데이터(400)는 주소/POI ID 정보(420) 및 주소 FP/POI ID 매핑 정보(425)를 유도하는데에도 사용될 수 있다. As shown in FIG. 10A, a process 1000 for identifying local search results and providing a map associated with an identified location begins with receiving a yellow page, map provider, and document data (block 1005). For example, in one embodiment described above with respect to FIG. 4, the map provider data 400, yellow page data 405, and web document data 410 may be provided to the indexer 435, and the map Provider data 400 may also be used to derive address / POI ID information 420 and address FP / POI ID mapping information 425.

프로세스(1000)는, 데이터에 대해 지오코딩(geocoding)을 수행할 수 있다(블록 1010). 예를 들어, 도 6과 관련하여 앞서 설명한 일실시예에서, 지오코더(430)의 주소 리스트 작성기(600)는, 지도 제공자 데이터(400)와 옐로우 페이지 데이터(405)를 수신하고, 지도 제공자 데이터(400) 및/또는 옐로우 페이지 데이터(405)로부터, 성, 도시, 지구, 거리 이름, 주소, POI 이름, 또는 이들의 조합에 기초하여 주소 리스트를 작성할 수 있다. 지오코더(430)의 파서(parser)(610)는, 각 주소의 시작 부분으로부터 도시 및/또는 지구를 파싱처리(parse)할 수 있다. 지오코더(430)의 최장 매칭 프리픽스 로케이터(longest matching prefix locator)(620)는 각 주소의 다른 부분을 찾는데 사용될 수 있다. 지오코더의 조합 로케이터(620)는 특정 조합을 찾는데, POI 이름을 먼저 찾고, 주소의 다양한 레벨을 찾은 다음, 마지막으로 지구 또는 도시를 찾는다. 지오코더(430)의 질의 지오코딩 유닛(640)은 검색 결과 위치에서의 지점의 수에 기초하여 검색 결과의 스코어를 산출할 수 있다. Process 1000 may perform geocoding on the data (block 1010). For example, in one embodiment described above with respect to FIG. 6, the address list builder 600 of the geocoder 430 receives the map provider data 400 and the yellow page data 405, and the map provider data. From 400 and / or yellow page data 405, an address list can be created based on the last name, city, district, street name, address, POI name, or a combination thereof. The parser 610 of the geocoder 430 may parse the city and / or district from the beginning of each address. The longest matching prefix locator 620 of the geocoder 430 may be used to find a different portion of each address. The geocoder's combination locator 620 looks for a particular combination, first looking for the POI name, then the various levels of address, and finally looking for the district or city. The query geocoding unit 640 of the geocoder 430 may calculate a score of the search result based on the number of points at the search result location.

도 10A에 도시된 바와 같이, 프로세스(1000)는 데이터에 대해 색인화(indexing)를 수행할 수 있다(블록 1015). 예를 들어, 도 7과 관련하여 앞서 설명한 일실시예에서, 인덱서(435)의 지도 데이터 인덱서(700)는 지도 위치 정보를 포함할 수 있는 지도 제공자 데이터(400)로부터 주소 데이터를 색인화할 수 있다. 인덱서(435)의 옐로우 페이지 데이터 전처리기(710)는 여러 제공자로부터 옐로우 페이지 데이터(405)를 수신할 수 있으며, 옐로우 페이지 데이터(405)를 공통의 포맷으로 전처리할 수 있다. 인덱서(435)의 업소 정보 추출기(720)는 여러 기술을 사용하여 웹 문서 데이터(410)로부터 업소 정보(예컨대, 주소 및 전화 번호)를 추출할 수 있다. 이러한 기술은, 중국과 일본에서의 주소 및 전화 번호의 상이한 포맷에 따라 변경될 수 있다. 추출된 업소 정보는 업소 정보 레포지토리(750) 내에 제공되어 있을 수 있다. 인덱서(435)의 거리 플래트너(distance flattener)(730)는 지역 검색 질의에 대한 검색 반경(search radius)을 설정할 수 있다. 인덱서(435)의 클러스터러(740)는 지도 제공자 데이터(400)와 옐로우 페이지 데이터(405)를 함께 클러스터링(clustering)할 수 있다. 인덱서(435)의 스니피트 하이라이터(snippet highlighter)(760)는 문서(예컨대, 웹 문서) 내의 발췌 부분(snippet)을 강조할 수 있다. As shown in FIG. 10A, process 1000 may perform indexing on the data (block 1015). For example, in one embodiment described above with respect to FIG. 7, the map data indexer 700 of the indexer 435 may index address data from map provider data 400, which may include map location information. . The yellow page data preprocessor 710 of the indexer 435 may receive yellow page data 405 from various providers and may preprocess the yellow page data 405 in a common format. The business information extractor 720 of the indexer 435 may extract business information (eg, address and phone number) from the web document data 410 using various techniques. This technique can be changed according to different formats of address and telephone number in China and Japan. The extracted business information may be provided in the business information repository 750. The distance flattener 730 of the indexer 435 may set a search radius for a local search query. The clusterer 740 of the indexer 435 may cluster the map provider data 400 and the yellow page data 405 together. Snippet highlighter 760 of indexer 435 may highlight snippets within a document (eg, a web document).

프로세스(1000)는 지역 검색 결과를 생성하고 지도 URL을 제공할 수 있다(블록 1020). 예를 들어, 도 8과 관련해서 앞서 설명한 일실시예에서, 프런트 엔드 서버(440)의 지역 검색 생성기(810)는, 지역 검색 결과(450)[예컨대, 지역 검색 시스템(225)에 의해 획득되고 처리되는 주소에 기초하여, 특정의 지리적 영역 내의 관련된 웹 페이지 및/또는 업소 리스트]를 생성할 수 있다. 프런트 엔드 서버(440)의 지도 생성기(820)는 지역 검색 결과(450)에 관련된 지도를 생성할 수 있다. 예를 들어, 해당 검색 결과에 대한 지도를 표시하기 위하여, 지도 생성 기(820)는, 검색 결과 페이지 상에 아이프레임(iframe)(즉, 웹 페이지 내에 삽입된 플로팅 프레임)을 구성하고, 지도 제공자에 의해 제공된 URL에 대해 포스트 액션을 실행할 수 있다. Process 1000 may generate a local search result and provide a map URL (block 1020). For example, in one embodiment described above with respect to FIG. 8, local search generator 810 of front-end server 440 is obtained by local search results 450 (eg, local search system 225). Based on the address processed, a list of relevant web pages and / or businesses within a particular geographic area may be generated. The map generator 820 of the front end server 440 may generate a map related to the local search result 450. For example, to display a map for that search result, map generator 820 constructs an iframe (i.e., a floating frame embedded within a web page) on the search results page, and a map provider You can execute a post action against the URL provided by.

지오코딩Geocoding 프로세스의 예 Process example

프로세스(1000) 중의 프로세스 블록 1010(도 10A)은 도 10B에 나타낸 블록을 포함할 수 있다. 따라서, 프로세스 블록 1010은 주소 리스트를 작성할 수 있다(블록 1025). 예를 들어, 도 6과 관련하여 앞서 설명한 일실시예에서, 지오코더(430)의 주소 리스트 작성기(600)는, 지도 제공자 데이터(400)와 옐로우 페이지 데이터(405)를 수신하고, 지도 제공자 데이터(400) 및/또는 옐로우 페이지 데이터(405)로부터, 성, 도시, 지구, 거리 이름, 주소, POI 이름, 또는 이들의 조합에 기초하여 주소 리스트(토큰)를 작성할 수 있다. 프로세스 블록(1010)은 주소 리스트 내의 각각의 주소에 대해 파싱 처리를 행할 수 있다(블록 1030). 예를 들어, 도 6과 관련하여 앞서 설명한 일실시예에서, 각 주소에 대해, 지오코더(430)의 파서(610)는 주소로부터 도시 및 지구를 파싱 처리할 수 있다. Process block 1010 (FIG. 10A) in process 1000 may include the block shown in FIG. 10B. Thus, process block 1010 may create an address list (block 1025). For example, in one embodiment described above with respect to FIG. 6, the address list builder 600 of the geocoder 430 receives the map provider data 400 and the yellow page data 405, and the map provider data. From 400 and / or yellow page data 405, an address list (token) can be created based on the last name, city, district, street name, address, POI name, or a combination thereof. Process block 1010 may perform parsing processing on each address in the address list (block 1030). For example, in one embodiment described above with respect to FIG. 6, for each address, the parser 610 of the geocoder 430 may parse the city and district from the address.

도 10B에 도시된 바와 같이, 프로세스 블록 1010은 주소 리스트 내의 각 주소로부터 최장 매칭 프리픽스를 찾을 수 있다(블록 1035). 예를 들어, 도 6과 관련하여 앞서 설명한 일실시예에서, 지오코더(430)의 최장 매칭 프리픽스 로케이터(620)는, 주소의 추가 부분(예컨대, 도심, 마을, 도로 또는 거리, 번지, POI 이름 등)을 찾는데 사용될 수 있다. 최장 매칭 프리픽스를 주소 내에서 찾을 수 없으면(블록 1040에서 NO), 프로세스 블록 1010은 주소의 추가 부분을 찾는 동작을 계속할 수 있다(블록 1035). As shown in FIG. 10B, process block 1010 may find the longest matching prefix from each address in the address list (block 1035). For example, in one embodiment described above with respect to FIG. 6, the longest matching prefix locator 620 of the geocoder 430 may be an additional portion of the address (eg, city, town, road or street, street, POI name). Etc.). If the longest matching prefix cannot be found in the address (NO in block 1040), process block 1010 may continue to find an additional portion of the address (block 1035).

최장 매칭 프리픽스가 주소 내에서 찾을 수 있다면(블록 1040에서 YES), 프로세스 블록 1010은 각 주소 내에 조합을 찾을 수 있다(블록 1045). 예를 들어, 도 6과 관련하여 앞서 설명한 일실시예에서, 지오코더(430)의 조합 로케이터(630)는, 특정의 조합을 찾는데, POI 이름을 먼저 찾고, 다양한 레벨의 주소를 찾은 다음, 마지막으로 지구 또는 도시를 찾는다. 이러한 검색 구성에 의해, 대부분의 특정한 가능한 주소가 조합 로케이터(630)에 의해 획득될 수 있다는 것을 보장 또는 확인할 수 있다. If the longest matching prefix can be found in the address (YES in block 1040), process block 1010 can find a combination in each address (block 1045). For example, in one embodiment described above with respect to FIG. 6, the combination locator 630 of the geocoder 430 finds a particular combination, which first looks for a POI name, then finds various levels of addresses, and then Find the earth or city. This search configuration can ensure or confirm that most specific possible addresses can be obtained by the combination locator 630.

색인화Indexing 프로세스의 예 Process example

프로세스(1000)의 프로세스 블록 1015(도 10A)는 도 10C에 도시된 블록을 포함할 수 있다. 따라서, 프로세스 블록 1015는 옐로우 페이지 데이터를 전처리할 수 있다(블록 1050). 예를 들어, 도 7과 관련하여 앞서 설명한 일실시예에서, 인덱서(435)의 옐로우 페이지 데이터 전처리기(710)는, 여러 제공자로부터 옐로우 페이지 데이터(405)를 수신할 수 있으며, 옐로우 페이지 데이터(405)를 공통(또는 미리 정해진) 포맷으로 전처리할 수 있다. 이러한 포맷화된 데이터는, 색인화 과정에서 지오코더(430)에 제공될 수 있으며, 지오코더(430)는 주소에 대한 지오코딩을 시도할 수 있다. 주소가 빌딩 또는 거리 레벨까지 지오코딩될 수 있다면, 주소는 정규 엔트리로서 지오코딩될 수 있다. 주소가 도시 또는 지구 레벨까지 지오코딩될 수 있다면, 주소는 근사 위치(approximate position)를 가진 엔트리로서 색인화될 수 있다. Process block 1015 (FIG. 10A) of process 1000 may include the block shown in FIG. 10C. Thus, process block 1015 may preprocess the yellow page data (block 1050). For example, in one embodiment described above with respect to FIG. 7, the yellow page data preprocessor 710 of the indexer 435 may receive yellow page data 405 from various providers, and the yellow page data ( 405 may be preprocessed in a common (or predetermined) format. Such formatted data may be provided to the geocoder 430 during the indexing process, and the geocoder 430 may attempt to geocode the address. If the address can be geocoded up to the building or street level, the address can be geocoded as a regular entry. If the address can be geocoded up to the city or district level, the address can be indexed as an entry with an approximate position.

프로세스 블록 1015는 문서로부터 업소 정보를 추출하고(블록 1055) 추출한 업소 정보를 저장할 수 있다(블록 1060). 예를 들어, 도 7과 관련하여 앞서 설명한 일실시예에서, 인덱서(435)의 업소 정보 추출기(720)는 웹 문서 데이터(410)로부터 다양한 기술을 사용하여 업소 정보(예컨대, 주소 및 전화 번호)를 추출할 수 있다. 이러한 기술은, 중국과 일본에서의 주소 및 전화 번호의 상이한 포맷에 따라 달리질 수 있다. 도 7과 관련하여 앞서 설명한 다른 실시예에서, 추출한 업소 정보는 업소 정보 레포지토리(750) 내에 제공될 수 있다. 업소 정보 레포지토리(750)는, 다양한 정보, 예컨대 업소 정보 추출기(720)에 의해 업소 정보를 추출하는 문서를 포함할 수 있다. Process block 1015 may extract business information from the document (block 1055) and store the extracted business information (block 1060). For example, in one embodiment described above with respect to FIG. 7, business information extractor 720 of indexer 435 may use business information (eg, address and phone number) using various techniques from web document data 410. Can be extracted. This technique can vary depending on the different formats of address and phone numbers in China and Japan. In another embodiment described above with reference to FIG. 7, the extracted business information may be provided in the business information repository 750. The business information repository 750 may include various information, for example, a document for extracting business information by the business information extractor 720.

프로세스 블록 1015는 지도 제공자로부터 수신한 주소 데이터를 색인화할 수 있다(블록 1065). 예를 들어, 도 7과 관련하여 앞서 설명한 일실시예에서, 인덱서(435)의 지도 데이터 인덱서(700)는 지도 위치 정보를 포함할 수 있는 지도 제공자 데이터(400)로부터 주소 데이터를 색인화할 수 있다. 지오코더(430)는, 색인된 주소 데이터에 기초하여 주소를 다시 지오코딩하기 위한 시도를 행한다. 클러스터러(740)는, 클러스터 위치가 주어진 위치와 다른 경우에 클러스터 위치를 설정할 수 있지만, 미리 정해진 거리 임계값(예컨대, 3 킬로미터 이내)을 넘는 클러스터 위치를 설정하지 않을 수 있다. Process block 1015 may index the address data received from the map provider (block 1065). For example, in one embodiment described above with respect to FIG. 7, the map data indexer 700 of the indexer 435 may index address data from map provider data 400, which may include map location information. . Geocoder 430 makes an attempt to geocode the address again based on the indexed address data. The clusterer 740 may set the cluster position when the cluster position is different from the given position, but may not set the cluster position above a predetermined distance threshold (eg, within 3 kilometers).

도 10C에 도시된 바와 같이, 프로세스 블록 1015는 옐로우 페이지 데이터와 지도 제공자 데이터를 클러스터링할 수 있다(블록 1070). 예를 들어, 도 7과 관련하여 앞서 설명한 일실시예에서, 인덱서(435)의 클러스터러(740)는, 지도 제공자 데이터(400)와 옐로우 페이지 데이터(405)를 함께 클러스터링할 수 있다. 이들 엔트리가 클러스터러(740)에 의해 함께 클러스터링되면, 프런트 엔드 서버(440)는 사용자에게 상세한 주소 및 전화 번호 정보와, 지도상의 정확한 위치를 제공할 수 있다. As shown in FIG. 10C, process block 1015 may cluster yellow page data and map provider data (block 1070). For example, in one embodiment described above with respect to FIG. 7, the clusterer 740 of the indexer 435 may cluster the map provider data 400 and the yellow page data 405 together. Once these entries are clustered together by the clusterer 740, the front end server 440 can provide the user with detailed address and phone number information and an accurate location on the map.

프로세스 블록 1015는 문서 내에 제공된 발췌 부분을 강조할 수 있다(블록 1075). 예를 들어, 도 7과 관련하여 앞서 설명한 실시예에서, 인덱서(435)의 스니피트 하이라이터(760)는, 문서(예컨대, 웹 문서) 내의 발췌 부분을 강조할 수 있다. 스니피트 하이라이터(760)는 색인화 과정에서 웹 문서 내의 주소 또는 전화 번호(또는 몇몇 다른 업소 정보)를 식별하기 위해, 용어 오프셋 대신에 바이트 오프셋을 저장할 수 있다. 스니피트 하이라이터(760)는 바이트 오프셋을 사용해서 강조를 수행할 수 있으며 분할이 필요하지 않게 될 수 있다. Process block 1015 may highlight the excerpt provided in the document (block 1075). For example, in the embodiment described above with respect to FIG. 7, snippet highlighter 760 of indexer 435 may highlight excerpts in a document (eg, a web document). Snippet highlighter 760 may store byte offsets instead of term offsets to identify addresses or phone numbers (or some other business information) within web documents during indexing. Snippet highlighter 760 may use the byte offset to perform emphasis and may not require segmentation.

도 10C에 나타낸 바와 같이, 프로세스 블록 1015는 검색 거리를 설정할 수 있다(블록 1080). 예를 들어, 도 7과 관련하여 앞서 설명한 일실시예에서, 인덱서(435)의 거리 플래트너(730)는 지오코더(430)에 의해 지오코딩된 지역 검색 질의에 대한 검색 반경을 특정의 위치로 설정할 수 있다. 각각의 위치는 지점 위치(예컨대, 빌딩, 유명한 여행자 장소, 학교, 거리 중심 등)이나 경계 영역 위치(예컨대, 지구, 도시, 성 등)가 될 수 있다. 지점 위치의 경우, 거리 플래트너(730)는, 검색 반경을 미리 정해진 거리(예컨대, 해당 지점 주변의 근사적으로 5 킬로미터)로 설정할 수 있다. 경계 영역 위치의 경우, 거리 플래트너(730)는, 그 위치의 중심으로부터 코너까지의 대략 최대 거리를 검색 반경으로 설정할 수 있다. As shown in FIG. 10C, process block 1015 may set a search distance (block 1080). For example, in one embodiment described above with respect to FIG. 7, the distance flatter 730 of the indexer 435 sets the search radius for the geocoded local search query by the geocoder 430 to a specific location. Can be. Each location may be a point location (eg, building, famous tourist place, school, street center, etc.) or a boundary area location (eg, district, city, castle, etc.). For point locations, distance flattener 730 may set the search radius to a predetermined distance (eg, approximately 5 kilometers around the point). For boundary region locations, distance flattener 730 may set the approximate maximum distance from the center of the location to the corner as the search radius.

프런트 엔드 서버 프로세스의 예Example of Front End Server Process

프로세스(1000)의 프로세스 블록 1020(도 10A)는 도 10D에 나타낸 블록을 포함할 수 있다. 따라서, 프로세스 블록 1020은 검색 질의를 재작성(rewrite)할 수 있다(블록 1085). 예를 들어, 도 8과 관련하여 앞서 설명한 일실시예에서, 중국어로 된 하나의 용어에 대해 몇 개의 동의어가 있을 수 있다. 또한, 옐로우 페이지 데이터(400)의 여러 제공자가 같은 카테고리를 나타내기 위해 상이한 이름을 사용할 수 있다. 사용자가 입력한 검색 질의에 대한 최대의 재현율을 제공하기 위하여, 프런트 엔드 서버(440)의 질의 재작성기(800)는 각각의 카테고리에 대한 동의어 리스트를 작성할 수 있다. 질의 재작성기(800)는, 질의를, "OR"(논리합) 피연산자(operand)에 의해 결합될 수 있는 검색어의 쌍으로 확장하기 위해 각각의 지역 검색 질의를 재작성할 수도 있다. Process block 1020 (FIG. 10A) of process 1000 may include the block shown in FIG. 10D. Accordingly, process block 1020 may rewrite the search query (block 1085). For example, in one embodiment described above with respect to FIG. 8, there may be several synonyms for a term in Chinese. In addition, different providers of yellow page data 400 may use different names to represent the same category. In order to provide the maximum recall for the search query entered by the user, the query rewrite 800 of the front-end server 440 may create a synonym list for each category. The query rewrite 800 may rewrite each local search query to expand the query into a pair of search terms that may be combined by an "OR" (logical sum) operand.

프로세스 블록 1020은, 검색 질의에 기초하여 지역 검색 결과를 생성할 수 있으며, 생성한 검색 결과의 위치를 나타내는 지도를 작성할 수 있다(블록 1090). 예를 들어, 도 8과 관련하여 앞서 설명한 일실시예에서, 프런트 엔드 서버(440)의 지역 검색 생성기(810)는 지역 검색 결과[예컨대, 지역 검색 시스템(225)에 의해 획득되고 처리되는 주소에 기초하여, 특정의 지리적 영역 내의 관련된 웹 페이지 및/또는 업소 리스트]를 생성할 수 있다. 도 8과 관련하여 앞서 설명한 다른 실시예에서, 프런트 엔드 서버(440)의 지도 생성기(820)는, 검색 결과 페이지 상에 아이프레임(iframe)(즉, 웹 페이지 내에 삽입된 플로팅 프레임)을 구성하고, 지도 제공자에 의해 제공된 URL에 대해 포스트 액션을 실행할 수 있다. POI ID는 지도 제 공자에 대한 지도[예컨대, 지도(900)] 상에서의 위치를 식별하기 위해 지도 생성기(820)에 의해 사용됨으로써, 지도 제공자가 결과 페이지 내에 제공된 지도상의 위치를 나타낼 수 있게 된다. Process block 1020 may generate a local search result based on the search query and create a map indicating the location of the generated search result (block 1090). For example, in one embodiment described above with respect to FIG. 8, the local search generator 810 of the front-end server 440 may be configured for local search results (eg, addresses obtained and processed by the local search system 225). Based on the relevant web pages and / or business listings within a particular geographic area. In another embodiment described above with respect to FIG. 8, the map generator 820 of the front-end server 440 constructs an iframe (ie, a floating frame embedded within a web page) on the search results page. For example, you can execute a post action on a URL provided by a map provider. The POI ID is used by the map generator 820 to identify a location on the map (eg, map 900) for the map provider, allowing the map provider to indicate the location on the map provided in the results page.

도 10D에 나타낸 바와 같이, 프로세스 블록 1020은 ads 서버에 대한 지리 정보를 생성할 수 있다(블록 1095). 예를 들어, 도 8과 관련하여 앞서 설명한 일실시예에서, 중국에서 지역 ads(광고)를 표시하기 위하여, 프런트 엔드 서버(440)의 지리 정보 생성기(830)는, ads 서버(840)에 지리 정보를 제공할 수 있다. 예를 들어, 지리 정보 생성기(830)는 지역 코드를 geo-region-code(지리적 지역 코드)로서 ads 서버(840)에 제공할 수 있다. 다른 실시예에서, 지리 정보 생성기(830)는, 사용자가 검색 질의에 의해 입력한 위치와 키워드를 연계시킬 수 있으며, ads 서버(840)에 제공된 키워드로서 이러한 연계를 사용할 수 있다. As shown in FIG. 10D, process block 1020 may generate geographic information for an ads server (block 1095). For example, in one embodiment described above with respect to FIG. 8, in order to display local ads in China, the geographic information generator 830 of the front-end server 440 is geo-located on the ads server 840. Information can be provided. For example, the geographic information generator 830 may provide the area code to the ads server 840 as a geo-region-code. In another embodiment, geographic information generator 830 may associate a keyword with a location entered by the user by a search query, and may use this association as a keyword provided to ads server 840.

결론conclusion

본 명세서에 개시된 실시예는 지역 검색 결과를 식별하고 식별된 위치와 연관된 지도를 작성하는 시스템 및 방법을 제공할 수 있다. 본 발명의 시스템은, 사용자가 입력하는 지역 검색 질의를 수신하고, 수신한 지역 검색 질의와 연관된 위치를 식별할 수 있다. 시스템은 지역 검색 질의에 관련될 수 있으며 식별된 위치와 연관될 수 있는 일련의 지역 검색 결과를 식별할 수 있다. 지역 검색 결과는 지역 검색 질의에 관련될 수 있는 문서에 대한 링크를 포함할 수 있다. 본 발명의 시스템은, 지역 검색 결과의 그룹에 대한 식별자를 식별하고, 이 식별자를 지도 제공자에 제공할 수 있다. 본 발명의 시스템은, 식별된 위치와 연관된 지도를 지도 제공자로부터 수신할 수 있다. 지도는 지역 검색 결과의 그룹에서 하나 이상의 검색 결과의 위치를 식별할 수 있다. Embodiments disclosed herein may provide a system and method for identifying local search results and creating a map associated with an identified location. The system of the present invention may receive a local search query entered by a user and identify a location associated with the received local search query. The system may identify a series of local search results that may be related to a local search query and that may be associated with an identified location. The local search results may include links to documents that may be related to local search queries. The system of the present invention may identify an identifier for a group of local search results and provide this identifier to a map provider. The system of the present invention may receive a map associated with the identified location from a map provider. The map may identify the location of one or more search results in the group of local search results.

본 발명의 실시예는 다음과 같은 하나 이상의 장점을 갖는다. 예를 들어, 지도 데이터와 옐로우 페이지 데이터는, 지역 검색 결과를 식별하고 식별된 위치와 연관된 지도를 작성하기 위해 여러 상이한 제공자로부터 사용될 수 있다. 지도에는 지역 검색 결과가 편리하게 표시될 수 있다. 이러한 구성에 의하면, 지역 검색 결과를 생성하고 제3자 지도 제공자의 서버에 대한 포인터가 필요하지 않다. Embodiments of the present invention have one or more of the following advantages. For example, map data and yellow page data may be used from several different providers to identify local search results and create a map associated with the identified location. Local search results may be conveniently displayed on the map. This arrangement produces local search results and does not require a pointer to the server of the third party map provider.

다른 실시예에서, 지도는 옐로우 페이지 데이터에 기초하여 상세한 지도 데이터를 제공할 수 있다. 이에 의하면, 익스포트 규제(export restirctions) 때문에 지도를 작성하기 위해 상세한 지도 데이터를 이용하는 것이 제한되거나 그 지역 내의 주소의 실제 위도 및 경도를 이용하는 것이 제한될 수 있는 국가에서, 상세한 지도 데이터를 포함하는 지도를 작성하는 것이 가능하게 된다. In another embodiment, the map may provide detailed map data based on yellow page data. This suggests that in countries where export restirctions may limit the use of detailed map data to create maps or the use of actual latitude and longitude of addresses within the area, it may be possible to create maps containing detailed map data. It is possible to write.

본 발명의 실시예는 예시와 설명을 위한 것이며, 개시된 그 형태로만 본 발명을 제한하고자 하는 것은 아니다. 변경 및 변형이 상기 설명과 본 발명의 실시로부터 가능하다. 예를 들어, 도 10A 내지 도 10D와 관련하여 설명한 일련의 동작과 관련하여 이러한 동작의 순서는 본 발명에 따른 실시예에서 변경될 수 있다. 또한, 독립적인 동작이 병렬로 행해질 수도 있다. 일실시예에서, 서버(220)는, 도 10A 내지 도 10D의 처리 과정에 관련된 동작의 전부는 아니라 하더라도, 대부분을 수행할 수 있다. 다른 실시예에서, 이러한 동작의 하나 이상 또는 모두가 다른 엔티티, 예컨대 다른 서버(230 및/또는 240)나 클라이언트(210)에 의해 수행될 수 있 다. The embodiments of the present invention are for illustration and description, and are not intended to limit the invention only to the forms disclosed. Modifications and variations are possible in light of the above teachings and practice of the invention. For example, with respect to the series of operations described in connection with FIGS. 10A-10D, the order of these operations may be varied in embodiments in accordance with the present invention. Independent operations may also be performed in parallel. In one embodiment, server 220 may perform most, if not all, of the operations associated with the processing of FIGS. 10A-10D. In other embodiments, one or more or all of these operations may be performed by other entities, such as other servers 230 and / or 240 or client 210.

다른 실시예에서는, 지도 제공자에 의해 제공되지 않는 주소를 지오코딩하기 위해 다른 방법이 사용될 수 있다. 다른 대안으로서, 지오코더(430)는 지오코딩 처리할 주소에 대한 가장 인접한 지점을 찾기 위한 시도를 행할 수 있다. 예를 들어, 지점 "1 ABC Street"(1 ABC 거리)와 "10 ABC Street"(10 ABC 거리)가 지도 제공자에 의해 식별된다고 가정한다. 주소 "3 ABC Street"를 지오코딩하고자 하는 경우, 지오코더(430)는, "3 ABC Street"(3 ABC 거리)에 가장 인접한 지점인 "1 ABC Street"의 위치를 제공할 수 있다. 다른 예에서, 지오코더(430)는, 지점을 보간 처리(interpolate)하기 위한 시도를 행할 수 있다. 예를 들어, "1 ABC Street"가 그리드 인덱스 (0, 0)에 있고 "10 ABC Street"가 그리드 인덱스 (10, 20)에 있으면, 지오코더(430)는 보간 처리에 기초하여, "3 ABC Street"의 주소가 그리드 인덱스 (3, 6)에 있다고 판정할 수 있다. In other embodiments, other methods may be used to geocode addresses that are not provided by the map provider. As another alternative, geocoder 430 may attempt to find the nearest point to the address to be geocoded. For example, assume that points "1 ABC Street" (1 ABC Street) and "10 ABC Street" (10 ABC Street) are identified by the map provider. When geocoding the address "3 ABC Street", the geocoder 430 may provide the location of "1 ABC Street", which is the point closest to "3 ABC Street" (3 ABC Street). In another example, geocoder 430 may make an attempt to interpolate a point. For example, if "1 ABC Street" is at grid index (0, 0) and "10 ABC Street" is at grid index (10, 20), geocoder 430 is based on interpolation processing, "3 ABC" Street "can be determined to be at grid index (3, 6).

또 다른 실시예에서, 지도를 그리기 위해 POI ID를 획득하기 위한 다른 방법이 사용될 수 있다. 다른 대안으로서, POI ID는 지도 제공자로부터의 위치 데이터로 저장될 수 있다. POI ID는 동작 동안 프런트 엔드 서버(440)에 의해 반환될 수 있다. POI ID는 지도 제공자 데이터의 다른 버전으로 변경될 수 있다. 인덱스에 POI ID를 저장하면 인덱스가 지도 제공자로부터의 데이터에 의존하게 된다. 또 다른 방법으로서, 검색 결과의 주소는 동작 동안 지오코딩될 수 있으며, 지오코더(430)는 가장 근접한 매칭 지점을 제공하도록 요청받을 수 있다. 지오코더(430)는 그 지점의 POI ID를 반환할 수 있다. 가장 근접한 매칭 지점에 대한 요청은 지 오코딩 요청의 배치(batches)(예컨대, 10개로 된 배치)로서 제공될 수 있기 때문에, 성능에 미치는 영향이 작게 될 수 있다. In another embodiment, other methods for obtaining a POI ID may be used to draw the map. As another alternative, the POI ID may be stored as location data from a map provider. The POI ID may be returned by the front end server 440 during operation. The POI ID may be changed to another version of the map provider data. Storing a POI ID in an index causes the index to depend on data from the map provider. Alternatively, the address of the search result may be geocoded during operation, and geocoder 430 may be asked to provide the closest matching point. Geocoder 430 may return the POI ID of that point. Since the request for the closest matching point can be provided as a batch of geocoding requests (e.g., 10 batches), the impact on performance can be small.

또 다른 예에서, 중국어 지역 검색과 관련하여 시스템 및 방법을 설명하고 있지만, 다른 실시예에서는, 본 명세서에 개시된 몇몇 기술은 다른 국가에서의 지역 검색에도 균등하게 적용될 수 있다. In another example, while describing a system and method in connection with a Chinese local search, in other embodiments, some of the techniques disclosed herein may be equally applied to local searches in other countries.

당업자라면, 본 발명의 특징이, 앞서 설명한 바와 같이, 도면에 도시된 구현 예에서 소프트웨어, 펌웨어, 및 하드웨어의 많은 상이한 형태로 구현될 수 있다는 것을 알 수 있을 것이다. 본 발명의 특징을 구현하기 위해 사용되는 실제의 소프트웨어 코드 또는 전용의 제어 하드웨어는 본 발명을 제한하지 않는다. 따라서, 본 발명의 특징에 대한 동작 및 작용은 전용의 소프트웨어 코드를 기준으로 하지 않고 개시하였다. 즉, 당업자라면, 본 명세서의 설명에 기초한 특징을 구현하기 위해 소프트웨어 및 하드웨어를 설계할 수 있다는 것을 이해할 수 있을 것이다. Those skilled in the art will appreciate that features of the present invention may be implemented in many different forms of software, firmware, and hardware in the implementation illustrated in the figures, as described above. The actual software code or dedicated control hardware used to implement the features of the present invention does not limit the present invention. Thus, operations and actions of the features of the invention have been disclosed without reference to dedicated software code. That is, those skilled in the art will appreciate that software and hardware may be designed to implement features based on the description herein.

본 출원에 사용되는 어떠한 구성 요소, 동작 또는 명령이라도, 명시적으로 개시하고 있지 않으면, 본 발명에 필수적인 것으로 해석되어서는 안 된다. 본 명세서에 단수의 개념으로 사용되는 것은 하나 또는 그 이상을 의미하는 것으로 해석될 수 있다. 단지 하나인 경우라면, "하나"또는 그와 유사한 표현을 사용한다. "기초하는"이라고 하는 표현은, 달리 언급하고 있지 않는 한, "적어도 부분적으로 기초하는"을 의미하는 것으로 해석되어야 한다. Any component, operation or instruction used in the present application should not be construed as essential to the invention unless expressly disclosed. As used herein in the singular, the phrase “a” or “an” may be interpreted to mean one or more. If only one, use the expression "one" or similar. The expression "based on" should be interpreted to mean "at least partially based" unless stated otherwise.

Claims (46)

삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 지역 검색 질의에 기초하여 지오코딩하는 방법으로서, As a method of geocoding based on local search queries, 제3자 지도 제공자 데이터 및 옐로우 페이지 데이터를 수신하는 단계;Receiving third party map provider data and yellow page data; 상기 지역 검색 질의와, 상기 제3자 지도 제공자 데이터 및 상기 옐로우 페이지 데이터에 포함된 정보에 기초하여 주소를 생성하는 단계;Generating an address based on the local search query and information included in the third party map provider data and the yellow page data; 상기 주소에 대해 파싱 처리를 행하는 단계;Parsing the address; 상기 주소 내에서 최장 매칭 프리픽스를 찾아서(locate) 상기 주소의 하나 이상의 부분을 식별해 내는 단계; 및Identifying one or more portions of the address by finding the longest matching prefix within the address; And 상기 주소의 부분들의 조합을 찾아서 상기 주소가 맞는지 확인하는 단계Finding a combination of parts of the address to verify that the address is correct 를 포함하고,Including, 상기 주소를 생성하는 단계는,Generating the address, 상기 지역 검색 질의에 관련된 동의어의 리스트를 생성하는 단계,  Generating a list of synonyms related to the local search query; 상기 동의어에 기초하여 상기 지역 검색 질의를 재작성해서 확장된 질의를 만드는 단계,  Rewriting the local search query based on the synonym to produce an extended query, 상기 확장된 질의에 기초하여 지역 검색 결과를 생성하는 단계,  Generating a local search result based on the expanded query, 상기 지역 검색 결과에 기초하여 제3자 지도 제공자로부터 지도를 얻는 단계, 및   Obtaining a map from a third party map provider based on the local search results, and 상기 지역 검색 결과에 관련된 지리 정보에 기초하여 광고를 생성하는 단계  Generating an advertisement based on geographic information related to the local search result 를 포함하는, 지오코딩 방법. Including, geocoding method. 삭제delete 제11항에 있어서, The method of claim 11, 상기 주소로부터 도시(city)와 지구(district)를 파싱 처리하는(parsing) 단계를 더 포함하는 지오코딩 방법. And parsing a city and a district from the address. 제11항에 있어서, The method of claim 11, 상기 주소의 일부분은, 도심(town), 마을(village), 도로(road), 거리(street), 번지(number), 또는 관심 영역(POI)의 이름 중 하나 이상을 포함하는, 지오코딩 방법. And wherein the portion of the address comprises one or more of the name of a town, a village, a road, a street, a number, or a POI. 제11항에 있어서, The method of claim 11, 관심 영역(POI)의 이름을 먼저 찾고, 상기 주소의 다른 부분을 두 번째로 찾으며, 세 번째로 지구 또는 도시를 찾도록, 상기 주소 내에서 상기 조합을 찾아내는 단계를 더 포함하는 지오코딩 방법. Finding the combination within the address to first find a name of a region of interest (POI), second to find another portion of the address, and third to find a district or city. 제11항에 있어서, The method of claim 11, 상기 주소가 빌딩 또는 거리 부분을 포함하는 경우에, 상기 주소를 정확한 위치(exact position)로서 색인화하는 단계를 더 포함하는 지오코딩 방법. If the address includes a building or street portion, indexing the address as an exact position. 제11항에 있어서, The method of claim 11, 상기 주소가 도시 부분 또는 지구 부분을 포함하는 경우에, 상기 주소를 근사 위치(approximate position)로서 색인화하는 단계를 더 포함하는 지오코딩 방법. If the address comprises a city part or a district part, indexing the address as an approximate position. 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 제11항에 있어서, The method of claim 11, 논리합("OR") 피연산자를 사용하여 검색어들을 결합시켜서 상기 지역 검색 질의를 재작성하는 단계를 더 포함하는 지오코딩 방법. And recomposing the local search query by combining the search terms using an AND (OR) operand. 제11항에 있어서, The method of claim 11, 상기 지도를 얻는 단계는, Obtaining the map, 상기 지역 검색 결과를 이용하여 지도 프레임(map frame)을 구성하는 단계,  Constructing a map frame using the local search results; 상기 제3자 지도 제공자가 제공한 URL에 대해 포스트 액션(post action)을 실행하는 단계, 및  Executing a post action on a URL provided by the third party map provider, and 상기 제3자 지도 제공자가 상기 지도상에 위치를 나타낼 수 있도록 상기 지도상의 상기 위치를 식별하는 단계  Identifying the location on the map such that the third party map provider can indicate the location on the map. 를 포함하는, 지오코딩 방법.Including, geocoding method. 제11항에 있어서, The method of claim 11, 상기 지역 검색 결과에 관련된 지역 코드(region code)에 기초하여, 상기 광고를 만드는 단계를 더 포함하는 지오코딩 방법.And creating the advertisement based on a region code associated with the region search result. 제11항에 있어서, The method of claim 11, 상기 지역 검색 질의에 관련된 위치와 키워드를 연계(concatenate)시키는 단계; 및Associating a keyword with a location related to the local search query; And 연계된 상기 키워드에 기초하여 상기 광고를 만드는 단계Creating the ad based on the associated keyword 를 더 포함하는 지오코딩 방법. Geocoding method comprising more. 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 복수 개의 명령을 저장하기 위한 메모리; 및A memory for storing a plurality of instructions; And 상기 메모리 내의 명령을 실행하기 위한 프로세서A processor for executing instructions in the memory 를 포함하며, Including; 상기 프로세서이 상기 명령을 실행함으로써, The processor executes the instruction, 지역 검색 질의와 관련된 위치를 식별하고,Identify locations related to local search queries, 상기 지역 검색 질의에 관련이 있으며 식별된 상기 위치와 연관된 지역 검색 결과를 식별하되, 상기 지역 검색 결과를 식별하기 위해, 상기 지역 검색 질의에 연관된 동의어의 리스트를 생성하고, 상기 동의어에 기초하여 상기 지역 검색 질의를 재작성해서 확장된 질의를 만들고, 상기 확장된 질의에 기초하여 상기 지역 검색 결과를 생성하고, Identify a local search result related to the local search query and associated with the identified location, to generate a list of synonyms associated with the local search query, based on the synonym, to identify the local search result Rewrite the search query to create an extended query, generate the local search results based on the expanded query, 상기 지역 검색 결과의 그룹의 각각에 대한 식별자를 식별하고,Identify an identifier for each of the groups of local search results, 상기 지역 검색 결과의 그룹의 각각에 대한 식별자를 제3자 지도 제공자에게 제공하며,Provide an identifier for each of the groups of local search results to a third party map provider, 상기 제3자 지도 제공자로부터, 식별된 상기 위치와 관련된 지도를 수신하고,Receive, from the third party map provider, a map associated with the identified location, 상기 지도는 상기 지역 검색 결과의 그룹 내의 하나 이상의 지역 검색 결과의 위치를 식별하는, 시스템. The map identifies a location of one or more local search results within the group of local search results. 지역 검색 질의를 수신하는 단계;Receiving a local search query; 상기 지역 검색 질의와 연관된 위치를 식별하는 단계;Identifying a location associated with the local search query; 상기 지역 검색 질의에 관련이 있으며 식별된 상기 위치와 연관된 일련의 검색 결과를 식별하는 단계;Identifying a series of search results related to the local search query and associated with the identified locations; 상기 검색 결과의 그룹의 각각에 대한 식별자를 식별하는 단계;Identifying an identifier for each of the group of search results; 상기 검색 결과의 그룹의 각각에 대한 상기 식별자를 제3자 지도 제공자에게 제공하는 단계; 및Providing the identifier for each of the group of search results to a third party map provider; And 상기 제3자 지도 제공자로부터, 식별된 상기 위치와 연관된 지도를 수신하는 단계Receiving, from the third party map provider, a map associated with the identified location 를 포함하며, Including; 상기 일련의 검색 결과를 식별하는 단계는,Identifying the series of search results, 상기 지역 검색 질의에 관련된 동의어의 리스트를 생성하는 단계,   Generating a list of synonyms related to the local search query; 상기 동의어에 기초하여 상기 지역 검색 질의를 재작성해서 확장된 질의를 만드는 단계, 및   Rewriting the local search query based on the synonym to produce an extended query, and 상기 확장된 질의에 기초하여 상기 일련의 검색 결과를 생성하는 단계   Generating the series of search results based on the expanded query 를 포함하고,Including, 상기 지도는 상기 검색 결과의 그룹 내의 하나 이상의 검색 결과의 위치를 식별하는, 방법. The map identifies a location of one or more search results within the group of search results. 삭제delete
KR1020087007591A 2005-08-30 2006-08-30 Local search KR100985450B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US71214605P 2005-08-30 2005-08-30
US60/712,146 2005-08-30

Publications (2)

Publication Number Publication Date
KR20080040044A KR20080040044A (en) 2008-05-07
KR100985450B1 true KR100985450B1 (en) 2010-10-07

Family

ID=37809410

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087007591A KR100985450B1 (en) 2005-08-30 2006-08-30 Local search

Country Status (7)

Country Link
EP (1) EP1934829A4 (en)
JP (1) JP2009506459A (en)
KR (1) KR100985450B1 (en)
CN (1) CN101313300B (en)
BR (1) BRPI0615323A2 (en)
CA (1) CA2620770A1 (en)
WO (1) WO2007027608A2 (en)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8060555B2 (en) 2005-08-17 2011-11-15 Canada Post Corporation Electronic content management systems and methods
US7917490B2 (en) * 2007-07-09 2011-03-29 Google Inc. Interpreting local search queries
KR100997873B1 (en) * 2008-03-31 2010-12-02 팅크웨어(주) Map advertising method and system using virtual POI
CN102027468B (en) * 2008-05-16 2014-04-23 上海惠普有限公司 Provisioning a geographical image for retrieval
US8682646B2 (en) 2008-06-04 2014-03-25 Microsoft Corporation Semantic relationship-based location description parsing
US8306973B2 (en) * 2009-04-06 2012-11-06 Google Inc. Method for generating location targeted, keyword-triggered, ads and generating user recallable layer-based ads
KR100925278B1 (en) * 2009-04-29 2009-11-05 (주)지오투정보기술 Geocoding System Using Digital Map and Its Method
KR101289082B1 (en) * 2009-09-02 2013-07-22 한국전자통신연구원 System and method for providing area information service
US20110131500A1 (en) * 2009-11-30 2011-06-02 Google Inc. System and method of providing enhanced listings
US8260775B2 (en) 2010-01-12 2012-09-04 Microsoft Corporation Geotemporal search
CN102479229A (en) * 2010-11-29 2012-05-30 北京四维图新科技股份有限公司 Point of interest data generation method and system
CN102004793B (en) * 2010-12-08 2013-09-04 厦门雅迅网络股份有限公司 POI (Point Of Interest) position inquiry index file based on grid space and information inquiry method
US9047103B2 (en) 2010-12-21 2015-06-02 Microsoft Technology Licensing, Llc Resource index identifying multiple resource instances and selecting most appropriate UI resource instance based on weighted resource request conditions
US8495570B2 (en) 2010-12-23 2013-07-23 Microsoft Corporation Resource deployment based on conditions
US9495371B2 (en) * 2010-12-28 2016-11-15 Microsoft Technology Licensing, Llc Unified access to resources
CN102622349B (en) * 2011-01-26 2014-10-22 北京四维图新科技股份有限公司 Processing method and processing device of spatial position information database
US20140236689A1 (en) * 2011-02-11 2014-08-21 Thinkware Systems Corporation Method and system for advertisement of map using virtual poi (point of interest)
CN102222084B (en) * 2011-05-13 2014-02-19 北京百度网讯科技有限公司 Method and device for displaying retrieval result on map
US8983953B2 (en) 2011-10-18 2015-03-17 Nokia Corporation Methods and apparatuses for facilitating interaction with a geohash-indexed data set
KR101303869B1 (en) * 2011-10-20 2013-09-04 경북대학교 산학협력단 System and method for example-based place search
CN103150309B (en) * 2011-12-07 2016-03-30 清华大学 A kind of direction in space perception map interest point search method and system
US8958817B1 (en) 2012-01-19 2015-02-17 Google Inc. Weighted-distance spatial indexing
JP5544401B2 (en) * 2012-08-15 2014-07-09 株式会社ゼンリンデータコム Document data evaluation method, document data evaluation device, document data selection method, document data selection device, database generation method, database generation device, and computer program
CN103049481B (en) * 2012-11-29 2016-03-02 百度在线网络技术(北京)有限公司 A kind of searching method and search equipment
KR101499842B1 (en) * 2013-12-06 2015-03-10 아주대학교산학협력단 Method and Apparatus for searching for data object
US9465811B2 (en) * 2014-03-20 2016-10-11 Facebook, Inc. Polygon-based indexing of places
US20160092518A1 (en) * 2014-09-25 2016-03-31 Microsoft Corporation Dynamic results
CN104899243B (en) * 2015-03-31 2016-09-07 北京安云世纪科技有限公司 The method and device of detection point of interest POI data accuracy
CN104699838B (en) * 2015-04-01 2018-08-17 姚林 A kind of Webpage search method for pushing, and more site searches combined method
US9787557B2 (en) * 2015-04-28 2017-10-10 Google Inc. Determining semantic place names from location reports
CN105005577A (en) * 2015-05-08 2015-10-28 裴克铭管理咨询(上海)有限公司 Address matching method
CN105120072A (en) * 2015-07-17 2015-12-02 广东欧珀移动通信有限公司 Method and device for screening yellow page telephone numbers
CN106855868A (en) * 2015-12-09 2017-06-16 北京奇虎科技有限公司 The display methods and device of map search result
CN106897302B (en) * 2015-12-18 2020-03-31 北京四维图新科技股份有限公司 Method and device for updating point of interest
CN105808715B (en) * 2016-03-07 2017-02-22 武汉大学 Method for establishing map per location
CN107292302B (en) * 2016-03-31 2021-05-14 阿里巴巴(中国)有限公司 Method and system for detecting interest points in picture
CN106304109B (en) * 2016-07-28 2019-09-17 中国科学院软件研究所 A kind of generation method of the shortwave broadcasting resource scheduling scheme based on local search
CN106534246A (en) * 2016-08-31 2017-03-22 成都数联铭品科技有限公司 Peripheral enterprise search system based on location service
CN106341471A (en) * 2016-08-31 2017-01-18 成都数联铭品科技有限公司 Peripheral target geographic information acquiring and searching method for position service
KR102681751B1 (en) * 2016-12-26 2024-07-05 현대오토에버 주식회사 Apparatus and method for road event information registration
JP6834774B2 (en) * 2017-05-22 2021-02-24 トヨタ自動車株式会社 Information extraction device
KR101896543B1 (en) * 2017-11-13 2018-09-07 (주) 알트소프트 Local box advertisement service system which be able to share banner advertisement between local box business
CN108427710B (en) * 2018-01-26 2020-05-08 金蝶软件(中国)有限公司 Enterprise data visualization processing method, server and storage medium
CN110399566B (en) * 2018-04-20 2024-06-07 北京搜狗科技发展有限公司 Position searching method and device and electronic equipment
CN110580270B (en) * 2018-06-07 2024-07-19 北京京东尚科信息技术有限公司 Address output method and system, computer system and computer readable storage medium
US10877947B2 (en) 2018-12-11 2020-12-29 SafeGraph, Inc. Deduplication of metadata for places
CN110619087B (en) * 2019-05-23 2022-04-15 北京无限光场科技有限公司 Method and apparatus for processing information
CN110619088B (en) * 2019-05-23 2022-04-19 北京无限光场科技有限公司 Method and apparatus for processing information
CN110619086B (en) * 2019-05-23 2022-02-25 北京无限光场科技有限公司 Method and apparatus for processing information
FR3097064B1 (en) * 2019-06-06 2022-11-04 Deepreach METHOD FOR GENERATION OF A COMPOSITE VISIBILITY INDICATOR OF AN ENTITY, SYSTEM
US11762914B2 (en) 2020-10-06 2023-09-19 SafeGraph, Inc. Systems and methods for matching multi-part place identifiers
US11899696B2 (en) 2020-10-06 2024-02-13 SafeGraph, Inc. Systems and methods for generating multi-part place identifiers
WO2022076081A1 (en) * 2020-10-06 2022-04-14 SafeGraph, Inc. Systems and methods for generating multi-part place identifiers
CN113568951A (en) * 2021-07-30 2021-10-29 拉扎斯网络科技(上海)有限公司 Data mining and processing method and device, storage medium and electronic equipment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5938721A (en) 1996-10-24 1999-08-17 Trimble Navigation Limited Position based personal digital assistant
US6701307B2 (en) * 1998-10-28 2004-03-02 Microsoft Corporation Method and apparatus of expanding web searching capabilities
US6934634B1 (en) * 2003-09-22 2005-08-23 Google Inc. Address geocoding

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1269357A4 (en) * 2000-02-22 2005-10-12 Metacarta Inc Spatially coding and displaying information
JP2002063196A (en) * 2000-03-06 2002-02-28 Katsuyoshi Nagashima Device for automatically retrieving internet information, and method for the same
JP2002082982A (en) * 2000-09-06 2002-03-22 Nippon Telegr & Teleph Corp <Ntt> Device and method for providing information and recording medium with information providing program recorded thereon
JP2005078206A (en) * 2003-08-28 2005-03-24 Canon Inc On-line print sales system and on-line print sales method
JP2005149073A (en) * 2003-11-14 2005-06-09 Matsushita Electric Ind Co Ltd Data retrieval device
JP2007520788A (en) * 2003-11-25 2007-07-26 グーグル・インク Assigning geographic location identifiers to web pages

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5938721A (en) 1996-10-24 1999-08-17 Trimble Navigation Limited Position based personal digital assistant
US6701307B2 (en) * 1998-10-28 2004-03-02 Microsoft Corporation Method and apparatus of expanding web searching capabilities
US6934634B1 (en) * 2003-09-22 2005-08-23 Google Inc. Address geocoding

Also Published As

Publication number Publication date
CN101313300B (en) 2014-11-12
CA2620770A1 (en) 2007-03-08
CN101313300A (en) 2008-11-26
KR20080040044A (en) 2008-05-07
EP1934829A2 (en) 2008-06-25
BRPI0615323A2 (en) 2011-05-17
WO2007027608A3 (en) 2007-08-30
EP1934829A4 (en) 2012-04-18
JP2009506459A (en) 2009-02-12
WO2007027608A2 (en) 2007-03-08

Similar Documents

Publication Publication Date Title
KR100985450B1 (en) Local search
US6934634B1 (en) Address geocoding
US7483881B2 (en) Determining unambiguous geographic references
US8346770B2 (en) Systems and methods for clustering search results
US8046371B2 (en) Scoring local search results based on location prominence
JP4633803B2 (en) Ambiguous geographic reference classification
Vaid et al. Spatio-textual indexing for geographical search on the web
JP2005182817A (en) Query recognizer
US20060149800A1 (en) Authoritative document identification
JP2011238248A (en) Indexing documents according to geographical relevance
CN101454748A (en) Propagating useful information among related web pages, such as web pages of a website
JP2007520788A (en) Assigning geographic location identifiers to web pages
US20110264683A1 (en) System and method for managing information map
CN109871536B (en) Place name recognition method and device
Christen et al. A probabilistic geocoding system utilising a parcel based address file
JP3266068B2 (en) Map data linkage system and storage medium having program for performing map data linkage
Watters et al. GeoSearcher: Geospatial ranking of search engine results
Jameel et al. Compounded uniqueness level: Geo-location indexing using address parser
Wu et al. Extending a geocoding database by Web information extraction

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
PA0105 International application

Patent event date: 20080328

Patent event code: PA01051R01D

Comment text: International Patent Application

PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20080328

Comment text: Request for Examination of Application

PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20090427

Patent event code: PE09021S01D

AMND Amendment
E601 Decision to refuse application
PE0601 Decision on rejection of patent

Patent event date: 20100217

Comment text: Decision to Refuse Application

Patent event code: PE06012S01D

Patent event date: 20090427

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I

AMND Amendment
J201 Request for trial against refusal decision
PJ0201 Trial against decision of rejection

Patent event date: 20100520

Comment text: Request for Trial against Decision on Refusal

Patent event code: PJ02012R01D

Patent event date: 20100217

Comment text: Decision to Refuse Application

Patent event code: PJ02011S01I

Appeal kind category: Appeal against decision to decline refusal

Decision date: 20100702

Appeal identifier: 2010101003691

Request date: 20100520

PB0901 Examination by re-examination before a trial

Comment text: Amendment to Specification, etc.

Patent event date: 20100520

Patent event code: PB09011R02I

Comment text: Request for Trial against Decision on Refusal

Patent event date: 20100520

Patent event code: PB09011R01I

Comment text: Amendment to Specification, etc.

Patent event date: 20091023

Patent event code: PB09011R02I

Comment text: Amendment to Specification, etc.

Patent event date: 20080328

Patent event code: PB09011R02I

B701 Decision to grant
PB0701 Decision of registration after re-examination before a trial

Patent event date: 20100702

Comment text: Decision to Grant Registration

Patent event code: PB07012S01D

Patent event date: 20100623

Comment text: Transfer of Trial File for Re-examination before a Trial

Patent event code: PB07011S01I

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20100929

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20100929

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20130911

Year of fee payment: 4

PR1001 Payment of annual fee

Payment date: 20130911

Start annual number: 4

End annual number: 4

FPAY Annual fee payment

Payment date: 20140912

Year of fee payment: 5

PR1001 Payment of annual fee

Payment date: 20140912

Start annual number: 5

End annual number: 5

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20160809