GSI024 - Organiza¸
c˜
ao e Recupera¸
c˜
ao da
Informa¸
c˜
ao
Ilm´erio Reis da Silva ilmerio@facom.ufu.br UFU/FACOM/BSI
Arquivo 5 - Peso de termos
5-Peso de termos
• Busca param´etrica usando atributos • Regi˜oes em documentos e indexa¸c˜ao • Peso de termos
Busca param´etrica
Combina busca textual com Metadados
• Language = French • Format = pdf
• Subject = Physics etc. • Date = Feb 2000
Busca param´etrica - Exemplo
Busca param´etrica - Exemplo (com busca textual)
Busca param´etrica/textual
• Sele¸c˜ao de atributos
• Filtros para definir documentos alvo • Busca textual na cole¸c˜ao resultante
´Indices em busca param´etrica/textual
• Linguagem de consulta modificada
• Exemplo: Encontre documentos em pdf com a frase “Faculdade de computa¸c˜ao da UFU”
• Sele¸c˜ao de campos: listas invertidas por nome do atributo, incluindo t´ecnicas de compress˜ao
• Consultas do tipo wildcard: autor contˆem s*trup
• Consultas por intervalo: data entre setembro e dezembro
• T´ecnicas de indexa¸c˜ao de BD em geral funcionam melhor, por exemplo, ´ Arvore-B+ (veja www.bluerwhite.org/btree/)
Busca por atributos (Proje¸c˜ao)
• Exemplo: ISBN dos livros cujo autor contˆem s*trup
• Sele¸c˜ao de documentos baseado em processamento de consulas wildcar • ´Indexa¸c˜ao direta (n˜ao invertida) de documentos
Regi˜oes
• S˜ao partes do documento que contˆem textos livres • Exemplo: t´ıtulo, resumo, bibliografia
• Indexa¸c˜ao por regi˜ao permite consultas do tipo:
sorting in Title AND smith in Bibliography AND recur* in Body
Exemplo de ´ındice incluindo regi˜oes no vocabul´ario
Exemplo de ´ındice incluindo regi˜oes na lista invertida
Temos agora um banco de dados?
• n˜ao temos transa¸c˜oes
• n˜ao temos protocolos de recupera¸c˜ao • em geral, armazenamos somente ´ındices
• nosso foco ´e consultas orientadas a texto, n˜ao SQL
Al´em de consultas booleanas
• com consultas booleanas a resposta ´e um conjunto de documentos que atendem `
a consulta
• bom em ambiente de BD onde o usu´ario conhece o conjunto de dados e sabe o que quer
• dif´ıcil para maioria dos usu´arios
Al´em de consultas booleanas Objetivo
• retornar documentos que atendam `as necessidades de informa¸c˜ao do usu´ario • como organizar os documentos em um ranking com rela¸c˜ao `a uma consulta • atribuir um score (similaridade) para cada documento
• em geral ´e um casamento de palavras documento/consulta
• um advers´ario na web s˜ao palavras inseridas para driblar as m´aquinas de busca
Score baseado em pesos na consulta
Score = 0.6 × < sorting in T itle >
+ 0.3 × < sorting in Abstract > + 0.05 × < sorting in Body >
+ 0.05 × < sorting in Boldf ace >
Neste caso, quais as possibilidades de Score?
Um problema com essa abordagem ´e como estabelecer pesos na consulta.
Consultas textuais
• Como interpretar a consulta “bill of rights” • N˜ao h´a conectivos l´ogicos
• Alguns documentos relevantes podem n˜ao conter alguns termos da consulta
Casamento documento x consulta
• Um documento pode ser representado como um conjunto de termos
• A consulta tamb´em pode ser representada como um conjunto de termos • score = |documentoT consulta|
Casamento documento x consulta Problemas
• n˜ao considera freq¨uencia de termos nos documentos • n˜ao considera freq¨uencia de termos na cole¸c˜ao
• n˜ao considera tamanho do documento
Casamento documento x consulta Normaliza¸c˜ao • Coeficiente de Jacard |documento T consulta| |documento S consulta| • Cosseno |documento T consulta| p|documento| × |consulta| GSI024-ORI Pg:5. 19
Casamento documento x consulta Pr´oximos passos
• At´e aqui: posi¸c˜ao e sobreposi¸c˜ao de termos
• Pr´oximo: medir o quanto um documento fala sobre o assunto da consulta • Se possui grande quantidade de termos da consulta deve ser relevante.
Documento como vetor de termos Espa¸co NM
Documento como conjunto (ou vetor) de termos Problemas
• Documento 1: John is quicker than Mary • Documento 2: Mary is quicker than John • Vocabul´ario: is john mary quicker than • ~d1 = ~d2 = 11111
• Como diferenciar?
Problema com freq¨uencia de termos
• Seja a consulta: ides of march
– ides ocorre somente na pe¸ca Julius Caesar, 5 ocorrˆencias – march ocorre em v´arias
– of ocorre em todas
• Usando somente freq¨uencia (n´umero de ocorrˆencias), a que tiver mais ofs provavelmente ocupar´a o topo do ranking
Freq¨uencia do termo (tf)
• documentos grandes s˜ao favorecidos • podemos normalizar os documentos
• alternativas usadas para peso baseado em tf – contagem direta: wft,d = tft,d – ou wft,d = 0 se tf = 0 0.1 + log tft,d cc GSI024-ORI Pg:5. 24
Casamento consulta/documento baseado em tf
• Score baseado em soma sobre termos da consulta score = X
∀t∈q
tft,q
• pode ser combinado com regi˜oes
• pode-se usar wft,d em substitui¸c˜ao a tf
• mas ainda n˜ao considera freq¨uencia do termo na cole¸c˜ao
• um termo raro deve ser mais discriminante que um termo comum? • no exemplo, ides ´e raro e of comun.
Peso do termo deve considerar caracter´ısticas gen´ericas
• Qual termo abaixo diz mais sobre o assunto de um documento? – 10 ocorrˆencias de hernia
– 10 ocorrˆencias de the
• Como atenuar o peso de termos muito comuns? • o que ´e um termo comum?
• observar a ocorrˆencia do termo na cole¸c˜ao
Freq¨uencia de documentos
• seja df o n´umero de documentos da cole¸c˜ao que contˆem o termo • ´e diferente da freq¨uencia do termo na cole¸c˜ao (cf )
• Exemplo Termo cf df ferrari 10422 17 insurance 10440 3997 • como usar df? GSI024-ORI Pg:5. 27
Inverso da freq¨uencia de documentos idf
• o idf ´e uma medida inversa da freq¨uencia de documentos
• o idf mede a quantidade de informa¸c˜ao de um termo em uma cole¸c˜ao
• a motiva¸c˜ao ´e: quanto mais raro for o termo maior ´e sua importˆancia em caracterizar um documento
• poderia ser idft = df1
t, mas a vers˜ao mais utilizada ´e idft = log
N
dft, onde N ´e
o n´umero de documentos da cole¸c˜ao e ddft ´e o n´umero de documentos onte o
termo ocorre.
• justificativa te´orica baseada no conceito de entropia, conforme Kishore Papineni, 2001.
Pesagem tf × idf (ou tfidf)
• Peso do i-´esimo termo (ki) no j-´esimo documento (dj) ´e:
wi,j = tfi,j × log
N dfi
onde,
– tfi,j : freq¨uencia do termo ki no documento dj
– N : total de documentos na cole¸c˜ao
– dfi : total de documentos que contˆem o termo ki
• aumenta com o n´umero de ocorrˆencias do termo no documento • aumenta com a raridade do termo entre os documentos
• Qual o peso de um termo que ocorre em todos os documentos?
Matriz de pesos baseada em tf.idf
Documento como vetor de termos
• cada documento pode ser visto como um vetor de termos (coluna na matriz) • cada termo ´e um eixo no espa¸co vetorial
• documentos s˜ao vetores nesse espa¸co
• o espa¸co tem milhares de eixos (dimens˜oes)
• a matriz nos d´a tamb´em a op¸c˜ao de vetores de termos em um espa¸co de documentos
Resumo
• Busca parametrizada • Score por regi˜oes • Peso de termos • tf.idf
• Documentos como vetores em um espa¸co vetorial de termos