introdução à classificação de texto henrique borges Ícaro medeiros

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

Upload: internet

Post on 18-Apr-2015

119 views

Category:

Documents


0 download

TRANSCRIPT

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

Introdução à Classificaçãode Texto

Henrique Borges

Ícaro Medeiros

Page 2: 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

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

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

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

Documentos

Classe 1

Classe 2

Classe 3

Classificação de Texto

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

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

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

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?

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

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?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Construção automática do classificador

• Abordagem dominante a partir da década de 90

• Baseada em Aprendizagem de Máquina

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Passos da construção automática

• Testes – Por fim, os classificadores são avaliados

• se necessário, ajustes são realizados, reiniciando o ciclo

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

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

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

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

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

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

KNN - Maioria

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

KNN - Ponderada

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

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

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

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

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

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

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

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

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

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)  

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

• 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

Avaliação de Classificadores

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

Dúvidas?

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

Aprendizagem de Ontologias

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

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)

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

Exemplo de Ontologia

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

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

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

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

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

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

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

Fontes de dados

• Texto relevante

• XML, DTD

• Bancos de dados

• Dicionários na Web

• Ontologias existentes (de topo e de núcleo)

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

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

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

Exemplo

• The festival attracts culture vultures from all over Australia to see live drama, dance and music

festival (verbo) culture

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

Exemplo de ontologia gerada

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

Ferramenta OntoLT

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

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

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

Aplicações

• Engenharia de Ontologias

• Web Semântica

• Representação do Conhecimento

• Agentes Inteligentes

• E todas as áreas que podem fazer uso de ontologias!

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

Dúvidas?