18
Classificacao de Texto Projeto Spam Filter Ivan Gesteira Costa Filho Centro de Informatica UFPE

Classificacao de Texto Projeto Spam Filter Ivan Gesteira Costa Filho Centro de Informatica UFPE

Embed Size (px)

Citation preview

Page 1: Classificacao de Texto Projeto Spam Filter Ivan Gesteira Costa Filho Centro de Informatica UFPE

Classificacao de TextoProjeto Spam Filter

Ivan Gesteira Costa Filho

Centro de Informatica

UFPE

Page 2: Classificacao de Texto Projeto Spam Filter Ivan Gesteira Costa Filho Centro de Informatica UFPE

Spam-Filter

Aprendizagem de maquina para fazer um filtro de Spam.

Tarefa: dado um email classificar como spam ou nao-spam

Page 3: Classificacao de Texto Projeto Spam Filter Ivan Gesteira Costa Filho Centro de Informatica UFPE

Spam-Filter

Como distinguir spam de nao spam?

Page 4: Classificacao de Texto Projeto Spam Filter Ivan Gesteira Costa Filho Centro de Informatica UFPE

Categorizacao de Texto

Criar uma base de dados Recolher emails e classificar-los como Spam ou

Nao-Spam. Criar uma representacao vetorial do texto

Tecnicas de processamento de texto (a seguir) Usar metodos de classificacao

Arvores de inducao, Aprendizagem Bayesiana, …

Page 5: Classificacao de Texto Projeto Spam Filter Ivan Gesteira Costa Filho Centro de Informatica UFPE

Preparação dos documentos

Operações sobre o texto objetivo: criar a visão lógica do documento

Criação da representação do documento Utilizando algum modelo de RI

“Se o desonesto soubesse a vantagem de ser honesto, ele seria honesto ao menos por desonestidade.”

Sócrates

Doc original

desonesto / soubesse /vantagem / honesto /seria / honesto /menos/desonestidade/socrates

honesto 2desonesto 1soubesse 1vantagem 1seria 1menos 1desonestidade 1socrates 1

Visão LógicaRepresentação

Doc : www.filosofia.com Doc : www.filosofia.comDoc : www.filosofia.com

Page 6: Classificacao de Texto Projeto Spam Filter Ivan Gesteira Costa Filho Centro de Informatica UFPE

Operações sobre o texto

Fases Análise léxica

Elimina dígitos, pontuação, etc Eliminação de stopwords

Artigos, pronomes, etc Operação de stemming

Redução da palavra ao seu radical …

Page 7: Classificacao de Texto Projeto Spam Filter Ivan Gesteira Costa Filho Centro de Informatica UFPE

Operações sobre o textoAnálise léxica

Entrada O texto original

uma cadeia de caracteres

Objetivo Converter o texto original em uma lista de palavras Identificando as palavras e frequencia que ocorrem no

texto Procedimento padrão

Utilizar espaços como sendo separadores de palavras Tratar pontuação, hífens, dígitos, letras maiúsculas e

acentos. Cada caso pode requerer tratamentos diferenciados

Page 8: Classificacao de Texto Projeto Spam Filter Ivan Gesteira Costa Filho Centro de Informatica UFPE

Operações sobre o textoEliminação de stopwords

Algumas palavras não são bons discriminadores Palavras muito freqüentas na base de documentos Palavras sem semântica associada

artigos, preposições, conjunções, alguns advérbios e adjetivos

Aqui também há exceções a considerar Em domínios específicos, podemos precisar

manter algumas dessas palavrasRedes de computadores

Page 9: Classificacao de Texto Projeto Spam Filter Ivan Gesteira Costa Filho Centro de Informatica UFPE

Operações sobre o texto Stemming

Problema variação de uma mesma palavra aparece nos

documentos relevantes Ex., plural, gerúndio, verbos flexionados, aumentativo...

Objetivo dessa operação: Substituir a palavra por seu radical (stem)

Porção da palavra que resta após a remoção de prefixos e sufixos

Possibilitar casamento parcial entre variações de uma mesma palavra Ex.: engenheiro, engenheira, engenharia, …

Page 10: Classificacao de Texto Projeto Spam Filter Ivan Gesteira Costa Filho Centro de Informatica UFPE

Exemplo Stemming

word       stem

quiloquilométricasquilométricosquilômetroquilômetrosquilosquímicaquímicasquímicoquímicosquimioterapiaquimioterápicos

    =>    

quil quilométrquilométrquilômetrquilômetrquilquímicquímicquímicquímicquimioterapquimioteráp

Page 11: Classificacao de Texto Projeto Spam Filter Ivan Gesteira Costa Filho Centro de Informatica UFPE

Representação do Documento

Dado um conjunto de documentos e palavras presentes. Cada documento (dj) é representado por termos da base

associados a pesos d1 = k1 (w1), k2 (w2),..., kn (wn)

Peso Importância da palavra para descrever o documento Quando o termo não aparece no documento, o peso associado é

zero

Cada modelo de recuperação define pesos de uma maneira diferente

Page 12: Classificacao de Texto Projeto Spam Filter Ivan Gesteira Costa Filho Centro de Informatica UFPE

Representação de Documento Cálculo dos Pesos

Peso = freqüência de ocorrência do termo no documento

“Se o desonesto soubesse a vantagem de ser honesto, ele seria honesto ao menos por desonestidade.”

Sócrates

Doc original

desonesto / soubesse /vantagem / honesto /seria / honesto /menos/desonestidade/socrates

honesto 2desonesto 1soubesse 1vantagem 1seria 1menos 1desonestidade 1socrates 1

Operações de TextoRepresentação

Doc : www.filosofia.com Doc : www.filosofia.comDoc : www.filosofia.com

Page 13: Classificacao de Texto Projeto Spam Filter Ivan Gesteira Costa Filho Centro de Informatica UFPE

Modelo Espaço Vetorial Cálculo dos Pesos

Método TF-IDF leva em consideração: Freqüência do termo no documento

Term Frequency (TF) Quanto maior, mais relevante é o termo para descrever o

documento Inverso da freqüência do termo entre os

documentos da coleção Inverse Document Frequency (IDF)

Termo que aparece em muitos documentos não é útil para distinguir relevância

Peso associado ao termo tenta balancear esses dois fatores

Page 14: Classificacao de Texto Projeto Spam Filter Ivan Gesteira Costa Filho Centro de Informatica UFPE

dj: documento; ki:termo freqi,j: freqüência do termo ki no documento dj ni: número de documentos que contêm termo ki

N: número total de documentos da base maxl freql,j : a freqüência do termo mais freqüente no

documento

TF:

IDF:

Modelo Espaço Vetorial Cálculo dos Pesos com TF-IDF

Nni

idfi= log

Inverso da freqüência do termonos documentos da base

freqi,j

maxl freql,j

tfi,j=Freqüência (normalizada) do termo no documento

Page 15: Classificacao de Texto Projeto Spam Filter Ivan Gesteira Costa Filho Centro de Informatica UFPE

Modelo Espaço Vetorial Cálculo dos Pesos com TF-IDF

wi,j = tfi,j x idfi

Page 16: Classificacao de Texto Projeto Spam Filter Ivan Gesteira Costa Filho Centro de Informatica UFPE

Processamento de Texto e Representação

Criar uma base de dados com + de 200 emails pelo menos 100 spans.

Criar um parser em Java para criar representação de documentos Para fazer stop-word e stemming ver …

http://www.cin.ufpe.br/~igcf/si/BrazilianStemmer.java

Criar arquivo no formato Weka Palavras são atributos Vetor com TF-IDF são os exemplos

Page 17: Classificacao de Texto Projeto Spam Filter Ivan Gesteira Costa Filho Centro de Informatica UFPE

Classificação

Usar os metodos do Weka Árvore de Inducao (J48) e Bayesiano Ingenuo

Realizar Validação-Cruzada 10-fold Arvores de indução

explorar efeitos de algoritmos de poda na acurácia Análise das regras geradas

Comparar resultado Naive x Árvores de Indução

Page 18: Classificacao de Texto Projeto Spam Filter Ivan Gesteira Costa Filho Centro de Informatica UFPE

Projeto

Entregar relatório e (bases de dados) com Representação dos documentos. Descrição da base de dados Experimentos Realizados

Comparação da acurácia Naive X J48 Efeito de técnicas de poda no J48 Interpretação das Regras obtidas

Prazo 14/06 antes da meia noite Apresentação 15/06