CS276: Information Retrieval and Web Search

Slides:



Advertisements
Apresentações semelhantes
Medidas de Avaliação de Sistemas de Recuperação de Informação
Advertisements

Modelo Probabilístico
Construção de listas de decisão Os tópicos anteriores tratam de indução de conceitos que podem ser descritos usando uma única região de decisão Neste tópico.
Transformação para o Espaço Latente
Vamos contar D U De 10 até 69 Professor Vaz Nunes 1999 (Ovar-Portugal). Nenhuns direitos reservados, excepto para fins comerciais. Por favor, não coloque.
ANÁLISE DISCRIMINANTE
Capa Disciplina: Ajustamento de Observações
Operadores e Funções do LINGO
Exercício do Tangram Tangram é um quebra-cabeças chinês no qual, usando 7 peças deve-se construir formas geométricas.
ESTIMAÇÃO.
Mineração de Dados Avaliação de Classificadores
Agrupamento (clustering)
PERCEPTRON (CONTINUAÇÃO)
AULA 03 PERCEPTRON SIMPLES.
Curso de ADMINISTRAÇÃO
Análise de regressão linear simples: abordagem matricial
EXPRESSÕES ARITMÉTICAS
Reconhecimento de Padrões Tipos de Aprendizagem
Reconhecimento de Padrões Classificadores Lineares
A Review of Algorithms for Audio Fingerprinting Autores : Pedro Cano Ton Kalker IEEE - MMSP – International WorkShop on Multimedia Signal Processing 2003.
Reconhecimento de Padrões Dissimilaridade
Reconhecimento de Padrões Aprendizagem Supervisionada (KNN)
Descoberta de Conhecimento:
Aula 4 Nomes, Vinculações, Tipos e Escopos
Ernesto F. F. Ramírez e Saide J. Calil
Mecânica dos Sólidos não Linear
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
Aprendizado de Máquina
Aprendizado de Máquina
Inteligência Artificial
Alexandre Xavier Falcão & David Menotti
Aprendizagem de Máquina - Agrupamento
Aprendizado Baseado em Instâncias – Algoritmo k-NN
MECÂNICA - ESTÁTICA Vetores Forças Cap. 2.
K-Means / Clustering.
CS276: Information Retrieval and Web Search
Introduction to Information Retrieval Introduction to Information Retrieval CS276 Information Retrieval and Web Search Christopher Manning and Prabhakar.
Múltiplos de um número Sonia Regina de Souza Guedes.
Plataforma Brasil – Submissão de pesquisa
Análise Fatorial Factor analysis.
Estudo dos Gases Prof. Fabio Costa.
Avaliação de Clusteres Parte II
O que é Estatística, afinal de contas?
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
Mineração da Web Recuperação de Informação
Mineração da Web Recuperação de Informação
Recuperação de Informação Clássica
CIn-UFPE1 Recuperação Inteligente de Informação Agrupamento de Texto.
DIEGO RICARDO DE ARAUJO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO INSTITUTO DE CIÊNCIA EXATAS UNIVERSIDADE FEDERAL DE JUIZ DE FORA Seleção de Características.
Classificação de imagens de fotografias históricas usando detecção de linhas e paralelogramos pela presença de edifícios Natália Cosse Batista Grupo 8.
Seleção de Atributos Ricardo Prudêncio.
1 Aplicações do Fecho Regular. 2 A interseção de uma linguagem livre de contexto e uma linguagem regular é uma linguagem livre de contexto livre de contexto.
Olhe fixamente para a Bruxa Nariguda
NOÇÕES DE PROBABILIDADE
Equipe Bárbara Régis Lissa Lourenço Lucas Hakim Ricardo Spada Coordenador: Gabriel Pascutti.
Capítulo 4 Resultantes de um sistema de forças
Locus Localização Eudes Cavalcanti.
7. Mineração de Texto ("Text Mining")
Classificação/Categorização Christian Diego – cdad Icamaan Viegas – ibvs.
CIn-UFPE1 Recuperação de Informação Modelos de Recuperação de Documentos Flávia Barros.
Aprendizado Baseado em Instancias. Introdução Em contraste aos métodos de aprendizado que constroem uma descrição explicita genérica da função alvo. Os.
Classificação de Textos
FEATURE SELECTION. Introdução  Estudo de metodologias relacionadas a seleção de atributos  Maldição da dimensionalidade  O número de atributos do desenvolvedor.
Métodos Probabilísticos
Laboratório de Classificação Supervisionada Laboratório de Geoprocessamento do Departamento de Engenharia de Transportes da EPUSP setembro de 2011.
Transcrição da apresentação:

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

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

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

Relembrando: Representação do espaço vetorial Sec.14.1 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 10.000 dimensões, ou ate mesmo 100.000+ Docs são vetores nesse espaço Como podemos fazer a classificação nesse espaço?

Classificação usando espaços vetoriais Sec.14.1 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

Documentos em um espaco vetorial Sec.14.1 Documentos em um espaco vetorial Governo Ciências Artes

Documento de teste pertence a qual classe? Sec.14.1 Documento de teste pertence a qual classe? Governo Ciências Artes

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

Graficos 2D/3D podem ser enganosos Sec.14.1 Graficos 2D/3D podem ser enganosos

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

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 O3 O2 O1 R q O q

Manhattan / City-block 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 O3 O2 O1 R q O q L1 Manhattan / City-block {O1}

Manhattan / City-block 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 L2 Euclidiana {O1, O2} O3 O2 O1 R q O q L1 Manhattan / City-block {O1}

Manhattan / City-block 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 L2 Euclidiana {O1, O2} O3 L∞ Chebychev / Infinity {O1, O2, O3} O2 O1 R q O q L1 Manhattan / City-block {O1}

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

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

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() = L2

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∞

K-Nearest Neighbor Um documento é classificado ao analisar os k documentos mais próximos a ele

K-Nearest Neighbor Um documento é classificado ao analisar os k documentos mais próximos a ele 5 4 3 2 1 ? = classe 1 = classe 2

K-Nearest Neighbor Um documento é classificado ao analisar os k documentos mais próximos a ele Para k = 1 5 4 3 2 1 ? = classe 1 = classe 2

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

K-Nearest Neighbor Um documento é classificado ao analisar os k documentos mais próximos a ele Para k = 3 5 4 3 2 1 ? = classe 1 = classe 2

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

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

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 5 4 3 2 1 ? = classe 1 = classe 2

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 5 4 3 2 1 ? = classe 1 = classe 2

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 3.5 5 4 3 2 1 ? 3.66 = classe 1 = classe 2

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 Documento pertence a classe 2 3.5 5 4 3 2 1 ? 3.66 = classe 1 = classe 2

Utilizando Rocchio para classificação textual Sec.14.2 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.

Ilustração da Categorização de Texto Rocchio Sec.14.2 Ilustração da Categorização de Texto Rocchio

Definição de centroide Sec.14.2 Definição de centroide Onde Dc é 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.

Sec.14.2 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?

Irregularidade Rocchio Sec.14.2 Irregularidade Rocchio Modelos de protótipos tem problemas com categorias polimorficas (disjuntiva).

Classificação Rocchio Sec.14.2 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

Classificação k vizinhos mais próximos Sec.14.3 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 argmaxc P(c|d) [ = classe majoritaria]

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

Algoritmo de aprendizagem Vizinho mais próximo Sec.14.3 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

kNN é próximo do ótimo Cover and Hart (1967) Sec.14.3 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

k Vizinhos mais próximos Sec.14.3 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 kNN limites de decisão Limites são, em princípio, superfícies arbitrárias, mas em geral poliedros Governo Ciência Artes 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.)

Métricas de similaridade Sec.14.3 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.

Ilustração de 3 vizinhos mais próximos para Espaço Vetorial Textual Sec.14.3 Ilustração de 3 vizinhos mais próximos para Espaço Vetorial Textual

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

Vizinhos mais próximos com Indice Invertido Sec.14.3 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. Testing Time: O(B|Vt|) onde B é o número médio de documentos de treinamento em que a palavra test-document aparece. Tipicamente B << |D|

kNN: Discussão Não é necessário seleção de características Sec.14.3 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

kNN vs. Naive Bayes Tendência/Troca de variância Sec.14.6 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 Bias/variance in terms of resulting classifier given randomly selected training set; why it is a tradeoff; when to choose low-bias method, when to choose low-variance method (Exemplo devido a C. Burges)

Bias vs. variance: Escolhendo o modelo correto de capacidade Sec.14.6 Bias vs. variance: Escolhendo o modelo correto de capacidade

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á?

Separação por Hiperplanos Sec.14.4 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

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

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

Qual Hiperplano? Muitas possíveis soluções para a,b,c. Sec.14.4 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

Classificador Linear: Exemplo Sec.14.4 Classificador Linear: Exemplo Classe: “interesse” (as in interest rate) Exemplo de características de uma classificador linear wi ti wi ti 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

Classificadores Lineares Sec.14.4 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ê?

Rocchio 2-classes como um classificador linear Sec.14.2 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).]

Rocchio é um classificador linear Sec.14.2 Rocchio é um classificador linear

Naive Bayes é um classificador linear Sec.14.4 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 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)

Sec.14.4 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

Mais de Duas Classes Classificação Any-of ou multivalorada Sec.14.5 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

Conjunto de classificadores binários: Any of Sec.14.5 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

Conjunto de classificadores binários: One of Sec.14.5 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 ?

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 Explain supervised learning

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.

Resources for today’s lecture Ch. 14 Resources for today’s lecture IIR 14 Fabrizio Sebastiani. Machine Learning in Automated Text Categorization. ACM Computing Surveys, 34(1):1-47, 2002. Yiming Yang & Xin Liu, A re-examination of text categorization methods. Proceedings of SIGIR, 1999. 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