470 likes | 600 Views
CS276: Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan Lecture 13: Matrix Decompositions and Latent Semantic Indexing (LSI). Eduardo Augusto Silvestre. Ch. 18. Aula de hoje. Seção 18.1.1: desenvolve-se a noção de matrix decomposition .
E N D
CS276: Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan Lecture 13: Matrix Decompositions and Latent Semantic Indexing (LSI) Eduardo Augusto Silvestre
Ch. 18 Aula de hoje • Seção 18.1.1: desenvolve-se a noção de matrix decomposition. • Seção 18.2: usa uma forma especial de decomposição de matriz para construir um low-rank approximation. • Seção 18.3: usa low-rank approximation e a técnica de latent semantic index.
Ch. 18 Aula de hoje • Latent Semantic Index (LSI) • Matriz termo-documento muito grande • Podemos representar o espaço termo-documento por um espaço latente dimensional mais baixo?
Sec. 18.1 Exemplo só tem uma solução não nula se Essa é uma equação de m-ésima ordem em que λpode ter no máximo m soluções distintas(raízes do polinômio característico) – pode ser complexo, mesmo S como real. Autovalores & Autovetores • Autovetores (p/ uma matriz quadrada S, mm) • Quantos autovalores existem no máximo? (direita) autovetor autovalores
Sec. 18.1 Multiplicação de matriz vetor Tem autovalores 30, 20, 1 com correspondente autovetores Cada autovetor, S age como um múltiplo da matriz identidade: mas como um múltiplo diferente em cada um. Qualquer vetor (ex. x= ) pode ser visto como uma combinação dos autovetores: x = 2v1 + 4v2 + 6v3
Sec. 18.1 Multiplicação matriz-vetor • Assim uma multiplicação matrix-vetor tal como Sx (S, x como no slide anterior) pode ser reescrita em termos dos autovalores/vetores: • Pensando até mesmo em x como um vetor arbitrário, a ação de S em x é determinada pelo autovalores/autovetores.
Sec. 18.1 Multiplicação matriz vetor • Sugestão: o efeito de “pequenos” autovalores é pequeno. • Se ignormarmos o menor autovalor(1), então ao invés de obteríamos • São vetores similares (na similaridade de cossenos, etc.)
Sec. 18.1 Para matrizes simétricas, autovetores p/ autovalores distintos são ortogonais Todos autovalores de uma matriz simétrica real são reais. Todos autovalores de uma matriz positiva semi-definida são não-negativos. Autovalores & Autovetores
Sec. 18.1 Exemplo • Seja • Então • Os autovalores são1 e 3 (não-negativo, real). • Os autovetores são ortogonais(e reais): Real, simétrico. Conecte esses valores e resolva para autovetores.
Sec. 18.1 diagonal Decomposição própria/diagonal • Seja uma matriz quadradacom mautovetores linearmente independentes (uma matriz não-defeituosa) • Teorama: Existe uma decomposição própria • (cf. teorma diagonalização matriz) • Colunas de U são autovetores de S • Diagonal elements de are eigenvalues of Único p/ autovalores distintos
Sec. 18.1 Seja U tendo os autovetores c/ colunas: Então, SU pode ser escrito Decomposição diagonal: por que / como Assim SU=U, orU–1SU= E S=UU–1.
Sec. 18.1 Exemplo – decomposição diagonal Recorde Os autovetores e forma Relembre UU–1 =1. Invertendo, temos Então, S=UU–1 =
Sec. 18.1 Continuação exemplo Vamos dividir U (e multiplicar U–1)por Então, S= Q (Q-1= QT ) Why? Stay tuned …
Sec. 18.1 Decomposição própria simétrica • Se é uma matriz simétrica: • Teorema: Existe uma (única) decomposição própria • Onde Q é ortogonal: • Q-1= QT • Colunas de Q são autovetores normalizados • Colunas são ortogonais • (tudo é real)
Sec. 18.1 Exercício • Examine the symmetric eigen decomposition, if any, for each of the following matrices:
Time out! • Eu vim para essa aula p/ aprender recuperação de texto e mineração, não quero voltar ao passado da álgebra linear outra vez … • Mas se você quer desenterrar a álgebra linear, Strang’s Applied Mathematics é um bom lugar para começar. • O que essas matrizes tem haver com texto? • Relembre: M N matrizes termo-documento … • Mas tudo daqui em diante precisa de matrizes quadradas – então …
Sec. 18.2 MM MN V éNN Autovalores 1 … r de AAT são autovalores de ATA. Valores singulares Decomposição Valor Singular (SVD) P/ uma matriz A, M N, do rankrexiste uma fatorização (Singular Value Decomposition = SVD) como a seguir: As colunas de U são autovetores ortogonais de AAT. As colunas de V são autovetores ortogonais de ATA.
Sec. 18.2 Decomposição do valor singular • Ilustrações das dimensões do SVD e espalhamento
Sec. 18.2 Assim M=3, N=2. Seu SVD é Exemplo SVD Seja Tipicamente, os valores singulares são arranjados em ordem decrescente.
Sec. 18.3 Frobenius norm Low-rank Approximation • SVD pode ser usado para cacular low-rank approximations ótimo. • Problema aproximação: Encontrar Akdo ranking k tal que Ak e X são ambas matrizes mn Tipicamente, queremos k << r.
Sec. 18.3 k Notação coluna: soma do rank de 1 “matrizes” Low-rank Approximation • Solução via SVD Ajuste os menores valores singulares r-k para zero
Sec. 18.3 k SVD Reduzido • Se retermos somente k valores singulares e alterarmos o resto para 0, então não precisamos das partes da matriz em marrom • EntãoΣ é k×k, U é M×k, VT é k×N, e Ak é M×N • Chamado de SVD reduzido. É conveniente (space-saving) , comum p/ aplicações computacionais • Isso é o que Matlab nos dá
Sec. 18.3 Erro aproximação • Quão bom (ruim) é sua aproximação? • Ela é a melhor possível, medida pela norma do erro de Frobenius: onde i é ordenado tal que i i+1. Sugira por que erro de Frobenius baixa quando k é aumentado
Sec. 18.3 SVD Low-rank approximation • Enquanto a matriz termo-doc A pode ter M=50000, N=10 million (e rank perto de 50000) • Podemos construir uma aproximação A100 com rank 100. • De todas as 100 matrizes, ela teria o menor erro Frobenius. • Ok…mas porque teríamos ?? • Reposta: Latent Semantic Indexing (Indexação Semântica Latente) C. Eckart, G. Young, The approximation of a matrix by another of lower rank. Psychometrika, 1, 211-218, 1936.
Sec. 18.4 O que é • Da matriz termo-doc A, calculamos a aproximação Ak. • Existe uma linha p/ cada termo e uma coluna p/ cada documento em Ak • Assim documentos “vivem” em um espaço de k << r dimensões • Essas dimensões não são os eixos originais • Mas por quê?
Modelo espaço vetor: Prós • Seleção Automática dos termos do índice • Emparalhemanto parcial das consultas e documentos (tratando o caso onde o documento não tem todos os termos da consulta) • Ranking de acordo com pontuação desimilaridade (tratando grandes conjuntos de resultados) • Esquemas pesos para os termos(melhora a performance na recuperação) • Várias extensões • Clustering de documentos • Feedback relevância (modificando o vetor da consulta) • Geometric foundation
Problemas com Semântica Léxica • Ambiguidade e associação na lgg natural • Polissemia: Palavras frequentemente tem uma grande número de signficados e diferentes tipos de uso (mais severo em muitas coleções heterogêneas). • Esse modelo de espaço vetor não é capaz de diferenciar entre diferentes signficados de uma mesma palavras.
Problemas com Semântica Léxica • Sinônimos: Diferentes termos podem ter signficados similares ou idênticos (weaker: palavras indicando o mesmo resultado). • Associações entre palavras não são feitas na representação espaço vetor.
ring jupiter ••• space voyager … saturn ... Signficado 1 … planet ... car company ••• dodge ford Signficado 2 Contribuição p/ similaridade, Se usado o primeiro signficado, mas não em segundo Polissemia e Contexto • Similaridade de documentos no nível de uma palavra única: polissemia e contexto
Sec. 18.4 Latent Semantic Indexing (LSI) • Realiza uma low-rank approximation de document-term matrix (rank típico 100-300) • Idéia geral • Mapeia documentos (e termos) p/ uma representação low-dimensional. • Projeta uma mapeamento tal que o espaço low-dimensional reflete associações semânticas (espaço semântico latente). • Calcula a similaridade de um documento baseado no produto interno no seu espaço semântico latente
Sec. 18.4 Objetivos de LSI • Termos similares mapeados para lugares similares no espaço low dimensional • Redução do ruído pela redução da dimensão
Sec. 18.4 Análise da Semântica Latente • Espaço semântico latente: exemplo de ilustração courtesy of Susan Dumais
Sec. 18.4 Realizando os mapas • Cada linha e coluna de A gets mapped into the k-dimensional LSI space, by the SVD. • Reivindicação - isso não é só o mapeamento com a melhor aproximação (erro Frobenius) para A, mas de fato melhora a recuperação. • Uma consulta q é também mapeada dentro desse espaço, por • Consulta em um vetor não esparso
Sec. 18.4 Evidências empíricas • Experimentos emTREC 1/2/3 – Dumais • Lanczos SVD código (disponível em netlib) devido à Berry usado nesses experimentos • Executando vezes de ~ um dia em dezenas de centenas de documentos [obstáculo para o uso] • Dimensões – vários valores 250-350 relatados. Reduzindo k melhora recall. • (Abaixo de 200 relataram não satisfatórios) • Geralmente espera o recall melhorar – e sobre precision?
Sec. 18.4 Evidência empírica • Precisa ou acima da precisão média do TREC • Top scorer em quase 20% dos tópicos TREC • Um pouco melhor na média que espaços de vetores • Efeito da dimensionalidade:
Sec. 18.4 Modos de falha • Frases negadas • Tópicos doTREC as vezes negam certas consultas/frases de termos – impedem a conversão automática de tópicos para o espaço semântica latente. • Consultas booleanas • Usualmente, texo livre/sintaxe do espaço vetor de consultas LSI impedem (dizer) “Encontre qualquer documento tendo satisfazer as seguintes 5 companias” • Veja Dumais para mais.
Sec. 18.4 Clustering? • Falamos sobre docs, consultas, recuperação e precisão aqui. • O que isso tem haver com clustering? • Intuição: Redução de dimensão através LSI traz junto eixos “relacionados” no espaço vetor.
Intuição de blocos de matrizes N documentos Bloco1 Qual o rank dessa matriz ? Bloco 2 0’s M termos … 0’s Bloco k = blocos homogêneos não-nulos
Intuição de blocos de matrizes N documentos Bloco 1 Bloco 2 0’s M termos … 0’s Bloco k Vocabulário particionado em k tópicos (clusters); cada documento discute em somente um tópico.
Intuição de blocos de matrizes N documentos Bloco1 Qual a melhor aproximação do rank-k p/ essa matriz? Bloco 2 0’s M termos … 0’s Bloco k = entradas não-nulas
Intuição de blocos de matrizes Provavelmente existe uma boa aproximação do rank-k p/ essa matriz. Arame Bloco 1 Pneu V6 Bloco 2 Poucas entradas não-zeros … Poucas entradas não-zeros Bloco k Carro 0 1 Automóvel 1 0
Figura simplista Tópico 1 Tópico 2 Tópico 3
Algumas extrapolações • A “dimensionalidade” de um corpus é o número de tópicos distintos representados nele. • Mais extrapolações matemáticas: • Se A tem um rank de aproximação k de baixo erro Frobenius, então não existem mais que k tópicos distintos no corpus.
LSI tem outras aplicações • Em muitos cenários no reconhecimento de padrões e recuperação, temos uma matriz objeto característica. • P/ tetxo, os termos são características e os documentos são objetos. • Podia ser opiniões e usuários … • Essa matriz pode ser redundante em dimensionalidade. • Pode trabalhar com low-rank approximation. • Se estão faltando entradas (isto é, opiniões dos usuários), pode recuperar se a dimensionalidade é baixa. • Técnica analítica geralmente poderosa • Princípio análogo aos métodos de clustering
Resources • IIR 18