16/12/2009 Trabalho de Conclusão de Curso1/34 Instituto Superior de Tecnologia em Ciências da...

35
16/12/20 09 Trabalho de Conclusão de Curso 1/34 Instituto Superior de Tecnologia em Ciências da Computação do Rio de Janeiro Alunos: Felipe Silveira João Carlos Tosta Marcos Sabino Orientador: Ronaldo Ribeiro Goldschmidt – DSc. Scriptus Um Ambiente Inteligente para Recuperação de Documentos em Redes Locais

Transcript of 16/12/2009 Trabalho de Conclusão de Curso1/34 Instituto Superior de Tecnologia em Ciências da...

Page 1: 16/12/2009 Trabalho de Conclusão de Curso1/34 Instituto Superior de Tecnologia em Ciências da Computação do Rio de Janeiro Alunos: Felipe Silveira João.

16/12/2009 Trabalho de Conclusão de Curso 1/34

Instituto Superior de Tecnologia em Ciências da Computação do Rio de Janeiro

Alunos:Felipe SilveiraJoão Carlos TostaMarcos Sabino

Orientador:Ronaldo Ribeiro Goldschmidt – DSc.

ScriptusUm Ambiente Inteligente para Recuperação

de Documentos em Redes Locais

Page 2: 16/12/2009 Trabalho de Conclusão de Curso1/34 Instituto Superior de Tecnologia em Ciências da Computação do Rio de Janeiro Alunos: Felipe Silveira João.

16/12/2009 Trabalho de Conclusão de Curso 2/34

Roteiro1. Introdução 2. Objetivo 3. Embasamento Teórico 4. Metodologia5. Trabalhos Relacionados

1. Ferramentas Analisadas2. Análise Comparativa

6. Desenvolvimento do Protótipo7. Experimentos e Resultados

1. Demonstração

8. Considerações Finais1. Contribuições2. Trabalhos Futuros

9. Referências

Page 3: 16/12/2009 Trabalho de Conclusão de Curso1/34 Instituto Superior de Tecnologia em Ciências da Computação do Rio de Janeiro Alunos: Felipe Silveira João.

16/12/2009 Trabalho de Conclusão de Curso 3/34

Introdução

■ No mundo inteiro, diversas instituições produzem uma enorme quantidade de documentos diariamente.

■ A maior parte dos sistemas de informação presentes nessas instituições, opera sobre base de dados (dados estruturados).

■ Estima-se que aproximadamente 80% dos dados de qualquer empresa encontram-se sob a forma não-estruturada [INMON et al, 2008].

■ Essas informações são, em sua maioria, armazenadas de forma descentralizada e o acesso a elas torna-se um fator muito importante no processo produtivo.

■ Devido à necessidade de organizar e acessar esses documentos de forma rápida e eficaz, torna-se necessária a criação de uma estrutura que permita o acesso às informações.

Page 4: 16/12/2009 Trabalho de Conclusão de Curso1/34 Instituto Superior de Tecnologia em Ciências da Computação do Rio de Janeiro Alunos: Felipe Silveira João.

16/12/2009 Trabalho de Conclusão de Curso 4/34

Objetivo

■ Desenvolver um ambiente inteligente de busca para redes locais, que seja capaz de realizar a recuperação de documentos a partir de palavras-chave, ou a partir de um documento base de entrada, além de realizar o agrupamento (clusterização) de documentos semelhantes, o que permite ao usuário ter uma visão geral da organização de sua base textual.

Page 5: 16/12/2009 Trabalho de Conclusão de Curso1/34 Instituto Superior de Tecnologia em Ciências da Computação do Rio de Janeiro Alunos: Felipe Silveira João.

16/12/2009 Trabalho de Conclusão de Curso 5/34

Embasamento teóricoRecuperação de Informação (RI)

■ Área da computação que lida com o armazenamento de documentos e a recuperação automática de informação associada a eles.

■ Um Sistema de Recuperação da Informação (SRI) deve analisar os documentos para saber quais itens de seu acervo são relevantes frente a uma consulta do usuário.

Page 6: 16/12/2009 Trabalho de Conclusão de Curso1/34 Instituto Superior de Tecnologia em Ciências da Computação do Rio de Janeiro Alunos: Felipe Silveira João.

16/12/2009 Trabalho de Conclusão de Curso 6/34

Embasamento teóricoRecuperação de Informação (RI)

■ Ganharam mais importância com o surgimento das bibliotecas digitais.

■ Existem diversos tipos de SRI, como os sistemas para bibliotecas e os motores de busca.

■ As três atividades principais da RI são:■ Aquisição.■ Indexação.■ Recuperação de documentos.

Sistemas de RI

. . . Sistemas para Bibliotecas

Motores de Busca

Motores de Busca para Internet

Motores de Busca para Intranets

Page 7: 16/12/2009 Trabalho de Conclusão de Curso1/34 Instituto Superior de Tecnologia em Ciências da Computação do Rio de Janeiro Alunos: Felipe Silveira João.

16/12/2009 Trabalho de Conclusão de Curso 7/34

Embasamento teóricoMotores de Busca■ Antes da Internet, os sistemas de recuperação de informação eram baseados

em coleções de dados bem controladas.■ A Web é uma coleção não controlada de documentos, ou seja, a todo instante,

documentos são inseridos e modificados por diferentes pessoas.■ Surgimento dos motores de busca.

■ Módulo de Busca■ Módulo de Indexação

Page 8: 16/12/2009 Trabalho de Conclusão de Curso1/34 Instituto Superior de Tecnologia em Ciências da Computação do Rio de Janeiro Alunos: Felipe Silveira João.

16/12/2009 Trabalho de Conclusão de Curso 8/34

Embasamento teóricoMotores de Busca.

■ Módulo de indexação:■ Coleta de Documentos■ Pré-Processamento

■ Tokenização■ Stop words■ Stemming■ Indexação

■ Módulo de Busca:■ Recuperação:

■ Consultas por palavra única.■ Por seqüencia de palavras.■ Por proximidade de termos.■ Booleana.■ Casamento padrão.

■ Ordenação:■ Modelo de espaço vetorial.■ PageRank.

Page 9: 16/12/2009 Trabalho de Conclusão de Curso1/34 Instituto Superior de Tecnologia em Ciências da Computação do Rio de Janeiro Alunos: Felipe Silveira João.

16/12/2009 Trabalho de Conclusão de Curso 9/34

Embasamento teóricoMódulo de Indexação

■ Coleta de Documentos■ Manual■ Automática.

■ Spider (ou Crawler)■ Navega pela rede coletando documentos.■ Deve obedecer a certas regras, que indicam que documentos e

diretórios ele pode indexar.■ Robots Exclusion Standards (Robots.txt)

Page 10: 16/12/2009 Trabalho de Conclusão de Curso1/34 Instituto Superior de Tecnologia em Ciências da Computação do Rio de Janeiro Alunos: Felipe Silveira João.

16/12/2009 Trabalho de Conclusão de Curso 10/34

Embasamento teóricoMódulo de Indexação■ Pré-processamento (Análise Textual)

■ Identificar quais termos (palavras simples ou termos compostos) do documento deverão ser indexados.

■ Análise Léxica (Tokenização)■ Eliminação de palavras não discriminantes (Stop words)

■ Normalização Morfológica (Stemming)Termo Radical (Stem)ProgramerProgramedPrograming

ProgramProgramProgram

Page 11: 16/12/2009 Trabalho de Conclusão de Curso1/34 Instituto Superior de Tecnologia em Ciências da Computação do Rio de Janeiro Alunos: Felipe Silveira João.

16/12/2009 Trabalho de Conclusão de Curso 11/34

Embasamento teóricoMódulo de Indexação■ Indexação

■ Criar uma estrutura de dados computacionalmente eficiente para a realização das buscas.

■ Índice Direto X Índice InvertidoÍNDICE DIRETO

Doc1 → A Internet é um conglomerado de redes de computadoresDoc2 → Um rede possui vários computadoresDoc3 → Uma Intranet é uma rede de computadores privada.

ÍNDICE INVERTIDOInternet → Doc1rede → Doc1, Doc2, Doc3conglomerado → Doc1computadores → Doc1, Doc2, Doc3possui → Doc2Intranet → Doc3Privada → Doc3

Page 12: 16/12/2009 Trabalho de Conclusão de Curso1/34 Instituto Superior de Tecnologia em Ciências da Computação do Rio de Janeiro Alunos: Felipe Silveira João.

16/12/2009 Trabalho de Conclusão de Curso 12/34

Embasamento teóricoMódulo de Busca

■ Recuperação■ Acessa a base de índices invertidos e recuperar dela os

documentos que satisfaçam a consulta (query) feita pelo usuário.■ Consultas de palavra única■ Por Seqüência de Palavras (Phrase)■ Por Proximidade de Termos (Proximity)■ Booleana■ Casamento de Padrão

Page 13: 16/12/2009 Trabalho de Conclusão de Curso1/34 Instituto Superior de Tecnologia em Ciências da Computação do Rio de Janeiro Alunos: Felipe Silveira João.

16/12/2009 Trabalho de Conclusão de Curso 13/34

Embasamento teóricoMódulo de Busca

■ Ordenação■ Modelo Vetorial

■ Esse modelo é o mais usado em sistemas de busca, possuindo o melhor desempenho em conjuntos de documentos controlados. [INMON et al, 2008]

■ No exemplo acima o termo Rede tem o peso de 0,75 no documento 5 enquanto que o termo “Pesquisa” não aparece no documento 3, portanto seu peso é 0.

Page 14: 16/12/2009 Trabalho de Conclusão de Curso1/34 Instituto Superior de Tecnologia em Ciências da Computação do Rio de Janeiro Alunos: Felipe Silveira João.

16/12/2009 Trabalho de Conclusão de Curso 14/34

Embasamento teóricoMódulo de Busca

■ Ordenação■ PangeRank

■ Dá pesos numéricos a cada elemento de uma coleção de documentos hiperligados (links)

■ Tem o propósito de medir a importância de um documento entre os elementos de um grupo.

■ O peso numérico dado a cada elemento E é chamado PageRank de E e notado como PR(E).

Page 15: 16/12/2009 Trabalho de Conclusão de Curso1/34 Instituto Superior de Tecnologia em Ciências da Computação do Rio de Janeiro Alunos: Felipe Silveira João.

16/12/2009 Trabalho de Conclusão de Curso 15/34

Embasamento teórico

■ Pela diversidade da informação e entre outros fatores, as ferramentas de busca tiveram de melhorar seus algoritmos de indexação, busca e RI, pois a necessidade do usuário cresceu e, com ela, a concorrência entre as diversas ferramentas de busca.

■ Esta necessidade levou à a pesquisa de áreas como o clustering.

■ Faz o agrupamento automático de dados segundo seu grau de semelhança.

■ Procura agrupar textos que falem sobre o mesmo assunto e separar textos de conteúdo diferentes.

Page 16: 16/12/2009 Trabalho de Conclusão de Curso1/34 Instituto Superior de Tecnologia em Ciências da Computação do Rio de Janeiro Alunos: Felipe Silveira João.

16/12/2009 Trabalho de Conclusão de Curso 16/34

Metodologia

■ Estudo de uma arquitetura genérica para motores de busca.

■ Estudo detalhado de algumas aplicações existentes.■ A implementação do protótipo.■ Comparativo, tanto dos requisitos quanto das

funcionalidades entre o protótipo criado e alguns motores de busca existentes.

■ Realizados alguns experimentos com bases de amostras de documentos.

Page 17: 16/12/2009 Trabalho de Conclusão de Curso1/34 Instituto Superior de Tecnologia em Ciências da Computação do Rio de Janeiro Alunos: Felipe Silveira João.

16/12/2009 Trabalho de Conclusão de Curso 17/34

Trabalhos Relacionados■ Ferramentas Analisadas

■ Ht://Dig (Universidade de San Diego, CA) – Open Source

■ Google Desktop Search (Google Inc.) – Proprietária

■ Beagle (Beagle Team) – Open Source

■ Copernic Desktop Search (Copernic Inc.) - Proprietária

Page 18: 16/12/2009 Trabalho de Conclusão de Curso1/34 Instituto Superior de Tecnologia em Ciências da Computação do Rio de Janeiro Alunos: Felipe Silveira João.

16/12/2009 Trabalho de Conclusão de Curso 18/34

Trabalhos Relacionados■ Análise Comparativa.

Características eFuncionalidades Scriptus ht://Dig Google Desktop Beagle

SearchCopernic

Desktop Search

1

Permite indexar documentos a partir de diversas fontes (sistemas de arquivos locais e remotos)

Sim Não Não Não Não

2

Permite a criação e manipulação de diversas bases de índice

Sim Não Não Não Não

3

Indexa os formatos de documentos mais comuns nas Intranets (arquivos do MS-Office, Open Office, html, pdf, txt, etc.)

Sim Sim Sim Sim Sim

Page 19: 16/12/2009 Trabalho de Conclusão de Curso1/34 Instituto Superior de Tecnologia em Ciências da Computação do Rio de Janeiro Alunos: Felipe Silveira João.

16/12/2009 Trabalho de Conclusão de Curso 19/34

Trabalhos Relacionados■ Análise Comparativa.

Características eFuncionalidades Scriptus ht://Dig Google Desktop Beagle

SearchCopernic

Desktop Search

4 É capaz de indexar grandes Intranets Sim Sim Sim Sim Sim

5 Cria log de indexação Sim - Sim - Não

6 Índices possuem boa taxa de compressão Sim Sim Sim Sim Sim

7

Reconhece metadados nos documentos, como informações sobre o autor do documento, palavras-chaves (keywords).

Sim Não Sim Sim Sim

8

Possui Crawler que segue Standard Robot Exclusion

Não Sim Sim Não Sim

9 Possui política de re-indexação inteligente Não Não Sim Sim Sim

Page 20: 16/12/2009 Trabalho de Conclusão de Curso1/34 Instituto Superior de Tecnologia em Ciências da Computação do Rio de Janeiro Alunos: Felipe Silveira João.

16/12/2009 Trabalho de Conclusão de Curso 20/34

Trabalhos Relacionados■ Análise Comparativa.

Características eFuncionalidades

Scriptus ht://Dig Google Desktop BeagleSearch

CopernicDesktopSearch

10Permite diversos tipos de queries (booleana, frase, prefix, etc.)

Sim Sim Sim Sim Sim

11 Realiza Stemming Sim Sim Não Sim Sim

12 Possui mecanismo de correção ortográfica Não Não Sim Não Não

13

Possibilita busca por palavras em campos específicos do documento (ex. título, palavras-chaves, etc.)

Sim Não Sim Não Sim

14

Possibilitar diversas formas de apresentação dos resultados, como documentos ordenados por relevância e documentos agrupados por semelhança.

Sim Não Não Não Não

15

Apresenta para os usuários um resumo dos documentos retornados, destacando as palavras contidas na consulta.

Sim Sim Sim Não Sim

16 Permite pesquisar documentos por semelhança. Sim Não Não Não Não

Page 21: 16/12/2009 Trabalho de Conclusão de Curso1/34 Instituto Superior de Tecnologia em Ciências da Computação do Rio de Janeiro Alunos: Felipe Silveira João.

16/12/2009 Trabalho de Conclusão de Curso 21/34

Desenvolvimento do Protótipo

■ Tecnologias Utilizadas■ Lucene API■ Carrot² API■ Linguagem de Programação Java■ Swing Application Framework■ Netbeans IDE

■ Módulos■ Indexação■ Busca■ Clusterização

Page 22: 16/12/2009 Trabalho de Conclusão de Curso1/34 Instituto Superior de Tecnologia em Ciências da Computação do Rio de Janeiro Alunos: Felipe Silveira João.

16/12/2009 Trabalho de Conclusão de Curso 22/34

Desenvolvimento do Protótipo

Page 23: 16/12/2009 Trabalho de Conclusão de Curso1/34 Instituto Superior de Tecnologia em Ciências da Computação do Rio de Janeiro Alunos: Felipe Silveira João.

16/12/2009 Trabalho de Conclusão de Curso 23/34

Desenvolvimento do Protótipo■ Diagrama de Contexto

Page 24: 16/12/2009 Trabalho de Conclusão de Curso1/34 Instituto Superior de Tecnologia em Ciências da Computação do Rio de Janeiro Alunos: Felipe Silveira João.

16/12/2009 Trabalho de Conclusão de Curso 24/34

Experimentos e Resultados■ Testes para validação foram realizados sobre duas bases.

■ Documentos da área de computação.■ Documentos da área de segurança do trabalho.

■ Indexação:■ Foram indexados dois diretórios locais e extraídas as seguintes informações do log de

indexação:■ Base 1:

■ Tema: Computação.■ Nº total de arquivos indexados: 66.■ Tamanho total desses arquivos: 15,60 MB.■ Tamanho do índice criado: 5,46 MB. ■ Tempo total de indexação: 8 segundos. ■ Tempo médio de indexação(por arquivo): 121 milisegundos.

■ Base 2:■ Tema: Segurança do Trabalho.■ Nº total de arquivos indexados: 16.■ Tamanho total desses arquivos: 18,70 MB.■ Tamanho do índice criado: 8,3 MB. ■ Tempo total de indexação: 13 segundos. ■ Tempo médio de indexação(por arquivo): 1,31 milisegundos.

Page 25: 16/12/2009 Trabalho de Conclusão de Curso1/34 Instituto Superior de Tecnologia em Ciências da Computação do Rio de Janeiro Alunos: Felipe Silveira João.

16/12/2009 Trabalho de Conclusão de Curso 25/34

Experimentos e Resultados

Page 26: 16/12/2009 Trabalho de Conclusão de Curso1/34 Instituto Superior de Tecnologia em Ciências da Computação do Rio de Janeiro Alunos: Felipe Silveira João.

16/12/2009 Trabalho de Conclusão de Curso 26/34

Experimentos e Resultados

Page 27: 16/12/2009 Trabalho de Conclusão de Curso1/34 Instituto Superior de Tecnologia em Ciências da Computação do Rio de Janeiro Alunos: Felipe Silveira João.

16/12/2009 Trabalho de Conclusão de Curso 27/34

Experimentos e Resultados

Page 28: 16/12/2009 Trabalho de Conclusão de Curso1/34 Instituto Superior de Tecnologia em Ciências da Computação do Rio de Janeiro Alunos: Felipe Silveira João.

16/12/2009 Trabalho de Conclusão de Curso 28/34

Experimentos e Resultados

Page 29: 16/12/2009 Trabalho de Conclusão de Curso1/34 Instituto Superior de Tecnologia em Ciências da Computação do Rio de Janeiro Alunos: Felipe Silveira João.

16/12/2009 Trabalho de Conclusão de Curso 29/34

Experimentos e Resultados

Page 30: 16/12/2009 Trabalho de Conclusão de Curso1/34 Instituto Superior de Tecnologia em Ciências da Computação do Rio de Janeiro Alunos: Felipe Silveira João.

16/12/2009 Trabalho de Conclusão de Curso 30/34

Experimentos e Resultados

Page 31: 16/12/2009 Trabalho de Conclusão de Curso1/34 Instituto Superior de Tecnologia em Ciências da Computação do Rio de Janeiro Alunos: Felipe Silveira João.

16/12/2009 Trabalho de Conclusão de Curso 31/34

Experimentos e Resultados

■Conclusão:

■ Foram satisfeitos 13 dos 16 requisitos propostos para motores de buscas analisados.

■ A política de reindexação inteligente e o crawler não foram implementados pois não faziam parte do escopo do trabalho.

■ O mecanismo de correção ortográfica não foi implementado devido à exigüidade do tempo.

■ O protótipo obteve resultados promissores em todos os exemplos utilizados.

Page 32: 16/12/2009 Trabalho de Conclusão de Curso1/34 Instituto Superior de Tecnologia em Ciências da Computação do Rio de Janeiro Alunos: Felipe Silveira João.

16/12/2009 Trabalho de Conclusão de Curso 32/34

Experimentos e Resultados

Demonstração

Page 33: 16/12/2009 Trabalho de Conclusão de Curso1/34 Instituto Superior de Tecnologia em Ciências da Computação do Rio de Janeiro Alunos: Felipe Silveira João.

16/12/2009 Trabalho de Conclusão de Curso 33/34

Considerações Finais■Contribuições:

■ Apresentação de estudo mais específico para motores de busca para Intranet.

■ Descrição de uma arquitetura satisfatória as requisitos desejáveis a um motor de busca para Intranets.

■ Adaptação do analisador português brasileiro da API Lucene.■ Implementação um protótipo que serve como base para a

construção de outras ferramentas de busca.

■Trabalhos Futuros:■ Implementação de uma política de re-indexação inteligente.■ Testar o uso de outras coleções de documentos.■ Utilização em outras áreas de interesse com problemas de

clustering.■ Pesquisa por sinônimo.■ Teste de escalabilidade e qualidade.■ Implementação de correção ortográfica e interface para Web.

Page 34: 16/12/2009 Trabalho de Conclusão de Curso1/34 Instituto Superior de Tecnologia em Ciências da Computação do Rio de Janeiro Alunos: Felipe Silveira João.

16/12/2009 Trabalho de Conclusão de Curso 34/34

INMON, W; STRAUSS, D.; NEUSHLOSS, G. – DW 2.0 The Next Generation of Data Warehousing. Morgan Kaufmann, 2008.

Metodologia Praxis 2.0, http://www.wppf.uaivip.com.br/praxis/ Pádua, Wilson de. Engenharia de Software - Fundamentos, Métodos e

Padrões. 2ª edição, Rio de Janeiro, LTC, 2003. REZENDE, S. O. – Sistemas Inteligentes: Fundamentos e Aplicações,

Manole, 2002. Breitman, Karin Koogan. Web semântica: a internet do futuro, LTC Deitel & Deitel, Como programar em Java. Sexta edição, São Paulo,

Prentice Hall, 2006. Lucene Project – Disponível em: http://www.lucene.org> Carrot2 Project – Disponível em: http://project.carrot2.org>. . Beagle Project – Disponível em: http://beagle-project.org> ht://Dig – Disponível em: http://www.htdig.org/

Referências

Page 35: 16/12/2009 Trabalho de Conclusão de Curso1/34 Instituto Superior de Tecnologia em Ciências da Computação do Rio de Janeiro Alunos: Felipe Silveira João.

16/12/2009 Trabalho de Conclusão de Curso 35/34

Bates Bert, et al. Use a cabeça! Java. 2ª edição, Alta Books - O’Reilly, Rio e Janeiro, 2005.

Rezende, Solange Oliveira. Sistemas Inteligentes: Fundamentos e Aplicações, Manole, 2002.

CAVALCANTI, C. R. Indexação. In: MACHADO, U. D.; coord. Estudos Avançados em Biblioteconomia e Ciência da Informação. Brasília: ABDF, 1982.

Referências