DETECÇÃO DE E-MAILS SPAM UTILIZANDO REDES NEURAIS ARTIFICIAIS



Documentos relacionados
DETECÇÃO DE S SPAM UTILIZANDO REDES NEURAIS ARTIFICIAIS

E por que, mesmo seguindo as melhores práticas, isso acontece?

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Figura 5.1.Modelo não linear de um neurônio j da camada k+1. Fonte: HAYKIN, 2001

Redes Neurais. A IA clássica segue o paradigma da computação simbólica

Arquitetura de Rede de Computadores

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados

Do neurônio biológico ao neurônio das redes neurais artificiais

MANUAL DE BOAS PRÁTICAS

DESENVOLVIMENTO DE UM REPOSITÓRIO DE DADOS DO FUTEBOL BRASILEIRO

3 Qualidade de Software

3 Dicas MATADORAS Para Escrever s Que VENDEM Imóveis

WebMail Manual do cliente

Manual do Usuário. Protocolo

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

3 Estratégia para o enriquecimento de informações

Resolução da lista de exercícios de casos de uso

Etapas da criação de uma campanha de marketing

(eletronic mail )

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores

O primeiro passo é verificar se a pasta Junk está disponível entre as pastas IMAP do usuário:

Política de privacidade do Norton Community Watch

Especificação do Trabalho Prático

agility made possible

Coleção - Análises de marketing em clientes de

Plano de Continuidade de Negócios

Série Manuais. Tudo o que você deve saber sobre SPAM

Trabalho 7 Fila de prioridade usando heap para simulação de atendimento

DIRETORIA DE TECNOLOGIA DA INFORMAÇÃO SETOR DE ESTÚDIO E SUPORTE MANUAL DE UTILIZAÇÃO DO WEBMAIL DA FTC EAD

Manual das funcionalidades Webmail AASP

Entendendo como funciona o NAT

7 Ações para afastar a crise Utilizando o marketing para melhorar suas vendas.

Coleção - Análises de marketing em clientes de

Relatório Trabalho Prático 2 : Colônia de Formigas para Otimização e Agrupamento

Manual do Instar Mail v2.0

MINISTÉRIO DA SAÚDE. Secretária de Gestão Estratégica e Participativa da Saúde SGEP. Coordenação de Desenvolvimento dos Sistemas de Saúde - CDESS

3.1 Definições Uma classe é a descrição de um tipo de objeto.

UNIVERSIDADE FEDERAL DE SANTA CATARINA

Antes de tudo... Obrigado!

Módulo 4. Construindo uma solução OLAP

FERRAMENTAS DE Usada para visualizar s (correio eletrônico).

Computador Digital Circuitos de um computador (Hardware)

Módulo 6 Usando a Internet. Internet. 3.1 Como tudo começou

Algoritmos Estruturas Seqüenciais. José Gustavo de Souza Paiva

Acessando o SVN. Soluções em Vendas Ninfa 2

1. Explicando Roteamento um exemplo prático. Através da análise de uns exemplos simples será possível compreender como o roteamento funciona.

Manual de Utilização do Zimbra

2 Fundamentação Conceitual

TECNOLOGIA WEB Aula 1 Evolução da Internet Profa. Rosemary Melo

Teste de Usabilidade BEEQO. Data Versão do wireframe Descrição

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

5 Mecanismo de seleção de componentes

MANUAL DO ANIMAIL Terti Software

Documento Descritivo do Mecanismo de Busca. Preparação do Portal para indexação

Temas para a Primeira Avalição

4 Experimentos. 4.4 detalha os experimentos com os algoritmos V-Wrapper e NCE. 4.1

4 Avaliação Experimental

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

Disciplina de Redes de Computadores Estudo Dirigido para a Prova II Professor Dr Windson Viana de Carvalho

Interconexão de redes locais. Repetidores. Pontes (Bridges) Hubs. Pontes (Bridges) Pontes (Bridges) Existência de diferentes padrões de rede

Capítulo 13 Pastas e Arquivos

Manual SAGe Versão 1.2 (a partir da versão )

Política de Privacidade do Serviço OurSound para Estabelecimentos

Modelos Pioneiros de Aprendizado

Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo.

Possui como idéia central a divisão de um universo de dados a ser organizado em subconjuntos mais gerenciáveis.

Portal do Projeto Tempo de Ser

O guia completo para uma presença. online IMBATÍVEL!

Fale.com. Manual do Usuário

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE

Ingersoll Rand. Sistema de Automação Série-X

MANUAL DE BOAS PRÁTICAS

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO

02 - Usando o SiteMaster - Informações importantes

Início Rápido para o Templo

APRESENTAÇÃO. questões que constantemente chegam ao Suporte de Informática do Órgão Central.

TÉCNICAS DE PROGRAMAÇÃO

Introdução. Olá! Seja bem-vindo ao manager. O melhor sistema de marketing do mercado.

Trabalho Computacional

Sistemas Distribuídos: Conceitos e Projeto Eleição de Coordenador

Aula 2: Listas e Links

Criar Newsletters. Guia rápido sobre...

Tutorial 7 Fóruns no Moodle

1. Introdução. Avaliação de Usabilidade Página 1

ADDRESS RESOLUTION PROTOCOL. Thiago de Almeida Correia

Redes Neurais Artificiais na Engenharia Nuclear 2 Aula-1 Ano: 2005

Gerenciamento de Recursos para Grades Computacionais Node Control Center. Proposta para o Trabalho de Formatura Supervisionado

Tecnologia de faixa para falha

LGTi Tecnologia. Manual - Outlook Web App. Soluções Inteligentes. Siner Engenharia

Casos de uso Objetivo:

Na Figura a seguir apresento um exemplo de uma "mini-tabela" de roteamento:

Especificação do 3º Trabalho

4. Tarefa 16 Introdução ao Ruído. Objetivo: Método: Capacitações: Módulo Necessário: Análise de PCM e de links

Nettion Security & Net View. Mais que um software, gestão em Internet.

Uso da ferramenta de mailing

Transcrição:

UNIVERSIDADE FEDERAL DE ITAJUBÁ PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA DETECÇÃO DE E-MAILS SPAM UTILIZANDO REDES NEURAIS ARTIFICIAIS JOÃO MARINHO DE CASTRO ASSIS Itajubá, dezembro de 2006

UNIVERSIDADE FEDERAL DE ITAJUBÁ PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA DETECÇÃO DE E-MAILS SPAM UTILIZANDO REDES NEURAIS ARTIFICIAIS JOÃO MARINHO DE CASTRO ASSIS Dissertação submetida ao corpo docente da coordenação dos programas de pós-graduação em Engenharia da Universidade Federal de Itajubá como parte dos requisitos necessários à obtenção do grau de Mestre em Ciências em Engenharia Elétrica. Orientador: Otavio Augusto S. Carpinteiro, PhD. Co-Orientador: Prof. B. Isaías de Lima Lopes, Dr. Banca Examinadora: Prof. Cairo Nascimento, PhD. Prof. Edmilson Marmo Moreira, Dr. Prof. Otavio Augusto S. Carpinteiro, PhD. Prof. B. Isaías de Lima Lopes, Dr. Itajubá, dezembro de 2006

AGRADECIMENTOS Agrade o primeiramente a Deus, que me deu oportunidade vida. A meus orientadores, pela ajuda nas horas mais dif ceis e por sempre acreditarem no trabalho que realizava. A minha fam lia, pelo apoio incondicional. A minha namorada, por estar sempre presente e pela grande ajuda. Amigos e colegas, que me apoiaram e ajudaram em mais esta etapa. Enm, agrade o a todos que, de alguma forma, contribu ram para a realiza ªo desse trabalho. iv

RESUMO O e-mail, a correspondœncia eletr nica da Internet, cresceu sensivelmente nos œltimos anos e, simultaneamente, houve um aumento considerævel no nœmero de e-mails indesejados recebidos pelos usuærios, os spam e-mails. Os spams geralmente contœm publicidade nªo solicitada e, muitas vezes, apresentam informa ıes falsas, sendo invariavelmente postados indiscrimidamente, podendo causar grandes preju zos s pessoas e empresas. Podem-se citar alguns problemas bæsicos com os spams: o desperd cio de largura de banda da rede, a perda de tempo e de produtividade, a perda de e-mails leg timos ou normais, aløm de atrasos no recebimento de mensagens importantes. Diversas solu ıes foram propostas na literatura, porøm muitos resultados sªo algumas vezes inecientes ou limitados na classica ªo de spam e-mails. Muitas vezes apresentam altas taxas de falsos positivos e falsos negativos, que Ø a classica ªo errada de e-mails normais e de spams, respectivamente. A proposta deste trabalho Ø o desenvolvimento de um sistema anti-spam, com maior Œnfase na prø-ltragem dos e-mails. O prø-ltro Ø o responsævel por transformar as informa ıes complexas, presentes em cada mensagem, em informa ıes mais simples e mais uniformes, permitindo um melhor desempenho na classica ªo. Como agente classicador utilizou-se Redes Neurais Articiais, o multi-layer perceptron ou MLP, cuja capacidade de generaliza ªo e adaptabilidade sªo caracter sticas importantes para o problema em questªo. Diferentes møtodos de sele ªo das caracter sticas envolvidas e de modelos de redes v

neurais MLP sªo apresentados na se ªo de resultados, que se mostraram bastante promissores, com casos em que houve 100% de classica ªo correta de e-mails normais e de spams. vi

ABSTRACT The e-mail service has signicantly grown in recent years and also the number of spam e-mails received by the users. A spam e-mail usually contains not requested advertising and it presents false information being sent deliberately. Spams can cause a great worry to people and companies, because they occupy signicant Internet bandwidth and they increase the delay in receiving important messages. Some solutions have been proposed in the literature; however some results are insu cient or limited, for example, the wrong classication of normal e-mails and spam e-mails as false positive or false negative, respectively. The proposal of this work is the development of an anti-spam lter, with an initial selective lter of e-mails. The pre-lter is responsible for transforming the information in the e-mails into consistent characteristic values, with an improvement in the classication process. Articial Neural Networks, the multi-layer perceptron (MLP), were used as classier, whose generalization and adaptations capability has been important for the spam-lter. The MLP architecture has been shown in situations where the lter did not have any incorrect classication of e-mails. vii

CONTE DO LISTA DE TABELAS xii LISTA DE FIGURAS xiv 1 INTRODU ˆO 1 1.1 Descri ªo do problema.......................... 2 1.2 Import ncia do problema......................... 5 1.2.1 Deslocamento de Custo...................... 5 1.2.2 Fraude............................... 6 1.2.3 Desperd cio de Recursos..................... 6 1.2.4 Perda de e-mails leg timos.................... 7 1.2.5 Listas Negras........................... 7 1.3 Solu ıes existentes e problemas..................... 8 1.3.1 MØtodos estæticos......................... 8 1.3.2 MØtodos din micos........................ 9 1.3.3 Problemas com os falsos positivos e falsos negativos...... 12 1.4 Proposta de Solu ªo........................... 13 2 PR -FILTRO E REDES NEURAIS 15 2.1 PrØ-ltro e a Classica ªo de E-mails.................. 15 2.1.1 Descri ªo de um e-mail...................... 15 2.1.2 A informa ªo nos e-mails..................... 16 viii

2.1.3 A import ncia do prø-ltro.................... 17 2.2 Desenvolvimento do prø-ltro...................... 18 2.2.1 "Tokenização" e processamento HTML............. 18 2.2.2 MØtodos utilizados pelos spammers............... 23 2.2.3 Detec ªo de padrıes conhecidos................. 26 2.2.4 Processamento dos e-mails.................... 27 2.2.5 Demais processamentos...................... 29 2.3 Redes Neurais Articiais......................... 29 2.3.1 Neur nio Biol gico........................ 30 2.3.2 Modelo BÆsico de um Neur nio................. 33 2.3.3 Algoritmo de Aprendizagem da Unidade

3.1.1.2 PU1 e PU123A Corpus................. 55 3.1.1.3 SpamAssassin Corpus................. 56 3.1.2 Escolha da Base de Dados.................... 57

4.3.3 MLP com 25 n s de entrada................... 76 4.4 AnÆlise dos Resultados.......................... 77 4.5 Distribui ªo do Software......................... 84 5 CONCLUS ES E TRABALHOS FUTUROS 85 5.1 Trabalhos Futuros............................. 89 AP NDICES A Exemplos de Ofusca ªo dos Spams................... 101 Tags HTML invælidos........................... 101 Uso de imagens com texto........................ 101 Textos invis veis.............................. 102 ComentÆrios HTML........................... 103 Texto redundante............................. 104 B Tags Processados no PrØ-ltro...................... 105 C Exemplos de Processamento do Sistema................. 105 Exemplo de ham............................. 105 Exemplo de spam............................. 107 D Exemplos de Vetores Caracter sticos................... 110 Exemplo 1................................. 110 xi

LISTA DE TABELAS 2.1 Processamento Tags HTML....................... 22 2.2 Tabela Verdade OU-EXCLUSIVO.................... 40 2.3 Conjunto de Treinamento XOR..................... 48 4.1 Experimento 1 - Rede com 6 entradas, DF binærio........... 74 4.2 Experimento 2 - Rede com 6 entradas, qui quadrado binærio..... 75 4.3 Experimento 3 - Rede com 6 entradas, MI binærio........... 75 4.4 Experimento 4 - Rede com 12 entradas, DF binærio.......... 76 4.5 Experimento 5 - Rede com 12 entradas, qui quadrado binærio..... 76 4.6 Experimento 6 - Rede com 12 entradas, MI binærio.......... 76 4.7 Experimento 7 - Rede com 25 entradas, DF binærio.......... 77 4.8 Experimento 8 - Rede com 25 entradas, qui quadrado binærio..... 77 4.9 Experimento 9 - Rede com 25 entradas, MI binærio.......... 77 4.10 Resultados dos experimentos....................... 78 5.1 Exemplos de Vetores Caracter sticos................... 112 xii

LISTA DE FIGURAS 1.1 Estat sticas de spams recebidos e reportados para a SpamCop em Outubro de 2006 [2].............................. 3 1.2 Visªo Geral da Proposta de Solu ªo................... 14 2.1 Exemplo de um e-mail com estrutura MIME multipart........ 17 2.2 Classes do Sistema de PrØ-Processamento................ 19 2.3 Software em Java - PrØ-processamento dos e-mails........... 28 2.4 Imagem de parte do SN humano [32].................. 31 2.5 Estrutura bæsica de um neur nio.................... 32 2.6 Neur nio Articial............................ 34 2.7 Modelagem do Neur nio BÆsico..................... 35 2.8 Outras Fun ıes de Ativa ªo....................... 36 2.9 Perceptron de Rosenblatt......................... 36 2.10 Representa ªo Vetorial da Divisªo em Classes............. 39 2.11 Comportamento do Vetor de Pesos W.................. 40 2.12 Evolu ªo na Classica ªo de Padrıes.................. 41 2.13 S mbolo da Fun ªo L gica OU-EXCLUSIVO.............. 41 2.14 Fun ªo OU-EXCLUSIVA no Espa o Bidimensional.......... 42 2.15 Novo Modelo Multicamadas....................... 44 2.16 Fun ªo L gica XOR - Impossibilidade de Separa ªo Linear...... 48 2.17 Rede Treinada para Fun ªo L gica XOR................ 49 xiii

2.18 MLP com 3 perceptrons......................... 50 2.19 Regiªo de Decisªo: combina ªo de 2 perceptrons............ 51 2.20 Perceptrons como Classicadores.................... 51 3.1 Programa em Java - Gera ªo do Vetor Caracter stico......... 67 4.1 Compara ıes com Filtros Baseline ( = 1)............... 80 4.2 Compara ıes entre Filtros ( = 9).................... 81 4.3 Compara ıes entre Filtros ( = 999).................. 82 5.1 Exemplo de Spam com HTML em branco................ 102 5.2 Exemplo de spam com texto invis vel.................. 103 5.3 Exemplo de spam com o texto invis vel selecionado.......... 104 xiv

CAP TULO 1 INTRODU ˆO Nos œltimos anos, a Internet tem cado cada vez mais presente na vida das pessoas. Diversos tipos de servi os e utilidades, aløm de uma gama de informa ıes, sªo ofertadas. Dentre os servi os oferecidos, tem-se o correio eletr nico ou e-mail, que Ø uma forma de mensagem eletr nica enviada a um ou mais destinatærios. medida que a Internet cresceu, o e-mail tornou-se uma ferramenta popular, tendo o seu uso foi generalizado. Assim qualquer pessoa com acesso Internet pode ter uma conta de e-mail de fæcil uso - existem diversos servi os gratuitos oferecidos por provedores 1. Com a populariza ªo do servi o, o correio eletr nico passou a ser utilizado como ve culo de publicidade indesejada. Assim, enviar e-mails de propagandas indesejados tornou-se uma mania presente na correspondœncia eletr nica. Este tipo de e-mail Ø chamado de spam e-mail (ou junk mail, bulk mail e unsolicited commercial e-mail). um nome geral para indicar todas estas mensagens indesejadas, postadas indiscriminadamente 2 para milhares de destinatærios. Os tipos de spams sªo variados, dentre os quais podem ser citados: publicidade de sites pornogræcos, propagandas de dinheiro fæcil e nanciamentos, aløm de medica ıes dos mais variados tipos. Em contrapartida, os e-mails normais ou leg timos que trafegam pela rede sªo 1 Alguns servi os de e-mail dispon veis gratuitamente sªo: Yahoo (http://mail.yahoo.com.br), Hotmail (http://www.hotmail.com) e Gmail (http://mail.google.com/mail) 2 Isto Ø, sem saber quem sªo os destinatærios. 1

denominados de ham e-mails. 1.1 Descri ªo do problema A quantidade de spams recebidos varia muito de pessoa para pessoa e depende de algumas informa ıes, como o endere o de e-mail, a sua exposi ªo na rede 3, o tempo de existœncia e a sua publicidade em rede. AlØm disso, o volume de spams varia de acordo com a Øpoca do ano [1]. No ano de 2002 foram criados servidores proxy e relay abertos 4, e o nœmero de spams aumentou drasticamente. Estes servidores nªo oferecem prote ªo em rela ªo detec ªo de spams, e com isto houve um surto na quantidade de spams trafegados. Em rela ªo quantidade de e-mails normais ou hams, a variabilidade Ø individual, ou seja, de acordo com os critørios de cada pessoa. A gura 1.1 mostra a varia ªo do nœmero de spams reportados em um servi o especializado, o SpamCop [2]. O Spam- Cop Ø usado por muitas pessoas para ltrar spams e tambøm para enviar reclama ıes aos originadores de spams. A grande maioria dos spams contœm informa ıes falsas, e de acordo com Cournane e Hunt [3], a Comissªo Federal de ComØrcio dos Estados Unidos prevœ que dois entre trœs spams contenham informa ıes enganosas de algum tipo, como endere o falso de retorno, assunto nªo condizente com a mensagem e propaganda sobre produtos questionæveis e ilicitudes na consecu ªo de recursos nanceiros, etc. Desta forma os spams podem ser bastante prejudiciais caso o usuærio acredite nas informa ıes que o 3 Por exemplo, se o e-mail foi colocado em alguma pægina da Internet, o mesmo pode ter sido capturado por alguma ferramenta de busca usada por spammers - enviadores de spams. 4 Isto Ø, que nªo exigem registro dos seus usuærios. 2

Figura 1.1: Estat sticas de spams recebidos e reportados para a SpamCop em Outubro de 2006 [2] 3

e-mail contenha. Os spams podem causar preju zos s pessoas e s empresas, na medida que se aumenta a quantidade de e-mails circulando nas redes de computadores [1] [8] [9]. Evett publicou um resumo estat stico [4] que mostra dados alarmantes sobre a quantidade de spams circulando na Internet 5. A partir de um levantamento de fontes conæveis, obteve-se as seguintes informa ıes: 40% eram e-mails spams; 12,4 bilhıes de spams enviados diariamente, com uma mødia de 6 spams recebidos por pessoa; Custo operacional de U$ 255 milhıes para usuærios nªo corporativos; Custo operacional de U$ 8,9 bilhıes para usuærios corporativos; De 20% a 25% dos e-mails recebidos nas empresas eram spams; O tempo perdido para cada spam nas empresas era de 4 a 5 segundos; Estimativa de crescimento de 63% no nœmero de spams para o ano de 2007. Em 1998 [5], a quantidade de spams era de aproximadamente 10% de todos os e-mails enviados e este nœmero teve um aumento para 40%. Portanto, observa-se a seriedade do problema e a necessidade preventiva no tratamento do træfego de e- mails. Os problemas abordados atø o momento serªo tratados com maiores detalhes nas pr ximas se ıes. 5 Em Outubro de 2006 4

1.2 Import ncia do problema Os spams causam uma sørie de problemas tanto para os usuærios individuais quanto para as empresas. Pode-se citar dentre eles: enchimento das caixas de correio eletr nico (fazendo com que o usuærio perca mensagens leg timas e relevantes, descartadas por falta de espa o), desperd cio de recursos de rede, perda de tempo por parte dos usuærios (conseq ente perda de produtividade em ambiente corporativo), divulga ªo de pornograa, entre outros. Cournane e Hunt zeram uma compila ªo dos problemas causados pelos spams em [3], que serªo listados a seguir. 1.2.1 Deslocamento de Custo Os custos de envio de spams sªo baixos para o spammer. Com uma conexªo por um modem de 56 Kbps, atø milhares de e-mails podem ser enviados por hora. E quem paga o custo de recebimento Ø o usuærio nal, que jæ custeia a conexªo com a Internet. O custo causado pelo spam pode ser medido de diversas formas. Entre elas, a mais comum e simples Ø a medi ªo do træfego no envio e recebimento de spams, principalmente quando se cobra pelos dados trafegados. Este desperd cio de recursos Ø altamente indesejævel e precisa ser eliminado. Para os provedores de Internet (ISPs), os spams sªo um grande problema, jæ que os servidores de e-mail perdem tempo com o envio e cam sobrecarregados. Assim as mensagens leg timas (prioritærias) podem demorar a ser entregues, uma vez que o servidor estæ ocupado no envio de spams. Os provedores de Internet podem, neste 5

caso, repassar os custos causados pelos spammers ao usuærio nal na forma de uma conexªo mais lenta ou pre os mais altos. Isto Ø chamado de deslocamento de custo. 1.2.2 Fraude Como os spams sªo indesejados, os spammers usam tæticas fraudulentas para que suas mensagens sejam abertas pelo usuærio nal de qualquer forma. Uma das tøcnicas utilizadas Ø alterar o assunto da mensagem para algo que nªo seja relacionado com spams. Encaminhamento fraudulento de mensagens tambøm Ø usado para mascarar o originador do spam. Neste caso, o spam Ø enviado para um servidor de encaminhamento (relay) de terceiros ou an nimo que foi congurado para encaminhar a mensagem para destinatærios escolhidos pelo spammer. Este Ø um t pico caso de mascaramento, com a impossibilidade de se descobrir a origem do spam. E reclama ıes podem ser enviadas para o servidor de encaminhamento em vez da verdadeira origem. Assim, o spammer evita a responsabilidade pelos custos envolvidos e mantøm-se an nimo. 1.2.3 Desperd cio de Recursos O congestionamento do træfego na Internet sempre foi um problema sørio. Mensagens enviadas para milhares de destinatærios podem causar grandes congestionamentos nos roteadores e redes intermediærias, antes de serem entregues ao destino nal. As las de entradas de pacotes dos roteadores acabam cando lotadas pela incapacidade de lidar com o enorme uxo de dados, gerando grandes atrasos no funcionamento normal das redes envolvidas. Assim e-mails ham podem demorar a chegar 6

ao destino e, aløm disso, outras funcionalidades da Internet cam prejudicadas. Isto ocorre porque os roteadores trabalham sobre a lei do "melhor esfor o", isto Ø, fazem o poss vel para entregar os dados que recebem, inclusive os spams, tratados como dados normais. Os efeitos sªo vis veis aos usuærios nais na forma de atrasos na navega ªo e no recebimento de e-mails. Com o aumento da quantidade de spams, os problemas de congestionamento tendem a aumentar. 1.2.4 Perda de e-mails leg timos Algumas contas de e-mail contœm espa o de armazenamento limitado. Antigamente este problema era mais sørio, jæ que o espa o era de poucos megabytes. Desta forma, os spams podem encher o espa o que poderia ser usado para os hams e-mails. Quando o limite Ø atingido, os novos e-mails que chegam sªo descartados pelo servidor, podendo causar sørios preju zos. 1.2.5 Listas Negras Alguns provedores de Internet estªo implementando as chamadas listas negras 6. Estas listas contœm endere os de e-mails ou atø mesmo dom nios relacionados prætica de spam. Os provedores as utilizam na tentativa de reduzir o volume de træfego de spams que circula em suas redes. O problema com estas listas Ø que algumas delas 7 bloqueiam completamente um dom nio, nªo apenas o endere o que envia o spam. Assim, usuærios deste dom nio tœm 6 Exemplos de listas negras podem ser encontradas em http://spamlinks.net/ lter-bl.htm 7 A lista MAPS RBL group Ø conhecida por fazœ-lo [3]. 7

seu e-mail bloqueado, mesmo nªo sendo spammers, o que Ø altamente prejudicial. 1.3 Solu ıes existentes e problemas Muitos møtodos jæ foram propostos para tratar o problema dos spams, mas eles nªo sªo completamente satisfat rios. Conforme zg r, G ng r e G rgen [5], os møtodos podem ser divididos em duas categorias principais: estæticos e din micos. As caracter sticas, solu ıes propostas e problemas encontrados em cada uma das categorias serªo tratados nesta se ªo. 1.3.1 MØtodos estæticos Os møtodos estæticos tœm como principal caracter stica a necessidade de interven ªo humana para realizar a tarefa de ltragem. Normalmente sªo baseados em listas que o usuærio cria ao reportar um e-mail como spam. Assim, o seu servidor de e-mail (ou mesmo gerenciador de e-mail 8 ) bloqueia ou apaga diretamente estas mensagens sem que o usuærio saiba. O problema com este møtodo Ø que os spammers conhecem as solu ıes e sempre mudam o endere o de envio. Desta forma, sempre chegam spams novos na caixa do usuærio. Outro møtodo implementado Ø o bloqueio de mensagens que nªo fazem parte da lista de contatos do usuærio. Assim, se uma mensagem chega de uma fonte desconhecida, ela Ø tratada como spam. O servidor envia uma mensagem ao originador noticando que a sua mensagem foi bloqueada. O usuærio recebe uma notica ªo de mensagem bloqueada, podendo recebœ-la caso queira. Este sistema Ø adotado pelos 8 Gerenciador (ou cliente) de e-mail Ø o programa responsævel por carrregar as mensagens do servidor e disponibilizæ-las ao usuærio. 8

servidores de e-mail do UOL e BOL, por exemplo. Esta solu ªo tambøm nªo Ø ecaz, jæ que mensagens importantes podem ser tratadas como spam, e os spammers tambøm conseguem burlar esta prote ªo (simplesmente conrmando o e-mail enviado pelo servidor de destino, assim a mensagem Ø enviada ao usuærio). Finalmente, existem solu ıes que se baseiam na anælise do assunto e de outros campos do cabe alho do e-mail. O usuærio pode criar ltros especiais no seu gerenciador de e-mails, ou seja, quando certas palavras ocorrerem, a mensagem Ø tratada como spam e, pode ser apagada ou movida para uma pasta especial para anælise posterior. 1.3.2 MØtodos din micos Os møtodos mais complexos e ecazes sªo din micos por natureza. A principal caracter stica destes møtodos Ø que levam em considera ªo o conteœdo dos e-mails e realizam tomada de decisªo com base em tais conteœdos. A maioria dos møtodos din micos usa tøcnicas de classica ªo de textos baseada em inteligœncia articial, isto Ø, møtodos onde a mæquina "aprende" a classicar as mensagens nas duas categorias existentes. O classicador Ø constru do automaticamente a partir de uma base de dados, onde e-mails coletados foram anteriormente classicados em spam e ham. Este processo Ø chamado de treinamento indutivo da mæquina, e o classicador analisa documentos ainda nªo vistos baseado no aprendizado adquirido. Este treinamento tambøm Ø conhecido como supervisionado. Dentre os møtodos din micos, podem ser citados: 9

Algoritmos Naive Bayesian - o seu uso Ø bastante comum em problemas de classica ªo de textos, assim como em ltros anti-spam. A idøia bæsica Ø usar a probabilidade na estimativa de uma dada categoria presente em um documento ou texto. Naive em inglœs quer dizer ingœnuo, sem conhecimento. No caso deste møtodo, naive Ø usado porque o modelo assume que existe independœncia entre as palavras, isto Ø, a probabilidade de ocorrer uma palavra nªo depende da existœncia de outra(s). Assumindo isto, o cælculo computacional deste classicador Ø mais simples, o que torna o ltro eciente e ræpido quando comparado a outros møtodos bayesianos nªo naive, onde a complexidade Ø exponencial. Esta solu ªo jæ foi mostrada nos trabalhos de zg r, G ng r e G rgen [5], Androutsopoulos et al. [17] e Zhang et al. [20], e jæ Ø utilizada em alguns programas, como por exemplo, o gerenciador de e-mail Mozilla Thunderbird 9 ; Support Vector Machine (SVM) - SVMs sªo conjuntos de møtodos de treinamento supervisionados utilizados para classica ªo e regressªo. Pertencem a uma fam lia de classicadores lineares generalizados. Tem como propriedade especial minimizar simultaneamente o erro na classica ªo emp rica e maximizar a divisªo geomøtrica entre as classes. Assim, tambøm Ø conhecido como classicador com margem mæxima (maximum margin classi er). O SVM jæ foi usado por Zhang et al. [20], Drucker, Wu e Vapnik [29] e Hidalgo [33]; K-Nearest Neighbour (k-nn) - Ø um møtodo usado para reconhecimento de padrıes. A idøia bæsica Ø que, dado um documento qualquer na entrada, o sis- 9 Mais detalhes do ltro podem ser obtidos em http://wiki.mozilla.org/thunderbird2:junkmail 10

tema dæ uma pontua ªo para seus vizinhos mais pr ximos entre os documentos de treinamento, e usa as categorias dos k documentos com maior pontua ªo para adivinhar a categoria do documento de entrada. Os pesos das categorias s quais os vizinhos pertencem sªo entªo ajustados, usando pontua ıes pr ximas, e a soma total da pontua ªo dos k vizinhos mais pr ximos Ø usada para classicar documentos. Se mais de um vizinho compartilha a mesma categoria, entªo as pontua ıes sªo totalizadas para produzir um peso. Este møtodo resulta na produ ªo de uma lista de categorias propostas para o documento que estæ sendo testado na entrada. O k-nn Ø usado por Yang e Pedersen [24]; Boosting trees - o prop sito Ø encontrar uma regra de classica ªo precisa, fazendo combina ıes de værias hip teses de base, que sªo pouco precisas. Um algoritmo particular Ø chamado de AdaBoost. relativamente novo, foi proposto por Freund e Schapire em 1996. Esta versªo Ø util na classica ªo em categorias simples. Ele mantøm um conjunto de pesos representativos para os padrıes de treinamento. Tais pesos sªo usados no algoritmo de aprendizagem, cujo objetivo Ø buscar uma hip tese de base com erro relativamente baixo em compara ªo aos pesos. Assim, o algoritmo usa estes pesos para for ar o møtodo de aprendizagem a concentrar-se nos exemplos de mais dif cil classica ªo. O AdaBoost Ø usado por Zhang et al. [20] e Carreras e Marquez [21]; Aprendizado baseado em mem ria - Ø um møtodo de aprendizado indutivo que armazena dados de treinamento em uma estrutura de mem ria na qual predi ıes sobre novos dados sªo baseadas. O møtodo assume que o ato de raciocinar Ø 11

baseado diretamente na reutiliza ªo de experiœncias armazenadas em vez do conhecimento adquirido (como regras ou Ærvores de decisªo). Novos dados sªo classicados estimando a similaridade com os exemplos armazenados. Normalmente a classica ªo Ø feita usando uma varia ªo do algoritmo bæsico do k-nn. Este møtodo Ø usado por Sakkis e Androutsopoulos et al. [19] e Zhang et al. [20]. AlØm destas propostas apresentadas, existe tambøm a utiliza ªo das redes neurais articiais como classicadoras, que serªo apresentadas no cap tulo 2. Todas estas solu ıes apresentaram resultados que foram considerados bons. Entretanto, a taxa de falsos positivos sempre foi alta, o que nªo Ø bom para o usuærio nal, conforme seræ explicado a seguir. 1.3.3 Problemas com os falsos positivos e falsos negativos A classica ªo de e-mails enfrenta um grave problema, que Ø a classica ªo incorreta de mensagens leg timas. O falso positivo ocorre quando um ham Ø classicado erroneamente como um e-mail spam. O inverso, ou seja, um spam classicado como e-mail leg timo, tambøm ocorre, e Ø chamado de falso negativo. Quando um usuærio recebe na sua caixa de entrada de e-mails um spam (falso negativo), o problema nªo Ø grave, ele pode simplesmente apagar a mensagem. Agora, se o mesmo usuærio tem uma mensagem leg tima classicada como spam, e esta Ø movida para uma pasta exclusiva, surge a um problema ainda mais grave: o usuærio pode simplesmente apagar as mensagens da pasta, sem ver o conteœdo, o que seria 12

bastante prejudicial. O falso positivo faz com que o usuærio sempre esteja vericando a pasta de spams regularmente, tentando encontrar mensagens erroneamente classicadas. O pior caso ocorre quando o servidor ou gerenciador de e-mail apaga automaticamente a mensagem. Desta forma, os falsos positivos sªo altamente indesejæveis, e devem ser evitados a qualquer custo. Os falsos negativos, apesar de nªo tªo graves, tambøm devem ser diminu dos. Existem na literatura værios trabalhos sugerindo a utiliza ªo de modelos estat sticos [5] [17] [20] e de modelos baseados em redes neurais [5] [28] [29]. PorØm, em ambos os casos, os ltros anti-spam compartilham do mesmo problema, ou seja, a alta quantidade alta de falsos positivos e falsos negativos [10]. Outrossim, os møtodos apresentados na se ªo 1.3.2 apresentam problemas com a alta taxa de falsos positivos e falsos negativos. 1.4 Proposta de Solu ªo Este trabalho tem duas propostas principais. A primeira proposta Ø a utiliza ªo de redes neurais como classicador de e-mails hams e spams. As redes neurais tœm sido extensivamente aplicadas no reconhecimento de padrıes, assim como em diversos outros problemas de classica ªo em diferentes categorias [7]. AtravØs do aprendizado indutivo, as redes neurais estabelecem fun ıes que mapeiam um conjunto de entradas em um conjunto de sa das durante o treinamento [11]. A maior vantagem, no entanto, Ø o fato das redes neurais serem capazes de generalizar, ou seja, produzir resultados corretos para padrıes nunca antes apresentados, atravøs 13

Figura 1.2: Visªo Geral da Proposta de Solu ªo do mapeamento suave entre as entradas e as sa das [11]. A segunda proposta, Ø a realiza ªo de um intensivo prø-processamento de dados, com o desenvolvimento de um prø-ltro avan ado para o tratamento da base de dados e aplica ªo de diferentes møtodos de sele ªo de caracter sticas. O uso destes møtodos simplica a tarefa da rede neural em classicar os e-mails em hams e spams, garantindo uma maior precisªo. Esta proposta Ø inødita e, Ø o diferencial deste trabalho comparado aos outros jæ realizados. O sistema funcionaræ como representado na gura 1.2: o prø-ltro realiza o prøprocessamento em cada e-mail e a rede neural articial Ø responsævel por classicar os dados do prø-ltro, indicando se o e-mail da entrada Ø spam ou nªo. O presente trabalho Ø dividido da seguinte forma: o cap tulo 2 explicaræ em detalhes a necessidade e o desenvolvimento do prø-ltro e a descri ªo da arquitetura da rede neural utilizada; o cap tulo 3 apresentaræ a base de dados escolhida e a sele ªo das caracter sticas relevantes. TambØm seræ explicada a obten ªo do vetor caracter stico, que Ø a entrada da rede neural; no cap tulo 4 serªo mostradas as medidas de desempenho, assim como os experimentos e os resultados obtidos. Finalmente, o cap tulo 5 traræ as conclusıes sobre o trabalho proposto e suas contribui ıes, bem como sugestıes para trabalhos futuros. 14

CAP TULO 2 PR -FILTRO E REDES NEURAIS O prø-ltro Ø um software desenvolvido para processar e-mails, tornando-os mais simples e uniformes, com a elimina ªo de partes desnecessærias, transformando o conteœdo abrangente e representativo. O prø-processamento deve ser realizado tanto em textos quanto em imagens e anexos dos e-mails. Este cap tulo Ø dedicado ao desenvolvimento do prø-ltro, porøm traræ uma introdu ªo sobre a aplica ªo de Redes Neurais no trabalho. 2.1 PrØ-ltro e a Classica ªo de E-mails Para entender a necessidade da prø-ltragem dos dados Ø preciso apresentar a estrutura de um e-mail, como Ø feito a seguir. 2.1.1 Descri ªo de um e-mail Um e-mail Ø composto de duas partes: o cabe alho (header) e o corpo (body). O cabe alho Ø constitu do de værios campos, apresentados no formato: nome_do_campo: conteúdo do campo Cada campo ocupa uma linha. Um cabe alho t pico apresenta o remetente, o destinatærio, data, horærio e assunto do e-mail. 15

O corpo do e-mail contøm a informa ªo a ser transmitida, que pode conter textos e anexos. A informa ªo textual pode vir na forma de texto plano 1, exibido na forma em que estæ, nªo havendo qualquer processamento antes de sua exibi ªo. Outra forma comum Ø o texto HTML 2 (text/html), que contøm diretivas ou tags espec cas para apresenta ªo do e-mail de maneira adequada. O corpo do e-mail pode utilizar uma extensªo especial chamada MIME [27], que estende a capacidade do e-mail, permitindo a inclusªo de textos diferentes do padrªo ASCII, de imagens e outros tipos de anexos. um formato bem ex vel que permite a inclusªo de qualquer tipo de arquivo em uma mensagem de e-mail. Um cabe alho MIME Ø inclu do antes de cada conteœdo MIME, apresentando o seguinte formato: tipo:sub-tipo Exemplos de cabe alhos MIME: Exemplo 1 Content-type: audio/wav Exemplo 2 Content-type: text/plain Existe ainda o MIME chamado multipart. Um conteœdo multipart pode possuir outros tipos MIME. Assim, os e-mails podem apresentar a estrutura de uma Ærvore, que precisa ser processada recursivamente, conforme o exemplo da gura 2.1. 2.1.2 A informa ªo nos e-mails A informa ªo presente em um e-mail estæ contida tanto nos cabe alhos, quanto no corpo propriamente dito. Ela estæ nas palavras, na forma e disposi ªo das mesmas, 1 Texto inclu do sem diretivas de formata ªo, como por exemplo um texto em negrito ou itálico. 2 HyperText Markup Language 16

Figura 2.1: Exemplo de um e-mail com estrutura MIME multipart no tipo de conteœdo e forma como sªo apresentados, e tambøm nos anexos.

ter sticas de spam que nªo seriam identicæveis sem o prø-processamento, conforme seræ visto nas pr ximas se ıes. TambØm se pode eliminar informa ıes irrelevantes e facilitar o treinamento da rede, tornando a classica ªo mais ræpida. Um prøprocessamento otimiza a qualidade dos dados e a rede neural pode se tornar mais eciente, conforme seræ visto na se ªo de resultados. 2.2 Desenvolvimento do prø-ltro Foi desenvolvido um pacote computacional em Java, responsævel por realizar todo o processamento dos e-mails para a obten ªo dos dados de entrada da rede neural. A gura 2.2 representa as classes presentes e uma breve descri ªo das mesmas. A primeira classe, MessageInterface, Ø reponsævel por acessar os arquivos de e-mails gravados em dado local do computador, tambøm permitindo que os e-mails alterados sejam gravados ap s as altera ıes do prø-ltro. A classe ProcessaMensagens Ø responsævel por abrir os e-mails e acessar suas diferentes partes (cabe alhos, corpo e anexos), inclu ndo os conteœdos MIME citados na se ªo 2.1.1. A classe TokenSubst foi criada para separar as palavras encontradas no corpo dos e-mails e enviæ-las classe DetectaPadroes. Ambas serªo explicadas em mais detalhes ao longo desta se ªo. 2.2.1 "Tokenização" e processamento HTML A classe de tokenização 3 TokenSubst faz parte do nœcleo principal de processamento dos e-mails, junto com a classe DetectaPadroes. Ambas sªo responsæveis pela 3 "tokenizar", do inglœs, tokenize, quer dizer dividir algo em partes menores, chamados tokens. 18

Figura 2.2: Classes do Sistema de PrØ-Processamento 19

qualidade do processamento do prø-ltro. A classe TokenSubst recebe como entrada um texto, que pode ser simples ou HTML. Quando o texto Ø simples, o processamento Ø feito apenas separando o texto recebido nos chamados tokens, ou seja, em simples palavras. As palavras sªo enviadas para a classe DetectaPadroes, que realiza processamentos para encontrar padrıes t picos de e-mails spams, e tambøm padrıes invælidos, conforme seræ descrito na se ªo 2.2.3. Para a separa ªo das palavras foram utilizados como caracteres delimitadores: Espa o; Nova linha; Tabula ªo; Exclama ªo; Interroga ªo; V rgula; Ponto-e-v rgula. O processamento de texto HTML Ø mais complexo. O formato HTML permite adicionar værios par metros de formata ªo de texto, inclusªo de tabelas, hyperlinks, imagens, informa ıes multim dia, entre outros. Estas informa ıes sªo adicionadas por meio de elementos chamados tags, no seguinte padrªo: 20

<nome_do_tag parâmetro1=valor1 parâmetro2=valor2>texto do tag</nome_to_tag> Podem haver varia ıes, como tags que nªo contœm par metros e textos, aløm de tambøm existir tags inseridas dentro de outras tags. Assim, o algoritmo de processamento deve ser capaz de analisar todos estes casos e produzir uma sa da sem que haja perda de informa ªo œtil. Uma das principais propostas deste trabalho foi o aproveitamento de quase toda a informa ªo das tags presentes nos spams HTML, ao contrærio de outras propostas, onde toda a informa ªo HTML sempre Ø descartada [17] [19] [20] [28], ou parcialmente descartada [23]. Propıe-se que tags apresentem padrıes t picos tanto para spams, quanto de hams - sem descarte. Algumas tags HTML sªo consideradas importantes na detec ªo de spams (html, src, script, href ), jæ que estas especialmente contœm imagens, links e scripts. AlØm disso, o uso de HTML Ø caracter stica t pica de e- mails spams [23], cuja a detec ªo Ø mais complexa. Cabe ressaltar que tambøm hæ e-mails hams em HTML. Assim, foi proposta a divisªo das tags em trœs categorias distintas, cada uma com um tipo de processamento especial. A tabela 2.1 representa algumas das tags e suas respectivas categorias. Na primeira categoria tudo Ø ignorado, isto Ø, o nome da tag, seus par metros e conteœdos. Neste caso, supıe-se que a informa ªo presente seja irrelevante. Desta forma, o bloco HTML <STYLE TYPE="text/css" MEDIA="screen, print, projection"></style> 21

Tag Categoria Tag Categoria a 3 html 2 abbr 2 i 2 acronym 2 img 3 b 2 input 3 base 3 ins 2 body 2 label 2 br 2 li 2 button 3 map 3 caption 2 marquee 1 col 2 ol 2 comment tag 1 option 2 del 2 p 2 font 3 style 1 form 3 table 2 frame 2 textarea 2 h1-h6 2 title 1 head 2 tr 2 hr 2 var 2 Tabela 2.1: Processamento Tags HTML Ø totalmente descartado durante o prø-processamento. As tags da segunda categoria tœm seus atributos removidos durante o prø-processamento. A tag em si Ø substitu da por outra espec ca, composta dos caracteres "!_in_" mais a tag. O texto HTML "<label for="e-mail">e-mail address</label>" Ø substitu do por "!_in_label e-mail address", por exemplo. Na terceira e œltima categoria, a tag Ø processada integralmente. Neste caso o nome da tag, os par metros e o conteœdo sªo utilizados e adicionados sa da, como o exemplo, onde o bloco HTML "<form action="results.php"> conteúdo </form>" Ø transformado em "!_in_form action conteudo" durante o prø-processamento. vælido observar que o conteœdo dentro de uma tag da terceira categoria tambøm Ø prø-processado, porque possui conteœdo HTML. A listagem de todas tags utilizadas 22

estæ presente no apœndice B. O texto HTML, ap s a fase descrita acima, jæ estæ pronto para ser processado, como o texto plano que foi citado anteriormente. A classe TokenSubst realiza em cada token a transforma ªo em caracteres minœsculos e a retirada dos caracteres acentuados, para melhorar a uniformiza ªo dos dados. Ap s isto, os tokens sªo passados para a classe DetectaPadroes, que ajuda na detec ªo de outros padrıes t picos que podem ser utilizados em spams, conforme seræ explicado posteriormente na se ªo 2.2.3. 2.2.2 MØtodos utilizados pelos spammers Com o passar do tempo, os møtodos utilizados pelos spammers se tornaram bastante sosticados nas tentativas de enganar os ltros anti-spam. Existem alguns padrıes que sªo conhecidos por serem utilizados em spams [1] [3]. Os primeiros spams que surgiram utilizavam assuntos como "GANHE DINHEIRO F`CIL", ou os destinatærios eram ocultos [1]. Este tipo de spam foi facilmente detectado e separado dos hams utilizando-se simples ltros de cabe alho, com regras simples, do tipo: "se o assunto contøm a palavra dinheiro, mova para a pasta de spams". Outro møtodo simples para detec ªo era procurar no corpo das mensagens por palavras t picas, como "viagra" ou "money". Assim, os spammers perceberam a necessidade de utilizar tøcnicas para enganar estes ltros e fazer com que suas mensagens fossem lidas pelos destinatærios. Eles come aram a utilizar tøcnicas mais avan adas, como: 23

Esconder palavras chaves com caracteres inválidos. Neste caso, as pessoas sªo capazes de ler e identicar o que o spammer quer, mas conseguem facilmente enganar os ltros mais simples. Exemplo: "v.ia.g.ra", "M O N E Y", "j-o*b f-or y.o.u". Uso de tags HTML inválidas. Com o uso de tags HTML invælidas, os spammers podem fazer com que textos considerados hams sejam processados pelo ltro, sendo exibidos no e-mail. Assim, com o uso de palavras consideradas normais, os spammers conseguem enganar os ltros que levam em considera ªo o "peso" das palavras, como os ltros bayesianos [3]. Um exemplo pode ser encontrado no apœndice A. Uso de texto invisível. O spammer neste caso esconde o texto considerado leg timo dentro da mensagem, para que enganem o ltro, da mesma forma que o caso anterior. O texto nªo Ø exibido pelo gerenciador de e-mail. TrŒs exemplos de texto invis vel sªo mostrados no apœndice A. Uso de imagens com texto. uma tøcnica que envolve o envio de mensagens onde o spam estæ contido em uma imagem e nªo no texto do e-mail (que pode vir em branco ou com texto considerado leg timo para enganar ltros). Desta forma, o conteœdo do spam nªo pode ser ltrado pelos ltros anti-spam convencionais (pois necessitaria-se de muitos recursos computacionais, aløm do uso de inteligœncia articial na detec ªo de textos, caso sejam camuados 4 na men- 4 Camuado para um reconhecedor de caracteres comum (OCR), jæ que Ø leg vel ao ser humano. 24

sagem). As mensagens podem ter uma ou mais imagens, ou links HTML para as mesmas. Um exemplo deste caso pode ser encontrado no apœndice A. Uso de comentários HTML. Como muitos ltros anti-spam usam dicionærios de palavras chaves em spams, os spammers podem esconder palavras usando comentærios HTML ou outras tags que serªo removidas pelo gerenciador de e-mail na exibi ªo. Assim a palavra Ø exibida corretamente e o ltro Ø enganado. Para um melhor entendimento desta tøcnica, um exemplo Ø mostrado no apœndice A. Uso de texto redundante. Com o uso das extensıes MIME, Ø poss vel enviar o texto HTML e plano ao mesmo tempo (o que foi feito no in cio por questıes de compatibilidade com os gerenciadores de e-mail antigos), que nªo exibiam mensagens HTML. Nos gerenciadores atuais, o texto HTML Ø exibido por padrªo, caso os dois tipos estejam presentes. Assim, o spam Ø colocado na parte HTML e um texto ham qualquer Ø colocado na outra parte. Como os ltros mais comuns nªo fazem distin ªo, as duas partes sªo processadas e o e-mail Ø considerado ham. Um exemplo ilustrando este caso Ø encontrado no apœndice A. Uso de acentuação incorreta. O uso de acentua ªo de forma invælida tambøm pode enganar os ltros que nªo retiram a acentua ªo para fazer a verica ªo, como por exemplo, "TrÆb lhe Łm cªsa, gaæhe mßito dinhe ro". Nota-se que a tarefa de identicar corretamente um spam tornou-se complexa e um ltro eciente deve saber lidar com todas estas formas de camuagem utilizadas. Por esta razªo, foi desenvolvida a classe DetectaPadroes, que seræ descrita a seguir. 25

2.2.3 Detec ªo de padrıes conhecidos A classe DetectaPadroes foi desenvolvida para permitir ao prø-ltro detectar padrıes de texto conhecidos e utilizados por spammers e tambøm para unicar outros padrıes, permitindo que dados de certo tipo (como um link) tenham uma sa da œnica ap s o processamento. A classe detecta os seguintes padrıes: XXX = YYY. utilizado para unicar os valores de sa da quando Ø processado um par metro de uma tag HTML. Exemplo: "<table color=blue>", a sa da seria "!_table color" somente. Assim, se houvesse outro caso como "<table color=red>" a sa da seria a mesma, permitindo maior uniformiza ªo; E-mails. Toda referœncia a um endere o de e-mail encontrado na mensagem Ø uniformizado na sa da. Exemplo: a frase "Mande e-mail para compreaqui@loja.com.br" caria "mande e-mail para!_e-mail". Qualquer tipo de endere o e-mail Ø colocado na sa da como "!_e-mail"; URLs ou hyperlinks. Assim como no caso de e-mails, qualquer hyperlink tem como sa da "!_link"; Caracteres inválidos no meio de palavras. Os caracteres encontrados no meio das palavras sªo detectados e qualquer palavra com este padrªo Ø substitu da na sa da por "!_HIDEWORDS". Exemplo: ".M.0-N-E_Y" Ø detectada como "_HIDEWORDS"; Palavras muito grandes. Palavras muito grandes, normalmente sem sentido 26

algum e apenas usadas para enganar ltros, sªo detectadas e na sa da Ø colocada uma palavra padrªo indicando a ocorrœncia destes casos; Números ou strings inválidas no sujeito. Nœmeros ou strings invælidas colocadas ap s o sujeito sªo uma das tøcnicas usadas para burlar ltros. O programa detecta estas strings e coloca na sa da uma string padrªo "!_NUMERO_SUBJECT". Exemplo: "Get the best Life can o er you @e90jaakdfd". A sa da seria "get the best life can o er you!_numero_subject"; Dinheiro e porcentagem. Da mesma forma que nos casos anteriores, qualquer ocorrœncia de quantidades monetæria e porcentagem sªo transformadas na string "!_MONEY" e "!_PORCENTAGEM", respectivamente. Assim, com a uniformiza ªo, os padrıes sªo mais facilmente reconhecidos pela rede neural, jæ que o nœmero de entradas da mesma Ø limitado. 2.2.4 Processamento dos e-mails Para processar cada e-mail individualmente - atravøs do assunto e do corpo da mensagem, que serªo analisados por TokenSubst - foi desenvolvida a classe ProcessaMensagens, acessada atravøs da interface græca mostrada na gura 2.3. Primeiramente, a classe retira do cabe alho o assunto da mensagem e envia para TokenSubst. Ap s isto, Ø vericado o campo "Content-Type", que diz qual Ø o tipo da mensagem. Se for somente texto simples ou HTML, ele Ø enviado para TokenSubst processar. 27

Figura 2.3: Software em Java - PrØ-processamento dos e-mails No caso de ser do tipo "multipart/alternative", explicado nas se ıes 2.1.1 e 2.2.2, somente o texto HTML Ø processado e o texto plano Ø ignorado. Quando o conteœdo Ø uma mensagem tipo MIME, ele Ø tratado como uma Ærvore recursiva para obter as partes que interessam. Os textos vælidos sªo prø-processados por TokenSubst. Todos os anexos nªo textuais sªo descartados, e no seu lugar Ø adicionado ao corpo do e-mail a seguinte string: "!_ANEXO_TIPO?nome_anexo". Assim, os anexos tambøm sªo considerados e uniformizados. E o seu tipo Ø colocado na string de sa da, pois alguns tipos de anexos podem ser indicadores de spam [23]. Como exemplo, uma imagem em formato GIF, que Ø um arquivo binærio, anexada ao e-mail Ø substitu da pela string "!_ANEXO_TIPO?image/gif". 28

2.2.5 Demais processamentos Ap s os e-mails terem sido prø-processados, serªo armazenados em arquivos e utilizados na segunda parte do sistema de detec ªo de spams, a qual Ø responsævel por gerar o vetor de entrada da rede neural e seræ apresentado em se ıes posteriores. No apœndice D Ø mostrado a aplica ªo do prø-processamento em um ham e em um spam. Deve-se observar que o sistema proposto Ø independente do idioma, o processamento realizado Ø genørico e automætico. Desta forma, ele pode ser aplicado a qualquer base de dados de e-mails para treinar a rede neural. Portanto, a princ - pio, o que determinaræ a linguagem que o sistema ltraræ seræ essa base utilizada no treinamento. Maiores detalhes serªo mostrados na se ªo de trabalhos futuros, 5.1. 2.3 Redes Neurais Articiais HÆ anos o homem vem tentando criar mæquinas que se comportem como o ser humano. A ciœncia chamada de InteligŒncia Articial tem conseguido avan os em diversas Æreas. Entretanto, ainda nªo foi criada uma mæquina que tenha um comportamento humano desejado, principalmente nas Æreas de visªo, fala e comportamento. Diversos componentes interconectados logicamente compıem um computador. O cørebro humano, primeira vista, Ø uma massa cinzenta. Entretanto, analisando mais a fundo, percebe-se que Ø composto por inœmeros componentes, os neur nios, que podem estar ligados a milhares de outros neur nios. Existe uma estrutura complexa e altamente paralelizada. Computadores conseguem realizar cælculos matemæticos em 29

fra ıes de segundo. Um cørebro humano reage aproximadamente dez vezes por segundo. O cørebro Ø capaz de realizar tarefas intrinsecamente complexas para qualquer computador. O cørebro realiza værias tarefas simultaneamente, justamente devido sua estrutura altamente paralelizada. Visªo, fala, anælise de problemas sªo situa ıes onde diversos fatores precisam ser combinados para se chegar a um resultado correto, o que o cørebro realiza muito bem e computadores nªo [6]. O que os cientistas e pesquisadores tentam fazer na Ærea de redes neurais articiais Ø descobrir o princ pio de funcionamento do cørebro na solu ªo de problemas e aplicar em sistemas computacionais. Nªo se sabe como o cørebro representa as informa ıes no n vel mais alto, mas sim que ele se utiliza de diversas unidades lentas, porøm, altamente interconectadas. Em resumo, para modelar o cørebro humano, precisa-se representar os neur nios e criar uma estrutura altamente paralela, ao contrærio do que Ø feito na computa ªo tradicional, com estruturas seriais. Nas pr ximas se ıes seræ explicado a evolu ªo da ciœncia na Ærea e o funcionamento de uma rede neural articial. 2.3.1 Neur nio Biol gico O paradigma das Redes Neurais Articiais surgiu em conseq Œncia da busca por conhecimento a respeito da mente humana. Nesse sentido, houve um grande interesse em pesquisar o papel do funcionamento de estruturas do Sistema Nervoso (SN), o qual motivou a constru ªo de modelos matemætico-computacionais que pudessem auxiliar na elucida ªo de aspectos neurobiol gicos envolvidos em diversas atividades cognitivas. As Redes Neurais Articiais encontram-se entre estes modelos e reetem 30

Figura 2.4: Imagem de parte do SN humano [32] o comportamento de circuitos neuronais (grupos de neur nios funcionalmente conectados) [6]. Os neur nios sªo as cølulas bæsicas do SN. Existem dois tipos principais de neur nios, os que realizam processamento e os que interconectam diferentes partes do cørebro entre si, ou conectam o cørebro a outras partes do corpo. Individualmente, realizam opera ıes relativamente simples, porøm a riqueza das conexıes entre estes tipos de cølulas proporciona a enorme diversidade de tarefas realizadas pelo SN. O funcionamento detalhado de um neur nio ainda nªo Ø conhecido, mas sabe-se que um Ø composto das seguintes partes: corpo (soma), dentritos e ax nio, apresentado na gura 2.5. De forma geral, os ax nios sªo responsæveis pela transmissªo do impulso nervoso 31

Figura 2.5: Estrutura bæsica de um neur nio a outros neur nios, os dentritos relacionam-se com a capta ªo de est mulos, enquanto que no corpo celular encontram-se o nœcleo e organelas, responsæveis pelas demais atividades da cølula. Os neur nios sªo capazes de realizar opera ıes complexas. Entretanto, sabese que, simplicadamente, este realiza um somat rio dos est mulos recebidos pelos seus dentritos. O ax nio Ø um dispositivo de disparo nªo-linear que produz em sua sa da pulsos de tensªo quando o potencial dentro do neur nio atinge um valor limite. O ax nio termina em uma espøcie de contato, chamado sinapse. Em realidade nªo existe contato f sico, mas sim qu mico, estabelecido temporariamente quando o ax nio Ø disparado. Os neurotransmissores sªo responsæveis pelo contato qu mico. Muitas sinapses podem atuar no mesmo neur nio. Assim, o conjunto de sinapses provoca 32

est mulos no corpo do neur nio. O somat rio destes est mulos determina a ativa ªo ou nªo do mesmo. Algumas sinapses podem excitar um dentrito, enquanto outras podem inibi-lo. Isto signica que o potencial local de um dentrito pode ser alterado positiva ou negativamente. 2.3.2 Modelo BÆsico de um Neur nio necessærio utilizar algumas caracter sticas para se modelar um neur nio [6]: A sa da estæ ligada ou desligada; A sa da depende apenas das entradas; Cada entrada pode ter um ganho, ou eciœncia, de ativa ªo diferente; O neur nio realiza o somat rio das entradas recebidas; O neur nio Ø disparado a partir de um certo nœmero de entradas ativadas. Na døcada de 1940, McCulloch e Pitts criaram um modelo simplicado para o neur nio biol gico [12], chamado de perceptron McCulloch-Pitts. Este modelo tenta simular as realidades biol gicas que ocorrem dentro de uma cølula do sistema nervoso. A informa ªo fornecida por outros neur nios correspondem aos est mulos de entrada (X), onde cada entrada possui liga ıes sinæpticas (W ). Os pesos sinæpticos sªo xos e a sa da (Y ) Ø obtida pela aplica ªo de uma fun ªo de limiar. Este modelo, representado na gura 2.6, tem seu comportamento assim denido: o perceptron realiza o somat rio das entradas ponderadas, compara com o limiar e 33

Figura 2.6: Neur nio Articial somente ativa a sa da caso este n vel seja ultrapassado. Pode-se dizer que o sinal total na entrada (net) Ø o somat rio do n vel de cada entrada multiplicado pelo peso da mesma: net = nx W i X i (2.1) i=1 onde W i Ø o peso ou pondera ªo na entrada i e X i Ø o sinal na entrada i. A sa da y teræ valor 1 se a soma ponderada for maior que o limiar, e 0, se for menor que o mesmo. y = f h " nx i=1 W i X i # (2.2) onde f h Ø a fun ªo de Heaviside [6]: f h (x) = 1 ou "ligado" se x > 0 0 ou "desligado" for x 0 (2.3) 34

Figura 2.7: Modelagem do Neur nio BÆsico Finalmente, chega-se ao modelo representado na gura 2.7. A fun ªo de ativa ªo utilizada no caso do perceptron McCulloch-Pitts, fun ªo de Heaviside, nªo Ø a œnica maneira de produzir o valor de sa da do neur nio. Existe a fun ªo linear, que produz uma sa da linear cont nua; a fun ªo escada, que produz uma sa da binæria (nªo-linear discreta), e a fun ªo sigmoidal, com sa da nªo-linear cont nua. A gura 2.8 mostra diferentes tipos de fun ıes de ativa ªo que podem ser utilizadas. No nal da døcada de 1950, Rosenblatt prop s um novo modelo de perceptron [13] [14], composto do neur nio de McCulloch-Pitts, com fun ªo de limiar e aprendizado supervisionado. A arquitetura deste modelo consiste de camadas de entrada e sa da, conforme a gura 2.9. O nome perceptron foi dado para este modelo de neur nios conectados de forma simples. Rosenblatt foi o pioneiro na simula ªo de redes neu- 35

rais em computadores, assim como sua anælise formal [6]. Os perceptrons eram redes simplicadas, onde certas propriedades do sistema nervoso real eram refor adas, enquanto que outras eram reprimidas. O objetivo nªo era criar um cørebro articial, mas tentar descobrir as propriedades dos modelos, que nada mais eram que versıes simplicadas do sistema nervoso. 2.3.3 Algoritmo de Aprendizagem da Unidade Perceptron O algoritmo de aprendizagem de uma unidade perceptron

Este Ø o algoritmo bæsico do perceptron. Os passos de 2 a 4 devem ser repetidos atø que a sa da apresente os resultados esperados, ou seja, classique corretamente as entradas apresentadas. Algumas modica ıes foram sugeridas para melhorar o aprendizado da rede, como o caso de adicionar pondera ıes na adapta ªo dos pesos. Assim, o passo 4 caria descrito como: 4. Adapta ªo dos pesos (com ganho) Se correto, w i (t + 1) = w i (t) Se a sa da Ø 0, e deveria ser 1, entªo w i (t + 1) = w i (t) + x i (t) Se a sa da Ø 1, e deveria ser 0, entªo w i (t + 1) = w i (t) x i (t) onde 0 1, Ø o ganho positivo que controla a taxa de adapta ªo dos neur nios da rede. Este fator tem o efeito de diminuir a mudan a nos pesos, fazendo com que a rede dœ passos menores rumo solu ªo, dando mais estabilidade ao sistema. 2.3.4 Perspectiva Vetorial e Limita ıes da Unidade Perceptron Para uma anælise vetorial da unidade perceptron, pode-se escrever a entrada X como um vetor X = (x 0 ; x 1 ; :::; x n ) e o vetor de pesos como W = (w 0 ; w 1 ; :::; w n ). Assim, chega-se equa ªo: nx w i x i = W X (2.5) i=1 O algoritmo de aprendizagem garante que os pesos sªo modicados a cada itera ªo para chegar ao resultado esperado, ou seja, reduzir o erro. Para duas entradas A e B, pode-se observar, no espa o bidimensional, o comportamento do vetor medida 38

Figura 2.10: Representa ªo Vetorial da Divisªo em Classes que a rede aprende. A linha de parti ªo W Ø objetivo nal, que o perceptron deve encontrar para realizar corretamente a classica ªo entre os padrıes A e B, conforme a gura 2.10. O perceptron encontra a linha divis ria W ajustando os pesos da rede, como descrito na se ªo anterior. O valor de W inicial Ø aleat rio, apontando para qualquer dire ªo no espa o. Uma vez que um elemento de uma classe Ø apresentado, o procedimento de aprendizagem diz que o vetor seræ alterado para reduzir o erro. No nal do processo, os pesos sªo ajustados para o valor ideal, que divide as classes existentes. O comportamento do vetor pode ser descrito na gura 2.11 - as diversas retas pretas correspondem ao processo de ajuste de W e valor ideal corresponde reta vermelha. O efeito do processo de aprendizagem, linha W, pode ser visto na gura 2.12. Nota-se na itera ªo 0 que a classica ªo Ø totalmente incorreta, justamente porque o vetor W foi iniciado com valores aleat rios. medida que o perceptron Ø treinado, 39

Figura 2.11: Comportamento do Vetor de Pesos W. vœ-se que a precisªo de classica ªo Ø aumentada. No exemplo, a partir da vigøsima itera ªo, a classica ªo torna-se correta para todos os padrıes. Pode-se observar que o perceptron tenta encontrar uma linha que divide corretamente os dois padrıes apresentados. Porem, hæ situa ıes onde nªo existe uma divisªo linear entre as classes. Neste caso, o perceptron nªo consegue encontrar uma solu ªo. O exemplo clæssico deste problema Ø o caso da fun ªo l gica OU-EXCLUSIVO (XOR). A tabela verdade desta fun ªo Ø dada pela tabela 2.2. X Y Z 0 0 0 0 1 1 1 0 1 1 1 0 Tabela 2.2: Tabela Verdade OU-EXCLUSIVO No espa o bidimensional da opera ªo XOR, mostrada na gura 2.14, pode-se ver que nªo Ø poss vel desenhar uma linha que separe as sa das 0 e 1 corretamente. Este Ø um problema linearmente inseparævel e imposs vel de ser solucionado pelo modelo 40

Figura 2.12: Evolu ªo na Classica ªo de Padrıes Figura 2.13: S mbolo da Fun ªo L gica OU-EXCLUSIVO 41

Figura 2.14: Fun ªo OU-EXCLUSIVA no Espa o Bidimensional de perceptron apresentado. Minsky e Papert publicaram um livro em 1969, onde mostraram esta limita ªo do perceptron [15]. O livro apresenta uma abordagem detalhada das capacidades e limita ıes dos perceptrons. Esta limita ªo de somente ser aplicævel em problemas linearmente separæveis foi praticamente o m dos estudos da comunidade cient ca na Ærea de redes neurais [6]. Somente em 1986, quase vinte anos depois, houve um avan o signicativo na Ærea, com Rumelhart e McClelland [16], e o modelo do

continuavam a realizar os mesmos cælculos internamente, ou seja, a soma ponderada de suas entradas, a ativar ou nªo a sa da, de acordo com a fun ªo de ativa ªo. Para as fun ıes linear e sigmoidal, o valor da sa da seræ praticamente 1 se a soma ponderada exceder bastante o limite e, da mesma forma, praticamente zero se a soma for bem menor que o limite. Contudo, caso a soma ponderada e o limite sejam valores pr ximos, a sa da oscilaræ entre os dois extremos, 0 e 1. Deste modo, ca resolvido o problema da camada anterior em nªo passar informa ªo mais signicativa para a camada seguinte. Na prætica, a fun ªo escolhida Ø nªo-linear sigmoidal, jæ que camadas de perceptrons com fun ıes lineares podem ser reduzidas a uma œnica camada apenas. Isto ocorre porque cada camada realizaria cælculos puramente lineares que podem ser reduzidos em apenas uma opera ªo, de acordo com Beale e Jackson [6]. Desta forma, foi criado o modelo de mœltiplas camadas, gura 2.15. Este modelo Ø basicamente composto de trœs camadas: a entrada, a intermediæria (ou oculta) e a sa da. Os perceptrons das camadas intermediærias e de sa da sªo como os perceptrons descritos, mas com fun ªo de ativa ªo sigmoidal. A camada de entrada tem o prop sito de distribuir os valores recebidos para a camada seguinte, nªo realizando nenhuma opera ªo. Com a mudan a da fun ªo de ativa ªo, Ø necessærio alterar a regra de aprendizado, descrita na pr xima se ªo. Esta rede agora Ø capaz de aprender a reconhecer padrıes mais complexos [6]. 43

Figura 2.15: Novo Modelo Multicamadas 2.3.6 A Nova Regra de Aprendizado A nova regra de aprendizado Ø conhecida como "generalised delta rule" ou "backpropagation rule" e foi sugerida em 1986 por Rumelhart, McClelland e Williams. A opera ªo da rede Ø similar ao modelo perceptron, na qual Ø mostrado um padrªo rede que entªo apresenta a sa da. A compara ªo da sa da obtida com a desejada propicia o ajuste dos pesos para que, na itera ªo seguinte, a sa da seja ainda mais precisa. A regra de aprendizado utilizada para o modelo de perceptron nªo Ø mais adequada para o modelo de mœltiplas camadas. Todavia, como visto anteriormente, o uso da fun ªo sigmoidal possibilita que informa ªo suciente seja transportada para as camadas posteriores, permitindo que as unidades sejam ajustadas com o m de reduzir o erro na pr xima itera ªo da rede [6]. A nova regra de aprendizado Ø mais complexa. Quando uma entrada Ø apresentada 44

a uma rede nªo treinada, uma sa da aleat ria Ø produzida. necessærio entªo denir uma fun ªo de erro que represente a diferen a entre a sa da atual e a sa da correta. Como o valor correto de sa da Ø conhecido, este tipo de treinamento Ø chamado de treinamento supervisionado. Para que haja aprendizado, Ø necessærio que a sa da da rede se aproxime da sa da desejada, ou seja, Ø necessærio reduzir o valor da fun ªo de erro. Isto Ø obtido ajustando-se os valores dos pesos das liga ıes entre as unidades perceptron da rede. A fun ªo delta generalizada o faz calculando a fun ªo de erro para uma dada entrada e retro-propagando o erro de uma camada para a anterior. Portanto, cada unidade da rede tem seus pesos ajustados para a minimiza ªo do erro. Para as unidades na sa da, ajustar o peso Ø relativamente simples, contudo para as unidades intermediærias, o ajuste nªo Ø tªo bvio. Pode-se pensar que as unidades intermediærias ligadas sa da com maior erro precisam de pesos ajustados em valores maiores, enquanto que as intermediærias ligadas s sa das com erro menor quase nªo precisem de ajustes. De fato, matematicamente Ø mostrado que os pesos para um n em particular deve ser ajustado na propor ªo direta ao erro das unidades s quais Ø ligado; assim retro-propagar o erro pela rede permite ajustar os pesos entre as camadas corretamente, permitindo que o erro seja reduzido e que a rede aprenda [6]. 2.3.7 Algoritmo MLP O algoritmo para treinamento de uma rede neural articial multicamadas, ou Multilayer Perceptron (MLP), com retro-propaga ªo de erro Ø mostrado nesta se ªo. Ele exige que as unidades tenham fun ıes limitadoras nªo lineares continuamente 45

diferenciæveis. Assim, Ø assumido o uso da fun ªo sigmoidal, f(t) = 1 1 + e kt (2.6) que apresenta derivada simples. O algoritmo MLP Ø descrito abaixo: Passo 1 - inicializar os pesos e limites das sinapses e neurônios, respectivamente Denir w i (t); (0 i n), como o peso da entrada i no tempo t e como o limite para a unidade de sa da. Permitir que w 0 seja e x 0 seja sempre 1. Permitir tambøm que os valores w i (0) e x i (0) sejam valores aleat rios pequenos, e assim inicializar os pesos e limites. Passo 2 - Apresentar as entradas e a saída desejada Apresentar a entrada X p = fx 0 ; x 1 ; :::; x n g correspondente sa da T p = ft 0 ; t 1 ; :::; t m g, onde n Ø o nœmero de unidades de entrada e m Ø o nœmero de unidades de sa da. Para a compara ªo de padrıes, X p e T p representam a entrada e sa da comparada. Para classica ªo, T p Ø ajustado para zero, exceto um elemento ajustado em 1, que corresponde classe a qual X p pertence. O erro para P Ø dado por: E p = 1 2 X (tpj o pj ) 2 : (2.7) Passo 3 - Calcular a saída atual " nx # Para cada camada, y pj = f w i (t)x i (t) e passa a ser a entrada para a pr xima i=0 camada. A camada nal apresenta os valores o pj. Passo 4 - Adaptação dos pesos Inicia-se na camada de sa da e retorna para a camada imediatamente anterior: 46

w ij (t + 1) = w ij (t) + pj o pj (2.8) onde w ij representa os pesos da unidade i para a unidade j, Ø o ganho e pj Ø um termo de erro para a entrada p na unidade j:! X o pj = f i w ij o pi i (2.9) Para as unidades de sa da: pj = ko pj (1 o pj )(t pj o pj ) (2.10) Para as unidades intermediærias: pj = ko pj (1 o pj ) X k pk w jk (2.11) onde a soma Ø para as k unidades na camada posterior camada da unidade j. Repetir os passos de 2 a 4 atø que o erro seja minimizado ao n vel desejado. 2.3.8 O problema do OU-EXCLUSIVO Conforme mostrado anteriormente, o Modelo do Perceptron Ø incapaz de resolver o problema da opera ªo XOR. Todavia, o Perceptron de Multicamadas Ø capaz de solucionar problemas nªo-linearmente separæveis, como o caso da opera ªo citada. Pode-se simular tal opera ªo utilizando o Perceptron Multicamadas com apenas um perceptron na camada intermediæria, e utilizar a tabela verdade 2.2 como conjunto de treinamento. Por sua caracter stica nªo-linear, a fun ªo de ativa ªo seræ a fun ªo sigm ide. A tabela 2.3 mostra o conjunto de treinamento utilizado - no lugar do 0 Ø utilizado 0,1; e o 1 Ø substitu do por 0,9. 47

Exemplo Entrada 1 Entrada 2 Sa da Desejada 0 0,1 0,1 0,1 1 0,1 0,9 0,9 2 0,9 0,1 0,9 3 0,9 0,9 0,1 Tabela 2.3: Conjunto de Treinamento XOR Figura 2.16: Fun ªo L gica XOR - Impossibilidade de Separa ªo Linear Observando o græco espa o de decisªo (gura 2.16), nota-se que nªo Ø poss vel separar as Æreas de classica ªo utilizando-se somente retas. A rede dada pela gura 2.17 representa o estado nal ap s o treinamento. Com esta arquitetura simples, a rede responde corretamente a problemas nªolinearmente separæveis. PorØm, para casos mais complexos, surge a necessidade de uma modelagem espec ca, onde podem ser utilizados mais perceptrons e mais camadas, a m de que se alcance o resultado esperado. 48

Figura 2.17: Rede Treinada para Fun ªo L gica XOR 2.3.9 MLP como classicadores Considera-se agora um caso mais geral de MLP, com uma rede de trœs unidades perceptrons (gura 2.18). Se a unidade intermediæria tem uma fun ªo limitadora, que s Ø ativada quando ambas as unidades na primeira camada estªo ligadas, tem-se a opera ªo "E" l gica. Como as unidades da primeira camada denem uma linha no espa o de estado, a segunda produziræ uma classica ªo baseada na combina ªo destas linhas. Se uma unidade Ø arranjada para responder com 1, caso a entrada esteja abaixo da linha de decisªo, e a outra responder com 1, se a mesma entrada estæ aløm desta linha de decisªo, entªo a segunda camada produz uma solu ªo como ilustra a gura 2.19. Mais de duas unidades podem ser usadas na primeira camada, produzindo uma combina ªo com mais de duas linhas de decisªo. As regiıes produzidas sªo con- 49

Figura 2.18: MLP com 3 perceptrons hecidas como regiıes convexas. Estas regiıes podem se interceptar, superpor-se ou permanecer completamente separadas entre si, resultando nas mais variadas formas. Assim, trœs camadas de unidades perceptrons (ou quatro, considerando-se a camada de entrada, que nªo realiza nenhuma opera ªo) podem arbitrariamente formar regiıes convexas complexas, capazes de separar quaisquer tipos de classes [6]. A complexidade das formas estæ limitada ao nœmero de perceptrons na rede, isto signica que nªo seria necessærio mais do que trœs camadas na rede para qualquer n vel de complexidade do problema abordado (Teorema de Kolmogorov [6]). 2.3.10 Generaliza ªo O œltimo assunto a ser tratado na introdu ªo sobre redes neurais Ø a generaliza ªo. uma das caracter sticas mais importantes e essenciais das redes neurais: a capacidade da mesma em classicar corretamente padrıes que nunca foram apresentados. A rede de mœltiplas camadas generaliza detectando caracter sticas signicativas do padrªo de entrada. Estas caracter sticas sªo representadas nos pesos das unidades 50

Figura 2.19: Regiªo de Decisªo: combina ªo de 2 perceptrons Figura 2.20: Perceptrons como Classicadores 51

internas da rede. Desta forma, um padrªo desconhecido Ø classicado como outros padrıes jæ apresentados rede neural, jæ que ambos compartilham caracter sticas similares. Isto signica que o aprendizado por exemplos Ø uma proposi ªo viævel, jæ que somente um conjunto de padrıes representativos devem ser ensinados rede neural. A propriedade de generaliza ªo permite que outros padrıes sejam classicados corretamente [6], ou seja, padrıes com erros (nªo corretamente denidos) tambøm podem ser classicados, pois possuem caracter sticas similares aos padrıes puros. a caracter stica da generaliza ªo que permite que redes neurais tenham mais sucesso no mundo real que outros tipos de sistemas inteligentes. Esta capacidade permitiu escolher Redes Neurais para o problema da classica ªo de e-mails. Nªo existe uma fun ªo matemætica clara que separe os e-mails corretamente. As redes neurais podem detectar padrıes diferentes atravøs do treinamento e classicar corretamente novos e-mails. No pr ximo cap tulo serªo mostrados os conjuntos de dados utilizados para o treinamento da Rede Neural e tambøm como foi montado o vetor de entrada a partir do prø-processamento. 52

CAP TULO 3 CONJUNTOS DE DADOS E DISTRIBUI ES UTILIZADAS No processo de classica ªo, os e-mails sªo apresentados como padrıes de entrada rede neural. Para uma rede neural com um nœmero xo de padrıes de entrada n, um e-mail Ø transformado em um vetor de entrada v n de dimensªo n 0 v n = B @ a 1 a 2 a 3 a 4 : : : a n 1 C A (3.1) onde a i (i = 1:::n) Ø o valor que descreve a ocorrœncia de uma palavra i. Neste cap tulo serªo descritos os conjuntos de dados utilizados na rede neural. Primeiramente, seræ mostrado como foram obtidos os e-mails a partir de bases de dados e as compara ıes entre os diferentes tipos de bases usadas pela comunidade cient ca. Ap s a escolha da base de dados, seræ apresentado os møtodos de obten ªo do vetor de entrada para a rede neural. 53

3.1 Conjuntos de Dados Para treinamento de uma rede neural, em qualquer aplica ªo, Ø necessærio um bom conjunto de dados para a fase de treinamento. Este conjunto deve ser representativo para o problema proposto. A divisªo entre padrıes positivos (spams) e padrıes negativos (hams) tambøm Ø considerado, como seræ visto adiante. 3.1.1 Bases de Dados Pœblicas Existem bases de dados de e-mails dispon veis na Internet para serem utilizados em testes. Algumas delas serªo descritas, assim como suas vantagens e desvantagens. 3.1.1.1 Ling-Spam Corpus A base de dados Ling-Spam [18] foi produzida pelo grupo de Ion Androutsopoulos e utilizada em seus artigos, assim como em trabalhos de outros autores. O Lingspam Ø uma mistura de spams com mensagens leg timas enviadas para uma lista de ling stica. Esta base de dados consiste de 2893 mensagens, entre as quais: 2412 mensagens sªo da Ærea de ling stica. Somente a mensagem em si foi aproveitada. O autor retirou o texto adicionado pelo servidor da lista de ling s- tica; 481 sªo spams, recebidos pelo autor. Os anexos, tags HTML e spams duplicados recebidos nªo foram inclu dos. Nota-se que esta base contøm aproximadamente 17% de spams, o que o autor considerou como a porcentagem de spams que ele recebia. Quanto aos t picos das 54

mensagens, eles nªo sªo tªo espec cos como poderia se esperar, jæ que contœm aløm de assuntos da Ærea, anœncios de empregos, disponibilidades de novos softwares e outras discussıes [19]. 3.1.1.2 PU1 e PU123A Corpus Estes conjuntos consistem de apenas 1099 mensagens [20], entre as quais 481 sªo marcadas como spam e 618 como leg timas, ou seja, aproximadamente 44% de spams. Esta base de dados foi produzida pelo mesmo grupo do Ling-Spam. Os cabe alhos, anexos e tags HTML foram removidos, deixando apenas o sujeito e o corpo da mensagem. Por questıes de privacidade, cada palavra foi mapeada em um nœmero œnico no PU1, que pode vir em quatro versıes diferentes: com ou sem stemming e com ou sem stop word-removal. JÆ a versªo PU123 apresenta as palavras originais, mas sem stemming e stop-word removal [18]. Stemming Ø uma tøcnica de transformar palavras nas suas formas morfol gicas originais. Neste caso, por exemplo, conjuga ıes diferentes de um verbo poderiam ser transformadas no verbo original, por exemplo, "testado" e "testei" virariam "testar". Para que o sistema funcione na prætica Ø necessærio um bom algoritmo ling stico com uma boa base de dados para cada linguagem que se deseja aplicar. Stop-word removal Ø outra tøcnica usada para remover palavras que ocorrem freq entemente. Para esta remo ªo, Ø necessærio existir uma lista previamente criada. Nota-se, neste caso, que Ø necessærio escolher bem quais palavras entrarªo nesta lista. AlØm disso, deve-se considerar tambøm uma base de dados para cada linguagem que se deseja aplicar. 55

A vantagem de se utilizar estas duas tøcnicas Ø a de que haveria uma redu ªo na dimensªo do espa o caracter stico, com conseq ente melhoria no processo de aprendizagem dos ltros, que poderiam fazer previsıes mais acuradas. Neste caso, haveria uma redu ªo no problema dos dados serem muitos esparsos, de acordo com Zhang et al. [20]. Entretanto, Androutsopoulos et al. [17] investigou o uso destas tøcnicas no classicador Bayesiano usando o conjunto PU1. Os resultados mostraram que, na maioria das vezes, utilizando as tøcnicas stemming e stop-word removal, nªo houve melhora estat stica signicativa comparado bases de dados onde nªo foram usadas essas tøcnicas. Desta forma, devido complexidade necessæria para aplicæ-las, tais tøcnicas nªo foram utilizadas neste trabalho. 3.1.1.3 SpamAssassin Corpus O conjunto de mensagens SpamAssassin Corpus (SA) [22] Ø uma sele ªo criada especialmente para auxiliar nos testes de sistemas de ltros anti-spam. Apresenta as seguintes caracter sticas: Todos cabe alhos foram introduzidos completamente. Apenas algumas mensagens tiveram o hostname alterado 1 para outro vælido, apenas por questıes de privacidades. Na maioria dos casos, os cabe alhos utilizados foram os originais; Todas as mensagens recebidas pelo autor foram enviadas com o conhecimento de que seriam disponibilizadas para o dom nio pœblico. Foram tambøm adicionadas mensagens do tipo newsletter de servidores pœblicos ao conjunto; 1 A segunda parte que compıe um endere o de e-mail. Ex.: nome@servidor.com.br -> o hostname Ø servidor.com.br. 56

Existem 1897 spams e 4150 hams no conjunto, ou seja, aproximadamente 31% de spams. 3.1.2 Escolha da Base de Dados O conjunto Ling-Spam foi compilado de diferentes fontes: as mensagens sªo originadas de listas de discussªo livres de spams, e os t picos destas listas sªo espec cos. Os spams foram recolhidos de uma caixa de e-mails pessoal. Desta forma, observase que a distribui ªo de e-mails nªo Ø a mesma de um usuærio normal, o que pode fazer com que o conjunto Ling-Spam seja facilmente ltrado [20]. A mesma informa ªo vale para os conjuntos PU1 e PU123A. JÆ o conjunto SA Ø uma compila ªo de mensagens pessoais de diversos assuntos e fontes, junto com os spams recebidos nos mesmos endere os de e-mails. Assim sua distribui ªo Ø mais pr xima ao de um usuærio comum. O SpamAssassin possui os e-mails no formato original, sem retirada de tags HTML, anexos ou cabe alhos. Isto Ø essencial para a proposta deste trabalho. Os conjuntos Ling-Spam e PU1 e PU123A tiveram os anexos e tags HTML removidos, o que desqualica o conjunto. Para este trabalho, foi escolhida a base SpamAssassin, que tambøm apresenta o maior conjunto de dados, importante para um treinamento representativo, teste e avalia ªo da rede neural. AlØm disso, como os e-mails estªo no formato original, o sistema desenvolvido para o SpamAssassin pode ser facilmente utilizado em ltros de e-mails em værias aplica ıes præticas. 57

3.2 Processamento da Base de Dados Agora que foi escolhida a base de dados SpamAssasin, seræ mostrado o processamento antes da gera ªo do vetor caracter stico para a rede neural. O software desenvolvido em Java realiza a œltima fase antes da entrada da rede neural, ap s a etapa realizada na se ªo 2.2.4. Nesta fase Ø feita a prepara ªo dos vetores de entrada necessærios para treinamento da rede neural. E o processamento Ø repetido na gera ªo dos vetores para os conjuntos de teste e de valida ªo. 3.2.1 PrØ-processamento para Gera ªo do Vetor Caracter stico Ap s o processo descrito na se ªo 2.2.4, todos os e-mails limpos sªo gravados em diret rios. Cada e-mail continua gravado em arquivos separados. A primeira classe usada nesta etapa Ø chamada de GeraEstruturaDados. Ela Ø responsævel por gerenciar outras classes na gera ªo de estruturas de dados que permitirªo os cælculos estat sticos nas etapas seguintes do processamento. Um diret rio e uma væriævel (indicando se o conjunto Ø de spams ou hams) formam os par metros de entrada da classe. Ap s esta entrada, um comando Ø enviado para o processamento do diret rio. Diferentes diret rios podem ser passados como objeto da classe. No nal, Ø gerado um arquivo que serve de entrada para a classe Estatisticas, que seræ explicada mais adiante. Cada arquivo de e-mail Ø representado por um objeto da classe NoEmails. As seguintes informa ıes sªo retiradas de cada arquivo e guardadas neste objeto: Classica ªo do e-mail: spam ou ham; 58

Lista hash 2 com todas as palavras do e-mail e o nœmero de ocorrœncias de cada palavra. Por necessidade de cælculos estat sticos, a classe ListaEmails armazena todos os e-mails na classe NoEmails. Esta classe tambøm armazena os dados em uma lista hash, usando o par (nome do e-mail, NoEmails). Uma outra classe armazena todas as palavras encontradas em todos os e-mails, chamada NoPalavras. Para armazenar a lista de todas as palavras de todos os e-mails, foi criada a classe ListaPalavras, que utiliza uma lista hash no formato (palavra, NoPalavras). Todas as classes descritas acima servem de suporte para gerar as estruturas de dados utilizadas nos cælculos estat sticos para se obter o Vetor Caracter stico. Estas estruturas de dados sªo gravadas em um arquivo por GeraEstruturaDados. Na se ªo 3.3 serªo explicados os møtodos estat sticos usados no projeto. 3.2.2 Separa ªo da Base de Dados Para treinamento da rede neural, foi feita a separa ªo da base de dados. O corpo de mensagens SpamAssassin foi entªo dividido nos trœs subconjuntos: Conjunto de Treinamento (60% do total de mensagens); Conjunto de Valida ªo (20% do total de mensagens); Conjunto de Teste (20% do total de mensagens). 2 Uma tabela hash Ø basicamente um dicionærio onde, dado um objeto chave, pode-se ter o valor do objeto. Tabelas hash usam uma fun ªo hash para encontrar a chave do c digo que representa uma entrada na tabela. Chaves iguais devem sempre retornar o mesmo c digo hash, permitindo, dessa maneira, que vocœ encontre a entrada associada na tabela hash. 59

Cada conjunto recebeu a mesma propor ªo de spams e de hams. Este particionamento Ø normalmente recomendado. O conjunto de treinamento, como o nome jæ diz, Ø usado para o treinamento da rede neural (propaga ªo do erro, adapta ªo dos pesos, etc.). O conjunto de valida ªo Ø usado durante o treinamento para testar a capacidade da rede em generalizar, jæ que, se a rede for submetida ao mesmo conjunto exaustivamente, pode tornar-se altamente especializada nesta fase (e nªo classicar corretamente novos tipos de dados). O conjunto de teste Ø usado ap s o treinamento da rede para medir o desempenho nal da rede [23]. 3.3 Sele ªo de Caracter sticas A sele ªo de caracter sticas Ø uma parte importante na classica ªo de textos e, portanto, nos ltros anti-spam em particular, de acordo com Goetschi [23]. Uma caracter stica Ø uma palavra, e o nœmero total de caracter stica corresponde ao conjunto de todas as palavras que ocorrem no conjunto de treinamento. Este conjunto normalmente Ø muito grande (uma dimensªo por cada palavra diferente). Desta forma, a maior diculdade na classica ªo de textos Ø a alta dimensªo do espa o caracter stico. A maioria das tøcnicas, incluindo as redes neurais, nªo Ø capaz de lidar com um conjunto tªo grande, porque o processamento exigido, em termos computacionais, Ø muito alto e, em conseq Œncia, a classica ªo Ø ineciente [24]. A sele ªo de caracter sticas Ø o møtodo utilizado para reduzir a dimensªo do espa o caracter stico, selecionando as caracter sticas (ou palavras, no caso deste projeto) que sªo mais informativas na classica ªo a ser feita. altamente desejævel que se fa a a sele ªo sem sacricar a precisªo da separa ªo em duas classes distintas. 60

TambØm Ø desejævel que a sele ªo seja feita de forma automætica, isto Ø, sem que nenhuma deni ªo ou constru ªo de caracter stica seja necessæria. Existem diversos algoritmos para realizar essa tarefa, entre os quais: Document Frequency Thresholding (DF); 2 statistic (qui-quadrado); Mutual Information (MI); Information Gain (IG); Term Strength (TS). Neste trabalho foram escolhidos os trœs primeiros algoritmos para a sele ªo de caracter sticas. A escolha foi feita com base nos trabalhos de Yang e Pedersen [24] e Androutsopoulos et al. [17]. Os trœs møtodos mostraram bons resultados. Notase, em especial, no trabalho de Yang e Pedersen, que o DF, apesar de ser o mais simples dos møtodos (consumindo menores recursos computacionais), apresentou resultados muito bons. O møtodo 2 tambøm apresentou resultados bons, apesar de ser computacionalmente mais exigente. O MI foi escolhido por estar presente em alguns trabalhos, como o de Androutsopoulos [17]. Nas pr ximas se ıes serªo apresentados os møtodos empregados. 3.3.1 Document Frequency Thresholding (DF) Document Frequency (DF) mede o grau de ocorrœncia de um termo w em um conjunto C. Foi calculado o DF para cada palavra encontrada no conjunto de dados conforme a equa ªo 3.2. DF (w) = N [w 2 fspam; hamg] T 61 (3.2)

onde N [w 2 fspam; hamg] Ø o nœmero de ocorrœncias da palavra w nas classes {spam; ham} e T, o nœmero total de palavras nas classes mostradas. Para gerar o vetor caracter stico, foram escolhidas as palavras com valores de DF mais altos, considerando-se que palavras com baixa freq Œncia de ocorrœncia nªo sªo signicativas para a predi ªo de categorias ou nªo afetam o desempenho geral da rede [24]. Em ambos os casos, a remo ªo dos termos raros reduz a dimensªo do espa o caracter stico. Melhorias na precisªo da categoriza ªo tambøm sªo poss veis se alguns dos termos raros removidos sªo ru dos (ou seja, informa ªo invælida). DF é a tøcnica mais simples para a redu ªo do vocabulærio. Ela facilmente reduz conjuntos extremamente grandes, em uma complexidade computacional aproximadamente linear ao nœmero de mensagens no conjunto de dados. Entretanto, DF s Ø normalmente considerado nas abordagens iniciais, nªo Ø o principal critørio de sele ªo de caracter sticas. Outrossim, esta tøcnica nªo Ø usada na redu ªo dræstica de termos de um conjunto, porque se assume, em Teoria da Informa ªo, que termos com baixo DF sªo considerados como de alta informa ªo, jæ que ocorrem poucas vezes e podem ser signicativos para a divisªo em diferentes classes [24]. 3.3.2 2 statistic (qui-quadrado) A distribui ªo 2 mede o grau de independœncia entre um elemento e e um conjunto S [26]. Se w Ø uma caracter stica, e C um conjunto com duas classes - spam e ham - a distribui ªo chi-quadrado de uma caracter stica Ø dada por: 2 (w) = P (spam) 2 (w; spam) + P (ham) 2 (w; ham) (3.3) 62

onde P (spam) e P (ham) sªo as probabilidades de ocorrœncia de e-mails spam e ham, respectivamente. A distribui ªo chi-quadrado para uma carater stica w e uma classe c Ø dada por: 2 (w; c) = N (kn ml) 2 (k + m) (l + n) (k + l) (m + n) (3.4) onde k Ø o nœmero de e-mails, dentro da classe c, que contøm a caracter stica w; l Ø o nœmero de e-mails, dentro da classe c, que contøm a caracter stica w; m Ø o nœmero de e-mails, dentro da classe c, que nªo contøm a caracter stica w; n Ø o nœmero de e-mails, dentro da classe c, que nªo contøm a caracter stica w; e N Ø o nœmero total de e-mails dentro da classe c. As caracter sticas com os valores mais altos de 2 foram escolhidas. Cada uma dessas caracter sticas Ø uma entrada na MLP. 3.3.3 Mutual Information (MI) Mutual Information, ou Informa ªo Mœtua, Ø um møtodo bæsico usado em Teoria da Informa ªo [26]. Se w Ø uma caracter stica, a Informa ªo Mœtua da caracter stica w Ø dada por: MI(w) = X X f=fw;wg c=fspam;hamg P (f; c) log 2 P (f; c) P (f) P (c) (3.5) onde P (f; c) = P (f \ c) = P (c) P (f j c) Ø a probabilidade de f e c ocorrerem simultaneamente. As caracter sticas com os valores mais altos de MI sªo entªo selecionadas. Cada caracter stica selecionada Ø uma entrada na MLP. 63

3.4 Vetor Caracter stico Nesta se ªo seræ explicado como foram aplicados os trœs tipos de estat sticas na base de dados, bem como a cria ªo do vetor caracter stico. 3.4.1 Classe Estat sticas Com os dados gerados pela classe GeraEstruturaDados, Ø poss vel realizar os cælculos DF, 2 e MI. A implementa ªo das equa ıes destes møtodos foi feita na classe Estat sticas. Para cada palavra, Ø calculado um valor em cada møtodo estat stico. Assim, Ø gerado um arquivo com a palavra e os resultados obtidos. A partir deste arquivo, Ø poss vel gerar o vetor caracter stico. 3.4.2 Vetor Caracter stico A partir do arquivo com os dados estat sticos para todas as palavras, foi poss vel gerar o vetor caracter stico para os trœs møtodos. Por exemplo, para obten ªo do vetor caracter stico DF, uma ordena ªo DF foi usada. Assim, as palavras com mais alto DF sªo separadas e guardadas em um segundo arquivo. O mesmo Ø feito para 2 e MI. Isso foi necessærio, jæ que a quantidade total de palavras do conjunto de dados foi de 56652. A escolha das palavras para cada um dos møtodos obedeceu o seguinte: DF - as palavras com maior nœmero de ocorrœncias foram escolhidas, ou seja, maior DF, em ordem decrescente. Neste trabalho o DF usado foi a soma do 64

valor de DF de spams com o DF de hams para cada palavra; 2 - as palavras com o valor 2 mais alto foram escolhidas, isto Ø, a soma do valor de 2 spams com o 2 hams, em ordem decrescente; MI - as palavras com o valor MI mais alto foram escolhidas tambøm em ordem decrescente. O nœmero de padrıes do conjunto foi escolhido de acordo com o nœmero de entradas da rede neural, conforme seræ visto na se ªo 4.2.2. 3.4.3 Cria ªo do Vetor Caracter stico Ap s a escolha das palavras para cada møtodo de sele ªo de caracter sticas, Ø necessærio gerar o vetor caracter stico para cada e-mail. Nessa fase, Ø determinada a gama de valores que cada elemento do vetor deve possuir. Cada um desses elementos corresponde a um n de entrada da Rede Neural Articial. Uma mensagem Ø representada por um vetor X = (x 1 ; x 2 ; :::; x n ), onde n Ø o tamanho do vetor caracter stico e x i ; (1 i n), denota o valor da palavra na posi ªo i do vetor caracter stico para referida mensagem. Na literatura existem algumas formas comumente utilizadas para compor o vetor caracter stico, entre as quais podem ser citadas: Freqüência do Termo (Term Frequency - TF), igual ao nœmero de vezes que a palavra ocorre no e-mail; 65

Peso binário (Binary weighting), se uma palavra i ocorre pelo menos uma vez no e-mail, a i Ø 1, se nªo ocorre, a i Ø 0; Peso normal (Normal weighting), considerando-se as palavras do e-mail cujo vetor caracter stico estæ sendo gerado, Ø escolhida a palavra com o maior nœmero de ocorrœncias. Este nœmero Ø escolhido como referœncia superior, ou seja, o valor mæximo +1/2. E o limite inferior, -1/2, Ø atribuido s palavras que nªo ocorreram no e-mail. A partir disso, Ø feita a normaliza ªo do vetor caracter s- tico. O software desenvolvido em Java (gura 3.1) permite a escolha do diret rio com arquivos de e-mails a serem processados, o nœmero de elementos desejados para o vetor caracter stico e o arquivo com as palavras selecionadas por um dos møtodos estat sticos, gerando um arquivo de sa da com os vetores para cada e-mail da base de dados. No apœndice D Ø mostrado um e-mail prø-processado e os vetores caracter sticos gerados a partir dele. No pr ximo cap tulo seræ explicado o treinamento realizado e os resultados obtidos. 66

Figura 3.1: Programa em Java - Gera ªo do Vetor Caracter stico 67

CAP TULO 4 RESULTADOS OBTIDOS rede neural, foi aplicada a base de e-mails SpamAssassin 1, conforme descrito em 3.1.2. Para as diferentes arquiteturas de redes neurais (MLP), alguns par metros foram avaliados para se encontrar o melhor resultado na classica ªo nal: Sele ªo de caracter sticas - foram selecionados trœs møtodos, DF, 2 e MI; Indexa ªo - foi utilizado o møtodo de peso binærio para indexar os e-mails; Nœmero de caracter sticas - foram utilizados vetores caracter sticos com tamanhos diferentes para entrada da rede. Nota-se que a combina ªo dos par metros acima permite obter algumas formas de congura ªo para a rede, aumentando ainda mais as possibilidades. AlØm disso, neste cap tulo Ø mostrado o efetivo treinamento da rede neural, as arquiteturas testadas, a import ncia da prø-ltragem e os resultados obtidos, bem como a forma usada para a medida de desempenho da ltragem relizada. 1 Obtidas no Site do autor [22], com numera ıes 20030228 e 20050311. 68

4.1 Medidas de Desempenho A m de se comparar os resultados obtidos para cada cada modica ªo de par metros do ltro anti-spam, foi necessærio utilizar algumas medidas de desempenho. Em problemas de classica ªo, as medidas mais utilizadas sªo a precisão e o recall [23]. Foram usadas as letras S e H para spam e ham respectivamente, n S!S e n H!H como o nœmero de spams e hams corretamente classicados, n H!S como o nœmero de mensagens leg timas erroneamente classicadas em spam (falso positivo) e n S!H como o nœmero de spams classicados erroneamente em mensagens leg timas (falso negativo). Precisªo pode ser denida como o nœmero de mensagens de um conjunto de testes corretamente classicadas em uma categoria dividido pelo nœmero total de mensagens classicadas (correta ou incorretamente). Assim sendo, dene-se a precisªo de spam (SP) e de ham (HP) como: SP = n S!S n S!S + n H!S (4.1) HP = n H!H n H!H + n S!H (4.2) Recall pode ser denido como o nœmero de mensagens de um conjunto de testes corretamente classicadas em uma categoria dividido pelo nœmero total de mensagens que sªo realmente da categoria. Desta forma, dene-se recall de spam (SP) e de ham (HP) como sendo: SR = n S!S n S!S + n S!H (4.3) HR = n H!H n H!H + n H!S (4.4) 69

Pode-se medir tambøm a exatidªo (Acc), que indica a propor ªo de classica ıes corretas, e o erro (Err), que indica a propor ªo de classica ıes incorretas: Err = n S!H + n H!S (4.5) N S + N H Acc = 1 Err (4.6) onde N S e N H Ø o nœmero total de spams e hams respectivamente. Quando se usa um ltro anti-spam, Ø importante notar que classicar erroneamente um e-mail leg timo como spam Ø muito mais grave que deixar um spam passar como e-mail leg timo, de acordo com Zhang et al. [20] e Androutsopoulos [17]. Deixar um spam passar pelo ltro geralmente nªo causa preju zo grave ao usuærio, enquanto que bloquear um e-mail leg timo (ou mesmo marcæ-lo como spam) pode ser algo sørio, jæ que o usuærio deixaræ de lœ-lo ou s o veræ quando acessar a pasta de spam (o que normalmente nªo Ø feito, nem desejado). Os valores de precisªo e recall mostrados anteriormente nªo dizem nada sobre o desempenho do ltro quando um falso positivo ou um falso negativo apresentam pesos diferentes. Dessa forma, para introduzir um peso maior para um falso positivo do que para um falso negativo, criou-se uma medida de exatidªo ponderada (Weighted Accuracy - W Acc). O W Acc foi introduzido por Androutsopoulos [17] e tem sido utilizado em diversos testes de ltro anti-spam. A exatidªo ponderada Ø dada por: W Acc = n H!H + n S!S (4.7) N H + N S Da mesma forma, o erro ponderado Ø dado por: 70

W Err = 1 Acc = n H!S + n S!H N H + N S (4.8) O WAcc trata uma mensagem leg tima como se ela fosse mensagens: quando um falso positivo ocorre, Ø contado como erros; e quando Ø classicado corretamente, sªo contados acertos. Nota-se que, quanto maior, maior a penaliza ªo de um falso positivo. Androutsopoulos tambøm introduziu trœs valores diferentes para : 1, 9 e 999. Quando Ø um, spams e hams tœm pesos iguais, enquanto que, para igual a 9, um falso positivo Ø penalizado nove vezes mais que um falso negativo. JÆ para igual a 999, classicar erroneamente um e-mail leg timo Ø tªo ruim como deixar passar 999 spams pelo ltro. Esse œltimo caso Ø aplicævel somente em sistemas onde mensagens marcadas como spams sªo apagadas diretamente, sem que o usuærio saiba. Na prætica, usar um valor tªo alto como 999 faz com que W Acc seja tªo alto que possa ser mal interpretado [20]. Para evitar este problema, o mesmo autor faz uma compara ªo com uma base mais simples: onde nenhum ltro estæ presente - assim mensagens leg timas nunca sªo bloqueadas e spams nªo sªo classicados. A versªo de base do erro e da exatidªo sªo denidas como: W Acc b = N H N H + N S (4.9) W Err b = N S N H + N S (4.10) Para nalizar, Androutsopoulos apresenta tambøm o total cost ratio (TCR) como o par metro nal de medida de desempenho dos ltros anti-spam: 71

T CR = W Errb W Err (4.11) Dessa forma, quanto maior TCR, melhor Ø o ltro, e TCR deve ser sempre maior que um, ou seja, W Err seræ menor que o valor de base W Err b. Se TCR for menor que um signica que o sistema Ø pior do que o valor de base - o ltro estæ prejudicando o desempenho - e seria melhor nªo utilizæ-lo. Agora que jæ foram expostas as diversas formas de medida de desempenho, serªo mostrados como os dados foram utilizados, assim como os experimentos realizados. 4.2 Dados utilizados e prepara ªo dos experimentos Conforme discutido na se ªo 3.2.2, a base de dados SpamAssassin foi dividida em trœs subconjuntos: Treinamento (60%) - este conjunto continha 2484 hams e 2484 spams: utilizado para treinar a rede neural; Testes (20%) - este conjunto continha 832 hams e 832 spams: utilizado como teste da rede para vericar o treinamento da mesma; Valida ªo (20%) - este conjunto continha 826 hams e 826 spams: utilizado para vericar a capacidade de generaliza ªo da rede, aløm de medir seu desempenho nal. 72

4.2.1 Congura ªo dos Experimentos Ap s a divisªo dos dados, foram gerados os vetores de entrada da rede neural para diversos casos. A primeira variævel foi o tamanho do vetor caracter stico. Foram testados vetores de dimensıes 6, 12 e 25. Isto signica que a rede neural deve ter essas dimensıes de entrada para cada caso. Para cada dimensªo do vetor caracter stico, foram gerados os casos de testes, variando-se o møtodo de sele ªo de caracter sticas, DF, 2 e MI. Finalmente, para cada møtodo de sele ªo de caracter stica, foram gerados vetores utilizando indexa ªo por peso binærio. 4.2.2 Arquitetura da Rede Neural A rede neural (MLP) foi avaliada de acordo com os experimentos realizados. Ela foi congurada para ter 6, 12 e 25 unidades de entrada. Diferentes arquiteturas, incluindo de trœs atø vinte unidades na camada intermediæria (ou oculta) foram utilizadas. A camada de sa da continha unidades lineares para evitar at spots, de acordo com Fahlman [31]. A ativa ªo de cada perceptron da camada oculta foi atribu da fun ªo sigmoidal. O treinamento foi feito baseado em Øpocas. Ao nal de cada Øpoca, a taxa de aprendizado e o momento foram modicados, e o erro total calculado. O treinamento foi realizado com valida ªo cruzada, isto Ø, ele Ø interrompido sempre que o erro total aumenta no conjunto de testes. A taxa de treinamento Ø sempre reduzida em 50% quando o erro total aumenta, e aumentada de 2% quando 73

o erro diminui. O momento Ø desativado atø o nal do treinamento se o erro total aumenta. Na sa da da rede foram utilizadas duas unidades em todos os experimentos: (0 1) quando os padrıes negativos sªo apresentados entrada da rede, isto Ø, um e-mail leg timo ou ham; (1 0) quando os padrıes positivos, ou seja, um spam Ø apresentado entrada da rede. Para inicializa ªo dos pesos, foi utilizado um valor aleat rio entre [-0,5; 0,5]. 4.3 Resultados Experimentais Nesta se ªo serªo mostrados os resultados dos experimentos realizados, bem como a anælise dos resultados obtidos para o conjunto de valida ªo. 4.3.1 MLP com 6 n s de entrada Foram realizados trœs experimentos, com 6 n s de entrada, usando DF, 2 e MI. Os resultados obtidos estªo apresentados nas tabelas 4.1, 4.2 e 4.3, onde SP: spam precision; HP: ham precision; SR: spam recall; HR: ham recall; WAcc: weighted accuracy; TCR: total cost ratio. SP HP SR HR WAcc WAcc b TCR 1 88,80% 50,00% 4,47 87,05% 90,72% 91,16% 86,44% 9 86,91% 90,00% 0,76 999 86,45% 99,90% 0,01 Tabela 4.1: Experimento 1 - Rede com 6 entradas, DF binærio 74

SP HP SR HR WAcc WAcc b TCR 1 95,04% 50,00% 10,07 93,76% 96,38% 96,49% 93,58% 9 93,87% 90,00% 1,63 999 93,59% 99,90% 0,02 Tabela 4.2: Experimento 2 - Rede com 6 entradas, qui quadrado binærio SP HP SR HR WAcc WAcc b TCR 1 96,00% 50,00% 12,52 94,50% 97,62% 97,70% 94,31% 9 94,65% 90,00% 1,87 999 94,31% 99,90% 0,02 Tabela 4.3: Experimento 3 - Rede com 6 entradas, MI binærio No primeiro experimento, a rede classicou incorretamente 112 hams e 73 spams. No segundo, pode-se observar uma melhora, jæ que a rede classicou incorretamente 53 e 29 padrıes de ham e spam, respectivamente. Isso indica de que o møtodo de sele ªo de caracter sticas utilizado Ø importante na classica ªo. No terceiro experimento, a rede classicou incorretamente 47 hams e 19 spams. Observando o valor TCR, que indica o desempenho nal da rede, nota-se que a mesma s Ø viævel para o DF com 6 entradas se classicar um spam incorretamente tiver o mesmo peso que classicar um e-mail leg timo (=1). JÆ para os møtodos 2 e MI podem ser usados tanto =1 quanto =9, indicando uma melhoria. 4.3.2 MLP com 12 n s de entrada Neste caso, aumentou-se o nœmero de n s de entrada da MLP para doze unidades e foram realizados testes com DF, 2 e MI. Os resultados do desempenho da rede sªo apresentados nas tabelas 4.4, 4.5 e 4.6, onde SP: spam precision; HP: ham precision; SR: spam recall; HR: ham recall; WAcc: weighted accuracy; TCR: total cost ratio. Nota-se uma melhora signicativa em rela ªo rede com apenas 6 perceptrons de 75

SP HP SR HR WAcc WAcc b TCR 1 93,58% 50,00% 7,79 91,57% 95,80% 96,00% 91,16% 9 91,65% 90,00% 1,20 999 91,17% 99,90% 0,01 Tabela 4.4: Experimento 4 - Rede com 12 entradas, DF binærio SP HP SR HR WAcc WAcc b TCR 1 97,76% 50,00% 22,32 97,36% 98,17% 98,18% 97,34% 9 97,42% 90,00% 3,88 999 97,34% 99,90% 0,04 Tabela 4.5: Experimento 5 - Rede com 12 entradas, qui quadrado binærio entrada. Observa-se tambøm que os resultados obtidos utilizando 2 e MI sªo bem melhores que a distribui ªo DF. No quarto experimento, a rede classicou incorretamente 73 e-mails leg timos e 33 spams, no quinto experimento os erros foram de 22 hams e 15 spams e, no sexto, foram classicados incorretamente 27 hams e 12 spams. 4.3.3 MLP com 25 n s de entrada Finalmente, aumentou-se o nœmero de n s de entrada da MLP para vinte e cinco unidades e foram realizados testes com DF, 2 e MI. Os resultados do desempenho da rede desse caso estªo apresentados nas tabelas 4.7, 4.8 e 4.9, onde SP: spam precision; HP: ham precision; SR: spam recall; HR: ham recall; WAcc: weighted accuracy; TCR: total cost ratio. No søtimo experimento, a MLP classicou incorretamente 23 padrıes de ham e SP HP SR HR WAcc WAcc b TCR 1 97,64% 50,00% 21,18 96,79% 98,52% 98,55% 96,73% 9 96,91% 90,00% 3,24 999 96,73% 99,90% 0,03 Tabela 4.6: Experimento 6 - Rede com 12 entradas, MI binærio 76

SP HP SR HR WAcc WAcc b TCR 1 95,88% 50,00% 12,15 97,14% 94,69% 94,55% 97,22% 9 96,95% 90,00% 3,28 999 97,21% 99,90% 0,04 Tabela 4.7: Experimento 7 - Rede com 25 entradas, DF binærio SP HP SR HR WAcc WAcc b TCR 1 99,58% 50,00% 118 100% 99,16% 99,15% 100% 9 99,92% 90,00% 118 999 100% 99,90% 118 Tabela 4.8: Experimento 8 - Rede com 25 entradas, qui quadrado binærio 45 padrıes de spam. No oitavo experimento, a rede classicou corretamente todos os padrıes de ham e incorretamente apenas 7 padrıes de spam. Por m, no oitavo experimento a rede classicou corretamente todos os padrıes de ham e spam. Os resultados obtidos sªo muito promissores. A porcentagem de classica ıes corretas Ø bem alta, principalmente no caso MI com 25 entradas, onde nªo houve nenhuma classica ªo incorreta. Isto mostra que a MLP Ø capaz de generalizar para diferentes tipos de padrıes de hams e spams. 4.4 AnÆlise dos Resultados Observando os resultados, nota-se que a rede neural foi capaz de classicar corretamente boa parte dos spams, principalmente em um dos testes, onde nªo houve classica ªo errada de nenhum e-mail leg timo e spam, que Ø um resultado excep- SP HP SR HR WAcc WAcc b TCR 1 100% 50,00% 1 100% 100% 100% 100% 9 100% 90,00% 1 999 100% 99,90% 1 Tabela 4.9: Experimento 9 - Rede com 25 entradas, MI binærio 77

cional. Nesse caso, o TCR da rede Ø innito, indicando um caso de ltro ideal, conforme foi mostrado na se ªo 4.1. A tabela 4.10 apresenta um resumo dos resultados obtidos. Os valores de classica ªo correta de ham e spam desta tabela correspondem, respectivamente, aos valores de Ham Recall (HR) e Spam Recall (SR) das tabelas anteriores. Exp. N o Sele ªo Classic. correta Classic. correta entradas caract. ham (%) spam (%) 1 6 DF 86,44 91,16 2 6 2 93,58 96,49 3 6 MI 94,31 97,70 4 12 DF 91,16 96,00 5 12 2 97,34 98,18 6 12 MI 96,73 98,55 7 25 DF 97,22 94,55 8 25 2 100,00 99,15 9 25 MI 100,00 100,00 Tabela 4.10: Resultados dos experimentos Para um melhor entendimento da qualidade destes resultados, Ø feita uma compara ªo com resultados reportados por um artigo de Chuan, Xianliang, Mengshu e Xu [28], onde foram realizados experimentos com trœs diferentes modelos de ltro anti-spam com a base de dados Spam Assassin Public Corpus. O primeiro utilizou um classicador Naïve Bayesian (NBC), o segundo utilizou uma rede de perceptrons com mœltiplas camadas (MLP), enquanto que o terceiro utilizou uma learning vector quantization (LVQ), um modelo mais complexo de redes neurais. Nos dois œltimos testes eles utilizaram 100 entradas na rede neural. No artigo, eles reportaram que o NBC atingiu uma taxa de 86,48% de classica ıes corretas de padrıes spam, enquanto que os modelos MLP e LVQ atingiram 78

91,26% e 93,58%, respectivamente. Estes resultados sªo pobres quando comparados com os mostrados na tabela 4.10. Os autores deste trabalho removeram todos os anexos e informa ªo HTML dos e-mails da base SpamAssassin. Desse modo, pode-se observar a import ncia dessas partes no ltro anti-spam, validando o trabalho do prø-ltro. Uma das razıes para as taxas de classica ıes corretas apresentadas pela rede se deve aos dois møtodos de sele ªo de caracter sticas utilizados: o 2, que apresentou resultados muito bons em diversas referœncias, como em Goetschi [23], Yang e Pedersen [24] e Zhang et al. [20]; e o MI, cujo alto desempenho foi contrærio ao encontrado por Yang e Pedersen [24]. O MI foi aplicado em alguns trabalhos como Androutsopoulos et al. [17], Chuan et al. [28] e zg r, G ng r e G rgen [5]. Nesse trabalho, as redes testadas apresentaram um nœmero menor de padrıes de entradas (ao contrærio dos demais citados neste parægrafo). Isso Ø importante porque, com uma rede menor, o tempo de treinamento se torna menor e a tarefa de otimiza ªo mais ræpida. O tempo de classica ªo Ø extremamente cr tico para um ltro, pois, em um servidor, podem passar por minuto centenas de e-mails, de acordo com Gomes et al. [30]. Comparando o desempenho do ltro anti-spam, variando o nœmero de atributos (no caso da medida de desempenho para o ltro onde nªo hæ peso negativo ao classicar erroneamente um e-mail leg timo, gura 4.1), nota-se que para o caso de DF hæ uma pequena melhora conforme o aumento do nœmero de atributos, mas que nªo Ø suciente para se chegar perto do ganho com 2 e MI. Nesse caso, as medidas de desempenho indicam que todos os møtodos de sele ªo de caracter sticas poderiam ser usados sem problemas, jæ que apresentam sempre TCR>1. 79

Figura 4.1: Compara ıes com Filtros Baseline ( = 1) 80

Figura 4.2: Compara ıes entre Filtros ( = 9) Tal arma ªo jæ nªo Ø vælida para os casos de = 9 (gura 4.2) e = 999 (gura 4.3), onde o desempenho Ø bem menor, pois uma classica ªo errada Ø severamente punida na avalia ªo de desempenho. Para = 9, usando DF, o ltro ainda Ø viævel, caso a rede contenha 12 ou 25 entradas e, usando 2 e MI, a rede Ø viævel em todos os casos. Contudo, no caso de = 999, o sistema anti-spam s seria viævel para os casos onde se utiliza 2 e MI com 25 entradas. Uma observa ªo importante a ser feita Ø que em nenhuma referœncia do presente trabalho, onde foram feitas as avalia ıes de desempenho apresentadas, foi encontrado 81

Figura 4.3: Compara ıes entre Filtros ( = 999) 82

um valor de TCR tªo alto quanto aquele obtido por MI em uma rede neural com 25 entradas. Isso indica a qualidade do trabalho e comprova, mais uma vez, a fundamental import ncia da prø-ltragem realizada, aløm da correta sele ªo de caracter sticas e treinamento da rede neural. Neste trabalho foi atribu do extrema import ncia ao prø-ltro, como foi explicado no cap tulo 2. Uma boa ltragem de dados permitiu que a sele ªo de caracter sticas fosse feita com sucesso com uma quantidade menor de entradas para a rede que aquela adotada nas referœncias bibliogræcas. Foram aplicadas diferentes tøcnicas para o prø- ltro, o que permitiu o aumento do desempenho geral do sistema anti-spam. Entre as tøcnicas, citam-se: Processamento de todos e-mails no seu formato original, sem retirada de partes como anexos, guras e campos HTML; AnÆlise dos anexos, ou seja, eles nªo foram tratados s como anexos, cada tipo foi tratado de forma diferente; Retirada de caracteres invælidos e palavras muito curtas ou grandes, permitindo uma melhora na sele ªo de caracter sticas; Processamento complexo dos textos HTML com diferentes algoritmos para extrair o mæximo de informa ªo relevante para o sistema, isso tambøm permitiu uma melhora na sele ªo de caracter sticas e ganhos no sistema como um todo; Utiliza ªo de diversos algoritmos para detec ªo de padrıes t picos de spammers. 83

4.5 Distribui ªo do Software Conforme exposto anteriormente, o software anti-spam foi desenvolvido em sua maior parte em Java: tanto o sistema de prø-ltragem como a sele ªo de caracter stica e montagem do vetor caracter stico. O projeto foi desenvolvido usando orienta ªo a objetos, o que garante modularidade, exibilidade e possibilidade de reutiliza ªo do software. Todos os møtodos desenvolvidos foram bem documentados. Existe a possibilidade de que o software seja distribu do, primeiramente no meio acadœmico, com intuito de novas melhorias e adapta ıes, funcionando na prætica para o controle de spams. Ap s tais testes acadœmicos, hæ tambøm a possibilidade do pacote ser distribu do na Internet como uma ferramenta aberta (open-source). Qualquer desenvolvedor poderia criar novos m dulos de integra ªo ao sistema, fazendo com que seu desempenho aumente, conforme as tøcnicas dos spammers se alteram. Desse modo, o sistema caria sempre atualizado, garantindo o seu bom desempenho por tempo indeterminado. 84

CAP TULO 5 CONCLUS ES E TRABALHOS FUTUROS Neste trabalho foi proposto o desenvolvimento de um ltro anti-spam com uma rede neural articial como classicador. As redes neurais articiais sªo usadas em diversos trabalhos de classica ªo de texto, por isso a escolha para o møtodo de classica ªo. Os spams, que sªo e-mails indesejados recebidos por qualquer pessoa com uma conta de e-mail na Internet, normalmente contœm informa ıes de publicidade que nªo foram requisitadas. Os spammers (enviadores de spams), podem conseguir os endere os de e-mails de diversas formas: comprar listas de e-mails que certas empresas criam, rastrear a Internet na busca de e-mails em pæginas de sites, colocar nomes aleat rios antes de dom nios conhecidos (ex.: nome_qualquer@yahoo.com). Os primeiros ltros anti-spam eram bastante simples, pois os spams continham informa ıes bvias, por exemplo, no assunto da mensagem. O usuærio simplesmente colocava um ltro em seu gerenciador de e-mails. Com o desenvolvimento de novas formas de spam, a tarefa tornou-se mais dif cil. Assim, surgiram novas tøcnicas que exigiam ltros cada vez mais complexos e com melhor capacidade de detec ªo e adapta ªo. Analisando-se diversas propostas de ltro anti-spam atualmente em uso, observou-se que as mesmas nªo apresentaram resultados tªo bons e taxas de falsos positivos (classicar e-mails leg timos como spams) desejæveis para o usuærio nal. 85

A proposta foi, entªo, o desenvolvimento de um sistema anti-spam diferente dos desenvolvidos atø o momento. Esse daria Œnfase maior ao prø-ltro, pois os atuais sistemas anti-spam se preocupam mais com melhoria da classica ªo. Com o prø-ltro, o sistema tornou-se capaz de selecionar melhor as caracter sticas e o classicador mostrou um desempenho muito melhor, pois o uso de tøcnicas de categoriza ªo simplica o trabalho da MLP. Em conseq Œncia, o conjunto de dados se tornou mais simples e uniforme, aløm de ter partes desnecessærias removidas. Assim, foram estudadas algumas tøcnicas de camuagem reportadas atø o momento e desenvolvidos algoritmos que permitiram detectar as tentativas de enganar os ltros que nªo seriam notadas por nenhum sistema classicador atual, inclusive as redes neurais. Muitas informa ıes, antes ignoradas por diversos trabalhos, foram aproveitadas, mesmo padrıes ainda desconhecidos foram tratados pelo sistema. Para que estas tøcnicas de prø-ltragem pudessem ser aplicadas com sucesso, foi necessærio uma base de dados com e-mails em seu formato original. TambØm, para realizar o treinamento da rede neural, foi necessærio obter uma base de dados grande, tanto com e-mails leg timos, quanto spams. Assim sendo, foi escolhida uma base reconhecida na comunidade cient ca e por empresas desenvolvedoras de ltros antispam: a base pœblica SpamAssassin. Essa base de dados possui todas as caracter sticas desejæveis: aløm de ter uma quantidade razoævel de e-mails spams e hams, mantøm os e-mails em sua forma original, sem retirar nenhuma informa ªo. Em outras bases de dados existentes, aplicadas em trabalhos de diversos artigos, como a base LingSpam [18], os campos HTML e os anexos foram removidos. Ap s a ltragem dos dados, foi efetuada a separa ªo dos dados em trœs sub- 86

conjuntos: treinamento, teste e valida ªo. O conjunto de treinamento e o de teste foram usados durante a fase de treinamento da rede neural. O conjunto de valida ªo, para validar a rede neural, ou seja, fazer medidas de desempenho e avalia ªo nal do sistema. As redes neurais tœm como entrada um vetor, chamado de vetor caracter stico. Esse vetor contøm informa ıes, as mais relevantes poss veis, para aprendizado eciente. Para esse prop sito, foi realizado a sele ªo estat stica, a m de se calcular quais caracter sticas comporiam o vetor caracter stico. Para a classica ªo textual, as caracter sticas foram as palavras originais dos e-mails e tambøm as palavras inseridas pelo prø-ltro, de acordo com algoritmos. Na literatura existem diversas formas de se realizar a sele ªo. No presente trabalho foram usadas as tøcnicas DF, 2 e

Finalmente, realizou-se o treinamento da rede neural MLP. Foram testadas diversas arquiteturas MLP, com nœmero de perceptrons variando na camada oculta, aløm da varia ªo da taxa de aprendizado e momento. Assim, obteve-se a rede com melhor desempenho para o sistema. O nœmero de entradas foi alterado na busca da melhor rede, ou seja, melhor rela ªo custo/benef cio - jæ que uma rede com nœmero de entradas muito grande apresentaria um tempo de treinamento muito alto, aløm da demora na classica ªo de novos padrıes. Ap s a obten ªo dos dados nais da rede neural, foram realizadas as medidas de desempenho da rede. Os dados encontrados foram muito promissores, principalmente no caso da MLP com apenas 25 entradas, usando MI e indexa ªo binæria. Nesse caso, nªo houve nenhuma classica ªo incorreta de e-mails leg timos e spams, no conjunto de valida ªo que continha 1652 padrıes de e-mails. Este resultado Ø excepcional e nªo foi encontrado em nenhuma referœncia tal qualidade de classica ªo. Os resultados desse trabalho foram apresentados na Lecture Notes in Computer Science [25]. Este resultado excelente valida todo o trabalho desenvolvido no prø-ltro, indicando que Ø uma parte importante do sistema e nªo pode ser ignorado. Cabe observar que Ø desejævel que sempre haja atualiza ıes no sistema, buscando adaptæ-lo a novos padrıes de spams que possam surgir. Um sistema r gido (que nªo

sªo resultantes da detec ªo de padrıes e das tags HTML ) presentes nos vetores caracter sticos estªo em inglœs. A princ pio, isto pode nªo ser um problema grave, jæ que a grande maioria dos spams recebidos estªo em inglœs (de 90 a 95%, de acordo com Vauhini Vara [34] - o que confere com o maior originador de spams, os Estados Unidos [35]). Entretanto, estas estat sticas podem mudar com o passar do tempo. Portanto, o sistema deveræ ser capaz de detectar corretamente os padrıes de spam recebidos. As palavras que estªo no vetor caracter stico que nªo sªo dependentes do idioma (resultantes da detec ªo de padrıes e das tags HTML) podem ajudar na detec ªo correta de spams em outras linguagens, mas a precisªo do ltro diminuiria e o nœmero de falsos positivos e falsos negativos poderia aumentar a um n vel nªo desejævel. Por esta razªo, na pr xima se ªo serªo mostradas duas solu ıes que poderªo ser utilizadas para contornar este problema. 5.1 Trabalhos Futuros Durante o trabalho e ap s a conclusªo do mesmo, foram encontrados alguns pontos que poderiam ser modicados ou melhor trabalhados, proporcionando algumas melhorias no sistema. A rede neural utilizada no trabalho foi a MLP com uma camada intermediæria. Poderiam ser testadas outras arquiteturas, entre as quais, podem-se citar: Altera ªo no nœmero de camadas intermediærias e perceptrons nessas camadas; Testar vetores caracter sticos com outros tamanhos; Utiliza ªo de outros tipos de redes neurais, como as redes de Kohonen. As 89

redes de Kohonen usam uma arquitetura diferente das MLP. O treinamento Ø nªo-supervisionado e a rede aprende novos padrıes atravøs da reorganiza ao dos perceptrons vizinhos em torno do vencedor (aquele que apresenta um resultado melhor para o padrªo de entrada). Esta regiªo se especializa em um determinado tipo de entrada, como por exemplo, spams, e regiıes diferentes classicam padrıes diferentes. Poderiam ser testados outros tipos de classicadores, como os sistemas baseados em l gica Fuzzy com aprendizagem, utilizados como classicadores em diversas Æreas, como no trabalho de Nozaki, Ishibuchi e Tanaka [36] e no trabalho na Ærea de ling s- tica de Alcala et al. [37]. Alguns autores apresentaram classicadores baseados em regras com aprendizado, como Golding e Rosenbloom [38]. Em outros trabalhos foram criados sistemas mistos, baseados em sistemas fuzzy com regras e tambøm sistemas fuzzy com redes neurais, como os apresendados por Cord n, del Jesus e Herrera [39] e por Castellano e Fanelli [40], respectivamente. Com o uso de sistemas mistos, isto Ø, que utilizam diferentes tøcnicas de inteligœncia articial, existe a possibilidade de aproveitar as melhores caracter sticas de cada tøcnica, podendo serem obtidos melhores resultados do que os obtidos por cada tøcnica isoladamente, de acordo com Medsker [41]. Desta forma, sªo interessantes de serem analisados e comparados com o presente trabalho. Nesse trabalho foram testados trœs møtodos de sele ªo de caracter sticas, o DF, 2 e MI. Existem outros møtodos, como o Information Gain (IG), que tambøm pode ser testado, e que apresentou bons resultados em alguns trabalhos, como os de Yang 90

e Pedersen, [24], Zhang et al. [20] e de Sakkis e Androutsopoulos et al. [19]. O IG mede o nœmero de bits de informa ªo obtidos para a predi ªo de categorias atravøs do conhecimento da presen a ou ausœncia de um termo em uma mensagem. JÆ para gerar o vetor caracter stico, foi utilizado a tøcnica de indexa ªo binæria. A indexa ªo normal tambøm poderia ser aplicada para compara ªo. A base de dados SpamAssassin foi a œnica testada. Dentre as encontradas em diversas referœncias e na Internet, esta foi a œnica julgada ideal para o trabalho, pois continha os e-mails originais, ao contrærio da LingSpam, PU1 e PU123A. O sistema poderia ser testado para valida ªo em outras bases de e-mails, caso estas estejam dispon veis e contenha os e-mails sem altera ªo. O prø-ltro foi a parte mais explorada no presente trabalho. O sistema foi todo desenvolvido em Java, utilizando Orienta ªo a Objetos, aløm de estar todo bem documentado. Dessa forma, adicionar uma nova funcionalidade ao prø-ltro nªo exige grandes adapta ıes ao sistema. Devido forma modular com que foi desenvolvido, adicionar novos algoritmos de detec ªo de novos padrıes e tentativas de camuagem de spams Ø mais simples. No trabalho foram criados diversos algoritmos, como aparece na se ªo 2.2.3. Poderiam ser adicionados outros algoritmos para detectar novos padrıes medida em que estes forem surgindo. Dentre algumas melhorias, podem-se citar: Algoritmo de detec ªo de texto em imagens. Alguns spams mais recentes apresentam um texto considerado leg timo pelos ltros, mas contœm uma imagem que Ø exibida antes do texto, que nada mais Ø do que a imagem do texto com o 91

spam. Desta forma, os ltros podem classicar o e-mail como vælido. Este tipo de algoritmo de detec ªo nªo foi implementado no trabalho pois adicionaria um tempo computacional alto. Tal implementa ªo talvez seja viævel em um futuro pr ximo, quando o tempo de reconhecimento de texto em imagens nªo seja um fator impactante no desempenho geral do sistema. Uma idøia razoævel no momento Ø estudar estas imagens visando a extra ªo de alguma informa ªo relevante, que nªo exija cælculos computacionais intensivos, como a cor de fundo da imagem e tamanho. Estes valores seriam salvos como informa ªo e poderiam ser utilizados na sele ªo de caracter sticas (como criar um campo espec co no vetor caracter stico); Aperfei oar o algoritmo de detec ªo de palavras separadas por caracteres invælidos, como espa os, pontos, tra os, etc. Os spammers podem separar uma palavra de diversas formas e, mesmo assim, fazer com que ela continue leg vel para o ser humano, mas consegue passar pelo ltro sem ser detectada; Criar um algoritmo que analise outros tipos de cabe alhos dos e-mails. No presente trabalho apenas o assunto foi avaliado pelo prø-ltro. Zhang, Zhu e Yao [20] constataram que classicadores usando vetor caracter stico com apenas o cabe alho, atingiram resultados comparæveis queles com apenas a mensagem principal. Algumas entradas na rede neural poderiam ser dedicadas s caracter sticas extra das apenas do cabe alho. Os algoritmos poderiam ser integrados na forma de plugins, ou seja, m dulos criados por outros desenvolvedores, sendo adicionados ao sistema atravøs de uma 92

interface græca espec ca. VÆrios m dulos seriam agregados, assim como os atuais poderiam ser aperfei oados ou removidos, de acordo com a necessidade. Uma interface græca completa poderia ser desenvolvida para o controle de todo o sistema. A ordem de execu ªo dos plugins tambøm seria alterada, de acordo com as informa ıes tratadas. Lee, Hui e Fong [27] testaram uma forma diferente de compor o vetor caracter stico: 55 entradas foram obtidas na sele ªo de dados, porøm eles usaram entradas dedicadas a outras informa ıes, como a posi ªo de ocorrœncia de certas informa ıes espec cas e o nœmero de ocorrœncia de certos termos. O trabalho nªo foi de classica ªo de spams, mas algumas entradas espec cas da rede neural poderiam representar informa ıes especiais, como a presen a de imagens indicativas de spam e dados do cabe alho. O tipo de decisªo adotado neste trabalho foi binærio, ou seja, o e-mail Ø considerado spam ou leg timo, nªo existindo meio termo. Poderia ser explorada outra forma de classica ªo nal, onde a decisªo Ø linear. Isto Ø poss vel porque a sa da da rede neural Ø linear - Ø dada uma pontua ªo ao e-mail na entrada que varia entre dois extremos indicando a classica ªo do mesmo. Neste trabalho usou-se uma faixa indicando um e-mail spam, e outra, ham. Pode-se, por exemplo, adicionar uma terceira faixa, onde a classica ªo nªo foi precisa ao indicar se o e-mail Ø um spam - ela seria intermediæria as duas faixas xas adotadas atualmente. As mensagens poderiam ser entªo salvas em uma terceira pasta do gerenciador de e-mail do usuærio. A princ pio pode parecer uma mæ solu ªo, entretanto, considerando-se o alto custo de um falso positivo, vericar esta pasta pode nªo ser considerado grave. O usuærio poderia modicar as faixas que deseja para cada pasta, ajustando melhor o ltro, de acordo com 93

suas preferœncias. Existe ainda possibilidade de distribuir o software, inicialmente no meio acadœmico, para uso no controle de spams. A princ pio, o software poderia ser integrado em um servidor para testes, onde seriam feitos os ajustes iniciais junto com o servidor de recebimento de e-mails POP3 1. obtido, o software seria integrado Posteriormente, de acordo com o desempenho servidores de grande træfego de e-mails. Nessa fase, o sistema deveræ ter um desempenho conævel o suciente para nªo acrescentar atrasos no servi o de e-mails. A forma mais indicada para o tratamento dos e-mails classicados como spams, em um primeiro momento, seria adicionar um texto, como "[SPAM]", no assunto do e-mail. AlØm disso, seria acrescentado um ltro em cada gerenciador de e-mail para que estes fossem movidos para uma caixa de spams. Logo que o sistema fosse validado na prætica, caso o usuærio deseje, estes spams poderiam ser apagados automaticamente. Ap s os testes no meio acadœmico - dependendo dos resultados obtidos - o sistema poderæ ser distribu do na Internet sob licen a GNU 2. O desenvolvimento na Internet se dæ de forma ræpida, jæ que pessoas ou organiza ıes de diversos lugares e conhecimento poderiam participar. Assim, novos plugins para o prø-ltro poderiam ser desenvolvidos, o que daria uma maior exibilidade ao sistema desenvolvido. Foram levantadas duas solu ıes para o caso da linguagem dos spams, citado na primeira parte deste cap tulo. A primeira consiste na utiliza ªo de bases de dados diferentes para cada idioma desejado. Seria entªo necessærio o treinamento de 1 POP3 - Servidor responsævel por entregar os e-mails para os usuærios. 2 Licen a GNU dispon vel em http://www.gnu.org/licenses/. usada para distribui ªo de software livre. 94

uma rede neural diferente para cada idioma. A precisªo na classica ªo poderia ser aumentada sensivelmente, jæ que cada classicador teria nas suas entradas as palavras espec cas corretamente escolhidas. PorØm, existem algumas desvantagens nesta solu ªo: Necessidade de bases de dados de spams diferentes para cada linguagem adotada; Seria necessærio identicar o idioma de cada e-mail que Ø enviado ao sistema, o que nªo Ø uma tarefa trivial. A segunda solu ªo seria adotar uma base de dados com spams de todas as linguagens desejadas. Desta forma, nªo seriam necessærias grandes adapta ıes ao sistema jæ desenvolvido. Contudo, com o aumento do nœmero de palavras diferentes, provenientes dos demais idiomas adicionados, o nœmero de entradas da rede neural deveræ ser aumentado para que a precisªo de classica ªo nªo seja prejudicada. Ambas as solu ıes poderiam ser testadas e, a partir das medidas de desempenhos, a melhor poderia ser escolhida para ser adotada em aplica ıes præticas. 95

BIBLIOGRAFIA [1] Fawcett, T., "In vivo spam ltering: A challenge problem for KDD", ACM SIGKDD Explorations 5 (2003) 140-148 [2] PÆgina da Internet, SpamCop Statistics, Ironport Systems, Inc. Dispon vel em: http://www.spamcop.net/spamgraph.shtml?spammonth. Acesso em 08.10.2006. [3] Cournane, A., Hunt, R., "An analysis of the tools used for the generation and prevention of spam", Computers & Security 23 (2004) 154-166 [4] Evett, D., PÆgina da Internet, Spam Statistics 2006. Dispon vel em: http://spam- lter-review.toptenreviews.com/spam-statistics.html. Acesso em 08.10.2006. [5] zg r, L., G ng r, T., G rgen, F., "Adaptive anti-spam ltering for agglutinative languages: a special case for Turkish", Pattern Recognition Letters 25 (2004) 1819-1831 [6] Beale, R., Jackson, T., "Neural Computing: An Introduction", IOP Publishing Ltd., Bristol, UK (1990) [7] Bishop, C.M., "Neural Networks for Pattern Recognition", Oxford University Press (1995) [8] Gomes, L.H., Cazita, C., Almeida, J.M., Almeida, V., Meira Junior, W., "Characterizing a spam trac", Proceedings of the Internet Measurement Conference, ACM SIGCOMM (2004) 96

[9] Peeger, S.L., Bloom, G., "Canning spam: Proposed solutions to unwanted e- mail", IEEE Security & Privacy 3 (2005) 40-47 [10] Zorkadis, V., Karras, D.A., Panayotou, M., "Ecient information theoretic strategies for classier combination, feature extraction and performance evaluation in improving false positives and false negatives for spam e-mail ltering", Neural Networks 18 (2005) 799-807 [11] Haykin, S., "Neural Networks: A Comprehensive Foundation", 2 edn, Prentice- Hall, Inc (1999) [12] McCulloch, W. S., Pitts, W. "A Logical Cauculos of the Ideas Immanent in Nervus Activity", Bulletin of Mathematical Biophysics, vol 5, (1943) 115-133. [13] Rosenblatt, R., "Principles of Neurodynamics", Spartan Books, New York (1959) [14] Rosenblatt, R., "The perceptron: A perceiving and recognizing automaton", Report 85-460-1, Project PARA, Cornell Aeronautical Laboratory, Nova Iorque (1957) [15] Minsky, M., Papert, S., "Perceptrons", MIT Press, Cambridge (1969) [16] Rumelhart, D.E., Hinton, G.E., McClelland, J.L., "A general framework for parallel distributed processing", Rumelhart, D.E., McClelland, J.L., the PDP Research Group, eds.: Parallel Distributed Processing. Volume 1. The MIT Press, Cambridge, MA (1986) 45-76 [17] Androutsopoulos, I., Koutsias, J., Chandrinos, K.V., Paliouras, G., Spyropoulos, C.D., "An evaluation of naive Bayesian anti-spam Filtering", Proceedings of the Workshop on Machine Learning in the New Information Age (2000) 9-17. [18] PÆgina da Internet, Internet Content Filtering Group, National Centre for Scientic Research. Dispon vel em: http://www.iit.demokritos.gr/skel/i-con g/. Acesso em 09.08.2006. 97

[19] Sakkis, G., Androutsopoulos, I., Paliouras, G., Karkaletsis, V., Spyropoulos, C.D., Stamatopoulos, P., "A Memory-Based Approach to Anti-Spam Filtering for Mailing Lists", Information Retrieval, v. 6, n. 1. (2003) 49-73.

[29] Drucker, H., Wu, D., Vapnik, V.N., "Support vector machines for spam categorization", IEEE Transactions on Neural networks 10 (1999) 1048-1054 [30] Gomes, L. H., Cazita, C., Almeida, J. M., Almeida, V., Meira Jr., W., "Characterizing a Spam Tra c", Internet Measurement Conference (2004) [31] Fahlman, S.E., "An empirical study of learning speed in back-propagation networks", Technical Report CMU-CS-88-162, School of Computer Science - Carnegie Mellon University, Pittsburgh, PA (1988) [32] PÆgina da Internet, IBM Research IBM/EPFL Blue Brain Project, IBM R. Dispon vel em: http://domino.research.ibm.com/comm/pr.nsf/pages/rsc.bluegene_cognitive.html. Acesso em 26.10.2006. [33] Hidalgo, J.G., "Evaluating cost-sensitive unsolicited bulk e-mail categorization", Proceedings of SAC-02, 17th ACM Symposium on Applied Computing, 615620 (2002) [34] PÆgina da Internet, Vara, V., "Rise in Non-English Spam Challenges Junk Mail Filters". Dispon vel em: http://www.barracudanetworks.com/ns/news_and_events/news.php?nid=112. Acesso em 14.01.2007. [35] PÆgina da Internet, Spamhaus Statistics, Worst Countries, "The Top 10". Dispon vel em: http://www.spamhaus.org/statistics/countries.lasso. Acesso em 14.01.2007. [36] Nozaki, K., Ishibuchi, H., Tanaka, H., "Adaptive Fuzzy Rule-Based Classication Systems", IEEE Transactions on Fuzzy Systems, Vol.4, No.3, pp. 238-250 (1996) [37] Alcala, R., Casillas, J., Cord n, O., Herrera, F., Zwir, I., "Techniques for Learning and Tuning Fuzzy Rule-Based Systems for Linguistic Modeling and Their Application", C.T. Leondes (ed.), Knowledge Engineering. Systems, Techniques and Applications, Academic Press (1999) 99

[38] Golding, A. R., Rosenbloom, P. S., "Improving rule-based systems through casebased reasoning", Proceedings of the Ninth National Conference on Articial Intelligence, Anaheim, CA, pp. 2227 (1991) [39] Cord n, O., del Jesus, M.J., Herrera, F., "A proposal on reasoning methods in fuzzy rule-based classication systems," International Journal of Approximate Reasoning, Vol. 20 (1), pp. 21-45 (1999) [40] Castellano, G., Fanelli, A. M., "A self-organizing neural fuzzy inference network", Proceedings of IEEE Int. Joint Conference on Neural Networks (IJCNN2000), Como, Italy, 5, pp. 14-19 (2000) [41] Medsker, L. R., "Hybrid Intelligent Systems", Department of Computer Science and Information Systems, The American University, Kluwer Academic Publishers (1995) 100

AP NDICES A Exemplos de Ofusca ªo dos Spams Alguns exemplos de tøcnicas utilizadas pelos spammers sªo apresentadas nesta se ªo do apœndice. Tags HTML invælidos O texto abaixo nªo contøm nenhuma tag HTML vælida, e Ø utilizado para enganar os ltros anti-spam: < O ministro da PresidŒncia boliviano, Juan Ram n Quintana, fez votos para que a Petrobras compreenda que jæ nªo estæ "no reino das anomalias, que jæ nªo estæ vivendo diante de governos marionetes". O alto funcionærio fez esta arma ªo faltando s doze horas para vencer o prazo que a companhia petrol fera e outras sete companhias, entre elas a hispanoargentina Repsol YPF, tœm para assinar seus novos contratos de opera ªo na Bol via. > Uso de imagens com texto A gura 5.1 mostra um exemplo de um spam dentro de uma imagem. Note que o texto exibido Ø uma imagem: 101

Figura 5.1: Exemplo de Spam com HTML em branco Textos invis veis Os textos exemplicados abaixo, quando inseridos em um e-mail HTML (casos a e c), ou no cabe alho (caso b), nªo serªo exibidos ao usuærio pelo gerenciador de e-mail. Contudo, um ltro anti-spam comum pode processæ-los, fazendo com que o spam seja classicado erroneamente como ham: (a) 2034892423084 2039840348 unanimously repetition 209384093 20938403948 20384034 modem (noun) a device or program that enables a computer to transmit data 94032948 (b) X-Mime-Key: search words: interface external telephone momem cooper modulate cdma gsm signal voice fax second protocol bps bits per second (c) <font color=fdfcfd size=1>circumstances lot out chance oh. modern ought wonder cousin.</font> Note que no caso c o texto Ø exibido. Entretanto, como a fonte utilizada Ø branca e o fundo tambøm o Ø, o usuærio nªo seræ capaz de ver o texto. As guras 5.2 e 5.3 102