A análise semântica latente (LSA) (também chamada de indexação semântica latente) utiliza uma técnica conhecida como decomposição de valor singular para reduzir a escassez na matriz documento-termo. Isso alivia problemas resultantes de polissemia e sinonímia, ou seja, palavras únicas com múltiplos significados ou múltiplas palavras com um único significado compartilhado.
A dispersão de dados denota essencialmente quando a maioria dos valores de dados em um determinado conjunto de dados é nula (ou seja, vazia). Isso acontece regularmente ao criar matrizes documento-termo, para as quais cada palavra individual é uma linha separada e uma dimensão de espaço vetorial, pois os documentos normalmente não terão a maioria das palavras que podem ser mais frequentes em outros documentos. É claro que técnicas de pré-processamento de dados de texto, como remoção de palavras de parada ou stemming e lematização, podem ajudar a reduzir o tamanho da matriz. A LSA oferece uma abordagem mais direcionada para reduzir a dispersão e a dimensionalidade.
A LSA começa com a matriz documento-termo, que exibe o número de vezes que cada palavra aparece em cada documento. A partir daí, a LSA produz uma matriz documento-documento e uma matriz termo-termo. Se as dimensões da matriz documento-termo forem definidas como d documentos vezes w palavras, então a matriz documento-documento será d vezes d e a matriz termo-termo será w vezes w. Cada valor na matriz documento-documento indica o número de palavras que cada documento tem em comum. Cada valor na matriz termo-termo indica o número de documentos em que dois termos coocorrem.9
Usando essas duas matrizes adicionais, o algoritmo LSA conduz a decomposição do valor singular na matriz documento-termo inicial, produzindo novas matrizes especiais de autovetores. Essas matrizes especiais decompõem as relações originais entre documentos e termos em fatores linearmente independentes. Como muitos desses fatores são próximos de zero, eles são tratados como zero e eliminados das matrizes. Isso reduz as dimensões do modelo.10
Depois que as dimensões do modelo tiverem sido reduzidas por meio da decomposição em valores singulares, o algoritmo LSA compara os documentos no espaço de dimensão inferior usando similaridade de cosseno. Similaridade de cosseno é a medição do ângulo entre dois vetores no espaço vetorial. Pode ser qualquer valor entre -1 e 1. Quanto maior o valor do cosseno, mais semelhantes são considerados dois documentos. A similaridade de cosseno é representada por esta fórmula, em que x e y significam dois itens-vetores no espaço vetorial:11