CS276B Text Retrieval and Mining Winter 2005 Lecture 12.

37
CS276B Text Retrieval and Mining Winter 2005 Lecture 12

Transcript of CS276B Text Retrieval and Mining Winter 2005 Lecture 12.

Page 1: CS276B Text Retrieval and Mining Winter 2005 Lecture 12.

CS276BText Retrieval and Mining

Winter 2005

Lecture 12

Page 2: CS276B Text Retrieval and Mining Winter 2005 Lecture 12.

O que é XML?

eXtensible Markup Language Um framework para definir linguagens de

marcação Sem coleção fixa de marcadores Cada linguagem XML orientada para a

aplicação Todas as linguagens XML compartilham

característica Permite a construção de ferramentas

genéricas

Page 3: CS276B Text Retrieval and Mining Winter 2005 Lecture 12.

Estrutura básica

Um documento XML é uma árvore ordenada e rotulada

Nós folha de dado textual contém os dados reais (strings de texto)

Nós elemento, são rotulados com Um nome (frequentemente chamados de

elemento type), e Um conjunto de atributos, cada um

composto por um nome e um valor, Pode ter nós filhos

Page 4: CS276B Text Retrieval and Mining Winter 2005 Lecture 12.

Exemplo XML

Page 5: CS276B Text Retrieval and Mining Winter 2005 Lecture 12.

Exemplo XML

<chapter id="cmds"> <chaptitle>FileCab</chaptitle>

<para>This chapter describes the commands that manage the <tm>FileCab</tm>

inet application.</para> </chapter>

Page 6: CS276B Text Retrieval and Mining Winter 2005 Lecture 12.

Elementos

Elementos são denotados por tags de marcação

<foo attr1=“value” … > o_texto </foo> Tag inicial do elemento: foo Atributo: attr1 O dado textual: o_texto Tag final do elemento correspondente:

</foo>

Page 7: CS276B Text Retrieval and Mining Winter 2005 Lecture 12.

XML vs HTML

HTML é uma linguagem de marcação para um propósito específico (exibição em browsers)

XML é um framework para definir linguagens de marcação

HTML pode ser formalizado como uma linguagem XML (XHTML)

XML define estrutura lógica apenas HTML: mesma intenção, mas evoluiu para

um linguagem de apresentação

Page 8: CS276B Text Retrieval and Mining Winter 2005 Lecture 12.

XML: Objetivos de projeto

Separar sintaxe da semântica para prover um framework comum para estruturação da informação

Permite marcação feita sob medida para qualquer domínio de aplicação imaginável

Suporta internacionalização (Unicode) e independência de plataforma

Ser o futuro da informação (semi)estruturada (fazer algum do trabalho feito atualmente por bancos de dado)

Page 9: CS276B Text Retrieval and Mining Winter 2005 Lecture 12.

Por que usar XML?

Representa dados semi-estruturados (dados são estruturados, mas não encaixam no modelo relacional)

XML é mais flexível que BDs XML é mais estruturado do que RI simples Você recebe uma gigantesca infra-

estrutura de graça

Page 10: CS276B Text Retrieval and Mining Winter 2005 Lecture 12.

XML Schemas

Schema = definição de sintaxe da linguagem XML

Linguagem Schema = linguagem formal para expressar schemas XML

Exemplos Document Type Definition - DTD XML Schema (W3C)

Relevância para RI com XML Nosso trabalho é mais fácil se nós temos

(um) schema

Page 11: CS276B Text Retrieval and Mining Winter 2005 Lecture 12.

Tutorial XML

http://www.brics.dk/~amoeller/XML/index.html (Anders Møller and Michael Schwartzbach) Os slides anteriores (e alguns dos

seguintes) são baseados neste tutorial

Page 12: CS276B Text Retrieval and Mining Winter 2005 Lecture 12.

Indexação e Busca XML

Page 13: CS276B Text Retrieval and Mining Winter 2005 Lecture 12.

Banco de Dados XML Nativo

Usa documentos XML como uma unidade lógica

Deve suportar Elementos Atributos PCDATA (parsed character data) Ordem do documento

Contraste com BD modificado para XML Sistemas RI genéricos modificados para XML

Page 14: CS276B Text Retrieval and Mining Winter 2005 Lecture 12.

Indexação e Busca XML

A maioria das bases de dados XML nativas tem uma abordagem BD Correspondência exata Avaliar expressões de caminho Nenhum tipo de rankeamento de relevância

da RI Apenas alguns que focam rakeamento de

relevância

Page 15: CS276B Text Retrieval and Mining Winter 2005 Lecture 12.

Data vs. Text-centric XML

Data-centric XML: usado para o envio de mensagens entre aplicativos empresariais Principalmente a reformulação de dados

relacionais Content-centric XML: usado para anotar o

conteúdo Rico em texto Demanda boa integração da funcionalidade

de recuperação de texto Ex., encontre os números ISBN de Livros com

pelo menos Capítulos discutindo a produção de cacau, rankeado por Preço

Page 16: CS276B Text Retrieval and Mining Winter 2005 Lecture 12.

Desafios de RI XML 1: Estatísticas do Termo

Não há unicidade no documento em XML Como computamos tf e idf? tf/idf global sobre todo o texto do contexto

é inútil Granularidade de indexação

Page 17: CS276B Text Retrieval and Mining Winter 2005 Lecture 12.

Desafios de RI XML 2: Fragmentos

Sistemas RI não pontua conteúdo (apenas índice)

Precisa ir ao documento para recuperar/apresentar fragmentos Ex., me dê os Resumos dos Papers em

existencialismo De onde você recupera o Resumo?

Mais fácil no framework BD

Page 18: CS276B Text Retrieval and Mining Winter 2005 Lecture 12.

Desafios de RI XML 3: Schemas

O ideal seria: Existe um único schema Usuário entende o schema

Na prática: raro Muitos schemas Schemas não são conhecidos com

antecedência Schemas mudam Usuários não entendem os schemas

Necessário identificar elementos similares em diferentes schemas Exemplo: autor e criador

Page 19: CS276B Text Retrieval and Mining Winter 2005 Lecture 12.

Desafios de RI XML 4: UI

Ajudar usuários a encontrar nós no schema Autor, editor, contribuídor, “de:”/remetente

Qual é a linguagem de consulta que você expõe ao usuário? Linguagem de consulta específica do XML?

Não. Formulários? Busca parametrizada? Um textbox?

Page 20: CS276B Text Retrieval and Mining Winter 2005 Lecture 12.

Desafios de RI XML 5: usando um BD

Por que você não quer usar um BD BD não possui nenhuma noção de

ordenação Rankeamento de relevância

Page 21: CS276B Text Retrieval and Mining Winter 2005 Lecture 12.

Consultando XML

Hoje apresentamos: XQuery XIRQL

Próximo Abordagens do espaço vetorial

Page 22: CS276B Text Retrieval and Mining Winter 2005 Lecture 12.

XQuery

SQL para XML Senários de uso

Documentos legíveis Documentos orientados a dados Documentos mistos (ex., registro de

pacientes) Depende de

XPath XML Schema datatypes

Turing completa XQuery ainda é um projeto

Page 23: CS276B Text Retrieval and Mining Winter 2005 Lecture 12.

XQuery

As formas principais das expressões Xquery são: Expressões de caminho Construtores de elementos Expressões de lista Expressões condicionais Expressões quantificadas Expressões de tipos de dado (datatype)

Avaliados com relação a um contexto

Page 24: CS276B Text Retrieval and Mining Winter 2005 Lecture 12.

Consultas suportadas por XQuery

Localização/posição (“capítulo 3”) Atributo/valor simples

/book/author contém “Gates” Consultas Path

author que contém “Gates” /book//author que contém “hamlet”

Page 25: CS276B Text Retrieval and Mining Winter 2005 Lecture 12.

XIRQL

University of Dortmund Objetivo: mecanismo de busca XML open source

Motivação Fragmentos “retornáveis” são especiais

Ex., não retorna um fragmento <bold> algum texto </bold>

Princípio da Recuperação de Documentos Estruturados

Capacitar os usuários que não conhecem o schema Ativar pesquisa para qualquer pessoa, não importando

como esquema codifica os dados Não se preocupa com atributo / elemento

Page 26: CS276B Text Retrieval and Mining Winter 2005 Lecture 12.

Indexação XIRQL

Unidades de indexaçãoNão são unidades coerentes

Page 27: CS276B Text Retrieval and Mining Winter 2005 Lecture 12.

Princípio da Recuperação de Documentos Estruturados

Um sistema deve sempre retornar a parte mais específica de um documento, respondendo a uma consulta.

Consulta de exemplo: xql Documento:

<capítulo> 0.3 XQL<seçãp> 0.5 example </seção><seção> 0.8 XQL 0.7 syntax </seção></capítulo>

Retorna seção, não capítulo

Page 28: CS276B Text Retrieval and Mining Winter 2005 Lecture 12.

Aumento de ponto

Certifique-se que o Princípio de Recuperação de Documentos Estruturados é respeitado.

Suponha que as condições de consultas diferentes são eventos disjuntos -> independência.

P(chapter,XQL) = P(XQL|chapter) + P(section|chapter) * P(XQL|section) – P(XQL|chapter) * P(section|chapter) * P(XQL|section) = 0.3 + 0.6 * 0.8 - 0.3 * 0.6 * 0.8 = 0.636

Seção é classificada à frente de capítulo

Page 29: CS276B Text Retrieval and Mining Winter 2005 Lecture 12.

Datatypes

Exemplo: nome_pessoa Atribuir todos os elementos e atributos

com semântica de pessoa para este tipo de dado

Permite que o usuário procure por “pessoa” sem especificar o caminho

Page 30: CS276B Text Retrieval and Mining Winter 2005 Lecture 12.

XIRQL: Resumo

Rankeamento de relevância Seleção de fragmento/contexto Datatypes (nome_pessoa) Relativismo semântico

Atributo/elemento

Page 31: CS276B Text Retrieval and Mining Winter 2005 Lecture 12.

Estruturas de dados para recuperação XML

Uma introdução básica.

Page 32: CS276B Text Retrieval and Mining Winter 2005 Lecture 12.

Estruturas de dados para recuperação XML

Quais são as primitivas necessárias? Índice invertido: me dê todos os

elementos que corresponde a consulta de texto Q

Nós sabemos fazer isto – tratar cada elemento como um documento

Me dê todos os elementos (imediatamente) abaixo de qualquer instância do elemento Book

Combinação das opções acima

Page 33: CS276B Text Retrieval and Mining Winter 2005 Lecture 12.

Links Pais/filhos

Numera cada elemento Mantém uma lista de relacionamentos

pais-filhos Ex., Capítulo:21 Livro:8 Permite pai imediato

Mas e sobre “a palavra Hamlet embaixo de um elemento Scene embaixo de um elemento Play”?

Page 34: CS276B Text Retrieval and Mining Winter 2005 Lecture 12.

Índices posicionais gerais

Visualiza o documento XML como um documento texto

Constrói um índice posicional para cada elemento Marca o início e o fim de cada elemento, ex.,

Play Doc:1(27) Doc:1(2033)

/Play Doc:1(1122) Doc:1(5790)

Verse Doc:1(431) Doc:4(33)

/Verse Doc:1(867) Doc:4(92)

Term:droppeth Doc:1(720)

Page 35: CS276B Text Retrieval and Mining Winter 2005 Lecture 12.

Contenção posicional

Doc:1

27 1122 2033 5790Play

431 867Verse

Termo:droppeth720

droppeth embaixo de Verse embaixo de Play.

Contenção pode servisto como fusão depostings.

Page 36: CS276B Text Retrieval and Mining Winter 2005 Lecture 12.

Resumo de estruturas de dados

Contenção de caminho etc. pode essencialmente ser resolvido por índices invertidos posicionais

Recuperação consiste de “fusão” de postings

Todos os truques de compressão etc. de 276A continuam a ser aplicáveis

Complicações surgem a partir da inserção/exclusão de elementos, texto dentro de elementos Álem do escopo deste curso

Page 37: CS276B Text Retrieval and Mining Winter 2005 Lecture 12.

Resources

Jan-Marco Bremer’s publications on xml and ir: http://www.db.cs.ucdavis.edu/~bremer

www.w3.org/XML - XML resources at W3C Ronald Bourret on native XML databases:

http://www.rpbourret.com/xml/ProdsNative.htm Norbert Fuhr and Kai Grossjohann. XIRQL: A query

language for information retrieval in XML documents. In Proceedings of the 24th International ACM SIGIR Conference, New Orleans, Louisiana, September 2001.

http://www.sciam.com/2001/0501issue/0501berners-lee.html

ORDPATHs: Insert-Friendly XML Node Labels. www.cs.umb.edu/~poneil/ordpath.pdf