Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

A relevância da pesquisa de texto completo é medida em?


A estrutura de dados básica para um sistema de recuperação de texto é um Índice invertido . Esta é essencialmente uma lista de palavras encontradas na coleção de documentos com uma lista dos documentos em que elas ocorrem. Também pode ter metadados sobre a ocorrência de cada documento, como o número de vezes que a palavra aparece.

Os documentos que contêm as palavras podem ser consultados combinando os termos de pesquisa. Para determinar a relevância, uma heurística conhecida como Classificação de cossenos é calculado sobre os acertos. Isso funciona construindo um vetor n-dimensional com um componente para cada um dos n termos de pesquisa. Você também pode ponderar os termos de pesquisa, se desejar. Esse vetor fornece um ponto no espaço n-dimensional que corresponde aos seus termos de pesquisa.

Um vetor semelhante baseado nas ocorrências ponderadas em cada documento pode ser construído a partir do índice invertido com cada eixo no vetor correspondente ao eixo para cada termo de pesquisa. Se você calcular um produto escalar desses vetores, obterá o cosseno do ângulo entre eles. 1,0 é equivalente a cos (0), que assumiria que os vetores ocupam uma linha comum a partir da origem. Quanto mais próximos os vetores, menor o ângulo e mais próximo o cosseno está de 1,0.

Se você classificar os resultados da pesquisa pelo cosseno (ou colocá-los em uma fila de prioridade como mg faz) você obtém o mais relevante. Algoritmos de relevância mais inteligentes tendem a mexer nos pesos dos termos de pesquisa, distorcendo o produto escalar em favor de termos com alta relevância.

Se você quiser cavar um pouco, Gerenciando Gigabytes por Bell e Moffet discute a arquitetura interna dos sistemas de recuperação de texto.