Aníbal de Sintra Aveiro
1 UNIVERSIDADE FEDERAL DE SANTA CATARINA CIÊNCIAS DA COMPUTAÇÃO MÁQUINAS DE COMITÊ APLICADAS À FILTRAGEM DE SPAM Monografia submetida à UNIVERSIDADE FEDERAL DE SANTA CATARINA para a obtenção do grau de BACHAREL EM CIÊNCIAS DA COMPUTAÇÃO JOÃO EDUARDO HORNBURG Florianópolis, julho de 2007
2 ii Sumário 1 Introdução Especificação do problema Objetivos Geral Específicos Justificativa Fundamentação Teórica 4 Referências 5
3 1 Introdução O uso de meios eletrônicos de comunicação, tais como o , significou um grande avanço na velocidade e no custo da troca de informações em escala mundial. Esta facilidade, aliada ao uso cada vez mais difundido destas tecnologias, permitiu que qualquer pessoa pudesse se comunicar com um número muito grande de pessoas a um custo praticamente nulo. Isto deu origem a uma nova forma de propagando: o spam. O spam é uma mensagem eletrônica não-solicitada enviada em massa, geralmente com fins publicitários. O seu custo, se comparado com o de formas convencionais de propaganda, é muito baixo para o remetente, mas relativamente alto para o destinatário. Além de gastar recursos computacionais, o spam diminui a produtividade da vítima, pois esta gasta tempo separando as mensagens importantes das que são spam. Uma forma de amenizar estes danos é utilizar filtros anti-spam. Um filtro anti-spam é um software ou parte de outro software, que utilizando várias técnicas, que podem envolver o uso de inteligência artificial ou não, classifica e separa s legítimos de s que são spam. Uma rede neural é um grupo interconectado de neurônios artificiais que usam modelos matemáticos para o processamento de dados. Geralmente são usadas redes neurais para modelar relacionamentos complexos entre dois grupos de dados. No caso de reconhecimento de padrões, o primeiro grupo consiste nos dados que se deseja classificar, e o segundo grupo representa as classes nas quais se deseja classificar os dados. Uma máquina de comitê é um conjunto de redes neurais. Cada rede neural, chamada de expert, é especializada em um subconjunto do problema. Combina-se o resultado de cada um dos experts para obter uma resposta final.
4 2 A proposta deste trabalho é estudar técnicas de filtragem de spam mais comuns e implementar um filtro anti-spam utilizando o conceito de máquinas de comitê, comparando os resultados obtidos com os de outros filtros. 1.1 Especificação do problema Qual é a eficácia e o desempenho de Máquinas de Comitê utilizadas na classificação de s em spam e não-spam, comparadas com outros métodos? 1.2 Objetivos Geral Analisar a eficácia e o desempenho do uso de Máquinas de Comitê na classificação de s em spam e não-spam e compará-las com outros métodos Específicos Estudar a arquitetura e o funcionamento de Máquinas de Comitê; Revisar as técnicas utilizadas para filtragem de s; Implementar um classificador de s utilizando Máquinas de Comitê Avaliar a eficácia do classificador implementado e compará-lo com outras técnicas; 1.3 Justificativa Em uma pesquisa na Internet detectou-se que praticamente não existem softwares de filtragem de spam que utilizem máquinas de comitê. Além disso, o estudo destas também não é muito difundido. Espera-se que este trabalho contribua de forma significativa para o uso desta técnica na filtragem de spam. Caso o desempenho e a eficácia apresentadas pelo software sejam aceitáveis, este trabalho poderá servir de base para novos estudos e aperfeiçoamentos nesta área. Caso contrário, se terá uma boa justificativa para não utilizar máquinas de comitê na filtragem de spam.
5 3 Além disso, espera-se contribuir para os estudos envolvendo técnicas de filtragem de spam em geral. Espera se obter um bom comparativo sobre estas técnicas, possibilitando a construção de novos filtros mais eficientes, o que beneficiará toda a comunidade de usuários de . Também se espera aprofundar os estudos na área de máquinas de comitê, principalmente quanto ao seu uso prático. Isto poderá servir de subsidio para novos trabalhos nesta área. Além disso, como será de fato implementado um software para filtragem de spam, esta implementação poderá servir de base para a criação de filtros mais completos, que utilizem várias técnicas combinadas. Futuramente isto poderá gerar alguma biblioteca que poderá ser utilizada em outros softwares.
6 2 Fundamentação Teórica Este capítulo apresenta uma revisão dos principais conteúdos que fundamentarão o trabalho a ser desenvolvido ao longo deste projeto. Primeiramente serão apresentados alguns fundamentos a respeito de redes neurais. A seguir será detalhada a organização destas na forma de uma máquina de comitê. E por último será apresentado um resumo das principais técnicas de filtragem de s. Segundo Haykin (1998), o trabalho com redes neurais foi motivado pelo reconhecimento de que o cérebro humano funciona de uma forma completamente diferente de um computador digital convencional. Ele tem a capacidade de organizar seus constituintes estruturais, conhecidos como neurônios, de forma que possa executar alguns processos complexos, como reconhecimento de padrões, percepção e coordenação motora, muitas vezes mais rápido que o computador digital mais rápido existente hoje. Ainda segundo Haykin (1998), o cérebro de um recém-nascido possui uma grande estrutura e a capacidade de definir suas próprias regras através da experiência. Esta experiência é adquirida ao longo do tempo, com a parte mais dramática sendo desenvolvida nos dois primeiros anos de vida. Esta capacidade do cérebro de se adaptar ao meio parece ser essencial para o seu funcionamento. E esta capacidade é uma das características fundamentais de uma rede neural artificial. Freeman e Skapura (1991) definem uma rede neural como uma coleção de processadores paralelos interconectados na forma de um grafo orientado, organizados de tal forma que a estrutura da rede se presta ao problema sendo considerado. Neste grafo os nodos representam os neurônios e os arcos representam as sinapses. Podemos encontrar outra definição em Haykin (1998), segundo o qual uma rede neural é um processador paralelo massivamente distribuído composto de unidades de processamento simples, que é naturalmente propenso a armazenar conhecimento adquirido através de experiências.
7 5 Referências FREEMAN, J. A.; SKAPURA, D. M. Neural Networks: Algorithms, Applications, and Programming Techniques. Reading, Massachusetts: Addison-Wesley, HAYKIN, S. Neural Networks: A Comprehensive Foundation. 2. ed. [S.l.]: Prentice Hall, 1998.