Bases de Dados 2012/2013
Recuperação de Informação e
Dados XML
Helena Galhardas
Recuperação de Informação - RI
(Information Retrieval - IR)
• Information retrieval is a field
concerned with the structure, analysis, organization, storage, searching, and retrieval of information.
(Gerard Salton, 1968)
• Information retrieval is the name of the process or method whereby a prospective user of information is able to convert his need for information into an actual list of citations to documents in storage containing information useful to him.
(Calvin N. Mooers, 1950)
Sumário"
• Bases de Dados, Recuperação de
Informação e XML"
• Recuperação de Informação "
• Dados XML"
© 2012 Técnico Lisboa
Referências
• Raghu Ramakrishnan, Database
Management Systems, 3ª edição: Cap 27
Busca é ubíqua
• Todas as aplicações modernas que merecem
ser mencionadas têm um mecanismo de
busca incorporado
– Desktop
– Pesquisa específica em websites
– Pesquisa focada
– Pesquisa na Web Global
© 2012 Técnico Lisboa
Bases de Dados Documentais
Páginas da web,
mensagens de correio electrónico,
notícias,
artigos científicos…
Característica: informação NÃO ESTRUTURADA
Acesso preferencial: por conteúdo
Organização da Informação
em Bases de Dados
Centrada nos Dados
(Data Centric)• Modelo: Relacional
– Satisfação de condições lógicas – Resultados exactos• Oracle, DB2,
SQLServer
Centrada nos Documentos
(Document Centric)
• Modelo: Recuperação de
Documentos
– Satisfação de necessidades de informação
– Resultados com interesse probabilístico
• Google, Yahoo
© 2012 Técnico LisboaDo subjectivo ao objectivo:
Semelhança e relevância
consulta Necessidade de informação Relevante? Respostas Emparelhamentos com docs. similaresBase de Documentos R eto rn o d e Relevância Recuperação ad-‐hoc © 2012 Técnico Lisboa
Sistema RI vs. SGBD
• Grandes diferenças:
• Semelhanças: interrogações sobre grandes quantidades de dados, recurso a índices
– Na prática, há que escolher uma das alternativas.
Expect reasonable number of updates
Read-Mostly. Add docs occasionally
SQL Keyword search
Generate full answer Page through top k results
Structured data Unstructured data format
Precise Semantics Imprecise Semantics DBMS IR © 2012 Técnico Lisboa
O problema: Selecção de
Informação
Métodos e Algoritmos para procurar agulhas em palheiros
(agulha artificialmente ampliada)
Exemplo de Tarefa de RI
prime factor?
Description: What is a prime factor?
Narrative: A relevant document will define
prime numbers or prime factors of
mathematical expressions. Documents
that use prime factors without defining
them are not relevant.
TREC 2001 web ad hoc topics © 2012 Técnico Lisboa
Política
E
Economia
E NÃO Sociedade
- Retorna todos os documentos que obedecem à
condição
- Se a interrogação fôr ordenada (ranked), o
resultado é uma lista de documentos ordenados
por relevância para a interrogação
Interrogação booleana
Sociedade
Política
Modelo Dados RI: “Saco de Palavras”
(“Bag of Words”)
•
Modelo Típico de RI:
– Cada documento é um saco de palavras ou termos
•
Detalhe 1: Stop Words
• Palavras irrelevantes não são colocadas no saco: • e.g., “the”
• e.g., HTML tags como <H1>
•
Detalhe 2: Radicalização (“Stemming”) e outras
análises de conteúdo
• Converter palavras nos seus radicais usando regras da linguagem
• e.g., “surfing”, “surfed” --> “surf” © 2012 Técnico Lisboa
Vectores de documentos
•
Documentos representados como
vectores quando usados
computacionalmente
• Cada vector guarda um valor para cada termo
na colecção
Vectores de documentos: uma
localização para cada palavra
nova galaxy heat h’wood film role diet fur
10 5 3 5 10 10 8 7 9 10 5 10 10 9 10 5 7 9 6 10 2 8 7 5 1 3 A B C D E F G H I
“Nova” occurs 10 times in text A “Galaxy” occurs 5 times in text A “Heat” occurs 3 times in text A
(Blank means 0 occurrences.)
Exemplo
nova galaxy heat h’wood film role diet fur
10 5 3 5 10 10 8 7 9 10 5 10 10 9 10 5 7 9 6 10 2 8 7 5 1 3 A B C D E F G H I Document ids
Representação no espaço
vectorial
Star
Diet Doc about astronomy Doc about movie stars
Doc about mammal behavior
Documentos que estão próximos no espaço são semelhantes
Modelo espaço vectorial
• Documentos representados como vectores no espaço
• Termos são os radicais das palavras
• Documentos são representados por vectores de termos
• Interrogações tb são representadas por documentos • A medida de distância entre vectores entre a
interrogação e os documentos é usada para ordenar os documentos obtidos
• Semelhança entre interrogação e documento é baseada no tamanho e direcção dos vectores
Atribuição de pesos aos termos
• Pesos binários
• Frequência dos termos (term frequency – tf)
– Número de ocorrências do termo no documento
• tf x idf
– Frequência inversa do documento (inverse document frequency – idf)
• Log(N/nj), N é o número total de documentos; ni é o número de documentos em que o termo j ocorre
– Queremos que os termos tenham um peso grande se forem:
• Frequentes num documento MAS • Raros na colecção total de documentos
• Espaço euclideano em
• Semelhança é dada pelo
coseno do ângulo (intuitivo!)
Semelhança entre
documentos
Pode ser calculada eficientemente!
(produto interno dos vectores normalizados) © 2012 Técnico Lisboa
“Índices de Texto”
• Em RI “índice de texto” é mais do que é
entendido por índice em BD Relacionais
– Estrutura de dados com elementos de
“tabelas” e índices.
– É na realidade, um esquema lógico (i.e.,
tabelas) com um esquema físico (i.e., índices)
• Não é gerido por um SGBD
– Concretiza-se por ficheiros num sistema de
ficheiros
© 2012 Técnico Lisboa
wordid #docs wordid #docs wordid #docs
Lexicon (in-memory) Postings (on disk)
Índice Invertido
(do “Google”)
Sorted by wordid
Docid #hits Hit, hit, hit, hit, hit Docid #hits Hit
Docid #hits Hit
Docid #hits Hit, hit, hit Docid #hits Hit, hit Sorted
by Docid
Pesquisa Booleana em SQL
(SELECT docURL FROM InvertedFile WHERE word = “windows”
INTERSECT
SELECT docURL FROM InvertedFile
WHERE word = “glass” OR word = “door”)
EXCEPT
SELECT docURL FROM InvertedFile WHERE word=“Microsoft”
ORDER BY relevance()
“Windows” AND (“Glass” OR “Door”)
AND NOT “Microsoft”
© 2012 Técnico Lisboa
Pesquisa Booleana em SQL
•
Só há uma interrogação em Pesquisa
Booleana em IR:
• Select numa só tabela, UNION,
INTERSECT, EXCEPT
•
relevance () é o “ingrediente secreto”
dos motores de busca:
• Não é fácil calcular de forma eficiente estas
funções num SGBD relacional comum.
24
Operadores das
Linguagens de Interrogação
de RI
Booleanos
AND, OR, NOT Software AND Engenharia
Proximidade
ADJ, NEAR
Software NEAR Engenharia “Wildcards”(não usados em recuperação ordenada)
*, $ Eng*
Não booleanos
(pesquisas em linguagem natural)
+, −, (sinónimo), “uma frase”, [0.8]
“Field searches”
Operadores sobre atributos dos
documentos site: tecnico.pt
{
SGBD vs. Motor de Busca
The Access Method
Buffer Management Disk Space Management
OS
“The Query” Search String Modifier
Simple DBMS
}
Ranking Algorithm Query OpXmizaXon and ExecuXon RelaXonal Operators Files and Access MethodsBuffer Management Disk Space Management
Concurrency and Recovery Needed SGBD Motor de Busca © 2012 Técnico Lisboa
26
Medidas de desempenho dos
sistemas de RI
• Velocidade de indexação
– Medida em número de documentos/hora para um dado tamanho médio dos documentos
• Velocidade de pesquisa
– Latência (em função da dimensão do índice)
• Expressividade da linguagem de
interrogação
– Capacidade de expressão de necessidades de informação complexas
– Velocidade de interrogações complexas
27
Medição de critérios subjectvos
• O critério principal é o nível de satisfação
do utilizador.
– Tempo de resposta e tamanho do índice
contam
– Respostas rápidas mas que não respondem
às interrogações contam negativamente.
28
Elementos de uma experiência
em RI
1. Colecção de teste
com
– Documentos – Tópicos – Julgamentos de relevância2. Medidas de avaliação
da eficácia das
pesquisas.
3. Teste estatístico
para avaliar diferenças
observadas.
29
Medidas de sucesso: Precisão
(precision) e Abrangência (recall)
r: nº de docs. relevantes recuperados n: nº de docs. recuperados R: nº de docs relevantes
€
precisão =
r
n
€
abrangência =
r
R
• Precisão: percentagem de documentos retornados que são relevantes para a interrogação
• Abrangência: percentagem de documentos relevantes na colecção que são retornados como resposta
• Melhorar uma das métricas implica degradar a outra (estatística explica porquê)
Sumário"
• Bases de Dados, Recuperação de
Informação e XML"
• Recuperação de Informação "
• Dados XML"
© 2012 Técnico LisboaWeb
•Documentos HTML
• Gerados frequentemente por aplicações
• Consumidos apenas por humanos
• Fácil acesso: entre plataformas, entre
organizações
Novo formato de troca de
dados universal: XML
Recomendação do W3C
•
XML = dados
•
XML gerado por aplicações
•
XML consumido por aplicações
•
Fácil acesso: entre plataformas e organizações
Do HTML ao XML
HTML
<
h1
> Bibliography </
h1
>!
<
p
> <
i
> Foundations of Databases </
i
>!
Abiteboul, Hull, Vianu!
<br> Addison Wesley, 1995!
<
p
> <
i
> Data on the Web </
i
>!
Abiteboul, Buneman, Suciu!
<
br
> Morgan Kaufmann, 1999!
XML
<bibliography>
<book> <title> Foundations… </title> <author> Abiteboul </author> <author> Hull </author> <author> Vianu </author> <publisher> Addison Wesley </
publisher>
<year> 1995 </year> </book>
…
</bibliography>
Dados semi-estruturados
Origens:
•
Integração de fontes de dados
heterógeneas
•
Fontes de dados com uma estrutura
que não é rígida
• Ex: dados da Web, dados biológicos, etc
Sintaxe dos dados
semi-estruturados
{
paper
: {
author
: “Abiteboul”,
author
: {
firstname
: “Victor”,
lastname
: “Vianu”},
title
: “Regular path queries …”,
page
: {
first
: 122,
last
: 133 }
}
Características dos Dados
Semiestruturados
•
Atributos em falta ou adicionais
•
Múltiplos atributos
•
Diferentes tipos em diferents objectos
•
Colecções heterógeneas
•
Dados aninhados
Dados irregulares sem estrutura conhecida apriori
Porque é que a comunidade de
BD está interessada em dados
XML?
•
Porque são dados!
•