DETECÇÃO DE S SPAM UTILIZANDO REDES NEURAIS ARTIFICIAIS

Tamanho: px
Começar a partir da página:

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

Transcrição

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

2 UNIVERSIDADE FEDERAL DE ITAJUBÁ PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA DETECÇÃO DE S 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

3

4 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

5 RESUMO O , a correspondœncia eletr nica da Internet, cresceu sensivelmente nos œltimos anos e, simultaneamente, houve um aumento considerævel no nœmero de s indesejados recebidos pelos usuærios, os spam s. 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 s 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 s. Muitas vezes apresentam altas taxas de falsos positivos e falsos negativos, que Ø a classica ªo errada de s normais e de spams, respectivamente. A proposta deste trabalho Ø o desenvolvimento de um sistema anti-spam, com maior Œnfase na prø-ltragem dos s. 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

6 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 s normais e de spams. vi

7 ABSTRACT The service has signicantly grown in recent years and also the number of spam s received by the users. A spam 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 s and spam s 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 s. The pre-lter is responsible for transforming the information in the s 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 s. vii

8 CONTE DO LISTA DE TABELAS xii LISTA DE FIGURAS xiv 1 INTRODU ˆO Descri ªo do problema Import ncia do problema Deslocamento de Custo Fraude Desperd cio de Recursos Perda de s leg timos Listas Negras Solu ıes existentes e problemas MØtodos estæticos MØtodos din micos Problemas com os falsos positivos e falsos negativos Proposta de Solu ªo PR -FILTRO E REDES NEURAIS PrØ-ltro e a Classica ªo de s Descri ªo de um A informa ªo nos s viii

9 2.1.3 A import ncia do prø-ltro Desenvolvimento do prø-ltro "Tokenização" e processamento HTML MØtodos utilizados pelos spammers Detec ªo de padrıes conhecidos Processamento dos s Demais processamentos Redes Neurais Articiais Neur nio Biol gico Modelo BÆsico de um Neur nio Algoritmo de Aprendizagem da Unidade

10 PU1 e PU123A Corpus SpamAssassin Corpus Escolha da Base de Dados

11 4.3.3 MLP com 25 n s de entrada AnÆlise dos Resultados Distribui ªo do Software CONCLUS ES E TRABALHOS FUTUROS Trabalhos Futuros AP NDICES A Exemplos de Ofusca ªo dos Spams Tags HTML invælidos Uso de imagens com texto Textos invis veis ComentÆrios HTML Texto redundante B Tags Processados no PrØ-ltro C Exemplos de Processamento do Sistema Exemplo de ham Exemplo de spam D Exemplos de Vetores Caracter sticos Exemplo xi

12 LISTA DE TABELAS 2.1 Processamento Tags HTML Tabela Verdade OU-EXCLUSIVO Conjunto de Treinamento XOR Experimento 1 - Rede com 6 entradas, DF binærio Experimento 2 - Rede com 6 entradas, qui quadrado binærio Experimento 3 - Rede com 6 entradas, MI binærio Experimento 4 - Rede com 12 entradas, DF binærio Experimento 5 - Rede com 12 entradas, qui quadrado binærio Experimento 6 - Rede com 12 entradas, MI binærio Experimento 7 - Rede com 25 entradas, DF binærio Experimento 8 - Rede com 25 entradas, qui quadrado binærio Experimento 9 - Rede com 25 entradas, MI binærio Resultados dos experimentos Exemplos de Vetores Caracter sticos xii

13 LISTA DE FIGURAS 1.1 Estat sticas de spams recebidos e reportados para a SpamCop em Outubro de 2006 [2] Visªo Geral da Proposta de Solu ªo Exemplo de um com estrutura MIME multipart Classes do Sistema de PrØ-Processamento Software em Java - PrØ-processamento dos s Imagem de parte do SN humano [32] Estrutura bæsica de um neur nio Neur nio Articial Modelagem do Neur nio BÆsico Outras Fun ıes de Ativa ªo Perceptron de Rosenblatt Representa ªo Vetorial da Divisªo em Classes Comportamento do Vetor de Pesos W Evolu ªo na Classica ªo de Padrıes S mbolo da Fun ªo L gica OU-EXCLUSIVO Fun ªo OU-EXCLUSIVA no Espa o Bidimensional Novo Modelo Multicamadas Fun ªo L gica XOR - Impossibilidade de Separa ªo Linear Rede Treinada para Fun ªo L gica XOR xiii

14 2.18 MLP com 3 perceptrons Regiªo de Decisªo: combina ªo de 2 perceptrons Perceptrons como Classicadores Programa em Java - Gera ªo do Vetor Caracter stico Compara ıes com Filtros Baseline ( = 1) Compara ıes entre Filtros ( = 9) Compara ıes entre Filtros ( = 999) Exemplo de Spam com HTML em branco Exemplo de spam com texto invis vel Exemplo de spam com o texto invis vel selecionado xiv

15 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 , que Ø uma forma de mensagem eletr nica enviada a um ou mais destinatærios. medida que a Internet cresceu, o tornou-se uma ferramenta popular, tendo o seu uso foi generalizado. Assim qualquer pessoa com acesso Internet pode ter uma conta de 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 s de propagandas indesejados tornou-se uma mania presente na correspondœncia eletr nica. Este tipo de Ø chamado de spam (ou junk mail, bulk mail e unsolicited commercial ). 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 s normais ou leg timos que trafegam pela rede sªo 1 Alguns servi os de dispon veis gratuitamente sªo: Yahoo ( Hotmail ( e Gmail ( 2 Isto Ø, sem saber quem sªo os destinatærios. 1

16 denominados de ham s. 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 , 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 s 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 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

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

18 contenha. Os spams podem causar preju zos s pessoas e s empresas, na medida que se aumenta a quantidade de s 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 s 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 s 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 Em 1998 [5], a quantidade de spams era de aproximadamente 10% de todos os s 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

19 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 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 s 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 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

20 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 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 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 s ham podem demorar a chegar 6

21 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 s. Com o aumento da quantidade de spams, os problemas de congestionamento tendem a aumentar Perda de s leg timos Algumas contas de 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 s. Quando o limite Ø atingido, os novos s que chegam sªo descartados pelo servidor, podendo causar sørios preju zos Listas Negras Alguns provedores de Internet estªo implementando as chamadas listas negras 6. Estas listas contœm endere os de s 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 lter-bl.htm 7 A lista MAPS RBL group Ø conhecida por fazœ-lo [3]. 7

22 seu 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 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 como spam. Assim, o seu servidor de (ou mesmo gerenciador de 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 Ø o programa responsævel por carrregar as mensagens do servidor e disponibilizæ-las ao usuærio. 8

23 servidores de 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 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 . O usuærio pode criar ltros especiais no seu gerenciador de s, 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 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 s 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 s 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

24 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 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 10

25 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 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

26 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 Problemas com os falsos positivos e falsos negativos A classica ªo de s enfrenta um grave problema, que Ø a classica ªo incorreta de mensagens leg timas. O falso positivo ocorre quando um ham Ø classicado erroneamente como um spam. O inverso, ou seja, um spam classicado como leg timo, tambøm ocorre, e Ø chamado de falso negativo. Quando um usuærio recebe na sua caixa de entrada de s 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

27 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 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 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 s 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

28 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 s 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 a rede neural articial Ø responsævel por classicar os dados do prø-ltro, indicando se o 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

29 CAP TULO 2 PR -FILTRO E REDES NEURAIS O prø-ltro Ø um software desenvolvido para processar s, 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 s. 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 s Para entender a necessidade da prø-ltragem dos dados Ø preciso apresentar a estrutura de um , como Ø feito a seguir Descri ªo de um Um Ø 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 . 15

30 O corpo do 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 de maneira adequada. O corpo do pode utilizar uma extensªo especial chamada MIME [27], que estende a capacidade do , 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 . 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 s podem apresentar a estrutura de uma Ærvore, que precisa ser processada recursivamente, conforme o exemplo da gura A informa ªo nos s A informa ªo presente em um 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

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

32 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 s 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 s gravados em dado local do computador, tambøm permitindo que os s alterados sejam gravados ap s as altera ıes do prø-ltro. A classe ProcessaMensagens Ø responsævel por abrir os s e acessar suas diferentes partes (cabe alhos, corpo e anexos), inclu ndo os conteœdos MIME citados na se ªo A classe TokenSubst foi criada para separar as palavras encontradas no corpo dos s e enviæ-las classe DetectaPadroes. Ambas serªo explicadas em mais detalhes ao longo desta se ªo "Tokenização" e processamento HTML A classe de tokenização 3 TokenSubst faz parte do nœcleo principal de processamento dos s, 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

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

34 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 s spams, e tambøm padrıes invælidos, conforme seræ descrito na se ªo 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

35 <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æ s 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

36 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=" "> address</label>" Ø substitu do por "!_in_label 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

37 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 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

38 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 . 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 . 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 (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

39 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 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 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 Ø 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

40 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; s. Toda referœncia a um endere o de encontrado na mensagem Ø uniformizado na sa da. Exemplo: a frase "Mande para compreaqui@loja.com.br" caria "mande para!_ ". Qualquer tipo de endere o Ø colocado na sa da como "!_ "; URLs ou hyperlinks. Assim como no caso de s, 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

41 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 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 Processamento dos s Para processar cada 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

42 Figura 2.3: Software em Java - PrØ-processamento dos s No caso de ser do tipo "multipart/alternative", explicado nas se ıes 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 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 Ø substitu da pela string "!_ANEXO_TIPO?image/gif". 28

43 2.2.5 Demais processamentos Ap s os s 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 s 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, 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

44 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 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

45 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

46 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

47 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 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

48 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

49 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

50

51 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 Algoritmo de Aprendizagem da Unidade Perceptron O algoritmo de aprendizagem de uma unidade perceptron

52 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 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

53 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 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 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 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

54 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 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

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

56 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

57 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 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

58 Figura 2.15: Novo Modelo Multicamadas 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

59 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] 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

60 diferenciæveis. Assim, Ø assumido o uso da fun ªo sigmoidal, f(t) = 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

61 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 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

62 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

63 Figura 2.17: Rede Treinada para Fun ªo L gica XOR 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 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

64 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]) 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

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

66 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 s. Nªo existe uma fun ªo matemætica clara que separe os s corretamente. As redes neurais podem detectar padrıes diferentes atravøs do treinamento e classicar corretamente novos s. 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

67 CAP TULO 3 CONJUNTOS DE DADOS E DISTRIBUI ES UTILIZADAS No processo de classica ªo, os s 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 Ø transformado em um vetor de entrada v n de dimensªo n 0 v n = 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 s 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

68 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 Bases de Dados Pœblicas Existem bases de dados de s dispon veis na Internet para serem utilizados em testes. Algumas delas serªo descritas, assim como suas vantagens e desvantagens 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

69 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] 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

70 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 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 . Ex.: nome@servidor.com.br -> o hostname Ø servidor.com.br. 56

71 Existem 1897 spams e 4150 hams no conjunto, ou seja, aproximadamente 31% de spams 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 s pessoal. Desta forma, observase que a distribui ªo de s 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 s. Assim sua distribui ªo Ø mais pr xima ao de um usuærio comum. O SpamAssassin possui os s 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 s estªo no formato original, o sistema desenvolvido para o SpamAssassin pode ser facilmente utilizado em ltros de s em værias aplica ıes præticas. 57

72 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 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 PrØ-processamento para Gera ªo do Vetor Caracter stico Ap s o processo descrito na se ªo 2.2.4, todos os s limpos sªo gravados em diret rios. Cada 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 Ø representado por um objeto da classe No s. As seguintes informa ıes sªo retiradas de cada arquivo e guardadas neste objeto: Classica ªo do spam ou ham; 58

73 Lista hash 2 com todas as palavras do e o nœmero de ocorrœncias de cada palavra. Por necessidade de cælculos estat sticos, a classe Lista s armazena todos os s na classe No s. Esta classe tambøm armazena os dados em uma lista hash, usando o par (nome do , No s). Uma outra classe armazena todas as palavras encontradas em todos os s, chamada NoPalavras. Para armazenar a lista de todas as palavras de todos os s, 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 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

74 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

75 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 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)

76 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] 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

77 onde P (spam) e P (ham) sªo as probabilidades de ocorrœncia de s 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 s, dentro da classe c, que contøm a caracter stica w; l Ø o nœmero de s, dentro da classe c, que contøm a caracter stica w; m Ø o nœmero de s, dentro da classe c, que nªo contøm a caracter stica w; n Ø o nœmero de s, dentro da classe c, que nªo contøm a caracter stica w; e N Ø o nœmero total de s 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 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

78 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 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 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 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

79 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 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 . 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 ; 65

80 Peso binário (Binary weighting), se uma palavra i ocorre pelo menos uma vez no , a i Ø 1, se nªo ocorre, a i Ø 0; Peso normal (Normal weighting), considerando-se as palavras do 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 . 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 s 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 da base de dados. No apœndice D Ø mostrado um 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

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

82 CAP TULO 4 RESULTADOS OBTIDOS rede neural, foi aplicada a base de s SpamAssassin 1, conforme descrito em 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 s; 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 e

83 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

84 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 leg timo como spam Ø muito mais grave que deixar um spam passar como 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 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

85 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 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

86 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

87 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 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

88 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 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 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, ,45% 99,90% 0,01 Tabela 4.1: Experimento 1 - Rede com 6 entradas, DF binærio 74

89 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, ,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, ,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 leg timo (=1). JÆ para os møtodos 2 e MI podem ser usados tanto =1 quanto =9, indicando uma melhoria 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

90 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, ,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, ,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 s 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 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, ,73% 99,90% 0,03 Tabela 4.6: Experimento 6 - Rede com 12 entradas, MI binærio 76

91 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, ,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% % 99,16% 99,15% 100% 9 99,92% 90,00% % 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 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% % 99,90% 1 Tabela 4.9: Experimento 9 - Rede com 25 entradas, MI binærio 77

92 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, ,58 96, MI 94,31 97, DF 91,16 96, ,34 98, MI 96,73 98, DF 97,22 94, ,00 99, 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

93 91,26% e 93,58%, respectivamente. Estes resultados sªo pobres quando comparados com os mostrados na tabela Os autores deste trabalho removeram todos os anexos e informa ªo HTML dos s 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 s, 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 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

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

95 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

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

97 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 s 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

98 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

99 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 s indesejados recebidos por qualquer pessoa com uma conta de 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 s de diversas formas: comprar listas de s que certas empresas criam, rastrear a Internet na busca de s 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 s. 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 s leg timos como spams) desejæveis para o usuærio nal. 85

100 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 s em seu formato original. TambØm, para realizar o treinamento da rede neural, foi necessærio obter uma base de dados grande, tanto com s 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 s spams e hams, mantøm os s 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

101 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 s 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

102 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 s leg timos e spams, no conjunto de valida ªo que continha 1652 padrıes de s. 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

103 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

104 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

105 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 s originais, ao contrærio da LingSpam, PU1 e PU123A. O sistema poderia ser testado para valida ªo em outras bases de s, caso estas estejam dispon veis e contenha os s 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 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

106 spam. Desta forma, os ltros podem classicar o 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 s. 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

107 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 Ø 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 na entrada que varia entre dois extremos indicando a classica ªo do mesmo. Neste trabalho usou-se uma faixa indicando um spam, e outra, ham. Pode-se, por exemplo, adicionar uma terceira faixa, onde a classica ªo nªo foi precisa ao indicar se o Ø 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 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

108 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 s POP3 1. obtido, o software seria integrado Posteriormente, de acordo com o desempenho servidores de grande træfego de s. Nessa fase, o sistema deveræ ter um desempenho conævel o suciente para nªo acrescentar atrasos no servi o de s. A forma mais indicada para o tratamento dos s classicados como spams, em um primeiro momento, seria adicionar um texto, como "[SPAM]", no assunto do . AlØm disso, seria acrescentado um ltro em cada gerenciador de 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 s para os usuærios. 2 Licen a GNU dispon vel em usada para distribui ªo de software livre. 94

109 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 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

110 BIBLIOGRAFIA [1] Fawcett, T., "In vivo spam ltering: A challenge problem for KDD", ACM SIGKDD Explorations 5 (2003) [2] PÆgina da Internet, SpamCop Statistics, Ironport Systems, Inc. Dispon vel em: Acesso em [3] Cournane, A., Hunt, R., "An analysis of the tools used for the generation and prevention of spam", Computers & Security 23 (2004) [4] Evett, D., PÆgina da Internet, Spam Statistics Dispon vel em: lter-review.toptenreviews.com/spam-statistics.html. Acesso em [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) [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

111 [9] Peeger, S.L., Bloom, G., "Canning spam: Proposed solutions to unwanted e- mail", IEEE Security & Privacy 3 (2005) [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 ltering", Neural Networks 18 (2005) [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) [13] Rosenblatt, R., "Principles of Neurodynamics", Spartan Books, New York (1959) [14] Rosenblatt, R., "The perceptron: A perceiving and recognizing automaton", Report , 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) [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) [18] PÆgina da Internet, Internet Content Filtering Group, National Centre for Scientic Research. Dispon vel em: g/. Acesso em

112 [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)

113 [29] Drucker, H., Wu, D., Vapnik, V.N., "Support vector machines for spam categorization", IEEE Transactions on Neural networks 10 (1999) [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 , 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: Acesso em [33] Hidalgo, J.G., "Evaluating cost-sensitive unsolicited bulk categorization", Proceedings of SAC-02, 17th ACM Symposium on Applied Computing, (2002) [34] PÆgina da Internet, Vara, V., "Rise in Non-English Spam Challenges Junk Mail Filters". Dispon vel em: Acesso em [35] PÆgina da Internet, Spamhaus Statistics, Worst Countries, "The Top 10". Dispon vel em: Acesso em [36] Nozaki, K., Ishibuchi, H., Tanaka, H., "Adaptive Fuzzy Rule-Based Classication Systems", IEEE Transactions on Fuzzy Systems, Vol.4, No.3, pp (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

114 [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 (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 (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 (2000) [41] Medsker, L. R., "Hybrid Intelligent Systems", Department of Computer Science and Information Systems, The American University, Kluwer Academic Publishers (1995) 100

115 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

116 Figura 5.1: Exemplo de Spam com HTML em branco Textos invis veis Os textos exemplicados abaixo, quando inseridos em um HTML (casos a e c), ou no cabe alho (caso b), nªo serªo exibidos ao usuærio pelo gerenciador de . Contudo, um ltro anti-spam comum pode processæ-los, fazendo com que o spam seja classicado erroneamente como ham: (a) unanimously repetition modem (noun) a device or program that enables a computer to transmit data (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

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

DETECÇÃO DE E-MAILS SPAM UTILIZANDO REDES NEURAIS ARTIFICIAIS 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

Leia mais

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

E por que, mesmo seguindo as melhores práticas, isso acontece? Entregabilidade Caixa de Spam é um termo que causa calafrios em todos que trabalham com email marketing. Mesmo quando seguimos as melhores práticas de email, ainda assim pode acontecer de não conseguirmos

Leia mais

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 3-1. A CAMADA DE REDE (Parte 1) A camada de Rede está relacionada à transferência de pacotes da origem para o destino. No entanto, chegar ao destino pode envolver vários saltos em roteadores intermediários.

Leia mais

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

Figura 5.1.Modelo não linear de um neurônio j da camada k+1. Fonte: HAYKIN, 2001 47 5 Redes Neurais O trabalho em redes neurais artificiais, usualmente denominadas redes neurais ou RNA, tem sido motivado desde o começo pelo reconhecimento de que o cérebro humano processa informações

Leia mais

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

Redes Neurais. A IA clássica segue o paradigma da computação simbólica Abordagens não simbólicas A IA clássica segue o paradigma da computação simbólica Redes Neurais As redes neurais deram origem a chamada IA conexionista, pertencendo também a grande área da Inteligência

Leia mais

Arquitetura de Rede de Computadores

Arquitetura de Rede de Computadores TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador

Leia mais

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

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados 1. Introdução O governo é um dos maiores detentores de recursos da informação. Consequentemente, tem sido o responsável por assegurar que tais recursos estejam agregando valor para os cidadãos, as empresas,

Leia mais

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

Do neurônio biológico ao neurônio das redes neurais artificiais Do neurônio biológico ao neurônio das redes neurais artificiais O objetivo desta aula é procurar justificar o modelo de neurônio usado pelas redes neurais artificiais em termos das propriedades essenciais

Leia mais

MANUAL DE BOAS PRÁTICAS

MANUAL DE BOAS PRÁTICAS MANUAL DE BOAS PRÁTICAS Este manual é de uso exclusivo de clientes, parceiros, fornecedores e colaboradores da Dinamize. No caso de dúvidas, entre em contato através do e-mail suporte@dinamize.com. HTML

Leia mais

DESENVOLVIMENTO DE UM REPOSITÓRIO DE DADOS DO FUTEBOL BRASILEIRO

DESENVOLVIMENTO DE UM REPOSITÓRIO DE DADOS DO FUTEBOL BRASILEIRO Universidade Federal de Ouro Preto - UFOP Instituto de Ciências Exatas e Biológicas - ICEB Departamento de Computação - DECOM DESENVOLVIMENTO DE UM REPOSITÓRIO DE DADOS DO FUTEBOL BRASILEIRO Aluno: Rafael

Leia mais

3 Qualidade de Software

3 Qualidade de Software 3 Qualidade de Software Este capítulo tem como objetivo esclarecer conceitos relacionados à qualidade de software; conceitos estes muito importantes para o entendimento do presente trabalho, cujo objetivo

Leia mais

3 Dicas MATADORAS Para Escrever Emails Que VENDEM Imóveis

3 Dicas MATADORAS Para Escrever Emails Que VENDEM Imóveis 3 Dicas MATADORAS Para Escrever Emails Que VENDEM Imóveis O que é um e- mail bem sucedido? É aquele e- mail que você recebe o contato, envia o e- mail para o cliente e ele te responde. Nós não estamos

Leia mais

WebMail --------------------------------------------------------------------------------------------------------------- Manual do cliente

WebMail --------------------------------------------------------------------------------------------------------------- Manual do cliente WebMail --------------------------------------------------------------------------------------------------------------- Manual do cliente www.plugin.com.br 1 ÍNDICE Prefácio...3 Sobre Este Manual... 3

Leia mais

Manual do Usuário. Protocolo

Manual do Usuário. Protocolo Manual do Usuário Protocolo Índice de capítulos Parte I - Processos............................... 01 1 - Buscar................................ 01 2 - Listar................................ 02 3 - Abertura..............................

Leia mais

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

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia O Sistema Operacional que você usa é multitasking? Por multitasking, entende-se a capacidade do SO de ter mais de um processos em execução ao mesmo tempo. É claro que, num dado instante, o número de processos

Leia mais

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

3 Estratégia para o enriquecimento de informações 34 3 Estratégia para o enriquecimento de informações Podemos resumir o processo de enriquecimento de informações em duas grandes etapas, a saber, busca e incorporação de dados, como ilustrado na Figura

Leia mais

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

Resolução da lista de exercícios de casos de uso Resolução da lista de exercícios de casos de uso 1. Explique quando são criados e utilizados os diagramas de casos de uso no processo de desenvolvimento incremental e iterativo. Na fase de concepção se

Leia mais

Etapas da criação de uma campanha de email marketing

Etapas da criação de uma campanha de email marketing Etapas da criação de uma campanha de email marketing EMAIL MARKETING Como já vimos, e-mail marketing é o uso do e-mail como uma ferramenta de marketing direto, possibilitando que uma empresa ou marca atinja

Leia mais

E-mail (eletronic mail )

E-mail (eletronic mail ) E-mail (eletronic mail ) alice@gmail.com bob@yahoo.com.br Alice escreve uma carta Entrega no correio da sua cidade Que entrega pra o carteiro da cidade de Bob Bob responde também através de carta 1 Processo

Leia mais

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

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores Conceitos Básicos de Rede Um manual para empresas com até 75 computadores 1 Conceitos Básicos de Rede Conceitos Básicos de Rede... 1 A Função de Uma Rede... 1 Introdução às Redes... 2 Mais Conceitos Básicos

Leia mais

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

O primeiro passo é verificar se a pasta Junk está disponível entre as pastas IMAP do usuário: Reportando SPAM e Não-SPAM através do Horde Webmail Esse material permite que o usuário possa personalizar seu webmail corretamente para controlar o recebimento de SPAMs e realizar o treinamento da ferramenta

Leia mais

Política de privacidade do Norton Community Watch

Política de privacidade do Norton Community Watch Política de privacidade do Norton Community Watch Data de início: 5 de agosto de 1999 Última atualização: 16 de abril de 2010 O que é o Norton Community Watch? O Norton Community Watch permite que os usuários

Leia mais

Especificação do Trabalho Prático

Especificação do Trabalho Prático Especificação do Trabalho Prático O professor Thomas é um homem muito ocupado. Tem, em sua agenda, uma série de compromissos que ele deve atender em 2009. De tantos compromissos que tem, resolveu contratar

Leia mais

agility made possible

agility made possible RESUMO DA SOLUÇÃO Utilitário ConfigXpress no CA IdentityMinder a minha solução de gerenciamento de identidades pode se adaptar rapidamente aos requisitos e processos de negócio em constante mudança? agility

Leia mais

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

Coleção - Análises de email marketing em clientes de email Coleção - Análises de email marketing em clientes de email Introdução Nesta útima edição da Coletânea de Análises de Email Marketing em Clientes de Email, apresentamos os estudos dos clientes Yahoo! Mail

Leia mais

Plano de Continuidade de Negócios

Plano de Continuidade de Negócios Plano de Continuidade de Negócios Objetivo Contingenciar situações e incidentes de segurança que não puderam ser evitados. Deve ser eficaz como um pára-quedas reserva o é em um momento de falha do principal,

Leia mais

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

Série Manuais. Tudo o que você deve saber sobre SPAM Série Manuais Tudo o que você deve saber sobre SPAM www.allinmail.com.br introdução Com o objetivo de instruir cada vez mais nossos clientes, criamos este documento que esclarece as dúvidas mais comuns

Leia mais

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

Trabalho 7 Fila de prioridade usando heap para simulação de atendimento Trabalho 7 Fila de prioridade usando heap para simulação de atendimento Data: 21/10/2013 até meia-noite Dúvidas até: 09/10/2013 Faq disponível em: http://www2.icmc.usp.br/~mello/trabalho07.html A estrutura

Leia mais

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

DIRETORIA DE TECNOLOGIA DA INFORMAÇÃO SETOR DE ESTÚDIO E SUPORTE MANUAL DE UTILIZAÇÃO DO WEBMAIL DA FTC EAD DIRETORIA DE TECNOLOGIA DA INFORMAÇÃO SETOR DE ESTÚDIO E SUPORTE MANUAL DE UTILIZAÇÃO DO WEBMAIL DA FTC EAD Salvador Bahia Março/2010 MANUAL DE UTILIZAÇÃO DO WEBMAIL Este manual contém a descrição das

Leia mais

Manual das funcionalidades Webmail AASP

Manual das funcionalidades Webmail AASP Manual das funcionalidades Webmail AASP 1. Configurações iniciais 2. Regras 3. Histórico da conta 4. Autorresposta 5. Dados de acesso (alterando senha de acesso) 6. Identidade (assinatura) 7. Redirecionamento

Leia mais

Entendendo como funciona o NAT

Entendendo como funciona o NAT Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços

Leia mais

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

7 Ações para afastar a crise Utilizando o marketing para melhorar suas vendas. Criamos uma pequena lista de ações ligados ao marketing na internet que nem chega a ser um diferencial. Será o mínimo para que você com seu negócio consiga se manter no mercado e continuar a gerar lucros.

Leia mais

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

Coleção - Análises de email marketing em clientes de email Coleção - Análises de email marketing em clientes de email Introdução Nesta quinta edição da Coletânea de Análises de Email Marketing em Clientes de Email, apresentamos o estudo do Windows Mail, um cliente

Leia mais

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

Relatório Trabalho Prático 2 : Colônia de Formigas para Otimização e Agrupamento Relatório Trabalho Prático 2 : Colônia de Formigas para Otimização e Agrupamento Ramon Pereira Lopes Rangel Silva Oliveira 31 de outubro de 2011 1 Introdução O presente documento refere-se ao relatório

Leia mais

Manual do Instar Mail v2.0

Manual do Instar Mail v2.0 Manual do Instar Mail v2.0 Sumário Conteúdo Menu Principal... 2 Menu Cliente... 3 Pagina Categorias do Instar-Mail... 4 Importação... 4 Campanhas... 8 Cadastramento de campanhas do Instar-Mail... 9 Ações

Leia mais

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

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 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 Departamento de Informática do SUS - DATASUS Manual operacional

Leia mais

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

3.1 Definições Uma classe é a descrição de um tipo de objeto. Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Classes Autoria:Aristófanes Corrêa Silva Adaptação:

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA

UNIVERSIDADE FEDERAL DE SANTA CATARINA UNIVERSIDADE FEDERAL DE SANTA CATARINA CIÊNCIAS DA COMPUTAÇÃO MÁQUINAS DE COMITÊ APLICADAS À FILTRAGEM DE SPAM Monografia submetida à UNIVERSIDADE FEDERAL DE SANTA CATARINA para a obtenção do grau de BACHAREL

Leia mais

Antes de tudo... Obrigado!

Antes de tudo... Obrigado! Antes de tudo... Obrigado! Eu, Luiz Felipe S. Cristofari, agradeço por ter baixado esse PDF. Criei esse material para ajudar você a ter mais sucesso com suas ideias na internet e fico muito feliz quando

Leia mais

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

Módulo 4. Construindo uma solução OLAP Módulo 4. Construindo uma solução OLAP Objetivos Diferenciar as diversas formas de armazenamento Compreender o que é e como definir a porcentagem de agregação Conhecer a possibilidade da utilização de

Leia mais

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

FERRAMENTAS DE EMAIL Usada para visualizar emails (correio eletrônico). FERRAMENTAS DE EMAIL Usada para visualizar emails (correio eletrônico). CLIENTE DE EMAIL - OUTLOOK (Microsoft Office). - Outlook Express (Windows). - Mozilla Thunderbird (Soft Livre). - Eudora. - IncredMail.

Leia mais

Computador Digital Circuitos de um computador (Hardware)

Computador Digital Circuitos de um computador (Hardware) Computador Digital SIS17 - Arquitetura de Computadores (Parte I) Máquina que pode resolver problemas executando uma série de instruções que lhe são fornecidas. Executa Programas conjunto de instruções

Leia mais

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

Módulo 6 Usando a Internet. Internet. 3.1 Como tudo começou Módulo 6 Usando a Internet Internet 3.1 Como tudo começou A internet começou a se desenvolver no ano de 1969 onde era chamada de ARPANET, criada pelo departamento de defesa dos Estados Unidos com o propósito

Leia mais

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

Algoritmos Estruturas Seqüenciais. José Gustavo de Souza Paiva Algoritmos Estruturas Seqüenciais José Gustavo de Souza Paiva 1 Introdução Objetivo básico da computação auxiliar os seres humanos em trabalhos repetitivos e braçais, diminuindo i i d esforços e economizando

Leia mais

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

Acessando o SVN. Soluções em Vendas Ninfa 2 Acessando o SVN Para acessar o SVN é necessário um código de usuário e senha, o código de usuário do SVN é o código de cadastro da sua representação na Ninfa, a senha no primeiro acesso é o mesmo código,

Leia mais

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

1. Explicando Roteamento um exemplo prático. Através da análise de uns exemplos simples será possível compreender como o roteamento funciona. Aula 14 Redes de Computadores 24/10/07 Universidade do Contestado UnC/Mafra Sistemas de Informação Prof. Carlos Guerber ROTEAMENTO EM UMA REDE DE COMPUTADORES A máscara de sub-rede é utilizada para determinar

Leia mais

Manual de Utilização do Zimbra

Manual de Utilização do Zimbra Manual de Utilização do Zimbra Compatível com os principais navegadores web (Firefox, Chrome e Internet Explorer) o Zimbra Webmail é uma suíte completa de ferramentas para gerir e-mails, calendário, tarefas

Leia mais

2 Fundamentação Conceitual

2 Fundamentação Conceitual 2 Fundamentação Conceitual 2.1 Computação Pervasiva Mark Weiser define pela primeira vez o termo Computação Ubíqua ou Computação Pervasiva (Ubiquitous Computing) em (10). O autor inicia o trabalho com

Leia mais

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

TECNOLOGIA WEB Aula 1 Evolução da Internet Profa. Rosemary Melo TECNOLOGIA WEB Aula 1 Evolução da Internet Profa. Rosemary Melo Tópicos abordados Surgimento da internet Expansão x Popularização da internet A World Wide Web e a Internet Funcionamento e personagens da

Leia mais

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

Teste de Usabilidade BEEQO. Data Versão do wireframe Descrição BEEQO Teste de Usabilidade Data Versão do wireframe Descrição 21/03/2012 1.1 Entender o comportamento do usuário com a interface proposta e avaliar os principais problemas de usabilidade. Página 1 de 8

Leia mais

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho vi http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Administração de Redes de Computadores Resumo de Serviços em Rede Linux Controlador de Domínio Servidor DNS

Leia mais

5 Mecanismo de seleção de componentes

5 Mecanismo de seleção de componentes Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações

Leia mais

MANUAL DO ANIMAIL 1.0.0.1142 Terti Software

MANUAL DO ANIMAIL 1.0.0.1142 Terti Software O Animail é um software para criar campanhas de envio de email (email Marketing). Você pode criar diversas campanhas para públicos diferenciados. Tela Principal do sistema Para melhor apresentar o sistema,

Leia mais

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

Documento Descritivo do Mecanismo de Busca. Preparação do Portal para indexação Documento Descritivo do Mecanismo de Busca Este documento visa esclarecer as regras que serão executadas pelo mecanismo de busca para a recuperação de informações a partir de uma palavra e/ou expressão

Leia mais

Temas para a Primeira Avalição

Temas para a Primeira Avalição Temas 1. Envio de E-Mail Anônimo Quando um usuário deseja enviar uma mensagem de correio eletrônico pela Internet, ele utiliza um programa cliente Simple Mail Transfer Protocol (SMTP), tal como o Thunderbird,

Leia mais

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

4 Experimentos. 4.4 detalha os experimentos com os algoritmos V-Wrapper e NCE. 4.1 4 Experimentos A estratégia V-Wrapper descrita por Zheng et. al (ZSW07), resumida no Capítulo 2, foi implementada com a finalidade de comparar um método baseado em atributos visuais com o algoritmo proposto

Leia mais

4 Avaliação Experimental

4 Avaliação Experimental 4 Avaliação Experimental Este capítulo apresenta uma avaliação experimental dos métodos e técnicas aplicados neste trabalho. Base para esta avaliação foi o protótipo descrito no capítulo anterior. Dentre

Leia mais

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

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO Santa Maria, 01 de Novembro de 2013. Revisão aula passada Projeto de Arquitetura Decisões de projeto de Arquitetura

Leia mais

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

Disciplina de Redes de Computadores Estudo Dirigido para a Prova II Professor Dr Windson Viana de Carvalho Disciplina de Redes de Computadores Estudo Dirigido para a Prova II Professor Dr Windson Viana de Carvalho Obs: Não há necessidade de entregar a lista Questões do livro base (Kurose) Questões Problemas

Leia mais

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

Interconexão de redes locais. Repetidores. Pontes (Bridges) Hubs. Pontes (Bridges) Pontes (Bridges) Existência de diferentes padrões de rede Interconexão de redes locais Existência de diferentes padrões de rede necessidade de conectá-los Interconexão pode ocorrer em diferentes âmbitos LAN-LAN LAN: gerente de um determinado setor de uma empresa

Leia mais

Capítulo 13 Pastas e Arquivos

Capítulo 13 Pastas e Arquivos Capítulo 13 Pastas e Arquivos À medida que a tecnologia avança, os dispositivos móveis vão ganhando cada vez mais funções e características que antes só pertenciam aos computadores pessoais. Com a expansão

Leia mais

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

Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação

Leia mais

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

Política de Privacidade do Serviço OurSound para Estabelecimentos Política de Privacidade do Serviço OurSound para Estabelecimentos Esta Política de privacidade explica a política do OurSound no que tange a coleta, utilização, divulgação e transferência de informações,

Leia mais

Modelos Pioneiros de Aprendizado

Modelos Pioneiros de Aprendizado Modelos Pioneiros de Aprendizado Conteúdo 1. Hebb... 2 2. Perceptron... 5 2.1. Perceptron Simples para Classificaçãod e Padrões... 6 2.2. Exemplo de Aplicação e Motivação Geométrica... 9 2.3. Perceptron

Leia mais

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

Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo. Manual de Instruções ECO Editor de Conteúdo Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo. O ECO é um sistema amigável e intui?vo, mas abaixo você pode?rar eventuais dúvidas e aproveitar

Leia mais

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

Possui como idéia central a divisão de um universo de dados a ser organizado em subconjuntos mais gerenciáveis. 3. Tabelas de Hash As tabelas de hash são um tipo de estruturação para o armazenamento de informação, de uma forma extremamente simples, fácil de se implementar e intuitiva de se organizar grandes quantidades

Leia mais

Portal do Projeto Tempo de Ser

Portal do Projeto Tempo de Ser Sumário Portal do Projeto Tempo de Ser O que é um Wiki?...2 Documentos...2 Localizando documentos...3 Links...3 Criando um Documento...4 Criando um link...4 Editando um Documento...5 Sintaxe Básica...5

Leia mais

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

O guia completo para uma presença. online IMBATÍVEL! O guia completo para uma presença online IMBATÍVEL! Sumário Introdução 3 Capítulo 1 - Produção de Conteúdo: Por que e Como produzir 5 Capítulo 2 - Distribuição e Divulgação 8 Capítulo 3 - Monitoramento

Leia mais

Fale.com. Manual do Usuário

Fale.com. Manual do Usuário Fale.com Manual do Usuário Serviço Fale.com Índice 1. Introdução 3 2. Instalando o Fale.com 3 a. Configurando o áudio para atendimento pela Internet 9 3. Configurando o Fale.com 14 4. Utilizando o Fale.com

Leia mais

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE Fabiana Gomes Marinho Faculdade Lourenço Filho Resumo: Na UML, a modelagem conceitual dos dados é descrita pelo diagrama de classes, que através

Leia mais

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

Ingersoll Rand. Sistema de Automação Série-X Ingersoll Rand Sistema de Automação Série- Economia de Energia Por Encomenda! Ingersoll Rand 20% a 60% da energia utilizada para operar os sistemas de ar comprimido são desperdiçados. Isso ocorre principalmente

Leia mais

MANUAL DE BOAS PRÁTICAS

MANUAL DE BOAS PRÁTICAS MANUAL DE BOAS PRÁTICAS Este manual é de uso exclusivo de clientes, parceiros, fornecedores e colaboradores da Dinamize. No caso de dúvidas, entre em contato através do e-mail suporte@dinamize.com. HTML

Leia mais

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO 10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO UMA DAS GRANDES FUNÇÕES DA TECNOLOGIA É A DE FACILITAR A VIDA DO HOMEM, SEJA NA VIDA PESSOAL OU CORPORATIVA. ATRAVÉS DELA, ELE CONSEGUE

Leia mais

02 - Usando o SiteMaster - Informações importantes

02 - Usando o SiteMaster - Informações importantes 01 - Apresentação do SiteMaster - News Edition O SiteMaster foi desenvolvido para ser um sistema simples de gerenciamento de notícias, instalado em seu próprio computador e com configuração simplificada,

Leia mais

Início Rápido para o Templo

Início Rápido para o Templo Início Rápido para o Templo O FamilySearch.org facilita realizar as ordenanças do templo por seus antepassados. Todo o processo tem apenas alguns passos simples: 1. Descobrir antepassados que precisam

Leia mais

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

APRESENTAÇÃO. questões que constantemente chegam ao Suporte de Informática do Órgão Central. APRESENTAÇÃO O presente documento Aplicativos de E-mail / Webmail Nível Básico Perguntas e Respostas tem como principal objetivo disponibilizar aos servidores das Escolas Estaduais do Estado de Minas Gerais

Leia mais

TÉCNICAS DE PROGRAMAÇÃO

TÉCNICAS DE PROGRAMAÇÃO TÉCNICAS DE PROGRAMAÇÃO (Adaptado do texto do prof. Adair Santa Catarina) ALGORITMOS COM QUALIDADE MÁXIMAS DE PROGRAMAÇÃO 1) Algoritmos devem ser feitos para serem lidos por seres humanos: Tenha em mente

Leia mais

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

Introdução. Olá! Seja bem-vindo ao emailmanager. O melhor sistema de email marketing do mercado. 1 Introdução Olá! Seja bem-vindo ao emailmanager. O melhor sistema de email marketing do mercado. Esta guia disponibiliza as principais etapas para sua iniciação ao uso do emailmanager. Nesta guia você

Leia mais

Trabalho Computacional

Trabalho Computacional Universidade Federal do Espírito Santo Departamento de Informática Profª Claudia Boeres Teoria dos Grafos - 2014/2 Trabalho Computacional 1. Objetivo Estudo e implementação de algoritmos para resolução

Leia mais

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

Sistemas Distribuídos: Conceitos e Projeto Eleição de Coordenador Sistemas Distribuídos: Conceitos e Projeto Eleição de Coordenador Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.deinf.ufma.br

Leia mais

Aula 2: Listas e Links

Aula 2: Listas e Links Aula 2: Listas e Links Nesta segunda aula, você aprenderá a utilizar listas numeradas ou não, a entender o que são listas de definições e como fazer referências a outros documentos. Vamos entender a diferença

Leia mais

Criar Newsletters. Guia rápido sobre...

Criar Newsletters. Guia rápido sobre... Guia rápido sobre... Criar Newsletters Neste guia... Saiba como criar atrativas newsletters em texto simples ou HTML para captar a atenção de seus contatos e ir ao encontro de seus interesses e expectativas.

Leia mais

Tutorial 7 Fóruns no Moodle

Tutorial 7 Fóruns no Moodle Tutorial 7 Fóruns no Moodle O Fórum é uma atividade do Moodle que permite uma comunicação assíncrona entre os participantes de uma comunidade virtual. A comunicação assíncrona estabelecida em fóruns acontece

Leia mais

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

1. Introdução. Avaliação de Usabilidade Página 1 1. Introdução Avaliação de Usabilidade Página 1 Os procedimentos da Avaliação Heurística correspondem às quatro fases abaixo e no final é apresentado como resultado, uma lista de problemas de usabilidade,

Leia mais

ADDRESS RESOLUTION PROTOCOL. Thiago de Almeida Correia

ADDRESS RESOLUTION PROTOCOL. Thiago de Almeida Correia ADDRESS RESOLUTION PROTOCOL Thiago de Almeida Correia São Paulo 2011 1. Visão Geral Em uma rede de computadores local, os hosts se enxergam através de dois endereços, sendo um deles o endereço Internet

Leia mais

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

Redes Neurais Artificiais na Engenharia Nuclear 2 Aula-1 Ano: 2005 Redes Neurais Artificiais na Engenharia Nuclear 1 - Apresentação do Professor: dados, lista de E-mail s, etc. - Apresentação da Turma: Estatística sobre origem dos alunos para adaptação do curso - Apresentação

Leia mais

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

Gerenciamento de Recursos para Grades Computacionais Node Control Center. Proposta para o Trabalho de Formatura Supervisionado Trabalho de Formatura Supervisionado Gerenciamento de Recursos para Grades Computacionais Node Control Center Proposta para o Trabalho de Formatura Supervisionado Carlos Eduardo Moreira dos Santos Orientador:

Leia mais

Tecnologia de faixa para falha

Tecnologia de faixa para falha Tecnologia de faixa para falha Por Tom Bell e John Nankivell Índice 1. Introdução 1 2. Equipamento de teste / processo de teste de PIM existente 2 3. Nova análise de RTF / limitações técnicas 3 4. Fluxograma

Leia mais

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

LGTi Tecnologia. Manual - Outlook Web App. Soluções Inteligentes. Siner Engenharia LGTi Tecnologia Soluções Inteligentes Manual - Outlook Web App Siner Engenharia Sumário Acessando o Outlook Web App (Webmail)... 3 Email no Outlook Web App... 5 Criar uma nova mensagem... 6 Trabalhando

Leia mais

Casos de uso Objetivo:

Casos de uso Objetivo: Casos de uso Objetivo: Auxiliar a comunicação entre os analistas e o cliente. Descreve um cenário que mostra as funcionalidades do sistema do ponto de vista do usuário. O cliente deve ver no diagrama de

Leia mais

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

Na Figura a seguir apresento um exemplo de uma mini-tabela de roteamento: Tutorial de TCP/IP - Parte 6 - Tabelas de Roteamento Por Júlio Cesar Fabris Battisti Introdução Esta é a sexta parte do Tutorial de TCP/IP. Na Parte 1 tratei dos aspectos básicos do protocolo TCP/IP. Na

Leia mais

Especificação do 3º Trabalho

Especificação do 3º Trabalho Especificação do 3º Trabalho I. Introdução O objetivo deste trabalho é abordar a prática da programação orientada a objetos usando a linguagem Java envolvendo os conceitos de classe, objeto, associação,

Leia mais

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

4. Tarefa 16 Introdução ao Ruído. Objetivo: Método: Capacitações: Módulo Necessário: Análise de PCM e de links 53-170 4. Tarefa 16 Introdução ao Ruído Objetivo: Método: Ao final desta Tarefa você: Estará familiarizado com o conceito de ruído. Será capaz de descrever o efeito do Ruído em um sistema de comunicações digitais.

Leia mais

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

Nettion Security & Net View. Mais que um software, gestão em Internet. Nettion Security & Net View Mais que um software, gestão em Internet. Net View & Nettion Security Mais que um software, gestão em Internet. A Net View e a Nettion Security Software se uniram para suprir

Leia mais

Uso da ferramenta de mailing

Uso da ferramenta de mailing Uso da ferramenta de mailing A ferramenta e mailing integrada na plataforma SphinxnaWeb permite enviar rapidamente centenas ou milhares de e mails a diversos correspondentes, especialmente para obter respostas

Leia mais