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) 1
Sumário" Bases de Dados, Recuperação de Informação e XML" Recuperação de Informação " Dados XML" Referências Raghu Ramakrishnan, Database Management Systems, 3ª edição: Cap 27 2
Busca é ubíqua Todas as aplicações modernas que merecem ser mencionadas têm um mecanismo de busca incorporado Mail Desktop Pesquisa específica em websites Pesquisa focada Pesquisa na Web Global 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 3
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 Do subjectivo ao objectivo: Semelhança e relevância Retorno de Relevância Respostas Necessidade de informação consulta Emparelhamentos com docs. similares Base de Documentos Relevante? Recuperação ad- hoc 4
Sistema RI vs. SGBD Grandes diferenças: IR Imprecise Semantics Keyword search Unstructured data format Read-Mostly. Add docs occasionally Page through top k results DBMS Precise Semantics SQL Structured data Expect reasonable number of updates Generate full answer Semelhanças: interrogações sobre grandes quantidades de dados, recurso a índices Na prática, há que escolher uma das alternativas. O problema: Selecção de Informação Métodos e Algoritmos para procurar agulhas em palheiros (agulha artificialmente ampliada) 5
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 Interrogação booleana Política E Economia E NÃO Sociedade Política 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 6
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 Vectores de documentos Documentos representados como vectores quando usados computacionalmente Cada vector guarda um valor para cada termo na colecção Maior parte dos vectores são esparsos 7
Vectores de documentos: uma localização para cada palavra A B C D E F G H I nova galaxy heat h wood film role diet fur 10 5 3 5 10 10 8 7 Nova occurs 9 10 times 10 in text 5 A Galaxy occurs 5 times in text A 10 10 Heat occurs 3 times in text A 9 10 5 (Blank 7 means 0 occurrences.) 9 6 10 2 8 7 5 1 3 Document ids A B C D E F G H I 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 8
Representação no espaço vectorial Star Doc about astronomy Doc about movie stars Doc about mammal behavior Diet 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 Termos num vector podem ser pesados 9
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 Semelhança entre documentos Espaço euclideano em Semelhança é dada pelo coseno do ângulo (intuitivo!) Pode ser calculada eficientemente! (produto interno dos vectores normalizados) 10
Í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 Índice Invertido (do Google ) Lexicon (in-memory) Postings (on disk) wordid #docs wordid #docs wordid #docs Sorted by wordid Sorted by Docid Docid #hits Hit, hit, hit, hit, hit Docid #hits Hit Docid #hits Hit, hit Docid #hits Hit Docid #hits Hit, hit, hit 11
Pesquisa Booleana em SQL Windows AND ( Glass OR Door ) AND NOT Microsoft (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() 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. 12
Operadores das Linguagens de Interrogação de RI Booleanos AND, OR, NOT Proximidade ADJ, NEAR Wildcards (não usados em recuperação ordenada) Software AND Engenharia Software NEAR Engenharia *, $ Eng* Não booleanos (pesquisas em linguagem natural) +,, (sinónimo), uma frase, [0.8] Field searches Operadores sobre atributos dos documentos site: tecnico.pt 24 SGBD vs. Motor de Busca SGBD Motor de Busca { Query OpXmizaXon and ExecuXon RelaXonal Operators Files and Access Methods Buffer Management Disk Space Management Search String Modifier Ranking Algorithm The Query The Access Method Buffer Management OS Disk Space Management Simple } DBMS Concurrency and Recovery Needed 13
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 26 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. 27 14
Elementos de uma experiência em RI 1. Colecção de teste com Documentos Tópicos Julgamentos de relevância 2. Medidas de avaliação da eficácia das pesquisas. 3. Teste estatístico para avaliar diferenças observadas. 28 Medidas de sucesso: Precisão (precision) e Abrangência (recall) precisão = r n abrangência = r R r: nº de docs. relevantes recuperados n: nº de docs. recuperados R: nº de docs relevantes 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ê) 29 15
Sumário" Bases de Dados, Recuperação de Informação e XML" Recuperação de Informação " Dados XML" Web Documentos HTML Gerados frequentemente por aplicações Consumidos apenas por humanos Fácil acesso: entre plataformas, entre organizações 16
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 descreve a apresentação 17
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> XML descreve o conteúdo 18
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 semiestruturados { paper: { author: Abiteboul, author: { firstname: Victor, lastname: Vianu }, title: Regular path queries, page: { first: 122, last: 133 } } } 19
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! Desafios em termos de gestão de dados: Como modelar XML? (grafos) Como interrogar XML? (XQuery) Como armazenar XML (SGBDR? SGBDOO? Sistema nativo?) Como processar XML de forma eficiente? (muito interessante!) 20