1 / 37

CS276B Text Retrieval and Mining Winter 2005

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

Download Presentation

CS276B Text Retrieval and Mining Winter 2005

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS276BText Retrieval and MiningWinter 2005 Lecture 12

  2. 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

  3. 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

  4. Exemplo XML

  5. Exemplo XML <chapter id="cmds"> <chaptitle>FileCab</chaptitle> <para>This chapter describes the commands that manage the <tm>FileCab</tm> inet application.</para> </chapter>

  6. 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>

  7. 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

  8. 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)

  9. 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

  10. 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

  11. 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

  12. Indexação e Busca XML

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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?

  20. 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

  21. Consultando XML • Hoje apresentamos: • XQuery • XIRQL • Próximo • Abordagens do espaço vetorial

  22. 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

  23. 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

  24. 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”

  25. 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

  26. Indexação XIRQL Unidades de indexação Não são unidades coerentes

  27. 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

  28. 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

  29. 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

  30. XIRQL: Resumo • Rankeamento de relevância • Seleção de fragmento/contexto • Datatypes (nome_pessoa) • Relativismo semântico • Atributo/elemento

  31. Estruturas de dados para recuperação XML Uma introdução básica.

  32. 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

  33. 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”?

  34. Í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)

  35. droppeth embaixo de Verse embaixo de Play. Contenção posicional Doc:1 27 1122 2033 5790 Play 431 867 Verse Contenção pode ser visto como fusão de postings. 720 Termo:droppeth

  36. 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

  37. 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

More Related