BRPI1007939B1 - Métodos de identificação de aspectos de consulta - Google Patents

Métodos de identificação de aspectos de consulta Download PDF

Info

Publication number
BRPI1007939B1
BRPI1007939B1 BRPI1007939-4A BRPI1007939A BRPI1007939B1 BR PI1007939 B1 BRPI1007939 B1 BR PI1007939B1 BR PI1007939 A BRPI1007939 A BR PI1007939A BR PI1007939 B1 BRPI1007939 B1 BR PI1007939B1
Authority
BR
Brazil
Prior art keywords
aspects
entity
candidate
search results
candidate aspects
Prior art date
Application number
BRPI1007939-4A
Other languages
English (en)
Inventor
Fei Wu
Jayant Madhavan
Alon Halevy
Original Assignee
Google Llc
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 Llc filed Critical Google Llc
Publication of BRPI1007939A2 publication Critical patent/BRPI1007939A2/pt
Publication of BRPI1007939B1 publication Critical patent/BRPI1007939B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24575Query processing with adaptation to user needs using context
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3338Query expansion
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/9535Search customisation based on user profiles and personalisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

identificação de aspectos de consulta. a presente invenção refere-se a métodos, sistemas e aparelhos incluindo produtos de programa de computador, para a geração de aspectos associados a entidades. em algumas implementações, um método inclui o recebimento de dados de identificação de uma entidade; a geração de um grupo de aspectos candidatos para a entidade; a modificação do grupo de aspectos candidatos para a geração de um grupo de aspectos candidatos modificados compreendendo a combinação de aspectos candidatos similares e o agrupamento de aspectos candidatos usando-se uma ou mais classes de aspecto, cada uma associada a um ou mais aspectos candidatos; a classificação de um ou mais aspectos candidatos modificados em uma pontuação de diversidade e uma pontuação de popularidade; e o armazenamento de uma associação entre um ou mais aspectos candidatos modificados de classificação mais alta e a entidade. os aspectos podem ser usados para a organização e a apresentação de resultados de busca em resposta a consultas para a entidade.

Description

ANTECEDENTES
A presente invenção refere-se à provisão, em resposta a consultas de busca, de uma informação de identificação de aspectos de entidades identificados nas consultas de busca, e ao uso dos aspectos na apresentação de uma informação em resposta a consultas de busca.
Os motores de busca da Internet proveem uma informação sobre recursos acessíveis pela internet (por exemplo, páginas da web, imagens, documentos de texto, conteúdo de multimídia) que são em resposta a uma consulta de busca de usuário e apresentam uma informação sobre os recursos de uma maneira que é útil para o usuário. Os motores de busca da Internet retornam um conjunto de resultados de busca (por exemplo, como uma lista classificada de resultados) em resposta a uma consulta submetida por um usuário. Um resultado de busca inclui, por exemplo, um URL e um fragmento de informação a partir de uma característica correspondente. Os motores de busca convencionais são implementados sob uma hipótese que a consulta de busca de usuário pode ser satisfeita por um resultado único, e trabalham para ajudar o usuário a encontrar aquele resultado. Infelizmente, nem sempre os usuários estão buscando um único resultado, mas, ao invés disso, estão usando a consulta como um ponto de partida para a exploração de um espaço desconhecido de informação sobre alguma coisa a que eles podem se referir inicialmente de uma forma genérica.
Por exemplo, um usuário pode submeter uma consulta que denomina ou se refere a uma entidade como um ponto de partida para a exploração de vários aspectos associados àquela entidade. Quando usado com referência a operações de um sistema de recuperação de informação, por exemplo, um motor de busca, o termo “entidade” se refere a um texto que denomina ou identifica alguma coisa. Isto às vezes pode ser qualquer objeto que possa ter propriedades associadas (por exemplo, um objeto no mundo físico, conceituai ou mítico). Por exemplo, uma entidade pode se referir a uma localização, uma pessoa, um personagem de ficção, um estado, uma coisa, uma ideia e assim por diante. Quando o significado é claro a partir do contexto, e para se evitar uma verbosidade desnecessária, o termo “entidade” também pode ser usado para referência à coisa em si.
Os aspectos são diferentes eixos de informação ao longo dos quais uma informação adicional sobre uma entidade pode ser obtida. Por exemplo, para uma entidade “Havaí”, os aspectos possíveis podem incluir “praias”, “hotéis” e “clima”. Como com o termo “entidade”, quando usado com referência a operações de um sistema de recuperação de informação, por exemplo, um motor de busca, o termo “aspecto” se refere a um texto que denomina o aspecto em questão e, caso contrário, quando o significado é claro a partir do contexto, o termo também pode ser usado para referência ao aspecto em si.
Uma lista classificada única de resultados provida por motores de busca convencionais tipicamente falha em prover aos usuários uma visão geral de diferentes aspectos da entidade. Ao invés disso, a única lista classificada frequentemente provê muitos resultados dirigidos a um único aspecto ou a um número pequeno de aspectos. Adicionalmente, os resultados apresentados tipicamente não identificam os aspectos representados.
SUMÁRIO
Este relatório descritivo descreve tecnologias relativas à identificação de aspectos associados a entidades.
Em geral, um aspecto do presente assunto descrito neste relatório descritivo pode ser concretizado em métodos que incluem as ações de recebimento de uma consulta em um sistema de computador, o sistema de computador compreendendo um ou mais computadores, a consulta incluindo uma entidade; a geração no sistema de computador de um grupo de aspectos candidatos para a entidade; a modificação no sistema de computador do grupo de aspectos candidatos para a geração de um grupo de aspectos candidatos modificados compreendendo a combinação de aspectos candidatos similares e o agrupamento de aspectos candidatos usando-se uma ou mais classes de aspecto, cada uma associada a um ou mais aspectos candidatos; a classificação no sistema de computador de um ou mais aspectos candidatos modificados no grupo de aspectos candidatos modificados com base em uma pontuação de diversidade e uma pontuação de popularidade; a associação no sistema de computador de um ou mais aspectos candidatos modificados de classificação mais alta à entidade; o recebimento no sistema de computador de um ou mais conjuntos de resultados de busca; e a provisão de uma apresentação dos resultados de busca em resposta à consulta, a apresentação apresentando os resultados de busca organizados de acordo com os aspectos associados à entidade. Outras modalidades deste aspecto incluem os sistemas, aparelhos e programas de computador configurados para a realização das ações dos métodos codificados em dispositivos de armazenamento em computador.
Estas e outras modalidades opcionalmente podem incluir um ou mais dos recursos a seguir. O método ainda pode incluir a apresentação de um sumário de informação sobre uma entidade de acordo com um aspecto. Um ou mais conjuntos de resultados de busca podem incluir um conjunto de resultados de busca em resposta à consulta. Cada um de um ou mais conjuntos de resultados de busca podem corresponder a um respectivo aspecto associado à entidade.
Em geral, um outro aspecto do assunto em questão descrito neste relatório descritivo pode ser concretizado em métodos que incluem as ações de recebimento de dados identificando uma entidade; geração em um sistema de computador de um grupo de aspectos candidatos para a entidade, o sistema de computador compreendendo um ou mais computadores; modificação no sistema de computador do grupo de aspectos candidatos para a geração de um grupo de aspectos candidatos modificados, que com-preende a combinação de aspectos candidatos similares e o agrupamento de aspectos candidatos usando-se uma ou mais classes de aspecto, cada uma associada a um ou mais aspectos candidatos; classificação no sistema de computador de um ou mais aspectos candidatos modificados no grupo de aspectos candidatos modificados, com base em uma pontuação de diversidade e uma pontuação de popularidade; e o armazenamento de uma associação de um ou mais dos aspectos candidatos modificados de classificação mais alta à entidade em um dispositivo de armazenamento de dados do sistema de computador. Outras modalidades deste aspecto incluem os sistemas, aparelhos e programas de computador configurados para a realização das ações dos métodos codificados em dispositivos de armazenamento em 5 computador.
Estas e outras modalidades opcionalmente podem incluir um ou mais dos recursos a seguir. O método ainda pode incluir o recebimento de uma consulta incluindo a entidade; a identificação de um ou mais aspectos associados à entidade; o recebimento de resultados de busca em resposta à 10 consulta; e a apresentação dos resultados de busca com base nos aspectos identificados. O método ainda pode incluir o recebimento de uma consulta incluindo a entidade; a identificação de um ou mais aspectos associados à entidade; o recebimento de um ou mais conjuntos de resultados de busca, cada conjunto correspondendo a um dos aspectos identificados; e a apre- 15 sentação dos resultados de busca com base nos aspectos identificados.
O método ainda pode incluir o recebimento de dados de identificação de uma ou mais propriedades de entidade, onde a geração do grupo de aspectos candidatos inclui o uso de uma ou mais propriedades de entidade; e um ou mais aspectos candidatos de classificação mais alta estão as- 20 sociados a ambas a entidade e as propriedades de entidade. O método ainda pode incluir a associação da entidade a uma classe, a classe tendo um ou mais membros de classe incluindo a entidade; e onde a geração do grupo de aspectos candidatos inclui a geração de aspectos candidatos correspondendo à entidade e à classe. A geração do grupo de aspectos candidatos 25 pode incluir a análise de um ou mais históricos de busca de primeiro usuário para a identificação de consultas associadas à entidade; e a análise de um ou mais históricos de busca de segundo usuário para a identificação de consultas associadas a um outro membro de classe além da entidade.
A combinação de aspectos candidatos pode incluir o cálculo de 30 pontuações de similaridade, onde cada pontuação de similaridade é uma estimativa de similaridade entre dois aspectos candidatos; e a combinação de aspectos candidatos em um único aspecto candidato modificado com ba-se nas pontuações de similaridade. Cada aspecto candidato pode ser expresso como um texto e a pontuação de similaridade entre dois aspectos candidatos é com base em uma comparação dos strings de texto associadas a cada aspecto candidato. O cálculo de uma pontuação de similaridade entre 5 dois aspectos candidatos pode incluir o recebimento de um respectivo conjunto de resultados de busca para cada aspecto; e o cálculo da pontuação de similaridade com base em uma comparação dos conjuntos de resultados de busca. A comparação dos conjuntos de resultados de busca pode incluir uma comparação de percursos dos resultados de busca em um dos conjun- 10 tos de resultados de busca com percursos dos resultados de busca do outro dos conjuntos de resultados de busca. A comparação dos conjuntos de resultados de busca pode incluir uma comparação de títulos e fragmentos dos resultados de busca em um dos conjuntos de resultados de busca com títulos e fragmentos dos resultados de busca no outro dos conjuntos de resulta- 15 dos de busca. A combinação de aspectos candidatos com base nas pontuações de similaridade ainda pode incluir o uso de um algoritmo de partição de gráfico para a determinação de quais aspectos combinar.
O agrupamento de aspectos candidatos usando-se uma ou mais classes de aspecto pode incluir a associação de dois ou mais aspectos can- 20 didatos a uma respectiva classe de aspecto; e o agrupamento de dois ou mais aspectos candidatos em um único aspecto candidato modificado com base nas suas classes de aspecto. O aspecto candidato modificado único pode ser uma classe de aspecto.
A classificação de um ou mais aspectos candidatos modificados 25 com base em uma pontuação de diversidade e uma pontuação de popularidade pode incluir o cálculo de uma pontuação de popularidade para cada aspecto; a classificação do aspecto com a pontuação de popularidade mais alta como o mais alto; e a classificação dos aspectos remanescentes pela repetição das etapas a seguir uma ou mais vezes: o cálculo de uma pontua- 30 ção de similaridade para cada aspecto não classificado, onde a pontuação de popularidade compara a similaridade do aspecto não classificado com os aspectos classificados; e a atribuição da próxima classificação mais alta ao aspecto cuja pontuação de popularidade dividida por sua pontuação de similaridade é a mais alta.
As modalidades em particular do assunto em questão descrito neste relatório descritivo podem ser implementadas de modo a se realizarem uma ou mais das vantagens a seguir. Os aspectos de uma entidade em uma consulta de busca podem ser identificados. Os aspectos podem ser apresentados para se tornar mais fácil que os usuários explorem o espaço de busca ao longo de múltiplos eixos. O uso de aspectos permite que um usuário explore o espaço de busca além do escopo de sua consulta original. A apresentação de aspectos também permite que um usuário rapidamente obtenha uma visão geral do que são os possíveis eixos de busca. A apresentação de aspectos também permite que um usuário rapidamente navegue por um espaço de busca eficientemente, por exemplo, pelo uso de navegação faceta-da. Uma informação relacionada aos aspectos pode ser identificada e apresentada para o usuário. Esta informação pode permitir que um usuário rapidamente obtenha uma informação que ele ou ela precisa sobre múltiplos aspectos da entidade. Mashups podem ser apresentados para um usuário como uma forma de visualização de uma informação sobre os aspectos da entidade. Os mashups apresentam uma informação associada a vários aspectos em uma única interface integrada.
Os detalhes de uma ou mais modalidades da invenção são estabelecidos nos desenhos associados e a descrição abaixo. Outros recursos, aspectos e vantagens da invenção tornar-se-ão evidentes a partir da descrição, dos desenhos e das reivindicações.
BREVE DESCRIÇÃO DOS DESENHOS
A figura 1 ilustra um sistema de busca de exemplo para a provisão de resultados de busca relevantes para consultas submetidas.
A figura 2 ilustra um método de exemplo para associação de aspectos a uma entidade.
A figura 3 ilustra um exemplo de combinação de aspectos candidatos similares.
A figura 4 ilustra um exemplo de agrupamento de aspectos com base em suas classes de aspecto.
A figura 5 ilustra um exemplo de classificação de um aspecto não classificado, dado um grupo pré-existente de um ou mais aspectos classificados.
A figura 6 ilustra um método de exemplo para o recebimento de uma consulta incluindo um ou mais termos correspondentes a uma entidade e a para a apresentação de resultados de busca com base nos aspectos identificados da entidade.
A figura 7 ilustra um mashup de exemplo exibido após um usuário submeter uma consulta de busca.
A figura 8 ilustra uma arquitetura de exemplo de um sistema.
Números de referência iguais e designações nos vários desenhos indicam elementos iguais.
DESCRIÇÃO DETALHADA
A figura 1 ilustra um sistema de busca de exemplo 114 para a provisão de resultados de busca relevantes para consultas submetidas, conforme pode ser implementado em uma internet, uma intranet ou um outro ambiente de cliente e servidor. O sistema de busca 114 é um exemplo de um sistema de recuperação de informação no qual os sistemas, os componentes e as técnicas descritos abaixo podem ser implementados.
Um usuário 102 pode interagir com o sistema de busca 114 a- través de um dispositivo de cliente 104. Por exemplo, o cliente 104 pode ser um computador acoplado ao sistema de busca 114 através de uma rede de área local (LAN) ou de uma rede de área ampla (WAN), por exemplo, a Internet. Em algumas implementações, o sistema de busca 114 e o dispositivo de cliente 104 podem ser uma máquina. Por exemplo, um usuário pode instalar um aplicativo de busca de área de trabalho no dispositivo de cliente 104. O dispositivo de cliente 104 geralmente incluirá uma memória de acesso randômico (RAM) 106 e um processador 108.
Um usuário 102 pode submeter uma consulta 110 a um motor de busca 130 em um sistema de busca 114. Quando o usuário 102 submete uma consulta 110, a consulta 110 é transmitida através de uma rede para o sistema de busca 114. O sistema de busca 114 pode ser implementado, por exemplo, como programas de computador rodando em um ou mais computadores em uma ou mais localizações que são acopladas a cada outra através de uma rede. O sistema de busca 114 inclui um banco de dados de índice 122 e um motor de busca 130. O sistema de busca 114 responde à consulta 110 pela geração de resultados de busca 128, os quais são transmitidos através da rede para o dispositivo de cliente 104 em uma forma que po-de ser apresentada para o usuário 102 (por exemplo, uma página da web de resultados de busca a ser exibida em um navegador da web rodando no dispositivo de cliente 104).
Quando a consulta 110 é recebida pelo motor de busca 130, o motor de busca 130 identifica recursos que combinam com a consulta 110. O motor de busca 130 também pode identificar um “fragmento” em particular ou uma seção de cada recurso que é relevante para a consulta. O motor de busca 130 geralmente incluirá um motor de indexação 120 que indexa recursos (por exemplo, páginas da web, imagens ou novos artigos na Internet) encontrados em um arquivo (por exemplo, uma coleção ou um repositório de conteúdo), um banco de dados de índice 122 que armazena a informação de índice, e um motor de classificação 152 (ou um outro software) que classifica os recursos que combinam com a consulta 110. A indexação e a classificação dos recursos podem ser realizadas usando-se técnicas convencionais. O motor de busca 130 pode transmitir os resultados de busca 128 através da rede para o dispositivo de cliente 104, por exemplo, para apresentação ao usuário 102.
O sistema de busca 114 também pode manter um ou mais históricos de busca de usuário com base nas consultas que ele receber de um usuário. Falando geralmente, um histórico de busca de usuário armazena uma sequência de consultas recebidas a partir de um usuário. Os históricos de busca de usuário também podem incluir uma informação adicional, tal como quais resultados foram selecionados após uma busca ter sido realizada e por quanto tempo cada resultado selecionado foi visto.
Em algumas implementações, o sistema de busca 114 inclui um associador de aspecto 140. Alternativamente, o associador de aspecto 140 pode ser implementado em um ou mais sistemas distintos acoplados ao sistema de busca 114. O associador de aspecto 140 associa aspectos a entidades em particular. Adicionalmente, o associador de aspecto 140 pode receber a consulta 110 e, em conjunto com o motor de busca 130, prover resultados de busca com base em aspecto para o usuário 102. A identificação e o uso de aspectos serão descritos em maiores detalhes abaixo.
A figura 2 ilustra um método de exemplo 200 para a associação de aspectos a uma entidade. Por conveniência, o método de exemplo 200 será descrito com referência a um sistema que realiza o método 200. O sistema pode ser, por exemplo, o sistema de busca 114, ou um sistema em separado.
O sistema recebe uma entidade (etapa 202). Uma entidade pode ser qualquer objeto que possa ter propriedades associadas (por exemplo, um objeto no mundo físico ou conceituai). Por exemplo, uma entidade pode ser uma localização, uma pessoa, uma coisa, uma ideia, etc. O sistema pode receber as entidades a partir de uma variedade de fontes. Por exemplo, o sistema pode receber uma entidade diretamente a partir de um usuário ou em resposta a ações realizadas pelo sistema (por exemplo, a ação de execução de um processo). Uma entidade pode ser extraída de uma consulta de busca recebida a partir de um usuário ou do sistema de busca 114, por e- xemplo, pela análise gramatical da consulta e pela comparação dos termos da consulta com um banco de dados de possíveis entidades. Outras fontes de uma entidade também são possíveis, por exemplo, uma entidade pode ser extraída dos dados de consulta, tais como históricos de busca de usuário.
Em algumas implementações, o sistema também recebe dados identificando uma ou mais propriedades da entidade. As propriedades de entidades são elementos adicionais associados a uma entidade que podem ser usados para o refinamento adicional da entidade. Por exemplo, “viagem” pode ser uma propriedade da entidade “Vietnã”, porque as pessoas viajam para o Vietnã.
O sistema gera um grupo de aspectos candidatos para a entidade (etapa 204). Os aspectos candidatos podem ser gerados com base na entidade ou, alternativamente, com base em uma classe associada à entidade. A classe é uma abstração da entidade. Por exemplo, “bolo de chocolate” poderia ser associado à classe “alimento”, embora bolo de chocolate seja um tipo de alimento. “Narciso” poderia ser associado à classe “flor”, porque um narciso é um tipo de flor. A classe pode ter múltiplos membros. Cada membro também é uma entidade. Por exemplo, a classe “flores” poderia incluir muitos tipos de flores, incluindo “tulipas”, “alstroemérias”, “rosas” e assim por diante.
Em algumas implementações, os aspectos baseados em entidade e os aspectos baseados em classe são usados. A confiança em ambos os aspectos baseados em entidade e os aspectos baseados em classe pode resultar em um conjunto mais robusto de aspectos. Por exemplo, algumas entidades são tão raras que haverá uma quantidade pequena de dados em que basear os aspectos. Para estas entidades, confiar em aspectos baseados em classe pode aumentar o número de aspectos candidatos. Contudo, algumas entidades são muito populares e podem ter aspectos baseados em entidade que podem ser identificados, por exemplo, a partir dos históricos de busca de usuário. Portanto, também incluir aspectos baseados em entidade pode ser útil para estas entidades mais populares.
Em algumas implementações, a geração de um grupo de aspectos candidatos para a entidade inclui a análise de dados de consulta para consultas incluindo a entidade. Os dados de consulta podem ser analisados, por exemplo, para a identificação de refinamentos de consulta e superstrings de consulta. Um refinamento de consulta ocorre quando um usuário primeiramente emite uma consulta para a entidade e, então, segue aquela consulta com uma outra consulta relacionada. Por exemplo, se um usuário emitir uma consulta para “pipoca” seguida por uma consulta para “pipoca para micro-ondas”, uma pipoca para micro-ondas poderá ser identificada como um refinamento de consulta para pipoca. Os refinamentos de consulta não têm que incluir a consulta original. Por exemplo, se um usuário emitir uma con-sulta para “computador”, seguida por uma consulta para “laptop”, laptop poderá ser identificado como um refinamento de consulta para computador. Os refinamentos de consulta podem prover uma informação valiosa sobre uma entidade, porque elas indicam como um dado usuário escolhe explorar o 5 espaço de busca para a entidade.
Os refinamentos de consulta podem ser gerados conforme se segue. Um ou mais históricos de busca de usuário incluindo consultas para a entidade podem ser identificados. Cada histórico de busca de usuário então é dividido em sessões, onde cada sessão representa um grupo de consultas 10 emitidas por um dado usuário para uma tarefa de encontrar uma dada informação. Uma sessão pode ser medida de várias formas, incluindo, por e- xemplo, por um período de tempo especificado (por exemplo, trinta minutos), por um número especificado de consultas (por exemplo, 15 consultas), até um período especificado de inatividade (por exemplo, dez minutos sem a 15 realização de uma busca), ou enquanto um usuário está conectado a um sistema de busca.
As sessões que não incluem uma consulta para a entidade podem ser filtradas. As consultas que se seguem a uma consulta para a entidade nas sessões remanescentes são refinamentos de consulta. Cada um 20 dos refinamentos de consulta indica um aspecto candidato em potencial. Por exemplo, um aspecto candidato pode ser um refinamento de consulta em si, ou a parte do refinamento de consulta que não inclui a entidade. Os aspectos candidatos também podem ser identificados pela análise do refinamento de consulta usando-se técnicas de análise linguística, por exemplo, usando- 25 se dicionários ou análise estatística para a identificação dos termos no refinamento de consulta que têm maior probabilidade de serem aspectos, ou procurando-se o refinamento de consulta em um banco de dados que associe refinamentos de consulta a aspectos. Os aspectos candidatos em potencial podem ser agregados através de usuários, e os aspectos candidatos 30 que não aparecerem mais do que um número de limite de vezes podem ser filtrados.
Em algumas implementações, os refinamentos de consulta são gerados para uma consulta com base na entidade na consulta e nas propriedades associadas à entidade, ao invés de apenas na entidade.
Falando geralmente, uma consulta é uma superstring de uma outra consulta quando ela inclui a outra consulta. Por exemplo, “pacote de 5 viagem ao Vietnã” é uma superstring de “viagem ao Vietnã”, porque inclui o texto “viagem ao Vietnã”. Diferentemente de refinamentos de consulta, uma superstring de consulta não tem que ser enviada durante a mesma sessão que a consulta para a qual ela é uma superstring.
As superstrings de consulta podem ser geradas pela considera- 10 ção de um ou mais históricos de busca de usuário e pela identificação de consultas que incluem a entidade. Cada superstring de consulta indica um aspecto candidato em potencial. Por exemplo, um aspecto candidato pode ser a parte da superstring de consulta que não inclui a entidade. Em algumas implementações, a superstring de consulta é filtrada para a remoção de 15 palavras comuns, tais como “um(a)" e “o(a)”, antes de o aspecto candidato ser identificado. Os aspectos candidatos também podem ser identificados a partir da superstring de consulta usando-se técnicas linguísticas ou um banco de dados, conforme descrito acima. Os aspectos candidatos em potencial podem ser agregados através de usuários, e os aspectos candidatos que 20 não aparecem mais do que um número de limite de vezes podem ser filtrados.
Em algumas implementações, as superstrings de consulta são identificadas para consultas que incluem uma denominação de texto da entidade e suas propriedades ao invés de apenas da entidade.
Em algumas implementações, o sistema associa a entidade a uma classe e gera aspectos candidatos baseados em classe para a entidade.
Em algumas implementações, o sistema associa a entidade a uma classe com base em um banco de dados predefinido que associa as 30 entidades a classes. Este banco de dados predefinido pode ser gerado, por exemplo, pela análise de uma informação de base de conhecimento (por exemplo, uma informação a partir da Wikipedia®, rodada pela Wikimedia Foundation, ou Freebase®, rodado pela Metaweb Technologies). Falando geralmente, uma base de conhecimento é uma coleção de informação para uma ou mais entidades. As bases de conhecimento podem especificar relações entre entidades, tais como relações de classe, e também podem espe- 5 cificar características de entidades. Por exemplo, uma base de conhecimento poderia especificar que “Canadá” está em uma classe denominada “país” e que uma de suas características é “GDP”. As relações de entidade - classe podem ser identificadas a partir da informação de base de conhecimento e as associações com base nas relações podem ser armazenadas no banco de dados para uso futuro. O banco de dados predefinido também pode ser gerado pela consulta do sistema de busca 114 quanto a padrões de Hearst, por exemplo, se a entidade é “Boston”, uma consulta para “X tal como Boston” pode ser emitida para o sistema de busca. Os resultados então podem ser analisados quanto a sentenças incluindo “tal como Boston” e a classe 15 resultante pode ser identificada. Por exemplo, se vários dos resultados de busca incluíssem a fase “cidades tal como Boston”, então, Boston poderia ser associada a uma classe de “cidade”. Em algumas implementações, a entidade não tem que ser uma combinação perfeita com uma entidade no banco de dados, de modo que uma associação possa ser identificada. Por 20 exemplo, pequenas diferenças, tal como se a entidade está no singular ou no plural, podem ser deixadas passar. Por exemplo, se o singular “rosa” estivesse armazenado no banco de dados, mas a entidade fosse “rosas”, a informação de classe para rosa poderia ser usada. Outras pequenas diferenças, tais como variações de grafia, também podem ser deixadas passar.
Em algumas implementações, o sistema associa a entidade a uma classe em andamento, por exemplo, pelo acesso a uma informação de base de conhecimento (por exemplo, ao varrer de forma sistemática e metódica um website, tal como a Wikipedia®) e pela identificação de uma classe associada à entidade recebida, ou emitindo uma consulta com um padrão de 30 Hearst incluindo a entidade. Outras técnicas para associação de uma entidade a uma classe também são possíveis. Por exemplo, a entidade pode ser classificada com base em técnicas de aprendizado de máquina, tais como máquinas de vetor de suporte. Alternativamente, um usuário pode especificar uma classe que está associada a uma entidade.
Os aspectos baseados em classe podem ser gerados, por e- xemplo, pela análise de dados de consulta para consultas incluindo um outro membro de classe além da entidade. Por exemplo, se a entidade tivesse sido “narcisos” e sua classe fosse “flores”, então, os dados de consulta poderiam ser analisados quanto a consultas incluindo “rosas”, porque “rosas” é um dos membros da classe de flores. Os dados de consulta para o membro de classe podem ser analisados para a identificação de aspectos muito como os dados de consulta para a entidade são analisados para a identificação de aspectos, conforme descrito acima. Quando a entidade está associada a uma ou mais propriedades, estas propriedades podem ser incluídas com cada membro de classe para fins de identificação de aspectos. Em algumas implementações, os aspectos baseados em classe são gerados apenas a partir de membros de classe que são suficientemente próximos da entidade, por exemplo, em um limite de tempo ou de espaço ou uma outra medida de distância entre entidades. Por exemplo, “Canadá”, “Bélgica” e “França” estão todos na classe “país”. Contudo, Bélgica e França são países vizinhos. Portanto, se a entidade for “Bélgica”, o sistema poderá identificar aspectos baseados em classe com base no membro de classe “França”, mas não no membro de classe “Canadá”, porque o Canadá está distante demais da Bélgica. O limite pode ser um número de milhas ou um número de dias, ou outras medidas de distância. O limite pode ser determinado empiricamente.
Outros métodos de geração de aspectos candidatos também são possíveis, por exemplo, os aspectos candidatos podem ser gerados pela análise de uma informação de base de conhecimento associada à entidade ou seus membros de classe. As bases de conhecimento podem prover relações binárias entre uma dada entidade e suas características. Por exemplo, a Wikipedia® provê uma “Infobox” para algumas entidades. A Infobox para o Camboja lista características tais como capital, bandeira, população, área e GDP. Estes podem prover aspectos adicionais para a entidade Camboja. Os aspectos candidatos também podem ser recuperados a partir de um banco de dados que associa as entidades ou os membros de classe aos aspectos candidatos em potencial.
Em algumas implementações, os aspectos candidatos são filtrados com base em um retorno de usuário sobre aspectos que foram previamente associados a entidades e apresentados para os usuários. O retorno de usuário pode indicar quais aspectos são aspectos úteis de uma entidade e quais aspectos não são aspectos úteis de uma entidade. O retorno de u- suário pode ser usado para se filtrarem diretamente aspectos que os usuários indicaram como não úteis. Alternativamente, o retorno de usuário pode ser usado como entradas de treinamento para o treinamento de uma máquina para filtrar aspectos candidatos usando técnicas de aprendizado de máquina.
O sistema modifica o grupo de aspectos candidatos (etapa 206). A modificação do grupo de aspectos candidatos pode incluir a combinação de aspectos candidatos similares e o agrupamento de aspectos candidatos com base em uma classe de um ou mais aspectos candidatos. Esta combinação e o agrupamento reduzem aspectos redundantes e ajudam a concentrar os aspectos em vários eixos de busca.
Frequentemente, aspectos similares são gerados. Por exemplo, para a consulta “viagem ao Vietnã”, os aspectos “pacote”, “pacotes” e “negócio” poderiam ser todos gerados. Todos estes aspectos se referem ao mesmo conceito básico - um produto agrupando vários aspectos de uma viagem em um pacote. Consequentemente, estes aspectos podem ser combinados em um único aspecto.
A figura 3 ilustra um exemplo de combinação de aspectos candidatos similares. Um grupo de aspectos candidatos inicial 302 contém quatro aspectos: o Aspecto 1, o Aspecto T, o Aspecto 2 e o Aspecto 3.
Uma pontuação de similaridade pode ser calculada para cada par de aspectos no grupo de aspectos candidatos 302. Por exemplo, o Aspecto 1 e o Aspecto T têm uma pontuação de similaridade 306 de 0,5 e o Aspecto T e o Aspecto 2 têm uma pontuação de similaridade 308 de 0,3.
Em algumas implementações, o cálculo da pontuação de simila- ridade para dois aspectos inclui a identificação de um respectivo conjunto de resultados de busca correspondendo a uma consulta para cada aspecto, e, então, a comparação dos resultados de busca. Os resultados de busca podem ser gerados pela emissão de uma consulta para um motor de busca (por exemplo, o motor de busca 130 na figura 1) para cada aspecto. Os n resultados de busca de topo para cada consulta então são escolhidos como o conjunto de resultados de busca para o respectivo aspecto (onde n pode ser qualquer inteiro escolhido para se proporcionar uma quantidade suficiente de informação para comparação (por exemplo, 8 ou 10)). Para fins de ilustração, seja D, o conjunto de resultados de busca d, e D, que corresponde a um primeiro aspecto, e seja Dj o conjunto de resultados de busca dj e Dj que corresponde a um segundo aspecto sendo comparado com o primeiro aspecto. A pontuação de similaridade para os dois conjuntos de resultados de busca e, portanto, os dois aspectos pode ser calculada conforme se segue.
Um vetor de característica é gerado para cada resultado de busca em D, e Dj. Por exemplo, um vetor de característica pode incluir uma ou mais características (por exemplo, termos) e uma medida estatística correspondente da importância da característica para o usuário (por exemplo, um peso de frequência de termo (tf) ou um peso de documento inverso de frequência de termo (tf-idf) para cada característica). Os termos podem ser todas as palavras no resultado de busca, ou um subconjunto das palavras do resultado de busca (por exemplo, o título do resultado e o fragmento identificado por um motor de busca).
Em algumas implementações, pesos de tf são usados como medidas estatísticas da importância da característica para o usuário. Os pesos de tf podem ser usados porque a importância de uma característica para o usuário pode aumentar proporcionalmente de acordo com a frequência com a qual a característica ocorre (por exemplo, uma frequência de termo) em uma coleção de documentos, por exemplo, todos os documentos indexados pelo sistema de busca (por exemplo, o sistema de busca 114 na figura 1), ou todos os documentos indexados pelo sistema de busca que estão na mesma linguagem que o termo.
A frequência do termo em um resultado de busca é a frequência relativa com que um termo em particular ocorre no resultado de busca, e pode ser representada como:
Figure img0001
onde a frequência de termo é um número nQ:P de ocorrências do termo em particular tq em um resultado de busca (dp) dividido pelo número de ocorrência em todos os termos tk e dp.
Em algumas implementações, os pesos de tf-idf são usados como as medidas estatísticas da importância das características para o usuário. Um peso de tf-idf pode ser calculado pela multiplicação de uma frequência de termo por uma frequência de documento inversa (idf).
A idf é uma estimativa de quão frequentemente um termo aparece em uma coleção de documentos, por exemplo, todos os documentos indexados pelo sistema de busca, ou todos os documentos indexados pelo sistema de busca que estejam na mesma linguagem que o termo. A frequência de documento inversa pode ser representada como:
Figure img0002
onde o número D de todos os documentos no arquivo de documentos é dividido por um número Dp de documentos dp contendo o termo tq. Em algumas implementações, o logaritmo neperiano é usado, ao invés do logaritmo de base 10. Um peso de tdf idf podeserrepresentado como:
Figure img0003
Uma pontuação de similaridade é calculada para cada par de resultados de busca {d,, dj}. A pontuação de similaridade para cada par pode ser calculada pela determinação da distância entre os vetores de característica para os dois resultados. Por exemplo, se o resultado de busca d, tiver um vetor de característica de X = (xi, x2, x3) e um resultado de busca dj tiver um vetor de característica de Y = (yi, y2, y3) poderá ser representada como uma distância de cosseno:
Figure img0004
sim(di, dj) = distância de cosseno =
A pontuação de similaridade para os dois conjuntos de resultados de busca, D,e Dj,como um todo pode ser calculada com base nas pon-tuações de similaridade entre seus documentos de busca individuais. Em algumas implementações, as similaridades para cada par de resultados de busca tem a média calculada. Em algumas implementações, a média das pontuações de similaridade mais altas para cada resultado de busca é usada conforme se segue:
Figure img0005
onde sim(dj, Dj) = maxksim(dj, dk) e sim(dj, D,) = maxksim(dk, dj) e onde maxksim(di, dk) é a pontuação de similaridade máxima das pontuações de similaridade entre o resultado de busca dj e todos os resultados de 15 busca em Dj, e maxksim(dk, dj) é a pontuação de similaridade máxima das pontuações de similaridade entre o resultado de busca d, e todos os resultados de busca em Dj.
Outras medidas de similaridade também podem ser usadas, por exemplo, a determinação de um único vetor de característica para todos os 20 resultados de busca para cada aspecto e o cálculo das pontuações de similaridade com base na similaridade de dois vetores de característica, por e- xemplo, com base na distância de cosseno.
Alternativamente, a pontuação de similaridade para dois aspectos pode ser calculada pela comparação dos caminhos (por exemplo, ende- 25 reços da web, caminhos de arquivo) dos resultados de busca para cada aspecto, por exemplo, pela análise gramatical do texto dos caminhos e pela extração de características, tal como um nome de domínio ou um diretório em um sistema de arquivos e, então, comparando-se as características extraídas. A pontuação de similaridade para dois aspectos também pode ser 30 calculada pela comparação do texto dos aspectos em si, por exemplo, pela comparação dos caracteres no texto dos dois aspectos.
Uma vez que as pontuações de similaridade para cada par de aspectos sejam identificadas, as pontuações de similaridade podem ser u- sadas para a identificação de aspectos candidatos que devem ser combina- 5 dos em um único aspecto. Várias técnicas de agrupamento podem ser usadas para a determinação de quando dois aspectos candidatos devem ser combinados. Por exemplo, um algoritmo de partição de diagrama pode ser usado. O algoritmo de partição de diagrama cria um diagrama em que os nós do diagrama são os aspectos e uma borda conecta dois nós, se eles 10 forem suficientemente similares (por exemplo, se sua pontuação de similaridade exceder a um limite). Por exemplo, na figura 3, há uma borda (indicada por uma linha contínua) entre o Aspecto 1 e o Aspecto 1’, porque a pontua-ção de similaridade entre o Aspecto 1 e o Aspecto 1’ é maior do que o valor de limite. Contudo, não há outras bordas conectadas no diagrama. O algo- 15 ritmo de partição de diagrama então combina os aspectos que são conectados em um único aspecto. Por exemplo, na figura 3, o conjunto resultante de aspectos 316 lista apenas o Aspecto 1, o Aspecto 2 e o Aspecto. O Aspecto 1 ’ foi combinado com o Aspecto 1.
A combinação de dois aspectos pode incluir manter um aspecto 20 no grupo de aspectos e remover o outro do grupo de aspectos. A decisão de qual aspecto manter pode ser feita, por exemplo, pela seleção do aspecto com a pontuação de popularidade mais alta. As pontuações de popularidade de aspecto são discutidas em maiores detalhes abaixo.
Outras técnicas de agrupamento podem ser usadas, por exem- 25 pio, um agrupamento de média k (onde os aspectos são divididos em um número predefinido de agrupamentos com base nas pontuações de similaridade), agrupamento espectral, agrupamento hierárquico e agrupamento em estrela.
Os aspectos candidatos podem ser agrupados com base em su- 30 as classes. As classes de aspecto podem ser determinadas muito como as classes de entidade são determinadas, por exemplo, conforme descrito acima. Em algumas implementações, a determinação de uma classe de aspecto inclui a determinação de um sinônimo para o aspecto e, então, a determinação da classe de sinônimo. Por exemplo, frequentemente é abreviada como “NYU”. Contudo, pode ser difícil determinar uma classe de aspecto para “NYU”, por exemplo, porque muitas bases de conhecimento apenas classificam um dos nomes possíveis para uma dada entidade. Portanto, pode não haver dados nos quais basear uma classificação de “NYU”. Contudo, a “” mais formal tem maior probabilidade de ser incluída em bases de conhecimento. Portanto, uma classe para “NYU” pode ser determinada pela associação de “NYU” com seu sinônimo “Universidade de Nova York” e, então, identificando-se uma classe para o sinônimo. Os sinônimos também podem ser determinados, por exemplo, pelo uso de páginas da web de redireciona- mento de uma base de conhecimento, tal como a Wikipedia®. As páginas de redirecionamento indicam o mapeamento de vários termos para um sinônimo que é classificado pela Wikipedia®.
Os aspectos podem ser diferentes de uma perspectiva de pontuação de similaridade, mas ainda relacionados no sentido de que pertencem à mesma classe. Quando isto ocorre, os aspectos podem ser agrupados na mesma classe. Por exemplo, os aspectos “Nova Iorque”, “São Francisco” e “Washington DC” são diferentes, porque eles apontam para diferentes cidades com comida diferente, cultura, ruas, etc., embora ainda possam ser associados à classe “cidades dos Estados Unidos”. Assim, os aspectos podem ser agrupados na classe “cidades dos Estados Unidos”. Em algumas implementações, os aspectos são agrupados em uma subclasse de sua classe. Por exemplo, aspectos “Nova Iorque” e “Washington DC” são membros da classe “cidades dos Estados Unidos” e sua subclasse “cidades da costa leste”. Portanto, alternativamente elas poderiam ser agrupadas em conjunto em “cidades da costa leste”.
A figura 4 ilustra um exemplo de agrupamento de aspectos com base em suas classes de aspecto. Um grupo de aspectos 402 é associado, cada um, a uma respectiva classe. O Aspecto 1 e o Aspecto 3 estão ambos na Classe 1, enquanto o Aspecto 2 está na Classe 2. Quando os aspectos são agrupados com base na sua classe, o novo grupo de aspectos 404 inclui o Aspecto 2 e a Classe 1. O Aspecto 2 permanece não modificado no novo grupo de aspectos 404, porque sua classe não combinou com a classe de quaisquer outros aspectos. O Aspecto 1 e o Aspecto 3 foram combinados em um novo aspecto igual a sua classe, a Classe 1, porque eles tinham a 5 mesma classe.
Em algumas implementações, alguns aspectos são associados a múltiplas classes. A determinação de uma classe para estes aspectos ambíguos pode ser problemática. Por exemplo, imagine uma entidade “Vietnã” e dois aspectos “comida” e “história”. Ambos os aspectos são ambíguos. Além 10 de se referir a alguma coisa que se pode comer, “comida” também pode se referir ao álbum musical “F.O.O.D.”. Além de se referir a alguma coisa do passado, “história” também poderia se referir ao álbum musical “History: Past, Present and Future, Book 1”. Assim, os dois aspectos ambíguos poderiam ser classificados como “álbum” e, então, agrupados em conjunto em um 15 aspecto “álbum”. Comida e história são dois aspectos distintos para exploração de Vietnã, e há um valor em mantê-los separados. Portanto, eles não devem ser agrupados em conjunto. Em algumas implementações, os aspectos ambíguos não são agrupados, de modo a se evitar este problema em potencial.
Os aspectos ambíguos podem ser identificados, por exemplo, pelo uso de um banco de dados de desambiguação que identifica aspectos com múltiplos significados. Os aspectos ambíguos também podem ser identificados, por exemplo, pelo uso de páginas da web de desambiguação de um website, tal como a Wikipedia®. Estas páginas de desambiguação identi- 25 ficam múltiplos significados para um dado aspecto.
Em algumas implementações, uma vez que o grupo modificado de aspectos candidatos seja determinado, o grupo é filtrado, por exemplo, para a remoção de aspectos potencialmente ofensivos (por exemplo, uma filtração de pornografia). Esta filtração pode ser feita pela comparação dos 30 aspectos com uma lista de aspectos potencialmente ofensivos e pela remoção de quaisquer aspectos que estiverem na lista.
Conforme mostrado na figura 2, o sistema classifica um ou mais dos aspectos candidatos para a entidade (etapa 280). Os aspectos candidatos são classificados com base em uma pontuação de diversidade e uma pontuação de popularidade de cada aspecto. A meta da classificação é identificar aspectos que sejam ambos interessantes para o usuário e diversos o bastante para proporcionarem a um usuário escolhas sobre para onde dirigir em seguida sua busca. A classificação pode ser feita conforme se segue.
O aspecto classificado mais alto é o aspecto com uma pontuação de popularidade mais alta. A pontuação de popularidade é uma medida de quão comum o aspecto é. As pontuações de popularidade podem ser calculadas de várias formas, dependendo de como o aspecto foi gerado.
Quando o aspecto foi gerado como um refinamento de consulta, a pontuação de popularidade pode ser com base na frequência com a qual o refinamento de consulta aparece, por exemplo, tomando-se o número total de sessões em que o refinamento de consulta aparece e dividindo pelo número total de sessões.
Por exemplo, uma pontuação de popularidade I Q) de um re finamento qj de uma consulta q pode ser calculada conforme se segue:
Figure img0006
onde fq(qj) é a frequência com a qual o refinamento de consulta qj aparece nos históricos de busca de usuário.
Quando o aspecto tiver sido gerado como uma superstring de consulta, a pontuação de popularidade pode ser com base na frequência com a qual a superstring de consulta aparece nos históricos de busca de usuário, por exemplo, tomando-se o número total de vezes que a superstring aparece nos históricos de busca e dividindo isso pelo número total de su- perstrings de consulta no histórico de busca de usuário mais o número total que uma consulta para a entidade aparece nos históricos de busca de usuário.
Por exemplo, a pontuação de popularidade pss(qj | q) para uma dada superstring de consulta qj pode ser calculada conforme se segue:
Figure img0007
onde fq(qj) é a frequência com a qual a superstring de consulta qj aparece nos históricos de busca, e fq(q) é a frequência com a qual a consulta para a entidade aparece nos históricos de busca.
A pontuação de popularidade também pode ser calculada pela divisão do número total de vezes que a superstring aparece nos históricos de busca pelo número total das superstrings de consulta nos históricos de busca, por exemplo:
Figure img0008
Quando um refinamento de consulta e uma superstring de consulta são ambos identificados como aspectos candidatos, os dois podem ser combinados em um aspecto único. A pontuação de popularidade para aquele aspecto pode ser determinada de várias formas, incluindo, por exemplo, tomar a mais alta das duas pontuações, tomar a média das duas pontuações, ou tomar a mais baixa das duas pontuações.
Por exemplo, a pontuação Pinst(qj I q) para um aspecto associado a uma dada consulta qj a qual é um refinamento de consulta e uma superstring de consulta pode ser calculada conforme se segue:
Figure img0009
Quando um aspecto é identificado pela análise dos dados de registro de consulta para outras entidades membros de classe na mesma classe que a entidade, a pontuação de popularidade pode ser gerada para o aspecto, conforme descrito acima, por exemplo:
Figure img0010
A pontuação de popularidade para os aspectos baseados em classe pode ser ajustada de modo que aspectos associados à classe não sobrecarreguem os aspectos associados à entidade específica. As entidades mais raras requerem os aspectos baseados em classe de modo a terem um número suficiente e uma variedade de aspectos. Contudo, entidades mais populares podem ter aspectos baseados em entidade que são mais impor- tantes do que os aspectos baseados em classe. Um equilíbrio pode ser obtido pela atribuição de peso às pontuações dos aspectos.
Por exemplo, a um aspecto candidato aj de uma consulta q que contém uma entidade de classe C pode ser atribuído uma pontuação ponde- 5 rada pfa, | q) conforme se segue:
Figure img0011
onde K é um parâmetro de projeto que controla a importância relativa da pontuação individual do aspecto e a pontuação de classe, e pode ser determinado empiricamente como:
Figure img0012
onde count(a) é o número de consultas no registro de consulta que incluíam o aspecto a e |C| é o número de entidades na classe C.
A pontuação de popularidade para um aspecto candidato baseado em classe também pode refletir quão perto a entidade está do membro 15 de classe no qual o aspecto é baseado, por exemplo, de um tempo ou espaço ou outra perspectiva. Por exemplo, se a entidade for “Novembro”, um aspecto baseado no membro de classe “Dezembro” poderia ter uma melhor pontuação do que um aspecto baseado no membro de classe “Maio”, porque novembro está mais perto de dezembro do que maio na ordem dos meses. Como um outro exemplo, se a entidade for “São Francisco”, um aspecto baseado em “Los Angeles” poderia ter uma pontuação melhor do que um aspecto baseado em “Nova Iorque”, porque São Francisco está mais perto de Los Angeles do que Nova Iorque de uma perspectiva de distância.
Outras pontuações de popularidade também são divisadas. Por 25 exemplo, a pontuação de popularidade pode ser com base na taxa de clique para um dado aspecto, por exemplo, o número de vezes que os usuários selecionaram um resultado de busca após emitirem uma consulta para o aspecto (ou a entidade e o aspecto), dividido pelo número total de vezes que os usuários emitiram consultas para o aspecto. A pontuação de popularidade 30 também pode ser com base no tempo de permanência associado a um ou mais dos resultados de busca correspondendo a uma consulta para o aspec-to ou o aspecto e a entidade. O tempo de permanência é a quantidade de tempo que um usuário gasta vendo um resultado de busca. O tempo de permanência pode ser um número contínuo, tal como o número de segundos que um usuário gasta vendo um resultado de busca, ou ele pode ser um in- 5 tervalo discreto, por exemplo, “cliques curtos” correspondendo a cliques de menos de trinta segundos, “cliques médios” correspondendo a cliques de mais de trinta segundos, mas de menos de um minuto, e “cliques longos” correspondendo a cliques de mais de um minuto. Em algumas implementações, um tempo de permanência mais longo de um ou mais resultados está 10 associado a uma pontuação de popularidade mais alta. A pontuação é mais alta porque os usuários encontram os resultados com um tempo de permanência mais longo útil o bastante para visualização por um período de tempo mais longo.
Uma vez que o primeiro aspecto seja classificado, os aspectos 15 subsequentes são classificados com base em suas pontuações de popularidade e em uma pontuação de diversidade, por exemplo, uma medida de quão similar eles são com os aspectos já classificados. A pontuação de diversidade para um aspecto não classificado pode ser gerada, por exemplo, pelo cálculo de uma pontuação de similaridade entre o aspecto não classifi- 20 cado e cada aspecto classificado, e, então, tomando-se o mínimo, o máximo ou a média das pontuações.
A figura 5 ilustra um exemplo de classificação de um aspecto não classificado 502, dado um grupo pré-existente de um ou mais aspectos classificados 508.
Uma pontuação de popularidade 506 é gerada para o aspect não classificado 502 usando-se um gerador de pontuação de popularidade 504. O gerador de pontuação de popularidade gera uma pontuação de popularidade para o aspecto, por exemplo, conforme descrito acima. Uma pontuação de diversidade 512 então é gerada para o aspecto não classificado 502 30 pelo gerador de pontuação de diversidade 510. A pontuação de diversidade 512 é uma estimativa de quão similar o aspecto não classificado 502 é dos aspectos classificados 508. A pontuação de diversidade entre o aspecto não classificado 502 e o conjunto de aspectos classificados 508 pode ser determinada pelo cálculo da pontuação de similaridade entre o aspecto não classificado 502 e cada aspecto classificado no conjunto 508, por exemplo, conforme descrito acima, e, então, usando-se o mínimo, o máximo, a média ou 5 a soma das pontuações como a pontuação de diversidade.
Uma vez que a pontuação de popularidade 506 e a pontuação de diversidade 512 sejam geradas, elas são passadas para um gerador de pontuação geral 514. O gerador de pontuação geral 514 gera uma pontuação geral 516 com base na pontuação de popularidade 506 e na pontuação 10 de diversidade 512, por exemplo, pela divisão da pontuação de popularidade 506 pela pontuação de diversidade 512.
Outros métodos de classificação dos aspectos candidatos também são divisados. Por exemplo, o aspecto candidato classificado mais alto pode ser escolhido com base na pontuação de popularidade, e todos os as- 15 pectos subsequentes podem ser escolhidos com base na pontuação de diversidade (por exemplo, pela escolha do aspecto com a pontuação de diversidade mais baixa). Os aspectos candidatos também podem ser classificados com base apenas em suas pontuações de popularidade ou apenas em duas pontuações de diversidade.
Retornando à figura 2, o sistema então associa os aspectos candidatos de classificação mais alta à entidade, ou à entidade e suas propriedades (etapa 210). Qualquer número de aspectos candidatos pode ser associado à entidade (e suas propriedades), com base nas necessidades do sistema e nas capacidades de armazenamento do sistema. Por exemplo, se 25 o sistema apresentar os aspectos ao usuário em um ambiente gráfico onde apenas uns poucos aspectos podem ser exibidos de uma vez, o número de aspectos poderá ser pequeno. Em contraste, se o sistema puder prover um número grande de aspectos para um usuário ou processo, o número de aspectos candidatos poderá ser maior.
Uma vez que o número de aspectos candidatos de classificação mais alta esteja associado à entidade (e suas propriedades), a associação é armazenada em uma localização acessível para o sistema, por exemplo, em um banco de dados que associa uma dada entidade com seus aspectos.
A figura 6 ilustra um método de exemplo 600 para o recebimento de uma consulta incluindo um ou mais termos correspondentes a uma entidade e apresentando resultados de busca com base nos aspectos identificados da entidade. Por conveniência, o método de exemplo 600 será descrito com referência a um sistema (por exemplo, o sistema de busca 114 da figura 1 ou um outro sistema) que realiza o método 600. O método pode ser realizado em conjunto com o método descrito acima com referência à figura 2.
O sistema recebe uma consulta incluindo um ou mais termos correspondentes a uma entidade (etapa 602). A consulta pode ser recebida, por exemplo, a partir de um usuário ou do sistema de busca 114. Em algumas implementações, o sistema e o sistema de busca 114 são o mesmo sistema.
O sistema identifica aspectos associados à entidade (etapa 604). Em algumas implementações, a consulta inclui uma entidade e suas propriedades, e o sistema pode identificar os aspectos associados à entidade e suas propriedades. Por exemplo, se a consulta fosse “férias no Havaí”, então, “Havaí” poderia ser identificado como a entidade, e “férias” poderia ser identificado como uma propriedade da entidade “Havaí”. Os aspectos podem ser identificados como descrito acima com referência à figura 2, ou podem ser recuperados, por exemplo, a partir de um banco de dados incluindo os aspectos classificados gerados usando-se o método descrito acima com referência à figura 2. O sistema pode identificar todos os aspectos associados à entidade. Quando os aspectos estão classificados, o sistema alternativamente pode identificar um k número de topo dos aspectos classificados, onde k é o número de aspectos que estão para serem apresentados ao usuário.
O sistema recebe um ou mais conjuntos de resultados de busca (etapa 606). Cada conjunto de resultados de busca corresponde a uma entidade e um dos aspectos identificados. Por exemplo, se a entidade fosse “Havaí” e os aspectos identificados fossem “praias”, “hotéis”, “clima”, e “comida”, conjuntos separados de resultados de busca poderiam ser recebidos para “praias no Havaí”, “hotéis no Havaí”, “clima no Havaí”, e “comida no Havaí”. Os resultados de busca podem ser recebidos em resposta a uma consulta emitida para o motor de busca 130 para a entidade e um aspecto.
O sistema apresenta os resultados de busca com base em as- 5 pectos identificados (etapa 608). Em algumas implementações, os resultados de busca são apresentados em um “mashup”, onde os resultados relevantes e outra informação para um ou mais aspectos são apresentados em uma exibição, organizados de acordo com um aspecto.
A figura 7 ilustra um mashup de exemplo exibido após um usuá- 10 rio submeter uma consulta de busca 702 para “mount bachelor” ao clicar no botão de busca 704. Os resultados de busca e outra informação correspondendo a aspectos para Mount Bachelor (por exemplo, “clima”, “hotéis”, “universidade comunitária” e “montanhas”) são rotulados de acordo com o aspecto e apresentados para o usuário nas caixas 706, 708, 710e712. Aa- 15 presentação da informação pode ser talhada para o aspecto. Por exemplo, um relatório de esqui e neve é apresentado na caixa 706 para usuários interessados no aspecto “clima”. Os resultados de busca correspondentes a “hotéis” são apresentados na caixa 708, os resultados de busca corresponden-tes a “universidade comunitária” são apresentados na caixa 710 e os resul- 20 tados de busca correspondentes a “montanhas” são apresentados na caixa 712.
A figura 7 ilustra que nem todos os resultados de busca para um dado são necessariamente apresentados para aquele aspecto. Por exemplo, mais resultados de busca para o aspecto “hotéis” do que dois resultados de 25 busca que são apresentados podem ser recebidos. Os resultados de busca que são apresentados são escolhidos a partir dos resultados de busca que são recebidos, por exemplo, tomando-se o número de topo de resultados de busca com base em uma classificação dos resultados de busca (por exemplo, uma classificação provida pelo sistema de busca 114). O número pode 30 ser determinado, por exemplo, com base no número de aspectos para a entidade e/ou no espaço disponível para apresentação dos resultados de busca. Os resultados de busca não têm que ser apresentados para todos os aspectos identificados.
Em algumas implementações, um sumário da entidade de acordo com um dos aspectos é apresentado. Um sumário de uma entidade de acordo com um aspecto é uma apresentação direta de uma informação que 5 está disponível através de resultados de busca correspondentes à entidade e ao aspecto. Por exemplo, o relatório de esqui e neve apresentado na caixa 706 é um sumário da informação para a entidade “mount bachelor” e o aspecto “clima”. Um usuário interessado no aspecto “clima” provavelmente está interessado em saber o clima atual, de modo que, ao invés de requerer 10 que o usuário clique em um resultado de busca para ver uma informação de clima, o sistema pode, ao invés disso, apresentar diretamente a informação sobre o clima. Como um outro exemplo, se a entidade for “equipe de futebol americano da Universidade da Califórnia do Sul”, um sumário do registro da temporada do time poderá ser apresentado. Como ainda um outro exemplo, 15 se a entidade for um filme em particular, e o aspecto for criticas do filme, então, múltiplas críticas poderão ser apresentadas lado a lado. Em algumas implementações, o sumário está associado a um aspecto e uma entidade de antemão e armazenado, por exemplo, em um banco de dados. O sistema então pode recuperar o sumário quando necessário.
Outros métodos de apresentação dos resultados de busca com base nos aspectos também são previstos. Por exemplo, o sistema pode criar uma página da web em separado para os resultados de busca correspondentes a cada aspecto. Links para as páginas da web correspondentes aos aspectos identificados podem ser apresentados juntamente com resultados de busca para a consulta original. Alternativamente, os links para as páginas da web podem ser apresentados como uma página da web em separado. O sistema pode apresentar os aspectos como opções de “busca relacionada” para o usuário e, então, apresentar os resultados de busca correspondentes a um dado aspecto, uma vez que um usuário selecione o aspecto.
Em algumas implementações, a consulta inclui termos corres pondentes a múltiplas entidades. Quando a consulta inclui múltiplas entidades, o sistema pode identificar os aspectos associados a cada consulta, e, então, combinar os aspectos identificados com base em sua classificação (por exemplo, com base em uma pontuação de popularidade ou uma pontuação de diversidade de cada aspecto). Os resultados de busca para os aspectos classificados no topo então podem ser recebidos e apresentados pa- 5 ra o usuário. Alternativamente, o sistema pode apresentar resultados de busca para os aspectos correspondentes a cada uma das entidades separa-damente.
Em algumas implementações, o sistema recebe resultados de busca correspondentes à entidade, ao invés da entidade e um aspecto (por 10 exemplo, a partir do sistema de busca 114). Nestas implementações, os resultados de busca podem ser agrupados com base nos aspectos, por exemplo, pela classificação dos resultados de busca com base nos aspectos, ou usando-se técnicas de agrupamento para o agrupamento dos resultados de busca em torno dos aspectos. Nestas implementações, os resultados de 15 busca podem ser apresentados com base nos aspectos, conforme descrito acima.
A figura 8 ilustra uma arquitetura de exemplo de um sistema 800. O sistema geralmente inclui um aparelho de processamento de dados 802 e um dispositivo de usuário 828. O aparelho de processamento de da- 20 dos 802 e o dispositivo de usuário 828 são conectados através de uma rede 826. Em algumas implementações, o dispositivo de usuário 828 e o aparelho de processamento de dados 802 são o mesmo dispositivo.
Embora o aparelho de processamento de dados em 802 seja mostrado como um aparelho de processamento de dados único, uma plura- 25 lidade de aparelhos de processamento de dados pode ser usada. O aparelho de processamento de dados 802 roda vários módulos, por exemplo, processos, por exemplo, programas executáveis de software. Em várias implementações, estes processos incluem um associador de entidade - classe 804, um gerador de aspecto 806, um combinador de aspecto 808, um agru- 30 pador de aspecto 810, um classificador de aspecto 812 e um associador de aspecto 814.
O associador de entidade - classe 804 associa uma dada entidade a uma classe, por exemplo, com base em um banco de dados predefinido que associa entidades a classes ou pelo acesso a uma informação de base de conhecimento para a entidade.
O gerador de aspecto 806 gera aspectos para uma dada entidade, por exemplo, conforme descrito acima com referência à figura 2, pela análise dos históricos de busca de usuário para a identificação de refinamentos de consulta e superstrings de consulta para a entidade, seus membros de classe ou a entidade e seus membros de classe.
O combinador de aspecto 808 combina os aspectos, por exemplo, conforme descrito acima, com referência às figuras 2 e 3, com base em suas pontuações de similaridade. O combinador de aspecto 808 também pode calcular as pontuações de similaridade para pares de aspectos, conforme descrito acima com referência às figuras 2 e 3.
O agrupador de aspecto 810 agrupa os aspectos com base em sua classe, por exemplo, conforme descrito acima com referência às figuras 2 e 4. Em algumas implementações, o combinador de aspecto 808 e o agrupador de aspecto 810 são o mesmo processo.
O classificador de aspecto 812 classifica os aspectos com base em uma pontuação de popularidade e uma pontuação de diversidade de cada aspecto, por exemplo, conforme descrito acima com referência às figuras 2 e 5.
O associador de aspecto 814 associa um ou mais aspectos a uma dada entidade ou uma dada entidade e suas propriedades, por exemplo, conforme descrito acima com referência à figura 2.
Em algumas implementações, o aparelho de processamento de dados 802 armazena uma ou mais de um banco de dados de entidade - classe associando uma dada entidade a sua classe, um banco de dados de aspecto - classe associando um dado aspecto a sua classe, históricos de busca de usuário e um banco de dados de entidade - aspecto associando uma dada entidade a um ou mais aspectos. Em algumas implementações, o banco de dados de entidade - classe e o banco de dados de aspecto - classe são o mesmo banco de dados. Em algumas implementações, os dados são armazenados em um meio que pode ser lido em computador 820. Em algumas implementações, os dados são armazenados no(s) dispositivo(s) adicional(is) 818.
O aparelho de processamento de dados 802 também pode ter dispositivos de hardware ou de firmware incluindo um ou mais processadores 816, um ou mais dispositivos adicionais 818, um meio que pode ser lido em computador 820, uma interface de comunicação 822 e um ou mais dispositivos de interface de usuário 824. O(s) processador(es) 816 é(são) ca- paz(es) de processar(em) instruções para execução. Em uma implementação, pelo menos um dos processadores 816 é um processador de linha única. Em uma outra implementação, pelo menos um dos processadores 816 é um processador de linha múltipla. O(s) processador(es) 816 é(são) ca- paz(es) de processar(em) instruções armazenadas em uma memória ou um dispositivo de armazenamento para exibição de uma informação gráfica para uma interface de usuário no(s) dispositivo(s) de interface de usuário 824. O(s) dispositivo(s) de interface de usuário 824 pode(m) incluir, por exemplo, um visor, uma câmera, um alto-falante, um microfone ou um dispositivo de retorno tátil.
O aparelho de processamento de dados 802 se comunica com o dispositivo de usuário 828 usando sua interface de comunicação 822.
O dispositivo de usuário 828 pode ser qualquer aparelho de processamento de dados, por exemplo, um computador de usuário. Um usuário usa o dispositivo de usuário 828 para submeter consultas de busca através da rede 826 para o aparelho de processamento de dados 802 e receber resultados de busca a partir do aparelho de processamento de dados 802, por exemplo, através de um navegador da web rodando no dispositivo de usuário, por exemplo, o Firefox® disponível a partir do Mozilla Project em Moutain View, Califórnia. O dispositivo de usuário 828 pode apresentar os resultados de busca para o usuário, por exemplo, pela exibição dos resultados em um dispositivo de exibição, pela transmissão de um som correspondente aos resultados ou pela provisão de um retorno tátil correspondente aos resultados. Os resultados de busca podem ser organizados de acordo com aspectos associados à entidade. Quando um usuário usa seu computador para a seleção de um resultado de busca para ver, uma informação referente à seleção de usuário pode ser enviada para o aparelho de processamento de dados 802 e usada para a geração de dados de histórico de busca de usuário.
Em algumas implementações, o dispositivo de usuário 828 roda um ou mais módulos 804, 806, 808, 810, 812 e 814, ao invés de ou além do aparelho de processamento de dados 802 rodar os módulos.
Embora o sistema 800 da figura 8 preveja um usuário que submete uma consulta de busca através de seu computador, a consulta de busca não tem que ser recebida a partir de um usuário ou do computador de um usuário, mas pode ser recebida a partir de qualquer aparelho de processamento de dados, processo ou pessoa, por exemplo, um computador ou um processo rodado em um computador, com ou sem uma entrada direta de usuário. De modo similar, os resultados e os aspectos não têm que ser a- presentados para o computador do usuário, mas podem ser apresentados para qualquer aparelho de processamento de dados, processo ou pessoa. Os históricos de busca de usuário podem ser recebidos a partir de uma população de usuários, e não necessariamente a partir do mesmo dispositivo de usuário 828 usado para o recebimento de resultados de busca organizados com base em aspectos de uma entidade na consulta de busca.
As modalidades do assunto em questão e as operações descritas neste relatório descritivo podem ser implementadas em um circuito eletrônico digital, ou em um software de computador, firmware ou hardware, incluindo as estruturas mostradas neste relatório descritivo e seus equivalentes estruturais ou em combinações de um ou mais deles. As modalidades do assunto em questão descritas neste relatório descritivo podem ser implementadas como um ou mais programas de computador, isto é, um ou mais módulos de instruções de programa de computador, codificados em um meio de armazenamento em computador para execução pelo ou para controle da operação do aparelho de processamento de dados. De forma alternativa ou adicional, as instruções de programa podem ser codificadas em um sinal propagado gerado artificialmente, por exemplo, um sinal elétrico, ótico ou eletromagnético gerado por máquina que é gerado para a codificação de uma informação para transmissão para um aparelho receptor adequado para execução por um aparelho de processamento de dados. O meio de armazenamento em computador pode ser ou estar incluído em um dispositivo de meio que pode ser lido em computador ou uma combinação de um ou mais deles.
As operações descritas neste relatório descritivo podem ser implementadas como operações realizadas por um aparelho de processamento de dados em dados armazenados em um ou mais dispositivos de armazenamento que podem ser lidos em computador ou recebidos a partir de outras fontes.
O termo “aparelho de processamento de dados” engloba todos os tipos de aparelhos, dispositivos e máquinas para processamento de dados, incluindo, a título de exemplo, um processador programável, um computador, um sistema em um chip, ou combinações dos mesmos. O aparelho pode incluir um circuito lógico de finalidade especial, por exemplo, um FPGA (arranjo de porta programável de campo) ou um ASIC (circuito integrado específico de aplicação). O aparelho também pode incluir, além do hardware, um código que cria um ambiente de execução para o programa de computador em questão, por exemplo, um código que constitui um firmware de processador, uma pilha de protocolo, um sistema de gerenciamento de banco de dados, um sistema operacional, um ambiente de tempo de rodada de plataforma cruzada, por exemplo, uma máquina virtual ou uma combinação de um ou mais deles. O aparelho e o ambiente de execução podem realizar várias infraestruturas de modelo de computação diferentes, tais como serviços da web, infraestruturas de computação distribuída e de computação de rede.
Um programa de computador (também conhecido como programa, software, aplicativo de software, script ou código) pode ser escrito em qualquer forma de linguagem de programação, incluindo linguagens compiladas ou interpretadas, e ele pode ser empregado em qualquer forma, inclu- indo como um programa independente ou como um módulo, um componente, uma sub-rotina ou outra unidade adequada para uso em um ambiente de computação. Um programa de computador não necessariamente correspon-de a um arquivo em um sistema de arquivos. Um programa pode ser armazenado em uma porção de um arquivo que mantém outros programas ou dados (por exemplo, um ou mais scripts armazenados em um documento de linguagem de marcação), em um único arquivo dedicado ao programa em questão, ou em múltiplos arquivos coordenados (por exemplo, arquivos que armazenam um ou mais módulos, subprogramas ou porções de código). Um programa de computador pode ser empregado para ser executado em um computador ou em múltiplos computadores que estão localizados em um sítio ou distribuídos através de múltiplos sítios e interconectados por uma rede de comunicação.
Os processos e os fluxos lógicos descritos neste relatório descritivo podem ser realizados por um ou mais processadores programáveis executando um ou mais programas de computador para a realização de funções pela operação em dados de entrada e a geração de saídas. Os processos e os fluxos lógicos também podem ser realizados por, e um aparelho também pode ser implementado como um circuito lógico de finalidade especial, por exemplo, um FPGA (arranjo de porta programável de campo) ou um ASIC (circuito integrado específico de aplicação).
Os processadores adequados para a execução de um programa de computador incluem, a título de exemplo, microprocessadores de finalidade geral e especial, e quaisquer um ou mais processadores de qualquer tipo de computador digital. Geralmente, um processador receberá instruções e dados a partir de uma memória apenas de leitura ou de uma memória de acesso randômico ou ambas. Os elementos essenciais de um computador são um processador para a realização de instruções e um ou mais dispositivos de memória para o armazenamento de instruções e dados. Geralmente, um computador também incluirá ou será operativamente acoplado para o recebimento de dados a partir de ou a tradicionalmente e dados para, ou ambos, um ou mais dispositivos de armazenamento de massa para o arma- zenamento de dados, por exemplo, discos magnéticos, magneto-óticos ou discos óticos. Contudo, um computador não precisa ter esses dispositivos. Mais ainda, um computador pode ser concretizado em um outro dispositivo, por exemplo, um telefone móvel, um assistente digital pessoal (PDA), um tocador de áudio móvel, um receptor de sistema de posicionamento global (GPS), para denominar apenas uns poucos. Os meios que podem ser lidos em computador adequados para o armazenamento de instruções de programa de computador e dados incluem todas as formas de memória não volátil, mídia e dispositivos de memória, incluindo a título de exemplo dispositivos de memória de semicondutor, por exemplo, uma EPROM, uma EE- PROM e dispositivos de memória rápida; discos magnéticos, por exemplo, discos rígidos internos ou discos removíveis; discos magneto-óticos; e discos de CD-ROM e DVD-ROM. O processador e a memória podem ser suplementados por ou incorporados em um circuito lógico de finalidade especial.
Para a provisão de interação com um usuário, as modalidades do assunto em questão descrito neste relatório descritivo podem ser implementadas em um computador tendo um dispositivo de exibição, por exemplo, um monitor de CRT (tubo de raios catódicos) ou de LCD (visor de cristal líquido), para a exibição de uma informação para o usuário e um teclado e um dispositivo de apontar, por exemplo, um mouse ou um trackball, por meio do que o usuário pode prover uma entrada para o computador. Outros tipos de dispositivos podem ser usados para a provisão de uma interação com um usuário da mesma forma; por exemplo, um retorno provido para o usuário pode ser qualquer forma de retorno sensorial, por exemplo, um retorno visual, um retorno auditivo ou um retorno tátil; e uma entrada do usuário pode ser recebida de qualquer forma, incluindo uma entrada acústica, de fala ou tátil.
As modalidades do assunto em questão descrito neste relatório descritivo podem ser implementadas em um sistema de computação que inclui um componente de back-end, por exemplo, como um servidor de dados, ou que inclui um componente de middleware, por exemplo, um servidor de aplicativo, ou que inclui um componente de front-end, por exemplo, um computador de cliente tendo uma interface gráfica de usuário ou um navegador da web através do qual um usuário pode interagir com uma implemen-tação do assunto em questão descrito neste relatório descritivo, ou qualquer combinação de um ou mais desses componentes de back-end, de middleware ou de front-end. Os componentes do sistema podem ser interconectados por qualquer forma ou meio de comunicação de dados digitais, por exemplo, uma rede de comunicação. Os exemplos de redes de comunicação incluem uma rede de área local (“LAN”) e uma rede de área ampla (“WAN”), por e- xemplo, a Internet.
O sistema de computação pode incluir clientes e servidores. Um cliente e um servidor são geralmente remotos de cada outro e tipicamente interagem através de uma rede de comunicação. A relação de cliente e servidor surge em virtude de programas de computador rodando em respectivos computadores e tendo uma relação de cliente - servidor com cada outro.
Embora este relatório descritivo contenha muitas especificidades, estas não devem ser construídas como limitações para o escopo da invenção ou daquilo que pode ser reivindicado, mas, ao invés disso, como descrições de recursos específicos para as modalidades em particular da invenção. Certos recursos que são descritos neste relatório descritivo no contexto de modalidades separadas também podem ser implementados em combinação em uma única modalidade. Inversamente, vários recursos que são descritos no contexto de uma única modalidade também podem ser implementados em múltiplas modalidades separadamente ou em qualquer subcombinação adequada. Mais ainda, embora os recursos possam ser descritos acima como atuando em certas combinações e mesmo inicialmente reivindicados como tal, um ou mais recursos a partir de uma combinação reivindicada podem ser cortados, em alguns casos, da combinação, e a combinação reivindicada pode ser dirigida a uma subcombinação ou uma variação de uma subcombinação.
De modo similar, embora as operações sejam descritas nos desenhos em uma ordem em particular, isto não deve ser entendido como requerendo que essas operações sejam realizadas naquela ordem em particular mostrada ou em uma ordem sequencial, ou que todas as operações ilustradas sejam realizadas, para a obtenção de resultados desejáveis. Em certas circunstâncias, o uso de multitarefas e de um processamento em parale-lo pode ser vantajoso. Mais ainda, a separação de vários componentes de sistema nas modalidades descritas acima não deve ser entendida como requerendo essa separação em todas as modalidades, e deve ser entendido que os componentes de programa descritos e os sistemas geralmente podem ser integrados em conjunto em um produto de software único ou acon-dicionados em múltiplos produtos de software.
Assim, as modalidades em particular da invenção foram descritas. Outras modalidades estão no escopo das reivindicações a seguir. Por exemplo, as ações recitadas nas reivindicações podem ser realizadas em uma ordem diferente e ainda se obterem resultados desejáveis.

Claims (16)

1. Método caracterizado por compreender as etapas de: receber uma consulta em um sistema de computador, o sistema de computador compreendendo um ou mais computadores, a consulta incluindo uma entidade; analisar a consulta para extrair a identidade; gerar no sistema de computador um grupo de aspectos candidatos para a entidade; para cada um de um ou mais pares de aspectos candidatos, calcular uma pontuação de similaridade com base em identificação de conjuntos respectivos de resultados de busca correspondendo a consultas respectivas de aspectos candidatos no par de aspectos candidatos e comparação de resultados de busca nos conjuntos de resultados de busca; modificar no sistema de computador o grupo de aspectos candidatos para a geração de um grupo de aspectos candidatos modificados com base na pontuação de similaridade para os aspectos candidatos, a modificação compreendendo a combinação de aspectos candidatos similares e o agrupamento de aspectos candidatos usando-se uma ou mais classes de aspecto, cada uma associada a um ou mais aspectos candidatos; classificar no sistema de computador de um ou mais aspectos candidatos modificados no grupo de aspectos candidatos modificados com base em uma pontuação de diversidade e uma pontuação de popularidade, a pontuação de popularidade para cada um dos aspectos candidatos modificados baseada em uma frequência de aparição do aspecto candidato modificado e a pontuação de diversidade para cada um dos aspectos candidatos modificados baseada em similaridade do aspecto candidato modificado a outros aspectos candidatos modificados; associar no sistema de computador o um ou mais aspectos candidatos modificados de classificação mais alta à entidade; receber no sistema de computador o um ou mais conjuntos de resultados de busca, os resultados de busca incluindo resultados de busca específicos para cada um dos aspectos candidatos modificados associados à entidade; e proporcionar uma apresentação dos resultados de busca em resposta à consulta, a apresentação apresentando os resultados de busca organizados de acordo com os aspectos candidatos modificados associados à entidade.
2. Método, de acordo com a reivindicação 1, caracterizado por ainda compreendendo a etapa de apresentar um sumário de informação sobre uma entidade de acordo com um aspecto.
3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o um ou mais conjuntos de resultados de busca incluem um conjunto de resultados de busca em resposta à consulta.
4. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que cada um de um ou mais conjuntos de resultados de busca correspondem a um respectivo aspecto associado à entidade.
5. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que apresentar os resultados de busca organizados de acordo com os aspectos candidatos modificados compreende apresentar dois ou mais dos aspectos candidatos modificados e apresentar, para cada um dos aspectos candidatos modificados apresentados, um ou mais resultados de busca que são específicos para o aspecto candidato modificado.
6. Método caracterizado por compreender as etapas de: receber dados identificando uma entidade; analisar os dados para extrair a entidade; gerar em um sistema de computador um grupo de aspectos candidatos para a entidade, o sistema de computador compreendendo um ou mais computadores; para cada um de um ou mais pares de aspectos candidatos, calcular uma pontuação de similaridade com base em identificação de conjuntos respectivos de resultados de busca correspondendo a consultas respectivas de aspectos candidatos no par de aspectos candidatos e comparação de resultados de busca nos conjuntos de resultados de busca; modificar no sistema de computador o grupo de aspectos candidatos para a geração de um grupo de aspectos candidatos modificados com base na pontuação de similaridade para os aspectos candidatos, a modificação compreendendo a combinação de aspectos candidatos similares e o agrupamento de aspectos candidatos usando-se uma ou mais classes de aspecto, cada uma associada a um ou mais aspectos candidatos; classificar no sistema de computador um ou mais aspectos candidatos modificados no grupo de aspectos candidatos modificados, com base em uma pontuação de diversidade e uma pontuação de popularidade, a pontuação de popularidade para cada um dos aspectos candidatos modificados baseada em uma frequência de aparição do aspecto candidato modificado e a pontuação de diversidade para cada um dos aspectos candidatos modificados baseada em similaridade do aspecto candidato modificado a outros aspectos candidatos modificados; e armazenar uma associação de um ou mais dos aspectos candidatos modificados de classificação mais alta à entidade em um dispositivo de armazenamento de dados do sistema de computador para apresentação de cada um dos aspectos candidatos modificados em combinação com um ou mais resultados de busca que são específicos ao aspecto candidato modificado.
7. Método, de acordo com a reivindicação 6, caracterizado por ainda compreendendo as etapas de: receber uma consulta incluindo a entidade; identificar um ou mais aspectos associados à entidade; receber resultados de busca em resposta à consulta; e apresentar os resultados de busca com base nos aspectos identificados.
8. Método, de acordo com a reivindicação 6, caracterizado por ainda compreendendo as etapas de: receber uma consulta incluindo a entidade; identificar um ou mais aspectos associados à entidade; receber um ou mais conjuntos de resultados de busca, cada conjunto correspondendo a um dos aspectos identificados; e apresentar os resultados de busca com base nos aspectos identificados.
9. Método, de acordo com a reivindicação 6, caracterizado por ainda compreendendo as etapas de receber dados de identificação de uma ou mais propriedades de entidade, em que : a geração do grupo de aspectos candidatos inclui o uso de uma ou mais propriedades de entidade; e um ou mais aspectos candidatos de classificação mais alta estão associados a ambas a entidade e as propriedades de entidade.
10. Método, de acordo com a reivindicação 6, caracterizado por: a associação da entidade a uma classe, a classe tendo um ou mais membros de classe incluindo a entidade; e a etapa de gerar o grupo de aspectos candidatos inclui gerar aspectos candidatos correspondendo à entidade e à classe.
11. Método, de acordo com a reivindicação 10, caracterizado pelo fato de que a geração do grupo de aspectos candidatos inclui as etapas de: analisar um ou mais históricos de busca de primeiro usuário para a identificação de consultas associadas à entidade; e analisar um ou mais históricos de busca de segundo usuário para a identificação de consultas associadas a um outro membro de classe além da entidade.
12. Método, de acordo com a reivindicação 6, caracterizado pelo fato de que cada pontuação de similaridade é uma estimativa de similaridade entre dois aspectos candidatos.
13. Método, de acordo com a reivindicação 6, caracterizado pelo fato de que a comparação dos conjuntos de resultados de busca inclui uma comparação de títulos e fragmentos dos resultados de busca em um dos conjuntos de resultados de busca com títulos e fragmentos dos resultados de busca no outro dos conjuntos de resultados de busca.
14. Método, de acordo com a reivindicação 12, caracterizado pelo fato de que a combinação de aspectos candidatos com base nas pontuações de similaridade ainda compreende a etapa de: usar um algoritmo de partição de gráfico para a determinação de quais aspectos combinar.
15. Método, de acordo com a reivindicação 6, em que o agrupamento de aspectos candidatos usando-se uma ou mais classes de aspecto inclui as etapas de: associar dois ou mais aspectos candidatos a uma respectiva classe de aspecto; e agrupar dois ou mais aspectos candidatos em um único aspecto candidato modificado com base nas suas classes de aspecto.
16. Método, de acordo com a reivindicação 6, caracterizado pelo fato de que a classificação de um ou mais aspectos candidatos modificados com base em uma pontuação de diversidade e uma pontuação de popularidade inclui as etapas de: calcular uma pontuação de popularidade para cada aspecto; classificar o aspecto com a pontuação de popularidade mais alta como o mais alto; e classificar os aspectos remanescentes pela repetição das etapas a seguir uma ou mais vezes: o cálculo de uma pontuação de similaridade para cada aspecto não classificado, onde a pontuação de popularidade compara a similaridade do aspecto não classificado com os aspectos classificados; e a atribuição da próxima classificação mais alta ao aspecto cuja pontuação de popularidade dividida por sua pontuação de similaridade é a mais alta.
BRPI1007939-4A 2009-01-30 2010-01-27 Métodos de identificação de aspectos de consulta BRPI1007939B1 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US14889709P 2009-01-30 2009-01-30
US61/148,897 2009-01-30
US12/512,908 US8458171B2 (en) 2009-01-30 2009-07-30 Identifying query aspects
US12/512,908 2009-07-30
PCT/US2010/022274 WO2010088299A1 (en) 2009-01-30 2010-01-27 Identifying query aspects

Publications (2)

Publication Number Publication Date
BRPI1007939A2 BRPI1007939A2 (pt) 2016-02-23
BRPI1007939B1 true BRPI1007939B1 (pt) 2020-08-04

Family

ID=42132655

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI1007939-4A BRPI1007939B1 (pt) 2009-01-30 2010-01-27 Métodos de identificação de aspectos de consulta

Country Status (9)

Country Link
US (3) US8458171B2 (pt)
EP (1) EP2391959A1 (pt)
JP (1) JP5623431B2 (pt)
KR (2) KR101775061B1 (pt)
CN (1) CN102349072B (pt)
AU (1) AU2010208318B2 (pt)
BR (1) BRPI1007939B1 (pt)
CA (1) CA2751172C (pt)
WO (1) WO2010088299A1 (pt)

Families Citing this family (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8577909B1 (en) 2009-05-15 2013-11-05 Google Inc. Query translation using bilingual search refinements
US8572109B1 (en) 2009-05-15 2013-10-29 Google Inc. Query translation quality confidence
US8577910B1 (en) 2009-05-15 2013-11-05 Google Inc. Selecting relevant languages for query translation
US8538957B1 (en) * 2009-06-03 2013-09-17 Google Inc. Validating translations using visual similarity between visual media search results
US9454606B2 (en) * 2009-09-11 2016-09-27 Lexisnexis Risk & Information Analytics Group Inc. Technique for providing supplemental internet search criteria
US20110270819A1 (en) * 2010-04-30 2011-11-03 Microsoft Corporation Context-aware query classification
US7933859B1 (en) 2010-05-25 2011-04-26 Recommind, Inc. Systems and methods for predictive coding
US9158846B2 (en) 2010-06-10 2015-10-13 Microsoft Technology Licensing, Llc Entity detection and extraction for entity cards
US20110307482A1 (en) * 2010-06-10 2011-12-15 Microsoft Corporation Search result driven query intent identification
US9043296B2 (en) 2010-07-30 2015-05-26 Microsoft Technology Licensing, Llc System of providing suggestions based on accessible and contextual information
US8799260B2 (en) * 2010-12-17 2014-08-05 Yahoo! Inc. Method and system for generating web pages for topics unassociated with a dominant URL
WO2012095613A1 (fr) 2011-01-12 2012-07-19 Google Inc. Recherche de vols
US9781091B2 (en) 2011-03-14 2017-10-03 Verisign, Inc. Provisioning for smart navigation services
US10185741B2 (en) * 2011-03-14 2019-01-22 Verisign, Inc. Smart navigation services
US9646100B2 (en) 2011-03-14 2017-05-09 Verisign, Inc. Methods and systems for providing content provider-specified URL keyword navigation
US9811599B2 (en) 2011-03-14 2017-11-07 Verisign, Inc. Methods and systems for providing content provider-specified URL keyword navigation
US9298776B2 (en) 2011-06-08 2016-03-29 Ebay Inc. System and method for mining category aspect information
US9298816B2 (en) 2011-07-22 2016-03-29 Open Text S.A. Methods, systems, and computer-readable media for semantically enriching content and for semantic navigation
CA2844065C (en) * 2011-08-04 2018-04-03 Google Inc. Providing knowledge panels with search results
US8756218B1 (en) * 2011-08-16 2014-06-17 Google Inc. Query classification based on search engine results
EP2568396A1 (en) 2011-09-08 2013-03-13 Axel Springer Digital TV Guide GmbH Method and apparatus for generating a sorted list of items
US9053087B2 (en) * 2011-09-23 2015-06-09 Microsoft Technology Licensing, Llc Automatic semantic evaluation of speech recognition results
US20130110830A1 (en) * 2011-10-31 2013-05-02 Microsoft Corporation Ranking of entity properties and relationships
US9069844B2 (en) * 2011-11-02 2015-06-30 Sap Se Facilitating extraction and discovery of enterprise services
US9665643B2 (en) 2011-12-30 2017-05-30 Microsoft Technology Licensing, Llc Knowledge-based entity detection and disambiguation
US9864817B2 (en) 2012-01-28 2018-01-09 Microsoft Technology Licensing, Llc Determination of relationships between collections of disparate media types
US9424353B2 (en) * 2012-02-22 2016-08-23 Google Inc. Related entities
CN104428767B (zh) 2012-02-22 2018-02-06 谷歌公司 用于识别相关实体的方法、系统和装置
US20140047089A1 (en) * 2012-08-10 2014-02-13 International Business Machines Corporation System and method for supervised network clustering
US8533148B1 (en) 2012-10-01 2013-09-10 Recommind, Inc. Document relevancy analysis within machine learning systems including determining closest cosine distances of training examples
US9430571B1 (en) 2012-10-24 2016-08-30 Google Inc. Generating travel queries in response to free text queries
US9047278B1 (en) 2012-11-09 2015-06-02 Google Inc. Identifying and ranking attributes of entities
US10922326B2 (en) * 2012-11-27 2021-02-16 Google Llc Triggering knowledge panels
US10095692B2 (en) * 2012-11-29 2018-10-09 Thornson Reuters Global Resources Unlimited Company Template bootstrapping for domain-adaptable natural language generation
US9558275B2 (en) * 2012-12-13 2017-01-31 Microsoft Technology Licensing, Llc Action broker
US20140201203A1 (en) * 2013-01-15 2014-07-17 Prafulla Krishna System, method and device for providing an automated electronic researcher
GB2510346A (en) * 2013-01-30 2014-08-06 Imagini Holdings Ltd Network method and apparatus redirects a request for content based on a user profile.
US9183062B2 (en) * 2013-02-25 2015-11-10 International Business Machines Corporation Automated application reconfiguration
US10061851B1 (en) * 2013-03-12 2018-08-28 Google Llc Encouraging inline person-to-person interaction
JP6056610B2 (ja) * 2013-03-29 2017-01-11 株式会社Jvcケンウッド テキスト情報処理装置、テキスト情報処理方法、及びテキスト情報処理プログラム
US10057207B2 (en) 2013-04-07 2018-08-21 Verisign, Inc. Smart navigation for shortened URLs
CN103279504B (zh) * 2013-05-10 2019-11-05 百度在线网络技术(北京)有限公司 一种基于歧义消解的搜索方法及装置
US9646062B2 (en) * 2013-06-10 2017-05-09 Microsoft Technology Licensing, Llc News results through query expansion
US9305307B2 (en) 2013-07-15 2016-04-05 Google Inc. Selecting content associated with a collection of entities
US9336332B2 (en) 2013-08-28 2016-05-10 Clipcard Inc. Programmatic data discovery platforms for computing applications
US9569525B2 (en) * 2013-09-17 2017-02-14 International Business Machines Corporation Techniques for entity-level technology recommendation
US20150088648A1 (en) * 2013-09-24 2015-03-26 Google Inc. Determining commercial intent
EP3055786A4 (en) * 2013-10-09 2017-05-17 Google, Inc. Automatic definition of entity collections
US10134053B2 (en) * 2013-11-19 2018-11-20 Excalibur Ip, Llc User engagement-based contextually-dependent automated pricing for non-guaranteed delivery
US9489461B2 (en) * 2014-03-03 2016-11-08 Ebay Inc. Search ranking diversity based on aspect affinity
US20150309987A1 (en) * 2014-04-29 2015-10-29 Google Inc. Classification of Offensive Words
US20150317314A1 (en) * 2014-04-30 2015-11-05 Linkedln Corporation Content search vertical
US10838995B2 (en) * 2014-05-16 2020-11-17 Microsoft Technology Licensing, Llc Generating distinct entity names to facilitate entity disambiguation
US9740985B2 (en) 2014-06-04 2017-08-22 International Business Machines Corporation Rating difficulty of questions
RU2014125471A (ru) 2014-06-24 2015-12-27 Общество С Ограниченной Ответственностью "Яндекс" Способ обработки поискового запроса и сервер
US10290125B2 (en) * 2014-07-02 2019-05-14 Microsoft Technology Licensing, Llc Constructing a graph that facilitates provision of exploratory suggestions
US10353964B2 (en) * 2014-09-15 2019-07-16 Google Llc Evaluating semantic interpretations of a search query
CN105786936A (zh) * 2014-12-23 2016-07-20 阿里巴巴集团控股有限公司 用于对搜索数据进行处理的方法及设备
US9852136B2 (en) * 2014-12-23 2017-12-26 Rovi Guides, Inc. Systems and methods for determining whether a negation statement applies to a current or past query
GB2549240A (en) * 2015-01-06 2017-10-18 What3Words Ltd A method for suggesting one or more multi-word candidates based on an input string received at an electronic device
CN104615680B (zh) 2015-01-21 2016-11-02 广州神马移动信息科技有限公司 网页质量模型的建立方法及装置
US20160314205A1 (en) * 2015-04-24 2016-10-27 Ebay Inc. Generating a discovery page depicting item aspects
US10140880B2 (en) * 2015-07-10 2018-11-27 Fujitsu Limited Ranking of segments of learning materials
US10242112B2 (en) 2015-07-15 2019-03-26 Google Llc Search result filters from resource content
US20170097967A1 (en) * 2015-10-05 2017-04-06 Quixey, Inc. Automated Customization of Display Component Data for Search Results
US10437868B2 (en) * 2016-03-04 2019-10-08 Microsoft Technology Licensing, Llc Providing images for search queries
US20170277737A1 (en) * 2016-03-23 2017-09-28 Ebay Inc. Compact index document generation for smart match autocomplete system
US10795926B1 (en) * 2016-04-22 2020-10-06 Google Llc Suppressing personally objectionable content in search results
KR102017853B1 (ko) * 2016-09-06 2019-09-03 주식회사 카카오 검색 방법 및 장치
US10339000B2 (en) * 2016-09-13 2019-07-02 Sandisk Technologies Llc Storage system and method for reducing XOR recovery time by excluding invalid data from XOR parity
US10268688B2 (en) * 2017-05-03 2019-04-23 International Business Machines Corporation Corpus-scoped annotation and analysis
CN107832439B (zh) 2017-11-16 2019-03-08 百度在线网络技术(北京)有限公司 多轮状态追踪的方法、系统及终端设备
CN108009215B (zh) * 2017-11-17 2018-11-06 山东师范大学 一种搜索结果页用户行为模式测评方法、装置及系统
CN108256070B (zh) * 2018-01-17 2022-07-15 北京百度网讯科技有限公司 用于生成信息的方法和装置
US11036746B2 (en) 2018-03-01 2021-06-15 Ebay Inc. Enhanced search system for automatic detection of dominant object of search query
CN108614897B (zh) * 2018-05-10 2021-04-27 四川长虹电器股份有限公司 一种面向自然语言的内容多样化搜索方法
JP7003020B2 (ja) * 2018-09-18 2022-01-20 ヤフー株式会社 情報処理装置、情報処理方法、およびプログラム
CN109871428B (zh) * 2019-01-30 2022-02-18 北京百度网讯科技有限公司 用于确定文本相关度的方法、装置、设备和介质
US11288320B2 (en) * 2019-06-05 2022-03-29 International Business Machines Corporation Methods and systems for providing suggestions to complete query sessions
CN111538894B (zh) * 2020-06-19 2020-10-23 腾讯科技(深圳)有限公司 查询反馈方法、装置、计算机设备及存储介质
US10966170B1 (en) 2020-09-02 2021-03-30 The Trade Desk, Inc. Systems and methods for generating and querying an index associated with targeted communications
CN117355841A (zh) * 2021-05-24 2024-01-05 利维帕尔森有限公司 用于注释解析的数据驱动分类法
US12032912B2 (en) 2021-09-07 2024-07-09 Nec Corporation Semantic concept matching using enhanced weak supervision
CN116108087A (zh) * 2023-02-20 2023-05-12 北京字跳网络技术有限公司 一种信息展示方法、装置、计算机设备及存储介质
US20240281480A1 (en) * 2023-02-21 2024-08-22 Ebay Inc. Enhanced search performance using contextual aspect relatedness
US12591627B2 (en) * 2023-11-15 2026-03-31 Microsoft Technology Licensing, Llc Enhanced auto-suggestion functionality
US20250322016A1 (en) * 2024-04-12 2025-10-16 Ebay Inc. Graph-Directed Key Phrase Recommendation Based On Item Similarity
US20260099536A1 (en) * 2024-10-04 2026-04-09 Thinkanalytics Ltd. Method and system for generating text data

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5278980A (en) * 1991-08-16 1994-01-11 Xerox Corporation Iterative technique for phrase query formation and an information retrieval system employing same
US6625595B1 (en) * 2000-07-05 2003-09-23 Bellsouth Intellectual Property Corporation Method and system for selectively presenting database results in an information retrieval system
US7185001B1 (en) * 2000-10-04 2007-02-27 Torch Concepts Systems and methods for document searching and organizing
SE520533C2 (sv) * 2001-03-13 2003-07-22 Picsearch Ab Metod, datorprogram och system för indexering av digitaliserade enheter
US7676452B2 (en) * 2002-07-23 2010-03-09 International Business Machines Corporation Method and apparatus for search optimization based on generation of context focused queries
US6947930B2 (en) * 2003-03-21 2005-09-20 Overture Services, Inc. Systems and methods for interactive search query refinement
US7577655B2 (en) * 2003-09-16 2009-08-18 Google Inc. Systems and methods for improving the ranking of news articles
US7219105B2 (en) * 2003-09-17 2007-05-15 International Business Machines Corporation Method, system and computer program product for profiling entities
WO2005029362A1 (en) * 2003-09-22 2005-03-31 Eurekster, Inc. Enhanced search engine
US7664735B2 (en) * 2004-04-30 2010-02-16 Microsoft Corporation Method and system for ranking documents of a search result to improve diversity and information richness
US7617176B2 (en) * 2004-07-13 2009-11-10 Microsoft Corporation Query-based snippet clustering for search result grouping
US7519595B2 (en) * 2004-07-14 2009-04-14 Microsoft Corporation Method and system for adaptive categorial presentation of search results
JP2008515772A (ja) 2004-07-21 2008-05-15 グライコフィ, インコーポレイテッド Gal2GlcNAc2Man3GlcNAc2グリコフォームを支配的に含む免疫グロブリン
US8341143B1 (en) * 2004-09-02 2012-12-25 A9.Com, Inc. Multi-category searching
CN101073077A (zh) * 2004-09-10 2007-11-14 色杰斯提卡股份有限公司 对用于进行由一组无层次话题指导的搜索的附连的用户创建和分级及其用户界面
US8386453B2 (en) * 2004-09-30 2013-02-26 Google Inc. Providing search information relating to a document
CN1609859A (zh) * 2004-11-26 2005-04-27 孙斌 搜索结果聚类的方法
US7739270B2 (en) 2004-12-07 2010-06-15 Microsoft Corporation Entity-specific tuned searching
US20060149710A1 (en) * 2004-12-30 2006-07-06 Ross Koningstein Associating features with entities, such as categories of web page documents, and/or weighting such features
US9092523B2 (en) * 2005-02-28 2015-07-28 Search Engine Technologies, Llc Methods of and systems for searching by incorporating user-entered information
US7870147B2 (en) * 2005-03-29 2011-01-11 Google Inc. Query revision using known highly-ranked queries
US8103659B1 (en) * 2005-06-06 2012-01-24 A9.Com, Inc. Perspective-based item navigation
US7415461B1 (en) * 2005-08-03 2008-08-19 At&T Corp Apparatus and method for merging results of approximate matching operations
US8417569B2 (en) * 2005-11-30 2013-04-09 John Nicholas and Kristin Gross Trust System and method of evaluating content based advertising
US7996396B2 (en) * 2006-03-28 2011-08-09 A9.Com, Inc. Identifying the items most relevant to a current query based on user activity with respect to the results of similar queries
US9396269B2 (en) 2006-06-28 2016-07-19 Microsoft Technology Licensing, Llc Search engine that identifies and uses social networks in communications, retrieval, and electronic commerce
US7624103B2 (en) * 2006-07-21 2009-11-24 Aol Llc Culturally relevant search results
WO2008019007A2 (en) * 2006-08-04 2008-02-14 Thefind, Inc. Method for relevancy ranking of products in online shopping
US20080091672A1 (en) * 2006-10-17 2008-04-17 Gloor Peter A Process for analyzing interrelationships between internet web sited based on an analysis of their relative centrality
US20080215416A1 (en) * 2007-01-31 2008-09-04 Collarity, Inc. Searchable interactive internet advertisements
US8244750B2 (en) * 2007-03-23 2012-08-14 Microsoft Corporation Related search queries for a webpage and their applications
US20080243830A1 (en) * 2007-03-30 2008-10-02 Fatdoor, Inc. User suggested ordering to influence search result ranking
US8832140B2 (en) * 2007-06-26 2014-09-09 Oracle Otc Subsidiary Llc System and method for measuring the quality of document sets
KR20090012467A (ko) * 2007-07-30 2009-02-04 한국과학기술정보연구원 Uri 데이터베이스를 이용한 통합 검색 시스템 및 방법
JP2010539589A (ja) * 2007-09-12 2010-12-16 レピュテーションディフェンダー, インコーポレーテッド 電子的情報源からの特定のエンティティに関連する情報の特定
US20090125502A1 (en) * 2007-11-13 2009-05-14 Yahoo! Inc. System and methods for generating diversified vertical search listings
US7769740B2 (en) * 2007-12-21 2010-08-03 Yahoo! Inc. Systems and methods of ranking attention
US9626685B2 (en) * 2008-01-04 2017-04-18 Excalibur Ip, Llc Systems and methods of mapping attention
US20090241058A1 (en) * 2008-03-18 2009-09-24 Cuill, Inc. Apparatus and method for displaying search results with an associated anchor area
US20090254512A1 (en) * 2008-04-03 2009-10-08 Yahoo! Inc. Ad matching by augmenting a search query with knowledge obtained through search engine results
US7970808B2 (en) * 2008-05-05 2011-06-28 Microsoft Corporation Leveraging cross-document context to label entity
US8126908B2 (en) * 2008-05-07 2012-02-28 Yahoo! Inc. Creation and enrichment of search based taxonomy for finding information from semistructured data
US9195754B2 (en) * 2008-06-13 2015-11-24 International Business Machines Corporation Expansion of search result information
US20090327223A1 (en) * 2008-06-26 2009-12-31 Microsoft Corporation Query-driven web portals
US8239370B2 (en) * 2008-06-27 2012-08-07 Microsoft Corporation Basing search results on metadata of prior results
US8024324B2 (en) * 2008-06-30 2011-09-20 International Business Machines Corporation Information retrieval with unified search using multiple facets
US8554768B2 (en) * 2008-11-25 2013-10-08 Microsoft Corporation Automatically showing additional relevant search results based on user feedback
US9460212B2 (en) * 2008-12-03 2016-10-04 Paypal, Inc. System and method for personalized search
US8150813B2 (en) * 2008-12-18 2012-04-03 International Business Machines Corporation Using relationships in candidate discovery
US8315849B1 (en) * 2010-04-09 2012-11-20 Wal-Mart Stores, Inc. Selecting terms in a document

Also Published As

Publication number Publication date
AU2010208318B2 (en) 2015-03-05
US20130268517A1 (en) 2013-10-10
KR20110139681A (ko) 2011-12-29
CN102349072B (zh) 2014-12-24
CA2751172C (en) 2020-07-07
KR20160123398A (ko) 2016-10-25
US20160026696A1 (en) 2016-01-28
US9152676B2 (en) 2015-10-06
BRPI1007939A2 (pt) 2016-02-23
US8458171B2 (en) 2013-06-04
CN102349072A (zh) 2012-02-08
CA2751172A1 (en) 2010-08-05
JP5623431B2 (ja) 2014-11-12
JP2012516512A (ja) 2012-07-19
AU2010208318A1 (en) 2011-08-18
KR101775061B1 (ko) 2017-09-05
EP2391959A1 (en) 2011-12-07
WO2010088299A1 (en) 2010-08-05
KR101669191B1 (ko) 2016-10-25
US20100198837A1 (en) 2010-08-05

Similar Documents

Publication Publication Date Title
BRPI1007939B1 (pt) Métodos de identificação de aspectos de consulta
US10599643B2 (en) Template-driven structured query generation
KR101994987B1 (ko) 관련 엔티티들
CN104516910B (zh) 在客户端服务器环境中推荐内容
US9497277B2 (en) Interest graph-powered search
US10140366B2 (en) Finding data in connected corpuses using examples
US20160012122A1 (en) Automatically linking text to concepts in a knowledge base
US20160012045A1 (en) User interface for summarizing the relevance of a document to a query
US11361030B2 (en) Positive/negative facet identification in similar documents to search context
CN103744887B (zh) 一种用于人物搜索的方法、装置和计算机设备
Kennedy et al. Query-adaptive fusion for multimodal search
US20140280120A1 (en) Interest graph-powered browsing
Koperwas et al. Intelligent information processing for building university knowledge base
WO2015198112A1 (en) Processing search queries and generating a search result page including search object related information
Zhong et al. Semrag: Semantic knowledge-augmented rag for improved question-answering
US20150088859A1 (en) Click magnet images
Schneider New approaches to interactive multimedia content retrieval from different sources
Moreno Schneider New approaches to interactive multimedia content retrieval from different sources
TW201128543A (en) Method and device for knowledge base construction

Legal Events

Date Code Title Description
B25D Requested change of name of applicant approved

Owner name: GOOGLE LLC (US)

B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 04/08/2020, OBSERVADAS AS CONDICOES LEGAIS.