Modelo Vetorial Wendel Melo

Save this PDF as:
 WORD  PNG  TXT  JPG

Tamanho: px
Começar a partir da página:

Download "Modelo Vetorial Wendel Melo"

Transcrição

1 Wendel Melo Faculdade de Computação Universidade Federal de Uberlândia Recuperação da Informação Adaptado do Material da Profª Vanessa Braganholo - IC/UFF

2 Proposto ao final da década de 1960 e ainda hoje é um dos modelos mais empregados; Busca suprir as limitações do modelo booleano: Casamento entre consultas e documentos precisa ser exato; Falta de ranqueamento. Permite casamentos parciais através da adoção de pesos não binários aos termos de indexação, tanto para documentos quanto para consultas;

3 Documentos e consultas são representados como vetores em um espaço vetorial A dimensão do espaço é dada pelo número de termos T no vocabulário da base de documentos. Assim, cada documento d j é representado pelo vetor: d j = ( w 1j, w j,, w Tj ) E uma consulta q é representada por: q = ( w 1q, w q,, w Tq ) 3

4 Documentos e consultas são representados como vetores em um espaço vetorial A dimensão do espaço é dada pelo número de termos T no vocabulário da base de documentos. Assim, cada documento d j é representado pelo vetor: d j = ( w 1j, w j,, w Tj ) E uma consulta q é representada por: q = ( w 1q, w q,, w Tq ) Os elementos e w iq dos vetores são pesos para os termos, tanto nos docs quanto nas consultas! 4

5 Algum esquema de ponderação deve ser utilizado para o cálculo dos pesos e w iq ; É comum o uso da ponderação TF-IDF! Outros esquemas podem ser utilizados, todavia. Originalmente, estes pesos devem ser não-negativos! Documentos e consultas são representados como vetores em um espaço vetorial: A similaridade entre um documento e uma consulta é calculada através da similaridade entre seus respectivos vetores! 5

6 Exemplo: Um vocabulário de dois termos, k 1 e k : = (, ) k q = (, 1) 1 q k 1 6

7 Exemplo: Um vocabulário de dois termos, k 1 e k : = (, ) k q = (, 1) 1 q Pelo fato de haverem dois termos, os vetores estarão em R. k 1 7

8 Exemplo: Um vocabulário de dois termos, k 1 e k : = (, ) k q = (, 1) Como os pesos dos termos devem ser não negativos, os vetores dos documentos e consultas estarão no ortante positivo do espaço (no caso de R, será o primeiro quadrante). 1 q k 1 8

9 Exemplo: Um vocabulário de dois termos, k 1 e k : = (, ) k q = (, 1) Quanto mais próximo de se sobreporem estiverem os vetores de e q, maior a similaridade entre documento e consulta. 1 q k 1 9

10 Exemplo: Um vocabulário de dois termos, k 1 e k : = (, ) k q = (, 1) Assim, essa similaridade pode ser medida através do ângulo entre os vetores. Quanto mais fechado o ângulo, maior a similaridade. 1 q k 1 10

11 Exemplo: Um vocabulário de dois termos, k 1 e k : = (, ) k q = (, 1) A similaridade entre o documento e a consulta é calculada através do cosseno do ângulo. 1 q k 1 11

12 Dado um doc d j representado pelo vetor: d j = (w 1j, w j,, w Tj ), e uma consulta q representada pelo vetor: q = (w 1q, w q,, w Tq ), a similaridade entre o documento d j e a consulta q é obtida através do cosseno do ângulo entre seus vetores: sim (d j,q )=cosθ= ( T T w iq ) ( T ) w iq, onde T é o número de termos no vocabulário 1

13 Por que é utilizado o cosseno do ângulo entre os vetores? sim (d j,q )=cosθ= ( T T w iq ) ( T ) w iq 13

14 Por que é utilizado o cosseno do ângulo entre os vetores? Porque sabemos que está 0º e 90º. Assim, seu cosseno estará entre 0 e 1. Quanto menor, maior seu cosseno! sim (d j,q )=cosθ= ( T T w iq ) ( T ) w iq 14

15 Por que é utilizado o cosseno do ângulo entre os vetores? Porque sabemos que está 0º e 90º. Assim, seu cosseno estará entre 0 e 1. Quanto menor, maior seu cosseno! Por que sabemos que está 0º e 90º? sim (d j,q )=cosθ= ( T T w iq ) ( T ) w iq 15

16 Por que é utilizado o cosseno do ângulo entre os vetores? Porque sabemos que está 0º e 90º. Assim, seu cosseno estará entre 0 e 1. Quanto menor, maior seu cosseno! Por que sabemos que está 0º e 90º? Porque os pesos são não-negativos, o que faz que os vetores estejam no ortante positivo (no caso de R, o primeiro quadrante). sim (d j,q )=cosθ= ( T T w iq ) ( T ) w iq 16

17 Pode-se considerar que um documento d j é relevante para uma consulta q se a similaridade entre d j e q é superior a um determinado patamar mínimo de similaridade. Pode-se utilizar o próprio valor da similaridade para ranquear os documentos! sim (d j,q )=cosθ= ( T T w iq ) ( T w iq ) 17

18 Exemplo - - TF-IDF Considere uma base de 4 documentos com os termos A, B e C e uma consulta AB: Documento Conteúdo 1 A A A B A A C 3 A A 4 B B 18

19 Exemplo - - TF-IDF Considere uma base de 4 documentos com os termos A, B e C e uma consulta AB: Documento Conteúdo 1 A A A B A A C 3 A A 4 B B Começamos pelo cálculo dos IDFs, pois não variam de acordo com o documento 19

20 Exemplo - - TF-IDF Considere uma base de 4 documentos com os termos A, B e C e uma consulta AB: Documento Conteúdo 1 A A A B A A C 3 A A 4 B B idf ( A )=log ( N ) n = ( 4 ) =0.149 t 3 idf (B )=log ( 4 ) = N: número de docs ; f ij : frequência do termo k i no doc d j ; idf (C )=log ( 4 1 ) =0.601 n i : número de docs com o termo k i. 0

21 Exemplo - - TF-IDF Considere uma base de 4 documentos com os termos A, B e C e uma consulta AB: Documento Conteúdo 1 A A A B A A C 3 A A 4 B B Calculamos os pesos no documentos segundo a expressão TF-IDF: N: número de docs ; f ij : frequência do termo k i no doc d j ; = (1+log (f ij )) idf (k i ) 0, se f ij 1, caso contrário n i : número de docs com o termo k i. 1

22 Exemplo - - TF-IDF Considere uma base de 4 documentos com os termos A, B e C e uma consulta AB: Documento Conteúdo 1 A A A B A A C 3 A A 4 B B w A1 = (1 + log 3) * = w B1 = (1 + log 1) * = w C1 = 0 = (0.1845, , 0) Vetor de pesos do documento 1

23 Exemplo - - TF-IDF Considere uma base de 4 documentos com os termos A, B e C e uma consulta AB: Documento Conteúdo 1 A A A B A A C 3 A A 4 B B w A1 = (1 + log 3) * = w B1 = (1 + log 1) * = w C1 = 0 = (0.1845, , 0) w A = (1 + log ) * = w B = 0 Vetor de pesos do documento w C = (1 + log 1) * = d = (0.165, 0, 0.601) 3

24 Exemplo - - TF-IDF Considere uma base de 4 documentos com os termos A, B e C e uma consulta AB: Documento Conteúdo 1 A A A B A A C 3 A A 4 B B w A3 = (1 + log ) * = w B3 = 0 w C3 = 0 d 3 = (0.165, 0, 0) Vetor de pesos do documento 3 4

25 Exemplo - - TF-IDF Considere uma base de 4 documentos com os termos A, B e C e uma consulta AB: Documento Conteúdo 1 A A A B A A C 3 A A 4 B B w A3 = (1 + log ) * = w B3 = 0 w C3 = 0 d 3 = (0.165, 0, 0) w A4 = 0 W B4 = (1 + log ) * = Vetor de pesos do documento 4 w C4 = 0 D 4 = (0, , 0) 5

26 Exemplo - - TF-IDF Considere uma base de 4 documentos com os termos A, B e C e uma consulta AB: Documento Conteúdo 1 A A A B A A C 3 A A 4 B B = (0.1845, , 0) d = (0.165, 0, 0.601) Calculamos o vetor de pesos da consulta segundo TF-IDF: w Aq = (1 + log 1) * = W Bq = (1 + log 1) * = w Cq = 0 d q = (0.149, , 0) d 3 = (0.165, 0, 0) d 4 = (0, , 0) 6

27 Exemplo - - TF-IDF Considere uma base de 4 documentos com os termos A, B e C e uma consulta AB: Temos os seguintes vetores representando os componentes do sistema: = (0.1845, , 0) d = (0.165, 0, 0.601) d 3 = (0.165, 0, 0) d 4 = (0, , 0) Calculamos a similaridade entre cada documento e a consulta segundo a expressão: sim (d j,q )= ( T T ) w iq ( T w iq ) d q = (0.149, , 0) 7

28 Exemplo - - TF-IDF Considere uma base de 4 documentos com os termos A, B e C e uma consulta AB: Similaridade entre q e : = (0.1845, , 0) d q = (0.149, , 0) sim (d j,q )= ( T T ) w iq ( T w iq ) sim (, q)= ( ) ( ) sim (, q)= ( ) ( ) = = = sim (, q)=

29 Exemplo - - TF-IDF Considere uma base de 4 documentos com os termos A, B e C e uma consulta AB: Similaridade entre q e d : d = (0.165, 0, 0.601) d q = (0.149, , 0) sim (d j,q )= ( T T ) w iq ( T w iq ) sim (d, q)= ( ) ( ) sim (d, q)= sim (d, q)= ( ) ( ) = = =

30 Exemplo - - TF-IDF Considere uma base de 4 documentos com os termos A, B e C e uma consulta AB: Similaridade entre q e d 3 : d 3 = (0.165, 0, 0) d q = (0.149, , 0) sim (d j,q )= ( T T ) w iq ( T w iq ) sim (d 3, q )= ( ) ( ) sim (d 3, q )= sim (d 3, q )= ( ) ( 0.106) = = =

31 Exemplo - - TF-IDF Considere uma base de 4 documentos com os termos A, B e C e uma consulta AB: Similaridade entre q e d 4 : d 4 = (0, , 0) d q = (0.149, , 0) sim (d j,q )= sim (d 4, q )= ( ) ( ) ( T T ) w iq ( T w iq ) sim (d 4, q )= ( ) ( ) = = =0.933 sim (d 4, q )=

32 Exemplo - - TF-IDF Considere uma base de 4 documentos com os termos A, B e C e uma consulta AB: Documento Conteúdo Portanto, o ranqueamento final fica: 1 A A A B A A C 3 A A 4 B B Assim, temos: sim (, q)= sim (d, q)= sim (d 3, q )= sim (d 4, q )=0.933, d 4, d 3 e d. Assumindo um patamar mínimo de similaridade de 0.1, o documento d seria considerado como não relevante e não entraria no resultado. 3

33 Exemplo - - TF-IDF Considere uma base de 4 documentos com os termos A, B e C e uma consulta AB: Documento Conteúdo Portanto, o ranqueamento final fica: 1 A A A B A A C 3 A A 4 B B Assim, temos: sim (, q)= sim (d, q)= sim (d 3, q )= sim (d 4, q )=0.933, d 4, d 3 e d. Assumindo um patamar mínimo de similaridade de 0.1, o documento d seria considerado como não relevante e não entraria no resultado. Por que a similaridade de d 4 é superior a de d 3, se ambos só tem um dos termos da consulta aparecendo duas vezes? 33

34 Exemplo - - TF-IDF Considere uma base de 4 documentos com os termos A, B e C e uma consulta AB: Documento Assim, temos: sim (, q)= sim (d, q)= sim (d 3, q )= sim (d 4, q )=0.933 Conteúdo 1 A A A B A A C 3 A A 4 B B Portanto, o ranqueamento final fica:, d 4, d 3 e d. Assumindo um patamar mínimo de similaridade de 0.1, o documento d seria considerado como não relevante e não entraria no resultado. Por que d 3 é considerado relevante e d não? 34

35 Exemplo - - TF-IDF Considere uma base de 4 documentos com os termos A, B e C: Documento Conteúdo 1 A A A B A A C 3 A A 4 B B Para uma consulta q = AC, teríamos: sim (,q)= sim (d,q)= sim (d 3, q )=0.031 sim (d 4, q )=0 35

36 Vantagens do Simples, rápido e de fácil implementação; Uso de ponderação melhora a qualidade da recuperação; Permite casamento parcial entre documentos e consultas; Possui ranqueamento; A normalização pelo tamanho do documento está naturalmente embutida na fórmula do cosseno. 36

37 Desvantagens do Termos de indexação são plotados como eixos: São realmente independentes? São realmente ortogonais? Como encontrar documentos que não contém um certo termo? 37