KR100985450B1 - Local search - Google Patents
Local search Download PDFInfo
- Publication number
- KR100985450B1 KR100985450B1 KR1020087007591A KR20087007591A KR100985450B1 KR 100985450 B1 KR100985450 B1 KR 100985450B1 KR 1020087007591 A KR1020087007591 A KR 1020087007591A KR 20087007591 A KR20087007591 A KR 20087007591A KR 100985450 B1 KR100985450 B1 KR 100985450B1
- Authority
- KR
- South Korea
- Prior art keywords
- address
- local search
- delete delete
- map
- location
- Prior art date
Links
- 238000000034 method Methods 0.000 claims description 86
- 230000009471 action Effects 0.000 claims description 5
- 230000004044 response Effects 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 44
- 238000013507 mapping Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 239000000284 extract Substances 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 239000003550 marker Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013179 statistical model Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- Finance (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- General Engineering & Computer Science (AREA)
- Game Theory and Decision Science (AREA)
- Data Mining & Analysis (AREA)
- Economics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Navigation (AREA)
- Instructional Devices (AREA)
Abstract
본 발명의 시스템은, 지역 검색 질의에 대한 응답으로서 옐로우 페이지 데이터, 제3자 지도 제공자 데이터, 및 문서 데이터를 수신하고, 이들 데이터를 지오코딩 처리해서 지리적 식별자를 할당하고 지역 검색 질의 내의 하나 이상의 주소와 매칭시킨다. 본 발명의 시스템은 또한, 지역 검색 질의에 대응하는 업소 정보 및 위치 정보를 식별하기 위하여 지오코딩 처리된 데이터를 색인화한다. 본 발명의 시스템은 또한, 색인화된 데이터에 기초하여 지도와 지역 검색 결과를 제공한다. The system of the present invention receives yellow page data, third-party map provider data, and document data in response to a local search query, and geocodes these data to assign a geographical identifier and one or more addresses in the local search query. Match with. The system of the present invention also indexes the geocoded data to identify business information and location information corresponding to a local search query. The system of the present invention also provides a map and local search results based on the indexed data.
Description
본 발명은 정보 검색에 관한 것으로서, 더 구체적으로는 지역 검색 결과를 식별하는 것에 관한 것이다. The present invention relates to information retrieval, and more particularly to identifying local search results.
월드 와이드 웹[간단히, "웹(web)"이라 한다]은 방대한 양의 정보를 포함하고 있다. 하지만, 이러한 방대한 양의 정보 중에서 원하는 부분을 찾아내는 것은 상당한 노력을 필요로 할 것이다. 이러한 문제는, 웹상에서의 정보의 양과 웹 검색의 경험이 없는 사용자의 수가 급격히 증가함에 따라, 복잡하고 번거롭게 되고 있다. The World Wide Web (simply referred to as the "web") contains a vast amount of information. However, finding the desired portion of this vast amount of information will require considerable effort. This problem is complicated and cumbersome as the amount of information on the web and the number of users without the experience of web searching increase rapidly.
검색 시스템은, 하이퍼링크(hyperlinks)를, 사용자가 관심을 갖는 웹페이지(web pages)로 반환하는(return) 시도를 행한다. 일반적으로, 검색 시스템은, 사용자가 입력한 검색어("검색 질의"라고 한다)에 대해 사용자가 갖는 관심에 대한 판정(determination)에 기반을 두고 있다. 검색 시스템의 목적은, 검색 질의에 기초하여, 높은 품질을 가지며 적절하게 관련된 검색 결과(예컨대, 웹페이지)에 대한 링크(link)를 사용자에게 제공하는 것이다. 통상적으로, 검색 시스템은, 검색 질의 내의 검색어를 미리 기억된 웹페이지의 코퍼스(corpus: 말뭉치)에 매칭시키는 것에 의해 작업을 완수한다. 사용자의 검색어를 포함하는 웹페이지는, "히 트"(hit: 적중) 또는 "검색 결과"라고 할 수 있으며, 사용자에게 링크로서 제공될 수 있다. The search system attempts to return hyperlinks to web pages of interest to the user. In general, a search system is based on a determination of the user's interest in a search term entered by the user (called a "search query"). The purpose of a search system is to provide a user with links to search results (eg, web pages) of high quality and appropriately based on the search query. Typically, a search system completes a task by matching a search term in a search query to a corpus of web pages previously stored. The web page containing the user's search term may be referred to as a "hit" or a "search result" and may be provided as a link to the user.
지역 검색 시스템(local search systems)은 특정의 지리적인 영역 내의 관련 웹 페이지 및/또는 업소 목록(business listings)을 제공하는 시도를 행한다. 몇몇 국가에서는, 어떤 업소에 대해 상세한 주소 정보를 사용할 수 없다. 따라서, 지역 검색을 수행하는 것이 어려워질 수 있다. Local search systems attempt to provide relevant web pages and / or business listings within a particular geographic area. In some countries, detailed address information may not be available for certain businesses. Thus, it may be difficult to perform a local search.
본 발명의 특징에 의하면, 본 발명의 방법은, 지역 검색 질의에 응답하여, 옐로우 페이지 데이터, 제3자 지도 제공자 데이터, 및 문서 데이터를 수신하는 단계와, 옐로우 페이지 데이터, 제3자 지도 제공자 데이터, 및 문서 데이터 중의 하나 이상을 지오코딩(geocoding)해서, 지리적 식별자(geographic identifier)를 지역 검색 질의 내의 하나 이상의 주소에 할당하고, 지역 검색 질의 내의 하나 이상의 주소와 매칭시키는 지오코딩 단계를 포함한다. 본 발명의 방법은 또한, 지역 검색 질의에 대응하는 업소 정보(business information) 및 위치 정보를 식별하기 위하여 지오코딩된 데이터를 색인화(indexing)하는 단계와, 식별된 업소 정보 및 위치 정보에 기초하여 지역 검색 결과와 제3자 지도를 제공하는 단계를 포함한다. According to a feature of the invention, the method of the invention comprises the steps of: receiving, in response to a local search query, yellow page data, third party map provider data, and document data, yellow page data, third party map provider data; And geocoding one or more of the document data, assigning a geographic identifier to one or more addresses in the local search query, and matching the one or more addresses in the local search query. The method also includes indexing the geocoded data to identify business information and location information corresponding to a local search query, and based on the identified business information and location information. Providing search results and third-party maps.
다른 특징에 의하면, 지역 검색 질의에 기초하여 지오코딩하는 방법은, 제3자 지도 제공자 데이터 및 옐로우 페이지 데이터를 수신하는 단계와, 지역 검색 질의에 기초하여 주소를 생성하는 단계와, 주소에 대해 파싱 처리를 행하는 단계와, 주소 내에서 최장 매칭 프리픽스를 찾아서 주소의 적어도 일부분을 식별해내는 단계와, 주소 내에 조합(combination)을 찾아서 주소가 맞는지 확인하는 단계를 포함한다. According to another aspect, a method of geocoding based on a local search query includes receiving third party map provider data and yellow page data, generating an address based on a local search query, and parsing the address. Processing, identifying at least a portion of the address by finding the longest matching prefix in the address, and finding a combination within the address to verify that the address is correct.
다른 특징에 의하면, 지역 검색 질의에 기초하여 색인화하는 방법은, 옐로우 페이지 데이터를 미리 정해진 포맷으로 전처리하는 단계와, 문서 데이터로부터 업소 정보를 추출하는 단계와, 업소 정보를 레포지토리에 저장하는 단계와, 제3자 지도 제공자 데이터로부터 주소 정보를 색인화하는 단계를 포함한다. 본 방법은 또한, 옐로우 페이지 데이터와 제3자 지도 제공자 데이터를 클러스터링(clustering)하는 단계와, 문서 데이터 내의 발췌 부분(snippets)을 강조하는 단계를 포함한다. 지점 위치(point location)의 경우, 본 방법은 지역 검색 질의에 대한 검색 거리를 미리 정해진 거리로 설정하는 단계를 포함한다. 경계 영역 위치(bound location)의 경우, 본 방법은, 검색 거리를 경계 영역 위치의 중심으로부터 경계 영역 위치의 코너까지의 근사적인 최대 거리로 설정하는 단계를 포함한다. According to another aspect, a method of indexing based on a local search query includes: preprocessing yellow page data in a predetermined format, extracting business information from document data, storing the business information in a repository, Indexing the address information from the third party map provider data. The method also includes clustering yellow page data and third party map provider data, and highlighting snippets in the document data. In the case of point location, the method includes setting a search distance for the local search query to a predetermined distance. For bound location, the method includes setting the search distance to an approximate maximum distance from the center of the border area location to the corner of the border area location.
다른 특징에 의하면, 본 발명의 방법은, 지역 검색 질의에 관련된 동의어 리스트를 작성하는 단계와, 지역 검색 질의를 재작성해서 질의를 확장하는 단계와, 확장된 질의에 기초하여 지역 검색 결과를 생성하는 단계와, 지역 검색 결과에 기초하여 제3자 지도 제공자 데이터로부터 지도를 획득하는 단계와, 지역 검색 결과에 관련된 지리 정보에 기초하여 광고를 만드는 단계를 포함한다. According to another aspect, the method of the present invention comprises the steps of creating a synonym list related to a local search query, rewriting the local search query to expand the query, and generating a local search result based on the expanded query. Obtaining a map from third-party map provider data based on the local search results, and creating an advertisement based on geographic information related to the local search results.
다른 특징에 의하면, 본 발명의 시스템은, 제3자 지도 제공자 데이터, 옐로우 페이지 데이터 및 문서 데이터를 수신하고, 옐로우 페이지 데이터를 전처리하여 업소 정보를 결정하며, 문서 데이터로부터 정보를 추출하고, 지역 검색 질의 내의 위치 정보와 제3자 지도 제공자 데이터의 인덱스 주소 데이터를 식별하기 위한 인덱서(indexer)를 포함한다. 본 발명의 시스템은 또한, 인덱서로부터 정보를 수신하고 지리적 식별자를 할당하기 위한 지오코더(geocoder)와, 지오코더로부터 정보를 수신하고, 지역 검색 질의를 재작성하며, 제3자 지도 제공자 데이터로부터 지도를 획득하고, 지역 검색 질의에 기초하여 지역 검색 결과를 생성하기 위한 프런트 엔드 서버(front end server)를 포함한다. According to another feature, the system of the present invention receives third-party map provider data, yellow page data and document data, preprocesses the yellow page data to determine business information, extracts information from the document data, and retrieves a local search. An indexer for identifying the location information in the query and the index address data of the third party map provider data. The system also includes a geocoder for receiving information from the indexer and assigning a geographic identifier, receiving information from the geocoder, rewriting local search queries, and mapping from third-party map provider data. And a front end server for generating a local search result based on the local search query.
또 다른 특징에 의하면, 본 발명의 시스템은, 지역 검색 질의에 응답하여, 옐로우 페이지 데이터, 제3자 지도 제공자 데이터, 및 문서 데이터를 수신하기 위한 수단과, 옐로우 페이지 데이터, 제3자 지도 제공자 데이터, 및 문서 데이터 중의 하나 이상을 지오코딩(geocoding)해서, 지리적 식별자(geographic identifier)를 지역 검색 질의 내의 하나 이상의 주소에 할당하고, 지역 검색 질의 내의 하나 이상의 주소와 매칭시키는 지오코딩 수단을 포함한다. 본 발명의 시스템은 또한, 지역 검색 질의에 대응하는 업소 정보(business information) 및 위치 정보를 식별하기 위하여 지오코딩된 데이터를 색인화(indexing)하는 수단; 및 식별된 업소 정보 및 위치 정보에 기초하여 지역 검색 결과와 제3자 지도(third-party map)를 제공하는 수단을 포함한다. According to yet another aspect, a system of the present invention includes means for receiving yellow page data, third party map provider data, and document data in response to a local search query, and yellow page data, third party map provider data. And geocoding means for geocoding one or more of the document data, assigning a geographic identifier to one or more addresses in the local search query, and matching the one or more addresses in the local search query. The system also includes means for indexing geocoded data to identify business information and location information corresponding to a local search query; And means for providing a local search result and a third-party map based on the identified business information and location information.
또 다른 특징에 의하면, 본 발명의 시스템은, 복수의 명령을 기억하기 위한 메모리; 및 메모리 내의 명령을 실행하기 위한 프로세서를 포함한다. 프로세서는, 지역 검색 질의와 관련된 위치를 식별하고, 지역 검색 질의에 관련이 있으며 식별된 위치와 연관된 지역 검색 결과를 식별하며, 지역 검색 결과의 그룹의 각각에 대한 식별자를 식별하고, 제3자 지도 제공자로부터, 식별된 위치와 관련된 지도를 수신하는 동작을 수행할 수 있다. 지도는 지역 검색 결과의 그룹 내의 하나 이상의 지역 검색 결과의 위치를 식별한다. According to yet another aspect, a system of the present invention includes a memory for storing a plurality of instructions; And a processor for executing instructions in the memory. The processor identifies a location associated with the local search query, identifies local search results related to the local search query and associated with the identified location, identifies an identifier for each of the group of local search results, and maps a third party. From the provider, perform the operation of receiving a map associated with the identified location. The map identifies the location of one or more local search results within a group of local search results.
또 다른 특징에 의하면, 본 발명의 방법은, 지역 검색 질의를 수신하는 단계와, 지역 검색 질의와 연관된 위치를 식별하는 단계와, 지역 검색 질의와 연관성을 가지며 식별된 위치와 연관된 일련의 검색 결과를 식별하는 단계와, 검색 결과의 그룹의 각각에 대한 식별자를 식별하는 단계를 포함한다. 본 발명의 방법은 또한, 검색 결과의 그룹의 각각에 대한 식별자를 제3자 지도 제공자에게 제공하는 단계; 및 제3자 지도 제공자로부터, 식별된 위치와 연관된 지도를 수신하는 단계를 포함하며, 지도는 검색 결과의 그룹 내의 하나 이상의 검색 결과의 위치를 식별한다. According to another aspect, the method of the present invention includes receiving a local search query, identifying a location associated with the local search query, and receiving a series of search results associated with the identified location and associated with the local search query. Identifying and identifying an identifier for each of the group of search results. The method also includes providing an third party map provider with an identifier for each of the group of search results; And receiving, from a third party map provider, a map associated with the identified location, the map identifying the location of one or more search results within the group of search results.
다른 특징에 의하면, 본 발명의 방법은, 토큰 리스트를 작성하는 단계와, 웹 문서 내의 가능한 주소(potential address)를 식별하는 단계와, 가능한 주소가 도시(city)와 연관된 토큰을 포함하는지 여부를 판정하기 위해 가능한 주소를 시작 부분부터 파싱 처리(parse)하는 단계를 포함한다. 본 방법은 또한, 가능한 주소가 지구(district)와 연관된 토큰을 포함하는지 여부를 판정하기 위해 가능한 주소를 추가로 파싱 처리하는 단계와, 도시와 연관된 토큰 또는 지구와 연관된 토큰의 다음에 가능한 주소 내의 최장 매칭 토큰(longest-matching token)을 식별하는 단계와, 도시와 연관된 토큰, 지구와 연관된 토큰, 및 식별된 최장 매칭 토큰에 기초하여 가능한 주소가 실제의 주소인지 여부를 판정하는 단계를 포함한다. According to another aspect, the method of the present invention comprises the steps of: creating a list of tokens, identifying a potential address in a web document, and determining whether the possible address includes a token associated with a city Parsing the possible addresses from the beginning in order to do so. The method also includes further parsing the possible address to determine whether the possible address includes a token associated with the district, and the longest possible address within the next possible address of the token associated with the city or the token associated with the district. Identifying a longest-matching token, and determining whether a possible address is a real address based on the token associated with the city, the token associated with the district, and the longest matching token identified.
첨부 도면은, 본 명세서에 결합하여 본 명세서의 일부를 구성하며, 본 발명의 하나 이상의 실시예를 예시하고, 발명의 상세한 설명과 함께, 본 발명의 특징을 설명한다. The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate one or more embodiments of the invention and, together with the description, describe features of the invention.
도 1은 본 명세서에 개시된 구현 예를 개략적으로 나타내는 도면이다. 1 is a view schematically showing an embodiment disclosed herein.
도 2는 본 명세서에 개시된 시스템 및 방법이 구현될 수 있는 네트워크의 예를 나타내는 도면이다. 2 is a diagram illustrating an example of a network in which the systems and methods disclosed herein may be implemented.
도 3은 도 2의 네트워크 내에 있는 클라이언트 또는 서버의 예를 나타내는 도면이다. 3 is a diagram illustrating an example of a client or server in the network of FIG.
도 4는 지역 검색 결과를 식별하고 식별된 위치와 연관된 지도를 제공하기 위한 시스템의 예를 기능 블록도로서 나타내는 도면이다. 4 is a functional block diagram illustrating an example of a system for identifying local search results and providing a map associated with an identified location.
도 5는 도 4의 시스템의 인덱스/문서 레포지토리의 예를 나타내는 도면이다. 5 is a diagram illustrating an example of an index / document repository of the system of FIG. 4.
도 6은 도 4의 시스템의 지오코더의 예를 나타내는 도면이다. 6 is a diagram illustrating an example of a geocoder of the system of FIG. 4.
도 7은 도 4의 시스템의 인덱서의 예를 나타내는 도면이다. 7 is a diagram illustrating an example of an indexer of the system of FIG. 4.
도 8은 도 4의 시스템의 프런트 엔드 서버의 예를 나타내는 도면이다. 8 is a diagram illustrating an example of a front-end server of the system of FIG. 4.
도 9는 도 4의 시스템에 의해 작성된 지도와 지역 검색 결과의 예를 나타내는 도면이다. 9 is a diagram illustrating an example of a map created by the system of FIG. 4 and an area search result.
도 10A 내지 도 10D는 지역 검색 결과를 식별하고 식별된 위치와 연관된 지도를 제공하기 위한 프로세스의 예를 나타내는 플로차트이다. 10A-10D are flowcharts illustrating an example of a process for identifying local search results and providing a map associated with an identified location.
본 발명에 관한 이하의 상세한 설명은 첨부 도면을 참조한다. 전체 도면을 통해 동일한 참조 부호는 동일 또는 유사한 구성요소를 나타낼 수 있다. 또한, 이하의 상세한 설명이 본 발명을 제한하는 것은 아니다. DETAILED DESCRIPTION The following detailed description of the invention refers to the accompanying drawings. Like numbers refer to like elements throughout. In addition, the following detailed description does not limit the invention.
몇몇 국가, 예컨대 중국과 같은 국가에서는, 지도 데이터(map data)와 옐로우 페이지 데이터(yellow page data)를 단일의 제공자(single provider)로부터 얻을 수 없으며, 반드시 여러 다른 제공자들로부터 얻어야 한다. 익스포트 규제(export restrictions) 때문에, 소정 영역의 지도를 나타내기 위한 상세한 지도 데이터를 획득하는 것 또는 그 영역 내의 주소의 실제 위도 및 경도를 획득하는 것이 가능하지 않을 수 있다. 그 때문에, 주소의 지오코딩(geocoding)을 위해 주소 근사법(address approximation)이 사용될 수 있다. 지역 검색으로부터의 결과가 사용자에게 제공되면, 지역 결과 페이지(local results page)는 관련 결과의 리스트 및 지도 제공자(map provider)의 서버(제3자)를 가리키는 포인터를 포함할 수 있다. 지도 제공자는 사용자에게 표시되는 지도를 생성하는 역할을 수행할 수 있다. In some countries, such as China, map data and yellow page data cannot be obtained from a single provider and must be obtained from several different providers. Because of export restrictions, it may not be possible to obtain detailed map data to represent a map of a given area or to obtain the actual latitude and longitude of an address within that area. As such, address approximation can be used for geocoding the address. When results from a local search are provided to the user, the local results page may include a list of relevant results and a pointer to a server (third party) of the map provider. The map provider may play a role in generating a map displayed to the user.
개요summary
본 발명의 실시예는, 지역 검색 결과를 식별하고, 식별된 위치와 관련된 지도를 생성할 수 있다. 예를 들어, 일실시예에서, 도 1에 나타낸 바와 같이, 시스템은, 사용자가 입력한 지역 검색 질의(local search query)를 수신하고, 수신한 지역 검색 질의와 연관된 위치(location)를 식별(identify)할 수 있다. 시스템은, 지역 검색 질의에 관련될 수 있으며 식별된 위치와 관련될 수 있는 일련의 지역 검색 결과(예컨대, 검색 결과 "A" 내지 검색 결과 "H")를 식별할 수 있다. 지역 검 색 결과는 지역 검색 질의에 관련될 수 있는 문서에 대한 링크를 포함할 수 있다. 시스템은, 지역 검색 결과의 그룹에 대한 식별자(identifier)를 식별할 수 있으며, 이 식별자를 지도 제공자에게 제공할 수 있다. 시스템은, 식별된 위치와 연관된 지도를 지도 제공자로부터 받을 수 있다. 지도는 지역 검색 결과의 그룹 내에서 하나 이상의 검색 결과(예컨대, 도 1에 나타낸 검색 결과 "A")의 위치를 식별할 수 있다. Embodiments of the invention may identify local search results and generate a map associated with the identified location. For example, in one embodiment, as shown in FIG. 1, the system receives a local search query entered by a user and identifies a location associated with the received local search query. )can do. The system may identify a series of local search results (eg, search result "A" through search result "H") that may be related to a local search query and that may be related to the identified location. The local search results may include links to documents that may be related to local search queries. The system can identify an identifier for a group of local search results and provide this identifier to a map provider. The system can receive a map associated with the identified location from a map provider. The map may identify the location of one or more search results (eg, search result “A” shown in FIG. 1) within a group of local search results.
본 명세서에서 사용되는 "문서"(document)라는 용어는, 기계 판독 가능한(machine-readable) 또는 기계 저장 가능한(machine-storable) 모든 작업물을 포함하는 것으로 넓게 해석되어야 한다. 이러한 문서에는, 예컨대 이메일, 파일, 파일의 조합, 다른 파일에 임베드된(embedded) 링크를 갖는 하나 이상의 파일, 뉴스 그룹 포스팅(news group posting), 블로그, 웹 광고 등이 포함될 수 있다. 인터넷(Internet)과 관련해서, 일반적인 문서는 웹 페이지(web page)이다. 웹 페이지는, 텍스트 정보를 포함할 수 있으며, 임베드된 정보(예컨대, 메타 정보, 이미지, 하이퍼링크 등) 및/또는 임베드된 명령(예컨대, 자바스크립트 등)을 포함할 수 있다. The term "document" as used herein is to be broadly interpreted as encompassing all machine-readable or machine-storable workpieces. Such documents may include, for example, emails, files, combinations of files, one or more files with links embedded in other files, news group postings, blogs, web advertisements, and the like. With regard to the Internet, a general document is a web page. The web page may include textual information and may include embedded information (eg, meta information, images, hyperlinks, etc.) and / or embedded instructions (eg, JavaScript, etc.).
본 명세서에서 사용되는 "링크"(link)라는 용어는, 어느 문서에 대한 다른 문서의 참조 또는 한 문서에서의 다른 부분에 대한 모든 참조를 포함하는 것으로 넓게 해석되어야 한다. As used herein, the term "link" should be construed broadly to include references to other documents or to all references to other parts of a document.
네트워크의 구성예Configuration example of network
도 2는 본 발명에 따른 시스템 및 방법을 구현할 수 있는 네트워크(200)의 예를 나타낸다. 네트워크(200)에서는, 다수의 클라이언트(210)가 통신망(250)을 통해 다수의 서버(220-240)에 접속되어 있다. 도 2에서는, 간단히 나타내기 위해, 통신망(250)에 2개의 클라이언트(210)와 3개의 서버(220-240)가 접속된 것으로 도시되어 있다. 실제로는, 더 많은 또는 더 적은 수의 클라이언트 및 서버가 있을 수 있다. 또한, 어떤 경우에는, 클라이언트가 서버의 하나 이상의 기능을 수행할 수 있으며, 서버가 클라이언트의 하나 이상의 기능을 수행할 수도 있다. 2 illustrates an example of a
클라이언트(210)는, 클라이언트 엔티티(client entity)를 포함할 수 있다. 엔티티는, 개인용 컴퓨터, 무선 전화, 개인 휴대용 정보 단말기(PDA), 랩탑 컴퓨터 등의 디바이스, 또는 다른 종류의 연산(computation) 또는 통신(communication) 디바이스, 이들 디바이스 중 하나에서 구동되는 쓰레드(thread) 또는 프로세스, 및/또는 이들 디바이스 중 하나에 의해 실행가능한 오브젝트(object)로서 정의될 수 있다. 서버(220-240)는, 문서를 수집, 처리, 검색 및/또는 관리하는 서버 엔티티를 포함할 수 있다. The
일실시예에서, 서버(220)는 클라이언트(210)에 의해 사용될 수 있는 지역 검색 시스템(225)을 포함할 수 있다. 서버(220)는, 문서의 코퍼스를 크롤링(crawl)하고, 문서를 색인화(index)하며, 문서와 관련된 정보를 문서의 저장 장소인 레포지토리(repository)에 저장할 수 있다. 서버(220-240)를 어떻게 조합하든지, 지역 검색 결과를 식별하고 식별된 위치와 관련된 지도를 제공하기 위한 지역 검색 시스템(225)을 구현할 수 있다. In one embodiment,
서버(220-240)는 개별의 엔티티로 도시되어 있지만, 하나 이상의 서버(220- 240)가 다른 하나 이상의 서버(220-240)의 하나 이상의 기능을 수행할 수 있다. 예를 들어, 서버(220-240) 중의 둘 이상의 서버를 단일의 서버로 구현할 수 있다. 서버(220-240) 중의 하나의 서버를 둘 이상의 개별의(가능하면 분산된) 디바이스로 구현할 수 있다. Although servers 220-240 are shown as separate entities, one or more servers 220-240 may perform one or more functions of one or more other servers 220-240. For example, two or more servers among the servers 220-240 may be implemented as a single server. One of the servers 220-240 may be implemented as two or more separate (possibly distributed) devices.
통신망(250)에는, 근거리 통신망(LAN: local area network), 광역 통신망(WAN: wide area network), 공중 전화망(PSTN: Public Switched Telephone Network)이나 셀룰러 망 등의 전화망(telephone network), 인트라넷, 인터넷(Internet), 또는 이러한 망의 조합이 포함될 수 있다. 클라이언트(210)와 서버(220-240)는, 유선, 무선 및/또는 광학 연결 매체를 통해 통신망(250)에 연결될 수 있다. The
클라이언트/서버 구조의 예Example of Client / Server Architecture
도 3은 하나 이상의 클라이언트(210) 및 서버(220-240)에 대응할 수 있는 클라이언트 또는 서버 엔티티(이하, "클라이언트/서버 엔티티"라고 함)의 예를 나타낸다. 클라이언트/서버 엔티티는, 버스(310), 프로세서(320), 메인 메모리(330), 판독 전용 메모리(ROM)(340), 기억 장치(350), 입력 장치(360), 출력 장치(370), 및 통신 인터페이스(380)를 포함할 수 있다. 버스(310)는, 클라이언트/서버 엔티티의 구성요소들 사이의 통신을 가능하게 하는 경로를 포함할 수 있다. 3 illustrates an example of a client or server entity (hereinafter referred to as a "client / server entity") that may correspond to one or
프로세서(320)에는, 처리기, 마이크로프로세서, 또는 명령을 해석 및 실행할 수 있는 프로세싱 로직이 포함될 수 있다. 메인 메모리(330)는, 랜덤 액세스 메모리(RAM), 또는 프로세서(320)에 의한 실행을 위한 정보 및 명령을 저장할 수 있는 다른 유형의 동적 기억 장치를 포함할 수 있다. ROM(340)은, ROM 디바이스, 또는 프로세서(320)가 사용하기 위한 정적인 정보 및 명령을 저장할 수 있는 다른 유형의 정적 기억 장치(static storage device)를 포함할 수 있다. 기억 장치(350)는 자기 및/또는 광학 기록 매체 및 이에 대응하는 드라이브를 포함할 수 있다.
입력 장치(360)는, 오퍼레이터가 클라이언트/서버 엔티티에 정보를 입력할 수 있도록 해주는 메커니즘으로서, 키보드, 마우스, 펜, 음성 인식 및/또는 생체 메커니즘 등을 포함할 수 있다. 출력 장치(370)는, 오퍼레이터에게 정보를 출력하는 메커니즘으로서, 디스플레이, 프린터, 스피커 등을 포함할 수 있다. 통신 인터페이스(380)는, 클라이언트/서버 엔티티가 다른 디바이스 및/또는 시스템과 통신을 행할 수 있도록 해주는 것이라면 어떠한 송수신 가능한 메커니즘도 포함할 수 있다. 예를 들어, 통신 인터페이스(380)는, 예컨대 통신망(250)을 통해 다른 디바이스 또는 다른 시스템과 통신을 행하기 위한 메커니즘을 포함할 수 있다.
클라이언트/서버 엔티티는 소정의 동작을 수행할 수 있는데, 이에 대해서는 나중에 상세하게 설명한다. 클라이언트/서버 엔티티는, 이러한 소정의 동작을, 메모리(330) 등과 같이 컴퓨터로 판독가능한 매체 내에 포함된 소프트웨어 명령(software instructions)을 실행하는 프로세서(320)에 응답하여 수행할 수 있다. 컴퓨터로 판독가능한 매체는, 물리적 또는 논리적 메모리 장치 및/또는 반송파(carrier wave)로서 정의할 수 있다. The client / server entity may perform certain operations, which will be described in detail later. The client / server entity may perform this predetermined operation in response to the
소프트웨어 명령은, 데이터 기억 장치(350) 등과 같은 다른 컴퓨터로 판독가능한 매체로부터 또는 통신 인터페이스(380)를 통해 다른 디바이스로부터, 메모 리(330)에 입력될 수 있다. 메모리(330)에 포함되어 있는 소프트웨어 명령에 의해 프로세서(320)가 처리를 수행할 수 있게 되는데, 이에 대해서는 나중에 설명한다. 또한, 본 명세서에 개시된 처리(프로세스)를 구현하기 위하여, 소프트웨어 명령 대신에 또는 이와 함께 하드와이어드 회로(hardwired circuitry)가 사용될 수 있다. 본 발명의 실시예는, 하드웨어 회로 및 소프트웨어의 어떠한 특정의 조합에 한정되지 않는다. Software instructions may be entered into the
지역 검색 시스템의 예Local Search System Example
도 4는 지역 검색 결과를 식별하며 식별된 위치와 관련된 지도를 제공하기 위한 시스템[예컨대, 지역 검색 시스템(225)]의 예를 나타내는 기능 블록도이다. 일실시예에 의하면, 지역 검색 시스템(225)의 하나 이상의 기능은, 이하에 설명하는 바와 같이, 서버[예컨대, 서버(220)], 서버(220)의 일부, 서버(220-240)의 조합에 의해 수행될 수 있다. 다른 실시예에 의하면, 이러한 하나 이상의 기능은, 서버(220)로부터 분리된 엔티티, 예컨대 클라이언트(210), 서버(220) 또는 서버들(230 또는 240) 중의 하나와 관련된 컴퓨터에 의해 수행될 수 있다. 4 is a functional block diagram illustrating an example of a system (eg, local search system 225) for identifying local search results and providing a map associated with an identified location. According to one embodiment, one or more functions of
도 4에 나타낸 바와 같이, 지역 검색 시스템(225)은, 지도 제공자 데이터(400), 옐로우 페이지 데이터(405), 웹 문서 데이터(410), 인덱스/문서 레포지토리(415), 주소 및 POI(points of interest: 관심 지점) 식별(ID) 정보(420), 주소 FP(fingerprint: 핑거프린트) 및 POI ID 매핑 정보(425), 지오코더(geocoder)(430), 인덱서(indexer)(435), 프런트 엔드 서버(front end server)(440), 지도 URL(map Uniform Resource Locator) 정보(445), 및 지역 검색 결과(450)를 포함할 수 있다. 지도 제공자 데이터(400), 옐로우 페이지 데이터(405), 및 웹 문서 데이터(410)는 인덱서(435)에 제공될 수 있다. 지도 제공자 데이터(400)는 주소/POI ID 정보(420)와 주소 FP 및 POI ID 매핑 정보(425)를 얻는데 사용될 수 있다. 인덱서(435)는 인덱스/문서 레포지토리(415) 및 지오코더(430)에 접속될 수 있다. 주소/POI ID 정보(420)는 지오코더(430)에 제공될 수 있다. 프런트 엔드 서버(440)는, 지오코더(430) 및 인덱스/문서 레포지토리(415)에 접속될 수 있으며, 주소 FP 및 POI ID 매핑 정보(425)를 수신할 수 있다. 프런트 엔드 서버(440)는 지도 URL 정보(445) 및 지역 검색 결과(450)를 생성할 수 있다. 지역 검색 시스템(225)은, 도 4에 도시하지 않은, 다른 접속 및/또는 구성 요소 상호 관계를 선택적으로 포함할 수 있다. As shown in FIG. 4,
일반적으로, 지오코더(430)는, 인덱서(435)로부터 주소/POI ID 정보(420) 및/또는 정보를 수신하고, 지리적 식별자(예컨대, 위치, 좌표 등)를 오브젝트(objects)에 할당하며, 출력을 프런트 엔드 서버(440)에 제공할 수 있다. 인덱서(435)는, 지도 제공자 데이터(400), 옐로우 페이지 데이터(405) 및/또는 웹 문서 데이터(410)를 수신하고, 옐로우 페이지 데이터(405)를 전처리(preprocess)하여 업소 정보(business information)를 정하며, 웹 문서 데이터(410)로부터 업소 정보를 추출하고, 검색 질의 내의 위치 정보를 식별하며, 지도 제공자 데이터(400)의 주소 데이터를 색인화(index)하고, 색인/문서 레포지토리(415) 및/또는 지오코더(430)에 출력을 제공할 수 있다. 프런트 엔드 서버(440)는, 주소 FP 및 POI ID 정보(425), 지오코더(430)로부터의 정보, 및/또는 인덱스/문서 레포지토리(415)로부터의 정보 를 수신하고, 검색 질의를 재작성(rewrite)하며, 광고(ads) 서버(도시 안 됨)가 사용하기 위한 지도 URL 정보(445), 지역 검색 결과(450), 및/또는 지리 정보를 생성할 수 있다. In general,
지도 제공자 데이터 (Map Provider Data ( MapMap ProviderProvider DataData ))
중국어(Chinese) 주소 정보를 위한 데이터에는, 지도 데이터와 옐로우 페이지 데이터의 2가지 종류가 있다. 지도 제공자 데이터(400)는 여러 가지의 정보를 포함할 수 있다. 예를 들어, 일실시예에서, 제3자 지도 제공자는, 일련의 POI(예컨대, 미술관, 공원, 병원, 학교 등과 같은 업소 및 그외 다른 관심 지점)와, 중국 내의 여러 도시에 대한 이들 POI의 주소를 제공할 수 있다. 각각의 POI에 대해, 연관된 POI ID 정보가 있을 수 있다. 법적인 규제 때문에, 지도 제공자는, 각각의 POI에 대해 위도 및 경도 정보를 제공하지 못할 수 있다. 그러나, 지도 제공자는, 지도를 그리드(grid)(예컨대, 3백 미터×3백 미터 그리드)로 분할할 수 있으며, 각각의 POI에 대한 그리드 인덱스(grid index)와 프로그램을 제공함으로써, 그리드 간의 거리를 산출할 수 있다. 지도 제공자 데이터(400)는, 주기적으로(예컨대, 매일, 주 단위, 월 단위 등) 갱신될 수 있으며, 갱신이 이루어질 때마다, POI ID를 변경할 수 있다. There are two types of data for Chinese address information: map data and yellow page data. The
다른 실시예에서, 지도 제공자 데이터(400)는, (1)상호(business name), 주소, 전화 번호, 및 그리드 인덱스(grid index)를 포함할 수 있는 정규(normal) POI; (2)거리 이름과 거리의 중심에 대한 그리드 인덱스를 포함할 수 있는 도로(road) POI; 및/또는 (3)소정의 우편 번호 및 우편 번호의 근사 중 심(approximate center)의 그리드 인덱스를 포함할 수 있는 우편 번호 POI 정보를 포함할 수 있다. In another embodiment,
또 다른 실시예에서, 지도 제공자 데이터(440)가 갖는 문제점이 있을 수 있다. 예를 들어, 지도 제공자 데이터(400)는, 주소 중의 일부분만 포함하고 나머지 부분이 없을 수 있다. 중국에서의 규제 때문에, 지도 제공자 데이터(440)에서, 예컨대 거리 번지(street number)가 없을 수 있다(예컨대, POI의 20%-30%만 거리 번지가 있을 수 있음). 따라서, 지도 제공자 데이터(400)는, POI의 거리 이름(street name)만을 포함하거나 몇몇 높은 레벨의 추상적인 부분(abstraction)을 포함할 수 있다. 또한, 지도 제공자 데이터(400)의 POI의 일부에는 전화 번호가 없을 수 있다. 또한, 지도 제공자 데이터(400)에 의해 제공되는 주소가 적절하지 않은 형식으로 되어 있을 수 있다. In another embodiment, there may be a problem with
옐로우yellow 페이지 데이터 ( Page data ( YellowYellow PagePage DataData ))
옐로우 페이지 데이터(405)는 여러 가지 정보를 포함할 수 있으며 다수의 소스(예컨대, 제3자 제공자)로부터 수신될 수 있다. 예를 들어, 일실시예에서, 옐로우 페이지 데이터(405)는 POI에 대한 주소[예컨대, 주(county), 시(city), 성(province)] 및/또는 전화 번호 정보, 상호, 이메일 주소, 팩시밀리 번호, 웹 사이트 주소, CEO 이름, 업소 설명(business descriptions), SIC(산업분류코드)에 기초한 카테고리, 업소 종류 등을 포함할 수 있다. 다른 실시예에서, 옐로우 페이지 데이터(405)는 위도와 경도 정보를 전혀 포함하지 않을 수 있다. 그 결과, POI에 관한 완전한(또는 실질적으로 완전한) 정보(예컨대, 주소, 전화 번호, 지도 위치 정보)가, 지도 제공자 데이터(400)와 옐로우 페이지 데이터(405)로부터 추론될 수 있다.
웹 문서 데이터(Web document data ( WebWeb DocumentDocument DataData ))
웹 문서 데이터(410)는 여러 가지 정보를 포함할 수 있다. 예를 들어, 일실시예에서, 웹 문서 데이터(410)는, 이메일, 파일, 파일의 조합, 다른 파일에 임베드된(embedded) 링크를 갖는 하나 이상의 파일, 뉴스 그룹 포스팅, 블로그, 웹 광고, 웹 페이지[텍스트 정보를 포함할 수 있으며, 임베드된(embedded) 정보(예컨대, 메타 정보, 이미지, 하이퍼링크 등) 및/또는 임베드된(embedded) 명령(예컨대, 자바스크립트 등)을 포함할 수 있음], 업소 정보(예컨대, 주소, 전화 번호 등) 등을 포함할 수 있다. 웹 문서 데이터(410)는 또한 지역 검색 질의에 기초하여 찾은 문서를 포함할 수 있다. The
주소/address/ POIPOI IDID 정보 Information
주소/POI ID 정보(420)는 여러 가지 정보를 포함할 수 있다. 예를 들어, 일실시예에서, 주소/POI ID 정보(420)는 지도 제공자 데이터(400)로부터 추출한 주소, 지도 제공자 데이터(400)로부터 추출한 POI ID 등을 포함할 수 있다. 다른 실시예에서, 주소/POI ID 정보(420)는, 중국어 주소와 관련된 정보로서, 지도 제공자 데이터(400)에 의해 제공된 주소 데이터(예컨대, POI의 주소, 거리 중심); POI(예컨대, 학교, 공원, 빌딩, 병원 등); 우편 번호 중심(즉, 우편 번호에 포함되는 영역의 중심); 지도 제공자 데이터(400)에 의해 제공된 리스트에 포함되지 않을 수 있는 추가의 도시 등을 포함할 수 있다. The address /
주소 address FPFP 및 And POIPOI IDID 매핑Mapping 정보 Information
주소 FP 및 POI ID 매핑 정보(425)는 여러 가지 정보를 포함할 수 있다. 예를 들어, 일실시예에서, 주소 FP/POI ID 매핑 정보(425)는, 주소 핑거프린트(address fingerprints)와 이에 대응하는 POI ID 간의 매핑(mapping) 등을 포함할 수 있다. 주소 핑거프린트(FP: fingerprint)와 이에 대응하는 POI ID 간의 매핑은, 각각의 지역 검색 결과에 대한 POI ID를 조사(lookup)하기 위해 프런트 엔드 서버(440)에 의해 사용될 수 있다. 이에 대해서 나중에 상세하게 설명한다. 다른 실시예에서, POI ID는 주소 FP와 이에 대응하는 POI ID 간의 매핑 없이 직접 유도될 수 있다. 이러한 실시예에서, 주소 FP/POI ID 매핑 정보(425)는 직접 유도된 POI ID를 포함할 수 있다. The address FP and POI
지도 제공자 데이터(400), 옐로우 페이지 데이터(405), 웹 문서 데이터(410), 주소/POI ID 정보(420), 및 주소 FP/POI ID 매핑 정보(425)에 포함된 정보의 예를 설명하였지만, 다른 실시예에서는, 지역 검색 결과를 식별하는데 사용될 수 있는 주소와 관한 추가의 또는 다른 정보가 상기 정보의 예에 포함될 수 있다. Although the example of the information included in the
도 5 내지 도 8은 도 4의 지역 검색 시스템(225) 내의 몇몇 구성 요소의 예를 나타낸다. 5-8 show examples of some components within the
인덱스/문서 레포지토리(Index / Document Repository ( IndexIndex /Of DocumentDocument RepositoryRepository ))
인덱스/문서 레포지토리(415)는 단일의 기억 장치[예컨대, 메인 메모리(330), ROM(340), 및/또는 기억 장치(350)] 내에 설치될 수 있다. 인덱스/문서 레포지토리(415)는, 도 5에 나타낸 바와 같이, 문서, 옐로우 페이지 데이터(405), 및/또는 지도 제공자 데이터(400)에 관련된 여러 가지 정보를 기억할 수 있다. 예를 들어, 일실시예에서, 인덱스/문서 레포지토리(415)는, 중국어로 된 주소와 관련된 정보로서, 지도 제공자 데이터(400)에 의해 제공된 주소 데이터(예컨대, POI의 주소, 거리 중심); POI(예컨대, 학교, 공원, 빌딩, 병원 등); 우편 번호 중심(즉, 우편 번호에 포함되는 영역의 중심); 지도 제공자 데이터(400)에 의해 제공된 리스트에 포함되지 않을 수 있는 추가의 도시 등의 정보를 기억할 수 있다. Index /
다른 실시예에서, 도 5에 나타낸 바와 같이, 인덱스/문서 레포지토리(415)는 [province](성) 필드(500), [city](도시) 필드(510), [district](지구) 필드(520), [street](거리) 필드(530)(주소 필드 및/또는 POI 이름 필드를 추가로 또는 대체해서 포함할 수 있음)을 포함할 수 있다. 이하에 나타낸 예는 인덱스/문서 레포지토리(415)에 기억된 중국어 주소 정보에 대응할 수 있다. In another embodiment, as shown in FIG. 5, the index /
[BeiJing City][XiCheng District][BeiLiShi Road];BeiJing City [XiCheng District] [BeiLiShi Road];
([베이징시][시쳉구][베이리시 거리])([Beijing City] [Shicheng District] [Beijing City Street])
[BeiJing City][HaiDian District][YiHeYuan Road 5 Number];[BeiJing City] [HaiDian District] [
([베이징시][하이디안구][이헤유안 거리 5])([Beijing City] [Heidiian District] [Iheyuan Street 5])
[BeiJing City][HaiDian District][BeiJing University];[BeiJing City] [HaiDian District] [BeiJing University];
([베이징시][하이디안구][베이징대학])([Beijing City] [Heidiian District] [Beijing University])
[JiangSu Province][NanJing City][GuLou District][HanZhong Road][JiangSu Province] [NanJing City] [GuLou District] [HanZhong Road]
([장쑤성][난징시][구로우구][한종 거리])([Jiangsu Province] [Nanjing City] [Gurogu] [Hanjong Street])
또 다른 실시예에서, 인덱스/문서 레포지토리(415)는 주소 핑거프린트(FP) 필드(540) 및 FP 정확도(FP accuracy) 필드(550)를 포함할 수 있다. 각각의 주소는, 주소 FP 및 FP 정확도를 사용하여 지오코더(430)에 의해 지점(point)으로서 처리될 수 있다(예컨대, 빌딩은 거리 중심에 비해 FP 정확도가 더 높을 것임). 주소 FP는, 정확한 지도를 나타내기 위한 POI ID를 조사하는데 사용될 수 있는 주소[예컨대, 그 주소에 기초하여 생성될 수 있는 해쉬 값(hash value)]에 기초하여 생성되는 핑거프린트(fingerprint)가 될 수 있다. 예를 들어, FP 생성기(570)는, 주소(예컨대, [province] 필드(500), [city] 필드(510), [district] 필드(520), [street] 필드(530) 등)을 수신할 수 있으며, 이 주소에 기초하여, 주소 FP(예컨대, [FP] 필드(540)) 및 FP 정확도(예컨대, [FP accuracy] 필드(550))를 생성할 수 있다. 주소 FP 및 FP 정확도는 정확한 지도를 표시하기 위한 POI ID를 조사하기 위해 POI ID 조사 테이블(580)에 의해 사용될 수 있다(예컨대, 지역 검색 결과를 사용하여). FP 생성기(570) 및/또는 POI ID 조사 테이블(580)은, 지오코더(430), 인덱서(435), 또는 프런트 엔드 서버(440) 내에 제공될 수 있다. In yet another embodiment, the index /
또 다른 실시예에서, 인덱스/문서 레포지토리(415)는 주소와 연관된 [zcode] 필드(560)를 포함할 수 있다. zcode는, 우편 번호 등의 코드를 포함할 수 있으며, 중국의 경우, 중국에 있는 지구에 대한 6자리 행정 코드(administrative code)로부터 산출될 수 있다. JiangSu Province(장쑤성), BeiJing City(베이징시), BeiJing City XiCheng District(베이징시 시쳉구) 등과 같은 위치는, 이들 내의 모든 지점 위치(point location)를 포함하는 경계 영역(bounds)으로서 지오코더(430)에 의해 산출될 수 있다. In yet another embodiment, index /
재현율(recall)을 향상시키기 위해, 여러 가지 주소가 결정되어 인덱스/문서 레포지토리 내에 저장될 수 있다. 예를 들어, 성(province)과 도시에 대한 단일 문자 동의어(single character synonyms)가 식별될 수 있다[예컨대, Shanghai City(상하이시) -> Lu; HeBei Province(허베이성) -> Qi]. 추가적으로 또는 다른 대안으로서, 주소 부분은 생략될 수 있다(예컨대, Shanghai City -> Shanghai; HaiDian District -> HaiDian; HuaiHai Central Road -> HuaiHai Road). 추가적으로 또는 다른 대안으로서, 유명한 장소의 경우 동의어가 있을 수 있다(예컨대, Shanghai City Temple -> Old City Temple; LiuRong Temple -> LiuRong Ta). To improve recall, various addresses can be determined and stored in the index / document repository. For example, single character synonyms for provinces and cities can be identified (eg, Shanghai City-> Lu; HeBei Province-> Qi]. Additionally or alternatively, the address portion may be omitted (eg, Shanghai City-> Shanghai; HaiDian District-> HaiDian; HuaiHai Central Road-> HuaiHai Road). Additionally or alternatively, for famous places there may be synonyms (eg, Shanghai City Temple-> Old City Temple; LiuRong Temple-> LiuRong Ta).
도 5는 인덱스/문서 레포지토리(415)에 포함된 정보의 예를 나타내고 있지만, 다른 실시예에서는, 인덱스/문서 레포지토리(415)가, 지역 검색 결과를 식별하는데 사용될 수 있는 정보면 어떠한 정보라도 포함할 수 있다. 5 illustrates an example of information included in index /
지오코더(Geocoder ( GeocoderGeocoder ))
도 6에 나타낸 바와 같이, 지오코더(430)는, 지역 검색 결과의 식별에 도움을 주기 위한 여러 가지 작업을 수행할 수 있다. 예를 들어, 일실시예에서, 지오코더(430)는, 지리적 식별자(예컨대, 위치, 좌표 등)를 오브젝트(objects)에 할당할 수 있다. 예를 들어, 지오코더(430)는 인덱스/문서 레포지토리(415) 내의 주소에 주소를 매칭시킬 수 있다. 지오코더(430)로부터의 출력은 여러 가지 용도로 사용될 수 있다. 예를 들어, 옐로우 페이지 데이터(405)는, POI에 대한 업소 정보(예컨대, 주소, 전화 번호, 이메일 주소, 팩시밀리 번호, 업무 시간 등)를 판정하기 위해 파싱 처리(parse)될 수 있다. 업소 정보(business information)는 웹 문 서 데이터(410)로부터 추출될 수 있고, 및/또는 검색 질의 내에 제공된 위치 정보가 식별될 수 있다. As shown in FIG. 6, the
옐로우 페이지 데이터(405)를 색인화(index)하기 위하여, 인덱서(435)는, 중국어 주소를 보고 지도 위치(map position)를 판정할 필요가 있지만, 여기에는 많은 문제점이 있다. 예를 들어, 중국 내의 주소의 대부분에 대해 정확한 위치와 상세한 주소 정보를 이용하는 것은 쉽지 않다. 중국어 주소는 적절하게 정의된 형식과 분류 체계(hierarchy)를 구비하지 못하고 있기 때문이다. 중국어 주소의 가능한 구성 요소로는, 도시(city), 지구(district), 도심(town), 마을(village), 도로(road), 거리(street), 거리 번지(street number), 및 빌딩이 포함될 수 있다. 옐로우 페이지 데이터(405)는, 특히 시골 지역(rural areas)에서는 그 형식이 자유로울 수 있으며(예컨대, 어떠한 특정의 형식이나 형태에 맞추지 않음), 몇몇 POI에 대해서는, 대응하는 주소 구성 요소를 이용할 수 없다. 중국어 주소의 예를 든다. In order to index the
ShenZhen City HeGang Town AnLiang Village AnLiang Road 172 Number JingCheng Building;ShenZhen City HeGang Town AnLiang Village AnLiang Road 172 Number JingCheng Building;
ShenZhen City LongHua Town MingZhiMingLe Office Complex;ShenZhen City LongHua Town MingZhiMingLe Office Complex;
ShenZhen City FuHong Road ShiMao Square Block A 17 Floor; 및ShenZhen City FuHong Road ShiMao Square Block A 17 Floor; And
Beijing City HaiDian District SiJiQingXiaoFu.Beijing City HaiDian District SiJiQingXiaoFu.
지오코더(430)는, 옐로우 페이지 데이터(405)에 있는 주소를 지도 제공자 데이터(400)에 제공된 주소와 최적으로 매칭시켜서, 가능한 가장 정확한 지도 위치를 얻을 수 있다. 지오코더(430)는, 주소 리스트 작성기(600), 파서(parser)(610), 최장 매칭 프리픽스 로케이터(longest matching prefix locator)(620), 조합 로케이터(630), 질의 지오코딩 유닛(query geocoding unit)(640) 등을 포함할 수 있다. 지오코더(430)의 구성 요소들은 각각의 주소(예컨대, ShenZhen City HeGang Town AnLiang Village AnLiang Road 172 Number JingCheng Building)에 대해 많은 작업을 수행할 수 있다. The
주소 리스트 작성기(600)는, 지도 제공자 데이터(400) 및 옐로우 페이지 데이터(405)를 수신할 수 있으며, 지도 제공자 데이터(400) 및/또는 옐로우 페이지 데이터(405)로부터, 성(province), 시(city), 지구(district), 거리 이름(street name), 주소, POI 이름, 또는 이들의 조합에 기초하여 주소 리스트(이것을 "토큰"이라고 함)를 작성할 수 있다. 각각의 주소에 대해, 파서(610)는, 주소의 시작 부분부터 도시(city)를 파싱(parsing)하기 위한 시도를 행한다. 예를 들어, 주소로부터 "ShenZhen City"가 파서(610)에 의해 파싱될 수 있다. 파서(610)는, 주소로부터 지구(district)를 파싱할 수도 있다. 예를 들어, 상기 설명한 주소의 예에서는 지구(district)가 없기 때문에, 파서(610)는 주소로부터 지구를 파싱할 수 없을 것이다. The
지오코더(430)의 최장 매칭 프리픽스 로케이터(620)는 주소의 또 다른 부분을 찾는데(locate) 사용될 수 있다. 예를 들어, 최장 매칭 프리픽스 로케이터(620)는 주소 리스트로부터 최장 매칭 프리픽스(예컨대, 토큰)를 찾기 위한 시도를 행한다. 다만, 주소 리스트에 특정의 토큰이 없을 때(예컨대, 주소 리스트에 "HeGang Town"이 없음)에는 이러한 작업이 실패할 것이다. 최장 매칭 프리픽스 로 케이터(620)는, 단어 "Town"이 주소 리스트에 포함되어 있는 경우에는, 단어 "Town"의 끝으로 진행할 것이다. 주소 리스트에 토큰 전체(예컨대, "HeGang Town AnLiang Village AnLiang Road")가 존재할 때에는, 최장 매칭 프리픽스 로케이터(620)는 그 토큰을 양호한 매칭으로 식별할 수 있다(예컨대, "HeGang Town"이 양호한 매칭으로 식별될 수 있음). 최장 매칭 프리픽스 로케이터(620)는, 주소 리스트로부터 다시 최장 매칭 프리픽스(예컨대, 토큰)를 찾기 위한 시도를 행한다. 이것이 실패하면, 최장 매칭 프리픽스 로케이터(620)는, 단어 "Village"가 존재하는 경우(예컨대, "AnLiang Village"), 그 단어 "Village"의 끝으로 진행할 수 있다. 최장 매칭 프리픽스 로케이터(620)는, 주소 리스트로부터 최장 매칭 프리픽스(예컨대, 토큰)를 다시 찾기 위한 처리 과정(프로세스)을 반복할 수 있다. 이 경우, 최장 매칭 프리픽스 로케이터(620)는 거리 이름(예컨대, "Road" 또는 "Street")을 매칭시키는 시도를 행할 수 있다. 최장 매칭 프리픽스 로케이터(620)는, 이들 단어 "Road" 또는 "Street"가 존재하는 경우(예컨대, "AnLiang Road"), 이들 단어 "Road" 또는 "Street"의 끝으로 진행할 수 있다. 최장 매칭 프리픽스 로케이터(620)는, 또한 단어 "Number"가 존재하는 경우(예컨대, "172 Number"), 이 단어 "Number"의 끝으로 진행할 수 있다. 마지막으로, 최장 매칭 프리픽스 로케이터(620)는 POI 이름으로부터 최장 매칭 프리픽스(예컨대, 토큰)를 찾기 위한 시도를 행할 수 있다. 이에 의해, 빌딩, 학교, 공원 등의 이름(예컨대, "JingCheng Building")에 대한 매칭을 제공할 수 있다. The longest
조합 로케이터(630)는, 특정의 조합의 위치를 찾는데, 먼저 POI 이름를 찾 고, 이어서 다양한 레벨의 주소를 찾으며, 마지막으로 지구 또는 도시를 찾는다. 이러한 검색 구성(locating arragement)에 의해, 대부분의 특정의 주소가 조합 로케이터(630)에 의해 획득될 수 있다는 것이 보장될 수 있다. 예를 들어, 조합 로케이터(630)는 다음과 같은 조합의 예를 찾을 수 있다. The
도시 + 지구 + POI 이름;City + district + POI name;
도시 + 지구 + 최장 매칭 프리픽스 로케이터(620)에 의해 찾은 주소(예컨대, "Road" 또는 "Street")Address found by city + district + longest matching prefix locator 620 (eg, "Road" or "Street")
도시 + 지구 + 최장 매칭 프리픽스 로케이터(620)에 의해 찾은 주소(예컨대, "Village")Address found by city + district + longest matching prefix locator 620 (eg, "Village")
도시 + 지구 + 최장 매칭 프리픽스 로케이터(620)에 의해 찾은 주소(예컨대, "Town")Address found by city + district + longest matching prefix locator 620 (eg, "Town")
도시 + 지구; 및/또는 City + district; And / or
도시city
사용자에 의해 지역 검색 질의가 입력되면, 검색 질의의 위치 부분(location part)은 지도 제공자가 소유하는 지도 서버(map server)로 보내질 수 있다. 위치 질의(location query)가 중국어, 일본어, 또는 한국어(CJK) 문자를 포함하고 있다면, 지도 서버는 그 질의를 질의 지오코딩 유닛(query geocoding unit)(640)에 보내서 지오코딩이 행해지도록 할 수 있다. 사용자가 입력한 위치가 명확하지 않은 경우(예컨대, 지오코더로부터의 제1 결과의 스코어가 제2 결과의 스코어의 2배보다 작은 경우), 질의 지오코딩 유닛(640)은 사용자에게 제안을 할 수 있다. 예를 들 어, 위치 질의가 "History Museum"(역사 박물관)인 경우, 질의 지오코딩 유닛(640)은, "Do you want to look for TianJian City HeDong District History Museum, or ShangHai City PuDong District ShangHai History Museum?"(티엔지엔시 헤동구 역사 박물관을 찾나요 아니면 상하이시 푸동구 상하이 역사 박물관을 찾나요?)라고 하는 제안을 할 수 있다. If a local search query is entered by the user, the location part of the search query may be sent to a map server owned by the map provider. If the location query contains Chinese, Japanese, or Korean (CJK) characters, the map server can send the query to a
질의 지오코딩 유닛(640)은 검색 결과 위치 내의 다수의 지점에 기초한 검색 결과의 스코어를 산출할 수 있다. 예를 들어, ChangChuan City Yang District(창추안시 양구)가 Beijing City ChaoYang District(베이징시 차오양구)보다 스코어가 작다면, 사용자의 질의 위치가 "ChaoYang District"인 경우, Beijing City ChaoYang District가 표시될 수 있다. The
도 6은 지오코더(430)에 의해 수행되는 작업의 예를 나타내고 있지만, 다른 실시예에서는, 지오코더(430)가 지역 검색 결과를 식별하는데 사용될 수 있는 추가의 또는 다른 작업을 수행할 수 있다. 또한, 도 6은 지오코더(430)의 구성 요소가 상호 접속된 것으로 도시되어 있지만, 다른 실시예에서는, 지오코더(430)의 구성 요소가 개별의 상호 접속되지 않은 구성 요소가 될 수 있다. 6 shows an example of the work performed by the
인덱서(Indexer ( IndexerIndexer ))
인덱서(435)는, 도 7에 도시된 바와 같이, 지역 검색 결과의 식별에 도움이 되는 여러 작업을 수행할 수 있다. 예를 들어, 일실시예에서, 인덱서(435)는, POI에 대한 업소 정보(예컨대, 주소, 전화 번호, 이메일 주소, 팩시밀리 번호, 업무 시간 등)를 판정하기 위해 옐로우 페이지 데이터(435)를 전처리(preprocess)할 수 있으며, 웹 문서 데이터(410)로부터 업소 정보를 추출할 수 있고, 및/또는 검색 질의 내에서 위치 정보를 식별할 수 있다. 인덱서(435)는, 지도 데이터 인덱서(700), 옐로우 페이지 데이터 전처리기(710), 업소 정보 추출기(720), 거리 플래트너(distance flattener)(730), 클러스터러(740), 업소 정보 레포지토리(750), 스니피트 하이라이터(snippet highlighter)(760) 등을 포함할 수 있다. The
지도 데이터 인덱서(700)는 지도 위치 정보를 포함할 수 있는 지도 제공자 데이터(400)로부터의 주소 데이터를 색인화할 수 있다. 지오코더(430)는, 색인화된 주소 데이터에 기초하여 주소를 다시 지오코딩하기 위한 시도를 행한다. 클러스터러(clusterer)(740)(이하 설명함)는, 클러스터 위치(cluster position)가 주어진 위치와 다른 경우에, 클러스터 위치를 설정할 수 있지만, 미리 정해진 거리 임계값(예컨대, 3 킬로미터 이내)을 넘는 클러스터 위치를 설정할 수는 없다. 이러한 구성은, 클러스터링(clustering)을 향상시키는데 사용될 수 있다. 이에 대해서는 나중에 상세히 설명한다. Map data indexer 700 may index address data from
옐로우 페이지 데이터 전처리기(710)는, 여러 제공자로부터 옐로우 페이지 데이터(405)를 수신할 수 있으며, 옐로우 페이지 데이터(405)를 공통의 포맷으로 전처리할 수 있다. 이러한 포맷화된 데이터는 색인(indexing) 과정에서 지오코더(430)에 제공될 수 있다. 지오코더(430)는 주소를 지오코딩하기 위한 시도를 행할 수 있다. 주소가 빌딩 또는 거리 레벨까지 지오코딩될 수 있다면, 주소는 정규 엔트리(normal entry)로 색인화될 수 있다. 주소가 도시 또는 지구(district) 레벨로 지오코딩될 수 있다면, 주소는 근사 위치(approximate position)를 가진 엔트 리로서 색인화될 수 있다. 스코어링(scoring) 과정 동안, 엔트리는 중심으로부터 20 킬로미터 이상 떨어져 있는 것처럼 처리될 수 있다(반드시 레벨이 낮은 스코어를 가짐). 주소가 지오코딩될 수 없다면, 주소는 위치가 없는 엔트리로서 처리될 수 있다. 색인 과정에서, 위치가 없는 엔트리는 다른 엔트리와 클러스터링되고, 엔트리는 계속 유지될 수 있다. 그렇지 않다면, 엔트리가 폐기(discard)될 것이다. The yellow
업소 정보 추출기(business information extractor)(720)는, 다양한 기술을 사용하여 웹 문서 데이터(410)로부터 업소 정보(예컨대, 주소 및 전화 번호)를 추출할 수 있다. 이 기술은, 중국과 일본에서의 주소 및 전화 번호의 상이한 포맷에 따라 변경될 수 있다.
예를 들어, 제1 기술로서, 업소 정보 추출기(720)는, 통계적 모델(statistical model)에 기초한 주소와 연관된 업소 정보를 판정하기 위해 주소를 가진 문서를 분석할 수 있는 분류기(classifier)를 포함할 수 있다. 분류기에 의해 분석되는 문서는, 대응하는 옐로우 페이지 데이터(405)가 없는 주소를 가진 문서 및/또는 정확하지 않은 옐로우 페이지 데이터(405)가 있는 주소를 가진 문서를 포함할 수 있다. 분류기에 의해 수행되는 기능은, 업소 정보가 상호(타이틀) 정보 또는 전화 번호 정보에 대응하는지 여부에 따라 달라질 수 있다. 업소 정보가 상호 정보나 전화 번호 정보 이외의 다른 정보를 포함할 때에는 또 다른 기능이 수행될 수 있다. 상호(타이틀)는, 주소의 가까이에 있는 용어를 해석하고, 각각의 용어가 타이틀의 일부가 될 가능성을 판정함으로써 식별될 수 있다. 식별되는 각각 의 후보 타이틀(candidate title)에 신뢰도 스코어(confidence score)가 할당될 수 있다. For example, as a first technique,
문서에 있는 일련의 후보 전화 번호를 식별함으로써 전화 번호가 주소와 연관될 수 있다. 통계적 모델에 기초하여, 각각의 후보 전화 번호가 이전의 후보 전화 번호와 관련된 예측 및 후보 전화 번호 부근의 용어의 창(예컨대, 미리 정해진 수의 용어를 왼쪽/오른쪽으로 찾아봄)이 있는 경우, 주소와 연관될 가능성이 판정될 수 있다. 신뢰도 스코어는 이들의 판정된 확률에 기초하여 후보 전화 번호에 할당될 수 있다. 선택적으로, 해당 주소에 대한 최적의 전화 번호가 정해질 수 있다. 이어서, 전화 번호가 주소와 연관되어 업소 리스트를 구서 또는 보충하게 된다. A telephone number can be associated with an address by identifying a series of candidate telephone numbers in the document. Based on the statistical model, if each candidate phone number has a window of terms near the candidate and candidate phone numbers associated with the previous candidate phone number (eg, looking up a predetermined number of terms left / right), the address Can be determined. Confidence scores can be assigned to candidate phone numbers based on their determined probabilities. Optionally, an optimal phone number for that address can be determined. The telephone number is then associated with the address to compose or supplement the business listing.
제2 기술로서, 업소 정보 추출기(720)는, 검색 엔진의 일부분으로서 포함될 수 있는 위치 추출기(location extractor)를 포함할 수 있다. 위치 추출기는, 검색 질의를 받아서, 그 검색 질의가 지리적 기준(geographic reference)을 포함하는지 여부를 판정할 수 있다. 검색 질의가 지리적 기준을 포함하고 있다면, 위치 추출기는 그 질의 내의 검색어로부터 지리적 기준을 분리한 다음, 이것을 지역 검색 엔진에 제공할 수 있다. 검색 질의가 지리적 기준을 포함하고 있지 않다면, 위치 추출기는 검색 질의에 관련된 일련의 문서로 반환하는 통상적인 웹 검색 엔진을 포함할 수 있는 웹 검색 엔진에, 검색어를 제공할 수 있다. 지역 검색 엔진은, 업소 리스트 검색 엔진과 같은 전용의 검색 엔진을 포함할 수 있다. 지역 검색 엔진은, 그 동작과 관련하여, 위치 추출기로부터 검색어 및 검색 질의의 지리적 기준을 수 신할 수 있다. 지역 검색 엔진은, 지리적 기준과 연관된 지리적 영역에 관한 문서 코퍼스 내의 문서에 검색어를 비교함으로써 검색 질의를 매칭시키는 일련의 문서(즉, 검색 질의의 일련의 검색어를 포함하는 문서)를 식별할 수 있다. 지역 검색 엔진은, 식별된 문서를 스코어링하고, 이들의 스코어에 기초하여 정렬(sort)한 다음, 검색 결과의 리스트로서 출력할 수 있다. As a second technique,
위치 추출기는, 변수 i를 1로 설정하고, 도시 리스트에서의 각 도시[city(i)]의 도시명에 대한 검색을 수행함으로써, 검색 질의에서 명확한 주소(unambiguous addresses)(예컨대, 도시)를 판정할 수 있다. 이러한 검색에 대한 검색 결과의 수는 countcity(도시 검색 횟수)로서 카운트될 수 있다. 대응하는 성(province)의 이름으로 도시명에 대한 검색이 수행될 수도 있다. 이 검색에 대한 검색 결과의 수는 countcity/province(도시/성의 검색 횟수)로서 카운트될 수 있다. The location extractor may determine unambiguous addresses (eg, cities) in the search query by setting the variable i to 1 and performing a search for the city name of each city [city (i)] in the city list. Can be. The number of search results for this search may be counted as countcity. A search for a city name may also be performed with the name of the corresponding province. The number of search results for this search may be counted as countcity / province.
countcity/province가 countcity의 X%(X는 0보다 큰 수) 이상이 되는지 여부가 판정될 수 있다. couuntcity/province가 countcity의 적어도 X%인 경우에는, 도시는 "명백한" 도시(unambiguous city)로 간주될 수 있다. "명백한 도시"라는 것은, 검색 질의에서 단독으로 사용될 수 있는 이름을 가진 도시를 뜻하며, 사용자가 도시 외의 다른 것을 의도하지 않는다는 것을 이해할 수 있을 것이다. countcity/province가 countcity의 적어도 X%가 되지 않으면, 임의의 더 많은 도시가 리스트 상에 존재하는지 여부가 판정될 수 있다. 더 많은 도시가 리스트 상에 있으면, 변수 i는 하나씩 증가되며, 리스트에 있는 다음 도시가 평가될 수 있다. It may be determined whether countcity / province is greater than or equal to X% of countcity (where X is a number greater than zero). If couuntcity / province is at least X% of countcity, the city may be considered an "unambiguous city." By "obvious city" is meant a city with a name that can be used alone in a search query, and it will be understood that the user does not intend anything other than the city. If countcity / province is not at least X% of countcity, it may be determined whether any more cities are on the list. If more cities are on the list, the variable i is incremented by one, and the next city in the list can be evaluated.
검색 결과의 문서는 이들 문서가 포함하는 임의의 우편 번호(postal codes)를 식별하기 위해 분석될 수 있다. 우편 번호는 패턴 매칭 기술을 사용하여 식별될 수 있으며 우편 번호를 우편 번호 리스트에 비교함으로써 확인(verify)할 수 있다. 우편 번호가 city(i)와 연관된 우편 번호에 대응하는지 여부가 판정될 수 있다. city(i)와 연관된 우편 번호를 포함하는 문서의 수는 countpostal(우편 번호 검색 횟수)로서 카운트될 수 있다. countpostal이 countcity의 X%(예컨대, 5%) 이상인지 여부가 판정될 수 있다. countpostal이 countcity의 X% 이상인 경우, 해당 도시는 명백한 도시인 것으로 간주될 수 있다. The documents of the search results can be analyzed to identify any postal codes that these documents contain. Postal codes can be identified using pattern matching techniques and verified by comparing the postal codes to a list of postal codes. It may be determined whether the postal code corresponds to the postal code associated with city (i). The number of documents containing the postal code associated with city (i) can be counted as countpostal. It may be determined whether the countpostal is greater than or equal to X% (eg, 5%) of countcity. If countpostal is greater than or equal to X% of countcity, the city may be considered to be an explicit city.
제3 기술로서, 업소 정보 추출기(720)는 지리적으로 관련성을 갖는 문서를 식별할 수 있다. 본 명세서에서 사용되는 지리적으로 관련성을 갖는 문서란, 몇몇 방식으로, 지리적 위치(geographical location)에 대한 특정의 관련성을 갖는 것으로 판정될 수 있는 어떠한 문서라도 포함한다. 업소 리스트(예컨대, 옐로우 페이지 리스트)는, 업소의 주소에 의해 정의된 지리적 영역에 관련되는 지리적으로 관련성을 갖는 문서인 것으로 간주될 수 있다. 웹 문서와 같은 다른 문서도 또한 특정의 지리적 관련성을 가질 수 있다. 예를 들어, 업소는 홈 페이지를 가질 수 있으며, 업소에 대해 설명하거나 평가하는 문서의 대상이 될 수 있으며, 몇몇 다른 방식으로 업소에 관련되는 웹 페이지에 의해 언급되는 것일 수 있다. 문서가 연관된 특정의 지리적 위치는, 우편 주소 또는 다른 지리적 표시 등과 같은 많은 방식으로 정해질 수 있다. As a third technique,
지리적으로 관련성을 갖는 문서와 연관된 지리적 영역은 이에 대응하는 위치 식별자에 매핑될 수 있다. 그 문서에 대해 추가의 위치 식별자가 정해질 수 있다. 특히, 미리 정해진 영역 내의 주변 영역에 대응하는 위치 식별자도 정해질 수 있다. 각각의 지리적으로 관련성을 갖는 문서는, 문서의 영역과 식별된 주변 영역에 연관된 위치 식별자를 포함한 것처럼 색인화될 수 있다. Geographic regions associated with geographically relevant documents may be mapped to corresponding location identifiers. Additional location identifiers may be specified for the document. In particular, a location identifier corresponding to the peripheral area within the predetermined area may also be determined. Each geographically relevant document may be indexed as if including a location identifier associated with the region of the document and the identified surrounding region.
도 7은, 업소 정보 추출기(720)가 인덱서(435)의 구성 요소인 것으로 나타내고 있지만, 다른 실시예에서는, 업소 정보 추출기(720)를 인덱서(435)로부터 분리시킬 수 있다. 색인화 과정에서 복합 문서(composite document)의 세트가 사용될 수 있는 것을 보장하기 위하여, 업소 정보 추출기(720)에 의해 추출된 정보가 업소 정보 레포지토리(750) 내에 제공되어 있을 수 있다. 업소 정보 레포지토리(750)는, 다양한 정보, 예컨대 업소 정보 추출기(720)에 의해 업소 정보가 추출된 문서를 포함할 수 있다. 업소 정보 레포지토리(750)는, 추출한 업소 정보를 가지고, 인덱서(435) 내에 제공될 수 있다. 도 7은 업소 정보 레포지토리(750)를 인덱서(435)의 구성 요소인 것으로 나타내고 있지만, 다른 실시예에서는, 업소 정보 레포지토리(750)가 인덱서(435)로부터 분리되어 있을 수 있다. 7 shows that
거리 플래트너(distance flattener)(730)는 지역 검색 질의에 대한 검색 반경(search radius) 또는 거리를 설정할 수 있다. 예를 들어, 일실시예에서, 각각의 지역 검색 질의는 지오코더(430)에 의해 특정의 위치에 지오코딩될 수 있다. 각각의 위치는 지점 위치(예컨대, 빌딩, 유명한 여행자 장소, 학교, 거리 중심 등) 또는 경계 영역 위치(예컨대, 지구, 도시, 성 등)이 될 수 있다. 지점 위치의 경우, 거리 플래트너(730)는, 검색 반경을 미리 정해진 거리(예컨대, 해당 지점 주변 의 근사적으로 5 킬로미터)로 설정할 수 있다. 경계 영역 위치의 경우, 거리 플래트너(730)는, 그 위치의 중심으로부터 코너까지의 대략 최대 거리를 검색 반경으로 설정할 수 있다. 위치와 연관된 zcode 세트(예컨대, 해당 위치를 구성하는 zcode의 세트) 내의 검색 결과의 스코어를 만들어낼 수 있다. 이러한 방식에서는, 사용자가 지구 이름(district name)에 근접해서 검색하면, 최상위 결과(top results)가 해당 지구 내에 있게 된다.
클러스터러(740)는 지도 제공자 데이터(400)와 옐로우 페이지 데이터(405)를 함께 클러스터링할 수 있다. 많은 지도 제공자 데이터(400)가 정확한 위치 정보를 포함함으로써, 지도 상에 정확하게 표시될 수 있지만, 상세한 주소 또는 전화 번호 정보를 포함하지 않을 수 있다(예컨대, 거리 번지가 없는 주소를 포함하거나 전화 번호가 없을 수 있음). 한편, 옐로우 페이지 데이터(405)는 상세한 주소와 전화 번호 정보를 포함할 수 있지만, 정확한 위치 정보를 포함하지 않을 수 있다. 예를 들어, 지도 제공자 데이터(400)는 소스(예컨대, 지도 제공자), 타이틀(예컨대, "Beijjing University"), 주소(예컨대, "Beijing City HaiDian District YiHeYuan Road"), 및/또는 POI ID(지도 표시용)(예컨대, "A1234567")를 포함할 수 있다. 이에 대하여, 옐로우 페이지 데이터(405)는, 소스(예컨대, 옐로우 페이지 데이터 제공자), 타이틀(예컨대, "Beijjing University"), 주소(예컨대, "Beijing City HaiDian District YiHeYuan Road 5 Number"), 및/또는 전화 번호(예컨대, "010-62752114")를 포함할 수 있다. 이들 엔트리가 클러스터러(740)에 의해 클러스터링되면, 프런트 엔드 서버(440)는 사용자에게 상세한 주소 및 전화 번호 정보뿐만 아 니라 지도 상에서의 정확한 위치를 제공할 수 있게 된다. The
옐로우 페이지 데이터(405)로부터 주소를 지오코딩[예컨대, 지오코더(430)에 의해]해서 얻어진 위치는, 근사 값이 될 수 있으며, 지도 제공자 데이터(400)에 의해 제공된 정확한 위치에서 멀리 떨어진 곳이 될 수 있다. 이러한 경우, 두 명의 제공자로부터 제공되는 동일한 업소가, 많이 상이한 지역에 위치될 수 있으며, 이에 따라 클러스터러(740)에 의해 서로 클러스터링되지 않을 수 있다. 이에 대한 해결책으로서, 지도 제공자 데이터(400)로부터의 주소를 클러스터 위치로 지오코딩[예컨대, 지오코더(430)에 의해]하는 처리를 포함할 수 있다. 클러스터 위치는 이웃 생성(neighborhood generation)과 클러스터러(740)에 의한 클러스터링을 위해 사용될 수 있다. 지도 제공자 데이터(400)에 의해 제공되는 실제 위치가 지도 표시를 위해 사용될 수 있다. The location obtained by geocoding an address from the yellow page data 405 (eg, by geocoder 430) may be an approximation, and may be located far from the exact location provided by
스니피트 하이라이터(snippet highlighter)(760)는 문서(예컨대, 웹 문서) 내의 발췌 부분(snippet)을 강조할 수 있다. 웹 문서의 스니피트 하이라이트 처리는 문서 내의 용어 오프셋(term offsets)에 의해 달성되는 것이 일반적이다. CJK(중국어, 일본어, 한국어) 문서는 다른 언어와 다르게 카운트되는 용어를 갖기 때문에(예컨대, 구획 문자로서 스페이스를 사용하지 않으며, 용어를 얻기 위해 텍스트의 긴 단락을 분할할 필요가 있을 수 있음), 특정의 용어를 강조하기 위해서는, 전체 문서를 분할(segment)해서 이에 대응하는 용어를 취득할 수 있지만, 효율적이지 않다. 그러나, 스니피트 하이라이터(760)는 용어 오프셋 대신에 바이트 오프셋(byte offsets)을 기억해서 색인화 동안 웹 문서 내의 주소 또는 전화 번호(또 는 몇몇 다른 업소 정보)를 식별할 수 있다. 스니피트 하이라이터(760)는 강조(highlight)를 행하기 위해 바이트 오프셋을 사용할 수 있으며 분할(segmentation)을 행하지 않아도 된다. 도 7은 스니피트 하이라이터(760)를 인덱서(435)의 구성 요소로서 나타내고 있지만, 다른 실시예에서는, 스니피트 하이라이터(760)를 인덱서로부터 분리시키거나 다른 구성 요소 내에[예컨대, 프런트 엔드 서버(440) 내에] 포함시킬 수 있다.
도 7은 인덱서(435)에 의해 수행되는 작업의 예를 나타내고 있지만, 다른 실시예에서는, 인덱서(435)가 지역 검색 결과를 식별하는데 사용될 수 있는 추가의 작업 또는 다른 작업을 수행할 수도 있다. 또한, 도 7은 인덱서(435)의 구성 요소가 상호 접속된 것으로 도시하고 있지만, 다른 실시예에서는, 인덱서(435)의 구성 요소가 분리되어 상호 접속되지 않을 수 있다. 7 illustrates an example of the operation performed by
프런트 엔드 서버(Front-end server ( FrontFront EndEnd ServerServer ))
프런트 엔드 서버(440)는, 도 8에 나타낸 바와 같이, 지역 검색 결과의 식별에 도움이 되는 다양한 작업을 수행할 수 있다. 일실시예에서, 프런트 엔드 서버(440)는, 질의 재작성기(query rewriter)(800), 지역 검색 생성기(810), 지도 생성기(820), 지리 정보 생성기(830) 등을 포함할 수 있다. 도 8에는 프런트 엔드 서버(440)에 의해 수행되는 작업의 예를 나타내고 있지만, 다른 실시예에서는, 프런트 엔드 서버(440)가 지역 검색 결과의 식별에 도움이 되도록 사용될 수 있는 추가의 또는 다른 작업을 수행할 수 있다. As shown in FIG. 8, front-
일실시예에서, 질의 재작성기(800)는 다양한 작업을 수행할 수 있다. 예를 들어, 웹 문서 클러스터의 수는 영어 데이터에 비해 중국어 데이터가 훨씬 더 작을 수 있기 때문에, 유효한 결과를 얻기 위해 타이틀이나 카테고리에서의 매칭이 사용될 수 있다. 또한, 중국어에서는 동일한 용어를 의미하는 동의어가 여러 개 존재할 수 있다. 예를 들어, "restaurant"(레스토랑)이라는 용어는 중국어로 통상 여러 개의 동의어가 있을 수 있다. 또한, 옐로우 페이지 데이터(400)의 다른 제공자가 같은 카테고리를 표현하는데 다른 이름을 사용할 수 있다. 사용자가 입력한 검색 질의에 대한 최대의 재현율(recall)을 제공하기 위하여, 질의 재작성기(800)는 각각의 카테고리에 대한 동의어 리스트를 만들 수 있다. 질의 재작성기(800)는, 질의를, "OR"(논리합) 피연산자(operand)에 의해 결합될 수 있는 검색어 쌍으로 확장하기 위해 각각의 지역 검색 질의를 재작성할 수도 있다. In one embodiment, the
지역 검색 생성기(810)는, 지역 검색 결과(450)를 생성할 수 있다. 예를 들어, 지역 검색 생성기(810)는, 지역 검색 시스템(225)에 의해 획득되고 처리된 주소 정보에 기초하여, 특정의 지리적 영역 내의 관련 웹 페이지 및/또는 업소 리스트에 대응하는 결과를 생성할 수 있다. 지역 검색 결과(450)가 디스플레이[예컨대, 출력 장치(370)] 상에 표시(예컨대, 지역 검색 질의를 입력하는 사용자에게)될 수 있다. The
지도 생성기(820)는 지역 검색 결과(450)에 관련된 지도를 생성할 수 있다. 예를 들어, 지역 검색 결과에 대한 지도를 표시하기 위하여, 지도 생성기(820)는, 검색 결과 페이지 상에 아이프레임(iframe)[즉, 웹 페이지 내에 삽입된 플로팅 프레임(floating frame)]을 구성할 수 있으며, 지도 제공자에 의해 제공된 URL에 대 해 포스트 액션(post action)을 실행할 수 있다. 포스트에서의 파라미터는, 각각의 검색 결과에 대해 다음과 같은 필드를 포함할 수 있다. 즉, 타이틀, 주소, 전화 번호, POI ID(지도 상에서의 지점을 표시하기 위한 것), 및 정확도(accuracy) 필드를 포함할 수 있다. 빌딩 레벨까지 지오코딩될 수 있는 위치가, 지도 생성기(820)에 의해 지도상에 accurate(정확한)로 마킹될 수 있다. 거리 레벨(또는 몇몇 더 높은 레벨의 추상적인 부분)까지 지오코딩될 수 있는 위치는 지도 생성기(820)에 의해 지도상에 estimated(추정된)로 마킹될 수 있다. 도 9는 이러한 2가지 정확도 레벨이, 지역 검색 결과(910)에 기초하여 생성된 지도(900) 상에서 어떻게 구분될 수 있는지를 나타낸다. 예를 들어, 정확한 위치(accurate locations)(920)는 하나의 마커 컬러(예컨대, 녹색)로 식별될 수 있으며, 추정된 위치(estimated locations)(930)는 다른 마커 컬러(예컨대, 적색)로 식별될 수 있다. 2가지 정확도 레벨(정확한 그리고 추정된)이 도 9에 도시되어 있지만, 본 발명에 따른 실시예에서 추가의 정확도 레벨이 사용될 수 있다. The
인덱서(435)에 의한 색인화 과정에서, 주소의 핑거프린트[예컨대, 주소 FP(540)]는 관련된 정확도[예컨대, FP 정확도(550)]와 함께 기억될 수 있다. 주소 핑거프린트와 POI ID[예컨대, 주소 FP/POI ID 매핑 정보(425)] 간의 매핑이, 각각의 검색 결과에 대한 POI ID를 조사하기 위해 지도 생성기(820)에 의해 사용될 수 있다. POI ID는 지도 제공자에 대한 지도[예컨대, 지도(900)] 상에서의 위치를 식별하기 위해 지도 생성기(820)에 의해 사용됨으로써, 지도 제공자가 결과 페이지 내에 제공된 지도상의 위치를 나타낼 수 있게 된다. In the indexing process by the
중국에서 지역 광고(ads)를 표시하기 위하여, 지리 정보 생성기(830)가 다양한 방식으로 ads 서버(840)에 지리 정보를 제공할 수 있다. 예를 들어, 일실시예에서, 성(province) 또는 자치시(self-administered city)는 2개의 숫자 코드를 가질 수 있으며, 이 숫자 코드는 ISO-3166-2에 의해 정의된 지역 코드(region code)의 제2 부분이 될 수 있다. 지오코더(430)는 각각의 주소로 이 코드를 색인화(예컨대, "CN-dd")할 수 있으며, 모든 성공적으로 지오코딩된 주소에 대해 프런트 엔드 서버(440)에게 전달할 수 있다. 지리 정보 생성기(830)는, 이 코드를 geo-region-code(지리적 영역 코드)로서 ads 서버(840)에 제공할 수 있다. In order to display local ads (ads) in China,
다른 실시예에서, 광고주는 지오타게팅(geo-targeting: 광고지역설정)을 사용하지 않고, <keyword, location>(키워드, 위치)로 된 키워드 쌍을 사용할 수 있는데, 이는 웹 검색의 경우, 지오타게팅이 아시아 지역에서는 미국에서처럼 효과적이지 않기 때문이다. 이러한 키워드 쌍에 대해 광고에 대한 조사 기록(inventory)이 더 많을 수 있다. 따라서, 지리 정보 생성기(830)는, 검색 질의에 의해 입력된 위치와 키워드를 연계시킬 수 있으며, ads 서버(840)에 제공된 키워드로서 이러한 연계(concatenation)를 사용할 수 있다. 예를 들어, 사용자가 "Beijing"(베이징) 인근의 "restaurant"(레스토랑)을 검색한다면, 지리 정보 생성기(830)에 의해 ads 서버(840)에 제공된 키워드는 "restaurnat Beijing"이 될 것이다. 이러한 구성은 일본과 중국에 적용될 수 있다. In another embodiment, an advertiser may use keyword pairs of <keyword, location> instead of geo-targeting, which, in the case of web search, It is not as effective in this region as it is in the United States. There may be more inventory of advertisements for these keyword pairs. Thus, the
또 다른 실시예에서, 지리 정보 생성기(830)는 검색 질의가 지리적 기준(geographic reference)을 포함하는지 여부를 판정할 수 있다. 검색 질의가 지 리적 기준을 포함하고 있지 않다면, ads 서버(840)에 의해 정규의 광고가 제시될 수 있다. 그러나, 사용자의 IP 주소와 같은 사용자 위치의 표시자(indicator)를 이용할 수 있는지 여부가 판정될 수 있다. 사용자의 위치 표시자를 이용할 수 있다면, 이 사용자의 위치에 기초하여 지역 광고가 제시될 수 있다. In another embodiment,
한편, 검색 질의가 지리적 기준을 포함하고 있다면, 지리 정보 생성기(830)는, 지리적 기준이 도시명에만[즉, 성(province)에 대한 정보가 없는 것과 같이 임의의 다른 지리 정보 없이] 대응하는지 여부를 판정할 수 있다. 검색 질의가 도시명 외의 지리적 기준을 포함하고 있다면, 지역 광고가 제시될 수 있다. On the other hand, if the search query includes a geographic criterion, the
검색 질의가 도시명에만 대응하는 지리적 기준을 포함하고 있다면, 지리 정보 생성기(830)는 해당 도시가 명백한 도시에 대응하는지 여부를 판정할 수 있다. 해당 도시가 명백한 도시에 대응하지 않는다면, 정규의 광고가 제시될 수 있다. 도시가 명백한 도시에 대응한다면, 지리 정보 생성기(830)는 질의의 하나 이상의 다른 검색어를 가진 도시명이 블랙리스트(blacklist) 상에 나타나는지 여부를 판정할 수 있다. 블랙리스트는, 하나 이상의 단어와 조합될 때, 이들 각각의 도시 이외의 다른 것을 의미하는 명백한 도시명에 대해 유지될 수 있다. 질의의 하나 이상의 다른 검색어를 가진 도시명이 블랙리스트 상에 나타난다면, 정규의 광고가 제시될 수 있다. 질의의 하나 이상의 다른 검색어를 가진 도시명이 블랙리스트 상에 나타나지 않는다면, 해당 질의의 지리적 기준에 기초해서 지역 광고가 제시될 수 있다. If the search query includes a geographic criterion that corresponds only to the city name, the
지역("대상이 된") 광고가 제시될 예정이면, 사용자의 위치(예컨대, 사용자 의 IP 주소)에 관련된 정보가 지리 정보 생성기(830)에 의해 사용되어, 그 위치가 지리적 기준에 대응하는 위치의 미리 정해진 거리 내에 있는지 여부를 판정할 수 있게 된다. 사용자의 위치가 미리 정해진 거리 내에 속한다면, 지역 광고가 제시될 수 있다. 사용자의 위치가 미리 정해진 거리에서 벗어나 있다면, 정규의 광고가 제시될 것이다. If a local (“targeted”) advertisement is to be presented, information related to the user's location (eg, the user's IP address) is used by the
프런트 엔드 서버(440)[또는 프런트 엔드 서버(440)의 구성 요소]는, 중국에만 사용될 수 있는 몇몇 작업을 수행할 수 있다. 예를 들어, 프런트 엔드 서버(440)는, 드라이빙 디렉션(driving direction: 가는 길 찾기)을 숨기고, 나라마다 상이할 수 있는 디스플레이 유닛(킬로미터 대 마일)을 제공하며, 사용자가 중국에 있을 때 민감한 키워드에 대한 필터링을 행하고, 표시를 위한 중국어 주소 및 전화 번호의 특정의 포맷을 제공하며, 지도의 상단에 지오코딩된 위치를 나타내며, 및/또는 거리를 0.1 킬로미터 대신에 0.5 킬로미터로 라운드 처리하고 방향을 제거할 수 있다. The front end server 440 (or components of the front end server 440) may perform some tasks that may be used only in China. For example, the front-
프로세스(처리 과정)의 예Example of process (processing)
도 10A 내지 도 10D는 지역 검색 결과를 식별하고 식별된 위치와 연관된 지도를 제공하기 위한 프로세스의 예를 나타내는 플로차트이다. 10A-10D are flowcharts illustrating an example of a process for identifying local search results and providing a map associated with an identified location.
지역 검색 결과 및 지도 생성의 프로세스의 예Example of the process of generating local search results and maps
도 10A에 나타낸 바와 같이, 지역 검색 결과를 식별하고 식별된 위치와 연관된 지도를 제공하기 위한 프로세스(1000)는, 먼저 옐로우 페이지, 지도 제공자, 및 문서 데이터를 수신하는 것으로 개시한다(블록 1005). 예를 들어, 도 4와 관련하 여 앞서 설명한 일실시예에서, 지도 제공자 데이터(400), 옐로우 페이지 데이터(405), 및 웹 문서 데이터(410)는 인덱서(435)에 제공될 수 있으며, 지도 제공자 데이터(400)는 주소/POI ID 정보(420) 및 주소 FP/POI ID 매핑 정보(425)를 유도하는데에도 사용될 수 있다. As shown in FIG. 10A, a
프로세스(1000)는, 데이터에 대해 지오코딩(geocoding)을 수행할 수 있다(블록 1010). 예를 들어, 도 6과 관련하여 앞서 설명한 일실시예에서, 지오코더(430)의 주소 리스트 작성기(600)는, 지도 제공자 데이터(400)와 옐로우 페이지 데이터(405)를 수신하고, 지도 제공자 데이터(400) 및/또는 옐로우 페이지 데이터(405)로부터, 성, 도시, 지구, 거리 이름, 주소, POI 이름, 또는 이들의 조합에 기초하여 주소 리스트를 작성할 수 있다. 지오코더(430)의 파서(parser)(610)는, 각 주소의 시작 부분으로부터 도시 및/또는 지구를 파싱처리(parse)할 수 있다. 지오코더(430)의 최장 매칭 프리픽스 로케이터(longest matching prefix locator)(620)는 각 주소의 다른 부분을 찾는데 사용될 수 있다. 지오코더의 조합 로케이터(620)는 특정 조합을 찾는데, POI 이름을 먼저 찾고, 주소의 다양한 레벨을 찾은 다음, 마지막으로 지구 또는 도시를 찾는다. 지오코더(430)의 질의 지오코딩 유닛(640)은 검색 결과 위치에서의 지점의 수에 기초하여 검색 결과의 스코어를 산출할 수 있다.
도 10A에 도시된 바와 같이, 프로세스(1000)는 데이터에 대해 색인화(indexing)를 수행할 수 있다(블록 1015). 예를 들어, 도 7과 관련하여 앞서 설명한 일실시예에서, 인덱서(435)의 지도 데이터 인덱서(700)는 지도 위치 정보를 포함할 수 있는 지도 제공자 데이터(400)로부터 주소 데이터를 색인화할 수 있다. 인덱서(435)의 옐로우 페이지 데이터 전처리기(710)는 여러 제공자로부터 옐로우 페이지 데이터(405)를 수신할 수 있으며, 옐로우 페이지 데이터(405)를 공통의 포맷으로 전처리할 수 있다. 인덱서(435)의 업소 정보 추출기(720)는 여러 기술을 사용하여 웹 문서 데이터(410)로부터 업소 정보(예컨대, 주소 및 전화 번호)를 추출할 수 있다. 이러한 기술은, 중국과 일본에서의 주소 및 전화 번호의 상이한 포맷에 따라 변경될 수 있다. 추출된 업소 정보는 업소 정보 레포지토리(750) 내에 제공되어 있을 수 있다. 인덱서(435)의 거리 플래트너(distance flattener)(730)는 지역 검색 질의에 대한 검색 반경(search radius)을 설정할 수 있다. 인덱서(435)의 클러스터러(740)는 지도 제공자 데이터(400)와 옐로우 페이지 데이터(405)를 함께 클러스터링(clustering)할 수 있다. 인덱서(435)의 스니피트 하이라이터(snippet highlighter)(760)는 문서(예컨대, 웹 문서) 내의 발췌 부분(snippet)을 강조할 수 있다. As shown in FIG. 10A,
프로세스(1000)는 지역 검색 결과를 생성하고 지도 URL을 제공할 수 있다(블록 1020). 예를 들어, 도 8과 관련해서 앞서 설명한 일실시예에서, 프런트 엔드 서버(440)의 지역 검색 생성기(810)는, 지역 검색 결과(450)[예컨대, 지역 검색 시스템(225)에 의해 획득되고 처리되는 주소에 기초하여, 특정의 지리적 영역 내의 관련된 웹 페이지 및/또는 업소 리스트]를 생성할 수 있다. 프런트 엔드 서버(440)의 지도 생성기(820)는 지역 검색 결과(450)에 관련된 지도를 생성할 수 있다. 예를 들어, 해당 검색 결과에 대한 지도를 표시하기 위하여, 지도 생성 기(820)는, 검색 결과 페이지 상에 아이프레임(iframe)(즉, 웹 페이지 내에 삽입된 플로팅 프레임)을 구성하고, 지도 제공자에 의해 제공된 URL에 대해 포스트 액션을 실행할 수 있다.
지오코딩Geocoding 프로세스의 예 Process example
프로세스(1000) 중의 프로세스 블록 1010(도 10A)은 도 10B에 나타낸 블록을 포함할 수 있다. 따라서, 프로세스 블록 1010은 주소 리스트를 작성할 수 있다(블록 1025). 예를 들어, 도 6과 관련하여 앞서 설명한 일실시예에서, 지오코더(430)의 주소 리스트 작성기(600)는, 지도 제공자 데이터(400)와 옐로우 페이지 데이터(405)를 수신하고, 지도 제공자 데이터(400) 및/또는 옐로우 페이지 데이터(405)로부터, 성, 도시, 지구, 거리 이름, 주소, POI 이름, 또는 이들의 조합에 기초하여 주소 리스트(토큰)를 작성할 수 있다. 프로세스 블록(1010)은 주소 리스트 내의 각각의 주소에 대해 파싱 처리를 행할 수 있다(블록 1030). 예를 들어, 도 6과 관련하여 앞서 설명한 일실시예에서, 각 주소에 대해, 지오코더(430)의 파서(610)는 주소로부터 도시 및 지구를 파싱 처리할 수 있다. Process block 1010 (FIG. 10A) in
도 10B에 도시된 바와 같이, 프로세스 블록 1010은 주소 리스트 내의 각 주소로부터 최장 매칭 프리픽스를 찾을 수 있다(블록 1035). 예를 들어, 도 6과 관련하여 앞서 설명한 일실시예에서, 지오코더(430)의 최장 매칭 프리픽스 로케이터(620)는, 주소의 추가 부분(예컨대, 도심, 마을, 도로 또는 거리, 번지, POI 이름 등)을 찾는데 사용될 수 있다. 최장 매칭 프리픽스를 주소 내에서 찾을 수 없으면(블록 1040에서 NO), 프로세스 블록 1010은 주소의 추가 부분을 찾는 동작을 계속할 수 있다(블록 1035). As shown in FIG. 10B,
최장 매칭 프리픽스가 주소 내에서 찾을 수 있다면(블록 1040에서 YES), 프로세스 블록 1010은 각 주소 내에 조합을 찾을 수 있다(블록 1045). 예를 들어, 도 6과 관련하여 앞서 설명한 일실시예에서, 지오코더(430)의 조합 로케이터(630)는, 특정의 조합을 찾는데, POI 이름을 먼저 찾고, 다양한 레벨의 주소를 찾은 다음, 마지막으로 지구 또는 도시를 찾는다. 이러한 검색 구성에 의해, 대부분의 특정한 가능한 주소가 조합 로케이터(630)에 의해 획득될 수 있다는 것을 보장 또는 확인할 수 있다. If the longest matching prefix can be found in the address (YES in block 1040),
색인화Indexing 프로세스의 예 Process example
프로세스(1000)의 프로세스 블록 1015(도 10A)는 도 10C에 도시된 블록을 포함할 수 있다. 따라서, 프로세스 블록 1015는 옐로우 페이지 데이터를 전처리할 수 있다(블록 1050). 예를 들어, 도 7과 관련하여 앞서 설명한 일실시예에서, 인덱서(435)의 옐로우 페이지 데이터 전처리기(710)는, 여러 제공자로부터 옐로우 페이지 데이터(405)를 수신할 수 있으며, 옐로우 페이지 데이터(405)를 공통(또는 미리 정해진) 포맷으로 전처리할 수 있다. 이러한 포맷화된 데이터는, 색인화 과정에서 지오코더(430)에 제공될 수 있으며, 지오코더(430)는 주소에 대한 지오코딩을 시도할 수 있다. 주소가 빌딩 또는 거리 레벨까지 지오코딩될 수 있다면, 주소는 정규 엔트리로서 지오코딩될 수 있다. 주소가 도시 또는 지구 레벨까지 지오코딩될 수 있다면, 주소는 근사 위치(approximate position)를 가진 엔트리로서 색인화될 수 있다. Process block 1015 (FIG. 10A) of
프로세스 블록 1015는 문서로부터 업소 정보를 추출하고(블록 1055) 추출한 업소 정보를 저장할 수 있다(블록 1060). 예를 들어, 도 7과 관련하여 앞서 설명한 일실시예에서, 인덱서(435)의 업소 정보 추출기(720)는 웹 문서 데이터(410)로부터 다양한 기술을 사용하여 업소 정보(예컨대, 주소 및 전화 번호)를 추출할 수 있다. 이러한 기술은, 중국과 일본에서의 주소 및 전화 번호의 상이한 포맷에 따라 달리질 수 있다. 도 7과 관련하여 앞서 설명한 다른 실시예에서, 추출한 업소 정보는 업소 정보 레포지토리(750) 내에 제공될 수 있다. 업소 정보 레포지토리(750)는, 다양한 정보, 예컨대 업소 정보 추출기(720)에 의해 업소 정보를 추출하는 문서를 포함할 수 있다.
프로세스 블록 1015는 지도 제공자로부터 수신한 주소 데이터를 색인화할 수 있다(블록 1065). 예를 들어, 도 7과 관련하여 앞서 설명한 일실시예에서, 인덱서(435)의 지도 데이터 인덱서(700)는 지도 위치 정보를 포함할 수 있는 지도 제공자 데이터(400)로부터 주소 데이터를 색인화할 수 있다. 지오코더(430)는, 색인된 주소 데이터에 기초하여 주소를 다시 지오코딩하기 위한 시도를 행한다. 클러스터러(740)는, 클러스터 위치가 주어진 위치와 다른 경우에 클러스터 위치를 설정할 수 있지만, 미리 정해진 거리 임계값(예컨대, 3 킬로미터 이내)을 넘는 클러스터 위치를 설정하지 않을 수 있다.
도 10C에 도시된 바와 같이, 프로세스 블록 1015는 옐로우 페이지 데이터와 지도 제공자 데이터를 클러스터링할 수 있다(블록 1070). 예를 들어, 도 7과 관련하여 앞서 설명한 일실시예에서, 인덱서(435)의 클러스터러(740)는, 지도 제공자 데이터(400)와 옐로우 페이지 데이터(405)를 함께 클러스터링할 수 있다. 이들 엔트리가 클러스터러(740)에 의해 함께 클러스터링되면, 프런트 엔드 서버(440)는 사용자에게 상세한 주소 및 전화 번호 정보와, 지도상의 정확한 위치를 제공할 수 있다. As shown in FIG. 10C,
프로세스 블록 1015는 문서 내에 제공된 발췌 부분을 강조할 수 있다(블록 1075). 예를 들어, 도 7과 관련하여 앞서 설명한 실시예에서, 인덱서(435)의 스니피트 하이라이터(760)는, 문서(예컨대, 웹 문서) 내의 발췌 부분을 강조할 수 있다. 스니피트 하이라이터(760)는 색인화 과정에서 웹 문서 내의 주소 또는 전화 번호(또는 몇몇 다른 업소 정보)를 식별하기 위해, 용어 오프셋 대신에 바이트 오프셋을 저장할 수 있다. 스니피트 하이라이터(760)는 바이트 오프셋을 사용해서 강조를 수행할 수 있으며 분할이 필요하지 않게 될 수 있다.
도 10C에 나타낸 바와 같이, 프로세스 블록 1015는 검색 거리를 설정할 수 있다(블록 1080). 예를 들어, 도 7과 관련하여 앞서 설명한 일실시예에서, 인덱서(435)의 거리 플래트너(730)는 지오코더(430)에 의해 지오코딩된 지역 검색 질의에 대한 검색 반경을 특정의 위치로 설정할 수 있다. 각각의 위치는 지점 위치(예컨대, 빌딩, 유명한 여행자 장소, 학교, 거리 중심 등)이나 경계 영역 위치(예컨대, 지구, 도시, 성 등)가 될 수 있다. 지점 위치의 경우, 거리 플래트너(730)는, 검색 반경을 미리 정해진 거리(예컨대, 해당 지점 주변의 근사적으로 5 킬로미터)로 설정할 수 있다. 경계 영역 위치의 경우, 거리 플래트너(730)는, 그 위치의 중심으로부터 코너까지의 대략 최대 거리를 검색 반경으로 설정할 수 있다. As shown in FIG. 10C,
프런트 엔드 서버 프로세스의 예Example of Front End Server Process
프로세스(1000)의 프로세스 블록 1020(도 10A)는 도 10D에 나타낸 블록을 포함할 수 있다. 따라서, 프로세스 블록 1020은 검색 질의를 재작성(rewrite)할 수 있다(블록 1085). 예를 들어, 도 8과 관련하여 앞서 설명한 일실시예에서, 중국어로 된 하나의 용어에 대해 몇 개의 동의어가 있을 수 있다. 또한, 옐로우 페이지 데이터(400)의 여러 제공자가 같은 카테고리를 나타내기 위해 상이한 이름을 사용할 수 있다. 사용자가 입력한 검색 질의에 대한 최대의 재현율을 제공하기 위하여, 프런트 엔드 서버(440)의 질의 재작성기(800)는 각각의 카테고리에 대한 동의어 리스트를 작성할 수 있다. 질의 재작성기(800)는, 질의를, "OR"(논리합) 피연산자(operand)에 의해 결합될 수 있는 검색어의 쌍으로 확장하기 위해 각각의 지역 검색 질의를 재작성할 수도 있다. Process block 1020 (FIG. 10A) of
프로세스 블록 1020은, 검색 질의에 기초하여 지역 검색 결과를 생성할 수 있으며, 생성한 검색 결과의 위치를 나타내는 지도를 작성할 수 있다(블록 1090). 예를 들어, 도 8과 관련하여 앞서 설명한 일실시예에서, 프런트 엔드 서버(440)의 지역 검색 생성기(810)는 지역 검색 결과[예컨대, 지역 검색 시스템(225)에 의해 획득되고 처리되는 주소에 기초하여, 특정의 지리적 영역 내의 관련된 웹 페이지 및/또는 업소 리스트]를 생성할 수 있다. 도 8과 관련하여 앞서 설명한 다른 실시예에서, 프런트 엔드 서버(440)의 지도 생성기(820)는, 검색 결과 페이지 상에 아이프레임(iframe)(즉, 웹 페이지 내에 삽입된 플로팅 프레임)을 구성하고, 지도 제공자에 의해 제공된 URL에 대해 포스트 액션을 실행할 수 있다. POI ID는 지도 제 공자에 대한 지도[예컨대, 지도(900)] 상에서의 위치를 식별하기 위해 지도 생성기(820)에 의해 사용됨으로써, 지도 제공자가 결과 페이지 내에 제공된 지도상의 위치를 나타낼 수 있게 된다.
도 10D에 나타낸 바와 같이, 프로세스 블록 1020은 ads 서버에 대한 지리 정보를 생성할 수 있다(블록 1095). 예를 들어, 도 8과 관련하여 앞서 설명한 일실시예에서, 중국에서 지역 ads(광고)를 표시하기 위하여, 프런트 엔드 서버(440)의 지리 정보 생성기(830)는, ads 서버(840)에 지리 정보를 제공할 수 있다. 예를 들어, 지리 정보 생성기(830)는 지역 코드를 geo-region-code(지리적 지역 코드)로서 ads 서버(840)에 제공할 수 있다. 다른 실시예에서, 지리 정보 생성기(830)는, 사용자가 검색 질의에 의해 입력한 위치와 키워드를 연계시킬 수 있으며, ads 서버(840)에 제공된 키워드로서 이러한 연계를 사용할 수 있다. As shown in FIG. 10D,
결론conclusion
본 명세서에 개시된 실시예는 지역 검색 결과를 식별하고 식별된 위치와 연관된 지도를 작성하는 시스템 및 방법을 제공할 수 있다. 본 발명의 시스템은, 사용자가 입력하는 지역 검색 질의를 수신하고, 수신한 지역 검색 질의와 연관된 위치를 식별할 수 있다. 시스템은 지역 검색 질의에 관련될 수 있으며 식별된 위치와 연관될 수 있는 일련의 지역 검색 결과를 식별할 수 있다. 지역 검색 결과는 지역 검색 질의에 관련될 수 있는 문서에 대한 링크를 포함할 수 있다. 본 발명의 시스템은, 지역 검색 결과의 그룹에 대한 식별자를 식별하고, 이 식별자를 지도 제공자에 제공할 수 있다. 본 발명의 시스템은, 식별된 위치와 연관된 지도를 지도 제공자로부터 수신할 수 있다. 지도는 지역 검색 결과의 그룹에서 하나 이상의 검색 결과의 위치를 식별할 수 있다. Embodiments disclosed herein may provide a system and method for identifying local search results and creating a map associated with an identified location. The system of the present invention may receive a local search query entered by a user and identify a location associated with the received local search query. The system may identify a series of local search results that may be related to a local search query and that may be associated with an identified location. The local search results may include links to documents that may be related to local search queries. The system of the present invention may identify an identifier for a group of local search results and provide this identifier to a map provider. The system of the present invention may receive a map associated with the identified location from a map provider. The map may identify the location of one or more search results in the group of local search results.
본 발명의 실시예는 다음과 같은 하나 이상의 장점을 갖는다. 예를 들어, 지도 데이터와 옐로우 페이지 데이터는, 지역 검색 결과를 식별하고 식별된 위치와 연관된 지도를 작성하기 위해 여러 상이한 제공자로부터 사용될 수 있다. 지도에는 지역 검색 결과가 편리하게 표시될 수 있다. 이러한 구성에 의하면, 지역 검색 결과를 생성하고 제3자 지도 제공자의 서버에 대한 포인터가 필요하지 않다. Embodiments of the present invention have one or more of the following advantages. For example, map data and yellow page data may be used from several different providers to identify local search results and create a map associated with the identified location. Local search results may be conveniently displayed on the map. This arrangement produces local search results and does not require a pointer to the server of the third party map provider.
다른 실시예에서, 지도는 옐로우 페이지 데이터에 기초하여 상세한 지도 데이터를 제공할 수 있다. 이에 의하면, 익스포트 규제(export restirctions) 때문에 지도를 작성하기 위해 상세한 지도 데이터를 이용하는 것이 제한되거나 그 지역 내의 주소의 실제 위도 및 경도를 이용하는 것이 제한될 수 있는 국가에서, 상세한 지도 데이터를 포함하는 지도를 작성하는 것이 가능하게 된다. In another embodiment, the map may provide detailed map data based on yellow page data. This suggests that in countries where export restirctions may limit the use of detailed map data to create maps or the use of actual latitude and longitude of addresses within the area, it may be possible to create maps containing detailed map data. It is possible to write.
본 발명의 실시예는 예시와 설명을 위한 것이며, 개시된 그 형태로만 본 발명을 제한하고자 하는 것은 아니다. 변경 및 변형이 상기 설명과 본 발명의 실시로부터 가능하다. 예를 들어, 도 10A 내지 도 10D와 관련하여 설명한 일련의 동작과 관련하여 이러한 동작의 순서는 본 발명에 따른 실시예에서 변경될 수 있다. 또한, 독립적인 동작이 병렬로 행해질 수도 있다. 일실시예에서, 서버(220)는, 도 10A 내지 도 10D의 처리 과정에 관련된 동작의 전부는 아니라 하더라도, 대부분을 수행할 수 있다. 다른 실시예에서, 이러한 동작의 하나 이상 또는 모두가 다른 엔티티, 예컨대 다른 서버(230 및/또는 240)나 클라이언트(210)에 의해 수행될 수 있 다. The embodiments of the present invention are for illustration and description, and are not intended to limit the invention only to the forms disclosed. Modifications and variations are possible in light of the above teachings and practice of the invention. For example, with respect to the series of operations described in connection with FIGS. 10A-10D, the order of these operations may be varied in embodiments in accordance with the present invention. Independent operations may also be performed in parallel. In one embodiment,
다른 실시예에서는, 지도 제공자에 의해 제공되지 않는 주소를 지오코딩하기 위해 다른 방법이 사용될 수 있다. 다른 대안으로서, 지오코더(430)는 지오코딩 처리할 주소에 대한 가장 인접한 지점을 찾기 위한 시도를 행할 수 있다. 예를 들어, 지점 "1 ABC Street"(1 ABC 거리)와 "10 ABC Street"(10 ABC 거리)가 지도 제공자에 의해 식별된다고 가정한다. 주소 "3 ABC Street"를 지오코딩하고자 하는 경우, 지오코더(430)는, "3 ABC Street"(3 ABC 거리)에 가장 인접한 지점인 "1 ABC Street"의 위치를 제공할 수 있다. 다른 예에서, 지오코더(430)는, 지점을 보간 처리(interpolate)하기 위한 시도를 행할 수 있다. 예를 들어, "1 ABC Street"가 그리드 인덱스 (0, 0)에 있고 "10 ABC Street"가 그리드 인덱스 (10, 20)에 있으면, 지오코더(430)는 보간 처리에 기초하여, "3 ABC Street"의 주소가 그리드 인덱스 (3, 6)에 있다고 판정할 수 있다. In other embodiments, other methods may be used to geocode addresses that are not provided by the map provider. As another alternative,
또 다른 실시예에서, 지도를 그리기 위해 POI ID를 획득하기 위한 다른 방법이 사용될 수 있다. 다른 대안으로서, POI ID는 지도 제공자로부터의 위치 데이터로 저장될 수 있다. POI ID는 동작 동안 프런트 엔드 서버(440)에 의해 반환될 수 있다. POI ID는 지도 제공자 데이터의 다른 버전으로 변경될 수 있다. 인덱스에 POI ID를 저장하면 인덱스가 지도 제공자로부터의 데이터에 의존하게 된다. 또 다른 방법으로서, 검색 결과의 주소는 동작 동안 지오코딩될 수 있으며, 지오코더(430)는 가장 근접한 매칭 지점을 제공하도록 요청받을 수 있다. 지오코더(430)는 그 지점의 POI ID를 반환할 수 있다. 가장 근접한 매칭 지점에 대한 요청은 지 오코딩 요청의 배치(batches)(예컨대, 10개로 된 배치)로서 제공될 수 있기 때문에, 성능에 미치는 영향이 작게 될 수 있다. In another embodiment, other methods for obtaining a POI ID may be used to draw the map. As another alternative, the POI ID may be stored as location data from a map provider. The POI ID may be returned by the
또 다른 예에서, 중국어 지역 검색과 관련하여 시스템 및 방법을 설명하고 있지만, 다른 실시예에서는, 본 명세서에 개시된 몇몇 기술은 다른 국가에서의 지역 검색에도 균등하게 적용될 수 있다. In another example, while describing a system and method in connection with a Chinese local search, in other embodiments, some of the techniques disclosed herein may be equally applied to local searches in other countries.
당업자라면, 본 발명의 특징이, 앞서 설명한 바와 같이, 도면에 도시된 구현 예에서 소프트웨어, 펌웨어, 및 하드웨어의 많은 상이한 형태로 구현될 수 있다는 것을 알 수 있을 것이다. 본 발명의 특징을 구현하기 위해 사용되는 실제의 소프트웨어 코드 또는 전용의 제어 하드웨어는 본 발명을 제한하지 않는다. 따라서, 본 발명의 특징에 대한 동작 및 작용은 전용의 소프트웨어 코드를 기준으로 하지 않고 개시하였다. 즉, 당업자라면, 본 명세서의 설명에 기초한 특징을 구현하기 위해 소프트웨어 및 하드웨어를 설계할 수 있다는 것을 이해할 수 있을 것이다. Those skilled in the art will appreciate that features of the present invention may be implemented in many different forms of software, firmware, and hardware in the implementation illustrated in the figures, as described above. The actual software code or dedicated control hardware used to implement the features of the present invention does not limit the present invention. Thus, operations and actions of the features of the invention have been disclosed without reference to dedicated software code. That is, those skilled in the art will appreciate that software and hardware may be designed to implement features based on the description herein.
본 출원에 사용되는 어떠한 구성 요소, 동작 또는 명령이라도, 명시적으로 개시하고 있지 않으면, 본 발명에 필수적인 것으로 해석되어서는 안 된다. 본 명세서에 단수의 개념으로 사용되는 것은 하나 또는 그 이상을 의미하는 것으로 해석될 수 있다. 단지 하나인 경우라면, "하나"또는 그와 유사한 표현을 사용한다. "기초하는"이라고 하는 표현은, 달리 언급하고 있지 않는 한, "적어도 부분적으로 기초하는"을 의미하는 것으로 해석되어야 한다. Any component, operation or instruction used in the present application should not be construed as essential to the invention unless expressly disclosed. As used herein in the singular, the phrase “a” or “an” may be interpreted to mean one or more. If only one, use the expression "one" or similar. The expression "based on" should be interpreted to mean "at least partially based" unless stated otherwise.
Claims (46)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US71214605P | 2005-08-30 | 2005-08-30 | |
US60/712,146 | 2005-08-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080040044A KR20080040044A (en) | 2008-05-07 |
KR100985450B1 true KR100985450B1 (en) | 2010-10-07 |
Family
ID=37809410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020087007591A KR100985450B1 (en) | 2005-08-30 | 2006-08-30 | Local search |
Country Status (7)
Country | Link |
---|---|
EP (1) | EP1934829A4 (en) |
JP (1) | JP2009506459A (en) |
KR (1) | KR100985450B1 (en) |
CN (1) | CN101313300B (en) |
BR (1) | BRPI0615323A2 (en) |
CA (1) | CA2620770A1 (en) |
WO (1) | WO2007027608A2 (en) |
Families Citing this family (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8060555B2 (en) | 2005-08-17 | 2011-11-15 | Canada Post Corporation | Electronic content management systems and methods |
US7917490B2 (en) * | 2007-07-09 | 2011-03-29 | Google Inc. | Interpreting local search queries |
KR100997873B1 (en) * | 2008-03-31 | 2010-12-02 | 팅크웨어(주) | Map advertising method and system using virtual POI |
CN102027468B (en) * | 2008-05-16 | 2014-04-23 | 上海惠普有限公司 | Provisioning a geographical image for retrieval |
US8682646B2 (en) | 2008-06-04 | 2014-03-25 | Microsoft Corporation | Semantic relationship-based location description parsing |
US8306973B2 (en) * | 2009-04-06 | 2012-11-06 | Google Inc. | Method for generating location targeted, keyword-triggered, ads and generating user recallable layer-based ads |
KR100925278B1 (en) * | 2009-04-29 | 2009-11-05 | (주)지오투정보기술 | Geocoding System Using Digital Map and Its Method |
KR101289082B1 (en) * | 2009-09-02 | 2013-07-22 | 한국전자통신연구원 | System and method for providing area information service |
US20110131500A1 (en) * | 2009-11-30 | 2011-06-02 | Google Inc. | System and method of providing enhanced listings |
US8260775B2 (en) | 2010-01-12 | 2012-09-04 | Microsoft Corporation | Geotemporal search |
CN102479229A (en) * | 2010-11-29 | 2012-05-30 | 北京四维图新科技股份有限公司 | Point of interest data generation method and system |
CN102004793B (en) * | 2010-12-08 | 2013-09-04 | 厦门雅迅网络股份有限公司 | POI (Point Of Interest) position inquiry index file based on grid space and information inquiry method |
US9047103B2 (en) | 2010-12-21 | 2015-06-02 | Microsoft Technology Licensing, Llc | Resource index identifying multiple resource instances and selecting most appropriate UI resource instance based on weighted resource request conditions |
US8495570B2 (en) | 2010-12-23 | 2013-07-23 | Microsoft Corporation | Resource deployment based on conditions |
US9495371B2 (en) * | 2010-12-28 | 2016-11-15 | Microsoft Technology Licensing, Llc | Unified access to resources |
CN102622349B (en) * | 2011-01-26 | 2014-10-22 | 北京四维图新科技股份有限公司 | Processing method and processing device of spatial position information database |
US20140236689A1 (en) * | 2011-02-11 | 2014-08-21 | Thinkware Systems Corporation | Method and system for advertisement of map using virtual poi (point of interest) |
CN102222084B (en) * | 2011-05-13 | 2014-02-19 | 北京百度网讯科技有限公司 | Method and device for displaying retrieval result on map |
US8983953B2 (en) | 2011-10-18 | 2015-03-17 | Nokia Corporation | Methods and apparatuses for facilitating interaction with a geohash-indexed data set |
KR101303869B1 (en) * | 2011-10-20 | 2013-09-04 | 경북대학교 산학협력단 | System and method for example-based place search |
CN103150309B (en) * | 2011-12-07 | 2016-03-30 | 清华大学 | A kind of direction in space perception map interest point search method and system |
US8958817B1 (en) | 2012-01-19 | 2015-02-17 | Google Inc. | Weighted-distance spatial indexing |
JP5544401B2 (en) * | 2012-08-15 | 2014-07-09 | 株式会社ゼンリンデータコム | Document data evaluation method, document data evaluation device, document data selection method, document data selection device, database generation method, database generation device, and computer program |
CN103049481B (en) * | 2012-11-29 | 2016-03-02 | 百度在线网络技术(北京)有限公司 | A kind of searching method and search equipment |
KR101499842B1 (en) * | 2013-12-06 | 2015-03-10 | 아주대학교산학협력단 | Method and Apparatus for searching for data object |
US9465811B2 (en) * | 2014-03-20 | 2016-10-11 | Facebook, Inc. | Polygon-based indexing of places |
US20160092518A1 (en) * | 2014-09-25 | 2016-03-31 | Microsoft Corporation | Dynamic results |
CN104899243B (en) * | 2015-03-31 | 2016-09-07 | 北京安云世纪科技有限公司 | The method and device of detection point of interest POI data accuracy |
CN104699838B (en) * | 2015-04-01 | 2018-08-17 | 姚林 | A kind of Webpage search method for pushing, and more site searches combined method |
US9787557B2 (en) * | 2015-04-28 | 2017-10-10 | Google Inc. | Determining semantic place names from location reports |
CN105005577A (en) * | 2015-05-08 | 2015-10-28 | 裴克铭管理咨询(上海)有限公司 | Address matching method |
CN105120072A (en) * | 2015-07-17 | 2015-12-02 | 广东欧珀移动通信有限公司 | Method and device for screening yellow page telephone numbers |
CN106855868A (en) * | 2015-12-09 | 2017-06-16 | 北京奇虎科技有限公司 | The display methods and device of map search result |
CN106897302B (en) * | 2015-12-18 | 2020-03-31 | 北京四维图新科技股份有限公司 | Method and device for updating point of interest |
CN105808715B (en) * | 2016-03-07 | 2017-02-22 | 武汉大学 | Method for establishing map per location |
CN107292302B (en) * | 2016-03-31 | 2021-05-14 | 阿里巴巴(中国)有限公司 | Method and system for detecting interest points in picture |
CN106304109B (en) * | 2016-07-28 | 2019-09-17 | 中国科学院软件研究所 | A kind of generation method of the shortwave broadcasting resource scheduling scheme based on local search |
CN106534246A (en) * | 2016-08-31 | 2017-03-22 | 成都数联铭品科技有限公司 | Peripheral enterprise search system based on location service |
CN106341471A (en) * | 2016-08-31 | 2017-01-18 | 成都数联铭品科技有限公司 | Peripheral target geographic information acquiring and searching method for position service |
KR102681751B1 (en) * | 2016-12-26 | 2024-07-05 | 현대오토에버 주식회사 | Apparatus and method for road event information registration |
JP6834774B2 (en) * | 2017-05-22 | 2021-02-24 | トヨタ自動車株式会社 | Information extraction device |
KR101896543B1 (en) * | 2017-11-13 | 2018-09-07 | (주) 알트소프트 | Local box advertisement service system which be able to share banner advertisement between local box business |
CN108427710B (en) * | 2018-01-26 | 2020-05-08 | 金蝶软件(中国)有限公司 | Enterprise data visualization processing method, server and storage medium |
CN110399566B (en) * | 2018-04-20 | 2024-06-07 | 北京搜狗科技发展有限公司 | Position searching method and device and electronic equipment |
CN110580270B (en) * | 2018-06-07 | 2024-07-19 | 北京京东尚科信息技术有限公司 | Address output method and system, computer system and computer readable storage medium |
US10877947B2 (en) | 2018-12-11 | 2020-12-29 | SafeGraph, Inc. | Deduplication of metadata for places |
CN110619087B (en) * | 2019-05-23 | 2022-04-15 | 北京无限光场科技有限公司 | Method and apparatus for processing information |
CN110619088B (en) * | 2019-05-23 | 2022-04-19 | 北京无限光场科技有限公司 | Method and apparatus for processing information |
CN110619086B (en) * | 2019-05-23 | 2022-02-25 | 北京无限光场科技有限公司 | Method and apparatus for processing information |
FR3097064B1 (en) * | 2019-06-06 | 2022-11-04 | Deepreach | METHOD FOR GENERATION OF A COMPOSITE VISIBILITY INDICATOR OF AN ENTITY, SYSTEM |
US11762914B2 (en) | 2020-10-06 | 2023-09-19 | SafeGraph, Inc. | Systems and methods for matching multi-part place identifiers |
US11899696B2 (en) | 2020-10-06 | 2024-02-13 | SafeGraph, Inc. | Systems and methods for generating multi-part place identifiers |
WO2022076081A1 (en) * | 2020-10-06 | 2022-04-14 | SafeGraph, Inc. | Systems and methods for generating multi-part place identifiers |
CN113568951A (en) * | 2021-07-30 | 2021-10-29 | 拉扎斯网络科技(上海)有限公司 | Data mining and processing method and device, storage medium and electronic equipment |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5938721A (en) | 1996-10-24 | 1999-08-17 | Trimble Navigation Limited | Position based personal digital assistant |
US6701307B2 (en) * | 1998-10-28 | 2004-03-02 | Microsoft Corporation | Method and apparatus of expanding web searching capabilities |
US6934634B1 (en) * | 2003-09-22 | 2005-08-23 | Google Inc. | Address geocoding |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1269357A4 (en) * | 2000-02-22 | 2005-10-12 | Metacarta Inc | Spatially coding and displaying information |
JP2002063196A (en) * | 2000-03-06 | 2002-02-28 | Katsuyoshi Nagashima | Device for automatically retrieving internet information, and method for the same |
JP2002082982A (en) * | 2000-09-06 | 2002-03-22 | Nippon Telegr & Teleph Corp <Ntt> | Device and method for providing information and recording medium with information providing program recorded thereon |
JP2005078206A (en) * | 2003-08-28 | 2005-03-24 | Canon Inc | On-line print sales system and on-line print sales method |
JP2005149073A (en) * | 2003-11-14 | 2005-06-09 | Matsushita Electric Ind Co Ltd | Data retrieval device |
JP2007520788A (en) * | 2003-11-25 | 2007-07-26 | グーグル・インク | Assigning geographic location identifiers to web pages |
-
2006
- 2006-08-30 KR KR1020087007591A patent/KR100985450B1/en not_active IP Right Cessation
- 2006-08-30 EP EP06802480A patent/EP1934829A4/en not_active Withdrawn
- 2006-08-30 BR BRPI0615323-2A patent/BRPI0615323A2/en not_active IP Right Cessation
- 2006-08-30 JP JP2008529167A patent/JP2009506459A/en active Pending
- 2006-08-30 CN CN200680040129.9A patent/CN101313300B/en not_active Expired - Fee Related
- 2006-08-30 WO PCT/US2006/033537 patent/WO2007027608A2/en active Application Filing
- 2006-08-30 CA CA002620770A patent/CA2620770A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5938721A (en) | 1996-10-24 | 1999-08-17 | Trimble Navigation Limited | Position based personal digital assistant |
US6701307B2 (en) * | 1998-10-28 | 2004-03-02 | Microsoft Corporation | Method and apparatus of expanding web searching capabilities |
US6934634B1 (en) * | 2003-09-22 | 2005-08-23 | Google Inc. | Address geocoding |
Also Published As
Publication number | Publication date |
---|---|
CN101313300B (en) | 2014-11-12 |
CA2620770A1 (en) | 2007-03-08 |
CN101313300A (en) | 2008-11-26 |
KR20080040044A (en) | 2008-05-07 |
EP1934829A2 (en) | 2008-06-25 |
BRPI0615323A2 (en) | 2011-05-17 |
WO2007027608A3 (en) | 2007-08-30 |
EP1934829A4 (en) | 2012-04-18 |
JP2009506459A (en) | 2009-02-12 |
WO2007027608A2 (en) | 2007-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100985450B1 (en) | Local search | |
US6934634B1 (en) | Address geocoding | |
US7483881B2 (en) | Determining unambiguous geographic references | |
US8346770B2 (en) | Systems and methods for clustering search results | |
US8046371B2 (en) | Scoring local search results based on location prominence | |
JP4633803B2 (en) | Ambiguous geographic reference classification | |
Vaid et al. | Spatio-textual indexing for geographical search on the web | |
JP2005182817A (en) | Query recognizer | |
US20060149800A1 (en) | Authoritative document identification | |
JP2011238248A (en) | Indexing documents according to geographical relevance | |
CN101454748A (en) | Propagating useful information among related web pages, such as web pages of a website | |
JP2007520788A (en) | Assigning geographic location identifiers to web pages | |
US20110264683A1 (en) | System and method for managing information map | |
CN109871536B (en) | Place name recognition method and device | |
Christen et al. | A probabilistic geocoding system utilising a parcel based address file | |
JP3266068B2 (en) | Map data linkage system and storage medium having program for performing map data linkage | |
Watters et al. | GeoSearcher: Geospatial ranking of search engine results | |
Jameel et al. | Compounded uniqueness level: Geo-location indexing using address parser | |
Wu et al. | Extending a geocoding database by Web information extraction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
AMND | Amendment | ||
PA0105 | International application |
Patent event date: 20080328 Patent event code: PA01051R01D Comment text: International Patent Application |
|
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20080328 Comment text: Request for Examination of Application |
|
PG1501 | Laying open of application | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20090427 Patent event code: PE09021S01D |
|
AMND | Amendment | ||
E601 | Decision to refuse application | ||
PE0601 | Decision on rejection of patent |
Patent event date: 20100217 Comment text: Decision to Refuse Application Patent event code: PE06012S01D Patent event date: 20090427 Comment text: Notification of reason for refusal Patent event code: PE06011S01I |
|
AMND | Amendment | ||
J201 | Request for trial against refusal decision | ||
PJ0201 | Trial against decision of rejection |
Patent event date: 20100520 Comment text: Request for Trial against Decision on Refusal Patent event code: PJ02012R01D Patent event date: 20100217 Comment text: Decision to Refuse Application Patent event code: PJ02011S01I Appeal kind category: Appeal against decision to decline refusal Decision date: 20100702 Appeal identifier: 2010101003691 Request date: 20100520 |
|
PB0901 | Examination by re-examination before a trial |
Comment text: Amendment to Specification, etc. Patent event date: 20100520 Patent event code: PB09011R02I Comment text: Request for Trial against Decision on Refusal Patent event date: 20100520 Patent event code: PB09011R01I Comment text: Amendment to Specification, etc. Patent event date: 20091023 Patent event code: PB09011R02I Comment text: Amendment to Specification, etc. Patent event date: 20080328 Patent event code: PB09011R02I |
|
B701 | Decision to grant | ||
PB0701 | Decision of registration after re-examination before a trial |
Patent event date: 20100702 Comment text: Decision to Grant Registration Patent event code: PB07012S01D Patent event date: 20100623 Comment text: Transfer of Trial File for Re-examination before a Trial Patent event code: PB07011S01I |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20100929 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20100929 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
FPAY | Annual fee payment |
Payment date: 20130911 Year of fee payment: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20130911 Start annual number: 4 End annual number: 4 |
|
FPAY | Annual fee payment |
Payment date: 20140912 Year of fee payment: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20140912 Start annual number: 5 End annual number: 5 |
|
LAPS | Lapse due to unpaid annual fee | ||
PC1903 | Unpaid annual fee |
Termination category: Default of registration fee Termination date: 20160809 |