Introdução à Classificação de Texto

Slides:



Advertisements
Apresentações semelhantes
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.
Advertisements

Agenda Introdução Justificativa Objetivo Detecção de Spam
INTELIGÊNGIA COMPUTACIONAL
Engenharia de Software
Introdução à Programação uma Abordagem Funcional Programação I Prof.ª Claudia Boeres CT VII - Sala 32 Departamento de Informática Centro.
Recursividade Prof. Alex F. V. Machado
Aprendizado de Máquina
Redes Neurais Artificiais
Reconhecimento de Padrões Dissimilaridade
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.
Descoberta de Conhecimento:
A FAST APRIORI implementation
Simulação Física de Corpos Rígidos com Detecção e Reação à Colisões
Instituto Tecnológico da Aeronáutica – ITA Divisão de Ciência de Engenharia Eletrônica e Computação EE-09 Inteligência Artificial Prof. Adilson Marques.
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
Aprendizado de Máquina
Aprendizado de Máquina
Aprendizado de Máquina Aula 8
Inteligência Artificial
Alexandre Xavier Falcão & David Menotti
Classificação/Clusterização
Aprendizado Baseado em Instâncias – Algoritmo k-NN
Recuperação Inteligente de Informação Tarefa 1 Equipe.
Engineering Village. Engineering Village – A Plataforma Desenvolvida pela Engineering Information (Ei), líder em fornecer informações.
Classificação. Classificação: Atribuição a uma classe (rótulo de um atributo categórico). Classifica dados (constrói um modelo) baseado em um conjunto.
K-NN Prof. Dr. Rogério Vargas.
Introduction to Information Retrieval Introduction to Information Retrieval CS276 Information Retrieval and Web Search Christopher Manning and Prabhakar.
Treinamento do Microsoft® Access® 2010
INF 1771 – Inteligência Artificial
Aprendizagem de Máquina
Mineração da Web Recuperação de Informação
Aprendizado de Máquina - Introdução
Recuperação de Informação Clássica
CIn-UFPE1 Recuperação Inteligente de Informação Agrupamento de Texto.
Recuperação de Informação
Seleção de Atributos Ricardo Prudêncio.
Tópicos Avançados em Inteligência Artificial
Classificacao de Texto Projeto Spam Filter
SVMSharp – Uma implementação didática de uma SVM
Experimentação Algorítmica
Estimativas de Custos e Orçamentação
Projeto Final MCI 2004 Filtragem de s Agente de Classificação de SPAM.
1 Introdução aos Agentes Inteligentes Inventando Funções Heurísticas Flávia Barros.
A Lexicon-Enhanced Method for Sentiment Classification: An Experiment on Online Product Reviews Bruno Andrade.
Locus Localização Eudes Cavalcanti.
Recuperação Inteligente de Informação
Uma Introdução a SVM Support Vector Machines
Integração de Ferramentas CASE
Classificação/Categorização Christian Diego – cdad Icamaan Viegas – ibvs.
Classificação de Texto Baseada na aula de Henrique Borges e Ícaro Medeiros Alterada por Flávia Barros.
Classificação de Texto
HAC 1 MD - junho/2008 Tecnologias de suporte à Mineração de Dados Gerenciamento de dados Data Warehouse OLAP Arquiteturas Visualização Sistemas de Suporte.
METHONTOLOGY Sandro Rautenberg
Marcus Sampaio DSC/UFCG. Marcus Sampaio DSC/UFCG Classificação Não Supervisionada As instâncias não são previamente classificadas Um algoritmo de classificação.
Luana Bezerra Batista Redes Neurais Luana Bezerra Batista
Tesauro, Taxonomia e Ontologia: uma evolução?
Classificação de Textos
Um Classificador Baysesiano para a Análise das Relações Sociais em Blogs Allan Lima –
Eduardo Matos (ejvm) Leonardo Vilaça (lhvs) Igor Ebrahim (ies) Thiago Gomes (tgr)MW
Aprendizado por Indução
CIn-UFPE1 Recuperação Inteligente de Informação Agrupamento de Texto.
Detecção de tráfego Skype na Web através de Redes Neurais Artigo Original: Freire, P. E., Ziviani, A., and Salles, R. M. (2008). Detecting skype flows.
Mineração de Dados Classificação Felipe Carvalho – UFES 2009/2.
Notas e Avaliações no moodle. Breve Sumário Tipos de Atividades Tipos de Atividades Acrescentando Atividades Acrescentando Atividades Atribuindo Notas.
COMPILAÇÃO E RECUPERAÇÃO DE INFORMAÇÕES TÉCNICO-CIENTÍFICAS E INDUÇÃO AO CONHECIMENTO DE FORMA ÁGIL NA REDE AGROHIDRO MARIA FERNANDA MOURA 1 ;
Transcrição da apresentação:

Introdução à Classificação de Texto Henrique Borges Ícaro Medeiros

Roteiro Definição Tipos de classificação Técnicas Aplicações Avaliação/Comparação de classificadores Conclusão

Classificação de Texto Objetivo Classificar um documento de acordo com classes previamente definidas Ou seja, separar “maçãs” de “bananas” A classificação busca: Melhorar a organização da base de documentos Facilitar a busca e a visualização Evitar itens irrelevantes e/ou indesejáveis para o usuário

Classificação de Texto Documentos Classe 2 Classe 3 Classe 1

Classificação x RI O problema de RI pode ser visto como um problema de classificação RI: Classificação binária entre documentos relevantes ou não Contudo, as duas áreas apresentam particularidades que merecem a divisão

Classificação de Texto Como será apresentado o tema: Serão mostrados os conceitos de classificação através de exemplos e demonstrações passo-a-passo para um domínio específico Escolhemos o domínio de classificação de produtos Exemplo didático Você trabalha numa empresa de vendas online e precisa saber os produtos e preços dos concorrentes Como organizar as páginas?

Classificação de Texto A tarefa de classificar documentos pode ser Manual Realizada por um especialista Automática Realizada por um sistema automático de classificação Problema: Como construir o classificador?

Processo de Classificação Classificação manual Exemplo Você, pacientemente, vai selecionando os documentos (páginas Web) e separando em pastas por tipo de produto e faixa de preço Vantagens O próprio usuário faz a classificação Desvantagens Demorada e trabalhosa

Processo de Classificação 2. Classificação automática Você constrói um sistema que fará a classificação automática dos documentos (páginas Web) automaticamente Vantagens Rapidez na classificação Desvantagens Dificuldades na construção do sistema Perda de precisão na classificação

Classificação Automática Realizada por um sistema automático de classificação Abordagens para construção do classificador Construção manual Engenharia do Conhecimento Construção automática Aprendizagem de máquina

Construção manual do classificador Exemplo Um especialista em produtos de informática escreve regras para classificá-los Abordagem dominante até a década de 80 Sistemas Especialistas Regras buscam verificar se o texto faz parte da classe Codificam o conhecimento de um especialista  Dependendo do sistema, meta-informações podem ser consideradas como localização das palavras

Construção manual do classificador Preparação de Documentos Como em RI, podemos excluir stopwords, usar stemming e redução de dimensionalidade Normalmente, melhoram a precisão e facilitam a criação de regras

Construção manual do classificador Exemplo if  produto.descricao contains   ( (notebook and hp)  or (laptop and hp) or (computador and portatil and hp)    ) then produto.categoria = NOTEBOOK_HP else  produto.categoria = ¬NOTEBOOK_HP

Construção manual do classificador Dificuldades com Regras Dado o nome de um produto (ex: "HP Compaq Business Notebook") como saber se ele é um notebook? Especialista: Se contiver "Notebook" no nome Então "Mochila para Notebook HP" é um notebook? Ok. Então é se tiver "Notebook" e não tiver "Mochila" Então "Mesa para notebook - Laptable 1012" é um notebook? Ok. Se tiver "Notebook" e não tiver "para“ Então "Sony Vaio NS11" não é um notebook

Construção manual do classificador Vantagens Execução rápida do classificador  Desvantagens Necessário um especialista para codificar as regras Muito trabalho para criar, atualizar e manter a base de regras

Construção automática do classificador Abordagem dominante a partir da década de 90 Baseada em Aprendizagem de Máquina

Construção automática do classificador Classes são mais simples de serem definidas através de exemplos Especialista: "Isso é uma descrição de um notebook HP, isso não." Exemplos são facilmente obtidos Especialista: "Essas 20 páginas são sobre notebooks HP, essas 50 não." Necessário atualizar ou modificar frequentemente o classificador Usuário: "Agora eu quero descrições sobre notebooks HP e Sony." Solução: Aprendizagem de Máquina

Construção automática do classificador Aprendizagem de Máquina Um processo indutivo e geral que automaticamente constrói um classificador por aprendizagem usando um conjunto predefinido de categorias e suas características. Ou seja o algoritmo "analisa" um conjunto de treinamento e "aprende" o que diferencia uma categoria das outras

Passos da construção automática Textos Etiquetados Representação Redução da dimensionalidade Corpus de treinamento Representação dos documentos (e.g. lista de termos) Seleção ou extração de características Classificador Validação Treinamento Ajuste de parâmetros Indução do classificador

Passos da construção automática Representação de Textos Textos devem ser representados através de características apropriadas Abordagens para representação Bag of Words (com TF-IDF) Características do domínio Características linguísticas CIn/UFPE

Passos da construção automática Redução de dimensionalidade Podemos excluir stopwords, usar stemming e redução de dimensionalidade Isso melhora significativamente a eficácia e a eficiência do aprendizado

Passos da construção automática Treinamento Usa-se uma das técnicas de Aprendizagem de Máquina KNN Classificador Linear (Rocchio, etc) Naive Bayes Árvores de Decisão Redes Neurais Máquina de Vetores de Suporte (SVM) Comitê de classificadores

Passos da construção automática Validação e Ajuste de Parâmetros Alguns classificadores precisam de parâmetros de entrada escolhidos empiricamente: Um inteiro (K) para KNN Número de nós numa Rede Neural Parte dos documentos são separados para o algoritmo automaticamente ajustar seus parâmetros, testando a precisão, por exemplo

Passos da construção automática Testes Por fim, os classificadores são avaliados se necessário, ajustes são realizados, reiniciando o ciclo

Construção automática do classificador Exemplo usando KNN Durante o treinamento, o classificador simplesmente armazena todos os exemplos Num formato apropriado para facilitar a comparação entre documentos Cada documento é um vetor

Construção automática do classificador Exemplo usando KNN Na classificação, escolher os K documentos do conjunto de treinamento mais similares a entrada Medidas de distância: cosseno, distância euclidiana, entre outras Atribuir à entrada uma classe baseada nas classes dos documentos recuperados Exemplos a seguir

KNN - Maioria Com k=1 : Classe + Com k=5 :  Classe -

KNN - Ponderada

Avaliação de Classificadores Eficiência de treinamento/classificação e eficácia do classificador Existe um trade-off entre essas medidas Eficácia é geralmente mais importante

Eficácia dos classificadores Como em RI, as avaliações são feitas experimentalmente Medidas (para uma classe): Taxa de erro Precisão e cobertura Uma média dá a efetividade geral do classificador Vale para a abordagem de regras e AM

Avaliação de Classificadores Corpus de documentos são geralmente divididos em: Conjunto de Treinamento Para o algoritmo aprender Conjunto de Validação Para permitir ajuste de parâmetros do sistema Conjunto de Teste Para avaliar a eficácia

Avaliação de Classificadores Precisão: Porcentagem de decisões de classificação positivas que estão corretas    Cobertura: Porcentagem de classificações corretas que foram realmente tomadas

Avaliação de Classificadores Micromédia Somam-se as decisões individuais para calcular precisão e cobertura para uma classe (média local)  Pode não ser uma boa medida quando há classes majoritárias (muitas instâncias positivas)  

Avaliação de Classificadores Macromédia Precisão e cobertura são calculadas em relação a todas as classes (média global) É melhor quando as classes são desbalanceadas

Dúvidas?

Aprendizagem de Ontologias

Definição rápida de Ontologia Uma ontologia num dado domínio é composta de: Terminologia (vocabulário específico) Classes Taxonomia Relações (hierarquias e restrições) Axiomas (verificações de propriedade)

Exemplo de Ontologia

Ontologias pra quê? Formalizar um domínio de interesse para inferência Reuso de conhecimento Interoperabilidade (para comunicação) Muitas aplicações! Busca inteligente na Web Web Semântica Vocabulário para agentes Computação científica

Aprendizagem de Ontologias Abrange métodos e técnicas para: Construir uma ontologia do zero ou a partir de dados coletados Melhorar ou adaptar uma ontologia existente Outros nomes: extração, geração, aquisição e emergência Considerada uma sub-área de Extração de Informação

O que isso tem a ver com RI e CT? Técnicas de aprendizagem e população de ontologias usam: Recuperação de Informação Classificação de Texto E áreas correlatas

Fontes de dados Texto relevante XML, DTD Bancos de dados Dicionários na Web Ontologias existentes (de topo e de núcleo)

Método usando texto, estatística e PLN Técnicas de RI para extrair relevância de termos Termos estatisticamente relevantes são termos candidatos à classe Técnicas de PLN são usadas para extrair relações

festival (verbo) culture Exemplo The festival attracts culture vultures from all over Australia to see live drama, dance and music festival (verbo) culture Termos candidatos

Exemplo de ontologia gerada

Ferramenta OntoLT

Outros métodos Agupamento e Classificação de Texto Métodos de Extração de Informação Extração a partir de Folksonomias Análise de Redes Sociais

Aplicações Engenharia de Ontologias Web Semântica Representação do Conhecimento Agentes Inteligentes E todas as áreas que podem fazer uso de ontologias!

Dúvidas?