KR20080040044A - Local search - Google Patents

Local search Download PDF

Info

Publication number
KR20080040044A
KR20080040044A KR20087007591A KR20087007591A KR20080040044A KR 20080040044 A KR20080040044 A KR 20080040044A KR 20087007591 A KR20087007591 A KR 20087007591A KR 20087007591 A KR20087007591 A KR 20087007591A KR 20080040044 A KR20080040044 A KR 20080040044A
Authority
KR
Grant status
Application
Patent type
Prior art keywords
address
local search
data
method
information
Prior art date
Application number
KR20087007591A
Other languages
Korean (ko)
Other versions
KR100985450B1 (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

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06QDATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce, e.g. shopping or e-commerce
    • G06Q30/02Marketing, e.g. market research and analysis, surveying, promotions, advertising, buyer profiling, customer management or rewards; Price estimation or determination
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/30Information retrieval; Database structures therefor ; File system structures therefor
    • G06F17/30861Retrieval from the Internet, e.g. browsers
    • G06F17/30864Retrieval from the Internet, e.g. browsers by querying, e.g. search engines or meta-search engines, crawling techniques, push systems
    • G06F17/3087Spatially dependent indexing and retrieval, e.g. location dependent results to queries

Abstract

A system receives yellow page data, map provider data, and document data in response to a local search query, and geocodes the data to assign a geographic identifier and to match at least one address associated with the local search query. The system also indexes the geocoded data to determine business information and location information associated with the local search query. The system further provides local search results and a map 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)"이라 한다]은 방대한 양의 정보를 포함하고 있다. [Referred to as simply "the web (web)"] The World Wide Web contains a vast amount of information. 하지만, 이러한 방대한 양의 정보 중에서 원하는 부분을 찾아내는 것은 상당한 노력을 필요로 할 것이다. However, finding the desired part of the information in such a vast amount would require a considerable effort. 이러한 문제는, 웹상에서의 정보의 양과 웹 검색의 경험이 없는 사용자의 수가 급격히 증가함에 따라, 복잡하고 번거롭게 되고 있다. The problem is, it is complex and cumbersome as the Web dramatically increase the number of sheep does not have the experience of web users in search of information.

검색 시스템은, 하이퍼링크(hyperlinks)를, 사용자가 관심을 갖는 웹페이지(web pages)로 반환하는(return) 시도를 행한다. Search system performs hyperlinks (hyperlinks), (return) attempts to return the user to a web page (web pages) of interest. 일반적으로, 검색 시스템은, 사용자가 입력한 검색어("검색 질의"라고 한다)에 대해 사용자가 갖는 관심에 대한 판정(determination)에 기반을 두고 있다. Typically, the search system, the determination of the affinity has on (referred to as "search query") that inputs a search term is based on (determination). 검색 시스템의 목적은, 검색 질의에 기초하여, 높은 품질을 가지며 적절하게 관련된 검색 결과(예컨대, 웹페이지)에 대한 링크(link)를 사용자에게 제공하는 것이다. The purpose of the search system on the basis of the search query, to provide a link (link) for a search related to appropriately have a high quality results (e.g., web pages) to the user. 통상적으로, 검색 시스템은, 검색 질의 내의 검색어를 미리 기억된 웹페이지의 코퍼스(corpus: 말뭉치)에 매칭시키는 것에 의해 작업을 완수한다. Typically, the search system, the search corpus of pre-stored web pages for search terms in the query: Complete the job by having a matching (corpus corpus). 사용자의 검색어를 포함하는 웹페이지는, "히 트"(hit: 적중) 또는 "검색 결과"라고 할 수 있으며, 사용자에게 링크로서 제공될 수 있다. Web pages that contain your search term, "Hi bit": You can say (hit hit) or "Results" can be provided to the user as links.

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

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

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

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

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

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

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

또 다른 특징에 의하면, 본 발명의 시스템은, 복수의 명령을 기억하기 위한 메모리; Further, according to another feature, the system of the present invention, a memory for storing a plurality of instructions; 및 메모리 내의 명령을 실행하기 위한 프로세서를 포함한다. And a processor for executing instructions in a memory. 프로세서는, 지역 검색 질의와 관련된 위치를 식별하고, 지역 검색 질의에 관련이 있으며 식별된 위치와 연관된 지역 검색 결과를 식별하며, 지역 검색 결과의 그룹의 각각에 대한 식별자를 식별하고, 제3자 지도 제공자로부터, 식별된 위치와 관련된 지도를 수신하는 동작을 수행할 수 있다. Third party map processor, identifying a location related to the local search query, identify local search query area-a and the identified positions associated with the search results, and identifying an identifier for each group of local search results, and from a provider, it is possible to perform the operations of receiving a map associated with identified locations. 지도는 지역 검색 결과의 그룹 내의 하나 이상의 지역 검색 결과의 위치를 식별한다. The map identifies a position of at least one local search result in the group of local search results.

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

다른 특징에 의하면, 본 발명의 방법은, 토큰 리스트를 작성하는 단계와, 웹 문서 내의 가능한 주소(potential address)를 식별하는 단계와, 가능한 주소가 도시(city)와 연관된 토큰을 포함하는지 여부를 판정하기 위해 가능한 주소를 시작 부분부터 파싱 처리(parse)하는 단계를 포함한다. According to another feature, determining whether or not the method of the present invention, the step of creating the token list and, identifying a potential address (potential address) in the web document and a potential address includes a token associated with the city (city) from the start of the available addresses in order to include the step of parsing process (parse). 본 방법은 또한, 가능한 주소가 지구(district)와 연관된 토큰을 포함하는지 여부를 판정하기 위해 가능한 주소를 추가로 파싱 처리하는 단계와, 도시와 연관된 토큰 또는 지구와 연관된 토큰의 다음에 가능한 주소 내의 최장 매칭 토큰(longest-matching token)을 식별하는 단계와, 도시와 연관된 토큰, 지구와 연관된 토큰, 및 식별된 최장 매칭 토큰에 기초하여 가능한 주소가 실제의 주소인지 여부를 판정하는 단계를 포함한다. The longest in the present method also can address the district (district) and the step of processing to parse an additional potential address to determine whether it contains an associated token, available next in the token associated with the token, or the earth associated with the city address and identifying a matching token (longest-matching token), and a step of determining whether the potential address is the physical address of the basis of the associated token, the token associated with the district, and the identified longest-matching token as shown.

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

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

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

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

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

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

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

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

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

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

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

본 발명에 관한 이하의 상세한 설명은 첨부 도면을 참조한다. The following detailed description of the invention refers to the accompanying drawings. 전체 도면을 통해 동일한 참조 부호는 동일 또는 유사한 구성요소를 나타낼 수 있다. The same reference numeral through the whole drawings may represent the same or similar elements. 또한, 이하의 상세한 설명이 본 발명을 제한하는 것은 아니다. Moreover, not the following detailed description to limit the invention.

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

개요 summary

본 발명의 실시예는, 지역 검색 결과를 식별하고, 식별된 위치와 관련된 지도를 생성할 수 있다. Embodiment of the invention, it is possible to identify local search results and generate a map associated with identified locations. 예를 들어, 일실시예에서, 도 1에 나타낸 바와 같이, 시스템은, 사용자가 입력한 지역 검색 질의(local search query)를 수신하고, 수신한 지역 검색 질의와 연관된 위치(location)를 식별(identify)할 수 있다. For example, in one embodiment, 1, the system comprising: receiving a user-input the local search query (local search query), and identifies the position (location) associated with the received local search query (identify )can do. 시스템은, 지역 검색 질의에 관련될 수 있으며 식별된 위치와 관련될 수 있는 일련의 지역 검색 결과(예컨대, 검색 결과 "A" 내지 검색 결과 "H")를 식별할 수 있다. The system may identify may be related to the local search query, and a set of local search results that may be associated with the identified location (e.g., search results, "A" to the search result "H"). 지역 검 색 결과는 지역 검색 질의에 관련될 수 있는 문서에 대한 링크를 포함할 수 있다. Local search results may include links to documents that may be relevant to the local search query. 시스템은, 지역 검색 결과의 그룹에 대한 식별자(identifier)를 식별할 수 있으며, 이 식별자를 지도 제공자에게 제공할 수 있다. The system is able to identify an identifier (identifier) ​​for a group of local search results, and may provide the identifier to the map provider. 시스템은, 식별된 위치와 연관된 지도를 지도 제공자로부터 받을 수 있다. The system can receive a map associated with identified locations from a map provider. 지도는 지역 검색 결과의 그룹 내에서 하나 이상의 검색 결과(예컨대, 도 1에 나타낸 검색 결과 "A")의 위치를 식별할 수 있다. The map may identify a position of at least one search result (search result "A" shown in e.g., FIG. 1) in the group of local search results.

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

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

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

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

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

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

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

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

클라이언트/서버 구조의 예 An example of a client / server architecture

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

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

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

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

소프트웨어 명령은, 데이터 기억 장치(350) 등과 같은 다른 컴퓨터로 판독가능한 매체로부터 또는 통신 인터페이스(380)를 통해 다른 디바이스로부터, 메모 리(330)에 입력될 수 있다. Software instruction, from another device via a read from the medium or the communication interface 380 to another computer, such as data storage device 350, may be input to the memory 330. 메모리(330)에 포함되어 있는 소프트웨어 명령에 의해 프로세서(320)가 처리를 수행할 수 있게 되는데, 이에 대해서는 나중에 설명한다. There is so that the processor 320 to perform the process by the software instructions contained in memory 330, as will be described later. 또한, 본 명세서에 개시된 처리(프로세스)를 구현하기 위하여, 소프트웨어 명령 대신에 또는 이와 함께 하드와이어드 회로(hardwired circuitry)가 사용될 수 있다. Further,, in place of a software command or the same time hard-wired circuit (hardwired circuitry) may be used to implement the process (the process) described herein. 본 발명의 실시예는, 하드웨어 회로 및 소프트웨어의 어떠한 특정의 조합에 한정되지 않는다. Embodiment of the invention, does no be limited to the specific combination of hardware circuitry and software.

지역 검색 시스템의 예 An example of a local search system

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

도 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)를 포함할 수 있다. 4, the local search system 225, map provider data 400, yellow page data 405, web document data 410, an index / document repository 415, address and POI (points of interest: a point of interest) identification (ID) information 420, address FP (fingerprint: fingerprint) and POI ID mapping information 425, a geocoder (geocoder) (430), the indexer (indexer) (435), the front-end may include servers (front end server) (440), the map URL (map Uniform Resource Locator) information (445), and a local search result (450). 지도 제공자 데이터(400), 옐로우 페이지 데이터(405), 및 웹 문서 데이터(410)는 인덱서(435)에 제공될 수 있다. Map provider data 400, yellow page data 405, and web document data 410 may be provided to indexer 435. 지도 제공자 데이터(400)는 주소/POI ID 정보(420)와 주소 FP 및 POI ID 매핑 정보(425)를 얻는데 사용될 수 있다. Map provider data 400 may be used to obtain the address / POI ID information 420 and address FP and POI ID mapping information 425. 인덱서(435)는 인덱스/문서 레포지토리(415) 및 지오코더(430)에 접속될 수 있다. Indexer 435 may be connected to index / document repository 415 and geocoder 430. 주소/POI ID 정보(420)는 지오코더(430)에 제공될 수 있다. Address / POI ID information 420 may be provided to geocoder 430. 프런트 엔드 서버(440)는, 지오코더(430) 및 인덱스/문서 레포지토리(415)에 접속될 수 있으며, 주소 FP 및 POI ID 매핑 정보(425)를 수신할 수 있다. The front-end server 440, may be connected to geocoder 430 and index / document repository 415, may receive address FP and POI ID mapping information 425. 프런트 엔드 서버(440)는 지도 URL 정보(445) 및 지역 검색 결과(450)를 생성할 수 있다. Front-end server 440 may generate a URL map information (445) and a local search result (450). 지역 검색 시스템(225)은, 도 4에 도시하지 않은, 다른 접속 및/또는 구성 요소 상호 관계를 선택적으로 포함할 수 있다. Local search system 225, may optionally include the relationships are not shown in Figure 4, another connection and / or components.

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

지도 제공자 데이터 ( Map Map data providers (Map Provider Provider Data ) Data)

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

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

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

옐로우 페이지 데이터 ( Yellow Yellow page data (Yellow Page Page Data ) Data)

옐로우 페이지 데이터(405)는 여러 가지 정보를 포함할 수 있으며 다수의 소스(예컨대, 제3자 제공자)로부터 수신될 수 있다. Yellow page data 405 may include a variety of information and may be received from multiple sources (e.g., third party providers). 예를 들어, 일실시예에서, 옐로우 페이지 데이터(405)는 POI에 대한 주소[예컨대, 주(county), 시(city), 성(province)] 및/또는 전화 번호 정보, 상호, 이메일 주소, 팩시밀리 번호, 웹 사이트 주소, CEO 이름, 업소 설명(business descriptions), SIC(산업분류코드)에 기초한 카테고리, 업소 종류 등을 포함할 수 있다. For example, in one implementation, yellow page data 405 is an address of the POI [e. G., State (county), city (city), sex (province)] and / or telephone number information, name, e-mail address, fax number, website address, CEO name, description premises (business descriptions), Category based on SIC (industrial classification code), and may include the establishment categories. 다른 실시예에서, 옐로우 페이지 데이터(405)는 위도와 경도 정보를 전혀 포함하지 않을 수 있다. In another embodiment, the yellow page data 405 may not contain any latitude and longitude information. 그 결과, POI에 관한 완전한(또는 실질적으로 완전한) 정보(예컨대, 주소, 전화 번호, 지도 위치 정보)가, 지도 제공자 데이터(400)와 옐로우 페이지 데이터(405)로부터 추론될 수 있다. As a result, it can be deduced from a full (or substantially complete) information (e.g., address, telephone number, and map position information) is, map provider data 400 and yellow page data 405 on the POI.

웹 문서 데이터( Web Web document data (Web Document Document Data ) Data)

웹 문서 데이터(410)는 여러 가지 정보를 포함할 수 있다. Web document data 410 may include a variety of information. 예를 들어, 일실시예에서, 웹 문서 데이터(410)는, 이메일, 파일, 파일의 조합, 다른 파일에 임베드된(embedded) 링크를 갖는 하나 이상의 파일, 뉴스 그룹 포스팅, 블로그, 웹 광고, 웹 페이지[텍스트 정보를 포함할 수 있으며, 임베드된(embedded) 정보(예컨대, 메타 정보, 이미지, 하이퍼링크 등) 및/또는 임베드된(embedded) 명령(예컨대, 자바스크립트 등)을 포함할 수 있음], 업소 정보(예컨대, 주소, 전화 번호 등) 등을 포함할 수 있다. For example, in one embodiment, a web document data 410, e-mail, file, a combination of files, one or more files with the (embedded) links embedded in other files, a news group posting, a blog, a web advertisement, web [which can include can include text information, the embedded (embedded) information (e.g., meta information, images, hyperlinks, etc.) and / or embedded (embedded) command (for example, JavaScript, etc.) page , it may include a business information (e.g., address, phone number, etc.). 웹 문서 데이터(410)는 또한 지역 검색 질의에 기초하여 찾은 문서를 포함할 수 있다. Web document data 410 may also include a document found on the basis of the local search query.

주소/ POI Address / POI ID 정보 ID information

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

주소 FP POI Address FP and POI ID ID 매핑 정보 Information Mapping

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

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

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

인덱스/문서 레포지토리( Index / Document Index / document repository (Index / Document Repository ) Repository)

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

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

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

([베이징시][시쳉구][베이리시 거리]) ([Beijing] when chenggu [Bay Street receiver])

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

([베이징시][하이디안구][이헤유안 거리 5]) ([Beijing] [Heidi eye [yihe Yuan Street 5)

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

([베이징시][하이디안구][베이징대학]) ([Beijing] [Heidi eye] [Peking University])

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

([장쑤성][난징시][구로우구][한종 거리]) ([Jiangsu Province] [Nanjing] [port Hugo] [one kinds distance])

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

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

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

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

지오코더( Geocoder ) Geocoder (Geocoder)

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

옐로우 페이지 데이터(405)를 색인화(index)하기 위하여, 인덱서(435)는, 중국어 주소를 보고 지도 위치(map position)를 판정할 필요가 있지만, 여기에는 많은 문제점이 있다. To index (index) yellow page data 405, indexer 435, it is necessary to determine the map position (map position) reported a Chinese address, here there are many problems. 예를 들어, 중국 내의 주소의 대부분에 대해 정확한 위치와 상세한 주소 정보를 이용하는 것은 쉽지 않다. For example, using the precise location and a detailed address information for the majority of the addresses in China is not easy. 중국어 주소는 적절하게 정의된 형식과 분류 체계(hierarchy)를 구비하지 못하고 있기 때문이다. Chinese do not address because having a suitably defined format and taxonomy (hierarchy). 중국어 주소의 가능한 구성 요소로는, 도시(city), 지구(district), 도심(town), 마을(village), 도로(road), 거리(street), 거리 번지(street number), 및 빌딩이 포함될 수 있다. As a possible component of the Chinese address, City (city), district (district), the city (town), town (village), roads (road), Street (street), street address (street number), and the building is included can. 옐로우 페이지 데이터(405)는, 특히 시골 지역(rural areas)에서는 그 형식이 자유로울 수 있으며(예컨대, 어떠한 특정의 형식이나 형태에 맞추지 않음), 몇몇 POI에 대해서는, 대응하는 주소 구성 요소를 이용할 수 없다. Yellow page data 405, especially in the rural areas (rural areas) be free that format (e.g., any not fit in a particular form or forms of), for some POI, can not use the corresponding address component that . 중국어 주소의 예를 든다. 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)에 제공된 주소와 최적으로 매칭시켜서, 가능한 가장 정확한 지도 위치를 얻을 수 있다. Geocoder 430, by matching the address in the yellow page data 405 with addresses provided in map provider data and the optimum 400, it is possible to obtain the most accurate map position possible. 지오코더(430)는, 주소 리스트 작성기(600), 파서(parser)(610), 최장 매칭 프리픽스 로케이터(longest matching prefix locator)(620), 조합 로케이터(630), 질의 지오코딩 유닛(query geocoding unit)(640) 등을 포함할 수 있다. Geocoder 430, address list builder 600, a parser (parser) (610), longest matching prefix locator (longest matching prefix locator) (620), a combination locator 630, a query geocoding unit (query geocoding unit ) 640, and the like. 지오코더(430)의 구성 요소들은 각각의 주소(예컨대, ShenZhen City HeGang Town AnLiang Village AnLiang Road 172 Number JingCheng Building)에 대해 많은 작업을 수행할 수 있다. Components of geocoder 430 may perform a number of tasks for each address (e.g., ShenZhen City HeGang Town AnLiang AnLiang Village Road 172 Number JingCheng Building).

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

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

조합 로케이터(630)는, 특정의 조합의 위치를 찾는데, 먼저 POI 이름를 찾 고, 이어서 다양한 레벨의 주소를 찾으며, 마지막으로 지구 또는 도시를 찾는다. Combination locator 630, to locate a specific combination of, first and found POI yireumreul, then searches for the address of the various levels, and finally look for the district or city. 이러한 검색 구성(locating arragement)에 의해, 대부분의 특정의 주소가 조합 로케이터(630)에 의해 획득될 수 있다는 것이 보장될 수 있다. With such a configuration search (locating arragement), there is a most specific address may be a guarantee that the same may be obtained by combination locator 630. 예를 들어, 조합 로케이터(630)는 다음과 같은 조합의 예를 찾을 수 있다. For example, combination locator 630 may locate the following example of such combination.

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

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

도시 + 지구 + 최장 매칭 프리픽스 로케이터(620)에 의해 찾은 주소(예컨대, "Village") City + district + address (e.g., "Village") located by longest matching prefix locator 620

도시 + 지구 + 최장 매칭 프리픽스 로케이터(620)에 의해 찾은 주소(예컨대, "Town") City + district + address (e.g., "Town") locate by longest matching prefix locator 620

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

도시 city

사용자에 의해 지역 검색 질의가 입력되면, 검색 질의의 위치 부분(location part)은 지도 제공자가 소유하는 지도 서버(map server)로 보내질 수 있다. When a local search query is entered by the user, the location part of the search query (part location) can be sent to (map server) map to a map provider owning server. 위치 질의(location query)가 중국어, 일본어, 또는 한국어(CJK) 문자를 포함하고 있다면, 지도 서버는 그 질의를 질의 지오코딩 유닛(query geocoding unit)(640)에 보내서 지오코딩이 행해지도록 할 수 있다. Location query you are including (location query) Chinese, Japanese, or Korean (CJK) text, map server can geocode to be done by sending the query to a query geocoding unit (query geocoding unit) (640) . 사용자가 입력한 위치가 명확하지 않은 경우(예컨대, 지오코더로부터의 제1 결과의 스코어가 제2 결과의 스코어의 2배보다 작은 경우), 질의 지오코딩 유닛(640)은 사용자에게 제안을 할 수 있다. If the user does not clear the entered locations (e.g., if the first result of the game from the geocoder is less than twice the score of the second result), query geocoding unit 640 may make an offer to the user have. 예를 들 어, 위치 질의가 "History Museum"(역사 박물관)인 경우, 질의 지오코딩 유닛(640)은, "Do you want to look for TianJian City HeDong District History Museum, or ShangHai City PuDong District ShangHai History Museum?"(티엔지엔시 헤동구 역사 박물관을 찾나요 아니면 상하이시 푸동구 상하이 역사 박물관을 찾나요?)라고 하는 제안을 할 수 있다. Examples of the fish, when a location query of "History Museum" (Museum of History), the query geocoding unit 640 has, "Do you want to look for TianJian City HeDong District History Museum, or ShangHai City PuDong District ShangHai History Museum ? "(Tian Jian H. when I find the history of Eastern Museum Or do you look for Shanghai Pu Dong Shanghai history Museum) can make an offer that.

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

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

인덱서( Indexer ) Indexer (Indexer)

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

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

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

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

예를 들어, 제1 기술로서, 업소 정보 추출기(720)는, 통계적 모델(statistical model)에 기초한 주소와 연관된 업소 정보를 판정하기 위해 주소를 가진 문서를 분석할 수 있는 분류기(classifier)를 포함할 수 있다. For example, as a first technique, business information extractor 720 may include a classifier (classifier) ​​to analyze the document with an address in order to determine the address and business information are associated based on the statistical model (statistical model) can. 분류기에 의해 분석되는 문서는, 대응하는 옐로우 페이지 데이터(405)가 없는 주소를 가진 문서 및/또는 정확하지 않은 옐로우 페이지 데이터(405)가 있는 주소를 가진 문서를 포함할 수 있다. Documents to be analyzed by the classifier may include a document with which the corresponding yellow page data 405 addresses the documentation and / or not yellow page data 405 that is accurate to with no address. 분류기에 의해 수행되는 기능은, 업소 정보가 상호(타이틀) 정보 또는 전화 번호 정보에 대응하는지 여부에 따라 달라질 수 있다. Functions performed by a classifier, it may be changed according to whether the business information corresponds to each other (title) information or telephone number information. 업소 정보가 상호 정보나 전화 번호 정보 이외의 다른 정보를 포함할 때에는 또 다른 기능이 수행될 수 있다. When the business information including information other than mutual information and phone number information yet other functions can be performed. 상호(타이틀)는, 주소의 가까이에 있는 용어를 해석하고, 각각의 용어가 타이틀의 일부가 될 가능성을 판정함으로써 식별될 수 있다. Cross (title) it can be identified by analyzing terms near the address and determining the probability that each term is part of the title. 식별되는 각각 의 후보 타이틀(candidate title)에 신뢰도 스코어(confidence score)가 할당될 수 있다. That can be assigned confidence score (confidence score) for each candidate title (title candidate) is identified.

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

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

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

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

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

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

지리적으로 관련성을 갖는 문서와 연관된 지리적 영역은 이에 대응하는 위치 식별자에 매핑될 수 있다. Geographically document and geographic area associated with the relevance may be mapped to a corresponding location identifier. 그 문서에 대해 추가의 위치 식별자가 정해질 수 있다. A location identifier may be determined for that article. 특히, 미리 정해진 영역 내의 주변 영역에 대응하는 위치 식별자도 정해질 수 있다. In particular, it can also be determined location identifier corresponding to the peripheral area in the predetermined area. 각각의 지리적으로 관련성을 갖는 문서는, 문서의 영역과 식별된 주변 영역에 연관된 위치 식별자를 포함한 것처럼 색인화될 수 있다. Document having relevance with each geographically, and may be indexed as containing the location identifier associated with the identified region and the peripheral region of the article.

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

거리 플래트너(distance flattener)(730)는 지역 검색 질의에 대한 검색 반경(search radius) 또는 거리를 설정할 수 있다. Distance flattener (distance flattener) (730) may set a search radius for a local search query (search radius) or distance. 예를 들어, 일실시예에서, 각각의 지역 검색 질의는 지오코더(430)에 의해 특정의 위치에 지오코딩될 수 있다. For example, in one implementation, each local search query may be geocoded to a specific location by geocoder 430. 각각의 위치는 지점 위치(예컨대, 빌딩, 유명한 여행자 장소, 학교, 거리 중심 등) 또는 경계 영역 위치(예컨대, 지구, 도시, 성 등)이 될 수 있다. Each location may be a point location (e.g., buildings, famous tourist places, schools, street center, etc.), or the border area location (e.g., districts, cities, sex, etc.). 지점 위치의 경우, 거리 플래트너(730)는, 검색 반경을 미리 정해진 거리(예컨대, 해당 지점 주변 의 근사적으로 5 킬로미터)로 설정할 수 있다. For point locations, distance flattener 730, a predetermined distance a search radius (e.g., approximately around the point enemy 5 km) may be set to. 경계 영역 위치의 경우, 거리 플래트너(730)는, 그 위치의 중심으로부터 코너까지의 대략 최대 거리를 검색 반경으로 설정할 수 있다. For bounding area locations, distance flattener 730 may set the approximate maximum distance of the curve from the center of the position as a search radius. 위치와 연관된 zcode 세트(예컨대, 해당 위치를 구성하는 zcode의 세트) 내의 검색 결과의 스코어를 만들어낼 수 있다. It can create a score of a search result in the set associated zcode location (e.g., a set of zcode to configure the location). 이러한 방식에서는, 사용자가 지구 이름(district name)에 근접해서 검색하면, 최상위 결과(top results)가 해당 지구 내에 있게 된다. In this way, if a user searches in close proximity to the name of the district (district name), the most significant results (top results) are within the district.

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

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

스니피트 하이라이터(snippet highlighter)(760)는 문서(예컨대, 웹 문서) 내의 발췌 부분(snippet)을 강조할 수 있다. Snippet highlighter (snippet highlighter) (760) may highlight the excerpt (snippet) in a document (e.g., web documents). 웹 문서의 스니피트 하이라이트 처리는 문서 내의 용어 오프셋(term offsets)에 의해 달성되는 것이 일반적이다. Snippet highlighting processing of a web document is generally not achieved by the offset term in a document (term offsets). CJK(중국어, 일본어, 한국어) 문서는 다른 언어와 다르게 카운트되는 용어를 갖기 때문에(예컨대, 구획 문자로서 스페이스를 사용하지 않으며, 용어를 얻기 위해 텍스트의 긴 단락을 분할할 필요가 있을 수 있음), 특정의 용어를 강조하기 위해서는, 전체 문서를 분할(segment)해서 이에 대응하는 용어를 취득할 수 있지만, 효율적이지 않다. CJK (Chinese, Japanese, and Korean) documents because they have terms that are counted differently from other languages ​​(for example, do not use a space as a delimiter, may be necessary to split a long paragraph of text to get the terminology) in order to highlight specific terms, be obtained by dividing the term (segment) the whole document a corresponding, but not efficient. 그러나, 스니피트 하이라이터(760)는 용어 오프셋 대신에 바이트 오프셋(byte offsets)을 기억해서 색인화 동안 웹 문서 내의 주소 또는 전화 번호(또 는 몇몇 다른 업소 정보)를 식별할 수 있다. However, snippet highlighter 760 may identify an address or phone number (or some other business information) in the memory for the index to a byte offset (byte offsets) instead of term offsets web. 스니피트 하이라이터(760)는 강조(highlight)를 행하기 위해 바이트 오프셋을 사용할 수 있으며 분할(segmentation)을 행하지 않아도 된다. Snippet highlighter 760 may use the byte offset to perform highlighting (highlight) and are without performing the division (segmentation). 도 7은 스니피트 하이라이터(760)를 인덱서(435)의 구성 요소로서 나타내고 있지만, 다른 실시예에서는, 스니피트 하이라이터(760)를 인덱서로부터 분리시키거나 다른 구성 요소 내에[예컨대, 프런트 엔드 서버(440) 내에] 포함시킬 수 있다. 7 is a snippet, but represents a highlighter 760 as components of indexer 435, in other embodiments, to remove the snippet highlighter 760 from the indexer or within another component for example, the front-end server, ] it may be included in the 440. The

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

프런트 엔드 서버( Front Front End Server (Front End End Server ) Server)

프런트 엔드 서버(440)는, 도 8에 나타낸 바와 같이, 지역 검색 결과의 식별에 도움이 되는 다양한 작업을 수행할 수 있다. The front-end server 440 may be as shown in Fig. 8, it performs a variety of tasks to aid in the identification of local search results. 일실시예에서, 프런트 엔드 서버(440)는, 질의 재작성기(query rewriter)(800), 지역 검색 생성기(810), 지도 생성기(820), 지리 정보 생성기(830) 등을 포함할 수 있다. In one embodiment, the front end server 440 may include a query rewriter (query rewriter) (800), a local search generator 810, a map generator 820, a geographical information generator 830 and the like. 도 8에는 프런트 엔드 서버(440)에 의해 수행되는 작업의 예를 나타내고 있지만, 다른 실시예에서는, 프런트 엔드 서버(440)가 지역 검색 결과의 식별에 도움이 되도록 사용될 수 있는 추가의 또는 다른 작업을 수행할 수 있다. In Figure 8, but shows an example of the operation performed by the front end server 440, in other implementations, front end server 440 has an additional or different tasks that may be used to aid in the identification of local search results It can be carried out.

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

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

지도 생성기(820)는 지역 검색 결과(450)에 관련된 지도를 생성할 수 있다. Map generator 820 may generate a map relating to local search results (450). 예를 들어, 지역 검색 결과에 대한 지도를 표시하기 위하여, 지도 생성기(820)는, 검색 결과 페이지 상에 아이프레임(iframe)[즉, 웹 페이지 내에 삽입된 플로팅 프레임(floating frame)]을 구성할 수 있으며, 지도 제공자에 의해 제공된 URL에 대 해 포스트 액션(post action)을 실행할 수 있다. For example, to display a map of the local search results, map generator 820, the search results on the page, the child frame (iframe) [that is, the floating frame (floating frame) inserted in the Web Page to configure It can and may harm for the URL provided by the map providers to run a post-action (post action). 포스트에서의 파라미터는, 각각의 검색 결과에 대해 다음과 같은 필드를 포함할 수 있다. Parameters of the post is, for each of the search results may include the following fields: 즉, 타이틀, 주소, 전화 번호, POI ID(지도 상에서의 지점을 표시하기 위한 것), 및 정확도(accuracy) 필드를 포함할 수 있다. That may include (to mark the point on the map), title, address, telephone number, POI ID, and accuracy (accuracy) field. 빌딩 레벨까지 지오코딩될 수 있는 위치가, 지도 생성기(820)에 의해 지도상에 accurate(정확한)로 마킹될 수 있다. The position that may be geocoded to building level may be marked as accurate (correct) on the map by map generator 820. 거리 레벨(또는 몇몇 더 높은 레벨의 추상적인 부분)까지 지오코딩될 수 있는 위치는 지도 생성기(820)에 의해 지도상에 estimated(추정된)로 마킹될 수 있다. Where geometry may be coded to street level (or some more abstract part of the high level) it may be marked as estimated (estimated) on the map by map generator 820. 도 9는 이러한 2가지 정확도 레벨이, 지역 검색 결과(910)에 기초하여 생성된 지도(900) 상에서 어떻게 구분될 수 있는지를 나타낸다. 9 shows that these are two-level accuracy, be how nine minutes on a map 900 generated based on local search results (910). 예를 들어, 정확한 위치(accurate locations)(920)는 하나의 마커 컬러(예컨대, 녹색)로 식별될 수 있으며, 추정된 위치(estimated locations)(930)는 다른 마커 컬러(예컨대, 적색)로 식별될 수 있다. For example, identifying the correct position (accurate locations) (920) is a marker color may be identified by (e.g., green), the estimated position (estimated locations) (930) is another marker color (e.g., red) It can be. 2가지 정확도 레벨(정확한 그리고 추정된)이 도 9에 도시되어 있지만, 본 발명에 따른 실시예에서 추가의 정확도 레벨이 사용될 수 있다. Although two kinds of accuracy level (the exact and estimate) are shown in Figure 9, additional levels of accuracy may be used in the embodiment according to the present invention.

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

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

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

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

한편, 검색 질의가 지리적 기준을 포함하고 있다면, 지리 정보 생성기(830)는, 지리적 기준이 도시명에만[즉, 성(province)에 대한 정보가 없는 것과 같이 임의의 다른 지리 정보 없이] 대응하는지 여부를 판정할 수 있다. On the other hand, the search query whether there includes a geographic reference, geographical information generator 830, the geographic criteria are only - that is, without any other geographic information, as there is no information about the castle (province)] corresponding city It can be determined. 검색 질의가 도시명 외의 지리적 기준을 포함하고 있다면, 지역 광고가 제시될 수 있다. If your search query contains a geographical basis other than the city, the local advertisements may be presented.

검색 질의가 도시명에만 대응하는 지리적 기준을 포함하고 있다면, 지리 정보 생성기(830)는 해당 도시가 명백한 도시에 대응하는지 여부를 판정할 수 있다. If included in the geographic reference of a search query that corresponds to only the city, geographical information generator 830 may determine whether the city corresponds to an apparent shown. 해당 도시가 명백한 도시에 대응하지 않는다면, 정규의 광고가 제시될 수 있다. If the city does not respond to obvious the city, there is a regular advertisements may be presented. 도시가 명백한 도시에 대응한다면, 지리 정보 생성기(830)는 질의의 하나 이상의 다른 검색어를 가진 도시명이 블랙리스트(blacklist) 상에 나타나는지 여부를 판정할 수 있다. If the city corresponds to an apparent city, geographical information generator 830 may determine whether to appear on the city name with one or more other search terms of the query black list (blacklist). 블랙리스트는, 하나 이상의 단어와 조합될 때, 이들 각각의 도시 이외의 다른 것을 의미하는 명백한 도시명에 대해 유지될 수 있다. Blacklist, when combined with one or more words, it can be held against the plain city to mean something other than their respective cities. 질의의 하나 이상의 다른 검색어를 가진 도시명이 블랙리스트 상에 나타난다면, 정규의 광고가 제시될 수 있다. If a city with at least one other query of queries appeared on the blacklist, it is normal for ads to be presented. 질의의 하나 이상의 다른 검색어를 가진 도시명이 블랙리스트 상에 나타나지 않는다면, 해당 질의의 지리적 기준에 기초해서 지역 광고가 제시될 수 있다. A city with at least one other query query does not appear on the Blacklist, the local advertisements may be presented on the basis of geographical criteria for that query.

지역("대상이 된") 광고가 제시될 예정이면, 사용자의 위치(예컨대, 사용자 의 IP 주소)에 관련된 정보가 지리 정보 생성기(830)에 의해 사용되어, 그 위치가 지리적 기준에 대응하는 위치의 미리 정해진 거리 내에 있는지 여부를 판정할 수 있게 된다. If the area will be (a "subject"), advertising presentation, the user's location information related to (eg, your IP address) is used by geographic information generator 830, the position is a position corresponding to geographic criteria of it is possible to determine whether or not within the predetermined distance. 사용자의 위치가 미리 정해진 거리 내에 속한다면, 지역 광고가 제시될 수 있다. If a user's location is within a predetermined distance, the local advertisements may be presented. 사용자의 위치가 미리 정해진 거리에서 벗어나 있다면, 정규의 광고가 제시될 것이다. If a user's location away from the predetermined distance, it is normal for ads to be presented.

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

프로세스(처리 과정)의 예 Examples of processes (process)

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

지역 검색 결과 및 지도 생성의 프로세스의 예 Examples of local search results and map creation process

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

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

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

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

지오코딩 프로세스의 예 Examples of the geocoding process

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

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

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

색인화 프로세스의 예 Examples of the indexing process

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

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

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

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

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

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

프런트 엔드 서버 프로세스의 예 For the front-end server process

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

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

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

결론 conclusion

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

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

다른 실시예에서, 지도는 옐로우 페이지 데이터에 기초하여 상세한 지도 데이터를 제공할 수 있다. In other embodiments, the map may be based on the yellow page data provides detailed map data. 이에 의하면, 익스포트 규제(export restirctions) 때문에 지도를 작성하기 위해 상세한 지도 데이터를 이용하는 것이 제한되거나 그 지역 내의 주소의 실제 위도 및 경도를 이용하는 것이 제한될 수 있는 국가에서, 상세한 지도 데이터를 포함하는 지도를 작성하는 것이 가능하게 된다. With this structure, restricted to use the detailed map data to create the map because of export regulations (export restirctions) or in a state that it can be restricted using the actual latitude and longitude of addresses within that region, a map that includes detailed map data it is possible to create.

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

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

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

또 다른 예에서, 중국어 지역 검색과 관련하여 시스템 및 방법을 설명하고 있지만, 다른 실시예에서는, 본 명세서에 개시된 몇몇 기술은 다른 국가에서의 지역 검색에도 균등하게 적용될 수 있다. In yet another embodiment, in conjunction with Chinese local search it has been described a system and method, in other implementations, some techniques described herein may be applied equally to a local search in a different country.

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

본 출원에 사용되는 어떠한 구성 요소, 동작 또는 명령이라도, 명시적으로 개시하고 있지 않으면, 본 발명에 필수적인 것으로 해석되어서는 안 된다. If any structure even element, act, or instruction, not disclose explicitly used in this application, and are not to be construed as essential to the invention. 본 명세서에 단수의 개념으로 사용되는 것은 하나 또는 그 이상을 의미하는 것으로 해석될 수 있다. It is used as a concept of the singular herein may be construed to mean one or more. 단지 하나인 경우라면, "하나"또는 그와 유사한 표현을 사용한다. If the case of only one, use a similar expression, and "one", or the like. "기초하는"이라고 하는 표현은, 달리 언급하고 있지 않는 한, "적어도 부분적으로 기초하는"을 의미하는 것으로 해석되어야 한다. Expression as "the base" are to be construed to mean one, "at least in part, based on" does not stated otherwise.

Claims (46)

  1. 지역 검색 질의(local search query)에 응답하여, 옐로우 페이지 데이터(yellow page data), 제3자 지도 제공자 데이터(third-party map provider data), 및 문서 데이터(document data)를 수신하는 단계; Local search method comprising: receiving a query in response to the (local search query), yellow page data (yellow page data), third-party map provider data (third-party map provider data), and document data (document data);
    상기 옐로우 페이지 데이터, 상기 제3자 지도 제공자 데이터, 및 상기 문서 데이터 중의 하나 이상을 지오코딩(geocoding)해서, 지리적 식별자(geographic identifier)를 상기 지역 검색 질의 내의 하나 이상의 주소에 할당하고, 상기 지역 검색 질의 내의 하나 이상의 주소에 매칭시키는 지오코딩 단계; The local search the yellow page data, the third party map provider data, and allocate to the geocoding (geocoding) at least one of the document data, the geographic identifier (geographic identifier) ​​to one or more addresses in the local search query, and geo-coding step of matching the one or more addresses in the query;
    상기 지역 검색 질의에 대응하는 업소 정보(business information) 및 위치 정보(location information)를 식별하기 위하여 상기 지오코딩된 데이터를 색인화(indexing)하는 단계; The step of indexing (indexing) the the geocoded data to identify business information (business information) and position information (location information) corresponding to the local search query; And
    식별된 상기 업소 정보 및 위치 정보에 기초하여 지역 검색 결과 및 제3자 지도(third-party map)을 제공하는 단계 Based on the business information and location information identifying local search results and a third party providing a map (third-party map)
    를 포함하는 방법. It comprises a.
  2. 제1항에 있어서, According to claim 1,
    상기 옐로우 페이지 데이터는, 관심 지점(POI: points of interest)에 대한 주소 정보, POI에 대한 전화 번호 정보, 상호(business name), 이메일 주소, 팩시밀리 번호, 웹 사이트 주소, CEO 이름, 업소 설명, SIC(산업분류코드)에 기초한 카 테고리, 또는 업소의 종류 중 하나 이상을 포함하는, 방법. The yellow page data, points of interests (POI: points of interest) address information, phone numbers, information about the POI, mutual (business name), e-mail addresses, fax numbers, web site address, CEO name, establishments description, SIC on the method comprises the (industrial classification code) based on the category, or one or more of the type of the facility.
  3. 제1항에 있어서, According to claim 1,
    상기 제3자 지도 제공자 데이터는, 상기 관심 지점(POI) 및 상기 POI의 주소를 포함하는, 방법. The third party map provider data, the method comprising the address of the point of interest (POI) and the POI.
  4. 제3항에 있어서, 4. The method of claim 3,
    상기 제3자 지도 제공자 데이터는, 상기 POI에 대한 그리드(grid)를 더 포함하는, 방법. The third party map provider data, the method further comprising a grid (grid) for the POI.
  5. 제1항에 있어서, According to claim 1,
    상기 제3자 지도 제공자 데이터는, The third party map provider data,
    상호, 주소, 전화 번호, 및 그리드 인덱스(grid index)를 포함하는 정규(normal) 관심 영역(POI); Name, address, phone number, and grid index (index grid) the regular (normal) area of ​​interest containing the (POI);
    거리 이름과 상기 거리의 중심에 대한 그리드 인덱스를 포함하는 도로(road) POI; Road (road) comprising a grid index for the street name and the distance of the center POI; 또는 or
    우편 번호(postal code)와 상기 우편 번호의 근사 중심(approximate center)의 그리드 인덱스를 포함하는 우편 번호 POI Zip code (postal code) and a postal code POI that includes a grid index of the approximate center (approximate center) of the zip code
    중 하나 이상을 포함하는, 방법. One, comprising more than one.
  6. 제1항에 있어서, According to claim 1,
    상기 지오코딩 단계는, The geo-coding step,
    상기 지역 검색 질의에 기초하여 주소 리스트를 작성하는 단계; Step for creating an address list based on the local search query;
    상기 주소 리스트 내의 각 주소를 파싱 처리(parse)하는 단계; The step of parsing process (parse) the addresses in the address list;
    각 주소 내의 최장 매칭 프리픽스(longest matching prefix)를 찾아서(locate) 각 주소의 부분을 식별하는 단계; Locate the longest matching prefix (longest matching prefix) in the respective address (locate) identifying a portion of each address; And
    각 주소 내의 조합을 찾아서 각 주소가 맞는지 확인(verify)하는 단계 Find and combinations in each address are correct for each address (verify) comprising:
    를 포함하는, 방법. , It comprises a.
  7. 제1항에 있어서, According to claim 1,
    상기 색인화하는 단계는, Wherein the index is,
    상기 옐로우 페이지 데이터를 미리 정해진 포맷으로 전처리(preprocess)하는 단계; Further comprising: pre-processing (preprocess) in the yellow page specified the data pre-formatted;
    상기 문서 데이터로부터 상기 업소 정보를 추출(extract)하는 단계; Extracting (extract) the business information from the document data;
    상기 제3자 지도 제공자 데이터로부터 주소 정보를 색인화하는 단계; Further comprising: indexing the address information from the third party map provider data; And
    상기 옐로우 페이지 데이터와 상기 제3자 지도 제공자 데이터를 클러스터링(clustering)하는 단계 And wherein the yellow page data, third-party map provider data clustering (clustering) method comprising:
    를 포함하는, 방법. , It comprises a.
  8. 제7항에 있어서, The method of claim 7,
    상기 색인화하는 단계는, Wherein the index is,
    상기 업소 정보를 레포지토리(repository)에 저장하는 단계; Storing the business information in a repository (repository);
    상기 문서 데이터 내의 발췌 부분(snippets)을 강조(highlight)하는 단계; The method comprising the excerpt (snippets) in the document data highlighted (highlight); And
    상기 지역 검색 질의에 대해 검색 거리(search distance)를 설정하는 단계 Setting a search distance (distance search) for the local search query
    를 더 포함하는, 방법. The method further includes.
  9. 제1항에 있어서, According to claim 1,
    상기 제공하는 단계는, The method comprising the providing,
    상기 지역 검색 질의에 관련된 동의어(synonyms) 리스트를 작성하는 단계; Step for creating a synonym (synonyms) list associated with the local search query;
    상기 지역 검색 질의를 재작성(rewrite)해서 상기 질의를 확장(expand)하는 단계; Further comprising: expansion (expand) the query to rewrite (rewrite) to the local search query;
    확장된 상기 질의에 기초하여 상기 지역 검색 결과를 생성하는 단계; Based on the extension the querying step of generating the local search results;
    상기 지역 검색 결과에 기초하여 상기 제3자 지도를 획득하는 단계; Obtaining the third party map based on the local search results; And
    상기 지역 검색 결과에 관련된 지리 정보(geographical information)에 기초하여 광고(advertisements)를 만드는 단계 Based on geographical information (geographical information) related to the local search results, the steps to create an ad (advertisements)
    를 포함하는, 방법. , It comprises a.
  10. 제1항에 있어서, According to claim 1,
    상기 위치 정보는 상기 제3자 지도 제공자 데이터와 상기 옐로우 페이지 데 이터로부터 정해지는, 방법. How the location information of the third party map provider data and the yellow page having determined from the data.
  11. 지역 검색 질의에 기초하여 지오코딩하는 방법으로서, A method of geocoding based on a local search query,
    제3자 지도 제공자 데이터 및 옐로우 페이지 데이터를 수신하는 단계; The method comprising: receiving third party map provider data and yellow page data;
    상기 지역 검색 질의에 기초하여 주소를 생성하는 단계; Generating an address based on the local search query;
    상기 주소에 대해 파싱 처리를 행하는 단계; Performing a parsing process for the address;
    상기 주소 내에서 최장 매칭 프리픽스를 찾아서(locate) 상기 주소의 적어도 일부분을 식별해 내는 단계; Locate the longest matching prefixes in the address (locate) step that identifies at least a portion of the address; And
    상기 주소 내의 조합(combination)을 찾아서 상기 주소가 맞는지 확인하는 단계 Further comprising: in search of a combination (combination) in the address check if the said address
    를 포함하는, 지오코딩 방법. , Geocoding comprises a.
  12. 제11항에 있어서, 12. The method of claim 11,
    상기 제3자 지도 제공자 데이터 또는 상기 옐로우 페이지 데이터에 포함된 정보에 기초하여 상기 주소를 생성하는 단계를 더 포함하는 지오코딩 방법. The third party map provider data or geocode the method further comprising: generating the address based on the information contained in the yellow page data.
  13. 제11항에 있어서, 12. The method of claim 11,
    상기 주소로부터 도시(city)와 지구(district)를 파싱 처리하는(parsing) 단계를 더 포함하는 지오코딩 방법. Geocoding further comprising the (parsing) processing to parse the city (city) and the district (district) from the address.
  14. 제11항에 있어서, 12. The method of claim 11,
    상기 주소의 일부분은, 도심(town), 마을(village), 도로(road), 거리(street), 번지(number), 또는 관심 영역(POI)의 이름 중 하나 이상을 포함하는, 지오코딩 방법. A portion of the address, geocoding methods, including the city (town), town (village), roads (road), Street (street), address (number), or one or more of the name of a region of interest (POI).
  15. 제11항에 있어서, 12. The method of claim 11,
    관심 영역(POI)의 이름을 먼저 찾고, 상기 주소의 다른 부분을 두 번째로 찾으며, 세 번째로 지구 또는 도시를 찾도록, 상기 주소 내에서 상기 조합을 찾아내는 단계를 더 포함하는 지오코딩 방법. Looking for the name of a region of interest (POI) First, find the other part of the address to the second, to find a district or city Thirdly, geocoding method further comprises the step of finding the combinations in the address.
  16. 제11항에 있어서, 12. The method of claim 11,
    상기 주소가 빌딩 또는 거리 부분을 포함하는 경우에, 상기 주소를 정확한 위치(exact position)로서 색인화하는 단계를 더 포함하는 지오코딩 방법. In the case that the address includes a building or a street portion, geocode the method further comprising: indexing the address as an exact location (exact position).
  17. 제11항에 있어서, 12. The method of claim 11,
    상기 주소가 도시 부분 또는 지구 부분을 포함하는 경우에, 상기 주소를 근사 위치(approximate position)로서 색인화하는 단계를 더 포함하는 지오코딩 방법. In the case that the address includes a city portion or a district portion, geocode the method further comprising: indexing the address as an approximate position (approximate position).
  18. 지역 검색 질의에 기초하여 색인화하는 방법으로서, A method of indexing based on a local search query,
    옐로우 페이지 데이터를 미리 정해진 포맷으로 전처리하는 단계; Further comprising: pre-processing the yellow page data to a predetermined format;
    문서 데이터로부터 업소 정보를 추출하는 단계; Extracting business information from document data;
    상기 업소 정보를 레포지토리에 저장하는 단계; Storing the business information in a repository;
    제3자 지도 제공자 데이터로부터 주소 정보를 색인화하는 단계; Comprising the steps of: indexing the address information from third party map provider data;
    상기 옐로우 페이지 데이터와 상기 제3자 지도 제공자 데이터를 클러스터링(clustering)하는 단계; The step of clustering (clustering) to the third party map provider data and the yellow page data;
    상기 문서 데이터 내의 발췌 부분(snippets)을 강조하는 단계; Step emphasizing excerpts (snippets) in the document data;
    지점 위치(point location)의 경우, 상기 지역 검색 질의에 대한 검색 거리를 미리 정해진 거리로 설정하는 단계; For a point location (point location), setting a search distance for the local search query to a pre-determined distance; And
    경계 영역 위치(bound location)의 경우, 상기 검색 거리를 상기 경계 영역 위치의 중심으로부터 상기 경계 영역 위치의 코너까지의 근사적인(approximately) 최대 거리로 설정하는 단계 For bounding area position (bound location), the method comprising: setting the search distance from the center of the boundary region in the approximate position (approximately) to the maximum distance of the corner of the boundary area located
    를 포함하는 색인화 방법. Indexing method comprising the.
  19. 제18항에 있어서, 19. The method of claim 18,
    상기 옐로우 페이지 데이터를 미리 정해진 포맷으로 전처리(preprocess)하는 단계를 더 포함하는 색인화 방법. Indexing method further comprises the step of pre-treatment (preprocess) to the yellow page data to a predetermined format.
  20. 제18항에 있어서, 19. The method of claim 18,
    상기 업소 정보는 업소 주소 또는 업소 전화 번호 중 하나 이상을 포함하는, 색인화 방법. The business information, the indexing method comprising at least one of the businesses address or business telephone number.
  21. 제20항에 있어서, 21. The method of claim 20,
    상기 업소 주소 또는 상기 업소 전화 번호의 포맷 차이에 기초하여 상기 업소 정보의 추출(extraction)을 변경(modify)하는 단계를 더 포함하는 색인화 방법. The establishment or address on the basis of the difference between the format of the establishment number indexing method further comprises the step of changing (modify) the extraction (extraction) of the business information.
  22. 제18항에 있어서, 19. The method of claim 18,
    상기 업소 정보와 연관된 문서를 상기 레포지토리에 저장하는 단계를 더 포함하는 색인화 방법. Indexing method further comprising: storing documents associated with the business information in the repository.
  23. 제18항에 있어서, 19. The method of claim 18,
    색인화된 상기 주소 정보에 기초하여 주소를 지오코딩하는 단계; An address based on the indexed address information, the step of geocoding; And
    새로운 클러스터 위치(cluster position)를 정하는 단계 Step determining a new cluster position (cluster position)
    를 더 포함하며, Including more and
    상기 새로운 클러스터 위치를 정하는 단계는, 상기 새로운 클러스터 위치가 이전 클러스터 위치와 다른 경우에, 지오코딩된 상기 주소에 기초하여 행해지는, 색인화 방법. Wherein the step determining a new cluster position is in the new cluster position it is different from the previous cluster position if, is conducted based on the method of indexing the geocoded address.
  24. 제18항에 있어서, 19. The method of claim 18,
    상기 문서 데이터 내의 상기 업소 정보를 식별하기 위해 저장되는 바이트 오 프셋(byte offsets)에 기초하여, 상기 문서 데이터 내의 발췌 부분을 강조하는 단계를 더 포함하는 색인화 방법. On the basis of the byte offset (byte offsets) to be stored to identify the business information in the document data, the indexing method further comprises the step of highlighting the excerpts in the document data.
  25. 지역 검색 질의에 관련된 동의어 리스트를 작성하는 단계; Steps to create a list of synonyms related to the local search query;
    상기 지역 검색 질의를 재작성해서 상기 질의를 확장하는 단계; By comprising: rewriting the local search query to expand the query;
    확장된 상기 질의에 기초하여 지역 검색 결과를 생성하는 단계; Generating local search results based on the expanded query;
    상기 지역 검색 결과에 기초하여 제3자 지도 제공자로부터 지도를 얻는 단계; A first step of obtaining a map from the third party map provider based on the local search results; And
    상기 지역 검색 결과에 관련된 지리 정보에 기초하여 광고를 만드는 단계 Steps to Create the ads based on geographic information related to the local search results
    를 포함하는 방법. It comprises a.
  26. 제25항에 있어서, 26. The method of claim 25,
    논리합("OR") 피연산자를 사용하여 검색어들을 결합시켜서 상기 지역 검색 질의를 재작성하는 단계를 더 포함하는 방법. By combining the search terms using a logical OR ( "OR") operand further comprises the step of: rewriting the local search query.
  27. 제25항에 있어서, 26. The method of claim 25,
    상기 지도를 얻는 단계는, Obtaining the map,
    상기 지역 검색 결과를 이용하여 지도 프레임(map frame)을 구성하는 단계; Constructing a map frame (frame map) using the local search results;
    상기 제3자 지도 제공자가 제공한 URL에 대해 포스트 액션(post action)을 실행하는 단계; Executing a post action (post action) for the URL provided by the third party map provider; And
    상기 제3자 지도 제공자가 상기 지도상에 위치를 나타낼 수 있도록 상기 지도상의 상기 위치를 식별하는 단계 Identifying the position on the map the third party to indicate the location on the map provider a map
    를 포함하는, 방법. , It comprises a.
  28. 제25항에 있어서, 26. The method of claim 25,
    상기 지역 검색 결과에 관련된 지역 코드(region code)에 기초하여, 상기 광고를 만드는 단계를 더 포함하는 방법. Based on the area code (code region) relevant to the local search results, the method further comprising making the advertisement.
  29. 제25항에 있어서, 26. The method of claim 25,
    상기 지역 검색 질의에 관련된 위치와 키워드를 연계(concatenate)시키는 단계; The step of the location and keyword relevant to the local search query associated (concatenate); And
    연계된 상기 키워드에 기초하여 상기 광고를 만드는 단계 On the basis of the keyword association steps for creating the advertisement
    를 더 포함하는 방법. The method further includes.
  30. 제3자 지도 제공자 데이터, 옐로우 페이지 데이터, 및 문서 데이터를 수신하고, 상기 옐로우 페이지 데이터를 전처리하여 업소 정보를 판정하며, 상기 문서 데이터로부터 업소 정보를 추출하고, 지역 검색 질의 내의 위치 정보와 상기 제3자 지도 제공자 데이터의 인덱스 주소 데이터를 식별하기 위한 인덱서(indexer); Third party map provider data, yellow page data, and receives the document data, and the location information and the second in and determined business information to precondition the yellow page data, and extract business information from the document data, a local search query an indexer (indexer) for identifying the index address data of the third party map provider data;
    상기 인덱서로부터 정보를 수신하고 지리적 식별자를 할당하기 위한 지오코더(geocoder); Geocoder (geocoder) to receive information from the indexer, and assign geographic identifiers; And
    상기 지오코더로부터 정보를 수신하고, 상기 지역 검색 질의를 재작성하며, 상기 제3자 지도 제공자 데이터로부터 지도를 획득하고, 상기 지역 검색 질의에 기초하여, 지역 검색 결과를 생성하기 위한 프런트 엔드 서버(front end server) To receive information from the geocoder, rewrite the local search query, and obtains the map from the third party map provider data, and based on the local search query, a front-end server for generating the local search results ( front end server)
    를 포함하는 시스템. System that includes.
  31. 제30항에 있어서, 31. The method of claim 30,
    상기 제3자 지도 제공자 데이터에 의해 제공되는 주소 데이터, 관심 영역(POI) 정보, 우편 번호 센터, 또는 상기 제3자 지도 제공자 데이터에 포함되지 않은 도시 중 하나 이상을 저장하는 인덱스/문서 레포지토리(index/document repository)를 더 포함하는 시스템. The third party map provider data, address data provided by the region of interest (POI) information, postal code centers, or the third party map for storing one or more of the town is not included in the provider data index / document repository (index / document repository) system further comprises.
  32. 제30항에 있어서, 31. The method of claim 30,
    상기 인덱서는 상기 옐로우 페이지 데이터를 미리 정해진 포맷으로 전처리하는, 시스템. The indexer, a system for preconditioning the yellow page data to a predetermined format.
  33. 제30항에 있어서, 31. The method of claim 30,
    상기 인덱서는 상기 지역 검색 질의에 대한 검색 거리를 설정하는, 시스템. The indexer, a system for setting a search distance for the local search query.
  34. 제30항에 있어서, 31. The method of claim 30,
    상기 인덱서는 상기 제3자 지도 제공자 데이터와 상기 옐로우 페이지 데이터 를 클러스터링하는, 시스템. The indexer is the third party map provider data, and a system for clustering the yellow page data.
  35. 제30항에 있어서, 31. The method of claim 30,
    상기 인덱서는 상기 문서 데이터 내의 발췌 부분을 강조하는, 시스템. The indexer, the system emphasizing excerpts in the document data.
  36. 제30항에 있어서, 31. The method of claim 30,
    상기 지오코더는, 상기 제3자 지도 제공자 데이터 및 상기 옐로우 페이지 데이터를 수신하고, 상기 제3자 지도 제공자 데이터 및 상기 옐로우 페이지 데이터로부터 주소 리스트를 작성하는, 시스템. The geocoder, the third party map provider data, and receiving the yellow page data, the third party map provider data, and the system for creating an address list from the yellow page data.
  37. 제30항에 있어서, 31. The method of claim 30,
    상기 지오코더는 주소 부분을 찾는, 시스템. The geocoder will find the address portion of the system.
  38. 제37항에 있어서, 38. The method of claim 37,
    상기 지오코더는 상기 주소 내에서 조합을 찾는, 시스템. The geocoder is to find the combination within the address system.
  39. 제30항에 있어서, 31. The method of claim 30,
    상기 지오코더는 검색 결과 위치 내의 지점의 수에 기초하여, 각 지역 검색 결과의 스코어(scores)를 산출해내는, 시스템. The geocoder to that based on the number of points in the search result location, calculating a score (scores) of each local search result, system.
  40. 제30항에 있어서, 31. The method of claim 30,
    상기 프런트 엔드 서버는 상기 지역 검색 질의에 관련된 동의어 리스트를 작성하는, 시스템. The front-end server, the system creates a list of synonyms related to the local search query.
  41. 제30항에 있어서, 31. The method of claim 30,
    상기 프런트 엔드 서버는 상기 지역 검색 결과 중 하나 이상에 대해, 상기 지도상에, 추정된 위치(estimated location) 및 정확한 위치(accurate location)를 생성하는, 시스템. The front-end server, a system for generating, the estimated position (estimated location) and the exact location (accurate location) on the map for at least one of the local search results.
  42. 제30항에 있어서, 31. The method of claim 30,
    상기 프런트 엔드 서버는 상기 지역 검색 결과에 관련된 지리 정보에 기초하여 광고를 생성하는, 시스템. The front-end server, the system that generates ads based on geographic information related to the local search results.
  43. 지역 검색 질의에 응답하여, 옐로우 페이지 데이터, 제3자 지도 제공자 데이터, 및 문서 데이터를 수신하기 위한 수단; In response to a local search query, yellow page data, third-party map provider data, and means for receiving document data;
    상기 옐로우 페이지 데이터, 상기 제3자 지도 제공자 데이터, 및 상기 문서 데이터 중의 하나 이상을 지오코딩(geocoding)해서, 지리적 식별자(geographic identifier)를 상기 지역 검색 질의 내의 하나 이상의 주소에 할당하여, 상기 지역 검색 질의 내의 하나 이상의 주소와 매칭시키는 지오코딩 수단; And assigned to the yellow page data, the third party map provider data, and at least one address in a to geocoding (geocoding) at least one of the document data, the geographic identifier (geographic identifier) ​​to the local search query, searching the area geocoding means for matching the one or more addresses in the query;
    상기 지오코딩된 데이터를 색인화(indexing)해서, 상기 지역 검색 질의에 대 응하는 업소 정보(business information) 및 위치 정보를 식별하는 색인화 수단; Indexing means for indexing it (indexing) the the geocoded data to identify business information (business information) and position information to respond to the local search query; And
    식별된 상기 업소 정보 및 위치 정보에 기초하여, 지역 검색 결과와 제3자 지도(third-party map)을 제공하는 수단 Based on the identified business information and location information, local search results and a third-party map means for providing a (third-party map)
    을 포함하는 시스템. System that includes.
  44. 복수 개의 명령을 저장하기 위한 메모리; A memory for storing a plurality of instructions; And
    상기 메모리 내의 명령을 실행하기 위한 프로세서 A processor for executing instructions in the memory
    를 포함하며, It includes,
    상기 프로세서는, Wherein the processor,
    지역 검색 질의와 관련된 위치를 식별하고, Identifying a location associated with a local search query,
    상기 지역 검색 질의에 관련이 있으며 식별된 상기 위치와 연관된 지역 검색 결과를 식별하며, Is related to the local search query, and identifying local search results associated with the identified location,
    상기 지역 검색 결과의 그룹의 각각에 대한 식별자를 식별하고, Identifying an identifier for each group of the local search results, and
    제3자 지도 제공자로부터, 식별된 상기 위치와 관련된 지도를 수신하는 동작을 수행하며, From a third party map provider, and, it performs an operation of receiving a map associated with the identified location,
    상기 지도는 상기 지역 검색 결과의 그룹 내의 하나 이상의 지역 검색 결과의 위치를 식별하는, 시스템. The map is, the system for identifying the position of at least one local search result in the group of the local search results.
  45. 지역 검색 질의를 수신하는 단계; Receiving a local search query;
    상기 지역 검색 질의와 연관된 위치를 식별하는 단계; Identifying a location associated with the local search query;
    상기 지역 검색 질의에 관련이 있으며 식별된 상기 위치와 연관된 일련의 검색 결과를 식별하는 단계; Comprising: a related to the local search query and identify a set of search results associated with the identified location;
    상기 검색 결과의 그룹의 각각에 대한 식별자를 식별하는 단계; Identifying an identifier for each group of the search results;
    상기 검색 결과의 그룹의 각각에 대한 상기 식별자를 제3자 지도 제공자에게 제공하는 단계; Providing the identifier for each group of the search results to a third party map provider; And
    상기 제3자 지도 제공자로부터, 식별된 상기 위치와 연관된 지도를 수신하는 단계 The third-party map provider from the step of receiving a map associated with the identified position and
    를 포함하며, It includes,
    상기 지도는 상기 검색 결과의 그룹 내의 하나 이상의 검색 결과의 위치를 식별하는, 방법. The map is, how to identify a position of at least one search result in the group of the search results.
  46. 토큰의 리스트를 작성하는 단계; Steps to create a list of tokens;
    웹 문서 내의 가능한 주소(potential address)를 식별하는 단계; Identifying possible addresses (potential address) in the web page;
    상기 가능한 주소가 도시(city)와 연관된 토큰을 포함하는지 여부를 판정하기 위해, 상기 가능한 주소를 시작 부분부터 파싱 처리(parse)하는 단계; The step of parsing process (parse) from the start of the available addresses in order that the potential address to determine whether or not including a token associated with the city (city);
    상기 가능한 주소가 지구(district)와 연관된 토큰을 포함하는지 여부를 판정하기 위해, 상기 가능한 주소를 추가로 파싱 처리하는 단계; Phase in which the potential address to determine whether or not including a token associated with the district (district), the parsing process to add the available addresses;
    상기 도시와 연관된 상기 토큰 또는 상기 지구와 연관된 상기 토큰의 다음에, 상기 가능한 주소 내의 최장 매칭 토큰(longest-matching token)을 식별하는 단계; The method comprising the following in the token associated with the token, or the district associated with the city, identifying the longest matching token (longest-matching token) in the available addresses; And
    상기 도시와 연관된 상기 토큰, 상기 지구와 연관된 상기 토큰, 및 식별된 상기 최장 매칭 토큰에 기초하여, 상기 가능한 주소가 실제의 주소인지 여부를 판정하는 단계 On the basis of the token, the token, and the identified longest-matching token associated with the district associated with the city, the step in which the available address is determined whether or not the physical address of the
    를 포함하는 방법. It comprises a.
KR20087007591A 2005-08-30 2006-08-30 Local search KR100985450B1 (en)

Priority Applications (2)

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

Publications (2)

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

Family

ID=37809410

Family Applications (1)

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

Country Status (6)

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

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100925278B1 (en) * 2009-04-29 2009-11-05 (주)지오투정보기술 System for geocoding using digital map and method therefor
WO2011066500A2 (en) * 2009-11-30 2011-06-03 Google Inc. System and method of providing enhanced listings
KR101289082B1 (en) * 2009-09-02 2013-07-22 한국전자통신연구원 System and method for providing area information service
KR101303869B1 (en) * 2011-10-20 2013-09-04 경북대학교 산학협력단 System and method for example-based place search
KR101499842B1 (en) * 2013-12-06 2015-03-10 아주대학교산학협력단 Method and Apparatus for searching for data object

Families Citing this family (24)

* 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 팅크웨어(주) Advertisement method and system of map using virtual point of interest
US20110055290A1 (en) * 2008-05-16 2011-03-03 Qing-Hu Li 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
US8260775B2 (en) 2010-01-12 2012-09-04 Microsoft Corporation Geotemporal search
CN102479229A (en) * 2010-11-29 2012-05-30 北京四维图新科技股份有限公司 Method and system for generating point of interest (POI) data
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
US9495371B2 (en) 2010-12-28 2016-11-15 Microsoft Technology Licensing, Llc Unified access to resources
CN102622349B (en) * 2011-01-26 2014-10-22 北京四维图新科技股份有限公司 Method and apparatus for processing positional 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
CN103150309B (en) * 2011-12-07 2016-03-30 清华大学 A spatial orientation perception Map POI 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, the document data evaluation device, document data selection method, document data selected device, database generation method, a database generation apparatus, and computer program
CN103049481B (en) * 2012-11-29 2016-03-02 百度在线网络技术(北京)有限公司 Method of searching and searching equipment
CN104899243B (en) * 2015-03-31 2016-09-07 北京安云世纪科技有限公司 Interest point detection method and apparatus for data accuracy poi
CN104699838B (en) * 2015-04-01 2018-08-17 姚林 Kinds of Web search push method, and a combination of multi site search
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
CN105808715B (en) * 2016-03-07 2017-02-22 武汉大学 A method of constructing a map position of

Family Cites Families (8)

* 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
US7117199B2 (en) * 2000-02-22 2006-10-03 Metacarta, Inc. Spatially coding and displaying information
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
US6934634B1 (en) * 2003-09-22 2005-08-23 Google Inc. Address geocoding
JP2005149073A (en) * 2003-11-14 2005-06-09 Matsushita Electric Ind Co Ltd Data retrieval device
CA2548948C (en) * 2003-11-25 2014-11-18 Google Inc. Assigning geographic location identifiers to web pages

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100925278B1 (en) * 2009-04-29 2009-11-05 (주)지오투정보기술 System for geocoding using digital map and method therefor
KR101289082B1 (en) * 2009-09-02 2013-07-22 한국전자통신연구원 System and method for providing area information service
WO2011066500A2 (en) * 2009-11-30 2011-06-03 Google Inc. System and method of providing enhanced listings
WO2011066500A3 (en) * 2009-11-30 2011-09-29 Google Inc. System and method of providing enhanced listings
KR101303869B1 (en) * 2011-10-20 2013-09-04 경북대학교 산학협력단 System and method for example-based place search
KR101499842B1 (en) * 2013-12-06 2015-03-10 아주대학교산학협력단 Method and Apparatus for searching for data object

Also Published As

Publication number Publication date Type
CN101313300B (en) 2014-11-12 grant
JP2009506459A (en) 2009-02-12 application
KR100985450B1 (en) 2010-10-07 grant
CN101313300A (en) 2008-11-26 application
EP1934829A2 (en) 2008-06-25 application
CA2620770A1 (en) 2007-03-08 application
WO2007027608A2 (en) 2007-03-08 application
EP1934829A4 (en) 2012-04-18 application
WO2007027608A3 (en) 2007-08-30 application

Similar Documents

Publication Publication Date Title
US8032508B2 (en) System and method for URL based query for retrieving data related to a context
US7257570B2 (en) Geographical location extraction
Silva et al. Adding geographic scopes to web resources
US7065483B2 (en) Computer method and apparatus for extracting data from web pages
Ding et al. Computing geographical scopes of web resources
US6560596B1 (en) Multiscript database system and method
US6363392B1 (en) Method and system for providing a web-sharable personal database
Gan et al. Analysis of geographic queries in a search engine log
US7650431B2 (en) Serving locally relevant advertisements
US20040220903A1 (en) Method and system to correlate trademark data to internet domain name data
US20050177555A1 (en) System and method for providing information on a set of search returned documents
US20080177717A1 (en) Support for reverse and stemmed hit-highlighting
US20050222989A1 (en) Results based personalization of advertisements in a search engine
US8255386B1 (en) Selection of documents to place in search index
US20050147947A1 (en) Genealogical investigation and documentation systems and methods
US20100030646A1 (en) System for providing location predictive advertising
US20070250501A1 (en) Search result delivery engine
US7974972B2 (en) Methods and apparatus for searching with awareness of geography and languages
US20050149522A1 (en) Correlating genealogy records systems and methods
US20090024595A1 (en) Automatic expanded language search
US20100306249A1 (en) Social network systems and methods
US7472113B1 (en) Query preprocessing and pipelining
US20060004797A1 (en) Geographical location indexing
US7487145B1 (en) Method and system for autocompletion using ranked results
US20080040313A1 (en) System and method for providing tag-based relevance recommendations of bookmarks in a bookmark and tag database

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130911

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140912

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee