Inferência Transdutiva para Classificação de Textos usando Support Vector Machines Thorsten Joachins Apresentação: Allyson A. Brito [email protected] Agenda Abstract Introdução Classificação de Texto SVM Transdutivas (TSVMs) TSVM – Classificação de Textos O Algoritmo Experimentos Considerações Finais Abstract Este paper introduz TSVM para classificação de textos Apresenta analises mostrando que TSVM são apropriadas para classificação de textos As descobertas teóricas são complementadas com experimentos práticos Um algoritmo para treinamento de TSVM é proposto Classificação de Textos Objetivo principal: Classificar conjuntos de documentos em um número fixo de categorias semânticas Documentos podem pertencer a uma ou mais categorias ou a nenhuma Problema de Aprendizado Supervisionado É necessário transformar o texto para uma representação apropriada (pré-processamento) para o algoritmo de aprendizado. Classificação de Textos Pré-processamento utilizando técnicas de Recuperação de Informação como: stemming, IDF, etc.. Inverse Document Frequence n IDF ( wi ) log DF ( wi ) wi é uma palavra distinta n é o número total de documentos DF é a freqüência da palavra no documento IDF assinala pesos maiores a “radicais” que são infreqüentes em toda a coleção e pesos menores aos termos freqüentes Classificação de Textos Representando texto como um vetor de atributos Classificação de Textos Características da classificação de Textos Espaço de entrada com alta dimensão (10.000 atributos) Vetores de atributos são esparsos Cada atributo é importante, já que a maioria das palavras são Cada documento tem um vetor de atributos, indexado pelos “radicais” das palavras SVM Transdutivos SVM Indutivos Vetores são separados em duas regiões: H1 e H2 A margem é maximizada para que se tenha um erro mínimo de separação Pontos de Dados que estão sobre as margens são chamados de vetores de suporte SVM Transdutivos Inferência Indutiva Generalizar para qualquer conjunto de teste futuro Grande esforço computacional para descoberta da função Inferência Transdutiva Predizer as classes para um conjunto de testes específico SVM Transdutivos - TSVM TSVM SVMS são utilizadas para aprender uma decisão de contorno entre duas classes para predizer rótulos (labels) para futuros conjuntos de testes TSVMs tentam minimizar o número de predições erradas para o conjunto de teste especificamente SVM Transdutivos - TSVM Conjunto de treinamento (+/-) Conjunto de teste ( ) . TSVM para Classificação de Textos TSVMs herdam características de SVM que funcionam bem TSVMs exploram a co-ocorrencia de padrões no texto Exemplo (alta vista) – 2001 Pepper, salt: 181.827 Pepper, physics: 19.425 Salt: 1.9 milhões Physics: 4.2 milhões TSVM para Classificação de Textos Exemplo: •D1 e D6 são vetores de atributos de treinamento •D2 a D5 são vetores de teste •D1, D2, D3 são classificados como A •D4,D5,D6 como B •Isto é possível pelo fato de que os vetores D2 e D3 compartilham uma palavra comum (atom) como D4 e D5 O Algoritmo Entradas: exemplos de treinamento rotulados (x1, y1),...,(xn,yn) Exemplos de testes sem rótulo x1, x2,...,xn C,C* de OP(2) no texto Num+: número prévio de exemplos de teste positivos Saída: Rótulos preditos dos exemplos de teste y1, y2,..., yn O Algoritmo Parâmetros de usuário C e C* indicam o tamanho da margem Num+: permite a troca de recall versus precisão • Recall: proporção de itens atualmente colocados na categoria • Precisão: proporção de itens colocados na categoria e que realmente pertencem a ela O Algoritmo O Algoritmo Inicialmente rotula os dados de testes baseado num indutivo SVM Configura os valores de C* e C*+ Loop Externo – Loop1 Incrementa os fatores de custo pelo valor definido pelo usuário em C* Loop Interno – Loop2 Localiza 2 exemplos de teste para os quais mudando seus rótulos conduz a uma diminuição na função objetivo atual OP(2) Se estes dois exemplos existirem, troque-os O Algoritmo Loop Interno – Loop2 Objetiva minimizar a função objetivo OP(2) O Algoritmo irá trocar 2 exemplos que adiante minimizarão OP(S), caso eles existam Os mesmos exemplos podem ser trocados repetidamente Conjunto de Dados Reuters-21578 WebKB Notícias coletadas pela Reuters em ’87 75% para treino (aprox 9K) e 25% (aprox 3K) para teste O documento pode estar em uma ou mais das 10 classes Conjunto de páginas WEB 4K exemplos para treino e outras para teste Pode estar em 1 das 4 classes (course, faculty, project, student) Ohsumed corpus Documentos médicos agrupados em ’91 10K para treino e 10K para teste Pode estar em 1 das 5 classes (pathology, neoplasms, etc) Métricas de Desempenho Recall e Precisão Recal: tp(tp+fn) Precisão: tp/(tp+fp) Precisão / Recal (P/R) – Ponto de empate Medida padrão para classificação de textos Definida como o valor para o qual a precisão e o recall são iguais Numero de falso positivos igual ao numero de falso negativos Experimentos - Reuters •17 p/ treinamento e 3,299 exemplos de teste •TSVM obteve melhor performance em todas as classes •TSVMs são melhores para pequenos conjuntos de treinamento, mas também se saem bem para conjuntos grandes Experimentos - Reuters Experimentos - Reuters Experimentos - WebKB • 9 exemplos de treino e aprox. 4.000 de testes •As paginas da classe course não possuem informação de tópico •Project é a menor classe (1/9), e as páginas possuem informação de tópico. Experimentos - WebKB Classe Course Experimentos - WebKB Classe Project Experimentos - WebKB Ohsumed • 120 exemplos de treino e 10.000 de testes •TSVM obteve melhor desempenho em todas as classes Considerações Finais TSVM combina ferramentas poderosas Usa o conhecimento a prior do conjunto de testes Explora as propriedades de coocorrencia, típicas de textos Usa SVM para serpação marginal TSVM funcionam bem para classificação de textos Considerações Finais Questões Abertas Melhor forma de representar documentos textuais Pesquisa sobre melhores algoritmos de treinamento Estender classificadores transdutivos para serem indutivos Dúvidas !?!? Obrigado!! [email protected]