Classificação de Textos CIn/UFPE
Roteiro Introdução Abordagem Manual Abordagem de Aprendizado de Máquina Preparação dos Textos Redução de Dimensionalidade Algoritmos Avaliação Referências
Classificação de Texto Definição: atribuição de uma ou mais classes pré-definidas aos documentos de texto Exemplos: E-mail a ser classificado como SPAM ou NÃO-SPAM Objetivos: Organizar os documentos Facilitar a sua busca automática
Aplicações Classificação e indexação de documentos Ex.: Categorização de páginas Web Sistemas de recomendação e filtragem Ex.: Filtros de spam Sistemas de extração de informação Ex.: Extração em referências bibliográficas etc…
Abordagens Classificação Manual: Construção Manual do Classificador: Leitura dos documentos por um especialista Construção Manual do Classificador: Sistemas baseados em conhecimento Base de Regras escrita manualmente Construção Automática do Classificador: Algoritmos de Aprendizagem de Máquina
Sistemas Baseados em Conhecimento Componentes básicos: Base de conhecimento Máquina de Inferência (ex.: JEOPS) Testes e Validação Nível de Conhecimento Aquisição do Nível Lógico Formulação da Base de Conhecimento Implementação Construção
Sistemas Baseados em Conhecimento Base de Conhecimento: Regras de Produção Exemplo: Regras para o reconhecimento de um bloco de citação em uma página de publicação (CitationFinder) SE houver uma cadeia de Autores E houver uma cadeia de Intervalo de Páginas E houver uma cadeia de Trabalho Impresso E houver uma cadeia de Data ENTÃO o texto é uma citação (chance 1.0)
Prós e Contras de Classificadores Baseados em Conhecimento Melhor desempenho Em especial, em sistemas integrados a extratores Vantagens de soluções declarativas Melhor legibilidade Conhecimento pode ser comunicado entre agentes Extensibildade CONTRAS: Requerem um extensivo esforço para criar bases de conhecimentos Processo custoso e lento Pouco reuso Exceto em ontologias Normalmente, todo o processo de engenharia de conhecimento é repetido a cada novo domínio
Abordagem de Aprendizado de Máquina Classificador gerado automaticamente através da apresentação de textos previamente classificados ao algoritmo de aprendizado Refinamento do processo de aprendizado pelo desenvolvedor Classificador (ex.: conjunto de regras) Textos classificados (etiquetados) - Dados de treinamento Algoritmo Avaliação
Abordagem de Aprendizado de Máquina 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 Aprendizado Indução do classificador
Representação de Textos Exemplo de treinamento corresponde a um texto etiquetado (previamente classificado) 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
Representação de Textos Bag of Words (com TF-IDF) Lista de termos presentes no corpus de treinamento associados a pesos Pesos definidos comumente com TF-IDF IDF estimado através da freqüência dos termos no corpus de treinamento Alguns trabalhos usam somente TF Recomenda-se eliminação de stopwords e aplicação de stemming
Representação de Textos Características do domínio Ex.: termos de um vocabulário controlado, padrões de formatação, expressões regulares,... Características lingüísticas Ex.: substantivos, sintagmas nominais, nomes próprios,...
Redução de Dimensionalidade Observações importantes: Mesmo para uma base pequena de documentos, o número de características distintas pode ser muito alto Alta dimensão de atributos prejudicar desempenho de certos algoritmos e torna aprendizado menos eficiente Abordagens Seleção de Atributos Extração de Atributos
Redução de Dimensionalidade Seleção de Atributos Seleção de subconjunto de termos relevantes dentre os termos existentes Wrappers e Filtros Vantagem: preserva as dimensões originais Extração de Atributos Criação de atributos através de combinações numéricas dos atributos existentes Ex.: LSI, PCA, ICA,.... Vantagem: bom desempenho com número pequeno de dimensões
Redução de Dimensionalidade Seleção de Atributos Abordagem de Filtros Ordenam atributos através de critérios de relevância Ex.: Information Gain, Correlação, Chi-Quadrado, Mutual Information Abordagem de Wrappers Buscam subconjuntos de atributos que maximizam precisão do classificador Ex.: Forward-selection e Backward-elimination Bom desempenho, porém com custo alto
Aprendizado de Máquina Algoritmos Grande número de algoritmos pode ser aplicado ao problema de classificação de texto Algoritmos freqüentemente usados na literatura Naive Bayes kNN Árvores de Decisão Redes Neurais Artificiais
Aprendizado de Máquina Naive Bayes Estima probabilidades das classes dados os valores de atributos E combina essas probabilidades para gerar classificações de novos exemplos Vantagens: Treinamento rápido e pouca sensibilidade a atributos irrelevantes Desvantagens: Sensibilidade a atributos redundantes Assume independência dos atributos
Aprendizado de Máquina kNN Gera classificações para novos exemplos a partir das classes definidas em exemplos similares Vantagens: Treinamento muito rápido Podem ter bom desempenho mesmo com um número pequeno de exemplos Desvantagens: Sensibilidade a atributos irrelevantes Classificação de novos exemplos pode ser lenta
Aprendizado de Máquina Árvores de Decisão Nós de decisão que recorrentemente maximizam a separação de exemplos de classes diferentes Vantagens: Têm mecanismo interno de seleção de atributos Conhecimento fácil de interpretar Desvantagens: Treinamento lento comparado, por exemplo, a kNN e Naive Bayes
Aprendizado de Máquina Redes Neurais Artificiais Conjunto de unidades conectadas entre si através de pesos numéricos Camada de entrada recebe valores dos atributos e Camada de saída estima valores das classes Vantagens: Bom desempenho comparados a outros algoritmos Desvantagens: Treinamento lento Necessidade de estimação de parâmetros como tamanho da arquitetura e taxas de aprendizado
Avaliação de Classificadores Hold-Out Defina uma amostra de textos para treinamento dos algoritmos e outra amostra para teste do classificador gerado Em alguns casos, definir um conjunto de validação para estimar parâmetros dos algoritmos durante treinamento
Avaliação de Classificadores Validação Cruzada K-Fold O conjunto de exemplos é dividido em K partes 1 é utilizada para testes K – 1 é utilizada para treinamento e validação Iterativo A parte selecionada para testes é trocada até que todas tenham sido escolhidas
Avaliação de Classificadores Validação Cruzada K-Fold Conjunto de exemplos
Conclusões - Tendências Representação de Textos e Redução de Dimensionalidade Algoritmos Support Vector Machines Aprendizagem Ativa para Classificação de Texto Combinação de Classificadores
Referências Sebastiani, F. Machine Learning in Automated Text Categorization. ACM Computing Surveys, Vol. 34, No. 1, March 2002.