Descoberta de Conhecimento:
Centroid-Based Document Classification:
Analysis & Experimental Results
Autores: Eui-Hong (Sam) Han e George Karypis
Ano de publicação: 2000
Edimar Manica
Fahad Kalil
2009
Roteiro
• Objetivo
• Pré-processamento
o Remoção de Stopwords
o Stemming
• Conceitos
o Poderação de Termos (TF-IDF)
o Cosine Function
o Centroid Vector
o Modelo Vetorial (Vector-Space Model)
• Funcionamento
• Experimentos e Comparativo
• Conclusões
Objetivo
• Dado um conjunto de treinamento
o Doc1 {termo1, termo2, ..., termon} -> Classe 1
o Doc2 {termo1, termo2, ..., termon} -> Classe 2
o Doc3 {termo1, termo2, ..., termon} -> Classe 2
o Doc4 {termo1, termo2, ..., termon} -> Classe 1
• Classificar um novo documento com base em seus termos
o Doc5 {termo1, termo2, ..., termon} -> Classe ?
•
Considerando que um documento pertence a apenas uma
classe
Pré-processamento do documento
• Objetivo
o Limpeza dos dados
• Remoção de stopwords
o Remover
palavras que não são significantes
para representar o documento (palavras comuns)
o Remoção realizada através de uma stop-list
o Ex: A Varig Log pediu a impugnação dos votos das
empresas ...
• Stemming
o O usuário consulta uma palavra e um documento
relevante contém apenas formas variantes desta palavra
o Consulta: como comer com saúde
o Documento: comendo com saúde
Pré-processamento do documento
• Stemming (continuação)
o Stem = radical
o Palavra
Radical
comendo
com
comer
com
o
Algoritmo utilizado: Porter's suffix-stripping
Remoção de sufixos
Baseia-se em regras que são aplicadas
determinadas condições são satisfeitas
Ex: Regra de Redução de plural
sses -> ss
stresses -> stress
ies -> i
ponies -> poni
s
-> nada
cats
-> cat
se
Conceitos
• Poderação de Termos
o Em um documento alguns termos são mais importantes
que outros (tem um peso maior)
o TF-IDF (Term Frequency Times Inverse Document Frequency)
Objetivo:
Beneficiar termos que ocorrem bastante no
documento e em poucos documentos
Atribui ao termo t uma importância no documento d
que é:
Alta se t ocorrer muitas vezes em um número
pequeno de documentos
Menor se t ocorrer poucas vezes no documento OU
muitas vezes na coleção
Muito baixa se t ocorrer em quase todos os
documentos
Conceitos
•
Poderação de Termos (continuação)
o
TF-IDF (Term Frequency Times Inverse Document Frequency)
TF
TF:
IDF
freqt,d = número de ocorrências do termo t no documento.
maxt = número de ocorrência do termo mais frequente em d.
(Isso para não beneficiar documentos longos)
IDF:
N = número de documentos na coleção
nt = número de ocorrências do termo t na coleção
TF-IDF
Exemplo
Termo (t): best
Freq. de t no Doc1: 14
Freq. de t na coleção: 14+0+17=31
Freq. do termo que mais ocorre no Doc1: 27 (car)
Nº docs na coleção: 3
Wt,doc1 = (14/27) * log2 3/31 = -1,75
Centróides
• Um centróide representa uma classe
• É a média dos pesos dos vários termos presentes nos
documentos de uma mesma classe do conjunto de
treinamento.
Centróides
Classe A
Classe B
Classe B
Classe A
(
3
,
4
,
9
)
d1
(
20
,
15
,
0
)
d2
d (22,20,2)
(
1
,
2
,
7
)
d
3
4
Centróides
– Calculando o centróide da classe A
Classe A
Classe B
Classe B
Classe A
d (3,4,9)
(
20
,
15
,
0
)
d
(
22
,
20
,
2
)
d
d (1,2,7)
1
2
3
4
3 1 4 2 9 7
(
,
,
)
(
2
,
3
,
8
)
CA 2 2 2
Centróides
– Calculando o centróide da classe B
Classe A
Classe B
Classe B
Classe A
d (3,4,9)
d (20,16,0)
d (22,20,2)
(
1
,
2
,
7
)
d
1
2
3
4
20 22 16 20 0 2
(
,
,
)
(
21
,
18
,
1
)
CB
2
2
2
Cosine Function - Idéia
• Documentos que estão próximos no espaço vetorial tem
conteúdo similar
• Similaridade computada usando o co-seno do ângulo entre os
documentos
Cosine Function - Idéia
•
O comprimento dos valores não é levado em consideração,
apenas suas direções.
•
Consultas e
documentos.
centróides
são
considerados
pseudo-
Cosine Function - Cálculo
A B
(a1 b1) (a 2 b2) (an bn)
sim( A, B) cos( )
2
2
2
2
2
2
| A|| B |
a1 a 2 a n b1 b 2 b n
Cosine Function - Cálculo
A B
(a1 b1) (a 2 b2) (an bn)
sim( A, B) cos( )
2
2
2
2
2
2
| A|| B |
a1 a 2 a n b1 b 2 b n
• O vetor de um documento j é definido por:
d
j
( w1,dj , w2,dj ,, wn,dj )
• O vetor de um centróide k é definido por:
c
k
(w1,ck , w2,ck ,, wn,ck)
Cosine Function - Cálculo
A B
(a1 b1) (a 2 b2) (an bn)
sim( A, B) cos( )
2
2
2
2
2
2
| A|| B |
a1 a 2 a n b1 b 2 b n
(
4
,
1
,
8
)
c1
d1 (2,5,8)
sim(d 1 , c1)
(2 * 4) (5 *1) (8 * 8)
2
2
5 8 *
2
2
2
4
1 8
2
2
0,89
Modelo proposto
• Centroid-Based Document Classifier
Baseado no modelo espaço-vetorial, que parte da
premissa de que o significado de um documento pode ser
representado pelos termos presentes nele.
O modelo representa documentos como um vetor de
termos (1) onde o termo no vetor é um valor não-negativo
denotando a não ocorrência, ocorrência única ou múltipla de
um termo i em um documento d.
dtf tf1, tf 2 ,...,tf n
(1)
Tendo um conjunto S de documentos e sua representação na
forma de vetores, são utilizadas as funções Cosine e de definição
dos centróides.
Funcionamento
Passos necessários:
Treinamento:
- Cálculo do TF-IDF;
- Cálculo dos centróides;
Novos documentos:
- Cálculo do TF-IDF;
- Similaridade entre o novo documento e todos os centróides
gerados no treinamento, usando Cosine Function.
Funcionamento
Exemplo didático!
- 4 documentos de treino;
- 1 novo documento;
- 2 classes
Experimentos
- Comparativo entre outros algoritmos
classificadores
17 de 23
documentos
classificados
corretamente
- Foram usados 80% dos
documentos para treino e
20% como conjunto de teste.
Comparativo
Centroid-based X Naive Bayes
-Melhor que o classificador Naive Bayes pela forma como é computada
a similaridade entre um documento teste e uma classe.
-Naive Bayes usa a regra Bayes, assumindo que quando condicionado
em cada classe, a ocorrência de diferentes termos é independente.
Porém, na realidade isso não acontece freqüentemente.
-Dependência entre termos pode ser vista pela freqüência com que
aparecem juntos em documentos da mesma classe.
Considerações Finais
VANTAGENS
- Algoritmo com complexidade linear e melhores resultados que o
Naive Bayes (que é um dos melhores).
- A essência do algoritmo está na sua forma de calcular a similaridade
entre um documento de teste e o centróide da classe.
- É levada em conta a similaridade, freqüência e dependência entre os
termos presentes no documento com os documentos da classe.
DESVANTAGEM
- O algoritmo determina que um documento só pode pertencer a uma
classe específica.