66
Introduction to Information Retrieval Introduction to Information Retrieval CS276: Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan Lecture 10: Text Classification; The Naive Bayes algorithm

CS276: Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Embed Size (px)

DESCRIPTION

CS276: Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan Lecture 10: Text Classification; The Naive Bayes algorithm. Recapitulando… (Relevance feedback). Em relevance feedback, o usuário marca alguns documentos como relevante / não-relevante - PowerPoint PPT Presentation

Citation preview

Page 1: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Introduction to

Information Retrieval

CS276: Information Retrieval and Web SearchChristopher Manning and Prabhakar Raghavan

Lecture 10: Text Classification;The Naive Bayes algorithm

Page 2: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Recapitulando… (Relevance feedback) Em relevance feedback, o usuário marca alguns

documentos como relevante/não-relevante As escolhas podem ser organizadas em classes ou

categorias Para os documentos recuperados, o usuário decide

qual a classe correta Os sistemas de RI usam essas decisões para construir

um modelo melhor para a informação desejada Relevance feedback pode ser visto como uma forma

de classificação textual (decidindo entre classes) A noção de classificação é muito geral e tem muitas

aplicações dentro e fora da RI

Page 3: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Consultas periódicas (Standing) O caminho da RI para a classificação textual:

Você tem uma informação que precisa monitorar: Conflitos na região do Delta do Níger (Nigéria)

Você quer rodar uma determinada consulta periodicamente para encontrar novas notícias sobre esse tema

Você receberá os novos documentos encontrados I.e., classifiação textual, não ranqueamento

Essas consultas são chamadas consultas periódicas Muito utilizado pelos “profissionais da informacao” Um exemplo atual é o Google Alerts

Consultas periódicas são (escritas a mão) classificadores de texto

Ch. 13

Page 4: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Consultas periódicas (Standing)

4

Page 5: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Filtro de Spam: Outra tarefa de classificação textualFrom: "" <[email protected]>Subject: real estate is the only way... gem oalvgkay

Anyone can buy real estate with no money down

Stop paying rent TODAY !

There is no need to spend hundreds or even thousands for similar courses

I am 22 years old and I have already purchased 6 properties using themethods outlined in this truly INCREDIBLE ebook.

Change your life NOW !

=================================================Click Below to order:http://www.wholesaledaily.com/sales/nmd.htm=================================================

Ch. 13

Page 6: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Classificação textual Nesse capitulo:

Introdução a classificação textual Também conhecida como “categorização textual”.

Classificação textual Naïve Bayes Incluindo um pouco sobre Modelos Probabilísticos

Ch. 13

Page 7: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Categorização/Classificação Dados:

A descrição de um documento, d X X é o espaço dos documentos.

Problema: como representar documento de texto Normalmente, algum tipo de espaço de alta dimensão

Um conjunto fixo de classes:C = {c1, c2,…, cJ}

Determine: A categoria de d: γ(d) C, onde γ(d) é uma função de classificação

cujo dominio é X e cuja classificação está em C. Queremos saber como construir funções de classificação

(“classificadores”).

Sec. 13.1

Page 8: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Classificação Supervisionada Dados:

A descrição de um documento, d X X é o espaço dos documentos.

Um conjunto fixo de classes:C = {c1, c2,…, cJ}

Um conjunto de treinamento D de documentos rotulados, onde cada documento rotulado ⟨d,c ⟩ ∈ X×C

Determine: Um algoritmo ou método de aprendizagem que nos

permita determinar um classificador γ:X→C Para um documento de teste d, atribuimos a classe γ(d) ∈ C

Sec. 13.1

Page 9: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Multimedia GUIGarb.Coll.SemanticsML Planning

planningtemporalreasoningplanlanguage...

programmingsemanticslanguageproof...

learningintelligencealgorithmreinforcementnetwork...

garbagecollectionmemoryoptimizationregion...

“planning language proof intelligence”

TrainingData:

TestData:

Classes:(AI)

Classificação de Documentos

(Programming) (HCI)

... ...

(Nota: na vida real muitas vezes há uma hierarquia, que não está presente no problema acima; e também, você pode ter documentos sobre ML atribuidos à classe Garb. Coll.)

Sec. 13.1

Page 10: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Mais exemplos de Classificação TextualMuitas funcionalidades dos motores de buscas utilizam classificação

Atribuindo rótulos a documentos ou a páginas-web: Rótulos são utilizados mais frequentemente como

tópicos… como as categorias do Yahoo! "finance," "sports," "news>world>asia>business"

Rótulos podem ser gêneros "editorials" "movie-reviews" "news”

Rótulos podem ser opiniões sobre um produto/pessoa “like”, “hate”, “neutral”

Rótulos podem ser específicos de um domínio "interesting-to-me" : "not-interesting-to-me” “contains adult language” : “doesn’t” language identification: English, French, Chinese, … search vertical: about Linux versus not “link spam” : “not link spam”

Ch. 13

Page 11: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Métodos de Classificação Classificação Manual Classificação automática Aprendizado supervisionado Relevance Feedback Métodos Bayesianos

11

Page 12: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Métodos de Classificação (1) Classificação Manual

Usado pelo Yahoo! Directory Looksmart, about.com, ODP, PubMed Alta precisão quando o trabalho é feito por especialistas Consistente quando a equipe e o problema são pequenos Escalabilidade dificil e muito trabalhosa

Significa que precisamos de métodos de classificação automáticos para grandes problemas

Ch. 13

Page 13: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Métodos de Classificação (2) Classificação automática de documentos

Sistemas baseado em regras escritas a mão Tecnica utilizada pelo filtro de spam do Departamento de

Computacao de Stanford, Reuters, CIA, etc. Utilizado pelo Google Alerts

Amplamente implantado no governo e empresas Empresas fornecem ambientes de desenvolvimento para escrever

essas regras Ex., atribuir a uma categoria se um documento contém uma

combinação booleana de palavras Precisão geralmente é elevada se uma regra for refinada ao longo

do tempo por um especialista Construção e manutenção dessas regras requer muito esforço

Ch. 13

Page 14: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Métodos de Classificação (2)

14

Page 15: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

A Verity topic Uma regra de classificação complexa

Nota: Problemas de

manutenção (autor, etc.)

Ponderação dos termos feita a mão

[Verity was bought by Autonomy.]

Ch. 13

Page 16: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Métodos de classificação (3) Aprendizado supervisionado de uma função de

atribuição de rótulo de documento Muitos sistemas, mesmo que parcialmente, dependem de

maquinas de aprendizado (Microsoft, Enkata, Yahoo!, …) k-Vizinhos mais proximos (simples, poderoso) Naive Bayes (simples, método comum) Support-vector machines (new, more powerful) … além de muitos outros métodos Nada de moleza: exige que os dados de treinamento sejam

classificados manualmente Mas os dados podem ser construidos (e refinados) por amadores

Muitos sistemas comerciais utilizam uma mistura dos métodos

Ch. 13

Page 17: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Relevance feedback probabilístico Ao invés de reponderação em um espaco vetorial… Se o usuário disser alguns documentos relevantes e

irrelevantes, então podemos continuar a construção de um classificador probabilístico,

como veremos no modelo Naive Bayes:

P(tk|R) = |Drk| / |Dr|

P(tk|NR) = |Dnrk| / |Dnr| tk é um termo; Dr é o conjunto de documentos conhecidos como

relavantes; Drk é o subconjunto que contém tk; Dnr é o conjunto de documentos conhecidos como não-relevantes; Dnrk é o subconjunto que contém tk.

Sec. 9.1.2

Page 18: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Lembrando alguns princípios básicos de probabilidade Para os eventos a e b: Regra de Bayes

Probabilidade:

aaxxpxbp

apabp

bp

apabpbap

apabpbpbap

apabpbpbapbapbap

,)()|(

)()|(

)(

)()|()|(

)()|()()|(

)()|()()|()(),(

)(1

)(

)(

)()(

ap

ap

ap

apaO

Posterior

Anterior

Page 19: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Métodos Bayesianos Nosso foco nesse capítulo Aprendizagem e métodos de classificação baseados

na teoria da probabilidade. Teorema de Bayes tem um papel fundamental na

aprendizagem probabilística e classificação. Constrói um modelo produtor que se aproxima em

como os dados são produzidos Utiliza a probabilidade anterior de cada categoria

caso não haja informações sobre um item. Encontrar a melhor classe para o documento utilizando uma

distribuição de probabilidade posterior sobre as possíveis classes dada a descrição de um item.

Sec.13.2

Page 20: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Métodos Bayesianos

20

Page 21: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Regras Bayesianas para classificação textual Para um documento d e uma classe c

P(c,d) P(c | d)P(d) P(d | c)P(c)

P(c | d) P(d | c)P(c)

P(d)

Sec.13.2

Page 22: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Classificadores Naive Bayes

Tarefa: Classificar uma nova instância d baseado em uma tupla de valores de atributo em uma das classes cj C

d x1,x2,K ,xn

),,,|(argmax 21 njCc

MAP xxxcPcj

),,,(

)()|,,,(argmax

21

21

n

jjn

Cc xxxP

cPcxxxP

j

)()|,,,(argmax 21 jjnCc

cPcxxxPj

Sec.13.2

MAP é o “máximo a posteriori” = classe mais provável

Page 23: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Classificador Naïve Bayes: Hipotese Naïve Bayes P(cj)

Pode ser estimada a partir da frequencia das classes nos exemplos de treinamento.

P(x1,x2,…,xn|cj) O(|X|n•|C|) parameters Somente pode ser estimado se um grande número de

exemplos de treinamento estiver disponível.Hipótese de Independência Condicional Naïve Bayes: Suponha que a probabilidade de observar uma conbinação de

atributos é igual ao produto das probabilidades individuais P(xi|cj).

Sec.13.2

Page 24: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Flu

X1 X2 X5X3 X4

feversinus coughrunnynose muscle-ache

O Classificador Naïve Bayes

Hipótese da Independência Condicional: características detectam a presença de termos e são independentes uns dos outros devido a classe:

Este modelo é apropriado para variáveis binárias Modelo Multivariate Bernoulli

)|()|()|()|,,( 52151 CXPCXPCXPCXXP

Sec.13.3

Page 25: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Aprendizagem do Modelo

Primeira tentativa: estimativas de maior semelhança (MLE) Basta usar as frequências nos dados

)(

),()|(ˆ

j

jiiji cCN

cCxXNcxP

C

X1 X2 X5X3 X4 X6

N

cCNcP j

j

)()(ˆ

Sec.13.3

Nc = nº doc que pertencem a classe c

Nc = nº total de doc

Page 26: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Problema com a máxima semelhança

E se não vimos nos documentos de treinamento nenhuma palavra muscle-ache classificada na classe Flu?

Zero probabilities cannot be conditioned away, no matter the other evidence!

0)(

),()|(ˆ 5

5

nfCN

nfCtXNnfCtXP

i ic cxPcP )|(ˆ)(ˆmaxarg

Flu

X1 X2 X5X3 X4

feversinus coughrunnynose muscle-ache

)|()|()|()|,,( 52151 CXPCXPCXPCXXP

Sec.13.3

Page 27: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Suavização para evitar Overfitting

kcCN

cCxXNcxP

j

jiiji

)(

1),()|(ˆ

Versão um pouco mais sutil

# de valores de Xi

mcCN

mpcCxXNcxP

j

kijkiijki

)(

),()|(ˆ ,,

,

Todas as fracoes dos dados onde

Xi=xi,k

Grau de “suavizacao”

Sec.13.3

Page 28: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Modelos estocásticos de linguagem

Modelo probabilístico para geração de strings (cada palavra por vez) em uma linguagem (comumente todas as strings do alfabeto ∑).

0.2 the

0.1 a

0.01 man

0.01 woman

0.03 said

0.02 likes

the man likes the woman

0.2 0.01 0.02 0.2 0.01

multiplicar

Modelo M

P(s | M) = 0.00000008

Sec.13.2.1

Page 29: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Modelos estocásticos de linguagem

Modelo probabilístico para geração de qualquer string

0.2 the

0.01 class

0.0001 sayst

0.0001 pleaseth

0.0001 yon

0.0005 maiden

0.01 woman

Modelo M1 Modelo M2

maidenclass pleaseth yonthe

0.00050.01 0.0001 0.00010.2

0.010.0001 0.02 0.10.2

P(s|M2) > P(s|M1)

0.2 the

0.0001 class

0.03 sayst

0.02 pleaseth

0.1 yon

0.01 maiden

0.0001 woman

Sec.13.2.1

Page 30: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Unigram e modelos de ordem superior

Modelos de Linguagem Unigram

Modelos de Linguagem Bigram (geralmente, n-gram)

Outros Modelos de linguagem Modelos baseados em gramática (PCFGs), etc.

Provavelmente não é a primeira coisa a se tentar em RI

= P ( ) P ( | ) P ( | )P ( | )

P ( ) P ( ) P ( ) P ( )

P ( )

P ( ) P ( | ) P ( | ) P ( | )

Fácil.Eficaz!

Sec.13.2.1

Page 31: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Naïve Bayes através de um modelo de linguagem condicional de classe = NB multinomial

Efetivamente, a probabilidade de cada classe é feita como um modelo de linguagem unigram específico de classe

C

w1 w2 w3 w4 w5 w6

Sec.13.2

Page 32: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Usando classificadores Multinomial Naive Bayes para classificação textual: Método basico

Atributos são as posições de texto, valores são as palavras.

Ainda assim muitas possibilidades Suponha que a classificação é independente da

posição das palavras Use os mesmos parametros para cada posição O resultado é o modelo “sacola de palavras” (over

tokens not types)

)|text""()|our""()(argmax

)|()(argmax

1j

j

jnjjCc

ijij

CcNB

cxPcxPcP

cxPcPc

Sec.13.2

Page 33: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Textj documento único contendo todos os docsj

Para cada palavra xk no Vocabulario

nk número de ocorrências de xk em Textj

Naive Bayes: Aprendizagem A partir da coleção de treinamento, extraia o Vocabulário Calcule os termos requeridos P(cj) e P(xk | cj)

Para cada cj em C faça docsj subconjunto de documentos para os quais a classe

destino é cj

||)|(

Vocabularyn

ncxP k

jk

|documents # total|

||)( j

j

docscP

Sec.13.2

Page 34: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Naive Bayes: Classificação

positions todas as posições das palavras no documento atual que contenham tokens encontrados no Vocabulario

Retorne cNB, onde

positionsi

jijCc

NB cxPcPc )|()(argmaxj

Sec.13.2

Page 35: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Naive Bayes: Complexidade de tempo

Training Time: O(|D|Lave + |C||V|)) onde Lave é o comprimento médio de um documento em D. Suponha que todos os aspectos são pré-calculados no tempo O(|D|

Lave) durante uma passagem por todos os dados.

Geralmente apenas O(|D|Lave) pois usualmente |C||V| < |D|Lave

Test Time: O(|C| Lt) onde Lt é o tempo médio de um documento de teste.

Muito eficiente no geral, linearmente proporcional ao tempo necessário para apenas ler todos os dados.

Porque?

Sec.13.2

Page 36: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Underflow Prevention: usar logs Multiplicando grandes quantidades de probabilidades, que

estão entre 0 e 1 por definição, pode resultar em estouro de ponto flutuante.

Desde que log(xy) = log(x) + log(y), é melhor realizar todos os cálculos somando os logs de probabilidades, em vez de multiplicar as probabilidades.

Classe com maior pontuação final não normalizada de log de probabilidade ainda é a mais provável.

Note que o modelo agora é só o máximo da soma dos pesos…

cNB argmaxcj C

[log P(c j ) log P(x i | c j )ipositions

]

Sec.13.2

Page 37: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Classificador Naive Bayes

Interpretação simples: Cada parametro condicional log P(xi|cj) é um peso que indica o quanto um indicador xi é bom para cj.

O log P(cj) anterior é um peso que indica a frequência relativa de cj.

A soma é então uma medida do tamanho da evidência para que o documento pertença a uma classe.

Nós selecionamos a classe com maior evidência para ela37

cNB argmaxcj C

[log P(c j ) log P(x i | c j )ipositions

]

Page 38: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Dois modelos Naive Bayes Modelo 1: Multivariate Bernoulli

Uma caracteristica Xw para cada palavra do dicionario Xw = true no documento d se w aparece em d Hipotese Naive Bayes:

Dado tópico dos documentos, a ocorrência de uma palavra no documento não nos diz nada sobre a chance de uma outra palavra aparecer

Este é o modelo usado no modelo de independência binária no relevance feedback clássico probabilístico dos dados classificados a mão (Maron em RI era um usuario muito precoce do NB)

Page 39: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Dois modelos Modelo 2: Multinomial = Class conditional unigram

Uma caracteristica Xi para cada palavra no documento Valores das caracteristicas são todas as palavras do dicionário

Valor de Xi é a palavra na posição i Hipótese Naïve Bayes:

Dado tópico dos documentos, as palavras em uma posição no documento não nos diz nada sobre as palavras em outras posições

Segunda hipótese: A ocorrência da plavra não depende da posição

Basta ter uma caracteristica multinomial prevendo todas as palavras

)|()|( cwXPcwXP ji Para todas as posições i,j, palavra w, e classe c

Page 40: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Multivariate Bernoulli model:

Multinomial model:

Pode criar um mega documento para a classe j, concatenando todos os documentos desta classe

Utiliza a frequência de w no mega documento

Estimativa do parametro

Fração de documentos de classe cj

em que aparece a palavra w )|(ˆ

jw ctXP

Fração de vezes em que a palavra w aparece entre todas as palavras

nos documentos de topico cj

)|(ˆji cwXP

Page 41: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Classificação

Multinomial vs Multivariate Bernoulli?

Modelo Multinomial é quase sempre mais eficiente em aplicações de texto!

Veja a figura dos resultados depois

Veja as seções IIR 13.2 e 13.3 para exemplos de cada modelo

Page 42: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Seleção de características: Por que?

Coleções de texto possuem um grande numero de características 10,000 – 1,000,000 unique words … and more

Pode ser feito utilizando um classificador específico Alguns classificadores não conseguem lidar com 100,000

características Reduz o tempo de treinamento

Tempo de treinamento para alguns métodos é quadrático ou pior em numero de características

Pode melhorar a generalização (performance) Elimina o ruido das características Evita overfitting

Sec.13.5

Page 43: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Seleção de características: como? Duas idéias:

Hipóteses de estatísticas de teste: Estamos confiantes de que o valor de uma variável categórica é

associado com o valor de outro Chi-square test (2)

Teoria da informação: Quanta informação o valor de uma variável categórica fornece

sobre o valor de uma outra Informação mútua

Eles são semelhantes, mas 2 measures confidence in association, (based on available statistics), while MI measures extent of association (assuming perfect knowledge of probabilities)

Sec.13.5

Page 44: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Estatística 2 (CHI) 2 está interessado em (fo – fe)2/fe soma de todas as entradas na

tabela: o número observado é o que você esperaria dada as marginais?

A hipotese nula é rejeitada com confiança de .999 uma vez que 12.9 > 10.83 (o valor de .999 de confiança).

)001.(9.129498/)94989500(502/)502500(

75.4/)75.43(25./)25.2(/)(),(22

2222

p

EEOaj

9500

500

(4.75)

(0.25)

(9498)3Class auto

(502)2Class = auto

Term jaguar

Term = jaguar esperado: fe

observado: fo

Sec.13.5.2

Page 45: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Uma simples fórmula para 2x2 2:

Estatística 2 (CHI)

N = A + B + C + D

D = #(¬t, ¬c)

B = #(t,¬c)

C = #(¬t,c)A = #(t,c)

Valor para independência completa do termo e da categoria?

Sec.13.5.2

Page 46: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Seleção de características via Informação Mútua (MI) No conjunto de treinamento, escolha as k palavras

que melhor discriminam (dê mais informações sobre) as categorias.

A informação mútua entre uma palavra de classe, é:

Para cada palavra w e cada categoria c ew =1, documento contem w ec 1, documento pertence a classe c

}1,0{ }1,0{ )()(

),(log),(),(

w ce e cw

cwcw epep

eepeepcwI

Sec.13.5.1

Page 47: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Seleção de características via MI (cont.) Para cada categoria, construimos uma lista dos k

termos mais discriminantes. Por exemplo (em 20 grupos de notícias):

sci.electronics: circuit, voltage, amp, ground, copy, battery, electronics, cooling, …

rec.autos: car, cars, engine, ford, dealer, mustang, oil, collision, autos, tires, toyota, …

Greedy: não leva em conta as correlações entre os termos

Porquê?

Sec.13.5.1

Page 48: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Seleção de características Informação Mútua

Limpar interpretação de informação teórica Pode selecionar termos raros nao informativos

Chi-square Fundamentacao estatistica Pode selecionar termos frequentes e poucos informativos

que nao sao muito uteis para a classificacao

Basta usar os termos mais comuns? Nenhuma fundamentacao particular Na pratica, eh muitas vezes 90% bom

Sec.13.5

Page 49: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Selecao de caracteristicas para o NB Em geral eh necessario selecao de caracteristicas para

Bernoulli multivariado NB. Caso contrario, voce pode sofrer com ruido, multi-counting

“Selecao de caracteristicas” realmente significa algo diferente para o NB multinomial. Isso significa truncamento do dicionario O modelo NB multinomial soh tem 1 caracteristica

Esta “selecao de caracteristica” normalmente nao eh necessaria para o NB multinomial, mas pode ajudar uma fracao com quantidades que sao mal estimadas

Sec.13.5

Page 50: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Recapitulando…. Classificação textual

Consultas periódicas Filtros de span Classificação Manual Classificação automática Aprendizado supervisionado Relevance Feedback Métodos Bayesianos

50

Page 51: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Consultas periódicas (Standing)

51

Page 52: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Filtro de Spam: Outra tarefa de classificação textualFrom: "" <[email protected]>Subject: real estate is the only way... gem oalvgkay

Anyone can buy real estate with no money down

Stop paying rent TODAY !

There is no need to spend hundreds or even thousands for similar courses

I am 22 years old and I have already purchased 6 properties using themethods outlined in this truly INCREDIBLE ebook.

Change your life NOW !

=================================================Click Below to order:http://www.wholesaledaily.com/sales/nmd.htm=================================================

Ch. 13

Page 53: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Classificação automática

53

Page 54: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Métodos Bayesianos Classificar baseado na probabilidade condicional de

Bayes:

Treinamento é feito pela contagem e divisão:

Não se esqueça da suavização54

cNB argmaxcj C

log P(c j ) log P(x i | c j )ipositions

P(c j ) Nc j

N

P(xk | c j ) Tc j xk

[Tc j xi ]

xi V

Page 55: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Avaliando a categorização Avaliação deve ser feita em dados de teste que são

independenteste dos dados de treinamento (geralmente um conjunto disjunto de instancias). Às vezes utiliza validação cruzada (média dos resultados de

treinamento e teste) É fácil obter bom desempenho em um conjunto de teste que

estava disponível para o aluno durante o treinamento (Ex., memorizar apenas o conjunto de teste).

Medidas: precisão, retorno, F1, precisão da classificação Precisão da classificação: c/n onde n é o número total de

instancias de teste e c é o numero de instancias de teste classificados corretamente pelo sistema. Adequado se uma classe por documento Caso contrario, medida F para cada classe

Sec.13.6

Page 56: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Naive Bayes vs. outros métodos

56

Sec.13.6

Page 57: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Esperiência WebKB (1998) Classificar páginas web dos departamentos de

Ciência da Computação em: student, faculty, course, project

Treinamento de aproximadamente 5.000 páginas rotuladas a mão Cornell, Washington, U.Texas, Wisconsin

Rastrear e classificar um novo site (CMU) Results:

Student Faculty Person Project Course DepartmtExtraído 180 66 246 99 28 1Correto 130 28 194 72 25 1Precisão 72% 42% 79% 73% 89% 100%

Sec.13.6

Page 58: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Comparacao entre modelos NB: WebKB

Sec.13.6

Page 59: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Page 60: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Naïve Bayes em span de e-mails

Sec.13.6

Page 61: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

SpamAssassin Naïve Bayes sente-se em casa em filtragem de span

Paul Graham’s A Plan for Spam A mutant with more mutant offspring...

Naive Bayes-like classifier with weird parameter estimation Amplamente utilizado em filtros de span

Naive Bayes classico eh melhor quando usado adequadamente De acordo com David D. Lewis

Mas tambem muitas outras coisas: black hole lists, etc.

Muitos filtros de e-mail utilizam classificadores NB

Page 62: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Violação das hipóteses NB A hipótese de independência realmente não suporta

documentos escritos em linguagem natural. Independência condicional Independência posicional

Exemplos?

Page 63: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Exmplo: Sensores

FATORES NB: P(s) = 1/2 P(+|s) = 1/4 P(+|r) = 3/4

Chuvoso

Ensolarado

P(+,+,r) = 3/8 P(+,+,s) = 1/8

Reality

P(-,-,r) = 1/8 P(-,-,s) = 3/8

Raining?

M1 M2

Modelo NB

PREVISÕES: P(r,+,+) = (½)(¾)

(¾) P(s,+,+) = (½)(¼)

(¼) P(r|+,+) = 9/10 P(s|+,+) = 1/10

Page 64: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Probabilidades Posteriores Naïve Bayes Resultados da classificacao naïve Bayes (a classe com

maxima probabilidade posterior) geralmente sao bastante precisos.

No entanto, devido a inadequacao da hipotese de independencia condicional, a estimativa numerica da probabilidade posterior nao eh. As probabilidades de saida geralmente sao proximas de 0 ou 1.

Estimativa correta previsao precisa, mas estimativas de probabilidade correta NAO eh necessario para uma boa previsao (soh precisa de uma correta ordenacao das probabilidades)

Page 65: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Naive Bayes nao é tao ingenuo (naïve) Naive Bayes ganhou 1st e 2nd lugar dentre 16 sistemas na competição KDD-CUP

97Objetivo: Modelo de predição de resposta de e-mail para a indústria de serviços financeiros: Prever se o destinatário do e-mail vai realmente responder ao anúncio – 750,000 registros.

Mais robusto para características irrelevantes do que muitos métodos de aprendizagem

Características irrelevantes se anulam sem afetar os resultadosÁrvores de decisão podem sofrer muito com isso.

Conceito de drift mais robusto (mudar definição de classe ao longo do tempo) Muito bom em dominios com muitas caracteristicas igualmente importantes

Arvores de decisao sofrem fragmentacao em tais casos – especialmente se possuem poucos dados

Uma boa base confiavel para classificacao de texto (mas nao a melhor)! Aprendizagem e teste muito rapido (basicamente apenas contar os dados) Com baixos requisitos de armazanamento

Page 66: CS276:  Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

Introduction to Information RetrievalIntroduction to Information Retrieval

Resources for today’s lecture IIR 13 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. Andrew McCallum and Kamal Nigam. A Comparison of Event Models for

Naive Bayes Text Classification. In AAAI/ICML-98 Workshop on Learning for Text Categorization, pp. 41-48.

Tom Mitchell, Machine Learning. McGraw-Hill, 1997. Clear simple explanation of Naïve Bayes

Open Calais: Automatic Semantic Tagging Free (but they can keep your data), provided by Thompson/Reuters (ex-ClearForest)

Weka: A data mining software package that includes an implementation of Naive Bayes

Reuters-21578 – the most famous text classification evaluation set Still widely used by lazy people (but now it’s too small for realistic

experiments – you should use Reuters RCV1)

Ch. 13