Projeto Final MCI 2004 Filtragem de e-mails Agente de Classificação de SPAM.

Slides:



Advertisements
Apresentações semelhantes
Um pouco mais de cardinalidade e Relacionamentos
Advertisements

Construção de listas de decisão Os tópicos anteriores tratam de indução de conceitos que podem ser descritos usando uma única região de decisão Neste tópico.
Introdução a Algoritmos
Agenda Introdução Justificativa Objetivo Detecção de Spam
INTELIGÊNGIA COMPUTACIONAL
Mineração de Dados Avaliação de Classificadores
Jacques Robin, Francisco Carvalho, Flávia Barros
1 Projeto Filtragem de Mensagens Eletrônicas Disciplina: Inteligência Artificial Simbólica Professores: Geber Ramalho e Jacques Robin.
FACENS – Engenharia da Computação Inteligência Artificial
SISTEMA DE INFORMAÇÕES DESENVOLVIMENTO DE SISTEMAS
Universidade Federal do Espírito Santo Programação II Professora: Norminda Luiza.
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
Davyd Bandeira de Melo Um Sistema de Reconhecimento de Comandos de Voz Utilizando a Rede Neural ELM Junho 2011.
Silvane Gonçalves Analista de Sistemas
Aula Prática Classificação
Recuperação Inteligente de Informação Tarefa 1 Equipe.
Sistemas Operacionais
CRC e 10 de Novembro de 1998 Um Agente de Filtragem de Correio Electrónico Indesejado José CamposEdmundo Monteiro Dep. de InformáticaDep. de Eng.
Treinamento do Microsoft® Access® 2010
Gerenciamento de Dados
Prof. Kelly E. Medeiros Bacharel em Sistemas de Informação
Introdução à Classificação de Texto
Aprendizado de Máquina - Introdução
Título do projeto Equipe Local Data.
Redes Bayesianas – Inferência
Redes Bayesianas - Aplicação em Risco Operacional
Projeto de Banco de Dados
Sistemas Inteligentes
Recuperação de Informação
Algoritmos e Estruturas de Dados I – Recursão
Estrutura de decisão Neste tipo de estrutura o fluxo de instruções a ser seguido é escolhido em função do resultado da avaliação de uma ou mais condições.
Faculdade Talentos Humanos - FACTHUS - Algoritmo I - Rogério Rodrigues
O Processo de KDD Data Mining SUMÁRIO - AULA1 O processo de KDD
Marcus Sampaio DSC/UFCG. Marcus Sampaio DSC/UFCG Etapas do Processo.
Classificacao de Texto Projeto Spam Filter
Analise Semântica aula-10-analise-semântica.pdf.
Sistemas Baseados em Aprendizado (Aprendizado de Máquina)
Banco de Dados Aplicado ao Desenvolvimento de Software
ANÁLISE ESTRUTURADA DE SISTEMAS
Construindo tabelas NTE-ESTRELA.
Colégio Positivo de Arapoti Autor: Prof. Ronaldo C. de Oliveira
Introdução a Banco de Dados
C LASSIFICAÇÃO DE N ÓS Ricardo Prudêncio. L INK M INING - T AREFAS Relacionadas a Objetos Relacionadas a Arestas Relacionadas a Grafos Ranking de Nós.
Classificação/Categorização Christian Diego – cdad Icamaan Viegas – ibvs.
Fundamentos de linguagens de programação
SISTEMAS DE APOIO À DECISÃO - SAD
Classificação de Texto Baseada na aula de Henrique Borges e Ícaro Medeiros Alterada por Flávia Barros.
Classificação de Texto
Engenharia de Software
Categorização de Documentos Mariana Lara Neves CIn/UFPE.
1 Projeto X-Finder Agents Recuperação e Indexação de páginas especializadas na Web Disciplina: Inteligência Artificial Simbólica Professora: Flávia Barros.
HAC 1 MD - junho/2008 Tecnologias de suporte à Mineração de Dados Gerenciamento de dados Data Warehouse OLAP Arquiteturas Visualização Sistemas de Suporte.
Etapas : Algoritmo é uma sequência lógica de instruções que podem ser executadas. É importante destacar que qualquer tarefa que siga um certo padrão.
Classificação de Textos
Um Classificador Baysesiano para a Análise das Relações Sociais em Blogs Allan Lima –
Estatística Descritiva
Abordagem Sistemática Guilherme Amaral Avelino Avaliação e Controle de Sistemas de Informação.
Eduardo Matos (ejvm) Leonardo Vilaça (lhvs) Igor Ebrahim (ies) Thiago Gomes (tgr)MW
Usando Excel Prof. Rosemberg Trindade. Parte 1 Representação tabular de distribuição com variáveis discretas e contínuas.
Curso de Excel Fabricio Jannuzzi Aula 1.
CIn/UFPE – IF696 - Integração de Dados e DW - Prof. Robson Fidalgo  1.
Sistemas de Informação Inteligentes Aula 1 Nadilma Nunes
Aula Pratica Aprendizagem WEKA Prof. Ivan Gesteira Costa Filho Centro de Informática Universidade Federal de Pernambuco.
Conselhos para a aplicação de aprendizagem de máquinas
Métodos Probabilísticos
Testes de Unidade. 2 Pauta Testes de Unidade; Testes de Unidade; Desenvolvimento orientado a testes; Desenvolvimento orientado a testes; Testes unitários.
Elicitar Requisitos Documentar Requisitos Validar Requisitos Estrutura Implementação Implementar Componentes Testar de Unidades Corrigir Defeitos Testar.
Lógica de Programação Aula 06 Prof. Marcelo Marcony.
Transcrição da apresentação:

Projeto Final MCI 2004 Filtragem de s Agente de Classificação de SPAM

PAGE Percepções = s que chegam ao inbox Ações = filtrar s indesejadas (SPAM) Objetivos = livrar o usuário desse transtorno Ambiente = mailbox Arquitetura do agente Agente reativo simples Implementação Vejamos a seguir...

Classificação/Categorização de “objetos” Definição: Atribuir uma ou mais classes pré-definidas aos objetos sob análise Objetivo: Organizar os objetos em classes Possibilitando a eliminação de objetos ( s) indesejados Facilitando o armazenamento, a localização (e a recuperação) automática desses objetos etc...

Classificação/Categorização de “objetos” objetos Classe 1 Classe 2 Classe 3

Classificação de “objetos” Classificação manual: classificação dos objetos por um especialista Construção manual de um sistema de classificação: sistemas baseados em conhecimento base de regras escritas manualmente Construção automática de um sistema de classificação: algoritmos de aprendizagem automática

Construção do Classificador Fase de construção do sistema: aquisição do conhecimento ou treinamento do algoritmo ajuste inicial do sistema com um conjunto de dados pré-selecionados Fase de teste e validação: ajuste final do sistema avaliação do desempenho do sistema

Construção Manual de Classificadores Sistema Baseado em Conhecimento Base de conhecimento Máquina de Inferência (ex.: JEOOPS) Testes e Validação Nível de Conhecimento Aquisição do Conhecimento Nível Lógico Formulação da Base de Conhecimento Nível de Implementação Construção da Base de Conhecimento

Construção Automática de Classificadores O classificador é criado automaticamente através da apresentação de exemplos ao algoritmo de treinamento Ajuste dos resultados pelo desenvolvedor Dados classificados Dados de treinamento ClassificadorComparador

Abordagem Simbólica – MCI2 Exemplos  Árvores de Decisão  Indução de Regras Abordagem Numérica – Diversas disciplinas Exemplos  Aprendizagem Bayesiana  Redes Neurais Artificiais  Aprendizagem Baseada em Instâncias Construção Automática de Classificadores

Detalhamento do projeto Construção Manual de um Classificador/Filtro de s

Etapa 1: montar os corpora Selecionar 300 s spam Pedir ajuda aos colegas Selecionar 200 s “sadias” algumas das quais deveriam parecer spam Etiquetar (à mão) cada selecionada, indicando se ela é OK ou não Guardar os s em um BD (ou arquivo tabela): Endereço do autor, “subject” e corpo do texto Indicar se tem anexos e de que tipo são (opcional) Classe associada (spam ou não-spam)

Etapa 1: montar os corpora Separar as s já etiquetadas em dois conjuntos: “Treinamento”  Conjunto usado para guiar a construção das regras e os testes preliminares do sistema  300 s = 180 indesejáveis e 120 OK Teste  Conjunto usado para avaliação do desempenho do sistema  200 s = 120 indesejáveis e 80 OK

Etapa 2: montar a base de regras em Jeoops Identificar possíveis regras de classificação (à mão) Se a palavra “money” aparece no “subject” Então é um spam Montar regras com fator de certeza associado (a seguir) Se a palavra “money” aparece no “subject” Então é um spam com p% de chance Implementar as regras de classificação utilizar Jeops

Etapa 2: regras com fator de certeza Regras com fator de certeza Se E Então V com P% de chances E (Evidência – palavra money) V (Verdade – é spam)  V indica que a é um exemplo positivo (verdade) de spam ou vírus P (Fator de certeza) OBS.: Lembrem-se de que, em tarefas de categorização, teremos várias classes a escolher...

Etapa 2: regras com fator de certeza Como calcular o fator de certeza P (manualmente): P = probabilidade condicional de um ser um exemplo positivo (V) dado que a evidência E ocorreu  P(V|E) = P(V ^ E) / P(E)  P(E) = quantidade de vezes que E ocorreu no corpus inteiro (exemplos positivos e negativos)  P(V ^ E) = quantidade de vezes que E ocorreu apenas em exemplos positivos  podemos também calcular P(~V|E)

Etapa 2: combinando o fator de certeza É possível combinar (automaticamente) evidências quando regras disparam com a mesma conclusão no nosso caso, V ou ~V (spam ou não) Regra básica (inspirada no MYCIN): prob-atual = prob-anterior + prob-nova * (1 - prob- anterior) Exemplos  Se E1 então V com 0,3% P = 0,3%  Se E2 então V com 0,6% P = 0,3 + 0,6 * (1-0,3) = 0,72 % Em JEOOPS, implementar a evidência acumulada no objeto

Etapa 3: testar desempenho do sistema Construir a matriz de confusão do sistema Taxa de acerto, falso positivo e falso negativo Classificação obtida Classe real SPAMNão SPAM SPAMAcerto SPAMFalso negativo Não SPAMFalso positivo (evitar!) Acerto N-SPAM

Etapa 3: testar desempenho do sistema Taxa de acerto Somatório do número de classificações corretas nas duas classes dividido pelo número de documentos do corpus de teste Taxa de acerto = (acerto spam + acerto n-spam) 250 (total de s) Falso positivo Total de s não-spam classificadas como spam  Deve ser evitado pq elimina s relevantes Falso negativo Total de s spam classificadas como não-spam  Não é tão grave, apenas deixa passar alguns spams...

Datas e Equipes Equipes 2 ou 3 pessoas Data de entrega 6 de setembro – último dia de aulas.