CS276B Text Retrieval and Mining Winter 2005 Lecture 15.

52
CS276B Text Retrieval and Mining Winter 2005 Lecture 15

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

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

CS276BText Retrieval and Mining

Winter 2005

Lecture 15

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

Plano do dia

Abordagens no espaço vetorial para recuperação XML

Avaliando recuperação centrada em texto

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

Recuperação XML centrada no texto

Documentos marcados como XML Ex., manuais de montagem, questões de

jornais … Consultas são as informações que o

usuário nessecita Ex., me dê a Seção (elemento) de um

documento que fala como trocar uma lâmpada quebrada

Diferente das consultas XML bem estruturadas onde você especifica exatamento o que está procurando.

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

Espaço vetorial e XML

Espaços vetoriais – framework experimentado+testado para recuperação de palavra-chave Outras aplicações de “sacola de palavras”

em texto: classificação, clusterização … Para recuperação centrada em texto,

podemos usar a idéia de espaço vetorial? Desafio: capturar a estrutura de um

documento XML document no espaço vetorial.

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

Espaço vetorial e XML

Por exemplo, distinguir entre os dois casos seguintes

Book

Title Author

Bill GatesMicrosoft

Book

Title Author

Bill WulfThe Pearly

Gates

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

XML rico em contexto: representação

Book

Title Author

BillMicrosoft

Book

Title Author

WulfPearlyGates

GatesThe

Bill

Termos lexicos.

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

Codificando os Gates diferentes

Quais são os eixos do espaço vetorial? Em recuperação textual, vai existir apenas um

eixo para Gates Nós precisamos separar as duas ocorrências,

embaixo de Autor e Título Assim, os eixos devem representar não apenas

os termos, mas também alguma coisa sobre sua posição na árvore XML

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

Consultas

Antes de abordar isto, vamos considerar os tipos de consulta que queremos tratar

Book

Title

Microsoft

Book

Title Author

Gates Bill

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

Tipos de consultas

Os exemplos anteriores podem ser vistos como subárvores do documento

Mas e sobre?

(Gates em algum lugar abaixo de Book) É difícil, mas vamos retornar a isto depois.

Book

Gates

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

Subárvores e estrutura Considere todas as subárvores do

documento que inclui ao menos um termo lexicalizado

Book

Title Author

BillMicrosoft Gates

BillMicrosoft Gates

Title

Microsoft

Author

Bill

Author

Gates

Book

Title

Microsoft Bill

Book

Author

Gates

e.g.

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

Termos estruturais

Chamamos cada subárvore de resultado (8+, no slide anterior) de termos estruturais

Note que termos estruturais pode ocorrer muitas vezes em um documento

Crie um eixo no espaço vetorial para cada termo estrutural distinto

A ponderação é baseada na frequencia do número de ocorrencias (assim como tínhamos em tf)

Todas as questões usuais com termos (stemming? Case folding?) continuam

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

Exemplo de ponderação tf

Aqui os termos estruturais que contém to ou be tem mais peso que aqueles que não contém

Play

Act

To be or not to be

Play

Act

be

Play

Act

or

Play

Act

not

Play

Act

to

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

Ponderação descendente

Para o documento da esquerda: em um termo estrutural com raiz no nó Play, Hamlet não deve ter um peso tf maior que Yorick?

Idéia: multiplicar a contribuição tf de um termo ao nó k níveis acima por k, para algum < 1.

Play

Act

Alas poor Yorick

Scene

Title

Hamlet

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

Exemplo de ponderação descendente, =0.8

Para o documento do slide anterior, o tf de Hamlet é multiplicado por 0.8 Yorick é multiplicado por 0.64

Em qualquer termo estrutural com raiz em Play.

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

O número de termos estruturais

Pode ser enorme!

É Impraticável construir um índice no espaço vetorial com tantas dimensões

Iremos examinar soluções pragmáticas para isto em breve; por enquanto, continue acreditando …

Tudo bem, quão grande, realmente?

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

Termos estruturais: documentos+consultas

A noção de termos estruturais é independente de qualquer schema/DTD para os documentos XML

Bem aplicado a coleções heterogêneas de documentos XML

Cada documento se torna um vetor no espaço de termos estruturais

Uma árvore de consulta pode igualmente ser fatorado em termos estruturais E representado como vetor Permite a reponderação de porções da

consulta

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

Exemplo de consulta

Book

Title Author

Gates Bill

0.6 0.4Title Author

Gates Bill

0.6 0.4

Book

Title

Gates

0.6Book

Author

Bill

0.4

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

Propagação do peso

A atribuição de pesos de 0.6 e 0.4 no exemplo anterior para subárvores era simplista Pode ser mais sofisticado Pense nisso como gerado por uma

aplicação, não necessariamente um usuário final

Consultas, documentos se tornam vetores normalizados

A computação da pontuação de recuperação é “apenas” uma questão computação de similaridade de cossenos

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

Termos estruturais restritos?

Dependendo da aplicação, nós podemos restringir os termos estruturais

Ex., podemos nunca querer que seja retornado um nó Title, apenas nós Book ou Play

Então não enumere/indexe/recupere/pontue termos estruturais com raiz em alguns nós

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

A captura continua

Isso tudo é muito promissor, mas … Quão grande é o espaço vetorial? Pode ser exponencialmente grande do

tamanho do documento Não podemos ter esperança para construir

um índice assim E em qualquer caso, ainda falha para

responder consultas como Book

Gates

( algum lugar entre)

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

Duas soluções

Materialização de eixos no tempo da consulta

Restringir os tipos de subárvores para um conjunto gerenciavel

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

Materialização no tempo do consulta

Em vez de emunerar todos os termos estruturais de todos os documentos (e consulta), enumere apenas para a consulta

Este último é esperançosamente um conjunto menor Agora, nós reduzimos à verificação de que

termo(s) estruturais da consulta corresponde(m) a uma subárvore de qualquer documento

Esta é a correspondência de árvore padrão: dado uma árvore de texto e uma árvore padrão, encontre correspondências

Exceto se temos muitas árvores de texto Nossas árvores são rotuladas e pesadas

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

Exemplo

Aqui nós procuramos um documento com Hamlet no título

Ao encontrar correspondência nós calculamos o ponto de similaridade de cossenos

Depois de todas as correspondência são encontradas, rakeamos por ordenação

Play

Act

Alas poor Yorick

Scene

Texto =

Consulta =

Hamlet

Title

Hamlet

Title

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

(Ainda inviável)

Um documento com Yorick em algum lugar:

Consulta =

Vamos chegar a isso …

Yorick

Title

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

Restringindo subárvores

Enumerar todos os termos estruturais (subárvores) é proibitivo, para a indexação A maioria de árvores pode nunca ser usada

para processar qualquer consulta Será que podemos ir longe com a

indexação de uma classe restrita de subárvores Idealmente - foco em árvores que possam

surgir em consultas

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

JuruXML (IBM Haifa)

Apenas caminhos incluindo um termo lexicalizado

Neste exemplo existe apenas 14 ( por que?) destes caminhos

Assim nós temos 14 termos estruturais no índice

Play

Act

To be or not to be

Scene

Title

Hamlet

Por que isto é muito mais gerenciável?Quão grande pode um índice ser como uma função do texto?

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

Variações

Poderia ter usado outra subárvore – ex., todas as árvores com dois irmãos em um nó

Que subárvores serão usadas: depende da provável consulta na aplicaço

Pode ser especificado no tempo de indexação - área com pouca pesquisa até agora

Book

Title Author

BillMicrosoft Gates

Book

Title Author

BillMicrosoft

2 terms

Gates

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

Variações

Porque isso seria diferente de simplesmente caminhos?

Porque nós preservamos mais a estrutura que uma consulta pode procurar

Book

Title Author

BillMicrosoft

Title Author

Gates Bill

Book

Title

Gates

Book

Author

Bill

vs.

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

Descendentes

Retornando para os exemplos de descendentes:

Yorick

Play Book

Author

Bill Gates

vs.Book

Author

Bill Gates

FirstName LastName

DTD não conhecido.Consulta busca Gates embaixo de Author.

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

Manipulando descendentes no espaço vetorial

Elaborar uma função de correspondência que rende um ponto em [0,1] entre termos estruturais

Ex., quando os termos estruturais são caminhos, medimos sobreposição

Quanto maior a sobreposição, maior a pontuação de correspondência

Podemos ajustar a correspondência para quando a sobreposição ocorre

Book

Author

Bill

Book

Author

Bill

LastName

Book

Bill

vs. em

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

Como usamos isto em recuperação?

Primeiro enumeramos os termos estruturais na consulta

Medimos cada um para correspondência contra o dicionário de termos estruturais Assim como a pesquisa de postings, exceto

que não booleano (o termo existe ou não) Ao invés disso, produz um ponto que diz “é

80% próximo ao termo estrutural”, etc. Então, recupera documentos com aquele

termo estrutural, calcula o cosseno de similaridades, etc.

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

Função de semelhança de contexto (semelhança de estrutura)

Cq = caminho da consulta Cd = caminho do documento |Cq| e |Cd| número de nós do caminho

Cq corresponde a Cd se podemos transformar Cq em Cd inserindo nós adicionais

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

Exemplo da Função de Semelhança

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

Exemplo de um passo de recuperação

ST1 Doc1 (0.7) Doc4 (0.3) Doc9 (0.2)

ST = Structural Term

ST5 Doc3 (1.0) Doc6 (0.8) Doc9 (0.6)

IndexQuery ST

Match=0.63

Agora classifique os documentos por similaridade de cossenos; Neste exemplo o documento com maior classificação é o Doc9: 1,0 x 0,2 + 0,63 x 0,6 = 0578então, Doc9 tem pontuação 0.578.

Match=1

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

Closing technicalities

Mas o que exatamente é um Doc? Em um sentido, um corpus (conjunto de

textos que servem como base de análise) inteiro pode ser visto como um documento XML

Corpus

Doc1 Doc2 Doc3 Doc4

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

O que são os documentos em um índice?

Qualquer coisa que preparamos para retornar como resposta

Pode ser nós, alguns dos seus filhos …

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

Quais são as consultas que não podem ser tratadas usando espaço vetorial?

Encontra figuras que descrevem a arquitetura do Corba e os parágrafos que se referem a estas figuras Requer JOIN entre 2 tabelas

Recupere os títulos de artigos publicados na seção de Special Feature da revista IEEE Micro Depende da ordem de nós irmãos.

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

Podemos calcular IDF?

Sim, mas não faz sentido fazer isso em escala corpus

Pode ser feito, por exemplo, dentro de todo texto abaixo de um certo nome de elemento, digamos Chapter

Produz um peso tf-idf para cada termo abaixo do elemento

Questões: como vamos propagar as contribuições para nós de nível superior.

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

Exemplo

Digamos que Gates tem um IDF alto abaixo do elemento Author

Como deve ser o peso tf-idf do elemento Book?

Devemos usar o idf para Gates em Author ou em Book?

Book

Author

Bill Gates

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

INEX: um benchmark para a recuperação XML centrada em

texto

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

INEX

Benchmark para avaliação de recuperação XML Análogo do TREC (relembre CS276A)

Consiste de: Conjunto de documentos XML Coleção de tarefas de recuperação

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

INEX

Cada mecanismo indexa documentos Time de mecanismos converte tarefas de

recuperação em consultas Em linguagem de consulta XML

compreendida pelo mecanismo Em resposta, o mecanismo não recupera

documentos, mas os elementos dentro dos documentos Mecanismo classifica os elementos

recuperado

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

Avaliação INEX

Para cada consulta, cada elemento recuperado é avaliado por humanos em duas medidas: Relevância – o quão relevante é o

documento recuperado Cobertura – o elemento recuperado é muito

específico, muito geral, ou apenas certo Ex., se a consulta busca uma definição de

Transformação Rápida de Fourier, posso obter a equação (muito específico), o capítulo contendo a definição (muito geral) ou a própria definição

Estas avaliações são transformadas em medidas compostas precisão/retorno

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

Corpus INEX

12,107 artigos de publicações da IEEE Computer Society

494 Megabytes Média de artigos:1,532 nós XML

Média de profundidade de nós = 6.9

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

Tópicos INEX

Cada tópico é uma necessidade de informação, um de dois tipos: Somente Conteúdo (CO) – Consultas

de texto livre Conteúdo e Estrutura (CAS) –

limitações estruturais explícitas, ex., condições de contenção.

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

Exemplo de tópico CO do INEX

<Title> computational biology </Title> <Keywords> computational biology, bioinformatics,

genome, genomics, proteomics, sequencing, protein folding </Keywords>

<Description> Challenges that arise, and approaches being explored, in the interdisciplinary field of computational biology</Description>

<Narrative> To be relevant, a document/component must either talk in general terms about the opportunities at the intersection of computer science and biology, or describe a particular problem and the ways it is being attacked. </Narrative>

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

Avaliação INEX

Cada mecanismo formula o tópico como uma consulta Ex., usa palavras-chaves listadas em um

tópico. Mecanismo recupera um ou mais

elementos e classifica-os. Avaliadores humanos atribuem para cada

elemento recuperado pontos de relevância e cobertura.

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

Avaliações

Avalia relevância em uma escala de Irrelevante (pontuação 0) até Altamente Relevante (pontuação 3)

Avaliação de cobertura em uma escala com quatro níveis:

Sem cobertura (N: o tópico da consulta não corresponde a nada no elemento)

Muito grande (L: o tópico é apenas um tema menos do elemento recuperado)

Muito pequeno (S: o elemento é muito pequeno para prover a informação requerida)

Exato (E). Então todo elemento retornado pelo mecanismo de

busca tem classificação do tipo {0,1,2,3} × {N,S,L,E}

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

Combinando as avaliações

Definindo pontos:

otherwise0

3, if1),(

Ecovrelcovrelf strict

.0 if00.0

1,1 if25.0

2,2,1 if50.0

3,3,2 if75.0

3 if00.1

cov),(

Nrel,cov

LSrel,cov

SLErel,cov

SLErel,cov

Erel,cov

relf dgeneralize

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

Os valores f

Medida escalar da bondade (goodness) dos documentos recuperados

Pode computar os valores f para diferentes números de elementos recuperados 10, 20 … etc. Meios para comparar mecanismos.

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

Resources

Querying and Ranking XML Documents Torsten Schlieder, Holger Meuss http://citeseer.ist.psu.edu/484073.html

Generating Vector Spaces On-the-fly for Flexible XML Retrieval. T. Grabs, H-J Schek www.cs.huji.ac.il/course/2003/sdbi/Papers/ir-

xml/xmlirws.pdf

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

Resources

JuruXML - an XML retrieval system at INEX'02. Y. Mass, M. Mandelbrod, E. Amitay, A.

Soffer. http://einat.webir.org/INEX02_p43_Mass_etal

.pdf See also INEX proceedings online.