Pesquisa de texto completo - Full-text search

Na recuperação de texto , a pesquisa de texto completo refere-se a técnicas para pesquisar um único documento armazenado no computador ou uma coleção em um banco de dados de texto completo . A pesquisa de texto completo se distingue das pesquisas baseadas em metadados ou em partes dos textos originais representados em bancos de dados (como títulos, resumos, seções selecionadas ou referências bibliográficas).

Em uma pesquisa de texto completo, um mecanismo de pesquisa examina todas as palavras em cada documento armazenado enquanto tenta corresponder aos critérios de pesquisa (por exemplo, texto especificado por um usuário). As técnicas de pesquisa de texto completo tornaram-se comuns em bancos de dados bibliográficos online na década de 1990. Muitos sites e programas de aplicativos (como software de processamento de texto) fornecem recursos de pesquisa de texto completo. Alguns mecanismos de pesquisa da web, como o AltaVista , empregam técnicas de pesquisa de texto completo, enquanto outros indexam apenas uma parte das páginas da web examinadas por seus sistemas de indexação.

Indexando

Ao lidar com um pequeno número de documentos, é possível que o mecanismo de pesquisa de texto completo escaneie diretamente o conteúdo dos documentos a cada consulta , uma estratégia chamada de " varredura serial ". Isso é o que algumas ferramentas, como grep , fazem ao pesquisar.

No entanto, quando o número de documentos a pesquisar é potencialmente grande, ou a quantidade de consultas de pesquisa a serem realizadas é substancial, o problema da pesquisa de texto completo geralmente é dividido em duas tarefas: indexação e pesquisa. O estágio de indexação varrerá o texto de todos os documentos e construirá uma lista de termos de pesquisa (geralmente chamada de índice , mas mais corretamente chamada de concordância ). Na etapa de pesquisa, ao realizar uma consulta específica, apenas o índice é referenciado, ao invés do texto dos documentos originais.

O indexador fará uma entrada no índice para cada termo ou palavra encontrada em um documento e, possivelmente, anotará sua posição relativa dentro do documento. Normalmente, o indexador irá ignorar palavras de parada (como "o" e "e") que são comuns e insuficientemente significativas para serem úteis na pesquisa. Alguns indexadores também empregam específico do idioma decorrente sobre as palavras que estão sendo indexados. Por exemplo, as palavras "unidades", "dirigidas" e "dirigidas" serão registradas no índice sob a única palavra-conceito "unidade".

A compensação entre precisão e recall

Diagrama de uma pesquisa de baixa precisão e baixo recall

Recall mede a quantidade de resultados relevantes retornados por uma pesquisa, enquanto a precisão é a medida da qualidade dos resultados retornados. Recall é a proporção de resultados relevantes retornados para todos os resultados relevantes. A precisão é o número de resultados relevantes retornados em relação ao número total de resultados retornados.

O diagrama à direita representa uma pesquisa de baixa precisão e baixa recuperação. No diagrama, os pontos vermelhos e verdes representam a população total de resultados de pesquisa em potencial para uma determinada pesquisa. Os pontos vermelhos representam resultados irrelevantes e os pontos verdes representam resultados relevantes. A relevância é indicada pela proximidade dos resultados da pesquisa ao centro do círculo interno. De todos os resultados possíveis mostrados, aqueles que foram realmente retornados pela pesquisa são mostrados em um fundo azul claro. No exemplo, apenas 1 resultado relevante de 3 resultados relevantes possíveis foi retornado, então o recall é uma proporção muito baixa de 1/3, ou 33%. A precisão do exemplo é 1/4 muito baixa, ou 25%, já que apenas 1 dos 4 resultados retornados foi relevante.

Devido às ambigüidades da linguagem natural , os sistemas de pesquisa de texto completo geralmente incluem opções como palavras de interrupção para aumentar a precisão e lematização para aumentar a recordação. A pesquisa de vocabulário controlado também ajuda a aliviar problemas de baixa precisão ao marcar documentos de forma que as ambigüidades sejam eliminadas. O trade-off entre precisão e recall é simples: um aumento na precisão pode diminuir o recall geral, enquanto um aumento no recall diminui a precisão.

Problema de falso positivo

A pesquisa de texto completo provavelmente recuperará muitos documentos que não são relevantes para a pergunta de pesquisa pretendida . Esses documentos são chamados de falsos positivos (ver erro Tipo I ). A recuperação de documentos irrelevantes geralmente é causada pela ambigüidade inerente da linguagem natural . No diagrama de amostra à direita, falsos positivos são representados pelos resultados irrelevantes (pontos vermelhos) que foram retornados pela pesquisa (em um fundo azul claro).

Técnicas de agrupamento baseadas em algoritmos bayesianos podem ajudar a reduzir falsos positivos. Para um termo de pesquisa de "banco", o agrupamento pode ser usado para categorizar o universo de documentos / dados em "instituição financeira", "local para sentar", "local para armazenar" etc. Dependendo da ocorrência de palavras relevantes para as categorias, termos de pesquisa ou um resultado de pesquisa podem ser colocados em uma ou mais das categorias. Essa técnica está sendo amplamente implantada no domínio e-discovery .

Melhorias de desempenho

As deficiências da pesquisa de texto livre foram abordadas de duas maneiras: fornecendo aos usuários ferramentas que os permitem expressar suas questões de pesquisa com mais precisão e desenvolvendo novos algoritmos de pesquisa que melhoram a precisão da recuperação.

Ferramentas de consulta aprimoradas

  • Palavras-chave . Os criadores de documentos (ou indexadores treinados) devem fornecer uma lista de palavras que descrevem o assunto do texto, incluindo sinônimos de palavras que descrevem esse assunto. As palavras-chave melhoram a recordação, principalmente se a lista de palavras-chave incluir uma palavra de pesquisa que não está no texto do documento.
  • Pesquisa restrita a campo . Alguns mecanismos de pesquisa permitem que os usuários limitem as pesquisas de texto livre a um campo específico em um registro de dados armazenado , como "Título" ou "Autor".
  • Consultas booleanas . As pesquisas que usamoperadores booleanos (por exemplo, "enciclopédia" E "online" NÃO "Encarta" ) podem aumentar drasticamente a precisão de uma pesquisa de texto livre. Ooperador AND diz, com efeito, "Não recupere nenhum documento a menos que contenha esses dois termos." Ooperador NOT diz, com efeito, "Não recupere nenhum documento que contenha esta palavra." Se a lista de recuperação recuperar poucos documentos, ooperador OU pode ser usado para aumentar a rechamada ; considere, por exemplo, "enciclopédia" E "online" OU "Internet" NÃO "Encarta" . Essa pesquisa recuperará documentos sobre enciclopédias online que usam o termo "Internet" em vez de "online". Esse aumento na precisão é muito comumente contraproducente, pois geralmente vem com uma perda dramática de recall.
  • Pesquisa de frase . Uma pesquisa de frase corresponde apenas aos documentos que contêm uma frase especificada, como "Wikipedia, a enciclopédia livre."
  • Pesquisa de conceito . Uma pesquisa baseada em conceitos de várias palavras, por exemplo, processamento de termos compostos . Esse tipo de pesquisa está se tornando popular em muitas soluções de e-discovery.
  • Pesquisa de concordância . Uma pesquisa de concordância produz uma lista alfabética de todas as palavras principais que ocorrem em um texto com seu contexto imediato.
  • Pesquisa de proximidade . Uma pesquisa de frase corresponde apenas aos documentos que contêm duas ou mais palavras separadas por um determinado número de palavras; uma pesquisa por "Wikipedia" DENTRO de "grátis" recuperaria apenas os documentos em que as palavras "Wikipedia" e "grátis" ocorressem com duas palavras uma da outra.
  • Expressão regular . Uma expressão regular emprega uma sintaxe de consulta complexa, mas poderosa, que pode ser usada para especificar as condições de recuperação com precisão.
  • A pesquisa difusa irá procurar por documentos que correspondam aos termos dados e alguma variação em torno deles (usando, por exemplo, editar distância para limitar a variação múltipla)
  • Pesquisa curinga . Uma pesquisa que substitui um ou mais caracteres em uma consulta de pesquisa por um caractere curinga, como um asterisco . Por exemplo, usar o asterisco em uma consulta de pesquisa "s * n" localizará "sin", "filho", "sol" etc. em um texto.

Algoritmos de pesquisa aprimorados

O algoritmo PageRank desenvolvido pelo Google dá mais destaque aos documentos vinculados a outras páginas da Web . Veja Motor de busca para exemplos adicionais.

Programas

A seguir está uma lista parcial de produtos de software disponíveis cujo objetivo predominante é executar a indexação e pesquisa de texto completo. Alguns deles são acompanhados por descrições detalhadas de sua teoria de operação ou algoritmos internos, que podem fornecer informações adicionais sobre como a pesquisa de texto completo pode ser realizada.

Referências

Veja também