35
Indexação por Semântica Latente (Latent Semantic Indexing) Joaquim Macedo

Indexação por Semântica Latente (Latent Semantic Indexing) Joaquim Macedo

Embed Size (px)

Citation preview

Page 1: Indexação por Semântica Latente (Latent Semantic Indexing) Joaquim Macedo

Indexação por Semântica Latente(Latent Semantic Indexing)

Joaquim Macedo

Page 2: Indexação por Semântica Latente (Latent Semantic Indexing) Joaquim Macedo

Fontes

• Apresentação de Berthier Neto • Outras apresentações disponíveis na

Internet

Page 3: Indexação por Semântica Latente (Latent Semantic Indexing) Joaquim Macedo

LeiturasScott Deerwester, Susan T. Dumais, George W. Furnas, Thomas K. Landauer, Richard Harshman, "Indexing by latent semantic analysis".   Journal of the American Society for Information Science, Volume 41, Issue 6, 1990. 

http://www3.interscience.wiley.com/cgi-bin/issuetoc?ID=10049584 

Livro Modern Information RetrievalCap. 02: Modeling(Latent Semantic Indexing) 2.7.2, 2.7.3

Page 4: Indexação por Semântica Latente (Latent Semantic Indexing) Joaquim Macedo

Indexação por Semântica Latente

• A RI clássica pode conduzir a baixa eficácia na busca devido a

– Documentos não relacionados podem ser incluídos no conjunto da resposta

– Documentos relevantes que não contenham pelo menos um termo de índice da interrogação podem não ser devolvidos

• Raciocínio: Busca baseada em termos de índice é vaga e ruidosa.

Page 5: Indexação por Semântica Latente (Latent Semantic Indexing) Joaquim Macedo

Deficiências com indexação automática convencional

Sinónimos: Várias palavras e frases referenciam o mesmo conceito (diminui a cobertura)

Homógrafas: Palavras que têm mais que um significado (diminui a precisão)

Independência: Não é dada importância ao facto de 2 termos aparecerem em conjunto frequentemente

Page 6: Indexação por Semântica Latente (Latent Semantic Indexing) Joaquim Macedo

Indexação por Semântica Latente

Objectivo

Substituir índices que usam conjunto de termos de índice por índices que usam conceitos.

Abordagem

Estabelecer uma correspondência entre o espaço vectorial dos índices por um espaço de menor dimensão, usando a decomposição em valores singulares

Page 7: Indexação por Semântica Latente (Latent Semantic Indexing) Joaquim Macedo

t1

t2

t3

d1 d2

O espaço tem tantas dimensões como os termos da lista de palavras

Espaço vectorial dos termos de índice

Page 8: Indexação por Semântica Latente (Latent Semantic Indexing) Joaquim Macedo

PCA e SVD

• PCA ( Principle Component Analysis)– Análise em Componentes Principais

• SVD: Singular Value Decomposition– Decomposição em Valores Singulares

• Recursos– The Matrix Cookbook

• http://www.imm.dtu.dk/pubdb/views/edoc_download.php/3274/pdf/imm3274.pdf

Page 9: Indexação por Semântica Latente (Latent Semantic Indexing) Joaquim Macedo

Análise em Componentes Principais (PCA)

• Exemplo: Projectar dados 2D num PC 1D

• Variabilidade dos dados pode ser descrito usando um menor número de dimensões– Funciona bem quando as

facetas de entrada estão correlacionadas

– As novas dimensões são não correlacionadas.

xWy pca

Page 10: Indexação por Semântica Latente (Latent Semantic Indexing) Joaquim Macedo

Análise Discriminante LinearLinear Discriminant Analysis (LDA)

• A análise por componentes principais não é necessariamente boa para discriminação na classificação.

• A Análise disciminante linear procura encontrar uma transformação linear que maximiza a variância entre classes e minimizar a variância interna das classes– i.e. discriminação das facetas

Page 11: Indexação por Semântica Latente (Latent Semantic Indexing) Joaquim Macedo

Análise Discriminante Linear

• Projectar um espaço 2D num 1 PC

B

.2.0

1.5

1.0

0.5

0.5 1.0 1.5 2.0

..

..

. ...

...

. .

A

w

.Não descriminante

(from slides by Shaoqun Wu)

Page 12: Indexação por Semântica Latente (Latent Semantic Indexing) Joaquim Macedo

Análise Discriminante Linear

B

.

2.0

1.5

1.0

0.5

0.5 1.0 1.5 2.0 .. .... . . ... .. A

w

.

B

.

2.0

1.5

1.0

0.5

0.5 1.0 1.5 2.0

..

..

....

...

. .

Aw

.

PCA LDA: descobre uma discriminação linear

Page 13: Indexação por Semântica Latente (Latent Semantic Indexing) Joaquim Macedo

PCA e SVD• Fazer a PCA é equivalente ao SVD nos dados• Qualquer matriz X nxm pode ser descrita como:

– X=T·S·VT

– T é os vectores de valores próprios de X·XT (nxn)– S é a diag(eig(X·XT) (nxm)– V é os vectores de valores próprios dr XT·X (mxm)

n x m

terms

documents

X

Page 14: Indexação por Semântica Latente (Latent Semantic Indexing) Joaquim Macedo

Exemplo de Documentos: Títulos c1 Human machine interface for Lab ABC computer

applications c2 A survey of user opinion of computer system response time c3 The EPS user interface management system c4 System and human system engineering testing of EPS c5 Relation of user-perceived response time to error

measurementm1 The generation of random, binary, unordered treesm2 The intersection graph of paths in treesm3 Graph minors IV: Widths of trees and well-quasi-ordering m4 Graph minors: A survey

Page 15: Indexação por Semântica Latente (Latent Semantic Indexing) Joaquim Macedo

Exemplo : Termos e Documentos

Terms Documentsc1 c2 c3 c4 c5 m1 m2 m3 m4

human 1 0 0 1 0 0 0 0 0interface 1 0 1 0 0 0 0 0 0computer 1 1 0 0 0 0 0 0 0user 0 1 1 0 1 0 0 0 0system 0 1 1 2 0 0 0 0 0response 0 1 0 0 1 0 0 0 0time 0 1 0 0 1 0 0 0 0EPS 0 0 1 1 0 0 0 0 0survey 0 1 0 0 0 0 0 0 1trees 0 0 0 0 0 1 1 1 0graph 0 0 0 0 0 0 1 1 1minors 0 0 0 0 0 0 0 1 1

Page 16: Indexação por Semântica Latente (Latent Semantic Indexing) Joaquim Macedo

Dimensão das matrizes

X = T0

D0'S0

t x d t x m m x dm x m

m é o rank de X < min(t, d)

Page 17: Indexação por Semântica Latente (Latent Semantic Indexing) Joaquim Macedo

Latent Semantic Indexing

t x d

terms

documents

X =

t x m

m x m m x d

* * * * *

DST0

0 0

Singular Value Decomposition

t x d t x k

k x k k x d =terms

documents* * * * *X

DST

Select first k singular values

^

Page 18: Indexação por Semântica Latente (Latent Semantic Indexing) Joaquim Macedo

T0

Page 19: Indexação por Semântica Latente (Latent Semantic Indexing) Joaquim Macedo

S0

Page 20: Indexação por Semântica Latente (Latent Semantic Indexing) Joaquim Macedo

D0

Page 21: Indexação por Semântica Latente (Latent Semantic Indexing) Joaquim Macedo

Rank Reduzido

Os elementos da diagonal de S0 são positivos e decrescem em magnitude. Considere apenas os k maiores e coloque os restantes a zero.

Apague as colunas e as filas a zero de S0 e as filas correspondentes de T0 e D0. Isto dá:

X X = TSD'

Interpretação

Se o valor k for bem seleccionado, espera-se que X retenha a informação semântica de X, mas elemine o ruído de sinónomos, homografias e reconhece a dependência.

~~^

^

Page 22: Indexação por Semântica Latente (Latent Semantic Indexing) Joaquim Macedo

Selecção de valores singulares

X =

t x d t x k k x dk x k

k é o número de valores singulares escolhidos para representar os conceitos no conjunto de documentos

Normalmente k « m.

T

S D'

^

Page 23: Indexação por Semântica Latente (Latent Semantic Indexing) Joaquim Macedo

SVD com os termos menores descartados

TS define coordenadas para documentos no espaço latente

Page 24: Indexação por Semântica Latente (Latent Semantic Indexing) Joaquim Macedo

Termos Graficados em 2 dimensões

LSA2.SVD.2dimTrmVectors[,1]

-2.0 -1.5 -1.0 -0.5 0.0

-0.5

0.0

0.5

1.0

1.5

humaninterface

computeruser

system

responsetime

EPS

survey

trees

graph

minors

Page 25: Indexação por Semântica Latente (Latent Semantic Indexing) Joaquim Macedo

Documentos e Termos

LSA2.SVD.2dimTrmVectors[,1]

-2.0 -1.5 -1.0 -0.5 0.0

-0.5

0.0

0.5

1.0

1.5

humaninterface

computeruser

system

responsetime

EPS

survey

trees

graph

minors

c1

c2

c3

c4

c5

m1

m2

m3

m4

c1

c2

c3

c4

c5

m1

m2

m3

m4

c1

c2

c3

c4

c5

m1

m2

m3

m4

c1

c2

c3

c4

c5

m1

m2

m3

m4

c1

c2

c3

c4

c5

m1

m2

m3

m4

c1

c2

c3

c4

c5

m1

m2

m3

m4

c1

c2

c3

c4

c5

m1

m2

m3

m4

c1

c2

c3

c4

c5

m1

m2

m3

m4

c1

c2

c3

c4

c5

m1

m2

m3

m4

c1

c2

c3

c4

c5

m1

m2

m3

m4

c1

c2

c3

c4

c5

m1

m2

m3

m4

Page 26: Indexação por Semântica Latente (Latent Semantic Indexing) Joaquim Macedo

Comparação de dois termos

XX' = TSD'(TSD')'

= TSD'DS'T'

= TSS'T Uma vez que D é ortonormal

= TS(TS)'

Para calcular a posição i, j, calcule o produto interno entre a fila i e j de TS

Uma vez que S é diagonal, TS difere apenas de T pela mudança do sistema de coordenadas.

^

^

O produto interno de duas filas de X reflecte em que medida dois termos têm um padrão similar de ocurrências.

^

Page 27: Indexação por Semântica Latente (Latent Semantic Indexing) Joaquim Macedo

Comparação entre 2 documentos

X'X = (TSD')'TSD'

= DS(DS)'

Para calcular a posição i, j, obtenha o produto interno entre as colunas i e j de DS.

Uma vez que S é diagonal DS difere D apenas pela mudança do sistema de coordenadas.

^^

O produto interno de duas colunas de X reflecte a medida em que dois documentos têm um padrão similar de ocurrências.

^

Page 28: Indexação por Semântica Latente (Latent Semantic Indexing) Joaquim Macedo

Comparação de um termo e um documento

A comparação entre um termo e um documento duma célula individual de X.

X = TSD'

= TS(DS)'

Onde S é uma matriz diagonal cujos valores são a raiz quadrada dos correspondentes valores de S.

^

- -

-

Page 29: Indexação por Semântica Latente (Latent Semantic Indexing) Joaquim Macedo

Exemplo duma Memo técnica: Interrogação

Terms Query xq

human 1interface 0computer 0user 0system 1response 0time 0EPS 0survey 0trees 1graph 0minors 0

Interrogação: "human system interactions on trees"

No espaço termo-documento, uma interrogação é representada por xq, um vector t x 1.

No espaço de conceitos, uma interrogação é representada por dq, um vector 1 x k.

Page 30: Indexação por Semântica Latente (Latent Semantic Indexing) Joaquim Macedo

Interrogação

A forma sugerida de dq é :

dq = xq'TS-1

Exemplo de uso. Para comparar uma interrogação com um documento i, tome o elemento iésimo do produto de DS e dqS, que é iésimo elemento do produto de DS e xq'T.

Observe que dq é um vector coluna.

Page 31: Indexação por Semântica Latente (Latent Semantic Indexing) Joaquim Macedo

Interrogação

Seja xq um vector de termos para a interrogação q.

No espaço de dimensão reduzido, q, é representado pelo pseudo-documento, dq, no centroides de termos, com aapropriada mudança de escala dos eixos.

dq = xq'TS-1

Page 32: Indexação por Semântica Latente (Latent Semantic Indexing) Joaquim Macedo

Resultados Experimentais

Deerwester, et al. ensaiaram o LSI em duas colecções de teste MED e CISI, com interrogações e julgamentos de relevância disponíveis.

Documentos eram compostos por títulos e resumos.

Listas de Stopwords de 439 palavras, sem stemming, etc.

Comparação com: (a) unificação simples de termos , (b) SMART, (c) método de Voorhees.

Page 33: Indexação por Semântica Latente (Latent Semantic Indexing) Joaquim Macedo

Resultados Experimentais: 100 Factores

Page 34: Indexação por Semântica Latente (Latent Semantic Indexing) Joaquim Macedo

Resultados Experimentais: Nº de Factores

Page 35: Indexação por Semântica Latente (Latent Semantic Indexing) Joaquim Macedo

Conclusões

• O Latent semantic indexing fornece uma diferente conceptualização do problema da RI(IR)

• Permite a redução da complexidade do quadro de representação subjacente o que pode ser explorado por exemplo com o propósito de interface com o utilizador