280 likes | 416 Views
Projeto X-Finder Agents Recuperação e indexação de páginas especializadas na Web. Recuperação de informação Detalhamento do projeto. Motivação: “ morrendo ignorante em um mar de informação”. Objetivo: Encontrar (de forma eficiente) os melhores documentos que satisfaçam a consulta do usuário.
E N D
Projeto X-Finder AgentsRecuperação e indexação de páginas especializadas na Web Recuperação de informação Detalhamento do projeto
Motivação: “morrendo ignorante em um mar de informação” • Objetivo: Encontrar (de forma eficiente) os melhores documentos que satisfaçam a consulta do usuário
Medidas: Recall e Precisão Relevantes Retornados • 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
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ê, ...
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
Estrutura Geral de um Sistema IR Critérios do Usuário Documentos “Interessantes” Filtragem Busca Doc. 1 Base de Dados Estruturada ... Indexar Doc. N Stop-List
Busca e Recuperação de Informação Usuário Search Engine Consulta Browser Servidor de Consultas Base de Índices Resposta )--( Robô Web Indexing Engine Busca Exemplos: Radix, AltaVista, Lycos, Excite, ...
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.
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
Exemplo de Representação Brincadeira O rato roeu a roupa do rei de Roma. brincadeira, t, m, n, irato, 1roeu, 1roupa, 1rei, 2roma, 2, m brincadeira, 90rato, 70roeu, 70roupa, 70rei, 60roma, 65 brincadeira, 90rato, 70roeu, 70roupa, 70roma, 65rei, 60 Representação Vetorial do Documento centróide
Estrutura de Arquivos p/ IR WORD: Bem-vindo ID: 543 http://www.ufpe.br URL: http://www.ufpe.br URLs: 455227,... Bem-vindo! UFPE ID: 455227 WORD: UFPE Words: 543, 987 ID: 987 Arquivo Direto URLs: 455227,... Arquivo Invertido • Arquivos Invertidos • 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, Boyer-Moore,...), busca por sinônimos,... • Indexação Distribuída, Base compartilhada: • Divisão por: Localização Geográfica, Rede, Conteúdo,..
Indexação Term Stem engineering engineered engineer engineer engineer engineer Futebol Campeonato Brasileiro CBF Palmeiras • Stemming - n-grams • possibilitar variações morfológicas dos termos durante o casamento. • Ontologias • para aumentar precisão e cobertura.
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)
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, ....
arquitetura: meta busca Pós-filtragem ex. receita Agente Índices palavra-chave ex. excite Mec. Busca html Mec. Busca KB para classificação html palavra-chave ex. sobremesa WEB
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
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
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
Etapa 2: regras com fator de certeza • Regras com fator de certeza • SeEEntãoV 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)
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...
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)
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
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
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/katia-home.html • Sasdwedish Institute of Computer Science • http://www.dsv.su.se/~fk/if_Doc/IntFilter.html