O corpus Spam Assassin (The Apache Software Foundation, 2005) é composto por 6.047 mensagens de e-mail reais, com aproximadamente 31% de spam. As mensagens provêm de várias fontes, incluindo fóruns públicos e mensagens enviadas de e para os desenvolvedores do Spam Assassin. Todos os cabeçalhos foram reproduzidos em sua totalidade. Há ofuscação de endereços3 e os hostnames foram
trocados por spamassassin.taint.org em algumas situações. Entretanto, na maioria dos casos, os cabeçalhos aparecem da mesma forma que foram recebidos. O corpus é composto por cinco partes, descritas na tabela 5.
Tabela 5: Subconjuntos do corpus Spam Assassin.
Subconjunto Hams Spams Descrição
spam - 500 Spams recebidos de fontes reais
easy_ham 2.500 - Mensagens de fácil identificação, por serem com- pletamente diferentes de spams
hard_ham 250 - Mensagens de difícil identificação, por se pare- cerem em muitos aspectos com o spam típico easy_ham_2 1.400 -
Adições recentes ao corpus
spam_2 - 1.397
O corpus tem sido usado tanto para o desenvolvimento do software Apache Spam Assassin (FOUNDATION, 2015) e outros filtros de spam quanto como alvo de avaliação em publicações como Meyer e Whateley (2004), Carpinteiro et al. (2006), Sirisanyalak e Sornil (2007), Pérez-Díaz et al. (2012), Barigou, Beldjilali e
Atmani (2014), Kaya e Ertuğrul (2016) e Shams e Mercer (2016).
Neste trabalho, as cinco partes deste corpus foram consolidadas, gerando um conjunto com mais mensagens e maior variabilidade.
3Técnica que visa esconder (ou dificultar) a identificação de e-mail por bots, mantendo-os ao
4.3.3
TREC
O TREC Spam Track (CORMACK; LYNAM, 2005) (CORMACK; LYNAM, 2006) (CORMACK; LYNAM, 2007) foi a maior e mais realista avaliação de labo- ratório até o momento de sua disponibilização. Nos três anos que funcionou, dez conjuntos de teste com um total de 721.461 mensagens foram utilizados para testar filtros enviados por 35 participantes. Cada participante apresentou até quatro filtros, que foram testados com os e-mails dos corpora. (CORMACK et al., 2008)
Dentre os diversos corpora disponíveis, três foram utilizados neste trabalho: • TREC 2005 (CORMACK; LYNAM, 2005): é composto pelo e-mail armaze-
nado de 150 executivos da Enron4, coletados e lançados no domínio público
como resultado da investigação federal dos EUA sobre seu colapso. Essas mensagens foram rotuladas e somadas a mensagens de spam oriundas de uma fonte pública, alteradas de forma a parecer terem sido entregues à Enron durante o mesmo período. Esta base estabeleceu que os corpora privados e públicos poderiam produzir resultados razoavelmente consistentes.
• TREC 2006 (CORMACK; LYNAM, 2006): compreende dois corpora privados e dois públicos (trec06p - em inglês, extraído da Web e acrescido de spam público, e e trec06c - em chinês, obtido a partir de uma lista de e-mails e acrescido de spams capturados no mesmo site por um honeypot5).
• TREC 2007 (CORMACK; LYNAM, 2007): compreende um corpus privado e um público (trec07p), sendo o último composto por mensagens entregues a um servidor particular durante três meses.
Neste trabalho, os corpora públicos de 2005, 2006 (somente a versão em inglês) e 2007 foram consolidados, gerando um conjunto de origem mista e com uma quantidade expressiva de mensagens.
4Companhia de energia americana que decretou falência em 2001 e foi alvo de investigação
federal após ter sido descoberto um escândalo fiscal da ordem de bilhões de dólares.
5Campo invisível inserido em formulários de páginas da Web, que são preenchidos somente
4.3.4
Unifei 2017
A base de dados Unifei foi coletada durante o segundo semestre de 2016 na Universidade Federal de Itajubá (Unifei) pelo Grupo de Pesquisas em Engenharia de Sistemas e de Computação (GPESC). Consiste em um universo de e-mails que representa a realidade da universidade, com mensagens recebidas pelos professores, STAs e alunos da universidade.
Contendo 862.229 e-mails, sendo 353.152 hams e 509.077 spams, é um corpus consideravelmente maior que os outros já apresentados. Entretanto, é importante mencionar que os rótulos dos e-mails não foram atribuídos manualmente, mas sim de forma automática pelo anti-spam proprietário CanIt-PRO da Roaring Penguin.
Cada mensagem foi submetida aos seguintes pré-processamentos:
• Substituição de tags HTML (e seus atributos), símbolos monetários, links, números, palavras pequenas6 e grandes7 por tokens.
• Remoção de pontuação, substituição de caracteres com diacríticos8 e/ou
maiúsculos por seus equivalentes minúsculos simples e correção de codificação. Depois de pré-processar as mensagens, foram executados os métodos de seleção de características (CHI2, FD e MI) de forma a obter representações vetoriais (numéricas) de cada mensagem.
Por fim, utilizando a técnica t-SNE (do inglês t-Distributed Stochastic Neighbor Embedding) (MAATEN; HINTON, 2008), foram geradas visualizações bidimensio- nais do conjunto para cada método de seleção de características, a fim de detectar possíveis inconsistências nos dados. Os resultados apresentados nas figuras 26, 27 e 28, indicam a existência de amostras ambíguas (ou seja, mensagens de classes diferentes mas que ocupam a mesma posição no gráfico). Tal problema motivou a criação do conjunto Unifei 2018, que será apresentado a seguir, na seção 4.3.5.
6Cuja quantidade de caracteres é inferior a um limite pré-estabelecido. 7Cuja quantidade de caracteres é superior a um limite pré-estabelecido. 8Sinais gráficos que alteram a realização fonética (som) de uma letra.
(a) Resultado do t-SNE com vetores de 8 características.
(b) Resultado do t-SNE com vetores de 1024 características.
(a) Resultado do t-SNE com vetores de 8 características.
(b) Resultado do t-SNE com vetores de 1024 características.
(a) Resultado do t-SNE com vetores de 8 características.
(b) Resultado do t-SNE com vetores de 1024 características.
4.3.5
Unifei 2018
Considerando que alguns e-mails (potencialmente de classes distintas) diferem- se totalmente de todos os outros do conjunto e, portanto, não apresentam qualquer relação de informação mútua nem possuem as palavras mais frequentes do conjunto, as representações vetoriais destas mensagem tornam-se vazias. Neste sentido, os dois problemas a seguir foram apontados na base Unifei 2017:
1. Existência de e-mails de classes diferentes com representações vetoriais iguais; 2. Presença de vetores nulos (ou seja, ~x = [x1, x2, . . . , xn] = [0, 0, . . . , 0]).
Visando endereçar as consequências do primeiro problema, foi realizado um procedimento de rerrotulagem de mensagens/vetores. Considerando que haja H hams e S spams com representação vetorial igual, o procedimento resume-se a:
• Se H > S, então os S spams são rerrotulados como hams. • Se S > H, então os H hams são rerrotulados como spams.
Para contornar o segundo problema, os vetores nulos foram incluídos apenas na etapa de testes (classificação), ou seja, eles não foram apresentados aos métodos de aprendizado de máquina durante a etapa de treinamento (geração de modelo). Portanto, a base Unifei 2018 consiste em uma versão corrigida e melhorada da base Unifei 2017, obtida pela execução dos seguintes passos:
1. Uso de todos os e-mails da base Unifei 2017;