BRPI0615323A2 - local search, geocoding and indexing methods and local search systems - Google Patents

local search, geocoding and indexing methods and local search systems Download PDF

Info

Publication number
BRPI0615323A2
BRPI0615323A2 BRPI0615323-2A BRPI0615323A BRPI0615323A2 BR PI0615323 A2 BRPI0615323 A2 BR PI0615323A2 BR PI0615323 A BRPI0615323 A BR PI0615323A BR PI0615323 A2 BRPI0615323 A2 BR PI0615323A2
Authority
BR
Brazil
Prior art keywords
local search
address
data
information
map
Prior art date
Application number
BRPI0615323-2A
Other languages
Portuguese (pt)
Inventor
Kun Shing Luk
Huican Zhu
Hongjun Zhu
Original Assignee
Google Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google Inc filed Critical Google Inc
Publication of BRPI0615323A2 publication Critical patent/BRPI0615323A2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries

Abstract

Métodos de Buscas Locais, de Geocodificação e de Indexação e Sistemas de Buscas Locais Resumo Um sistema recebe dados das páginas amarelas, dados de provedor de mapas e dados de documento em resposta a uma questão de busca local e geocodifica os dados de modo a atribuir um identificador geográfico e combinar pelo menos um endereço associado com a questão de busca local, O sistema também indexa os dados geocodificados para determinar informações de negócios e informações de localização associadas com a questão da busca local, O sistema ainda proporciona os resultados da busca local e um mapa com base nos dados indexados.Local Search, Geocoding and Indexing Methods and Local Search Systems Summary A system receives yellow page data, map provider data and document data in response to a local search question and geocodes the data to assign a geographic identifier and combine at least one address associated with the local search question, The system also indexes the geocoded data to determine business information and location information associated with the local search question, The system even provides local search results and a map based on the indexed data.

Description

"Métodos de Buscas Locais, de Geocodificaçãoe de Indexação e Sistemas de Buscas Locais""Local Search Methods, Geocoding and Indexing, and Local Search Systems"

Relatório DescritivoDescriptive Report

AntecedentesBackground

As modalidades aqui descritas relacionam-se em geral coma recuperação de informação e, mais particularmente, com a identifica-ção de resultados de busca local.The embodiments described herein generally relate to information retrieval and more particularly to the identification of local search results.

A World Wide Web ("Web") contém uma vasta quantidadede informações. Localizar uma parte pretendida das informações pode,porém, ser desafiador. Este problema pode ser complexo, porque aquantidade de informações sobre a Web e o número de novos usuáriossem experiência em buscas na Web são rapidamente crescentes.The World Wide Web ("Web") contains a vast amount of information. Locating a desired piece of information, however, can be challenging. This problem can be complex because the amount of Web information and the number of new users without Web search experience is rapidly increasing.

Os sistemas de busca tentam retornar hiperlinks parapáginas da Web em que o usuário está interessado. Geralmente, ossistemas de busca baseiam a sua determinação do interesse do usuárioem termos de busca (chamados de questão de busca) introduzidos pelousuário. A meta do sistema de busca pode ser prover links para resul-tados relevantes, de alta qualidade (por exemplo, páginas da Web) parao usuário com base na questão de busca. Tipicamente, o sistema debuscas realiza isto por comparação dos termos na questão de buscacom ujn corpo de páginas da Web pré-armazenadas. As páginas daWeb que contêm os termos de busca do usuário podem ser chamadasde "acertos" ou "resultados de busca" e podem ser retornadas aousuário como links.Search engines try to return hyperlinks to webpages the user is interested in. Generally, search systems base their determination of user interest on search terms (called search queries) entered by the user. The goal of the search engine may be to provide links to relevant, high quality results (eg web pages) to the user based on the search issue. Typically, the search engine performs this by comparing terms in the search query with a body of pre-stored web pages. Web pages that contain user search terms may be called "hit" or "search results" and may be returned to the user as links.

Os sistemas de buscas locais tentam retornar páginasrelevantes da Web e/ou listagens de negócios dentro de uma áreageográfica específica. Em alguns países, as informações detalhadas deendereços não estão disponíveis para alguns negócios. Como resultado^pode ser difícil realizar buscas locais.Local search engines attempt to return relevant web pages and / or business listings within a specific geographic area. In some countries, detailed address information is not available for some businesses. As a result, it may be difficult to perform local searches.

SumárioDe acordo com um aspecto, um método pode incluir rece-ber dados das páginas amarelas, dados dos provedores de mapas deterceiros e dados de documentos em resposta a uma questão de buscalocal e geocodificar pelo menos um dos dados das páginas amarelas, osdados dos provedores de mapas de terceiros e os dados de documentospara atribuir um identificador geográfico e combinar pelo menos umendereço dentro da questão de busca local. O método pode tambémincluir a indexação dos dados geocodificados para identificar informa-ções de negócios e informações de localização que correspondem àquestão de busca local e fornecer os resultados da busca local e ummapa de terceiros com base nas informações de negócios e informaçõesde localização identificadas.Summary According to one aspect, a method may include receiving yellow page data, third map provider data, and document data in response to a local search question and geocoding at least one of the yellow page data, the data from the data provider. third-party maps and document data to assign a geographic identifier and match at least one address within the local search query. The method may also include indexing geocoded data to identify business information and location information that corresponds to the local search issue and provide local search results and a third-party map based on identified business information and location information.

De acordo com outro aspecto, um método de geocodificaçãocom base numa questão de busca local pode incluir receber dados dosprovedores de mapas de terceiros e dados das páginas amarelas, gerarum endereço com base na questão de busca local, analisar o endereço,localizar prefixos de coincidência mais longos no endereço, para identi-ficar pelò menos uma parte do endereço, e localizar uma combinação noendereço para verificar o endereço.In another aspect, a geocoding method based on a local search query may include receiving data from third-party map providers and yellow page data, generating an address based on the local search query, parsing the address, locating matching prefixes, and more. long at the address to identify at least part of the address, and find a match at the address to verify the address.

De acordo ainda com outro aspecto, um método de indexa-ção com base numa questão de busca local pode incluir pré-processardados das páginas amarelas para um formato predeterminado, extrairinformações de negócios a partir dos dados de documentos, armazenaras informações de negócios num repositório e indexar informações deendereços a partir de dados dos provedores de mapas de terceiros. Ométodo pode também incluir agrupar os dados das páginas amarelas eos dados dos provedores de mapas de terceiros e destacar fragmentosnos dados de documentos. Para uma localização pontual, o métodopode incluir ajustar uma distância de busca para a questão de buscalocal a uma distância predeterminada. Para uma localização limitada, ométodo pode ainda incluir ajustar a distância de busca a aproximada-mente uma distância máxima de um centróide da localização limitada acantos da localização limitada.In yet another aspect, an indexing method based on a local search issue may include pre-processed yellow pages to a predetermined format, extracting business information from document data, storing business information in a repository, and index address information from data from third-party map providers. The method may also include grouping yellow page data and third-party map provider data and highlighting fragments in document data. For a point location, the method may include adjusting a search distance for the local search question to a predetermined distance. For a limited location, the method may further include adjusting the search distance to approximately a maximum distance of a centroid from the limited location to the limited location.

De acordo com um aspecto adicional, um método podeincluir gerar uma lista de sinônimos relacionados com uma questão debusca local, reescrever a questão de busca local para expandir a ques-tão, gerar os resultados da busca local com base na questão expandida,obter um mapa a partir de um provedor de mapas de terceiros com basenos resultados da busca local e gerar anúncios com base em informa-ções geográficas relacionadas com os resultados da busca local.As an additional aspect, a method may include generating a list of synonyms related to a local quest question, rewriting the local search question to expand the issue, generating local search results based on the expanded question, obtaining a map from a third-party map provider based on local search results and generate ads based on geographic information related to local search results.

De acordo com outro aspecto, um sistema pode incluir umindexador para receber dados dos provedores de mapas de terceiros,dados das páginas amarelas e dados de documentos, pré-processar osdados das páginas amarelas para determinar informações de negócios,extrair informações de negócios a partir dos dados de documentos,identificar as informações de localização numa questão de busca local eindexar dados de endereço dos dados, dos provedores de mapas deterceiros. O sistema pode também incluir um geocodificador parareceber informações a partir do indexador e atribuir identificadoresgeográficos e um servidor de front end para receber informações a partirdo geocodificador, reescrever a questão de busca local, obter um mapados dados dos provedores de mapas de terceiros e gerar os resultadosda busca local com base na questão de busca local.In another aspect, a system may include an indexer for receiving data from third-party map providers, yellow page data and document data, preprocessing yellow page data to determine business information, extracting business information from document data, identify location information in a local search issue, and index data address data from third-party map providers. The system may also include a geocoder to receive information from the indexer and assign geographic identifiers and a front end server to receive information from the geocoder, rewrite the local search query, get mapped data from third party map providers and generate the results from Local search based on local search issue.

De acordo ainda com outro aspecto, um sistema podeincluir meios para receber dados das páginas amarelas, dados deprovedores de mapas de terceiros e dados de documentos em resposta auma questão de busca local e meios para geocodificar pelo menos umdos dados das páginas amarelas, os dados dos provedores de mapas deterceiros e os dados de documentos para atribuir um identificadorgeográfico e comparar pelo menos um endereço dentro da questão debusca local. O sistema pode também incluir meios para indexar osdados geocodificados para identificar informações de negócios e infor-mações de localização correspondendo à questão de busca local e meiospara fornecer os resultados da busca local e ura mapa de terceiros combase nas informações de negócios e informações de localização identifi-cadas.In yet another aspect, a system may include means for receiving yellow page data, third-party map depleting data and document data in response to a local search query and means for geocoding at least one of the yellow page data, third-party map providers and document data to assign a geographic identifier and compare at least one address within the local search query. The system may also include means for indexing geocoded data to identify business information and location information corresponding to the local search issue and means for providing local search results and a third-party map based on business information and identifiable location information. -Each.

De acordo com um aspecto adicional, um sistema podeincluir uma memória para armazenar um grupo de instruções e umprocessador para executar instruções na memória. O processador podeidentificar uma posição associada com uma questão de busca local,identificar os resultados da busca local relevantes para a questão debusca local e associados com a posição identificada, identificar umidentificador para cada um de um grupo de resultados da busca local ereceber a partir de um provedor de mapas de terceiros um mapa asso-ciado com a posição identificada, em que o mapa identifica uma posiçãode pelo menos um resultado de busca local no grupo de resultados dabusca local.In an additional aspect, a system may include a memory for storing an instruction group and a processor for executing instructions in memory. The processor can identify a position associated with a local search question, identify local search results relevant to the local search query and associated with the identified position, identify an identifier for each of a local search result group, and retrieve from a third-party map provider is a map associated with the identified position, where the map identifies a position of at least one local search result in the local search result group.

De acordo ainda com...um aspecto adicional, um métodopode incluir receber uma questão de busca local, identificar umalocalização associada com a questão de busca local, identificar umconjunto de resultados de busca relevantes para a questão de buscalocal e associados com a localização identificada e identificar umidentificador para cada um de um grupo de resultados de busca. Ométodo pode também incluir fornecer o identificador para cada um dosgrupos; de resultados de busca para um provedor de mapas de terceirose receber do provedor de mapas de terceiros um mapa associado com aposição identificada, em que o mapa identifica uma posição de pelomenos um resultado de busca no grupo de resultados de busca.According to ... an additional aspect, a method may include receiving a local search query, identifying a location associated with the local search query, identifying a set of search results relevant to the local search query and associated with the identified location and identify an identifier for each of a search result group. The method may also include providing the identifier for each of the groups; search results to a third-party map provider and receive from the third-party map provider a map associated with an identified affix, where the map identifies a position of at least one search result in the search result group.

De acordo com outro aspecto, um método pode incluir geraruma lista de fichas, identificar um endereço potencial dentro de umdocumento da Web e analisar o endereço potencial a partir de um iníciopara determinar se o endereço potencial inclui uma ficha associada comuma cidade. O método pode também incluir analisar melhor o endereçopotencial para determinar se o endereço potencial inclui uma fichaassociada com um distrito, identificar uma ficha de comparação maislonga no endereço potencial depois da ficha associada com a cidade oua ficha associada com o distrito e determinar se o endereço potencial éum endereço real com base na ficha associada com a cidade, a fichaassociada com o distrito e a ficha de comparação mais longa identifica-da.In another aspect, a method may include generating a token list, identifying a potential address within a web document, and analyzing the potential address from an early stage to determine if the potential address includes a token associated with a city. The method may also include further analyzing the potential address to determine if the potential address includes a form associated with a district, identifying a longer comparison form at the potential address after the form associated with the city or the form associated with the district, and determining whether the potential address This is a real address based on the form associated with the city, the form associated with the district, and the longest identified form.

Breve Descrição dos DesenhosBrief Description of the Drawings

Os desenhos anexos, que são incorporados e constituemuma parte deste Relatório Descritivo, ilustram uma ou mais modalida-des da invenção e, junto com a descrição, explicam aspectos da inven-ção. Nos desenhos:The accompanying drawings, which are incorporated and form part of this Report, illustrate one or more embodiments of the invention and, together with the description, explain aspects of the invention. In the drawings:

a Figura 1 é um diagrama de uma vista global deuma implementação exemplificativa aqui descrita;Figure 1 is a diagrammatic overview of an exemplary implementation described herein;

a Figura 2 é um diagrama de uma rede exemplificati-va em que podem ser implementados os sistemas e métodos aquidescritos;Figure 2 is a diagram of an exemplary network in which the described systems and methods may be implemented;

a Figura 3 é um diagrama exemplificativo de umcliente ou servidor dentro da rede exemplificativa da Figura 2;Figure 3 is an exemplary diagram of a client or server within the exemplary network of Figure 2;

a Figura 4 é um diagrama de blocos funcional de umsistema exemplificativo para identificar os resultados da busca local eprover um mapa associado com localizações identificadas;Figure 4 is a functional block diagram of an exemplary system for identifying local search results and providing a map associated with identified locations;

a Figura 5 é um diagrama exemplificativo de umrepositório de índices/documentos do sistema exemplificativo da Figura4;Figure 5 is an exemplary diagram of an index / document repository of the exemplary system of Figure 4;

a Figura 6 é um diagrama exemplificativo de umgeocodificador do sistema exemplificativo da Figura 4;Figure 6 is an exemplary diagram of an encoder of the exemplary system of Figure 4;

a Figura 7 é um diagrama exemplificativo de umindexador do sistema exemplificativo da Figura 4;Figure 7 is an exemplary diagram of an indexer of the exemplary system of Figure 4;

a Figura 8 é um diagrama exemplificativo de um"servidor de front end do sistema exemplificativo de Figura 4;a Figura 9 é um diagrama de resultados de buscalocal exemplificativos e um mapa gerado pelo sistema exemplificativo daFigura 4; eFigure 8 is an exemplary diagram of a front end server of the exemplary system of Figure 4; Figure 9 is a diagram of exemplary local search results and a map generated by the exemplary system of Figure 4;

as Figuras 10A-10D são fluxogramas de um processoexemplificativo para identificar os resultados da busca local e prover ummapa associado com localizações identificadas.Figures 10A-10D are flowcharts of an exemplary process for identifying local search results and providing a map associated with identified locations.

Descrição DetalhadaDetailed Description

A descrição detalhada seguinte da invenção refere-se aosdesenhos anexos. Os mesmos números de referência em desenhosdiferentes podem identificar os mesmos elementos ou semelhantes.Também a descrição detalhada seguinte não limita a invenção.The following detailed description of the invention relates to the accompanying drawings. The same reference numerals in different drawings may identify the same or similar elements. Also the following detailed description does not limit the invention.

Em alguns países, como a China, por exemplo, os dados demapas e dados das páginas amarelas podem não estar disponíveis apartir de um provedor único e devem ser obtidos a partir de váriosprovedores diferentes:' -Revido a.restrições de exportação, pode não serpossível obter dados de mapas detalhados para prover o mapa de umaárea ou conseguir a latitude e a longitude reais de endereços dentro daárea. Como resultado, pode ser usada a aproximação de endereçospara a geocodificação de endereços. Quando são enviados resultados apartir de uma busca local para o usuário, a página de resultados localpode incluir uma lista de resultados relevantes e um ponteiro para oservidor do provedor de mapas (terceiros). O provedor de mapas podeser responsável por gerar o mapa exibido para o usuário.In some countries, such as China, for example, map data and yellow page data may not be available from a single provider and must be obtained from several different providers: '- Due to export restrictions, it may not be possible. obtain detailed map data to provide the map of an area or achieve the actual latitude and longitude of addresses within the area. As a result, address approximation can be used for address geocoding. When results are sent from a local search to the user, the local results page may include a list of relevant results and a pointer to the map provider (third party) server. The map provider may be responsible for generating the map displayed to the user.

AvaliaçãoEvaluation

As implementações aqui descritas podem identificar osresultados da busca local e gerar um mapa associado com localizaçõesidentificadas. Por exemplo, numa modalidade, conforme mostrado naFigura 1, um sistema pode receber uma entrada de questão de buscalocal por um usuário e pode identificar uma posição associada com aquestão de busca local. O sistema pode identificar um conjunto deresultados da busca local (por exemplo, resultados de busca "A" até Ή")que podem estar relacionados com a questão de busca local e podemestar associados com a posição identificada. Os resultados da buscalocal podem incluir links para documentos que podem estar relaciona-dos com a questão de busca local. O sistema pode identificar umidentificador para um grupo de resultados da busca local e pode provero identificador para um provedor de mapas. O sistema pode receber ummapa associado com a localização identificada do provedor de mapas.O mapa pôde identificar uma posição de pelo menos um resultado debusca (por exemplo, resultado de busca "A", como mostrado na Figura1) no grupo de resultados da busca local.The implementations described herein may identify local search results and generate a map associated with identified locations. For example, in one embodiment, as shown in Figure 1, a system may receive a local search query entry by a user and may identify a position associated with the local search query. The system can identify a set of local search results (for example, "A" through até "search results) that may be related to the local search question and may be associated with the identified position. Local search results may include links to documents that may relate to the local search issue.The system may identify an identifier for a local search result group and may provide an identifier for a map provider.The system may receive a map associated with the identified location of the search provider. maps.The map could identify a position of at least one search result (for example, search result "A" as shown in Figure 1) in the local search result group.

Um "documento", como o termo é aqui usado, deve serinterpretado amplamente de modo a incluir qualquer produto detrabalho legível em máquina e armazenável em máquina. Um docu-mento pode incluir, por exemplo, um correio eletrônico, um arquivo,uma combinação de arquivos, um ou mais arquivos com links embuti-dos para outros arquivos, um grupo de notícias postando um blog, umanúncio de Web etc. No contexto da Internet, um documento comum éuma página da Web. As páginas da Web incluem freqüentementeinformações textuais e podem incluir informações embutidas (tais comometa-informações, imagens, hiperlinks etc.) e/ou instruções embutidas(tal como JavaScript etc.).A "document" as the term is used herein should be interpreted broadly to include any machine-readable and machine-storable product. A document may include, for example, an e-mail, a file, a file combination, one or more files with embedded links to other files, a newsgroup posting a blog, a Web ad, and so on. In the context of the Internet, a common document is a web page. Web pages often include textual information and may include embedded information (such as meta-information, images, hyperlinks, etc.) and / or embedded instructions (such as JavaScript, etc.).

Um aIinkt, como o termo é aqui usado, deve ser interpretadoamplamente de modo a incluir qualquer referência a /a partir de umdocumento a partir de/para outro documento ou outra parte do mesmodocumento.AIinkt, as the term is used herein, should be interpreted broadly to include any reference to / from a document from / to another document or another part of the same document.

Configuração de Rede ExemplificativaExemplary Network Configuration

A Figura 2 é um diagrama exemplificativo de uma rede 200em que podem ser implementados os sistemas e métodos aqui descri-tos. A rede 200 pode incluir clientes múltiplos 210 conectados a..,·· servidores .múltiplos 220-240 via uma rede 250. Dois clientes-210 etrês servidores 220-240 foram ilustrados como conectados à rede 250para simplicidade. Na prática, pode haver mais ou menos clientes eservidores. Também, em algumas instâncias, um cliente pode realizaruma ou mais funções de um servidor e/ou um servidor pode realizaruma ou mais funções de um cliente.Figure 2 is an exemplary diagram of a network 200 in which the systems and methods described herein may be implemented. Network 200 may include multiple clients 210 connected to .., · multiple servers 220-240 via a network 250. Two clients-210 and three servers 220-240 have been illustrated as connected to network 250 for simplicity. In practice, there may be more or less server clients. Also, in some instances, a client may perform one or more functions of a server and / or a server may perform one or more functions of a client.

Os clientes 210 podem incluir entidades clientes. Umaentidade pode ser definida como um dispositivo, tal como um computa-dor pessoal, um telefone sem fio, um assistente digital pessoal (PDA),um laptop ou outro tipo de dispositivo de computação ou comunicação,um thread ou processo que é executado num destes dispositivos e/ouum objeto executável por um destes dispositivos. Os servidores 220-240 podem incluir: entidades servidoras que reúnem, processam,buscam e/ou mantêm documentos.Clients 210 may include client entities. An entity can be defined as a device, such as a personal computer, cordless telephone, personal digital assistant (PDA), laptop, or other type of computing or communication device, thread or process that runs on one of these. devices and / or an object executable by one of these devices. 220-240 servers may include: server entities that gather, process, search, and / or maintain documents.

Numa implementação, o servidor 220 pode incluir umsistema de busca local 225 utilizável por clientes 210. O servidor 220pode abarcar um corpo de documentos, indexar os documentos earmazenar as informações associadas com os documentos num reposi-tório de documentos. Qualquer combinação de servidores 220-240pode implementar o sistema de busca local 225 para identificar osresultados da busca local e fornecer um mapa associado com localiza-ções identificadas.In one implementation, server 220 may include a local search system 225 usable by clients 210. Server 220 may span a body of documents, index documents, and store information associated with documents in a document repository. Any combination of servers 220-240 may implement local search system 225 to identify local search results and provide a map associated with identified locations.

Embora os servidores 220-240 sejam mostrados como'entidades separadas, pode ser possível que um ou mais de servidores220-240 realizem uma ou mais das funções de outro ou mais servidores220-240. Por exemplo, pode ser possível que dois ou mais de servidores220-240Although 220-240 servers are shown as separate entities, it may be possible for one or more of the 220-240 servers to perform one or more of the functions of another or more 220-240 servers. For example, it may be possible for two or more servers220-240

sejam implementados como um servidor único. Pode sertambém possível que um único dos servidores 220-240 seja implemen-tado como dois ou mais dispositivos separados (e possivelmente distri-buídos).implemented as a single server. It may also be possible for a single of the 220-240 servers to be deployed as two or more separate (and possibly distributed) devices.

A rede 250 pode incluir uma rede local (LAN), uma rederemota (WAN), uma rede . de , telefonesj t^^omo a -Rede Pública deTelefones Comutados (PSTN) ou uma rede celular, uma intranet, aInternet ou uma combinação de redes. Os clientes 210 e servidores220-240 podem conectar a rede 250 via conexões por fios, sem fiose/ou ópticas.Network 250 may include a local area network (LAN), a remote network (WAN), a network. , such as the Public Switched Telephone Network (PSTN) or a cellular network, an intranet, the Internet, or a combination of networks. 210 clients and 220-240 servers can connect to network 250 via wired, wireless, and / or optical connections.

Arquitetura ExemplificativaExemplary Architecture

Cliente/ServidorClient / Server

A Figura 3 é um diagrama exemplificativo de um cliente ouentidade de servidor (adiante chamada de "entidade cliente/servidor"),que pode corresponder a um ou mais clientes 210 e servidores 220-240.A entidade cliente/servidor pode incluir um barramento 310, umprocessador 320, uma memória principal 330, uma memória apenas deleitura (ROM) 340, um dispositivo de armazenamento 350, um disposi-tivo de entrada 360, um dispositivo de saída 370 e uma interface decomunicação 380. O barramento 310 pode incluir um caminho quepermite a comunicação entre os elementos da entidade cliente/servidor.Figure 3 is an exemplary diagram of a client or server entity (hereinafter referred to as "client / server entity"), which may correspond to one or more clients 210 and servers 220-240. The client / server entity may include a bus 310 , a processor 320, a main memory 330, a read-only memory (ROM) 340, a storage device 350, an input device 360, an output device 370, and a communication interface 380. Bus 310 may include a path which allows communication between client / server entity elements.

O processador 320 pode incluir um processador, ,ummicroprocessador ou lógica de processamento que pode interpretar eexecutar instruções. A memória principal 330 pode incluir uma memó-ria de acesso aleatório (RAM) ou outro tipo do dispositivo de memóriadinâmica que pode armazenar informações e instruções para execuçãopor processador 320. A ROM 340 pode incluir um dispositivo ROM ououtro tipo do dispositivo de armazenamento estático que pode armaze-nar informações e instruções estáticas para uso pelo processador 320.O dispositivo de armazenamento 350 pode incluir um meio de gravaçãomagnética e/ou óptica e o seu dríve correspondente.Processor 320 may include a processor, microprocessor, or processing logic that can interpret and execute instructions. Main memory 330 may include a random access memory (RAM) or other type of dynamic memory device that may store information and instructions for execution by processor 320. ROM 340 may include a ROM device or other type of static storage device that it may store static information and instructions for use by the processor 320. The storage device 350 may include a magnetic and / or optical recording medium and its corresponding chip.

O dispositivo de entrada 360 pode incluir um mecanismoque permite ao operador dar input a informações para a entidadecliente/servidor, tal como um teclado, um mouse, uma caneta, meca-nismos de reconhecimento de som e/ou biométricos etc. O dispositivode saída 370 pode incluir um mecanismo que dá a saída de informaçõespara o operador, incluindo- umã^ um alto-falanteetc. A interface de comunicação 380 pode incluir qualquer mecanismosemelhante a um transceptor que ative a entidade cliente/servidor acomunicar-se com outros dispositivos e/ou sistemas. Por exemplo, ainterface de comunicação 380 pode incluir mecanismos para comunicarcom outro dispositivo ou sistema via rede, tal como a rede 250.The input device 360 may include a mechanism that allows the operator to input information to the client / server such as a keyboard, mouse, pen, sound recognition and / or biometric mechanisms etc. The output device 370 may include a mechanism for outputting information to the operator including a speaker etc. Communication interface 380 may include any transceiver-like mechanisms that enable the client / server entity to communicate with other devices and / or systems. For example, communication interface 380 may include mechanisms for communicating with another device or system via the network, such as network 250.

A entidade cliente/servidor pode desempenhar certas ope-rações, como será descrito em detalhe abaixo. A entidade cliente/ser-vidor pode realizar estas operações em resposta ao processador 320executar instruções de software contidas num meio legível em compu-tador, tal como a memória 330. Um meio legível em computador podeser definido como um dispositivo de memória física ou lógica e/ou ondaportadora.The client / server entity may perform certain operations as will be described in detail below. The client / server entity may perform these operations in response to the processor 320 executing software instructions contained on a computer readable medium such as memory 330. A computer readable medium may be defined as a physical or logical memory device and / or carrier.

As instruções de software podem ser lidas para a memória330 a partir de outro meio legível em computador, tal como o dispositivode armazenamento de dados 350, ou a partir de outro dispositivo via ainterface de comunicação 380. As instruções de software contidas namemória 330 podem ocasionar que o processador 320 realize processosque serão descritos mais tarde. Alternativamente, podem ser usadoscircuitos físicos em lugar ou em combinação com instruções de softwarepara implementar processos aqui descritos. Deste modo, as implemen-tações aqui descritas não ficam limitadas a nenhuma combinaçãoespecífica de circuitos de hardware e software.Software instructions may be read to memory330 from another computer readable medium, such as data storage device 350, or from another device via communication interface 380. Software instructions contained in memory 330 may cause processor 320 performs processes which will be described later. Alternatively, physical circuits may be used in place or in combination with software instructions to implement processes described herein. Accordingly, the implementations described herein are not limited to any specific combination of hardware and software circuits.

Sistema Bxemplificativode Busca LocalLocal Search System

A Figura 4 é um diagrama de blocos funcional de umsistema exemplificativo (por exemplo, sistema de busca local 225) paraidentificar os resultados da busca local e fornecer um mapa associadocom localizações identificadas. De acordo com uma implementação,uma ou mais das funções de sistema 225, como descritas abaixo,podem ser realizadas por um servidor (por exemplo, o servidor 220),uma parte do servidor 220 ou ~uma combinação de servidores (porexemplo, servidores 220-240). De acordo com outra implementação,uma ou mais destas funções podem ser realizadas por uma entidadeseparada a partir do servidor 220, tal como o cliente (por exemplo, ocliente 210), um computador associado com o servidor 220 ou umdentre os servidores 230 ou 240.Figure 4 is a functional block diagram of an exemplary system (e.g., local search system 225) for identifying local search results and providing an associated map with identified locations. According to one implementation, one or more of system functions 225, as described below, may be performed by a server (e.g. server 220), a portion of server 220, or a combination of servers (for example, servers 220). -240). According to another implementation, one or more of these functions may be performed by a separate entity from server 220, such as the client (e.g., client 210), a computer associated with server 220, or one of servers 230 or 240.

Conforme mostrado na Figura 4, o sistema 225 pode incluirdados de provedores de mapas 400, dados das páginas amarelas 405,dados de documentos da Web 410, um repositório de índices/docu-mentos 415, informações de identificação (ID) de endereços e pontos deinteresse (POI) 420, a impressão digital de endereços (FP) e informaçõesde mapeamento de ID de POI 425, um geocodificador 430, um indexa-dor 435, um servidor de front end 440, informações de Localizador deRecurso Uniforme (URL) de mapas 445 e os resultados da busca local450. Os dados dos provedores de mapas 400, os dados das páginasamarelas 405 e os dados de documentos da Web 410 podem ser forne-cidos ao indexador 435 e os dados de provedores de mapas 400 podemainda ser usados para derivar informações de endèreços/lD de POI 420e informações de mapeamento de ID de POI e endereços de FP 425. Oindexador 435 pode conectar-se a um repositório de índices/documen-tos 415 e ao geocodificador 430 e as informações de endereços/ID dePOI 420 podem ser fornecidas ao geocodificador 430. O servidor defront end 440 pode conectar-se ao geocodificador 430 e ao repositório deíndices/documentos 415 e pode receber informações de mapeamento deID de POI e endereços FP 425. O servidor de front end 440 pode gerarinformações de URL de mapa 445 e os resultados da busca local 450.O sistema 225 pode incluir alternativamente outras conexões e/ouinter-relações componentes não mostradas na Figura 4.As shown in Figure 4, system 225 may include map providers 400, yellow page data 405, web document data 410, an index / document repository 415, address and point identification information (ID). of interest (POI) 420, address (FP) fingerprint and POI ID mapping information 425, a 430 geocoder, a 435 indexer, a 440 front end server, map Uniform Resource Locator (URL) information 445 and local450 search results. Map provider data 400, yellow page data 405, and web document data 410 can be provided to the indexer 435 and map provider data 400 can still be used to derive POI 420e address / lD information POI ID mapping information and FP 425 addresses. Indexer 435 can connect to an index / document repository 415 and geocoder 430 and POI ID / address information 420 can be provided to geocoder 430. front end server 440 can connect to geocoder 430 and index / document repository 415 and can receive POI ID and FP 425 address mapping information. Front end server 440 can generate map URL information 445 and search results System 225 may alternatively include other component connections and / or interrelationships not shown in Figure 4.

Em geral, o geocodificador 430 pode receber informações deID de POI/endereços e/ou informações a partir do indexador 435, podeatribuir identificadores geográficos (por exemplo, localizações, coorde-nadas etc.) para objetos e pode fornecer saídas para o servidor de frontend 440. O indexador 435 pode receber dados do provedor de mapas400, dados das páginas amarelas 405 e/ou dados de documentos daWeb 410, podem pré-processar dados das páginas amarelas 405 paradeterminar informações de negócios, extrair informações de negócios apartir de dados de documentos da Web 410, identificar informações delocalização numa questão de busca, indexar os dados de endereço dosdados de provedores de mapas 400 e podem prover saídas para reposi-tório de índices/documentos 415 e/ou geocodificador 430. O servidorde front end 440 pode receber informações de ID de POI e FP de endere-ços 425, informações a partir do geocodificador 430 e/ou informaçõesde repositório de índices/documentos 415, pode reescrever a questão debusca e pode gerar informações de URL de mapas 450, os resultados dabusca local 450 e/ou informações geográficas para uso por um servidorde anúncios (anúncios) (não mostrado).In general, geocoder 430 can receive POI ID / address information and / or information from indexer 435, can assign geographic identifiers (for example, locations, coordinates, etc.) to objects, and can provide output to the frontend server. 440. Indexer 435 may receive data from the map provider400, yellow page 405 data and / or Web 410 document data, can preprocess yellow page 405 data to determine business information, extract business information from document data. 410, identify location information in a search query, index address data from map providers 400, and can provide outputs to index / document repository 415 and / or geocoder 430. Front end server 440 can receive information address POI and FP ID numbers, information from geocoder 430, and / or index repository information / d 415, you can rewrite the search question and can generate map URL information 450, local search results 450, and / or geographic information for use by an ad server (not shown).

Dados dos Provedores de MapasMap Provider Data

Pode haver dois tipos de dados para informações de endere-ços chineses: dados de mapas e dados das páginas amarelas. Os dadosdos provedores de mapas 400 podem incluir uma variedade de informa-ções. Por exemplo, numa modalidade, um provedor de mapas deterceiros pode fornecer um conjunto de POIs (por exemplo, negócios eoutros lugares de interesse, tais como museus, parques, hospitais,escolas etc.) e seus endereços para as cidades na China. Pode haverinformações de ID de POI para cada POI. Devido a "restrições legais, oprovedor de mapas pode não fornecer informações de latitude e longitu-de para cada POI. Eles podem, porém, dividir um mapa em grades (porexemplo, grades de trezentos metros por trezentos metros) e podemfornecer um índice de grade para cada POI e um programa para compu-tar a distância entre as grades. Os dados de provedores de mapas 400podem ser periodicamente atualizados (por exemplo, diariamente,semanalmente, mensalmente etc.) e, durante cada atualização, o ID dePOI pode mudar.There can be two types of data for Chinese address information: map data and yellow page data. Data from map providers 400 may include a variety of information. For example, in one embodiment, a third-party map provider may provide a set of POIs (for example, businesses and other places of interest, such as museums, parks, hospitals, schools, etc.) and their addresses to cities in China. There may be POI ID information for each POI. Due to "legal restrictions, the map operator may not provide latitude and longitude information for each POI. They may, however, split a map into grids (for example, three hundred meters by three hundred meters) and may provide a grid index. for each POI and a program to compute the distance between grids. Map provider data 400 may be periodically updated (eg daily, weekly, monthly, etc.) and during each update the POI ID may change.

Noutra implementação,, os dados de provedores de mapas400 podem incluir as seguintes informações: (1) um POI normal quepode conter um nome de negócios, endereço, número de telefone eíndice de grade; (2) um POI de estrada que pode conter um nome de ruae um índice de grade do centro da rua; e/ou (3) um POI de código postalque pode conter códigos postais e um índice de grade do centro aproxi-mado dos códigos postais.In another implementation, map provider data 400 may include the following information: (1) a normal POI which may contain a business name, address, telephone number, and grid index; (2) a road POI that may contain a street name and a grid index of the center of the street; and / or (3) a postcode POI which may contain postcodes and an approximate center grid index of the postcodes.

Ainda noutra implementação, pode haver temas com dadosde provedores de mapas 400. Por exemplo, os dados de provedores demapas 400 podem conter uma parte de um endereço, mas. pode estarfaltando outra parte do endereço. O número de rua, por exemplo, podeestar faltando nos dados de provedores de mapas 400 devido a restri-ções na China (por exemplo, só 20-30% dos POIs podem ter números derua). Como resultado, os dados de provedores de mapas 400 podemincluir apenas o nome de rua do POI ou algum nível mais alto deabstração. Também ou alternativamente, pode estar faltando o númerode telefone para alguns dos POIs de dados de provedores de mapas 400.Também ou alternativamente, os endereços fornecidos pelos dados deprovedores de mapas 400 podem estar impropriamente formatados.In yet another implementation, there may be themes with map provider data 400. For example, map provider data 400 may contain a portion of an address, but. may be missing another part of the address. The street number, for example, may be missing from map provider data 400 due to restrictions in China (for example, only 20-30% of POIs may have double numbers). As a result, data from map providers 400 may only include the street name of the POI or some higher level of abstraction. Also or alternatively, the phone number may be missing for some of the map provider data POIs 400. Also or alternatively, the addresses provided by the map depraving data 400 may be improperly formatted.

Dados das Páginas AmarelasYellow Page Data

Os dados das páginas amarelas 405 podem incluir umavariedade de informações e podem ser recebidos partir de múltiplasorigens (por exemplo, provedores de terceiros). Por exemplo, numaimplementação, os dados das páginas amarelas 405 podem incluirinformações de endereços (por exemplo, município, cidade, província)e/ou número de telefone para POIs, nomes de negócios, endereços decorreio eletrônico, números de fac-símile, endereços de sítios da Web,nomes de executivos, descrições de negócios, categorias do estilo SIC,tipos de negócios etc. Noutra modalidade, os dados das páginas amare-las 405 podem não conter nenhumas informações de latitude e longitu-de. Como resultado, informações completas (ou substancialmentecompletas) relativas ao POIs (por exemplo, informações de endereços,números de telefone e posições em mapas) podem ser deduzidas a partirde dados de provedores de mapas 400 e dados de páginas amarelas405.Yellow page data 405 may include a variety of information and may be received from multiple sources (eg third party providers). For example, in one implementation, yellow page 405 data may include address information (for example, county, city, province) and / or telephone number for POIs, business names, e-mail addresses, facsimile numbers, websites, executive names, business descriptions, SIC style categories, business types, etc. In another embodiment, the data on the pages 405 may not contain any latitude and longitude information. As a result, complete (or substantially complete) information regarding POIs (for example, address information, telephone numbers, and map positions) can be deduced from map provider data 400 and yellow page data405.

Dados de Documentos da WebWeb Document Data

Os dados de documentos da Web 410 podem incluir umavariedade de informações. Por exemplo, numa modalidade, os dados dedocumentos da Web 410 podem incluir um correio eletrônico, umarquivo, uma combinação de arquivos, um ou mais arquivos com linksembutidos para outros arquivos, um grupo de notícias, um blog, umanúncio de Web, uma página da Web (que pode incluir informaçõestextuais IO e pode incluir informações embutidas (como meta-informações, imagens, hiperlinks etc.) e/ou instruções embutidas (comoJavaScript etc.), informações de negócios (por exemplo, endereço,número de telefone etc.) etc. Os dados de documentos da Web 410podem também incluir documentos localizados com base numa questãode busca local.Web 410 document data may include a variety of information. For example, in one embodiment, Web 410 data may include an e-mail, a file, a combination of files, one or more files linked to another file, a newsgroup, a blog, a Web ad, a Web page. Web (which may include IO textual information and may include embedded information (such as metadata, images, hyperlinks, etc.) and / or embedded instructions (such as JavaScript, etc.), business information (eg, address, phone number, etc.) etc. Web document data 410 may also include documents located based on a local search issue.

Informações de ID de POI/EndereçosPOI ID / Address Information

As informações de ID de POI 420 podem incluir umavariedade de informações. Por exemplo, numa implementação, asinformações de ID de POI/endereços podem incluir endereços extraídosa partir de dados de provedores de mapas 400, IDs de POI extraídas apartir de dados de provedores de mapas 400 etc. Noutra implementa-ção, as informações de ID de POI de endereços 420 podem incluir asinformações seguintes relativas a endereços chineses: dados de endere-ços fornecidos por dados de provedores de mapas 400 (por exemplo,endereços de POIs, centros de ruas); POIs (por exemplo, escolas, par-ques, edifícios, hospitais etc.); centros de códigos postais (isto é, ocentro de uma área coberta por um código postal); cidades adicionaisque podem não ser incluídas na lista fornecida por dados de provedoresde mapas 400 etc.POI ID 420 information may include a variety of information. For example, in one implementation, POI ID / address information may include addresses extracted from map provider data 400, POI IDs extracted from map provider data 400, and so forth. In another embodiment, address POI ID information 420 may include the following Chinese address information: address data provided by map provider data 400 (e.g., POI addresses, street centers); POIs (eg schools, parks, buildings, hospitals, etc.); postcode centers (ie within an area covered by a postcode); additional cities that may not be included in the list provided by map provider data 400, etc.

Informações de Mapeamento de FP de EndereçosAddress FP Mapping Information

e ID de POIAs informações de FP de endereços e ID de POI 425 podemincluir uma variedade de informações. Por exemplo, numa implemen-tação, as informações de FP de endereços /ID de POI 425 podem incluirum mapeamento entre impressões digitais de endereços (FPs) e ID dePOIs correspondentes etc. O mapeamento entre os FPs de endereços eID de POIs correspondentes pode ser usado pelo servidor de frorvt end440 para pesquisar o ID de POI para cada resultado de busca local,conforme descrito em detalhe abaixo. Numa modalidade alternativa, aID de POIs podem ser derivadas diretamente sem mapeamento entreFPs de endereços e ID de POIs correspondentes. Nessa alternativa, asinformações 425 podem incluir a ID de POIs diretamente derivadas.and POI ID Address FP information and POI ID 425 may include a variety of information. For example, in one implementation, the address FP / POI ID 425 information may include a mapping between address fingerprints (FPs) and corresponding POI IDs, etc. Mapping between eID address FPs of matching POIs can be used by the frorvt end440 server to look up the POI ID for each local search result, as described in detail below. In an alternative embodiment, the POI ID can be derived directly without mapping between address POFs and corresponding POI IDs. In this alternative, information 425 may include the ID of directly derived POIs.

Embora informações exemplificativas incluídas em dadosde provedores de mapas 400, dados das páginas amarelas 405, dadosde documentos da Web 410, informações de ID de POI/endereços einformações de mapeamento FP de endereços/ID de POI 425 tenhamsido descritas acima, em outras implementações, informações adicio-nais ou diferentes sobre endereços que podem ser úteis para identificaros resultados da busca local podem ser incluídas nas informaçõesexemplificativas. As Figuras. 5-8 são diagramas exemplificativos dealguns componentes do sistema 225 da Figura 4.While exemplary information included in map provider data 400, yellow page data 405, web document data 410, POI ID / address information, and FP address mapping / POI ID 425 information have been described above, in other implementations, information Additional or different addresses that may be useful in identifying local search results may be included in the example information. The figures. 5-8 are exemplary diagrams of some components of system 225 of Figure 4.

Repositório de índices/DocumentosIndex / Document Repository

O repositório de índices/documentos 415 pode ser forneci-do num único dispositivo de memória (por exemplo, memória principal330, ROM 340 e/ou dispositivo de armazenamento 350). O repositóriode índices/documentos 415, como mostrado na Figura 5, pode armaze-nar uma variedade de informações relacionadas a documentos, dadosdas páginas amarelas 405 e/ou dados de provedores de mapas 400.Por exemplo, numa implementação, o repositório de índices/docu-mentos 415 pode armazenar as informações seguintes relativas aendereços chineses: dados de endereços fornecidos por dados deprovedores de mapas 400 (por exemplo, endereços de POIs, centros deruas); POIs (por exemplo, escolas, parques, edifícios, hospitais etc.);centros de códigos postais (isto é, o centro de uma área coberta por umcódigo postal); cidades adicionais que podem não ser incluídas na listafornecida por dados de provedores de mapas 400; etc.The index / document repository 415 may be provided in a single memory device (e.g. main memory330, ROM 340 and / or storage device 350). The index / document repository 415, as shown in Figure 5, can store a variety of document related information, yellow page 405 data, and / or map provider data 400. For example, in one implementation, the index / index repository documents 415 can store the following information regarding Chinese addresses: address data provided by map deprecating data 400 (e.g., POI addresses, double centers); POIs (eg schools, parks, buildings, hospitals, etc.), postcode centers (ie the center of an area covered by a postcode); additional cities that may not be included in the list provided by map provider data 400; etc.

Noutra modalidade, como mostrado na Figura 5, o repositó-rio de índices/documentos 415 pode incluir um campo [província] 500,um campo [cidade] 510, um campo [distrito] 520 e um campo [rua] 530(que podem adicional ou alternativamente incluir um campo de endere-ço e/ou um campo de nome de POI). Os exemplos seguintes podemcorresponder a informações de endereços chineses armazenados emrepositório de índices/documentos 415:In another embodiment, as shown in Figure 5, the index / document repository 415 may include a field [province] 500, a field [city] 510, a field [district] 520, and a field [street] 530 (which may be additionally or alternatively include an address field and / or a POI name field). The following examples may correspond to Chinese address information stored in index / document repository 415:

[Cidade de Beijing] [Distrito de XiCheng] [Estrada de Bei-LiShi];[Beijing City] [XiCheng District] [Bei-LiShi Road];

[Cidade de Beijing] [Distrito de HaiDian] [Estrada de YiHeYuan Niimero 5];[Beijing City] [HaiDian District] [YiHeYuan Niimero Road 5];

[Cidade de Beijing] [Distrito de HaiDian] [Universidade deBeijing]; e [Província de JiangSu] [Cidade de Nan-Jing] [Distrito de GuLou] [Estrada de HanZhong].[Beijing City] [HaiDian District] [Beijing University]; and [JiangSu Province] [Nan-Jing City] [GuLou District] [HanZhong Road].

Ainda noutra modalidade, o repositório de índices/docu-mentos 415 pode incluir um campíi) de impressão digital de endereço(FP) 540 e um campo de precisão de FP 550. Cada endereço pode sertratado como um ponto pelo geocodificador 430 com uma exatidão deFP de endereços e de FP (por exemplo, os edifícios podem ter umaexatidão de FP mais alta do que os centros das ruas). Um FP de ende-reços pode ser uma impressão digital gerada com base no endereço (porexemplo, um valor hash que pode ser gerado com base no endereço) quepode ser usado para pesquisar o ID de POI para exibir o mapa correto.Por exemplo, um gerador de FP 570 pode receber um endereço (porexemplo, campo [província] 500, campo [cidade] 510, campo [distrito]520, campo [rua] 530 etc.) e pode gerar um FP de endereços (porexemplo, campo [FP] 540) e uma exatidão de FP (por exemplo, campo deexatidão [FP] 550) com base no endereço. A exatidão de FP de endere-ços e de FP pode ser usada por uma tabela de pesquisa de ID de POI580 para pesquisar o ID de POI para exibir o mapa correto (por exem-plo, com os resultados da busca local). O gerador de FP 570 e/outabela de pesquisa de ID de POI 580 pode ser fornecido no geocodifica-dor 430, no indexador 435 ou no servidor de front end 440.In yet another embodiment, the index / document repository 415 may include an address fingerprint (FP) field 540 and a precision field of FP 550. Each address may be treated as a point by geocoder 430 with an accuracy ofFP address and PF (for example, buildings may have a higher PF accuracy than street centers). An address FP can be an address-based fingerprint (for example, an address-based hash value) that can be used to look up the POI ID to display the correct map. For example, a FP 570 generator can receive an address (for example, field [province] 500, field [city] 510, field [district] 520, field [street] 530 etc.) and can generate an FP of addresses (for example, field [FP ] 540) and an FP accuracy (for example, exact field [FP] 550) based on the address. Address FP and FP accuracy can be used by a POI580 ID lookup table to look up the POI ID to display the correct map (for example, with local search results). The FP 570 generator and POI ID lookup table 580 may be provided on geocoder 430, indexer 435, or front end server 440.

Ainda numa modalidade adicional, o repositório de índicesdocumentos 415 pode incluir um campo [zcode] 560 associado aoendereço. Um zcode associado pode incluir um código como um códigopostal, que, no caso da China, pode ser computado a partir do códigoadministrativo de seis dígitos para distritos na China. As localizações,tais como Província de JiangSu, Cidade de Beijing, Cidade de BeijingDistrito de XiCheng, podem ser computadas pelo geocodificador 430como limites que contêm todas as localizações de pontos dentro deles.Still in an additional embodiment, document index repository 415 may include a [zcode] field 560 associated with the address. An associated zcode may include a code such as a postcode which, in the case of China, may be computed from the six-digit administrative code for districts in China. Locations, such as JiangSu Province, Beijing City, Beijing CityXiCheng District, can be computed by geocoder 430 as boundaries that contain all point locations within them.

As variantes dos endereços podem também ser determina-das e armazenadas no repositório de índices/documentos 415 paraaumentar as chamadas. Por exemplo, podem ser identificados ossinônimos de caracteres únicos para as províncias e cidades (porexemplo, Cidade de Xangai —► Lu; Província de HeBei —> Qi). Adicionalou alternativamente, partes dos endereços podem ser omitidas (porexemplo, Cidade de Xangai -> Xangai; Distrito de HaiDian —> HaiDian;Estrada Central de HuaiHai —► Estrada de HuaiHai). Adicional oualternátivamente, podem ser incluídos sinônimos para lugares famosos(por exemplo, Templo da Cidade de Xangai —► Templo da Cidade Velha;Templo de LiuRong —► LiuRong Ta).Address variants can also be determined and stored in the index / document repository 415 to increase calls. For example, unique character synonyms can be identified for provinces and cities (eg Shanghai City —► Lu; HeBei Province -> Qi). Alternatively, or alternatively, parts of the addresses may be omitted (eg Shanghai City -> Shanghai; HaiDian District -> HaiDian; HuaiHai Central Road —► HuaiHai Road). Alternatively or alternatively, synonyms may be included for famous places (eg Shanghai City Temple —► Old City Temple; LiuRong Temple —► LiuRong Ta).

Embora a Figura 5 mostre informações exemplificativasincluídas no repositório de índices/documentos 415, em outras imple-mentações, o repositório de índices/documentos 415 pode incluirquaisquer informações que possam ser úteis para identificar os resulta-dos da busca local.Although Figure 5 shows exemplary information included in the index / document repository 415, in other implementations, the index / document repository 415 may include any information that may be useful in identifying local search results.

GeocodificadorO geocodificador 430, como mostrado na Figura 6, poderealizar uma variedade de tarefas para ajudar na identificação dosresultados da busca local. Numa modalidade, por exemplo, o geocodifi-cador 430 pode atribuir identificadores geográficos (por exemplo,posições, coordenadas etc.) a objetos. Por exemplo, o geocodificador430 pode comparar endereços com endereços no repositório de índi-ces/documentos 415. A saída do geocodificador 430 pode ser usadacom vários propósitos. Por exemplo, os dados das páginas amarelas405 podem ser analisados para determinar informações de negócios(por exemplo, endereço, número de telefone, endereço de correio eletrô-nico, número de fac-símile, horas de operação etc.) para POIs, asinformações de negócios podem ser extraídas a partir de dados dedocumentos da Web 410 e/ou podem ser identificadas informações delocalização fornecidas numa questão de busca.GeocodingThe 430 geocoding, as shown in Figure 6, can perform a variety of tasks to help identify local search results. In one embodiment, for example, geocoding 430 may assign geographic identifiers (e.g., positions, coordinates, etc.) to objects. For example, geocoder 430 can compare addresses with addresses in the index / document repository 415. Output from geocoder 430 can be used for a variety of purposes. For example, yellow page data405 can be analyzed to determine business information (for example, address, phone number, e-mail address, facsimile number, hours of operation, etc.) for POIs, Business can be extracted from Web 410 document data and / or location information provided in a search query can be identified.

A fim de indexar dados de páginas amarelas 405, o indexa-dor 435 pode precisár determinar a posição no mapa pesquisandoendereços chineses. Isto pode implicar uma variedade de assuntos.Por exemplo, as informações de posição precisa e de endereço detalhadopara a maior parte dos endereços na China não estão prontamentedisponíveis. Os endereços chineses não têm um formato e hierarquiabem definida. Os componentes possíveis de um endereço chinês podemincluir cidade, distrito, cidade, aldeia, estrada, rua, número de rua eedifício. Os dados das páginas amarelas 405 podem estar na formalivre (isto é, não se conformando a nenhum formulário ou formatoparticular), especialmente em áreas rurais, e, para alguns POIs, nãoexistem nenhuns componentes de endereço correspondentes disponí-veis. Os endereços exemplificativos chineses podem incluir:In order to index yellow page data 405, indexer 435 may need to determine position on the map by searching Chinese addresses. This can involve a variety of issues. For example, accurate location and detailed address information for most addresses in China is not readily available. Chinese addresses do not have a well-defined format and hierarchy. Possible components of a Chinese address may include city, district, city, village, road, street, street number, and building. Yellow page 405 data may be in formal form (ie not conforming to any particular form or format), especially in rural areas, and, for some POIs, there are no corresponding address components available. Exemplary Chinese addresses may include:

Cidade de ShenZhen Cidade de HeGang Aldeia deAnLiang Estrada de AnLiang Número 172 Edifício JingCheng;ShenZhen City HeGang CityAnLiang Village AnLiang Road Number 172 JingCheng Building;

Cidade de ShenZhen Cidade de LongHua Complexode Escritórios MingZhiMingLe;Cidade de ShenZhen Estrada de FuHong PraçaShiMao Bloco A 17° Andar; eShenZhen Town LongHua Town MingZhiMingLe Office Complex ShenZhen Town FuHong RoadShiMao Block A 17 ° Floor; and

Cidade de Beijing Distrito de HaiDian SiJiQingXiao-Fu.Beijing City HaiDian District SiJiQingXiao-Fu.

O geocodificador 430 pode comparar melhor os endereçosnos dados das páginas amarelas 405 com endereços fornecidos emdados de provedores de mapas 400 e obter a posição do mapa maisprecisa possível. O geocodificador 430 pode incluir um gerador de listade endereços 600, um analisador 610, um localizador de prefixos decoincidência mais longos 620, um localizador de combinações 630, umaunidade de geocodificação da questão 640 etc. Os componentes dogeocodificador 430 podem realizar várias tarefas para cada endereço(por exemplo, Cidade de ShenZhen Cidade de HeGang Aldeia de AnLi-ang Estrada de AnLiang Número 172 Edifício JingCheng).The 430 geocoder can better compare addresses on yellow page 405 data with addresses provided on map provider data 400 and get the most accurate map position possible. The geocoder 430 may include an address list generator 600, an analyzer 610, a longer coincidence prefix locator 620, a combination locator 630, a geocoding unit of question 640, and so forth. The 430 encoder components can perform various tasks for each address (for example, ShenZhen City HeGang City AnLi-ang Village AnLiang Road Number 172 JingCheng Building).

O gerador de listas de endereços 600 pode receber dados deprovedores de mapas 400 e dados das páginas amarelas 405 e podegerar uma lista de endereços (também chamados de fichas) com basenas províncias, cidades, distritos, nomes de rua, endereços, nomes dePOI ou combinações dos mesmos a partir de dados de provedores demapas 400 e/ou dados das páginas amarelas 405. Para cada endereço,o analisador 610 pode tentar analisar a cidade a partir do início doendereço. Por exemplo, "Cidade de ShenZhen" pode ser analisada peloanalisador 610 do endereço. O analisador 610 pode também tentaranalisar o distrito do endereço. Por exemplo, visto que um distrito estáausente do endereço exemplificativo descrito acima, o analisador 610pode não ser capaz de analisar o distrito a partir do endereço.The address book generator 600 can receive map deprecating data 400 and yellow page data 405 and can generate a mailing list (also called tokens) with only provinces, cities, districts, street names, addresses, POI names or combinations. from the map provider data 400 and / or yellow page data 405. For each address, the analyzer 610 may attempt to analyze the city from the beginning of the address. For example, "ShenZhen City" can be parsed by address analyzer 610. Analyzer 610 may also attempt to analyze the district of the address. For example, since a district is absent from the exemplary address described above, parser 610 may not be able to parse the district from the address.

O localizador de prefixos de coincidência mais longos 620do geocodificador 430 pode ser usado para localizar partes adicionais doendereço. Por exemplo, o localizador de prefixos de coincidência maislongos 620 pode tentar localizar os.prefixos de.coincidência mais longos ·(por exemplo, fichas) a partir da lista de endereços. Isto pode falhar, senão existir uma ficha específica na lista de endereços (por exemplo, se"Cidade de HeGang" não estivesse na lista de endereços). O localizadorde prefixos de coincidência mais longos 620 pode avançar para o finalda palavra "Cidade", se estiver presente na lista de endereços. Se umaficha inteira (por exemplo, "Cidade de HeGang Aldeia de AnLiangEstrada de AnLiang") estiver presente na lista de endereços, o localiza-dor de prefixos de coincidência mais longos 620 pode identificar a fichacomo uma boa coincidência (por exemplo, "Cidade de HeGang" pode seridentificada como uma boa coincidência). O localizador de prefixos decoincidência mais longos 620 pode tentar novamente localizar o prefixode coincidência mais longo (por exemplo, ficha) da lista de endereços.Se esta falhar, então, o localizador de prefixos de coincidência maislongos 620 pode avançar para a extremidade da palavra "Aldeia", seestiver presente (por exemplo, "Aldeia de AnLiang"). O localizador deprefixos de coincidência mais longos 620 pode repetir o processonovamente para localizar o prefixo de coincidência mais longo (porexemplo, ficha) a partir da lista de endereços. Desta vez, o localizadorde prefixos de coincidência mais longos 620 pode tentar combinarnomes de rua (por exemplo, "Estrada" ou "Rua"). O localizador deprefixos de coincidência mais longos 620 pode avançar para o final da(s)palávrãfs) "Estrada" ou "Rua", se elas estiverem presentes (por exemplo,"Estrada de AnLiang"). O localizador de prefixos de coincidência maislongos,620 pode também avançar para o final da palavra "Número", seela estiver presente (por exemplo, "Número 172"). Finalmente, o locali-zador de prefixos de coincidência mais longos 620 pode tentar localizaro prefixo de coincidência mais longo (por exemplo, ficha) a partir donome do POI. Isto pode proporcionar coincidências para nomes deedifícios, escolas, parques etc. (por exemplo, "Edifício JingCheng"). Olocalizador de combinações 630 pode localizar combinações particularesde forma que os nomes de POI possam ser localizados primeiro, depois,possam ser localizados vários -níveis—dos^endereços™e, finalmente,possam ser localizados distritos ou cidades. Essa disposição de locali-zação pode garantir que o endereço mais específico pode ser obtido pelolocalizador de combinações 630. Por exemplo, o localizador de combi-nações 630 pode localizar as combinações exemplificativas seguintes:cidade +distrito + nome de POI;cidade+ distrito+ endereço localizado pelo localizadorThe longer match prefix locator 620 of geocoder 430 can be used to locate additional parts of the address. For example, the longest match prefix locator 620 may try to find the longest match prefixes (for example, bookmarks) from the address list. This may fail if there is no specific listing in the address book (for example, if "HeGang City" was not in the address book). The longer match prefix finder 620 may advance to the end of the word "City" if present in the address list. If an entire record (for example, "HeGang City AnLiang VillageAnLiang Road") is present in the address list, the longer match prefix locator 620 may identify the card as a good match (for example, "City of HeGang "can be identified as a good coincidence). The longest match prefix locator 620 may retry to find the longest match prefix (for example, token) from the address list. If it fails, then the longest match prefix finder 620 may advance to the end of the word " Village "if present (for example," AnLiang Village "). The longest match prefix finder 620 may repeat the process again to find the longest match prefix (e.g., token) from the address list. This time, the longer match prefix finder 620 may try to combine street names (for example, "Road" or "Street"). The longer matcher locator 620 may advance to the end of the "Road" or "Street" (s) if they are present (for example, "AnLiang Road"). The longer match prefix locator 620 may also advance to the end of the word "Number" if it is present (for example, "Number 172"). Finally, the longer match prefix locator 620 may attempt to locate the longest match prefix (e.g., record) from the POI name. This may provide coincidence for building names, schools, parks etc. (e.g., "JingCheng Building"). Combination Locator 630 can locate particular combinations so that POI names can be found first, then multiple-level-addresses ™, and finally districts or cities can be located. Such a location arrangement can ensure that the most specific address can be obtained by combining location 630. For example, combining locator 630 can find the following exemplary combinations: city + district + POI name; city + district + localized address by the finder

de prefixos de coincidência mais longos 620(por exemplo, "Estrada" ou "Rua");longer match prefixes 620 (e.g. "Road" or "Street");

cidade+ distrito+ endereço localizado pelo localizadorde prefixos de coincidência mais longos 620(por exemplo, "Aldeia");city + district + address located by the longest match prefix finder 620 (e.g. "Village");

cidade+ distrito+ endereço localizado pelo localizadorde prefixos de coincidência mais longos 620(por exemplo, "Cidade");city + district + address located by the longest match prefix finder 620 (e.g. "City");

cidade+ distrito; e/oucidade.city + district; and / or city.

Quando uma questão de busca local é introduzida por umusuário, a parte de localização da questão de busca pode ser enviadapara um servidor de mapas possuído por um provedor de mapas. Se atuestão de localização contiver caracteres chineses, japoneses oucoreanos (CJK), o servidor de mapas pode enviar isto para a unidade degeocodificação da questão 640 para geocodificação. Se a localizaçãointroduzida pelo usuário for ambígua (por exemplo, quando a pontua-ção do primeiro resultado do geocodificador for menor do que duasvezes a pontuação do segundo resultado), a unidade de geocodificaçãoda questão 640 pode apresentar sugestões ao usuário. Por exemplo, sea questão de localização for "Museu de História", a unidade de geocodi-ficação da questão 640 pode apresentar as seguintes sugestões aousuário: "Você quer procurar o Museu de História do Distrito de He-Dong Cidade de TianJian ou o Museu de História de Xangai do Distritode PuDong Cidade de Xangai?"A unidade de geocodiíicação da questão 640 pode computara pontuação de um resultado de busca com base no número de pontosna localização do resultado de busca. Por exemplo, se o Distrito deChaoYang Cidade de ChangChuanw pontuar menos do que o Distrito deChaoYang Cidade de Beijing, então o Distrito de ChaoYang Cidade deBeijing pode ser exibido, quando a localização da questão do usuário for"Distrito de ChaoYang".When a local search query is entered by a user, the location portion of the search query may be sent to a map server owned by a map provider. If the location action contains Chinese, Japanese, or Korean (CJK) characters, the map server can send this to question 640 geocoding unit for geocoding. If the user-entered location is ambiguous (for example, when the score of the first geocoder result is less than two times the score of the second result), the geocoding unit of question 640 may make suggestions to the user. For example, if the location question is "History Museum," the question 640 geocoding unit may provide the following suggestions for the user: "Do you want to look for the TianJian City He-Dong District History Museum or the Museum? PuDong District Shanghai History Museum? "The geocoding unit of question 640 can compute a search result's score based on the number of points in the search result's location. For example, if ChaoYang Town ChangChuanw District scores less than ChaoYang Town Beijing City, then ChaoYang Town Beijing City may be displayed when the location of the user question is "ChaoYang Town".

Embora a Figura 6 mostre tarefas exemplificativas realiza-das pelo geocodificador 430, em outras modalidades, o geocodificador430 pode realizar tarefas adicionais ou diferentes que podem ser usadaspara identificar os resultados da busca local. Além disso, embora aFigura 6 mostre os componentes do geocodificador 430 como interco-nectados, em outras implementações, os componentes do geocodificador430 podem ser componentes separados, não interconectados.Although Figure 6 shows exemplary tasks performed by geocoder 430, in other embodiments, geocoder 430 can perform additional or different tasks that can be used to identify local search results. In addition, while Figure 6 shows geocoder 430 components as interconnected, in other implementations, geocoder 430 components may be separate, non-interconnected components.

IndexadorIndexer

O indexador 435, conforme mostrado na Figura 7, poderealizar uma variedade de tarefas para ajudar na identificação dosresultados de busca local. Numa implementação, por exemplo, oindexador 435 pode pré-processar dados das páginas amarelas 405para determinar informações de negócios (por exemplo, endereço,número de telefone, endereço de correio eletrônico, número de fac-símile, ; horas de operação etc.) para POIs, pode extrair informações denegócios a partir de dados de documentos da Web 410 e/ou podeidentificar informações de localização numa questão de busca. Oindexador 435 pode incluir um indexador de dados de mapa 700, umpré-processador de dados das páginas amarelas 710, um extrator deinformações de negócios 720, um planificador de distâncias 730, umagrupador 740, um repositório de informações de negócios 750, umdestacador de fragmentos 760 etc.The indexer 435, as shown in Figure 7, can perform a variety of tasks to assist in identifying local search results. In one implementation, for example, indexer 435 may preprocess yellow page data 405 to determine business information (for example, address, telephone number, e-mail address, facsimile number, hours of operation, etc.) for POIs, you can extract business information from Web 410 document data and / or you can identify location information in a search query. The indexer 435 may include a map data indexer 700, a yellow page data preprocessor 710, a business information puller 720, a distance planner 730, a business breaker 740, a business information repository 750, a fragment 760 etc.

O indexador. de ,dados de„mapa 700 pode. indexar, dados deendereços a partir de dados de provedores de mapas 400, que podemincluir informações de posições de mapas. O geocodificador 430 podetentar geocodificar o endereço novamente com base nos dados deendereços indexados e o agrupador 740 (descrito abaixo) pode ajustar aposição do grupo se a posição do grupo for diferente da posição dada,mas pode não ajustar a posição do grupo acima de um limite de distân-cia predeterminado (por exemplo, dentro três quilômetros). Essadisposição pode ser usada para melhorar o agrupamento, como descritoém detalhe abaixo.The indexer. of, map data 700 can. index, address data from map provider data 400, which may include map position information. Geocoder 430 may re-geocode the address based on indexed address data, and grouper 740 (described below) may adjust group position if group position is different from given position, but may not adjust group position above threshold of predetermined distance (eg within three kilometers). This arrangement can be used to improve grouping as described in detail below.

O pré-processador de dados das páginas amarelas 710pode receber dados das páginas amarelas 405 a partir de diferentesprovedores e pode pré-processar os dados das páginas amarelas 405para um formato comum. Estes dados formatados podem ser forneci-dos para o geocodificador 430 durante a indexação e o geocodificador430 pode tentar geocodificar o endereço. Se o endereço puder sergeocodificado ao nível de edifício ou rua, o endereço pode ser indexadocomo uma entrada normal. Se o endereço puder ser geocodificado aonível de cidade ou distrito, o endereço pode ser indexado como umaentrada com uma posição aproximada. Durante a pontuação, a entradapode ser tratada como se estivesse pelo menos a vinte quilômetros docentróide (isto é, tendo essencialmente a sua pontuação degradada). Seo endereço não puder ser geocodificado, o endereço pode ser tratadocomo uma entrada sem uma posição. Durante a indexação, se aentrada sem uma posição puder ser agrupada com outra entrada (porexemplo, usando o seu número de telefone), a entrada pode ser retida.The yellow page data preprocessor 710 can receive yellow page data 405 from different printers and can preprocess yellow page data 405 to a common format. This formatted data may be provided to geocoder 430 during indexing and geocoder430 may attempt to geocod the address. If the address can be coded at the building or street level, the address can be indexed as a normal entry. If the address can be geocoded at the city or district level, the address can be indexed as an entry with an approximate position. During scoring, the input can be treated as if it were at least twenty kilometers from the centroid (ie essentially its score degraded). If the address cannot be geocoded, the address can be treated as an entry without a position. During indexing, if the entry without a position can be grouped with another entry (for example, using your phone number), the entry may be retained.

Caso contrário, a entrada pode ser descartada.Otherwise, the entry may be discarded.

O extrator de informações de negócios 720 pode extrairinformações de negócios (por exemplo, endereços e números de telefone)a partir de dados de documentos da Web 410 usando uma variedade detécnicas. As técnicas podem ser modificadas com base na diferenteformatação de endereços e números de telefone na China e no Japão.The Business Information Extractor 720 can extract business information (for example, addresses and telephone numbers) from 410 Web document data using a variety of techniques. Techniques can be modified based on the different formatting of addresses and telephone numbers in China and Japan.

Por exemplo, numa primeira técnica, o extrator de informa-ções de negócios 720 pode incluir um classiflcador que pode analisardocumentos com endereços para determinar informações de negóciosassociadas aos endereços com base num modelo estatístico. Os docu-mentos analisados pelo classificador podem incluir documentos comendereços para os quais não existe nenhum dado correspondente daspáginas amarelas 405 e/ou documentos com endereços para os quaisexistem dados de páginas amarelas 405 possivelmente incorretos. Asfunções desempenhadas pelo classificador podem diferir com base sobrese as informações de negócios correspondem informações de nomes denegócios (título) ou informações de números de telefone. Ainda outrasfunções podem ser realizadas quando as informações de negóciosincluem informações diferentes de nomes de negócios ou informaçõesde números de telefone. Um nome de negócio (título) pode ser identifi-cado analisando termos próximos do endereço e determinar a probabili-dade de que cada prazo é parte do título. Uma pontuação de confiançapode ser atribuída para cada título de candidato que é identificado.For example, in a first technique, business information extractor 720 may include a classifier that can analyze address documents to determine business information associated with addresses based on a statistical model. Documents analyzed by the classifier may include address documents for which there is no corresponding data from yellow pages 405 and / or documents with addresses for which possibly incorrect data from yellow pages 405 exist. The functions performed by the classifier may differ based on whether business information matches business name information (title) or telephone number information. Still other functions may be performed when business information includes information other than business names or telephone number information. A business name (title) can be identified by analyzing terms close to the address and determining the likelihood that each term is part of the title. A confidence score can be assigned to each candidate title that is identified.

Um número de telefone pode ser associado a um endereçoidentificando um conjunto de números de telefones candidatos nodocumento. Pode ser determinada, com base no modelo estatístico, aprobabilidade de que cada um dos números de telefone candidatosesteja associado ao endereço, dada a predição relativa άο número detelefone candidato precedente e dada uma janela de termos (por exem-pio, examinando um número predeterminado de termos à esquerdae/ou direita) em torno do número de telefone candidato. Podem seratribuídas pontuações de confiança aos números de telefone candidatoscom base nas suas probabilidades determinadas. Opcionalmente, podeser determinado o melhor número de telefone para o endereço. Onúmero de telefone pode, então, ser associado ao endereço para formarou suplementar uma listagem de negócios.A telephone number can be associated with an address by identifying a set of candidate telephone numbers in the document. It can be determined on the basis of the statistical model that each candidate telephone number is associated with the address given the prediction relative to the preceding candidate telephone number and given a window of terms (for example by examining a predetermined number of terms left and / or right) around the candidate phone number. Confidence scores can be assigned to candidate phone numbers based on their determined odds. Optionally, you can determine the best phone number for the address. The telephone number can then be associated with the address to form a supplemental business listing.

Numa segunda técnica exemplificativa, o extrator deinformações de negócios 720 pode incluir um extrator de localizaçãoque pode ser incluído como parte do motor de busca. O extrator delocalização pode receber uma questão de busca e determinar se aquestão de busca inclui uma referência geográfica. Quando a questãode busca incluir uma referência geográfica, o extrator de posição podeseparar a referência geográfica a partir dos termos de busca na questãoe enviá-los para um motor de busca local. Quando a questão de buscanão incluir uma referência geográfica, o extrator de localização podeenviar os termos de busca para um motor de busca da Web que podeincluir um motor de busca tradicional da Web que retorne um conjuntode documentos relacionados com uma questão de busca. O motor debusca local pode incluir um motor de busca especializado, tal como ummotor de busca de listagens de negócios. Em operação, o motor debusca local pode receber os termos de busca e a referência geográfica deuma questão de busca a partir do extrator de localização. O motor debusca local pode identificar um conjunto de documentos que combina aquestão de busca (isto é, documentos que contêm o conjunto de termosde busca da questão de busca) comparand® os tes-mos de busca comdocumentos num corpo de documentos relativos à área geográficaassociada à referência geográfica. O motor de busca local pode pontuaros documentos identificados, classificá-los com base nas suas pontua-ções e dar-lhes saída como uma lista de resultados de busca.In a second exemplary technique, business information extractor 720 may include a location extractor that may be included as part of the search engine. The location puller may receive a search query and determine if the search query includes a geographic reference. When the search question includes a geographic reference, the position puller can remove the geographical reference from the search terms in the question and submit them to a local search engine. Where the search query does not include a geographic reference, the location puller may submit the search terms to a web search engine that may include a traditional web search engine that returns a set of documents related to a search query. The local search engine may include a specialized search engine, such as a business listings search engine. In operation, the local search engine can receive the search terms and geographic reference of a search query from the location puller. The local search engine can identify a set of documents that combine the search query (ie documents that contain the search query set of search terms) by comparing the search terms with documents in a body of documents relating to the geographic area associated with the search. geographical reference. The local search engine can score identified documents, rank them based on their scores, and output them as a list of search results.

O extrator de localização pode determinar endereços nãoambíguos (por exemplo, cidades) numa questão de busca configurandouma váriável i igual a um e realizando uma busca para o nome de umacidade para cada cidade(i) numa lista de cidades. O número de resul-tados de busca para esta busca pode ser contado como countcity. Umabusca pode também ser realizada para o nome da cidade com o nomeda província correspondente. O número de resultados de busca paraesta busca pode ser contado como countcity/province.The location extractor can determine unambiguous addresses (e.g. cities) in a search query by setting a variable i equal to one and performing a search for a city name for each city (i) in a city list. The number of search results for this search can be counted as countcity. A search can also be performed for the city name with the corresponding province name. The number of search results for this search can be counted as countcity / province.

Pode, então, ser determinado se countcity/province é pelomenos X% (onde X é um número maior do que zero) de countcity.Quando countcity/province é pelo menos X% de countcity, então acidade pode ser considerada uma "cidade não ambígua". Uma "cidadenão ambígua" pode referir-se a uma cidade cujo nome pode ser usadosozinho numa questão de busca e ficará entendido que o usuáriopretendeu a cidade e não qualquer outra coisa mais. Quando count-city/province não é pelo menos X% de countcity, então pode ser deter-minado se existem mais cidades na lista. Se existirem mais cidades nalista, então a variável i pode ser incrementada de um e pode ser avalia-da a próxima cidade na lista das cidades.It can then be determined if countcity / province is at least X% (where X is a number greater than zero) of countcity. When countcity / province is at least X% of countcity, then city may be considered an "unambiguous city". " An "unambiguous citizen" may refer to a city whose name can be used on a search query and it will be understood that the user intended the city and not anything else. When count-city / province is not at least X% of countcity, then it can be determined if there are more cities in the list. If there are more cities in the list then variable i can be incremented by one and the next city in the list of cities can be evaluated.

Os documentos dos resultados de busca podem ser anali-sados para identificar quaisquer códigos postais que eles contêm. Oscódigos postais podem ser identificados usando uma técnica de compa-ração de padrões e verificados comparando-os com uma lista de códigospostais. Pode, então, ser determinado se os códigos postais correspon-dem a códigos postais associados com a cidade(i). O número de docu-mentos que contêm códigos postais associados com a cidade(i) pode sercontado como countpostal. Pode ser determinado se countpostal é pelomenos X% (por exemplo, 5%) de countcity. Quando countpostal é pelomenos X% de countcity, então a cidade pode ser considerada umacidade não ambígua.Search result documents can be analyzed to identify any postal codes they contain. Postcodes can be identified using a pattern matching technique and verified by comparing them to a list of postcodes. It can then be determined whether the postcodes match the postcodes associated with the city (i). The number of documents containing postal codes associated with city (i) can be counted as countpostal. It can be determined if countpostal is at least X% (for example, 5%) of countcity. When countpostal is at least X% countcity, then the city can be considered an unambiguous city.

Numa terceira técnica exemplificativa, o extrator de infor-mações de negócios 720 pode identificar um documento geograficamen-te relevante. Um documento geografickmente relevante, como usadoaqui, geralmente pode se referir a qualquer documento que, de algumamaneira, foi determinado ter relevância particular para uma localizaçãogeográfica. As listagens de negócios (por exemplo, listagens de páginasamarelas) podem ser consideradas um documento geograficamenterelevante que é relevante para a região geográfica definida pelo endereçodos negócios. Outros documentos, tais como documentos da Web,podem também ter relevância geográfica particular. Por exemplo, umnegócio pode ter uma home page, pode ser o assunto de um documentoque comenta ou repassa os negócios ou pode ser mencionado por umapágina da Web que, de algum outro modo, se relaciona com os negócios.A localização geográfica particular a que um documento está associadopode ser determinada de vários modos, tal como a partir do endereçopostal ou de outros sinais geográficos.In a third exemplary technique, business information extractor 720 can identify a geographically relevant document. A geographically relevant document, as used here, can generally refer to any document that has been determined to have particular relevance to a geographical location. Business listings (for example, yellow page listings) can be considered a geographically relevant document that is relevant to the geographic region defined by the business addresses. Other documents, such as web documents, may also have particular geographic relevance. For example, a business may have a home page, may be the subject of a document that reviews or reviews business, or may be mentioned by a webpage that otherwise relates to business. The particular geographic location to which a business The associated document can be determined in various ways, such as from the address or other geographical signs.

A região geográfica associada ao documento geograficamen-te relevante pode ser mapeada para um identificador de localizaçãocorrespondente. Os identificadores de localização adicionais podem serdeterminados para o documento. Em particular, podem também serdeterminados os identificadores de localização correspondentes àsregiões circundantes dentro de uma faixa predeterminada. Cadadocumento geograficamente relevante pode ser indexado como se odocumento incluísse os identificadores de localização associados àregião do documento, assim como também às regiões circundantesidentificadas.The geographic region associated with the geographically relevant document can be mapped to a corresponding location identifier. Additional location identifiers can be determined for the document. In particular, location identifiers corresponding to the surrounding regions within a predetermined range may also be determined. Geographically relevant document can be indexed as if the document included the location identifiers associated with the document region as well as the surrounding identified regions.

Embora a Figura 7 mostre o extrator de informações denegócios 720 como parte do indexador 435, em outras modalidades, oextrator de informações de negócios 720 pode ser separado do indexa-dor 435. Para assegurar que o conjunto de documentos de combinaçãopode estar disponível na indexação, as informações extraídas peloextrator de informações de negócios 720 podem ser fornecidas norepositório de informações de negócios 750. O repositório de informa-ções de negócios 750 pode incluir uma variedade de informações, porexemplo, os documentos a partir idos quais as informações de negóciosforam extraídas pelo extrator de informações de negócios 720. Orepositório de informações de negócios 750, junto com as informaçõesde negócios extraídas, pode ser fornecido dentro do indexador 435.Embora a Figura 7 mostre o repositório de informações de negócios 750como parte do indexador 435, em outras implementações, o repositóriode informações de negócios 750 pode ser separado do indexador 435.Although Figure 7 shows the business information extractor 720 as part of the indexer 435, in other embodiments, the business information extractor 720 may be separate from the indexer 435. To ensure that the combination document set may be available in indexing, information extracted by the business information extractor 720 may be provided in the business information repository 750. The business information repository 750 may include a variety of information, for example, documents from which business information was extracted by the extractor 720 business information repository, along with extracted business information, can be provided within the 435 indexer. Although Figure 7 shows the business information repository 750 as part of the 435 indexer, in other implementations, the business information repository 7 50 may be separated from indexer 435.

O planificador de distâncias 730 pode configurar um raioou distância de busca para uma questão de busca local. Por exemplo,numa modalidade, cada questão de busca local pode ser geocodificadapelo geocodificador 430 para uma localização particular. Cada localiza-ção pode ser uma localização de ponto (por exemplo, edifícios, lugaresturísticos famosos, escolas, centros das ruas etc.) ou uma localizaçãolimitada (por exemplo, distritos, cidades, províncias etc.). Para localiza-ções de ponto, o planiflcador de distâncias 730 pode configurar o raiode busca para uma distância predeterminada (por exemplo, aproxima-damente cinco quilômetros em torno do ponto). Para localizaçõeslimitadas, o planiflcador de distâncias 730 pode configurar o raio debusca para aproximadamente a distância máxima a partir de umcentróide da posição para os cantos. As pontuações dos resultados debusca num conjunto zcode associado à localização (isto é, o conjunto dezcodes que compõem a posição) podem ser promovidas. Deste modo,quando um usuário busca próximo a um nome de distrito, os resulta-dos superiores podem estar dentro desse distrito.The distance planner 730 can set a radius or search distance for a local search question. For example, in one embodiment, each local search query may be geocoded by geocoder 430 to a particular location. Each location can be a point location (eg buildings, famous statistic places, schools, street centers, etc.) or a limited location (eg districts, cities, provinces, etc.). For point locations, the distance planner 730 can set the search radius to a predetermined distance (for example, approximately five kilometers around the point). For limited locations, the distance planner 730 can set the striking radius to approximately the maximum distance from a centroid of position to corners. Results scores are debugged in a zcode set associated with the location (ie the set of tencodes that make up the position) can be promoted. Thus, when a user searches near a district name, the top results may be within that district.

O agrupador 740 pode agrupar dados de provedores demapas 400 e dados das páginas amarelas 405 em conjunto. Muitos dosdados de provedores de mapas 400 podem incluir informações deposição precisa de forma que pode ser exibido com precisão num mapa,mas pode não incluir informações detalhadas de endereço ou númerode telefone (por exemplo, poderia incluir um endereço sem um númerode rua e/ou pode estar faltando um número de telefone). Por outrolado, os dados das página^ amarelas 405 podem incluir informaçõesdetalhadas de número de endereço e telefone, mas podem não incluirinformações precisas da posição. Por exemplo, dados de provedores demapas 400 podem incluir uma origem (por exemplo, provedor demapas), um título (por exemplo, "Universidade de Beijing"), um endere-ço (por exemplo, "Cidade de Beijing Distrito de HaiDian Estrada de YiHeYuan") e/ou um ID de POI (para exibição de mapa) (por exemplo,"A1234567"). Entretanto, os dados das páginas amarelas 405 podemincluir uma origem (por exemplo, provedor de dados das páginasamarelas), um título (por exemplo, "Universidade de Beijing"), umendereço (por exemplo, "Cidade de Beijing Distrito de HaiDian Estradade YiHe Yuan Número 5") e/ou um número de telefone (por exemplo,"010-62752114"). Se estas entradas forem agrupadas em conjunto peloagrupador 740, então, o servidor de front end 440 pode ser capaz deprover o usuário com informações detalhadas de endereço e número detelefone, assim como também uma posição precisa num mapa.Collator 740 may group map provider data 400 and yellow page data 405 together. Many data from map providers 400 may include accurate deposition information so that it can be accurately displayed on a map, but may not include detailed address or telephone number information (for example, it could include an address without a street number and / or missing a phone number). On the other hand, yellow page data 405 may include detailed address and telephone number information, but may not include accurate position information. For example, data from map providers 400 may include a source (for example, map provider), a title (for example, "Peking University"), an address (for example, "Beijing City HaiDian District YiHeYuan ") and / or a POI ID (for map display) (e.g." A1234567 "). However, yellow page data 405 may include an origin (eg, yellow page data provider), a title (eg "Peking University"), an address (eg "Beijing City HaiDian District YiHe Yuan Road Number 5 ") and / or a telephone number (e.g." 010-62752114 "). If these entries are grouped together by switch 740, then front end server 440 may be able to provide the user with detailed address and telephone number information as well as an accurate position on a map.

A posição obtida a partir da geocodificação (por exemplo,com o geocodificador 430) do endereço de dados das páginas amarelas405 pode ser uma aproximação e pode estar longe da posição precisafornecida por dados de provedores de mapas 400. Neste caso, o mesmonegócio a partir de dois provedores pode ficar localizado em muitosbairros diferentes e, deste modo, podem não ser agrupados em conjuntopelo agrupador 740. A solução para isto pode incluir a geocodificação(por exemplo, com o geocodificador 430) do endereço a partir de dadosde provedores de mapas 400 até uma posição de grupo. A posição dogrupo pode ser usada para geração de vizinhança, assim como tambémpara agrupar pelo agrupador 740. A posição real fornecida pelos dadosdos provedores de irrapas 400 pode, então, ser usada para exibir omapa.The position obtained from the geocoding (for example, with the geocoder 430) of the yellow page data address405 may be an approximation and may be far from the precise position provided by map provider data 400. In this case, the same business from two providers may be located in many different neighborhoods and thus may not be grouped together by cluster 740. The solution to this may include geocoding (for example, with geocoder 430) of the address from map provider data 400 through a group position. The group position can be used for neighborhood generation as well as for grouping by grouper 740. The actual position provided by data from the chip providers 400 can then be used to display the map.

O destacador de fragmentos 760 pode destacar fragmentosem documentos (por exemplo, documentos da Web). O destaque dofragmento de documento da Web pode ser tipicamente realizado pordesvios de termos nòs documentos. Visto que um documento CJK podeter os termos contados de modo diferente a partir de outras linguagens(por exemplo, usar um espaço como delimitador, um parágrafo longo detexto pode precisar de ser segmentado para obter os termos), a fim dedestacar termos específicos, o documento inteiro pode ser segmentadopara obter os termos correspondentes, o que pode ser ineficiente.Contudo, o destacador de fragmentos 760 pode armazenar desvios debaites em vez de desvios de termos para identificar um endereço ounúmero de telefone (ou algumas outras informações de negócios) numdocumento da Web durante a indexação. O destacador de fragmentos760 pode usar o deslocamento de baites para realizar o destaque e podenão ser exigida nenhuma segmentação. Embora a Figura 7 mostre odestacador de fragmentos 760 como parte do indexador 435, em outrasimplementações, o destacador de fragmentos 760 pode ser separado doindexador e/ou estar incluído noutro componente (por exemplo, dentroservidor de front end 440).The 760 fragment detacher can highlight document fragments (for example, web documents). Highlighting Web document fragmentation can typically be accomplished by misusing terms in documents. Since a CJK document may have terms counted differently from other languages (for example, using a space as a delimiter, a long paragraph of text may need to be segmented to get the terms), in order to highlight specific terms, the document The integer can be segmented to obtain matching terms, which can be inefficient. However, the 760 snippet detacher may store deviations instead of terms to identify an address and telephone number (or some other business information) in a Web document. during indexing. The 760 fragment detacher can use the shift offset to perform highlighting and no segmentation may be required. Although Figure 7 shows fragment detacher 760 as part of indexer 435, in other implementations, fragment detacher 760 may be detached from the dexterator and / or included in another component (e.g., front end server 440).

Embora a Figura 7 mostre tarefas exemplificativas realiza-das pelo indexador 435, em outras modalidades, o indexador 435 poderealizar tarefas adicionais ou diferentes que podem ser usadas paraidentificar os resultados da busca local. Além disso, embora a Figura 7mostre os componentes de indexador 435 como interconectados, emoutras modalidades, os componentes de indexador 435 podem sercomponentes separados, não interconectados.Although Figure 7 shows exemplary tasks performed by indexer 435, in other embodiments, indexer 435 may perform additional or different tasks that can be used to identify local search results. Moreover, while Figure 7 shows the indexer components 435 as interconnected, in other embodiments, the indexer components 435 may be separate, non-interconnected components.

Servidor de Front EndFront End Server

O servidor de front end 440, conforme mostrado na Figura8, pode realizar uma variedade de tarefas para ajudar na identificaçãodos resultados da busca local. Numa modalidade, por exemplo, oservidor de front end 440 pode incluir um regravador de questão 800,um gerador de busca local 810, um gerador de mapas 820, um geradorde informações geográficas 830 etc. Embora Figura 8 mostre tarefasexemplificativas realizadas pelo servidor de front end 440, em outrasimplementações, o servidor de front end 440 pode realizar tarefasadicionais ou diferentes que podem ser usadas para ajudar na identifi-cação dos resultados da busca local.Front End Server 440, as shown in Figure 8, can perform a variety of tasks to help identify local search results. In one embodiment, for example, front end server 440 may include a question rewriter 800, a local search generator 810, a map generator 820, a geographic information generator 830, and so on. Although Figure 8 shows exemplary tasks performed by Front End Server 440, in other implementations, Front End Server 440 can perform additional or different tasks that can be used to help identify local search results.

Numa modalidade, o regravador de questão 800 poderealizar uma variedade de tarefas. Por exemplo, visto que o número deagrupamentos de documento de Web pode ser muito menor para dadoschineses em comparação com os dados ingleses, pode ser usada umacoincidência num título ou categoria para retornar resultados válidos.Também, em chinês, pode haver vários sinônimos que se referem aomesmo termo. Por exemplo, o termo "restaurante" pode ter váriossinônimos comuns em chinês. Além disso, os_diferentes provedores de .dados das páginas amarelas 400 podem usar diferentes nomes pararepresentar a mesma categoria. A fim de proporcionar a maior chama-da para a questão de busca introduzida pelo usuário, o regravador dequestão 800 pode gerar uma lista de sinônimos para cada uma dascategorias. O regravador de questão 800 pode também regravar cadaquestão de busca local, de modo a expandir a questão para um par determos de busca que podem ser juntos por um operador "OU".In one embodiment, issue rewriter 800 may perform a variety of tasks. For example, since the number of Web document groups may be much smaller for Chinese data compared to English data, a coincidence in a title or category may be used to return valid results. Also, in Chinese, there may be several synonyms that refer to same term. For example, the term "restaurant" may have several common Chinese synonyms. In addition, the different yellow page data providers 400 may use different names to represent the same category. In order to provide the biggest call to the user-entered search query, Question Rewriter 800 can generate a list of synonyms for each of the categories. Question rewriter 800 can also rewrite each local search query to expand the query to a pair of search terms that can be joined by an "OR" operator.

O gerador de busca local 810 pode gerar os resultados dabusca local 450. Por exemplo, o gerador de busca local 810 pode gerarresultados correspondendo a páginas relevantes da Web e/ou listagensde negócios dentro de uma área geográfica específica, com base nasinformações de endereços obtidas e processadas pelo sistema de buscalocal 225. Os resultados da busca local 450 podem ser exibidos (porexemplo, para o usuário que introduz a questão de busca local) nummonitor (por exemplo, dispositivo de saída 370).Local search generator 810 can generate local search results 450. For example, local search generator 810 can generate results corresponding to relevant web pages and / or business listings within a specific geographic area based on the address information obtained and processed by local search system 225. Local search results 450 may be displayed (for example, to the user entering the local search query) on a monitor (eg output device 370).

O gerador de mapas 820.pode gerar um mapa relativo aos. _resultados da busca local 450. Por exemplo, a fim de exibir o mapapara os resultados, o gerador de mapa 820 pode construir uma moldurai (isto é, uma moldura flutuante inserida numa página da Web) noresultado de busca da página e pode executar uma ação posterior paraum URL fornecido pelo provedor de mapas. Os parâmetros no postopodem conter os campos seguintes para cada resultado da busca: umtítulo; um endereço; um número de telefone; ID de POI (para exibir oponto no mapa); e exatidão. As localizações que podem ser geocodifica-das a um nível de edifício podem ser marcadas como precisas no mapapelo gerador de mapas 820. As localizações que podem ser geocodifica-das a um nível de rua (ou algum nível mais alto de abstração) podemser marcadas como estimadas no mapa pelo gerador de mapas 820. AFigura 9 ilustra como estes dois níveis de exatidão podem ser distingui-dos num mapa 900 gerado com base nos resultados da busca local 910.Por exemplo, as localizações precisas 920 podem ser identificadas poruma cor de marcador (por exemplo, verde) e as posições estimadas 930podem ser identificadas por outra cor de marcador (por exemplo,vermelho). Embora sejam mostrados na Figura 9dois níveis de exatidão(precisa e estimada), os níveis adicionais de exatidão podem ser usadosem outras modalidades consistentes com os princípios da invenção.The map generator 820.png can generate a map relative to. _local search results 450. For example, in order to display the map for the results, the map generator 820 can construct a frame (i.e. a floating frame inserted into a web page) into the page search result and can perform an action. later to a URL provided by the map provider. The parameters in the post may contain the following fields for each search result: a title; an address; a telephone number; POI ID (to display the point on the map); and accuracy. Locations that can be geocoded to a building level can be marked as accurate on the map generator by map generator 820. Locations that can be geocoded to a street level (or some higher level of abstraction) can be marked as estimated by the map generator 820. Figure 9 illustrates how these two levels of accuracy can be distinguished on a map 900 generated from local search results 910. For example, precise locations 920 can be identified by a marker color. (e.g. green) and estimated positions 930 can be identified by another marker color (e.g. red). Although two levels of accuracy (accurate and estimated) are shown in Figure 9, additional levels of accuracy can be used in other embodiments consistent with the principles of the invention.

Durante a indexação pelo indexador 435, a impressãodigital do endereço (por exemplo, FP de endereços 540) pode ser arma-zenada junto com a sua exatidão associada (por exemplo, exatidão deFP 550). O mapeamento entre a impressão digital de endereço e o ID dePOI (por exemplo, informações de mapeamento de FP de endereços/IDde POI 425) pode ser usado pelo gerador de mapa 820 para pesquisar oID de POI para cada resultado de busca. O ID de POI pode ser usadopelo gerador de mapa 820 para identificar uma posição no mapa (porexemplo, mapa 900) para o provedor de mapas, de forma que o provedorde mapas pode mostrar a posição no mapa fornecido dentro da páginade resultado.During indexing by the indexer 435, the fingerprint of the address (e.g., FP address 540) can be stored along with its associated accuracy (e.g., accuracy ofFP 550). Mapping between the address fingerprint and the POI ID (for example, address FP / POI ID 425 mapping information) can be used by map generator 820 to search the POI ID for each search result. The POI ID can be used by map generator 820 to identify a map position (eg map 900) for the map provider, so that the map provider can show the map position provided within the result page.

A fim de exibir anúncios locais para a China, o gerador deinformações geográficas 830 pode fornecer informações geográficas parao servidor de anúncios 840 numa variedade de modos. Por exemplo,numa implementação, cada província ou cidade auto-administradapode ter um código de dois dígitos, que pode ser a segunda parte docódigo da região definido por ISO-3166-2. O geocodificador 430 podeindexar este código (por exemplo, "CN-dd") com cada endereço e passá-lo para o servidor de front end 440 para cada endereço geocodificadocom sucesso. O gerador de informações geográficas 830 pode enviar ocódigo para o servidor de anúncios 840 como um geocódigo de região.In order to display local advertisements for China, the 830 geographic information generator can provide geographic information for the 840 ad server in a variety of ways. For example, in one implementation, each self-administered province or city may have a two-digit code, which may be the second part of the region code defined by ISO-3166-2. Geocoder 430 can index this code (for example, "CN-dd") with each address and pass it to front end server 440 for each successful geocoded address. The 830 geo generator can send code to ad server 840 as a region geocode.

Noutra implementação, os anunciantes podem ofertar sobrepares de palavra-chave de <palavra-chave, posição>, em vez de usargeotargeting, porque, para buscas na Web, o geotargeting pode nãotrabalhar tão bem em países asiáticos como ocorre nos Estados Unidos.O inventário para anúncios pode ser mais para esses pares de palavra-chave. Como resultado, o gerador de informações geográficas 830 podeconcatenar palavras-chaves com as posições entradas pela questão debusca e pode usar estas concatenações como palavras-chaves enviadaspara o servidor de anúncios 840. Por exemplo, quando o usuário busca"restaurante" próximo de "Beijing", a palavra-chave enviada para oservidor de anúncios 840 pelo gerador de informações geográficas 830pode ser "restaurante Beijing". Essa disposição pode ser fornecidatanto para o Japão como a China.In another implementation, advertisers may offer keyword overlays from <keyword, position> instead of using geotargeting, because for web searches geotargeting may not work as well in Asian countries as it does in the United States. for ads may be more for these keyword pairs. As a result, the 830 Geo Info Generator can reconcile keywords with the positions entered by the search question and can use these concatenations as keywords sent to the 840 ad server. For example, when the user searches for "restaurant" near "Beijing ", the keyword sent to ad server 840 by geographic information generator 830 may be" Beijing restaurant. " This provision can be provided for both Japan and China.

Ainda noutra implementação, o gerador de informaçõesgeográficas 830 pode determinar se a questão de busca inclui umareferência geográfica. Se a questão de busca não incluir uma referênciageográfica, então, podem ser apresentados anúncios regulares peloservidor de anúncios 840. Todavia, pode ser determinado se umindicador da posição do usuário, tal como o endereço de IP do usuário,está disponível. Quando um indicador da posição do usuário estádisponível, então, podem ser apresentados anúncios locais com base nalocalização do usuário.In yet another implementation, the geographic information generator 830 can determine whether the search question includes a geographic reference. If the search question does not include a geographic reference, then regular ads may be displayed by the 840 ad server. However, it can be determined whether a user position indicator, such as the user's IP address, is available. When a user position indicator is available then local ads may be displayed based on the user's location.

Se, por outro lado, a questão de busca incluir uma referên-cia geográfica, o gerador de informações geográficas 830 pode determi-nar se a referência geográfica corresponde apenas a um nome de cidade(isto é, sem quaisquer outras informações geográficas, tal como nenhu-mas informações de província). Se a questão de busca incluir umareferência geográfica diferente de um nome de cidade apenas, entããpodem ser apresentados anúncios locais.If, on the other hand, the search question includes a geographic reference, then the geographic information generator 830 can determine whether the geographic reference corresponds only to a city name (ie without any other geographic information such as no provincial information). If the search question includes a geo-reference other than just a city name, then local ads may appear.

Se a questão de busca incluir uma referência geográficacorrespondendo apenas a um nome de cidade, então o gerador deinformações geográficas 830 pode determinar se a cidade corresponde auma cidade não ambígua. Se a cidade não corresponder a uma cidadenão ambígua, então, podem ser apresentados anúncios regulares. Se acidade corresponder a uma cidade não ambígua, então, o gerador deinformações geográficas 830 pode determinar se o nome da cidade comum ou mais outros termos de busca da questão aparece numa listanegra. Uma lista negra pode ser mantida para nomes de cidades nãoambíguas que, quando combinados com uma ou mais palavras, signifi-quem algo diferente das respectivas cidades. Se o nome da cidade comum ou mais outros termos de busca da questão aparecer na lista negra,então, podem ser apresentados anúncios regulares. Se o nome dacidade com um ou mais outros termos de busca da questão não apare-cer na lista negra, então podem ser apresentados anúncios locais combase na referência geográfica da questão.If the search question includes a geographic reference that corresponds to only one city name, then the geographic information generator 830 can determine if the city corresponds to an unambiguous city. If the city does not match an unambiguous citizen, then regular ads may appear. If the city corresponds to an unambiguous city, then the geographic information generator 830 can determine whether the common city name or more other query search terms appear in a blacklist. A blacklist can be kept for unambiguous city names that, when combined with one or more words, mean something different from their respective cities. If the common city name or more other search terms of the question are blacklisted then regular ads may appear. If the name dacity with one or more other query search terms does not appear on the blacklist, then local ads may be displayed based on the geographic reference of the query.

Se deverem ser apresentados anúncios locais ("alvejados"),podem ser usadas informações relativas à localização do usuário (porexemplo, o endereço de IP do usuário) pelo gerador de informaçõesgeográficas 830 para determinar se a localização está dentro de umadistância predeterminada da localização correspondente à referênciageográfica. Se a localização do usuário estiver dentro da distânciapredeterminada, então, podem ser apresentados anúncios locais. Se aposição do usuário estiver fora da distância predeterminada, porém,então, podem ser apresentados anúncios regulares.If local ("targeted") ads are to be displayed, user location information (for example, the user's IP address) may be used by the geographic information generator 830 to determine if the location is within a predetermined distance from the location corresponding to the location. geographical reference. If the user's location is within the predetermined distance, then local ads may appear. If the user's affix is out of the predetermined distance, however, then regular advertisements may appear.

O servidor de front end 440 (ou componentes do servidor defront end 440) pode realizar algumas tarefas que podem ser específicaspara a China. Por exemplo, o servidor de front end 440 pode esconderdireções de direção, fornecer uma unidade de exibição (quilômetrocontra milha) que possa ser dependente do país, realizar filtração parapalavras-chaves sensíveis, quando o usuário estiver na China, fornecerformatação específica de endereços e números de telefone chineses paraexibição, mostrar a localização geocodificada na parte superior do mapae/ou arredondar a distância para 0,5 quilômetros em vez de 0,1 quilô-metros e remover a direção.Front End Server 440 (or components of Front End Server 440) can perform some tasks that may be specific to China. For example, the 440 front end server can hide direction directions, provide a country dependent display unit (mile per mile), filter for sensitive keywords when in China, provide specific address and number formatting phone numbers for display, show the geocoded location at the top of the map, and / or round the distance to 0.5 kilometers instead of 0.1 kilometers and remove the direction.

Processo ExemplificativoExample Process

As Figuras IOA-IOD são fluxogramas de um processoexemplificativo para identificar os resultados da busca local e fornecerum mapa associado a posiçõesidentificadas.IOA-IOD Figures are flowcharts of an exemplary process for identifying local search results and providing a map associated with identified positions.

Resultado de Busca Locale Processo de Geração de Mapas ExempliflcativosLocale Search Result Exemplary Map Generation Process

Conforme mostrado na Figura 10A, um processo 1000 paraidentificar os resultados da busca local e fornecer um mapa associadocom posições identificadas pode começar com o recibo das páginasamarelas, o provedor de mapas e dados de documentos (bloco 1005).Por exemplo, numa modalidade descrita acima com relação à Figura 4,os dados do provedor de mapas 400, os dados das páginas amarelas405 e os dados de documentos da Web 410 podem ser fornecidos para oindexador 435 e os dados de provedores de mapas 400 podem ainda serusados para derivar informações de ID de POI/endereços e informaçõesde mapeamento de FP de endereços/ID de POI 425.As shown in Figure 10A, a process 1000 for identifying local search results and providing a map associated with identified locations can start with receipt of the yellow pages, map provider and document data (block 1005). For example, in an embodiment described above with respect to Figure 4, map provider data 400, yellow page data 405, and web document data 410 may be provided for indexer 435, and map provider data 400 may further be used to derive ID data from POI / Address and Address FP Mapping Information / POI ID 425.

O processo 1000 pode realizar a geocodificação sobre osdados (bloco 1010). Por exemplo, numa implementação descrita acimacom relação à Figura 6, o gerador de listas de endereços 600 do geoco-dificador 430 pode receber dados de provedores de mapas 400 e dadosdas páginas amarelas 405 e pode gerar uma lista de endereços combase nas províncias, cidades, distritos, nomes de rua, endereços, nomesde POI ou combinações dos mesmos a partir de dados de provedores demapas 400 e/ou dados das páginas amarelas 405. O analisador 610 dogeocodificador 430 pode tentar analisar a cidade e/ou distrito a partirdo início de cada endereço. O localizador de prefixos de coincidênciamais longos 620 do geocodificador 430 pode ser usado para localizarpartes adicionais de cada endereço. O localizador de combinações 630do geocodificador pode localizar combinações particulares de forma queos nomes de POI possam ser localizados primeiro, então vários níveisdos endereços possam ser localizados e, finalmente, possam ser locali-zados distritos ou cidades. A unidade de geocodificação da questão 640do geocodificador 430 pode computar a pontuação do resultado de umabusca com base no número de pontos na localização do resultado debusca.Process 1000 can perform geocoding over data (block 1010). For example, in an implementation described above with respect to Figure 6, the address book generator 600 of the geo-jammer 430 can receive data from map providers 400 and data from yellow pages 405 and can generate an address list based on provinces, cities, districts, street names, addresses, POI names, or combinations thereof from map provider data 400 and / or yellow page data 405. Analyzer 610 from encoder 430 can attempt to analyze the city and / or district from the beginning of each Address. Longer match prefix locator 620 of geocoder 430 can be used to locate additional parts of each address. The geocoder's combination finder 630 can locate particular combinations so that POI names can be located first, then multiple levels of addresses can be located, and finally districts or cities can be located. The geocoding unit of question 640 of geocoder 430 can compute a search result score based on the number of points in the search result location.

Como melhor mostrado na Figura 10A, o processo 1000pode realizar a indexação sobre os dados (bloco 1015). Por exemplo,numa implementação descrita acima com relação à Figura 7, o indexa-dor de dados de mapa 700 do indexador 435 pode indexar dados deendereço a partir dos dados de provedores de mapas 400, o que podeincluir informações de posições de mapas. O pré-processador de dadosdas páginas amarelas 710 do indexador 435 pode receber dados daspáginas amarelas 405 a partir dos diferentes provedores e pode pré-processar dados das páginas amarelas 405 para um formato comum. Oextrator de informações de negócios 720 do indexador 435 pode extrairinformações de negócios (por exemplo, endereços e números de telefone)a partir de dados de documentos da Web 410 usando uma variedade detécnicas. As técnicas podem ser modificadas com base na formataçãodiferente de endereços e números de telefone na China e no Japão. Asinformações de negócios extraídas podem ser fornecidas no repositóriode informações de negócios 750. O planificador de distâncias 730 doindexador 435 pode configurar um raio de busca para uma questão debusca local. O agrupador 740 do indexador 435 pode agrupar dados deprovedores de mapas 400 e dados das páginas amarelas 405 em con-junto. O destacador de fragmentos 760 do indexador 435 pode destacarfragmentos em documentos (por exemplo, documentos da Web).As best shown in Figure 10A, process 1000 can perform indexing on data (block 1015). For example, in an implementation described above with respect to Figure 7, the map data indexer 700 of indexer 435 may index address data from map provider data 400, which may include map position information. The yellow page data preprocessor 710 of indexer 435 can receive yellow page data 405 from the different providers and can preprocess yellow page data 405 to a common format. The business information extractor 720 from indexer 435 can extract business information (for example, addresses and telephone numbers) from web document data 410 using a variety of techniques. Techniques can be modified based on the different formatting of addresses and phone numbers in China and Japan. The extracted business information can be provided in the business information repository 750. The distance planner 730 of indexer 435 can set a search radius for a local debauchery issue. Indexer 440 740 can group map map data 400 and yellow page data 405 together. The 760 shard detacher of indexer 435 can highlight fragments in documents (for example, web documents).

O processo 1000 pode gerar os resultados da busca local epode fornecer um URL de mapas (bloco 1020). Por exemplo, numaimplementação descrita acima com relação à Figura 8, o gerador debusca local 810 do servidor de front end 440 pode gerar resultados debusca local 450 (por exemplo, páginas relevantes da Web e/ou listagensde negócios dentro de uma área geográfica específica, com base nasinformações de endereços obtidas e processadas pelo sistema de buscalocal 225). O gerador de mapas 820 do servidor de front end 440 podegerar um mapa relativo aos resultados da busca local 450. Por exem-pio, a fim de exibir o mapa para os resultados, o gerador de mapas 820pode construir uma moldura i (isto é, uma moldura flutuante dentro deuma página da Web) sobre a página dos resultados de busca e podeexecutar uma ação posterior para um URL fornecido pelo provedor demapas.Process 1000 can generate local search results and can provide a map URL (block 1020). For example, in an implementation described above with respect to Figure 8, the front end server local search generator 810 440 may generate local search results 450 (e.g., relevant web pages and / or business listings within a specific geographic area, with address information obtained and processed by the local search system 225). Front end server map generator 820 can generate a map relative to local search results 450. For example, in order to display the map for results, map generator 820 can construct a frame i (i.e. a floating frame within a webpage) over the search results page, and you can take further action to a URL provided by the map provider.

Processo de Geocodificação ExemplificativoExemplary Geocoding Process

O bloco do processo 1010 (Figura 10A) do processo 1000pode incluir os blocos mostrados na Figura 10B. Deste modo, o blocodo processo 1010 pode gerar uma lista de endereços (bloco 1025). Porexemplo, numa modalidade descrita acima com relação à Figura 6, ogerador de listas de endereços 600 do geocodificador 430 pode receberdados dos provedores de mapas 400 e dados das páginas amarelas 405e pode gerar uma lista de endereços (fichas) com base nas províncias,cidades, distritos, nomes de rua, endereços, nomes de POI ou combina-ções dos mesmos a partir de dados dos provedores de mapas 400 e/oudados das páginas amarelas 405. O bloco do processo 1010 podeanalisar cada endereço na lista de endereços (bloco 1030). Por exemplo,numa implementação descrita acima com relação à Figura 6, para cadaendereço, o analisador 610 do geocodificador 430 pode tentar analisar acidade e o distrito do endereço.Process block 1010 (Figure 10A) of process 1000 may include the blocks shown in Figure 10B. Thus, process block 1010 can generate an address list (block 1025). For example, in an embodiment described above with respect to Figure 6, the address book generator 600 of geocoder 430 can receive data from map providers 400 and yellow page data 405e can generate an address book based on provinces, cities, districts, street names, addresses, POI names or combinations thereof from map provider data 400 and / or yellow page data 405. Process block 1010 can analyze each address in the address list (block 1030) . For example, in an implementation described above with respect to Figure 6, for each address, parser 610 of geocoder 430 may attempt to parse the address and district of address.

Como ainda mostrado na Figura 10B, o bloco do processo1010 pode localizar os prefixos de coincidência mais longos a partir decada endereço na lista de endereços (bloco 1035). Por exemplo, numamodalidade descrita acima com relação ã Figura 6, pode ser usado olocalizador de prefixos de coincidência mais longos 620 do geocodifica-dor 430 para localizar partes adicionais do endereço (por exemplo, umacidade, uma aldeia, uma estrada ou rua, número, nomes de POI etc.).Se os prefixos mais longos de comparação não são localizados noendereço (bloco 1040 - NO), então, o bloco do processo 1010 podecontinuar a localizar partes adicionais do endereço (bloco 1035).As further shown in Figure 10B, process block 1010 can find the longest match prefixes from each address in the address list (block 1035). For example, in a embodiment described above with respect to Figure 6, longer match prefix locator 620 of geocoder 430 may be used to locate additional parts of the address (e.g., a city, a village, a road or street, number, If the longer comparison prefixes are not found in the address (block 1040 - NO), then process block 1010 may continue to find additional parts of the address (block 1035).

Se os prefixos mais longos de comparação são localizadosno endereço (bloco 1040 - SIM), então, o bloco do processo 1010 podelocalizar,.combinações em .cada endereço (bloco. 1045). Por exemplo, ,numa implementação descrita acima com relação à Figura 6, o localiza-dor de combinações 630 do geocodificador 430 pode localizar combina-ções particulares de forma que possam ser localizados nomes de POIprimeiro, depois, possam ser localizados vários níveis dos endereços e,finalmente, possam ser localizados distritos ou cidades. Essa disposi-ção de um localizar pode garantir ou verificar que o endereço maisespecífico possível pode ser obtido pelo localizador de combinações 630.If the longest comparison prefixes are located at address (block 1040 - YES), then process block 1010 can find combinations of each address (block 1045). For example, in an implementation described above with respect to Figure 6, the geocoder 430 combination locator 630 can locate particular combinations so that first POI names can be located, then multiple levels of addresses and locations can be located. Finally, districts or cities can be located. Such a locator arrangement can guarantee or verify that the most specific address possible can be obtained by the combination locator 630.

Processo de Indexação ExemplificativoExemplary Indexing Process

O bloco do processo 1015 (Figura 10A) do processo 1000pode incluir os blocos mostrados na Figura 10C. Deste modo, o blocodo processo 1015 pode pré-processar os dados das páginas amarelas(bloco 1050). Por exemplo, numa implementação descrita acima comrelação à Figura 7, o pré-processador de dados das páginas amarelas710 do indexador 435 pode receber dados das páginas amarelas 405 apartir dos diferentes provedores e pode pré-processar dados das páginasde amarelas 405 para um formato comum (ou predeterminado). Estesdados formatados podem ser fornecidos para o geocodificador 430durante a indexação e o geocodificador 430 pode tentar geocodificar oendereço. Se o endereço puder ser geocodificado ao nível de edifício ourua, o endereço pode ser indexado como uma entrada normal. Se oendereço puder ser geocodificado · ao nível de cidade ou distrito, oendereço pode ser indexado como uma entrada com uma posiçãoaproximada.Process block 1015 (Figure 10A) of process 1000 may include the blocks shown in Figure 10C. In this way, process block 1015 can preprocess the yellow page data (block 1050). For example, in an implementation described above with respect to Figure 7, the yellow page data preprocessor 710 of indexer 435 may receive yellow page data 405 from different providers and may preprocess yellow page data 405 to a common format ( or predetermined). This formatted data can be supplied to geocoder 430 during indexing and geocode 430 can attempt to geocode address. If the address can be geocoded at the gold building level, the address can be indexed as a normal entry. If the address can be geocoded at the city or district level, the address can be indexed as an entry with an approximate position.

O bloco do processo 1015 pode extrair informações denegócios a partir dos documentos (bloco 1055) e pode armazenar asinformações de negócios (bloco 1060). Por exemplo, numa implementa-ção descrita acima com relação à Figura 7, o extrator de informações denegócios 720 do indexador 435 pode extrair informações de negócios(por exemplo, endereços e números de telefone) a partir de dados dedocumentos da Web 410 usando uma variedade de técnicas. As técni-cas podem ser modificadas com base na formatação diferente de ende-reços e números de telefone na China e no Japão. Noutra implementa-ção descrita acima com relação à Figura 7, as informações de negóciosextraídas podem ser providas no repositório de informações de negócios750. O repositório de informações de negócios 750 pode incluir umavariedade de informações, por exemplo, os documentos a partir dosquais foram extraídas as informações de negócios pelo extrator deinformações de negócios 720.Process block 1015 can extract business information from documents (block 1055) and can store business information (block 1060). For example, in an implementation described above with respect to Figure 7, the business information extractor 720 of indexer 435 can extract business information (e.g., addresses and telephone numbers) from Web document data 410 using a variety of techniques. Techniques may be modified based on different formatting of addresses and telephone numbers in China and Japan. In another implementation described above with respect to Figure 7, extracted business information may be provided in the information repository of business750. The business information repository 750 may include a variety of information, for example, documents from which business information was extracted by the business information extractor 720.

O bloco do processo 1015 pode indexar dados de endereçorecebidos de um provedor de mapas (bloco 1065). Por exemplo, numamodalidade descrita acima com relação à Figura 7, o indexador dedados de mapa 700 do indexador 435 pode indexar dados de endereço apartir dos dados de provedores de mapas 400, que podem incluirinformações de posições de mapas. O geocodificador 430 pode tentargeocodificar o endereço novamente com base nos dados de endereçosindexados e o agrupador 740 pode configurar a posição do grupo, se aposição do grupo for diferente da posição dada, mas pode não configu-rar a posição do grupo acima de um limite de distância predeterminada(por exemplo, dentro três quilômetros).Process block 1015 can index address data received from a map provider (block 1065). For example, in a embodiment described above with respect to Figure 7, the map data indexer 700 of indexer 435 may index address data from map provider data 400, which may include map position information. Geocoder 430 may attempt to re-encode the address based on the dexposed address data, and grouper 740 may set the group position if the group position is different from the given position, but may not set the group position above a limit. predetermined distance (eg within 3 kilometers).

Como ainda mostrado na Figura 10C, o bloco do processo1015 pode agrupar dados de páginas amarelas e dados de provedoresde mapas (bloco 1070). Por exemplo, numa modalidade descrita acimacom relação à Figura 7, o agrupados 740 do indexador 435 pode agru-par dados de provedores de mapas 400 e dados das páginas amarelas405 em conjunto. Se estas entradas são agrupadas em conjunto peloagrupador 740, então o servidor de front end. 440 pode ser capaz deprover o usuário com informações detalhadas de endereço e de númerode telefone, assim como também uma posição precisa sobre um mapa.As further shown in Figure 10C, process block 1015 can group yellow page data and map provider data (block 1070). For example, in one embodiment described above with respect to Figure 7, cluster 740 of indexer 435 may group map provider data 400 and yellow page data 405 together. If these entries are grouped together by switch 740, then the front end server. 440 may be able to provide the user with detailed address and telephone number information as well as an accurate position on a map.

O bloco do processo 1015 pode destacar fragmentos forne-cidos em documentos (bloco 1075). Por exemplo, numa implementaçãodescrita acima com relação à Figura 7, o destacador de fragmentos 760do indexador 435 pode destacar fragmentos em documentos (porexemplo, documentos da Web). O destacador de fragmentos 760 podearmazenar deslocamentos de baites em vez de deslocamentos de termospara identificar um endereço ou número de telefone (ou algumas outrasinformações de negócios) num documento da Web durante a indexação.O destacador de fragmentos 760 pode usar o deslocamento de baitespara realizar os destaques e nenhuma segmentação pode ser exigida.Process block 1015 may detach fragments provided in documents (block 1075). For example, in an implementation described above with respect to Figure 7, the fragment detacher 760 of indexer 435 may detach fragments in documents (for example, web documents). Snippet 760 can store shifters rather than term shifts to identify an address or phone number (or some other business information) in a web document during indexing. Snippet 760 can use shifters to perform highlights and no segmentation may be required.

Como ainda mostrado na Figura 10C, o bloco do processo1015 pode configurar uma distância de busca (bloco 1080). Por exem-plo, numa modalidade descrita acima com relação à Figura 7, o planifi-cador de distâncias 730 do indexador 435 pode configurar um raio debusca para uma questão de busca local geocodificada pelo geocodifica-dor 430 para uma localização particular. Cada localização pode seruma posição de ponto (por exemplo, edifícios, lugares turísticos famo-sos, escolas, centros das ruas etc.) ou uma localização limitada (porexemplo, distritos, cidades, províncias etc.). Para localizações de ponto,o planificador de distâncias 730 pode configurar o raio de busca parauma distância predeterminada (por exemplo, aproximadamente cincoquilômetros em torno do ponto). Para localizações limitadas, o planifi-cador de distâncias 730 pode configurar o raio de busca para aproxi-madamente a distância máxima a partir de um centróide da localizaçãopara os cantos.As further shown in Figure 10C, process block 1015 can set a seek distance (block 1080). For example, in an embodiment described above with respect to Figure 7, the distance planner 730 of indexer 435 may configure a lightning bolt for a geocoded local search question by geocoder 430 for a particular location. Each location can be a point location (eg buildings, famous tourist sites, schools, street centers, etc.) or a limited location (eg districts, cities, provinces, etc.). For point locations, the distance planner 730 can set the search radius to a predetermined distance (e.g., approximately five kilometers around the point). For limited locations, the distance planner 730 can set the search radius to approximately the maximum distance from a centroid of the location to the corners.

Processo ExemplificativoExample Process

do Servidor de Front Endof the front end server

O bloco de processo 1020 (Figura 10A) do processo 1000pode incluir os blocos mostrados na Figura 10D. Deste modo, o blocodo processo 1020 pode regravar uma questão de busca (bloco 1085).Por exemplo, numa implementação descrita acima com relação à Figura8, pode haver vários sinônimos que se referem ao mesmo termo emchinês. Além disso, os diferentes provedores de dados das páginasamarelas 400 podem usar diferentes nomes para representar a mesmacategoria. A fim de proporcionar, a maior chamada para a questão debusca introduzida pelo usuário, o regravador de questão 800 do servi-dor de front end 440 pode gerar uma lista de sinônimos para cada umadas categorias. O regravador de questão 800 pode também regravarcada questão de busca local que pode expandir a questão para um parde termos de busca que podem ser juntos por um operador "OU".Process block 1020 (Figure 10A) of process 1000 may include the blocks shown in Figure 10D. Thus, process block 1020 may rewrite a search query (block 1085). For example, in an implementation described above with respect to Figure 8, there may be several synonyms that refer to the same Chinese term. In addition, the different Yellow Page 400 data providers may use different names to represent the same category. In order to provide the largest call to the user-entered query question, the front end server question rewriter 800 can generate a list of synonyms for each of the categories. The 800 question rewrite can also rewrite local search query which can expand the query to a search terms that can be joined by an "OR" operator.

O bloco do processo 1020 pode gerar os resultados dabusca local com base na questão de busca e pode gerar um mapa quemostra localizações dos resultados de busca (bloco 1090). Por exemplo,numa implementação descrita acima com relação à Figura 8, o geradorde busca local 810 do servidor de front end 440 pode gerar os resulta-dos da busca local (por exemplo, páginas da Web e/ou listagens denegócios relevantes dentro de uma área geográfica específica, com basenas informações de endereço obtidas e processadas pelo sistema debusca local 225). Noutra modalidade descrita em relação com a Figura8, o gerador de mapas 820 do servidor de front end 440 pode gerar ummapa relativo aos resultados da busca local 450. Por exemplo, a fim deexibir o mapa para os resultados, o gerador de mapas 820 pode cons-truir uma moldura i (isto é, uma moldura flutuante dentro de umapágina da Web) sobre a página de resultados de busca e pode executaruma ação posterior para um URL fornecido pelo provedor de mapas. OID de POI pode ser, usado pelo gerador de mapas 820 para identificaruma posição sobre CvTnapa (por exemplo, mapa 900) para o provedor demapas de forma que o provedor de mapas pode mostrar a posição nomapa fornecido dentro da página de resultados.Process block 1020 can generate local search results based on the search query and can generate a map showing search result locations (block 1090). For example, in an implementation described above with respect to Figure 8, front end server local search generator 810 440 may generate local search results (e.g., web pages and / or relevant business listings within an area). specific address information obtained and processed by the local debugging system 225). In another embodiment described in relation to Figure 8, the front end server 440 map generator 820 may generate a map relative to the local search results 450. For example, in order to display the map for the results, the map generator 820 may - construct an i frame (i.e. a floating frame within a webpage) over the search results page and you can perform a further action to a URL provided by the map provider. The POI ID can be used by the map generator 820 to identify a position on CvTnapa (eg map 900) for the map provider so that the map provider can show the map position provided within the results page.

Como ainda mostrado na Figura 10D, o bloco do processo1020 pode gerar informações geográficas para um servidor de anúncios(bloco 1095). Por exemplo, numa modalidade descrita acima comrelação à Figura 8, a fim de exibir anúncios locais para a China, ogerador de informações geográficas 830 do servidor de front end 440podem fornecer informações geográficas para o servidor de anúncios840. Por exemplo, o gerador de informações geográficas 830 podeenviar o código da região para o servidor de anúncios 840 como umgeocódigo de região. Noutro exemplo, o gerador de informações geográ-ficas 830 pode concatenar palavras-chaves com as posições introduzi-das pela entrada da questão de busca do usuário e pode usar estasconcatenações como as palavras-chaves enviadas para o servidor deanúncios 840.As further shown in Figure 10D, process block 1020 can generate geographic information for an ad server (block 1095). For example, in one embodiment described above with respect to Figure 8, in order to display local advertisements for China, the front-end server geographic information generator 830 may provide geographic information for the ad server840. For example, the geographic information generator 830 might send region code to ad server 840 as a region code. In another example, the geographic information generator 830 may concatenate keywords with the positions entered by the user's search query entry and may use these concatenations as the keywords sent to the ad server 840.

ConclusãoConclusion

As implementações aqui descritas podem proporcionarsistemas e métodos para identificar os resultados da busca local e gerarum mapa associado com as localizações identificadas. O sistema podereceber uma entrada de questão de busca local pelo usuário e podeidentificar uma posição associada à questão da busca local. O sistemapode identificar um conjunto de resultados da busca local que podeestar relacionado com a questão de busca local e pode estar associado àlocalização identificada. Os resultados da busca local podem incluirlinks para documentos que podem estar relacionados com a questão debusca local. O sistema pode identificar um identificador para um grupode resultados dá busca local e pode fornecer o identificador para umprovedor de mapas. O sistema pode receber um mapa associado com aposição identificada do provedor de mapas. O mapa pode identificaruma posição de pelo menos um resultado de busca no grupo de resul-tados da busca local.The implementations described herein may provide systems and methods for identifying local search results and generating a map associated with the identified locations. The system may receive a local search query entry by the user and may identify a position associated with the local search query. The system may identify a set of local search results that may be related to the local search issue and may be associated with the identified location. Local search results may include links to documents that may relate to the local search query. The system can identify an identifier for a group of local search results and can provide the identifier for a map provider. The system may receive a map associated with an identified location from the map provider. The map can identify a position of at least one search result in the local search result group.

As modalidades descritas proporcionam uma ou mais dasvantagçns seguintes. Por exemplo, dados de mapas e dados das pági-nas amarelas podem ser utilizados a partir de diferentes provedorespara identificar os resultados da busca local e gerar um mapa associadocom localizações identificadas. O mapa pode ser convenientementeexibido com os resultados da busca local. Essa disposição evita ageração de resultados da busca local e um ponteiro para um servidor doprovedor de mapas de terceiros.The described embodiments provide one or more of the following advantages. For example, map data and yellow page data can be used from different providers to identify local search results and generate an associated map with identified locations. The map can be conveniently displayed with local search results. This arrangement prevents the generation of local search results and a pointer to a third-party map provider server.

Noutro exemplo, o mapa pode proporcionar dados de mapadetalhados com base nos dados das páginas amarelas...: Isto pode. tornarpossível gerar um mapa que inclui dados de mapa detalhados em paísesonde as restrições de exportação podem limitar a disponibilidade dedados de mapa detalhados para entregar o mapa ou podem limitar adisponibilidade da latitude e longitude reais de endereços dentro daárea.In another example, the map may provide detailed map data based on the yellow page data ...: This may. make it possible to generate a map that includes detailed map data in countries where export restrictions may limit the availability of detailed map data to deliver the map or may limit the availability of actual address latitude and longitude within the area.

A descrição precedente de modalidades da presente inven-ção proporciona a ilustração e descrição, mas não se pretende que sejaexaustiva nem que limite a invenção à forma precisa revelada. Sãopossíveis modificações e variações levando em conta os ensinamentosacima ou podem ser adquiridas a partir da prática da invenção. Porexemplo, embora tenham sido descritas séries de atos no que se rela-ciona com as Figuras 1OA-10D, a ordem dos atos pode ser modificadaem outras implementações consistentes com os princípios da invenção.Além disso, atos não dependentes podem ser realizados em paralelo.Numa implementação, o servidor 220 pode realizar a maioria, se nãotodos, os atos descritos no que se relaciona com o processamento dasFiguras IQA-10D. Noutra implementação, um ou mais ou todos os atospodem ser realizados por outra entidade, tal como outro servidor 230e/ou 240 ou cliente 210.The foregoing description of embodiments of the present invention provides illustration and description, but is not intended to be exhaustive or to limit the invention to the precise form disclosed. Modifications and variations are possible taking into account the above teachings or may be acquired from the practice of the invention. For example, although series of acts have been described with respect to Figures 10A-10D, the order of acts may be modified in other implementations consistent with the principles of the invention. In addition, nondependent acts may be performed in parallel. In one implementation, server 220 may perform most, if not all, of the acts described with respect to processing of the IQA-10D Figures. In another implementation, one or more or all of them may be performed by another entity, such as another server 230e and / or 240 or client 210.

Noutro exemplo, podem ser utilizadas abordagens alternati-vas para endereços de geocodificação que não são providos pelo prove-dor de mapas. Nimia abordagem alternativa, o geocodificador 430 podetentar localizar o ponto mais próximo de um endereço a ser geocodifica-do. Por exemplo, suponha-se que os pontos "1 Rua ABC" e "10 RuaABC" são identificados pelo provedor de mapas. Quando se tentageocodificar o endereço "3 Rua ABC", o geocodificador 430 pode retor-nar a localização "1 Rua ABC", que é o ponto mais próximo de "3 RuaABC". Noutra abordagem alternativa, o geocodificador 430 pode tentarinterpolar um ponto. Por exemplo, se "1 Rua ABC" estiver no índice degrade (0, 0) e "10 Rua ABC" estiver no índice de grade (10, 20), o geoco-dificador 430 pode determinar que o endereço de "3 Rua ABC" está noíndice de grade (3, 6), com base na interpolação.Ainda noutro exemplo, podem ser utilizadas abordagensalternativas para obter o ID de POIs para desenhar o mapa. Numaabordagem alternativa, o ID de POI pode ser armazenado com os dadosde localização a partir do provedor de mapas. Os IDs de POIs podemser retornados pelo servidor de front end 440 durante o tempo serviço.Os IDs de POIs podem mudar em versões diferentes dos dados deprovedores de mapas. Armazenar o ID de POI no índice torna o índicedependente dos dados a partir do provedor de mapas. Noutra aborda-gem alternativa, os endereços dos resultados de busca podem sergeocodiíicados durante o tempo de serviço e pode ser pedido que ogeocodiíicador 430 forneça os pontos de comparação mais próximos. Ogeocodificador 430 pode retornar os IDs de POIs dos pontos. Os pedi-dos dos pontos de comparação mais próximos podem ser enviados emlotes (por exemplo, lotes de dez) de pedidos de geocodificação de formaque o impacto de desempenho pode ser pequeno.In another example, alternative approaches may be used for geocoding addresses that are not provided by the map provider. In an alternative approach, the 430 geocoder may attempt to locate the nearest point of an address to be geocoded. For example, suppose that the points "1 ABC Street" and "10 ABC Street" are identified by the map provider. When attempting to encode the "3 ABC Street" address, geocoder 430 may return the location "1 ABC Street", which is the closest point to "3 ABC Street". In another alternative approach, geocoder 430 may attempt to interpolate a point. For example, if "1 ABC Street" is at the gradation index (0, 0) and "10 ABC Street" is at the grid index (10, 20), geo-430 might determine that the address of "3 ABC Street" "is in the grid index (3, 6) based on interpolation. Still in another example, alternative approaches can be used to obtain the POI ID for drawing the map. In an alternate approach, the POI ID can be stored with location data from the map provider. POI IDs may be returned by Front End Server 440 during service time. POI IDs may change in different versions of map depraving data. Storing the POI ID in the index makes the index dependent on the data from the map provider. In another alternative approach, search result addresses may be geocoded during service time and geocoder 430 may be required to provide the nearest comparison points. The 430 encoder can return the point POI IDs. Requests from the nearest comparison points can be sent in batches (for example, lots of ten) of geocoding requests so that the performance impact can be small.

Num exemplo adicional, se bem que os sistemas e métodosfossem descritos em termos de uma busca local chinesa, noutra imple-mentação, algumas das técnicas aqui descritas podem aplicar-seigualmente a buscas locais em outros países.In a further example, while systems and methods are described in terms of a Chinese local search, in another implementation, some of the techniques described herein may apply equally to local searches in other countries.

Será evidente para uma pessoa de capacidade ordinária naIt will be evident to a person of ordinary ability in the

técnítea que aspectos da invenção, como descrita acima, podem serimplementados de muitas maneiras diferentes de software, firmware ehardware nas modalidades ilustradas nas Figuras. O código de softwa-re real ou hardware de controle especializado usado para implementaraspectos consistentes com os princípios da invenção não são limitativosda invenção. Deste modo, a operação e o comportamento dos aspectosforam descritos sem referência ao código de software específico - ficandoentendido que uma pessoa de capacidade ordinária na técnica seriacapaz de projetar software e hardware de controle para implementar osaspectos com base na presente descrição.It is understood that aspects of the invention as described above may be implemented in many different ways in software, firmware and hardware in the embodiments illustrated in the Figures. The actual software code or specialized control hardware used to implement aspects consistent with the principles of the invention are not limiting of the invention. Thus, the operation and behavior of aspects were described without reference to the specific software code - it being understood that a person of ordinary skill in the art would be able to design control software and hardware to implement the aspects based on the present description.

Nenhum elemento, ato ou instrução usada no presentepedido deve ser interpretado como crítico ou essencial para a invenção,a menos que explicitamente descrito como tal. Também, conforme aquiusado, pretende-se que o artigo "um" inclua um ou mais itens. Noscaos em que apenas um item é pretendido, é usado o termo "um" oulinguagem semelhante. Além disso, pretende-se que a frase "com baseem" signifique "com base, pelo menos em parte, em", a menos queexplicitamente declarado de outra forma.No element, act, or instruction used in the present application shall be construed as critical or essential to the invention unless explicitly described as such. Also, as used herein, article "one" is intended to include one or more items. In cases where only one item is intended, the term "one" or similar language is used. In addition, the phrase "based" is intended to mean "based, at least in part, on" unless explicitly stated otherwise.

Claims (46)

1. Método de Buscas Locais, caracterizado por que compreende : receber dados das páginas amarelas, dados do provedor demapas de terceiros e dados de documento em resposta a uma questãode busca local;geocodificar pelo menos um dos dados das páginas amare-las, os dados do provedor de mapas de terceiros e os dados de docu-mento para atribuir um identificador geográfico e combinar pelo menosum endereço dentro da questão de busca local;indexar os dados geocodificados para identificar informa-ções de negócios e informações de localização correspondendo à questãode busca local; e proporcionar os resultados da busca local e um mapa deterceiros com base nas informações de negócios e informações delocalização identificadas.1. Local Search Method, comprising: receiving yellow page data, third-party map provider data, and document data in response to a local search question, geocoding at least one of the page data to love them, the data third-party map provider and document data to assign a geographic identifier and match at least one address within the local search query; index geocoded data to identify business information and location information matching the local search query ; and provide local search results and a third-party map based on identified business and location information. 2. Método de Buscas Locais, de acordo com a Reivindicação 1,caracterizado por que os dados das páginas amarelas compreendempelo menos uma de informações de endereçb para pontos de interesse(POIs), informações de número de telefone para POIs, um nome denegócios, um endereço de e-mail, um número de facsímile, um endereçode site da Rede, um nome de CEO, uma descrição de negócios, umacategoria de estilo SIC ou um tipo de negócios.Local Search Method according to Claim 1, characterized in that the yellow page data comprises at least one POI address, POI telephone number information, a business name, a email address, facsimile number, Network website address, CEO name, business description, SIC style category, or business type. 3. Método de Buscas Locais, de acordo com a Reivindicação 1,caracterizado por que os dados do provedor de mapas de terceiroscompreendem um ponto de interesse (POI) e um endereço do POI.Local Search Method according to Claim 1, characterized in that the data from the third-party map provider comprises a point of interest (POI) and a POI address. 4. Método de Buscas Locais, de acordo com a Reivindicação 3,caracterizado por que os dados do provedor de mapas de terceiroscompreendem ainda uma grade para o POL.Local Search Method according to Claim 3, characterized in that the third-party map provider data further comprises a grid for the POL. 5. Método de Buscas Locais, de acordo com a Reivindicação 1,caracterizado por que os dados do provedor de mapas de terceiroscompreendem pelo menos um dentre:um ponto normal de interesse (POI) que inclui um nome denegócios, um endereço, um número de telefone e um índice de grade,uma estrada POI que inclui um nome de rua e um índice degrade de um centro da rua ouum código postal POI que inclui um código postal e umíndice de grade de um centro aproximado do código postal.Local Search Method according to Claim 1, characterized in that the third-party map provider data comprises at least one of: a normal point of interest (POI) that includes a business name, an address, a telephone and grid index, a POI road that includes a street name and a street center degrade index, or a POI zip code that includes a zip code and a grid index of an approximate center of the zip code. 6. Método de Buscas Locais, de acordo com a Reivindicação 1,caracterizado por que a geocodificação compreende:gerar uma lista de endereços com base na questão de buscalocal;analisar cada endereço na lista de endereços;localizar os prefixos de coincidência mais longos em cadaendereço para identificar partes de cada endereço; elocalizar combinações em cada endereço para verificar cadaendereço.Local Search Method according to Claim 1, characterized in that the geocoding comprises: generating an address list based on the local search question, parsing each address in the address list, locating the longest match prefixes in each address to identify parts of each address; Find combinations in each address to verify each address. 7. - Método de Buscas Locais, de acordo com a Reivindicação 1,caracterizado por que a indexação compreende:pré-processar os dados das páginas amarelas para umformato predeterminado;extrair as informações de negócios a partir dos dados dedocumento;indexar as informações de endereço a partir dos dados doprovedor de mapas de terceiros; eagrupar os dados das páginas amarelas e os dados doprovedor de mapas de terceiros.7. Local Search Method according to Claim 1, characterized in that the indexing comprises: preprocessing yellow page data to a predetermined format, extracting business information from document data, indexing address information from third party map provider data; and group the yellow page data and third-party map provider data. 8. - Método de Buscas Locais, de acordo com a Reivindicação 7,caracterizado por que a indexação compreende ainda:armazenar as informações de negócios num repositório;destacar fragmentos nos dados de documento; econfigurar uma distância de busca para a questão da buscalocal.8. Local Search Method according to Claim 7, characterized in that the indexing further comprises: storing business information in a repository, highlighting fragments in document data; and set a search distance for the local search issue. 9. Método de Buscas Locais, de acordo com a Reivindicação 1,caracterizado por que o fornecimento compreende:gerar uma lista de sinônimos relacionados com a questãoda busca local;reescrever a questão de busca local para expandir a ques-tão;gerar os resultados da busca lõcal com base na questãoexpandida;obter o mapa de terceiros com base nos resultados dabusca local; egerar anúncios com base em informações geográficasrelacionadas com os resultados da busca local.Local Search Method according to Claim 1, characterized in that the supply comprises: generating a list of synonyms related to the local search question, rewriting the local search question to expand the issue, generating the search results. local search based on the expanded question; get the third-party map based on local search results; and generate ads based on geographic information related to local search results. 10. Método de Buscas Locais, de acordo com a Reivindicação 1,caracterizado por que as informações de localização são determinadasa partir dos dados do provedor de mapas de terceiros e os dados daspáginas amarelas.Local Search Method according to Claim 1, characterized in that the location information is determined from third-party map provider data and yellow page data. 11. Método de Geocodificação, com base numa questão de buscalocal, caracterizado por que compreende:receber dados do provedor de mapas de terceiros e dadosdas páginas amarelas;gerar um endereço com base na questão de busca local;analisar o endereço;localizar prefixos de coincidência mais longos no endereçopara identificar pelo menos uma parte do endereço; elocalizar uma combinação no endereço para verificar oendereço.Geocoding method, based on a local search query, characterized by: receiving data from the third-party map provider and yellow page data, generating an address based on the local search query, analyzing the address, locating match prefixes longer addresses to identify at least part of the address; Find a match in the address to verify the address. 12. - Método de Geocodificação, de acordo com a Reivindicação 11,caracterizado por que compreende ainda:gerar o endereço com base em informações incluídas nosdados do provedor de mapas de terceiros ou nos dados das páginasamarelas.Geocoding method according to Claim 11, further comprising: generating the address based on information included in third-party map provider data or yellow page data. 13. - Método de Geocodificação, de acordo com a Reivindicação 11,caracterizado por que compreende ainda:analisar uma cidade e um distrito do endereço.Geocoding method according to Claim 11, further comprising: analyzing a city and a district of the address. 14. - Método de Geocodificação, de acordo com a Reivindicação 11,caracterizado por que a parte do endereço compreende pelo menos umdentre uma cidade, uma aldeia, uma estrada, uma rua, um número ouum nome de um ponto de interesse.Geocoding method according to Claim 11, characterized in that the address portion comprises at least one of a city, a village, a road, a street, a number or a name of a point of interest. 15. - Método de Geocodificação, de acordo com a Reivindicação 11,caracterizado por que compreende ainda:localizar a combinação no endereço de forma que um nomede um ponto de interesse seja localizado em primeiro lugar, outraspartes do endereço sejam localizadas em segundo lugar e um distrito ouuma cidade seja localizada em terceiro lugar.15. The geocoding method of Claim 11 further comprising: locating the combination at the address such that a point of interest name is located first, other parts of the address are located second, and a district or city is located third. 16. - Método de Geocodificação, de acordo com a Reivindicação 11,caracterizado por que compreende ainda:indexar o endereço como uma posição exata, se o endereçoincluir um edifício ou uma parte de rua.16. A geocoding method according to Claim 11, further comprising: indexing the address as an exact position if the address includes a building or part of a street. 17. - Método de Geocodificação, de acordo com a Reivindicação 11,caracterizado por que compreende ainda:Indexar o endereço para uma posição aproximada, se oendereço incluir uma parte da cidade ou uma parte de distrito.Geocoding method according to Claim 11, further comprising: Indexing the address to an approximate position if the address includes a part of the city or a part of a district. 18. - Método de Indexação, com base numa questão de busca local,caracterizado por que compreende:pré-processar dados das páginas amarelas para um prede-terminado formato;extrair informações de negócios a partir de dados de docu-mento;armazenar as informações de negócios num repositório;indexar as informações de endereço a partir de dados doprovedor de mapas de terceiros;agrupar os dados das páginas amarelas e os dados doprovedor de mapas de terceiros;destacar fragmentos nos dados de documento;para uma localização de ponto, configurar uma distância debusca para a questão de busca local para uma distância predetermina-da; epara uma localização limitada, configurar a distância debusca para aproximadamente uma distância máxima a partir de umcentróide da localização limitada aos cantos da localização limitada.18. Indexing method, based on a local search query, comprising: preprocessing yellow page data to a predefined format; extracting business information from document data; storing the information index address information from third-party map provider data; group yellow page data and third-party map provider data; highlight fragments in document data; for a point location, set up a distance searches for the local search question for a predetermined distance; and for a limited location, set the debus distance to approximately a maximum distance from a centroid of the limited location to the corners of the limited location. 19. - Método de Indexação, de acordo com a Reivindicação 18, carac-terizado por que compreende ainda:pré-processar os dados das páginas amarelas para umformato predeterminado.An indexing method according to claim 18 further comprising: preprocessing the yellow page data to a predetermined format. 20. - Método de Indexação, de acordo com a Reivindicação 18, carac-terizado por que as informações de negócios' compreendem pelo menosum de um endereço de negócios ou um número de telefone de negócios.Indexing method according to Claim 18, characterized in that the business information comprises at least one of a business address or business phone number. 21. - Método de Indexação, de acordo com a Reivindicação 20, carac-terizado por que compreende ainda:modificar a extração das informações de negócios com baseem diferenças de formato do endereço de negócios ou o número detelefone de negócios.The Indexing Method of Claim 20 further comprising: modifying the extraction of business information based on business address format differences or business telephone number. 22. Método de Indexação, de acordo com a Reivindicação 18, carac-terizado por que compreende ainda:armazenar documentos associados com as informações denegócios no repositório.Indexing method according to Claim 18, further comprising: storing documents associated with business information in the repository. 23. Método de Indexação, de acordo com ^a Reivindicação 18, carac-terizado por que compreende ainda:geocodificar um endereço com base nas informações deendereço indexadas; edeterminar uma nova posição de agrupamento com base noendereço geocodificado. se a nova posição de agrupamento for diferentede uma posição de agrupamento prévia.Indexing method according to Claim 18, further comprising: geocoding an address based on the indexed address information; and determine a new grouping position based on the geocoded address. if the new grouping position is different from a previous grouping position. 24. Método de Indexação, de acordo com a Reivindicação 18, carac-terizado por que compreende ainda:destacar os fragmentos nos dados de documento com baseem desvios de baites que são armazenados para identificar as informa-ções de negócios nos dados de documento.Indexing method according to Claim 18, characterized in that it further comprises: detaching the fragments in the document data based on the deviations of baites that are stored to identify the business information in the document data. 25. Método de Buscas Locais, caracterizado por que compreende:gerar uma lista de sinônimos relacionados com umaquestão de busca local;reescrever a questão de busca local de modo a expandir aquestão;gerar resultados de busca local com base na questãoexpandida;obter um mapa a partir de um provedor de mapas deterceiros com base nos resultados da busca local; egerar anúncios com base em informações geográficasrelacionadas com os resultados da busca local.25. Local Search Method, comprising: generating a list of synonyms related to a local search query, rewriting the local search query to expand the search, generating local search results based on the expanded query, obtaining a map from a third-party map provider based on local search results; and generate ads based on geographic information related to local search results. 26. Método de Buscas Locais, de acordo com a Reivindicação 25,caracterizado por que compreende ainda:reescrever a questão de busca local por junção de termosde busca com um operador "OU".Local Search Method according to Claim 25, further comprising: rewriting the local search question by joining search terms with an "OR" operator. 27. - Método de Buscas Locais, de acordo com a Reivindicação 25,caracterizado por que obter o mapa compreende:construir uma moldura de mapa com os resultados dabusca local;executar uma ação de posto para um URL fornecido peloprovedor de mapas de terceiros; eidentificar uma posição no mapa de maneira a ativar oprovedor de mapas de terceiros para mostrar a posição sobre o mapa.A Local Search Method according to Claim 25, characterized in that obtaining the map comprises: constructing a map frame with the local search results, performing a post action for a URL provided by a third party map provider; and identify a position on the map in order to enable the third-party map operator to show the position on the map. 28. - Método de Buscas Locais, de acordo com a Reivindicação 25,caracterizado por que compreende ainda:gerar os anúncios com base num código de região relacio-nado com os resultados da busca local.28. A local search method according to claim 25, further comprising: generating advertisements based on a region code relating to the local search results. 29. - Método de Buscas Locais, de acordo com a Reivindicação 25,caracterizado por que compreende ainda:concatenar uma palavra-chave com uma posição relaciona-da com a questão de busca local; egerar os anúncios com base na palavra-chave concatenada.29. A local search method according to Claim 25, further comprising: concatenating a keyword with a position related to the local search query; egenerate ads based on the concatenated keyword. 30. - Sistema de Buscas Locais, caracterizado por que compreende:um indexador para receber dados do provedor de mapas deterceiros, dados das páginas amarelas e dados de documento, pré-processar os dados das páginas amarelas para determinar informaçõesde negócios, extrair informações de negócios a partir dos dados dedocumento, identificar as informações de localização numa questão debusca local e indexar dados de endereços dos dados do provedor demapas de terceiros;um geocodiflcador para receber informações a partir doindexador e atribuir identificadores geográficos; eum servidor de frente para receber informações a partir dogeocodificador, reescrever a questão de busca local, obter um mapa apartir dos dados do provedor de mapas de terceiros e gerar os resulta-dos da busca local com base na questão de busca local.30. - Local Search System, comprising: an indexer for receiving third-party map provider data, yellow page data and document data, preprocessing yellow page data to determine business information, extracting business information from document data, identify location information in a local search query and index address data from third-party map provider data, a geocoding for receiving information from the indexer and assigning geographical identifiers; It is a front-facing server for receiving information from the encoder, rewriting the local search query, obtaining a map from third-party map provider data, and generating local search results based on the local search query. 31. Sistema de Buscas Locais, de acordo com a Reivindicação 30,caracterizado por que compreende ainda:um repositório de índices/documentos que armazena pelomenos um dos dados de endereço fornecidos pelos dados do provedorde mapas de terceiros, informações de pontos de interesse, centros decódigos postais ou cidades não incluídas nos dados do provedor demapas de terceiros.Local Search System according to Claim 30, further comprising: an index / document repository storing at least one of the address data provided by third-party map provider data, points of interest information, centers postal codes or cities not included in third-party map provider data. 32. Sistema de Buscas Locais, de acordo com a Reivindicação 30,caracterizado por que o indexador pré-processa os dados das páginasamarelas para um formato predeterminado.Local Search System according to Claim 30, characterized in that the indexer preprocesses the yellow page data to a predetermined format. 33. Sistema de Buscas Locais, de acordo com a Reivindicação 30,caracterizado por que o indexador fixa uma distância de busca para aquestão de busca local.Local Search System according to Claim 30, characterized in that the indexer sets a search distance for local search query. 34. Sistema de Buscas Locais, de acordo com a Reivindicação 30,caracterizado por que o indexador agrupa os dados do provedor demapas de terceiros e os dados das páginas amarelas.Local Search System according to Claim 30, characterized in that the indexer groups the third-party map provider data and the yellow page data. 35. Sistema de Buscas Locais, de acordo com a Reivindicação 30,caracterizado por que o indexador destaca fragmentos nos dados dedocumento.Local Search System according to Claim 30, characterized in that the indexer highlights fragments in the document data. 36. Sistema de Buscas Locais, de acordo com a Reivindicação 30,caracterizado por que o geocodificador recebe os dados do provedor demapas de terceiros e os dados das páginas amarelas e gera uma lista deendereços a partir dos dados do provedor de mapas de terceiros e osdados das páginas amarelas.Local Search System according to Claim 30, characterized in that the geocoder receives third-party map provider data and yellow page data and generates a mailing list from third-party map provider data and data. of the yellow pages. 37. Sistema de Buscas Locais, de acordo com a Reivindicação 30,caracterizado por que o geocodificador localiza partes de um endereço.Local Search System according to Claim 30, characterized in that the geocoder locates parts of an address. 38. - Sistema de Buscas Locais, de acordo com a Reivindicação 37,caracterizado por que o geocodificador localiza combinações dentro doendereço.38. Local Search System according to Claim 37, characterized in that the geocoder finds combinations within the address. 39. - Sistema de Buscas Locais, de acordo com a Reivindicação 30,caracterizado por que o geocodificador computa as pontuações de cadaresultado de busca local com base em vários pontos numa localizaçãode resultados de busca.Local Search System according to Claim 30, characterized in that the geocoder computes local search result scores based on various points at a search result location. 40. - Sistema de Buscas Locais, de acordo com a Reivindicação 30,caracterizado por que o servidor de frente gera uma lista de sinônimosrelacionados com a questão de busca local.40. Local Search System according to Claim 30, characterized in that the front-end server generates a list of synonyms related to the local search question. 41. - Sistema de Buscas Locais, de acordo com a Reivindicação 30,caracterizado por que o servidor de frente gera uma localização esti-mada e uma localização exata sobre o mapa para pelo menos umresultado de busca local.41. Local Search System according to Claim 30, characterized in that the front server generates an estimated location and an exact map location for at least one local search result. 42. - Sistema de Buscas Locais, de acordo com a Reivindicação 30,caracterizado por que o servidor de frente gera anúncios com base eminformações geográficas relacionadas com os resultados da busca local.42. Local Search System according to Claim 30, characterized in that the front end server generates advertisements based on geographic information related to the local search results. 43. - Sistema de Buscas Locais, caracterizado por que compreende:meios para receber dados das páginas amarelas, dados doprovedor de mapas de terceiros e dados de documentos em resposta auma questão de busca local;meios de geocodificação de pelo menos um dos dados daspáginas amarelas, os dados do provedor de mapas de terceiros e osdados de documento para atribuir um identificador geográfico e combi-nar pelo menos um endereço dentro da questão de busca local;meios de indexação dos dados geocodificados para identifi-car informações de negócios e informações de localização correspon-dendo à questão de busca local; emeios para proporcionar os resultados da busca local e ummapa de terceiros com base nas informações de negócios e informaçõesde localização identificadas.43. A local search system, comprising: means for receiving yellow page data, third-party map provider data and document data in response to a local search question; means for geocoding at least one of the yellow page data , third-party map provider data and document data for assigning a geographic identifier and combining at least one address within the local search query, means of indexing geocoded data to identify business information and location information. corresponding to the local search issue; means to provide local search results and a third-party map based on identified business and location information. 44. - Sistema de Buscas Locais, caracterizado por que compreende:uma memória para armazenar uma pluralidade de instru-ções; eum processador para executar instruções na memória para:identificar uma localização associada com umaquestão de busca local,identificar os resultados da busca local relevan-tes para a questão de busca local e associados com a posição identificada,identificar um identificador para cada um deum grupo dos resultados da busca local ereceber a partir de um provedor de mapas deterceiros um mapa associado com a posição identificada, em que omapa identifica uma posição de pelo menos um resultado de buscalocal no grupo de resultados da busca local.44. A local search system comprising: a memory for storing a plurality of instructions; and a processor for executing instructions in memory to: identify a location associated with a local search query, identify local search results relevant to the local search query and associated with the identified position, identify an identifier for each of a group of local search results and receive from a third-party map provider a map associated with the identified position, where the map identifies a position of at least one local search result in the local search result group. 45. - Método de Buscas Locais, caracterizado por que compreende:receber uma questão de busca local;identificar uma posição associada com a questão de buscalocal;identificar um conjunto de resultados de busca relevantespara a questão de busca local e associados com a localização identificada;identificar um identificador para cada um de um grupo dosresultados de busca;proporcionar um identificador para cada um do grupo deresultados de busca para um provedor de mapas de terceiros; ereceber a partir do provedor de mapas de terceiros ummapa associado com a localização identificada, em que o mapa identifi-ca uma posição de pelo menos um resultado de busca no grupo deresultados de busca.45. Local Search Method, comprising: receiving a local search question, identifying a position associated with the local search question, identifying a set of search results relevant to the local search question and associated with the identified location; identify an identifier for each of a search result group, provide an identifier for each of the search results group to a third party map provider; get from the third-party map provider a map associated with the identified location, where the map identifies a position of at least one search result in the search results group. 46. Método de Buscas Locais, caracterizado por que compreende:gerar uma lista de fichas; identificar um endereço potencial num documento da Rede;analisar o endereço potencial a partir de um início paradeterminar se o endereço potencial inclui uma ficha associada com umacidade;analisar ainda o endereço potencial para determinar se oendereço potencial inclui uma ficha associada com um distrito;identificar uma ficha de coincidência mais longa no endere-ço potencial depois da ficha associada com a cidade ou a ficha associa-da com o distrito; edeterminar se o endereço potencial é um endereço real combase na ficha associada com a cidade, a ficha associada com o distrito ea ficha de coincidência mais longa identificada.46. Local Search Method, comprising: generating a token list; identify a potential address in a Network document; analyze the potential address from the beginning to determine if the potential address includes a token associated with a city; further analyze the potential address to determine if the potential address includes a token associated with a district; longer match form at the potential address after the form associated with the city or the form associated with the district; Determine if the potential address is a real address based on the token associated with the city, the token associated with the district, and the longest identified token.
BRPI0615323-2A 2005-08-30 2006-08-30 local search, geocoding and indexing methods and local search systems BRPI0615323A2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US71214605P 2005-08-30 2005-08-30
US60/712,146 2005-08-30
PCT/US2006/033537 WO2007027608A2 (en) 2005-08-30 2006-08-30 Local search

Publications (1)

Publication Number Publication Date
BRPI0615323A2 true BRPI0615323A2 (en) 2011-05-17

Family

ID=37809410

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0615323-2A BRPI0615323A2 (en) 2005-08-30 2006-08-30 local search, geocoding and indexing methods and local search systems

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 (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007019699A1 (en) 2005-08-17 2007-02-22 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
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 (주)지오투정보기술 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
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 北京四维图新科技股份有限公司 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
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
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
CN110580270A (en) * 2018-06-07 2019-12-17 北京京东尚科信息技术有限公司 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
CN110619086B (en) * 2019-05-23 2022-02-25 北京无限光场科技有限公司 Method and apparatus for processing information
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
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
WO2022076081A1 (en) * 2020-10-06 2022-04-14 SafeGraph, Inc. Systems and methods for generating multi-part place identifiers
US11899696B2 (en) 2020-10-06 2024-02-13 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

Family Cites Families (9)

* 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
JP2003524259A (en) * 2000-02-22 2003-08-12 メタカルタ インコーポレイテッド Spatial coding and display of 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
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

Also Published As

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

Similar Documents

Publication Publication Date Title
BRPI0615323A2 (en) local search, geocoding and indexing methods and local search systems
US6934634B1 (en) Address geocoding
CN110399568B (en) Information searching method, device, terminal and storage medium
US7483881B2 (en) Determining unambiguous geographic references
US9164987B2 (en) Translating a search query into multiple languages
Borges et al. Discovering geographic locations in web pages using urban addresses
Shi et al. A dom tree alignment model for mining parallel data from the web
CN108712519B (en) Method and device for positioning IP address and storage medium
US20120284270A1 (en) Method and device to detect similar documents
US20070015119A1 (en) Identifying locations
JP2009525548A (en) Emphasized search results
US6691103B1 (en) Method for searching a database, search engine system for searching a database, and method of providing a key table for use by a search engine for a database
CN102646124A (en) Method for automatically identifying address information
US20100250562A1 (en) Recognition of addresses from the body of arbitrary text
Schmidt et al. Extraction of address data from unstructured text using free knowledge resources
Borges et al. Ontology-driven discovery of geospatial evidence in web pages
US9390136B2 (en) System and method of identifying relevance of electronic content to location or place
KR20040039691A (en) Indexing method of information searching system
Tabarcea et al. Framework for location-aware search engine
US20130091166A1 (en) Method and apparatus for indexing information using an extended lexicon
JP5063568B2 (en) Search control apparatus and index creation method for creating an index used for web page search for portable terminals
Jakob et al. Dcbot: Exploring the web as value-added service for location-based applications
JP2013015967A (en) Retrieval system, index preparation apparatus, retrieval device, index preparation method, retrieval method, and program
Gosavi et al. Closest Keyword Retrieval with Data Mining Approach
WO2013075275A1 (en) User information collection method and system

Legal Events

Date Code Title Description
B06G Technical and formal requirements: other requirements

Free format text: APRESENTE O DEPOSITANTE NOVAS VIAS DO RESUMO, ISENTO DE DESENHO, ADAPTADO AO ATO NORMATIVO NO 127 DE 05/03/1997, ITEM 15.3.3.5.

B08F Application fees: dismissal - article 86 of industrial property law

Free format text: REFERENTE A 10A ANUIDADE.

B08K Lapse as no evidence of payment of the annual fee has been furnished to inpi (acc. art. 87)

Free format text: EM VIRTUDE DO ARQUIVAMENTO PUBLICADO NA RPI 2385 DE 20-09-2016 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDO O ARQUIVAMENTO DO PEDIDO DE PATENTE, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013.