1
Projeto X-Finder Agents
Recuperação e indexação de páginas
especializadas na Web

Recuperação de informação

Detalhamento do projeto
CIn- UFPE
Motivação: “morrendo ignorante em um
2
mar de informação”
 Objetivo: Encontrar (de forma eficiente) os melhores
documentos que satisfaçam a consulta do usuário
CIn- UFPE
Medidas: Recall e Precisão
 Cobertura (Recall)
• total de documentos relevantes retornados dividido
pelo número total dos relevantes.
 Precisão:
• documentos relevantes retornados dividido pelo
número total de retornados
Todos os Documentos
Documentos Relevantes
Documentos Retornados
Relevantes Retornados
4
Recuperação de informação
 Sistemas de indexação por palavras-chave
• consulta: palavras-chave e expressões booleanas
• retorna uma grande quantidade de documentos
irrelevantes mas é robusto e abrangente
• Exemplos: AltaVista, Radix, HotBot, Lycos, ...
 Sistemas de indexação manual por ontologias
• consulta: palavras-chave e navegação
• classificação mais precisa porém estática e menos
abrangente
• Exemplos: Yahoo!, Cadê, ...
CIn- UFPE
5
Recuperação de informação
 Solução intermediária:
• automatização da classificação humana
• processamento de linguagem natural + conhecimento
 Inviável, porque a Web é
•
•
•
•
•
Enorme
Não-estruturada
Conteúdo variado
Ambígua
Multilíngue
CIn- UFPE
Estrutura Geral de um Sistema IR
Critérios do
Usuário
Filtragem
Documentos
“Interessantes”
Busca
Doc. 1
...
Indexar
Doc. N
Stop-List
Base de Dados
Estruturada
7
Busca e Recuperação de Informação
Usuário
Browser
Search Engine
Consulta
Resposta
Servidor de
Consultas
Base de
Índices
)--(
Web
Robô
Indexing Engine
Busca
Exemplos: Radix, AltaVista, Lycos, Excite, ...
CIn- UFPE
Representação do Documento
 Dado um documento, identificar os conceitos que
descrevem o seu conteúdo e quão bem eles o
descrevem.
 Pesos das Palavras como indicação de relevância:
• Freqüência relativa da palavra no texto (centroide)
• Freqüência da palavra em relação a outros documentos
(TFIDF)
• Colocação da palavra na estrutura do documento (título,
início, negrito,...)
 Palavras com maiores pesos são selecionadas
formando um vetor de representação.
9
Técnicas de IR
 Centróide
• freqüência das palavras no texto
 Term Frequency-Inverse Document Frequency
(TFIDF):
• atribui pesos às palavras de um documento.
• TF(w): freqüência da palavra w (número de vezes que w
aparece no documento.
• DF(w): freqüência de documentos com a palavra w
(número de documentos em que a palavra ocorre)
• D = número total de documentos
 D 

TFIDF( )  TF ( )  log

DF
(

)


CIn- UFPE
Exemplo de Representação
Brincadeira
O rato roeu a roupa
do rei de Roma.
brincadeira, t, m, n, i
rato, 1
roeu, 1
roupa, 1
rei, 2
roma, 2, m
brincadeira, 90
rato, 70
roeu, 70
roupa, 70
roma, 65
rei, 60
centróide
brincadeira, 90
rato, 70
roeu, 70
roupa, 70
rei, 60
roma, 65
Representação
Vetorial do
Documento
Estrutura de Arquivos p/ IR
 Arquivos Invertidos
WORD: Bem-vindo
http://www.ufpe.br
ID: 543
URL: http://www.ufpe.br
Bem-vindo!
UFPE
URLs: 455227,...
ID: 455227
Words: 543, 987
WORD: UFPE
ID: 987
Arquivo Direto
URLs: 455227,...
Arquivo Invertido
 Arquivos de Assinatura
 Árvores e arrays PAT
Indexação
 Análise Léxica
• Converter uma cadeia de caracteres em uma cadeia de
palavras/tokens. (/, -, 0-9,...)
 Stop-list
• Palavras comuns são retiradas da indexação.
 String searching
• String matching exato e aproximado (KMP, BoyerMoore,...), busca por sinônimos,...
 Indexação Distribuída, Base compartilhada:
• Divisão por: Localização Geográfica, Rede, Conteúdo,..
Indexação
 Stemming - n-grams
• possibilitar variações morfológicas dos termos durante
o casamento.
Term
engineering
engineered
engineer
Stem
engineer
engineer
engineer
 Ontologias
• para aumentar precisão e cobertura.
Futebol
Campeonato Brasileiro
Palmeiras
CBF
Categorização de Documentos
 Objetivos:
• Facilitar a busca automática e browsing dos
documentos.
 Técnicas podem ser divididas em:
• Booleana
• Probabilística
• Vetorial
 Utilizam:
• Aprendizado de máquina (processos de inferência)
• Engenharia de conhecimento (definição de uma BC)
15
Detalhamento do Projeto
CIn- UFPE
16
Páginas Especializadas
 Páginas especializadas: estrutura na Web
• apesar da aparência caótica, a Web pode ser vista como
um aglomerado de classes particulares de páginas
• estas páginas especializadas tem em comum
características sintáticas e semânticas
 Exemplos
• chamadas de trabalho (cfp), faq, hotéis, pessoais, lista de
artigos, restaurantes, classificados, cinemas, ...
 Contexto
• estas páginas podem servir para contextualizar as
consultas
– ex. “amplificador de áudio” .... cfp, faq, loja, artigo, ....
CIn- UFPE
17
arquitetura: meta busca
ex. receita
ex. excite palavra-chave
Mec.
Busca
Agente
Pós-filtragem
Índices
html
Mec.
Busca
para
KB classificação
html
palavra-chave
ex. sobremesa
CIn- UFPE
18
Objetivo
 Projeto básico (para todos)
•
Implementar um conjunto de agentes capazes de
recuperar e indexar páginas especializadas
 Extensões eventuais
(a) prover extração de informação
(b) estender a busca com as palavras mais comuns (ex.
bolo, carnes, ...)
(c) introduzir conectores lógicos e ontologias para
consulta a posteriori
(d) notificação personalizada
CIn- UFPE
19
Etapa 1: montar o corpus
 Fase Preliminar Manual
• Identificação das palavras-chave a serem usadas nos
mecanismos gerais de busca
– ex. “conference”, “symposium” e “call for papers” para o
caso das páginas de chamadas de trabalho
– ex. “receitas”, “ingredientes” para o caso de receitas
culinárias
• Formação de um corpus etiquetado (à mão) de
páginas para teste (mínimo de 200 páginas!)
– selecionar tanto exemplos positivos quanto negativos
– guardar as páginas em um BD (ou arquivo tabela):
– url, classe (sim ou não), arquivo html
CIn- UFPE
20
Etapa 2: montar a base de regras
 Identificar possíveis regras de classificação (à mão)
• Se a palavra “paper” aparece no título e existem n
parágrafos com .... Então é um “call for papers”
 Montar regras com fator de certeza associado (a
seguir)
• Se xx e yy Então zz com n% de chances
 Implementar as regras de classificação
• Reutilizar uma classe que manipula arquivos html
(www.cin.ufpe.br/~compint/aulas-IAS/programas/PaginaWWW.java)
• utilizar Jeops, Jess ou Clips
CIn- UFPE
21
Etapa 2: regras com fator de certeza
 Regras com fator de certeza
• Se E Então V com P% de chances
• aqui, V indica que a página pertence à classe alvo
– é um exemplo positivo (verdade)
• porém, em tarefas de categorização, teremos várias
classes a escolher
 Como calcular o fator de certeza P (manualmente):
• P = probabilidade condicional de uma página ser um
exemplo positivo (V) dado que a evidência E ocorreu
– P(V|E) = P(V ^ E) / P(E)
– P(E) = quantidade de vezes que E ocorreu no corpus
inteiro (exemplos positivos e negativos)
– P(V ^ E) = quantidade de vezes que E ocorreu em
exemplos positivos
– podemos também calcular P(~V|E)
CIn- UFPE
22
Etapa 2: combinando o fator de certeza
 É possível combinar (automaticamente) evidências
quando regras disparam com a mesma conclusão
• no nosso caso, V ou ~V
 Regra básica (inspirada no MYCIN):
• prob-atual = prob-anterior + prob-nova * (1 - prob-anterior)
• Ex.
– Se E1 então V 0,3%
– P = 0,3%
– Se E2 então V 0,6%
– P = 0,3 + 0,6 * (1-0,3) = 0,72 %
• para o JEOPS, implementar no objeto a evidência
acumulada...
CIn- UFPE
23
Etapa 3: implementação
 Criar base de índices (BI)
• BI com as páginas pertencentes à classe desejada
(usar stop-list, arquivos invertidos, ...)
– fazer inicialmente com as páginas do corpus
• O centróide deve ser extraído automaticamente,
usando-se um parser para html
 Criar interface para consulta por palavra-chave
• ex. bolo, carnes, ...
 Efetuar testes com o corpus a fim de medir
• precisão
• cobertura
• F-measure = 2 (cobertura * precisão) /
(cobertura + precisão)
CIn- UFPE
24
Etapa 3: implementação
 Se der tempo:
• Automatizar a consulta aos mecanismos de busca
• Automatizar a extração de links das respostas
– Reutilizar/programar uma classe manipuladora de
arquivos html
• Identificar a estrutura da página de resposta do
mecanismo de busca para extração dos links
– ex. terceira linha, depois de um <LI>...
• Automatizar a atualização e a indexação periódica da
base de índices
CIn- UFPE
25
Etapa 4 (opcional)
 Estender o trabalho nas seguintes direções
(a) prover extração de informação
(b) testar algoritmos de aprendizagem
(c) estender a busca com as palavras mais comuns (ex.
bolo, carnes, ...)
(d) introduzir conectores lógicos e ontologias para
consulta a posteriori
(e) notificação personalizada
CIn- UFPE
Referências
 Internet Categorization and Search: A Self-Organizing Approach,
Hsinchun Chen, University of Arizona, 1996.
 Learning from Hotlists and Coldlists: Towards a WWW information
filtering and seeking agent, Michael Pazzani, University of
California.
 The State of the Art in Text Filtering, Douglas W. Oard, University
of Maryland, 1997.
 Ontologies for Enhancing Web Searches' Precision and Recall,
Flávia A. Barros, Pedro F. Gonçalves, Thiago Santos
http://www.cin.ufpe.br/~fab/publications.
 BRight: a Distributed System for Web Information Indexing and
Searching, Pedro Falcão & Silvio Meira, Universidade Federal de
Pernambuco.
Referências
 An Architecture for Information Agents, Donald P McKay,
University of Maryland.
 Cooperating Agents for Information Retrieval, Craig A. Knoblock,
University of Southern California
 Information Retrieval: Data Structures & Algorithms, Willian B.
Frakes e Ricardo Baeza-Yates, Prentice Hall, 1992. !!!!!
 Filtragem e Recomendação de Documentos na Web. Uma
Abordage Usando Java, José Abelardo Sánchez Cardoza,
Universidade Federal de Pernambuco, 1998.
Referências - Links
• Universidade de Maryland
http://www.cs.umbc.edu/abir/
http://www.cs.umbc.edu/agents/
• Intelligent Software Agents
http://www.sics.se/ps/abc/survey.html
• MIT Media Lab
http://lcs.www.media.mit.edu/groups/agents/resources.
• Sycara’s Page
http://almond.srv.cs.cmu.edu/afs/cs/user/katia/www/katiahome.html
• Sasdwedish Institute of Computer Science
http://www.dsv.su.se/~fk/if_Doc/IntFilter.html
Download

Um projeto implementado