Post on 25-Jan-2016
description
Introdução à Classificaçãode 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
Documentos
Classe 1
Classe 2
Classe 3
Classificação de Texto
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
1. 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
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 Exemplo
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
Representação
Representação dos documentos(e.g. lista de termos)
Redução da dimensionalidade
Seleção ou extração de características
Treinamento
TextosEtiquetados
Indução do classificador
Classificador
Corpus de treinamento
Validação
Ajuste de parâmetros
CIn/UFPE 20
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
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
Com k=1 : Classe +Com k=5 : Classe -
KNN - Maioria
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
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)
• Precisão e cobertura são calculadas em relação a todas as classes (média global)
• É melhor quando as classes são desbalanceadas
Macromédia
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
Exemplo
• The festival attracts culture vultures from all over Australia to see live drama, dance and music
festival (verbo) culture
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?