A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Introduction to Information Retrieval Introduction to Information Retrieval CS276: Information Retrieval and Web Search Christopher Manning and Prabhakar.

Apresentações semelhantes


Apresentação em tema: "Introduction to Information Retrieval Introduction to Information Retrieval CS276: Information Retrieval and Web Search Christopher Manning and Prabhakar."— Transcrição da apresentação:

1 Introduction to Information Retrieval Introduction to Information Retrieval CS276: Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan Lecture 11: Text Classification; Vector space classification [Borrows slides from Ray Mooney]

2 Introduction to Information Retrieval Recap: Classificadores Naïve Bayes Classificar baseado no peso prévio da classe e no parametro condicional para cada palavra: Treinamento é feito pela contagem e divisão: Não se esqueça da suavização 2

3 Introduction to Information Retrieval 3 O restante da classificação textual Veremos hoje: Métodos de espaço vetorial para classificação textual Classificação em espaços vetoriais utilizando centroides (Rocchio) K Vizinhos mais próximos (K-NN) Fronteiras de decisão, classificadores lineares e não-lineares Lidando com mais de 2 classes Nos próximos capitulos Mais classificação textual Support Vector Machines Problemas especificos de classificação textual

4 Introduction to Information Retrieval 4 Relembrando: Representação do espaço vetorial Cada documento é um vetor, uma componente para cada termo (= palavra). Normalmente vetores normalizados para uma unidade de tamanho. Espaco vetorial de alta dimensao: Os termos são eixos Mais de dimensões, ou ate mesmo Docs são vetores nesse espaço Como podemos fazer a classificação nesse espaço? Sec.14.1

5 Introduction to Information Retrieval 5 Classificação usando espaços vetoriais Como antes, o conjunto de treinamento é um conjunto de documentos, cada um rotulado com sua classe (Ex., topico) Na classificação em espaço vetorial, este conjunto corresponde a um conjunto de pontos rotulados (ou, equivalentemente, vetores) no espaço vetorial Premissa 1: Documentos da mesma classe formam uma região continua do espaço Premissa 2: Documentos de diferentes classes não se sobrepõem (muito) Nós definimos superficies para delinear as classes no espaço Sec.14.1

6 Introduction to Information Retrieval 6 Documentos em um espaco vetorial Governo Ciências Artes Sec.14.1

7 Introduction to Information Retrieval 7 Documento de teste pertence a qual classe? Governo Ciências Artes Sec.14.1

8 Introduction to Information Retrieval 8 Documento de teste = Governo Governo Ciências Artes Esta hipótese de similaridade sempre será verdadeira? Nosso principal tema hoje é como encontrar bons separadores Sec.14.1

9 Introduction to Information Retrieval Graficos 2D/3D podem ser enganosos 9 Sec.14.1

10 Introduction to Information Retrieval K-Nearest Neighbor Classificação realizada por meio da aplicação de uma função de distância. Existem diversos modelos utilizados como função de distância 10

11 Introduction to Information Retrieval K-Nearest Neighbor Classificação realizada por meio da aplicação de uma função de distância. Existem diversos modelos utilizados como função de distância 11 O q O1 O2 O3 q R

12 Introduction to Information Retrieval K-Nearest Neighbor Classificação realizada por meio da aplicação de uma função de distância. Existem diversos modelos utilizados como função de distância 12 O R q L1 Manhattan / City-block {O1} O1 O2 O3 q

13 Introduction to Information Retrieval K-Nearest Neighbor Classificação realizada por meio da aplicação de uma função de distância. Existem diversos modelos utilizados como função de distância O R q L1 Manhattan / City-block {O1} L2 Euclidiana {O1, O2} O1 O2 O3 q

14 Introduction to Information Retrieval K-Nearest Neighbor Classificação realizada por meio da aplicação de uma função de distância. Existem diversos modelos utilizados como função de distância O R q L1 Manhattan / City-block {O1} L2 Euclidiana {O1, O2} L Chebychev / Infinity {O1, O2, O3} O1 O2 O3 q

15 Introduction to Information Retrieval K-Nearest Neighbor Recupera os k objetos mais próximos de um objeto referência (Oq) Cidades do Brasil Oq = Uberlândia K = 3

16 Introduction to Information Retrieval K-Nearest Neighbor Recupera os k objetos mais próximos de um objeto referência (Oq) Cidades do Brasil Oq = Uberlândia K = 3 d() = L1

17 Introduction to Information Retrieval K-Nearest Neighbor Recupera os k objetos mais próximos de um objeto referência (Oq) d() = L2 Cidades do Brasil Oq = Uberlândia K = 3

18 Introduction to Information Retrieval K-Nearest Neighbor Recupera os k objetos mais próximos de um objeto referência (Oq) Cidades do Brasil Oq = Uberlândia K = 3 d() = L

19 Introduction to Information Retrieval K-Nearest Neighbor Um documento é classificado ao analisar os k documentos mais próximos a ele

20 Introduction to Information Retrieval K-Nearest Neighbor Um documento é classificado ao analisar os k documentos mais próximos a ele ? = classe 1 = classe 2

21 Introduction to Information Retrieval K-Nearest Neighbor Um documento é classificado ao analisar os k documentos mais próximos a ele ? Para k = 1 = classe 1 = classe 2

22 Introduction to Information Retrieval K-Nearest Neighbor Um documento é classificado ao analisar os k documentos mais próximos a ele ? Para k = 1 Documento pertence a classe 1 = classe 1 = classe 2

23 Introduction to Information Retrieval K-Nearest Neighbor Um documento é classificado ao analisar os k documentos mais próximos a ele ? Para k = 3 = classe 1 = classe 2

24 Introduction to Information Retrieval K-Nearest Neighbor Um documento é classificado ao analisar os k documentos mais próximos a ele ? = classe 1 = classe 2 Para k = 3 Documento pertence a classe 2

25 Introduction to Information Retrieval Rocchio Similar ao kNN, porém representa os documentos como uma média (centróide) Para classificar um documento, calculamos a sua distância às médias

26 Introduction to Information Retrieval Rocchio Similar ao kNN, porém representa os documentos como uma média (centróide) Para classificar um documento, calculamos a sua distância às médias 12345? = classe 1 = classe 2

27 Introduction to Information Retrieval Rocchio Similar ao kNN, porém representa os documentos como uma média (centróide) Para classificar um documento, calculamos a sua distância às médias 12345? = classe 1 = classe 2

28 Introduction to Information Retrieval Rocchio Similar ao kNN, porém representa os documentos como uma média (centróide) Para classificar um documento, calculamos a sua distância às médias 12345? = classe 1 = classe

29 Introduction to Information Retrieval Rocchio Similar ao kNN, porém representa os documentos como uma média (centróide) Para classificar um documento, calculamos a sua distância às médias 12345? = classe 1 = classe Documento pertence a classe 2

30 Introduction to Information Retrieval Utilizando Rocchio para classificação textual Métodos de relevance feedback podem ser adaptados para classificação textual Como visto anteriormente, relevance feedback pode ser visto como uma classificação entre 2 classes Documentos relevantes vs. documentos não-relevantes Utiliza o padrão tf-idf de vetores ponderados para representar documentos de texto Para documentos de treinamento em cada categoria, calcula-se um vetor protótipo pela soma dos vetores dos documentos de treinamento da categoria. Protótipo = centroide dos membros da classe Atribui os documentos de teste a categoria com o vetor protótipo mais próximo, levando-se em conta a similaridade do cosseno. 30 Sec.14.2

31 Introduction to Information Retrieval Ilustração da Categorização de Texto Rocchio 31 Sec.14.2

32 Introduction to Information Retrieval Definição de centroide Onde D c é o conjunto de todos os documentos que pertencem classe c e v(d) é a representação de d no espaço vetorial. Note que o centroide, em geral, não será um vetor unitario mesmo quando as entradas são vetores unitários. 32 Sec.14.2

33 Introduction to Information Retrieval 33 Propriedades Rocchio Constitui uma simples generalização dos exemplos em cada classe (um protótipo). O vetor protótipo não precisa ser normalizado, já que a similaridade por cosseno é insensivel ao comprimento do vetor. A classificação é baseada na similaridade com os protótipos das classes. Não garante que a classificação seja consistente com os dados de treinamento. Por que não? Sec.14.2

34 Introduction to Information Retrieval 34 Irregularidade Rocchio Modelos de protótipos tem problemas com categorias polimorficas (disjuntiva). Sec.14.2

35 Introduction to Information Retrieval Classificação Rocchio Rocchio forma uma representação simples para cada classe: o centroide / protótipo A classificação é baseada na similaridade de / para a distância a partir do protótipo/centroide Isso não garante que as classificações sejam consistentes com os dados de treinamento É pouco utilizado fora da classificação textual Tem sido utilizado de forma bastante eficaz para a classificação textual Mas, em geral, pior que o Naïve Bayes Novamente, mais barato para treinar e testar documentos 35 Sec.14.2

36 Introduction to Information Retrieval 36 Classificação k vizinhos mais próximos kNN = k Nearest Neighbor Para classificar um documento d em uma classe c: Definir os k vizinhos mais próximos de d Contar o número de documentos i em N que pertencem a c Estime P(c|d) igual a i/k Escolha como classe argmax c P(c|d) [ = classe majoritaria] Sec.14.3

37 Introduction to Information Retrieval 37 Exemplo: k=6 (6NN) Governo Ciência Artes P(ciência| )? Sec.14.3

38 Introduction to Information Retrieval 38 Algoritmo de aprendizagem Vizinho mais próximo Aprender é apenas armazenar as representações dos exemplos de treinamento em D. Exemplo de teste x (em 1NN): Calcule a similaridade entre x e todos os exemplos em D. Atribuir x a categoria do exemplo mais similar em D. Não calcular explicitamente uma generalização ou protótipos da categoria. Também chamado de: Aprendizagem baseada em caso Aprendizagem baseada em memória Aprendizagem preguiçosa Sec.14.3

39 Introduction to Information Retrieval 39 kNN é próximo do ótimo Cover and Hart (1967) A taxa de erro para a classificação 1-NN é 2 vezes menor do que a classificação Bayes [taxa de erro para o classificador sabendo o modelo que gerou os dados] Em particular, a taxa de erro será 0 sempre que a taxa para o classificador Bayes for 0. Assuma: ponto de consulta coincide com o ponto de treinamento. Both query point and training point contribute error 2 times Bayes rate Sec.14.3

40 Introduction to Information Retrieval 40 k Vizinhos mais próximos Utilizar apenas o exemplo mais próximo (1NN) para determinar a classe, está sujeito a erros devido a: Um único exemplo atípico. Ruído (i.e., um erro) no rotulo de uma categoria em um único exemplo de treinamento. Alternativa mais robusta é encontrar os k exemplos mais similares e retornar a categoria da maioria desses k exemplos. Valores de k normalmente é ímpar, 3 e 5 são os mais comuns. Sec.14.3

41 Introduction to Information Retrieval 41 kNN limites de decisão Governo Ciência Artes Limites são, em princípio, superfícies arbitrárias, mas em geral poliedros kNN define limites de bordas entre classes – pontos distantes não influenciam cada decisão de classificação (ao contrário de Naïve Bayes, Rocchio, etc.) Sec.14.3

42 Introduction to Information Retrieval 42 Métricas de similaridade Vizinho mais próximo depende de uma medida de similaridade (ou distância). Exemplo mais simples para o espaço continuo m- dimensional é a Distância Euclidiana. Exemplo mais simples para o espaço m-dimensional binário é a Distância de Hamming (número de valores de caracteristicas que diferem). Para texto, a similaridade do cosseno de vetores ponderados de tf.idf, normalmente é mais eficaz. Sec.14.3

43 Introduction to Information Retrieval 43 Ilustração de 3 vizinhos mais próximos para Espaço Vetorial Textual Sec.14.3

44 Introduction to Information Retrieval 44 3 Vizinhos mais próximos vs. Rocchio Vizinhos mais próximos tendem a lidar com categorias polimórficas melhor do que Rocchio/NB.

45 Introduction to Information Retrieval 45 Vizinhos mais próximos com Indice Invertido Encontrar os vizinhos mais próximos requer uma buscar linear sobre os documentos |D| em uma coleção Mas determinar os k vizinhos mais próximos é o mesmo que determinar os k melhores recuperados usando um documento de teste como uma consulta a uma base de documentos de treinamento. Usa os métodos padrão de indice invertido de espacos vetoriais para encontrar os k vizinhos mais próximos. T esting Time: O(B|V t |) onde B é o número médio de documentos de treinamento em que a palavra test-document aparece. Tipicamente B << |D| Sec.14.3

46 Introduction to Information Retrieval 46 kNN: Discussão Não é necessário seleção de características Funciona bem com grande número de classes Não precisa treinar n classificadores para n classes Classes podem influenciar umas as outras Pequenas mudanças em uma classe pode ter efeito cascata Pontuações podem ser difíceis de converter para probabilidades Não é necessário treinamento Na verdade: talvez não seja verdade. (Edição de dados, etc.) Na maioria dos casos é mais preciso do que o NB ou Rocchio Sec.14.3

47 Introduction to Information Retrieval 47 kNN vs. Naive Bayes Tendência/Troca de variância Variância Capacidade kNN tem alta variance e baixa bias. Memória infinita NB tem baixa variance e alta bias. Superfície de decisão deve ser linear (hiperplano – veja adiante) Considere a pergunta a um botânico: É um objeto de uma árvore? Muito capacity/variance, baixo bias Botânico que memoriza Sempre dirá não ao novo objeto (e.g., diferentes # de folhas) Pouco capacity/variance, alto bias Botânico preguiçoso Diz sim se o objeto é verde Você quer o meio termo (Exemplo devido a C. Burges) Sec.14.6

48 Introduction to Information Retrieval 48 Bias vs. variance: Escolhendo o modelo correto de capacidade Sec.14.6

49 Introduction to Information Retrieval 49 Classificadores lineares e binários e classificação multiclasse Considere 2 classes de problema Decidir entre 2 classe, talvez, governo e não-governo Classificação one-versus-rest Como podemos definir (e encontrar) a superfície de separação? Como vamos decidir em qual região um test doc está? Sec.14.4

50 Introduction to Information Retrieval 50 Separação por Hiperplanos Uma forte suposição high-bias é a separabilidade linear: em 2 dimensões, pode separar classes por uma linha em dimensões superiores, é necessário hiperplanos Pode encontrar hiperplanos separando por programação linear (ou ajustar iterativamente a solução via perceptron): Separador pode ser expresso como ax + by = c Sec.14.4

51 Introduction to Information Retrieval 51 Programação Linear / Perceptron Encontre a,b,c, tal que ax + by > c para pontos vermelhos ax + by < c para pontos azuis Sec.14.4

52 Introduction to Information Retrieval 52 Qual Hiperplano? Em geral, muitas possíveis soluções para a,b,c. Sec.14.4

53 Introduction to Information Retrieval 53 Qual Hiperplano? Muitas possíveis soluções para a,b,c. Alguns métodos encontram um hiperplano de separação, mas não existe um método ótimo [de acordo com algum critério] E.g., perceptron Maioria dos métodos buscam um hiperplano de separação ótimo Quais aspectos devem influenciar a escolha de um hiperplano ótimo? Todos os pontos Regressão logística/linear Naïve Bayes Apenas pontos difíceis próximos da fronteira de decisão Support vector machines Sec.14.4

54 Introduction to Information Retrieval 54 Classificador Linear: Exemplo Classe: interesse (as in interest rate) Exemplo de características de uma classificador linear w i t i w i t i Para classificar, encontrar o produto escalar do vetor de características e os pesos 0.70 prime 0.67 rate 0.63 interest 0.60 rates 0.46 discount 0.43 bundesbank 0.71 dlrs 0.35 world 0.33 sees 0.25 year 0.24 group 0.24 dlr Sec.14.4

55 Introduction to Information Retrieval 55 Classificadores Lineares Muitos classificadores de texto comuns, são classificadores lineares Naïve Bayes Perceptron Rocchio Regressão Logística Support vector machines (with linear kernel) Regressão Linear com threshold Apesar dessa similaridade, notáveis diferenças de desempenho Para problemas de separação, existe um numero infinito de hiperplanos de separação. Qual deles você escolheria? Diferentes métodos de treinamento selecionam diferentes hiperplanos Classificadores mais poderosos do que o linear muitas vezes não têm melhor desempenho em problemas de texto. Por quê? Sec.14.4

56 Introduction to Information Retrieval Rocchio 2-classes como um classificador linear Linha ou hiperplano definido por: For Rocchio, set: [Para o pessoal do ML/stats: Classificação Rocchio é uma simplificação do clássico Discriminante Linear de Fisher onde você não modela a variancia (ou assumir que é esférico).] 56 Sec.14.2

57 Introduction to Information Retrieval Rocchio é um classificador linear 57 Sec.14.2

58 Introduction to Information Retrieval 58 Naive Bayes é um classificador linear 2-classes Naive Bayes. Nós calculamos: Decida a classe C se as probabilidades são maiores que 1, ou seja, se o log das probabilidades é maior que 0. Então o limite de decisão é um hiperplano: Sec.14.4

59 Introduction to Information Retrieval Um problema não linear Um classificador linear como Naïve Bayes não faz essa tarefa muito bem kNN vai fazer muito bem (assumindo que exista dados de treinamento suficientes) 59 Sec.14.4

60 Introduction to Information Retrieval 60 Dados de Alta Dimensão Figuras como a da direita é absolutamente enganosa! Os documentos são zero ao longo de quase todos os eixos A maioria dos pares de documento são muito distantes um dos outro (isto é, não estritamente ortogonais, mas apenas compartilham palavras muito comuns) Em termos de classificação: muitas vezes conjuntos de documentos são separáveis, para a maioria de qualquer classificação Esta é parte da razão pela qual os classificadores lineares são bem sucedidos nesse domínio Sec.14.4

61 Introduction to Information Retrieval 61 Mais de Duas Classes Classificação Any-of ou multivalorada Classes são independentes umas das outras. Um documento pode pertencer a 0, 1, ou >1 classes. Decompor em n problemas binários Muito comum para documentos Classificação One-of ou multinomial ou politômica Classes são mutualmente exclusivas. Cada documento pertence a exatamente uma classe E.g., reconhecimento de digitos é uma classificação politômica Digitos são mutualmento exclusivos Sec.14.5

62 Introduction to Information Retrieval 62 Conjunto de classificadores binários: Any of Constroi um separador para cada classe e seu conjunto complementar (docs de todas as outras classes). Dado o doc de teste, avalia se é membro em cada classe. Aplica o critério de decisão dos classificadores independentemente Feito Entretando talvez seja melhor considerar as dependências entre categorias Sec.14.5

63 Introduction to Information Retrieval 63 Conjunto de classificadores binários: One of Constroi um separador para cada classe e seu conjunto complementar (docs de todas as outras classes). Dado o doc de teste, avalia se é membro em cada classe. Atribui o documento a classe com: Máxima pontuação Máxima confiança Máxima probabilidade ? ? ? Sec.14.5

64 Introduction to Information Retrieval 64 Resumo: Representação de Categorização de Atributos de Texto Representações de texto geralmente são de altas dimensões (uma caracteristica para cada palavra) Algoritmos High-bias que previnem overfitting em espacos de altas dimensões devem geralmente funcionar melhor* Para a maioria das tarefas de categorização de texto, existem muitas caracteristicas relevantes e muitas irrelevantes Métodos que combinam evidências de muitas ou todas as caracteristicas (e.g. naive Bayes, kNN) tendem a trabalhar melhor do que os que tentam isolar apenas algumas caracteristicas relevantes* *Embora os resultados sejam um pouco mais confuso do que o esperado

65 Introduction to Information Retrieval Qual classsficador eu uso para um problema de classificação textual dado? Existe um metodo de aprendizagem que é ideal para todos os problemas de classifiação textual? Não, porque existe uma troca entre bias e variance. Fatores para levar em conta: Quantos dados de treinamento estão disponíveis? O quanto simples/complexo é o problema? (linear vs. nonlinear decision boundary) O quanto de ruido possui esses dados? O quanto o problema é estável ao longo do tempo? Para um problema de instabilidade, é melhor usar um classificador simples e robusto. 65

66 Introduction to Information Retrieval 66 Resources for todays lecture IIR 14 Fabrizio Sebastiani. Machine Learning in Automated Text Categorization. ACM Computing Surveys, 34(1):1-47, Yiming Yang & Xin Liu, A re-examination of text categorization methods. Proceedings of SIGIR, Trevor Hastie, Robert Tibshirani and Jerome Friedman, Elements of Statistical Learning: Data Mining, Inference and Prediction. Springer-Verlag, New York. Open Calais: Automatic Semantic Tagging Free (but they can keep your data), provided by Thompson/Reuters Weka: A data mining software package that includes an implementation of many ML algorithms Ch. 14


Carregar ppt "Introduction to Information Retrieval Introduction to Information Retrieval CS276: Information Retrieval and Web Search Christopher Manning and Prabhakar."

Apresentações semelhantes


Anúncios Google