modelo espaço vetorial - informáticamberger/disciplinas/2011_2/edii/slides/... · atribuição de...

41
Modelo Espaço Vetorial Mariella Berger

Upload: lythien

Post on 28-Jan-2019

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Modelo Espaço Vetorial - Informáticamberger/Disciplinas/2011_2/EDII/Slides/... · Atribuição de Peso Os pesos são usados para computar a ... lista ordenada (ranking) de todos

Modelo Espaço Vetorial

Mariella Berger

Page 2: Modelo Espaço Vetorial - Informáticamberger/Disciplinas/2011_2/EDII/Slides/... · Atribuição de Peso Os pesos são usados para computar a ... lista ordenada (ranking) de todos

Agenda

Introdução Atribuição de Pesos

– Frequência– TF-IDF

Similaridade Exemplo Vantagens e Desvantagens

Page 3: Modelo Espaço Vetorial - Informáticamberger/Disciplinas/2011_2/EDII/Slides/... · Atribuição de Peso Os pesos são usados para computar a ... lista ordenada (ranking) de todos

Modelo Espaço Vetorial

Introdução

Page 4: Modelo Espaço Vetorial - Informáticamberger/Disciplinas/2011_2/EDII/Slides/... · Atribuição de Peso Os pesos são usados para computar a ... lista ordenada (ranking) de todos

Modelo Espaço Vetorial

O modelo espaço-vetorial foi desenvolvido por Gerard Salton.

Page 5: Modelo Espaço Vetorial - Informáticamberger/Disciplinas/2011_2/EDII/Slides/... · Atribuição de Peso Os pesos são usados para computar a ... lista ordenada (ranking) de todos

Modelo Espaço Vetorial

Documentos e queries são representados por um vetor com n dimensões, onde n é o numero de termos diferentes na coleção de documentos.

Achar documentos é comparar o vetor

de documentos com o vetor query do usuário

Page 6: Modelo Espaço Vetorial - Informáticamberger/Disciplinas/2011_2/EDII/Slides/... · Atribuição de Peso Os pesos são usados para computar a ... lista ordenada (ranking) de todos

Modelo Espaço Vetorial

0 indica a ausência de um termo wit : Peso que indica a importância do termo

good

tutorial

on

java

sun

site

w11

doc1

w12

w13

w14

0

0

0

doc2

w22

0

w24

0

0

0

doc3

0

0

w34

w35

w36

0

query

0

0

w4

0

0

termos

Page 7: Modelo Espaço Vetorial - Informáticamberger/Disciplinas/2011_2/EDII/Slides/... · Atribuição de Peso Os pesos são usados para computar a ... lista ordenada (ranking) de todos

Modelo Espaço Vetorial

Atribuição de Pesos

Page 8: Modelo Espaço Vetorial - Informáticamberger/Disciplinas/2011_2/EDII/Slides/... · Atribuição de Peso Os pesos são usados para computar a ... lista ordenada (ranking) de todos

Atribuição de Peso

Os pesos são usados para computar a similaridade

O peso de um termo em um documento pode ser calculado de diversas formas:– Frequência no documento– Balancear características em comum (intra-

documentos) e características para fazer a distinção entre documentos (inter-documentos) – Salton e Buckey

Page 9: Modelo Espaço Vetorial - Informáticamberger/Disciplinas/2011_2/EDII/Slides/... · Atribuição de Peso Os pesos são usados para computar a ... lista ordenada (ranking) de todos

Atribuição de Pesos

Frequência

Page 10: Modelo Espaço Vetorial - Informáticamberger/Disciplinas/2011_2/EDII/Slides/... · Atribuição de Peso Os pesos são usados para computar a ... lista ordenada (ranking) de todos

Exemplo

Documento A– “A dog and a cat.”

Documento B– “A frog.”

1112

catanddoga

11

froga

Page 11: Modelo Espaço Vetorial - Informáticamberger/Disciplinas/2011_2/EDII/Slides/... · Atribuição de Peso Os pesos são usados para computar a ... lista ordenada (ranking) de todos

Exemplo

O vocabulário contém todas as palavras utilizadas– a, dog, and, cat, frog

O vocabulário necessita ser ordenado– a, and, cat, dog, frog

Page 12: Modelo Espaço Vetorial - Informáticamberger/Disciplinas/2011_2/EDII/Slides/... · Atribuição de Peso Os pesos são usados para computar a ... lista ordenada (ranking) de todos

Exemplo

Documento A: “A dog and a cat.”

– Vetor: (2,1,1,1,0) Documento B: “A frog.”

– Vetor: (1,0,0,0,1)

1

dog

1

cat

012

froganda

0

dog

0

cat

101

froganda

Page 13: Modelo Espaço Vetorial - Informáticamberger/Disciplinas/2011_2/EDII/Slides/... · Atribuição de Peso Os pesos são usados para computar a ... lista ordenada (ranking) de todos

Exemplo: Queries

Queries também podem ser representadas como vetores:– Dog = (0,0,0,1,0)– Frog = (0,0,0,0,1)– Dog and frog = (0,1,0,1,1)

Page 14: Modelo Espaço Vetorial - Informáticamberger/Disciplinas/2011_2/EDII/Slides/... · Atribuição de Peso Os pesos são usados para computar a ... lista ordenada (ranking) de todos

Atribuição de Pesos

Balanceamento de características

(tf-idf)

Page 15: Modelo Espaço Vetorial - Informáticamberger/Disciplinas/2011_2/EDII/Slides/... · Atribuição de Peso Os pesos são usados para computar a ... lista ordenada (ranking) de todos

TF-IDF

Onde:– tf

i(frequência do termo) = o número de

vezes que o termo i ocorre no documento (reflete a informação local)

– dfi(frequência do documento) = o número de

documentos que contém o termo i.– D = número total de documentos

Page 16: Modelo Espaço Vetorial - Informáticamberger/Disciplinas/2011_2/EDII/Slides/... · Atribuição de Peso Os pesos são usados para computar a ... lista ordenada (ranking) de todos

TF-IDF

A fração dfi/D é a probabilidade de selecionar

um documento que contém o termo i.

log(D/dfi) é o Inverse Document Frequency

(IDFi ), e reflete a informação global

Se o termo aparece pouco nos documentos, então este é mais relevante.

Page 17: Modelo Espaço Vetorial - Informáticamberger/Disciplinas/2011_2/EDII/Slides/... · Atribuição de Peso Os pesos são usados para computar a ... lista ordenada (ranking) de todos

Exemplo

Page 18: Modelo Espaço Vetorial - Informáticamberger/Disciplinas/2011_2/EDII/Slides/... · Atribuição de Peso Os pesos são usados para computar a ... lista ordenada (ranking) de todos

Uma outra definição

TF = freq(k,S) (frequência do termo k no documento/consulta S)

IDF = log (N/nk) (Inverse Document

Frequency), onde:– N: é o número de termos na coleção

– Nk : é o número de vezes que o termo

ocorre na coleção

Page 19: Modelo Espaço Vetorial - Informáticamberger/Disciplinas/2011_2/EDII/Slides/... · Atribuição de Peso Os pesos são usados para computar a ... lista ordenada (ranking) de todos

Modelo Espaço Vetorial

Similaridades

Page 20: Modelo Espaço Vetorial - Informáticamberger/Disciplinas/2011_2/EDII/Slides/... · Atribuição de Peso Os pesos são usados para computar a ... lista ordenada (ranking) de todos

Similaridade

Cada elemento do vetor de termos é considerado uma coordenada dimensional.

Assim, os documentos podem ser colocados em um espaço euclidiano de n dimensões (onde n é o número de termos) e a posição do documento em cada dimensão é dada pelo seu peso (figura no próximo slide).

Page 21: Modelo Espaço Vetorial - Informáticamberger/Disciplinas/2011_2/EDII/Slides/... · Atribuição de Peso Os pesos são usados para computar a ... lista ordenada (ranking) de todos

Similaridade

Page 22: Modelo Espaço Vetorial - Informáticamberger/Disciplinas/2011_2/EDII/Slides/... · Atribuição de Peso Os pesos são usados para computar a ... lista ordenada (ranking) de todos

Similaridade

Cada dimensão corresponde a um termo, e o valor do documento em cada dimensão varia entre 0 (irrelevante ou não presente) e 1 (totalmente relevante).

Page 23: Modelo Espaço Vetorial - Informáticamberger/Disciplinas/2011_2/EDII/Slides/... · Atribuição de Peso Os pesos são usados para computar a ... lista ordenada (ranking) de todos

Similaridade

Page 24: Modelo Espaço Vetorial - Informáticamberger/Disciplinas/2011_2/EDII/Slides/... · Atribuição de Peso Os pesos são usados para computar a ... lista ordenada (ranking) de todos

Similaridade

As distâncias entre um documento e outro indicam seu grau de similaridade– ou seja, documentos que possuem os

mesmos termos acabam sendo colocados em uma mesma região do espaço e, em teoria, tratam de assuntos similares.

Page 25: Modelo Espaço Vetorial - Informáticamberger/Disciplinas/2011_2/EDII/Slides/... · Atribuição de Peso Os pesos são usados para computar a ... lista ordenada (ranking) de todos

Similaridade - Consulta

Os vetores dos documentos podem ser comparados com o vetor da consulta e o grau de similaridade entre cada um deles pode ser identificado.

Os documentos mais similares (mais próximos no espaço) à consulta são considerados relevantes para o usuário e retornados como resposta

Page 26: Modelo Espaço Vetorial - Informáticamberger/Disciplinas/2011_2/EDII/Slides/... · Atribuição de Peso Os pesos são usados para computar a ... lista ordenada (ranking) de todos

Similaridade - Consulta

Uma das formas de calcular a proximidade entre os vetores é testar o ângulo entre estes vetores.

No modelo original, é utilizada uma função batizada de cosine vector similarity

Page 27: Modelo Espaço Vetorial - Informáticamberger/Disciplinas/2011_2/EDII/Slides/... · Atribuição de Peso Os pesos são usados para computar a ... lista ordenada (ranking) de todos

Coseno entre vetores

Para 2 vetores d e d’, a similaridade é calculada pelo coseno, ou seja:

'

'

dd

dd

Page 28: Modelo Espaço Vetorial - Informáticamberger/Disciplinas/2011_2/EDII/Slides/... · Atribuição de Peso Os pesos são usados para computar a ... lista ordenada (ranking) de todos

Similaridade

Depois dos graus de similaridade terem sido calculados, é possível montar uma lista ordenada (ranking) de todos os documentos e seus respectivos graus de relevância à consulta, da maior para a menor relevância.

Page 29: Modelo Espaço Vetorial - Informáticamberger/Disciplinas/2011_2/EDII/Slides/... · Atribuição de Peso Os pesos são usados para computar a ... lista ordenada (ranking) de todos

Exemplo

Brasil 0.3Olimpíadas 0.5Sidney 0.2

ddii

Brasil 0.2Olimpíadas 0.4Sidney 0.4

ddjjBrasil

Olimpíadas

Sidney

di0.2

0.50.3

dj

di = 0.3 Brasil + 0.5 Olimpiadas + 0.2 Sidney

dj = 0.2 Brasil + 0.4 Olimpiadas + 0.4 Sidney

Page 30: Modelo Espaço Vetorial - Informáticamberger/Disciplinas/2011_2/EDII/Slides/... · Atribuição de Peso Os pesos são usados para computar a ... lista ordenada (ranking) de todos

Exemplo

Similaridade: produto interno / produto das normas

Sim= = = 0.28

di • dj

|di| · |dj| 0.3 · 0.2 + 0.5 · 0.4 + 0.2 · 0.4

( 0.09 + 0.25 + 0.04 )½ · ( 0.04 + 0.16 + 0.16 )½

Page 31: Modelo Espaço Vetorial - Informáticamberger/Disciplinas/2011_2/EDII/Slides/... · Atribuição de Peso Os pesos são usados para computar a ... lista ordenada (ranking) de todos

Modelo Vetorial

Exemplos

Page 32: Modelo Espaço Vetorial - Informáticamberger/Disciplinas/2011_2/EDII/Slides/... · Atribuição de Peso Os pesos são usados para computar a ... lista ordenada (ranking) de todos

Exemplo 1

Query: "gold silver truck" A coleção possui 3 documentos (D = 3) D1: "Shipment of gold damaged in a fire" D2: "Delivery of silver arrived in a silver

truck" D3: "Shipment of gold arrived in a truck"

Page 33: Modelo Espaço Vetorial - Informáticamberger/Disciplinas/2011_2/EDII/Slides/... · Atribuição de Peso Os pesos são usados para computar a ... lista ordenada (ranking) de todos
Page 34: Modelo Espaço Vetorial - Informáticamberger/Disciplinas/2011_2/EDII/Slides/... · Atribuição de Peso Os pesos são usados para computar a ... lista ordenada (ranking) de todos

Análise da similaridade

Page 35: Modelo Espaço Vetorial - Informáticamberger/Disciplinas/2011_2/EDII/Slides/... · Atribuição de Peso Os pesos são usados para computar a ... lista ordenada (ranking) de todos

Análise da similaridade

Page 36: Modelo Espaço Vetorial - Informáticamberger/Disciplinas/2011_2/EDII/Slides/... · Atribuição de Peso Os pesos são usados para computar a ... lista ordenada (ranking) de todos

Análise da similaridade

Page 37: Modelo Espaço Vetorial - Informáticamberger/Disciplinas/2011_2/EDII/Slides/... · Atribuição de Peso Os pesos são usados para computar a ... lista ordenada (ranking) de todos

Análise da similaridade

Resultado obtido:– Rank 1: Doc 2 = 0.8246– Rank 2: Doc 3 = 0.3271– Rank 3: Doc 1 = 0.0801

Page 38: Modelo Espaço Vetorial - Informáticamberger/Disciplinas/2011_2/EDII/Slides/... · Atribuição de Peso Os pesos são usados para computar a ... lista ordenada (ranking) de todos

Modelo Vetorial

Vantagens e Desvantagens

Page 39: Modelo Espaço Vetorial - Informáticamberger/Disciplinas/2011_2/EDII/Slides/... · Atribuição de Peso Os pesos são usados para computar a ... lista ordenada (ranking) de todos

Vantagens

Oferecer um framework simples e elegante Atribuir pesos aos termos melhora o desempenho É uma estratégia de encontro parcial (função de

similaridade), que é melhor que a exatidão do modelo booleano;

Os documentos são ordenados de acordo com seu grau de similaridade com a consulta.

Em geral, seu desempenho (precisão e recall) supera todos os outros modelos

Page 40: Modelo Espaço Vetorial - Informáticamberger/Disciplinas/2011_2/EDII/Slides/... · Atribuição de Peso Os pesos são usados para computar a ... lista ordenada (ranking) de todos

Desvantagens

Ausência de ortogonalidade entre os termos. Isso poderia encontrar relações entre termos que aparentemente não têm nada em comum;

É um modelo generalizado; Um documento relevante pode não

conter termos da consulta; Documentos muito longos podem

dificultar na medida da similaridade;

Page 41: Modelo Espaço Vetorial - Informáticamberger/Disciplinas/2011_2/EDII/Slides/... · Atribuição de Peso Os pesos são usados para computar a ... lista ordenada (ranking) de todos

Idéias para melhorá-lo

Apontar um conjunto de palavras-chaves nos documentos

Eliminar palavras muito comuns (como exemplo artigos)

Limitar o vetor espaço em substantivos e poucos verbos ou adjetivos

Criar subvetores para documentos muito grandes