Capítulo 18 - Matrix..
Download
Report
Transcript Capítulo 18 - Matrix..
Introduction to Information Retrieval
Introduction to
Information Retrieval
CS276: Information Retrieval and Web Search
Christopher Manning and Prabhakar Raghavan
Lecture 13: Matrix Decompositions and Latent
Semantic Indexing (LSI)
Eduardo Augusto Silvestre
Introduction to Information Retrieval
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.
Introduction to Information Retrieval
Ch. 18
Aula de hoje
Latent Semantic Index (LSI)
Matriz termo-documento muito grande
Podemos representar o espaço termodocumento por um espaço latente
dimensional mais baixo?
Introduction to Information Retrieval
Linear Algebra
Background
Sec. 18.1
Introduction to Information Retrieval
Autovalores & Autovetores
Autovetores (p/ uma matriz quadrada S, mm)
Exemplo
(direita) autovetor
autovalores
Quantos autovalores existem no máximo?
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.
Introduction to Information Retrieval
Sec. 18.1
Multiplicação de matriz vetor
30 0 0
S 0 20 0 Tem autovalores 30, 20, 1 com
correspondente autovetores
0
0
1
1
0
0
v3 0
v1 0
v2 1
1
0
0
Cada autovetor, S age como um múltiplo da matriz
identidade: mas como um múltiplo diferente em cada
2
um.
4
Qualquer vetor (ex. x=
) pode ser visto como uma
6
combinação dos autovetores:
x = 2v1 + 4v2 + 6v3
Introduction to Information Retrieval
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:
Sx S(2v1 4v 2 6v 3)
Sx 2Sv1 4Sv2 6Sv 3 21v1 4 2v 2 6 3 v 3
Sx 60v1 80v 2 6v 3
Pensando até mesmo em x como um vetor arbitrário,
a ação de S em x é determinada pelo
autovalores/autovetores.
Sec. 18.1
Introduction to Information Retrieval
Multiplicação matriz vetor
Sugestão: o efeito de “pequenos” autovalores é
pequeno.
Se ignormarmos o menor autovalor(1), então ao
invés de
60
80
6
obteríamos
60
80
0
São vetores similares (na similaridade de cossenos,
etc.)
Introduction to Information Retrieval
Sec. 18.1
Autovalores & Autovetores
Para matrizes simétricas, autovetores p/ autovalores
distintos são ortogonais
Sv{1,2} {1,2}v{1,2} , e 1 2 v1 v2 0
Todos autovalores de uma matriz simétrica real
são reais.
P/ complexos, se S I 0 e S ST
Todos autovalores de uma matriz positiva
semi-definida são não-negativos.
w n , wT Sw 0, entãose Sv v 0
Sec. 18.1
Introduction to Information Retrieval
Exemplo
Seja
2 1
S
1 2
Real, simétrico.
1
2
S I
2
1
| S I | (2 ) 2 1 0.
Então
Os autovalores são1 e 3 (não-negativo, real).
Os autovetores são ortogonais(e reais):
1
1
1
1
Conecte esses valores
e resolva para
autovetores.
Sec. 18.1
Introduction to Information Retrieval
Decomposição própria/diagonal
Seja
uma matriz quadrada com m autovetores
linearmente independentes (uma matriz não-defeituosa)
Teorama: Existe uma decomposição própria
diagonal
(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
Introduction to Information Retrieval
Decomposição diagonal: por que /
como
v
...
v
Seja U tendo os autovetores c/ colunas: U
n
1
Então, SU pode ser escrito
1
...
SU
S
v
...
v
v
...
v
v
...
v
1
n
1
1
n
n
1
n
n
Assim SU=U, orU–1SU=
E S=UU–1.
Sec. 18.1
Introduction to Information Retrieval
Exemplo – decomposição diagonal
Recorde
21
S
;
1
,
3
.
1
2
12
1
Os autovetores
1
Invertendo, temos
1
e
1
forma
1
/2
1
/2
U
1
/
2
1
/
2
1
1
U
1
1
1
Relembre
UU–1 =1.
11
10
1
/
2
1
/
2
Então, S=UU–1 =
1
1
0
3
1
/
21
/
2
Sec. 18.1
Introduction to Information Retrieval
Continuação exemplo
Vamos dividir U (e multiplicar U–1) por
2
1
0
1
/2
1
/2
1
/2
1
/2
Então, S=
0
3
1
/2
1
/2
1
/2
1
/2
Q
Why? Stay tuned …
(Q-1= QT )
Introduction to Information Retrieval
Sec. 18.1
Decomposição própria simétrica
Se
é uma matriz simétrica:
Teorema: Existe uma (única) decomposição própria
T
S
Q
Q
Onde Q é ortogonal:
Q-1= QT
Colunas de Q são autovetores normalizados
Colunas são ortogonais
(tudo é real)
Sec. 18.1
Introduction to Information Retrieval
Exercício
Examine the symmetric eigen decomposition, if any,
for each of the following matrices:
0 1
1 0
0 1
1 0
1 2
2 3
2 2
2 4
Introduction to Information Retrieval
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
Introduction to Information Retrieval
Decomposição Valor Singular (SVD)
P/ uma matriz A, M N, do rank r existe uma
fatorização (Singular Value Decomposition = SVD)
como a seguir:
T
A
U
V
MM
MN
V é NN
As colunas de U são autovetores ortogonais de AAT.
As colunas de V são autovetores ortogonais de ATA.
Autovalores 1 … r de AAT são autovalores de ATA.
i
i
diag
...
1
r
Valores
singulares
Introduction to Information Retrieval
Sec. 18.2
Decomposição do valor singular
Ilustrações das dimensões do SVD e espalhamento
Introduction to Information Retrieval
Sec. 18.2
Exemplo SVD
Seja
1 1
A 0 1
1 0
Assim M=3, N=2. Seu SVD é
0 2
/61
/3
1
0
1
/21
/2
1
/2
1
/61
/3
0
3
1
/2
1
/2
1
/
2
1
/
6
1
/
3
0
0
Tipicamente, os valores singulares são arranjados em
ordem decrescente.
Introduction to Information Retrieval
Sec. 18.3
Low-rank Approximation
SVD pode ser usado para cacular low-rank
approximations ótimo.
Problema aproximação: Encontrar Ak do ranking k tal
que
A
A
X
k
min
F
Frobenius norm
X
:
rank
(
X
)
k
Ak e X são ambas matrizes mn
Tipicamente, queremos k << r.
Sec. 18.3
Introduction to Information Retrieval
Low-rank Approximation
Solução via SVD
T
A
U
di
(
,...,
,
0
ag
,...,
0
)
V
k
1k
Ajuste os menores valores singulares
r-k para zero
k
T
A
u
v
k
i
1i i i
k
Notação coluna: soma do
rank de 1 “matrizes”
Introduction to Information Retrieval
Sec. 18.3
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 (spacesaving) , comum p/ aplicações computacionais
Isso é o que Matlab nos dá
k
Sec. 18.3
Introduction to Information Retrieval
Erro aproximação
Quão bom (ruim) é sua aproximação?
Ela é a melhor possível, medida pela norma do erro
de Frobenius:
A
X
A
A
m
in
F
X
:
ra
(
X
)
k
nk
k
1
Fk
onde i é ordenado tal que i i+1.
Sugira por que erro de Frobenius baixa quando k é
aumentado
Introduction to Information Retrieval
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.
Introduction to Information Retrieval
Latent Semantic
Indexing via SVD
Introduction to Information Retrieval
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ê?
Introduction to Information Retrieval
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 de similaridade
(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
Introduction to Information Retrieval
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.
Introduction to Information Retrieval
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.
Introduction to Information Retrieval
Polissemia e Contexto
Similaridade de documentos no nível de uma palavra
única: polissemia e contexto
ring
jupiter
•••
…
planet
...
…
Signficado 1
space
voyager
saturn
...
Signficado 2
car
company
•••
Contribuição p/ similaridade,
Se usado o primeiro
signficado, mas não em
segundo
dodge
ford
Introduction to Information Retrieval
Sec. 18.4
Latent Semantic Indexing (LSI)
Realiza uma low-rank approximation de documentterm 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 lowdimensional 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
Introduction to Information Retrieval
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
Introduction to Information Retrieval
Análise da Semântica Latente
Espaço semântico latente: exemplo de ilustração
courtesy of Susan Dumais
Introduction to Information Retrieval
Sec. 18.4
Realizando os mapas
Cada linha e coluna de A gets mapped into the kdimensional 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
T
1
q
q
U
k
k
k
Consulta em um vetor não esparso
Introduction to Information Retrieval
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
Introduction to Information Retrieval
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:
Dimensões
250
300
346
Precisão
0.367
0.371
0.374
Introduction to Information Retrieval
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.
Introduction to Information Retrieval
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.
Introduction to Information Retrieval
Intuição de blocos de matrizes
N documentos
Bloco1
Qual o rank dessa matriz ?
0’s
Bloco 2
M
termos
…
0’s
Bloco k
= blocos homogêneos não-nulos
Introduction to Information Retrieval
Intuição de blocos de matrizes
N documentos
Bloco 1
0’s
Bloco 2
M
termos
…
0’s
Bloco k
Vocabulário particionado em k tópicos (clusters);
cada documento discute em somente um tópico.
Introduction to Information Retrieval
Intuição de blocos de matrizes
N documentos
Bloco1
Qual a melhor aproximação
do rank-k p/ essa matriz?
0’s
Bloco 2
M
termos
…
0’s
Bloco k
= entradas não-nulas
Introduction to Information Retrieval
Intuição de blocos de matrizes
Provavelmente existe uma boa
aproximação do rank-k p/ essa matriz.
Arame
Pneu
V6
Bloco 1
Bloco 2
Poucas entradas não-zeros
…
Poucas entradas não-zeros
Carro
10
Automóvel 0 1
Bloco k
Introduction to Information Retrieval
Figura simplista
Tópico 1
Tópico 2
Tópico 3
Introduction to Information Retrieval
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.
Introduction to Information Retrieval
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
Introduction to Information Retrieval
Resources
IIR 18