cs276: information retrieval and web search christopher manning and prabhakar raghavan
Post on 30-Dec-2015
23 Views
Preview:
DESCRIPTION
TRANSCRIPT
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
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
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
Introduction to Information RetrievalIntroduction to Information Retrieval
Consultas periódicas (Standing)
4
Introduction to Information RetrievalIntroduction to Information Retrieval
Filtro de Spam: Outra tarefa de classificação textualFrom: "" <takworlld@hotmail.com>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
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
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
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
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
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
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
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
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
Introduction to Information RetrievalIntroduction to Information Retrieval
Métodos de Classificação (2)
14
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
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
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
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
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
Introduction to Information RetrievalIntroduction to Information Retrieval
Métodos Bayesianos
20
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
]
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)
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
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
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
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
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
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
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
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
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
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
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
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
Introduction to Information RetrievalIntroduction to Information Retrieval
Consultas periódicas (Standing)
51
Introduction to Information RetrievalIntroduction to Information Retrieval
Filtro de Spam: Outra tarefa de classificação textualFrom: "" <takworlld@hotmail.com>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
Introduction to Information RetrievalIntroduction to Information Retrieval
Classificação automática
53
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
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
Introduction to Information RetrievalIntroduction to Information Retrieval
Naive Bayes vs. outros métodos
56
Sec.13.6
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
Introduction to Information RetrievalIntroduction to Information Retrieval
Comparacao entre modelos NB: WebKB
Sec.13.6
Introduction to Information RetrievalIntroduction to Information Retrieval
Introduction to Information RetrievalIntroduction to Information Retrieval
Naïve Bayes em span de e-mails
Sec.13.6
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
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?
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
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)
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
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
top related