classificacao de texto projeto spam filter ivan gesteira costa filho centro de informatica ufpe

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

Upload: internet

Post on 22-Apr-2015

119 views

Category:

Documents


6 download

TRANSCRIPT

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