Title: Projeto X-Finder Agents
1Projeto X-Finder Agents
- Recuperação e Indexação de páginas especializadas
na Web - Disciplina Inteligência Artificial Simbólica
- Professora Flávia Barros
2X-Finder Agents
- Andamento
- A cada novo assunto pertinente apresentado, será
proposta 1 tarefa cujo resultado será
posteriormente avaliado em uma aula de
laboratório - Teremos 3 tarefas ao todo (3 etapas do projeto),
segundo o cronograma de aulas da página do curso - Grupos
- No máximo, 4 alunos por equipe
o que não é pertinente será cobrado em uma
lista de exercícios
3Pá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 - essas páginas especializadas têm em comum
características sintáticas (formato) e semânticas
(conteúdo) - Exemplos
- FAQs, páginas de hotéis, páginas pessoais,
chamadas de trabalho (cfp), lista de artigos,
restaurantes, classificados, cinemas, ...
4Páginas Especializadas
- Exemplo página de publicações
5Arquitetura do Sistema
Busca por palavras-chave do domínio (ex.
Publications)
Engenhos de Busca tradicionais (ex. Google)
Web
URLs Páginas HTML recuperadas
Classificador
Base de Índices Específica
Consulta palavras-chave
URLs classificadas positivamente
URLs recuperadas
6Objetivo
- Projeto básico (para todos)
- Implementar um conjunto de agentes capazes de
recuperar, classificar 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 para consulta a
posteriori - (d) notificação personalizada
7Etapa 1 Criar o corpus
- Identificar palavras-chave a serem usadas nas
consultas aos engenhos de busca genéricos - 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 - Montar um corpus de páginas à mão
8Etapa 1 Criar o corpus
- Criação manual do corpus
- Fazer consultas a Engenhos de Busca usando as
palavras-chaves identificadas - Separar páginas positivas (que pertencem à classe
escolhida) das negativas - Armazená-las em um BD (ou arquivo) indicando se
são positivas ou negativas - url, classe, arquivo html
- Recolher 300 páginas
- 200 positivas e 100 negativas
- Separar o corpus em dois
- Treinamento (140 páginas e 70 páginas -)
- Teste (60 páginas e 30 páginas -)
9Etapa 2 Montar a Base de Regras
- Com base no corpus de treinamento, identificar
possíveis regras de classificação - Se a palavra publications aparece no título
- E existem parágrafos com nomes de conferências ou
congressos - Então é uma página de publicações
- Implementar as regras de classificação
- Reutilizar uma classe que manipula arquivos html
- (www.cin.ufpe.br/compint/aulas-IAS/programas/Pagi
naWWW.java) - utilizar JEOPS ou Clips
10Montar regras com fator de certeza associado
- Montar regras com fator de certeza (F.C.)
associado - Objetivo melhorar a precisão do sistema
- Se evidência1 Então pag.positiva com F.C. de
chance - O F.C. é calculado pelo do Teorema de Bayes
- P(pag.pos evidência1)
- P(pag.pos evidência1) / P(evidência1)
- Onde
- P(pag.pos evidência1) é a probabilidade de uma
página ser positiva dado que a evidência1 ocorreu - P(pag.pos evidência1) é a quantidade de páginas
positivas que contêm a evidência1 - P(evidência1) é a quantidade de páginas positivas
e negativas (o corpus inteiro) que contêm a
evidência1
11Utilizar as regras com fator de certeza associado
- Quando a máquina de inferência dispara regras com
a mesma conclusão, ela deve combinar os F.C.
associados - O objetivo é calcular a probabilidade final de
uma dada página ser positiva - P-atual P-anterior P-nova (1 - P-anterior)
- Por exemplo
- Se evidência1 Então pag.positiva com 90
- Se evidência2 Então pag.positiva com 85
- P-atual 0,9 0,85 (1 - 0,90)
- Quando a máquina de inferência pára, teremos a
probabilidade final de uma página ser positiva - Em JEOPS, pode-se implementar a probabilidade
acumulada no objeto
12Etapa 2 Regras com fator de certeza associado
- A probabilidade final é comparada a um limiar
- Se P-final gt limiar Então página positiva
- Cada classificador poderá usar um limiar
diferente - O limiar é calculado iterativamente com base na
F-measure para o corpus de treinamento - 1. Escolher um limiar inicial (p. ex. 60)
- 2. Calcular F-measure
- 3. Aumentar o limiar em 0.5 e calcular F-measure
- 4. Repetir passo 3 até F-measure começar a piorar
- 5. Escolher para o sistema o limiar que
apresentou melhor F-measure - Com base no corpus de teste, medir o desempenho
do sistema classificador - Precisão, Cobertura e F-measure
13Etapa 2 Avaliação final do sistema
- Precisão
- total de páginas classificadas corretamente como
positivas sobre o total de páginas classificadas
como positivas (sendo elas positivas ou negativas
no corpus) - Cobertura
- total de páginas classificadas corretamente como
positivas sobre o total de páginas positivas
existentes no corpus - F-measure
- 2 cobertura precisão
- cobertura precisão
14Etapa 2 Avaliação final do sistema
- Exemplo
- total de páginas do corpus 200
- total de páginas positivas do corpus 170
- total de páginas negativas do corpus 30
- total de páginas positivas classificadas
corretamente como positivas 130 - total de páginas negativas classificadas como
positivas 20 - total geral de páginas classificadas como
positivas 150 - Precisão 130 / 150 0,87
- Cobertura 130 / 170 0,76
- F-measure (2 0,87 0,76) / (0,87 0,76)
- 1,32 / 1,63 0,81
15Etapa 3 Aprendizagem Automática
- Preparar o corpus
- enxugar o texto, inclusive tirando tags
- escolher as palavras mais pertinentes (TFIDF)
- compor o vetor de representação
- Escolher alguns algoritmos de aprendizagem (ID3,
RN, Bayes, etc.) - codificar os exemplos
- rodar os algoritmos e obter os resultados
- Avaliar os métodos de classificação
- dedutivo x indutivo discutir resultados!
16Etapa 4 Ontologias
17Etapa 5 Criar Base de Índices
- Tendo construído o classificador (regras ou
aprendizagem) - criar base de índices com as páginas pertencentes
à classe desejada - stop-list, arquivos invertidos, ...
- utilizar inicialmente apenas as páginas do corpus
- prover interface para consulta (simples!)
- Opcional automatizar busca na Web a fim de
alimentar a base de índices automática e
periodicamente
18Etapa 5 - opcional Implementar Protótipo
- Automatizar consulta a mecanismos de busca
- Reutilizar/programar as classes para acesso aos
mecanismos de busca - Identificar estrutura da página de resposta do
mecanismo de busca para extração dos links - ex. terceira linha, depois de um ltLIgt...
- Automatizar extração de links das respostas
- Reutilizar/programar uma classe que manipula
arquivos html - Automatizar atualização e indexação periódicas da
base de índices
19Etapa 6 - opcional
- Se der tempo, dividir os grupos para estender o
trabalho em alguma das seguintes direções - (a) prover extração de informação
- (b) estender a busca com as palavras mais comuns
(ex. bolo, carnes, ...) - (c) introduzir conectores lógicos para consulta a
posteriori - (d) fazer notificação personalizada
20Referê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. - BRight a Distributed System for Web Information
Indexing and Searching, Pedro Falcão Silvio
Meira, Universidade Federal de Pernambuco.
21Referências
- Ontologies for Enhancing Web Searches' Precision
and Recall, Flávia A. Barros, Pedro F. Gonçalves,
Universidade Federal de Pernambuco. - 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.
22Referê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/resourc
es - Sycaras Page
- http//almond.srv.cs.cmu.edu/afs/cs/user/katia/www
/katia-home.html - Sasdwedish Institute of Computer Science
- http//www.dsv.su.se/fk/if_Doc/IntFilter.html