Clustering de Texto
Recuperação Inteligente de Informação
Roteiro





Introdução
Representação de Textos
Algoritmos de Clusteting
Avaliação
Conclusões
Clustering (Agrupamento)

Particionar objetos em clusters de forma que:
Objetos dentro de um cluster são similares
 Objetos de clusters diferentes são diferentes


Descobrir novas categorias de objetos de uma
maneira não-supervisionada

Classes não são fornecidas a priori
Tipos de Clustering

Flat X Hierárquicos

Hard X Fuzzy

Incremental X Não-Incremental
Clustering (Agrupamento) de Texto

Objetivo:


Encontrar clusters em bases de documentos de
texto
Usos:



Gerar interfaces para resultados de engenhos de
busca
Criar diretórios de documentos
Reordenar resultados de busca
Clustering de Texto
Textos
Corpus
Redução da
dimensionalidade
Representação
Representação
dos documentos
(e.g. lista de termos)
Seleção ou extração
de características
Cluster B
Textos
Etiquetagem
Clustering
Cluster A
Textos
Cluster C
Textos
Representação de Textos

Abordagem Clássica: TF-IDF

Cada documento representado como um ponto
em um espaço de tamanho T (tamanho do
vocabulário)
di = (di1,...,diT)
dij = tfij * log(idfj)
Representação de Textos

Observação: muitos trabalhos usam
somente termo TF
di = (di1,...,diT)
dij = tfij
Representação de Textos

Similaridade medida através de Cosseno
 
 
sim(c , d )  cos(c , d )
Representação de Textos

Redução de dimensionalidade

Aplica-se operadores de stemming e eliminação
de stopwords

Seleção de Atributos
 Selecionam

termos mais relevantes do vocabulário
Extração de Atributos
 Criam
novos atributos a partir da combinação dos
atributos existentes
Representação de Textos

Seleção de Atributos

Document Frequency: seleciona termos mais
frequentes da base

Term Frequency Variance: seleciona termos onde
valor de TF apresenta maior variação
Representação de Textos

Seleção de Atributos

Term Strength: probabilidade de um termo ocorrer
em um documento dado que ocorre em um
documento similar

Seleção supervisionada:


(1) Aplica algoritmo de clustering e considera clusters
como labels de classes;
(2) Usa Information Gain, Chi-Square, etc... para
selecionar atributos
Algoritmo k-Means

Encontra de forma interativa os centróides dos
clusters
d1
Centróide A
Centróide A
d2
Algoritmo k-Means

Clusters definidos com base nos centróides (centro
de gravidade, ou o ponto médio dos cluster:


1
c
d

i

| C | di C

Alocação dos objetos nos clusters feita com base na
similaridade com o centróide
 
 
sim(c , d )  cos(c , d )
Algoritmo k-Means




Passo 1: Defina k centróides iniciais, escolhendo k
documentos aleatórios da base;
Passo 2: Aloque cada documento para o cluster
correspondente ao centróide mais similar;
Passo 3: Recalcule os centróides dos clusters.
Passo 4: Repita passo 2 e 3 até atingir um critério de
parada

e.g. até um número máximo de iterações ou até não ocorrer
alterações nos centróides
Algoritmo k-Means

Observações:




Define uma partição flat
Converge para mínimos locais
É necessário realizar várias execuções com inicializações
diferentes
Necessidade de se definir parâmetro k
Algoritmos Hierárquicos

Geram uma partição onde os clusters são organizados
em uma hierarquia

Em clustering de texto, permite ao usuário ter diferentes
visões dos documentos
Algoritmos Hierárquicos Divisivos


Passo 1: Inicie alocando todos os documentos em um
cluster;
Passo 2: A partir da estrutura existente de grupos,
selecione um cluster para particionar;



Em geral, o maior cluster, ou o cluster menos homogêneo
Passo 3: Particione o grupo em dois ou mais subgrupos;
Passo 4: Repita os passos 2 e 3 até que um critério de
parada seja verificado

e.g., até atingir um número desejado de grupos
Algoritmos Hierárquicos Divisivos

Bi-Secting k-Means


Uso do algoritmo k-Means na etapa de divisão dos
clusters
Clusters são sucessivamente particionais em 2 subclusters
Algoritmos Hierárquicos
Aglomerativos



Passo 1: Inicie alocando cada documento como um
cluster diferente;
Passo 2: Selecionar o par de clusters mais similares entre
si e os agrupe em um cluster mais geral;
Passo 3: Repita o passo 2 até a verificação de um critério
de parada

e.g., até que todos os documentos sejam agrupados em um
único cluster
Algoritmos Hierárquicos
Aglomerativos

Algoritmos variam conforme a maneira de medir
similaridade entre dois clusters

Single-Link: definida como a máxima similaridade entre os
membros dos clusters

Complete-Link: definida como a mínima similaridade entre os
membros dos clusters

Average-Link: definida como a média da similaridade entre os
membros dos clusters
Algoritmos Hierárquicos
Aglomerativos

Single-Link

Complete-Link

Average-Link
Algoritmos Hierárquicos

Observações:



Os algoritmos particionais são menos custosos que os
aglomerativos e, em geral, funcionam melhor para clustering
de texto
Dentre os aglomerativos, o Average-Link funciona melhor
para clustereing de texto
Desempenho pode ser melhorado combinando as duas
técnicas
Algoritmos Incrementais

A cada novo objeto, atualiza a estrutura de grupos sem
precisar reiniciar o processo de clustering

Ideal em contextos onde os documentos são recebidos de
forma constante e a uma taxa alta

Exemplos de algoritmos:

Single-Pass, COBWEB, Redes ART,...
Single-Pass




Passo 1: Inicie a partição dos documentos com um conjunto
vazio de clusters;
Passo 2: Dado um documento, encontre o cluster existente
de maior similaridade média com o documento recebido;
Passo 3: Se a similaridade for abaixo de um limiar, então
crie um novo cluster com o documento. Caso contrário,
apenas inclua o documento no cluster mais similar;
Passo 4: Volte para o passo 2 a cada novo documento
recebido.
Single-Pass

Observações:


Se o valor do limiar for excessivamente alto, serão criados
poucos clusters com um número alto de documentos
heterogêneos entre si.
Por outro lado, se o valor do limiar for muito baixo, então o
algoritmo poderá criar um número muito alto de clusters
pouco representativos.
Avaliação de Clustering

Avaliação Interna

Mede homogeneidade e separação entre os clusters
gerados
 
1
H (C ) 
sim(c , di )

| C | di C
 
S (C1 , C2 )  sim(c1 , c2 )
Avaliação de Clustering

Avaliação Externa

Mede a similaridade entre os clusters criados e classes de
documentos conhecidas a priori

Seja: P1,...,Pm as classes de documentos conhecidas
Seja: C1,....,Ck os clusters gerados

Avaliação de Clustering

Calcula F-Measure para cada para de classe e cluster

Pri,j = Precision(Pi,Cj) = Nij/Nj



Rei,j = Recall(Pi,Cj) = Nij/Ni


Nij = número de documentos de Pj que estão em Cj
Nj = número de documentos em Cj
Ni = número de documentos da classe Pi
Fi,j = F-Measure(Pi,Cj) = (2* Pri,j*Rei,j)/(Pri,j + Rei,j)
Avaliação de Clustering

A qualidade de um cluster é medida como a máxima FMeasure obtida considerando as classes conhecidas


Qualidade(Cj) = Maxi Fi,j
A qualidade final dos clusters é a média dos valores de
pureza ponderados pelo tamanho dos clusters

j Nj/N * Qualidade(Cj)

N = número total de documentos
Avaliação de Clustering
Pr1,azul = 2/6 = 0.33
Re1,azul = 2/8 = 0.25
F1,azul = 0.28
C2
C1
Pr1,verm = 4/6 = 0.66
Re1,verm = 4/6 = 0.66
F1, verm = 0.66
Qualidade(C1) = max (F1,azul, F1,verm) =
= 0.66
Avaliação de Clustering
Pr2,azul = 6/8 = 0.75
Re2,azul = 6/8 = 0.75
F2,azul = 0.75
C2
C1
Pr2,verm = 2/8 = 0.25
Re2,verm = 2/6 = 0.33
F2, verm = 0.28
Qualidade(C2) = max (F2,azul, F2,verm) =
= 0.75
Avaliação de Clustering
Qualidade Média = 6/14*0.66 + 8/14*0.75 = 0.71
C2
C1
Conclusões

Tendências





Características linguísticas para representação de textos
Combinação de algoritmos de clustering
Algoritmos incrementais
Eficiência de algoritmos
Etiquetagem de clustering
Download

Clustering de Texto - Centro de Informática da UFPE