Projeto: Seu sistema de buscas especializado

iStock_000008204804Medium1

Data das entregas:

  • Apresentação 1: 13/06/2013
  • Apresentação 2 + Relatório + Motor de busca: 30/08/2013

Forma de entrega: Deverão ser entregues dois conjuntos de slides em PDF, 1 relatório em PDF, um arquivo ZIP com todo o código fonte do projeto e uma URL para a interface web do sistema (Se você precisar eu posso disponibilizar uma máquina virtual para hospedar o sistema).

Grupos: Os projetos poderão ser desenvolvidos por grupos e até 5 alunos.

Este projeto vale 40% da sua média final na disciplina e sua nota será baseada em três componentes:

  • Motor de busca: 25%
  • Relatório: 10%
  • Apresentações: 5%

Neste projeto você utilizará software de código aberto (Nutch/Lucene ou YouSeer) para construir um sistema de buscas especializado em uma determinada classe de documentos. Você construirá também um Google Custom Search engine para a mesma classe de documentos.

A seguir sugiro algumas opções para a classe de documentos a ser indexada (os alunos têm também a opção de sugerir uma outra classe de documentos – sujeita a aprovação do professor)

Importante: dois grupos não poderão trabalhar com a mesma classe de documentos. As classes serão distribuídas entre as equipes em ordem FIFO. Quem pedir primeiro leva.

  • Páginas das instituições federais de ensino superior no Brasil (UFs e IFs)  (Alocado para o grupo de Anderson Rufino, Felipe Crispim, Felipe Mahon, Felipe Tiago e Vitor Soares)
  • Páginas de instituições de fomento à pesquisa no Brasil (CNPq, CAPES, MEC, FINEP, etc)
  • Páginas dos governos estaduais e municipais brasileiros
  • Páginas dos times de futebol brasileiros das séries A, B e C. (Alocado para o grupo de Anderson Marinho, Daniel Fagner, Fernando Tavares, Joniogenes Souza e Victor Hugo)
  • Páginas de sites de notícias paraibanos (G1, Correio, PB Agora,  WSCOM, PBHoje, Paraiba Online, etc) (Alocado para o grupo de Augusto Guimarães e Johann Hakkinen)
  • Diários oficiais da união e dos estados brasileiros (Alocado para o grupo de José Everaldo, Gustavo Brito, Felipe Ricardo, Alyson Rodrigo e Marco da Costa)
  • Sites de cifras de música (Alocado para o grupo de Italo Ayres, Mirella Gama, Amanda Tavares, Julio e Welison)

Sistema de Buscas Especializado

Com o software sugerido você construirá um sistema de buscas especializado quer irá recuperar (crawl)  pelo menos 1000 documentos (ou a totalidade de documentos na classe, caso esse número seja menor que 1000) pertencentes a classe de documentos de interesse.

Em seguida, você deverá indexar os documentos recuperados e fornecer um sistema de consultas para acessar a base de documentos utilizando consultas arbitrárias. Tanto o Nutch quanto o YouSeer fornecem interfaces para processar estas consultas. Uma vez que o objetivo deste projeto é que você entenda os fundamentos de um motor de busca e que possa criar um sistema de buscas especializado, você pode utilizar a interface padrão fornecida pelos sistemas. Em todo caso, a interface do seu sistema precisa permitir que os usuários consultem seu índice e dados. Você não pode utilizar como base de dados arquivos que já forma recuperados anteriormente. Uma parte do exercício consiste justamente em recuperar e montar você mesmo a coleção de documentos.

Google Custom Search Engine

Você deverá criar também um outro motor de busca para a mesma coleção de documentos utilizando o Google Custom Search. Na sua interface de busca você deve oferecer uma opção para utilizar qualquer um dos dois motores de busca.

Crawling

Você deve utilizar o bom senso na construção do seu crawler e respeitar o robots.txt e não sobrecarregar os sites dos documentos. Aqui há um tutorial sobre como fazer crawnling utilizando o Nutch.

Entregáveis

Para completar o projeto você precisará apresentar os seguintes  entregáveis:

Relatório final

Você deve apresentar um relatório detalhado, como não mais que 20 páginas, descrevendo o funcionamento do seu motor de busca. Os processos de crawling, indexação e cálculo do score de relevância devem ser discutidos em detalhes.

O documento deve apresentar as URLS do seu motor de busca construído com o Nutch ou YouSeer e para o motor de busca construído com o Google Custom Search.

Os resultados dos dois motores de busca devem ser comparados em detalhes em relação a relevância dos documentos recuperados.

O relatório deve apresentar também URLs para acesso aos índices gerados pelos sistemas de indexação.

Apresentações

O seu grupo deverá realizar duas apresentações sobre o projeto. Uma primeira mais curta, com apenas 10 minutos, e uma final mais completa, com 25 minutos.

A primeira apresentação deverá descrever os seguintes tópicos:

  • Motivação para a escolha da sua classe de documentos
  • Por que esse é um bom tópico para a construção de um sistema de buscas especializado?
  • O quão difícil será obter os documentos?
  • Existe algum outro sistema de buscas para a mesma classe de documentos?

A apresentação final deverá discutir todos os aspectos técnicos do sistema de buscas desenvolvido.

  • Discutir o que foi descoberto sobre o tópico escolhido
  • O que foi recuperado e porque.
  • Uma demonstração ao vivo do sistema de buscas

Sistema Web

Você deverá fornecer uma interface web publicamente acessível para o seu sistema de forma que ele possa ser testado após a apresentação final do projeto.

O professor disponibilizará máquinas virtuais no Amazon AWS para hospedar os sistemas desenvolvidos pelos alunos.