Introduction to Information Retrieval
Introduction to
Information Retrieval
Clusterização
Robson de Carvalho Soares
Introduction to Information Retrieval
Clusterização
 Clusterização de Documentos
 Motivações
 Representação dos Documentos
 Algoritmos de Clusterização
 Particional
 Hierárquico
 Divisório (top down)
 Aglomerativo (bottom up)
Introduction to Information Retrieval
Ch. 16
O que é Clusterização?
 Clusterização: o processo de agrupar um conjunto
de objetos em classes de objetos similares.
 Documentos dentro de uma classe (cluster) DEVEM ser
semelhantes.
 Documentos de diferentes classes (clusters) DEVEM ser
diferentes.
 A forma mais comum de aprendizado é não-supervisionado.
 Uma tarefa comum e importante, que encontra muitas
aplicações em RI entre outras.
Introduction to Information Retrieval
Ch. 16
Um conjunto de dados onde se verifica uma clara estrutura de cluster
 Como projetar
um algoritmo
para encontrar
os três
clusters, neste
caso?
Introduction to Information Retrieval
Sec. 16.1
Aplicações de Clusterização em RI
 Análise/Navegação do todo
 Melhor interface com o usuário: busca sem digitar
 Melhoramento do retorno das aplicações de busca
 Melhores resultados da pesquisa (assim como RF)
 Melhor navegação nos resultados
 “Retorno do usuário” será melhor
 Acelera a recuperação no espaço vetorial
 Recuperação baseada em clusters promove buscas
mais rápidas
Introduction to Information Retrieval
Yahoo! Hierarquia, um tipo de saída obtida da
Clusterização.
www.yahoo.com/Science
… (30)
agriculture
...
biology
physics
...
CS
...
space
...
...
dairy
botany
cell
AI
courses
crops
magnetism
HCI
agronomy
evolution
forestry
relativity
craft
missions
Introduction to Information Retrieval
Google News: Clusterização automática que
promove uma apresentação eficaz das notícias.
Introduction to Information Retrieval
Google News: Clusterização automática que
promove uma apresentação eficaz das notícias.
Introduction to Information Retrieval
Google News: Clusterização automática que
promove uma apresentação eficaz das notícias.
Sec. 16.1
Introduction to Information Retrieval
Scatter/Gather: Busca sem digitar
New York Times
Introduction to Information Retrieval
Visualização de uma coleção de documentos e
sua importância
 ThemeScapes, Cartia
Introduction to Information Retrieval
Visualização de uma coleção de documentos e
sua importância
 PNNL – Visualizando o que não é visual
Introduction to Information Retrieval
Sec. 16.1
Para melhorar o retorno da busca
 Hipótese – Documentos no mesmo cluster se comportam
similarmente com relação a relevância para a busca.
 Portanto, para melhorar o retorno da busca:
 Quando a consulta corresponde a um doc D, também pode ser
retornado outros docs relevantes no cluster que contém D.
 Resultado se isso ocorrer: A consulta “carro” poderá também
retornar documentos contendo “automóveis”.
 Porque a clusterização agrupa os documentos contendo o termo
“carro” junto aos documentos contendo os termos
“automóveis”
Porque isso acontece?
Introduction to Information Retrieval
Sec. 16.1
Para melhorar a navegação dos resultados
 Agrupando os resultados tematicamente
 clusty.com / Vivisimo
Introduction to Information Retrieval
Sec. 16.2
Questões da Clusterização
 Representação da Clusterização
 Representação do Documento
 Espaço Vetorial? Normalização?
 Precisamos de um conceito de similaridade/distância
 Quantos Clusters?
 Fixar inicialmente?
 Completamente orientado aos dados?
 Evitar clusters triviais – muito grande ou pequeno
 Se um cluster é muito grande, então para fins de navegação
foi desperdiçado um clique extra do usuário deixando de
reduzir gradualmente o conjunto de muitos documentos.
Introduction to Information Retrieval
Noções de similaridade/distância
 Ideal: similaridade semântica
 Prática: similaridade pela estatística do termo
 Será utilizado a distância cosseno.
 Os documentos serão representados como vetores.
 Para muitos algoritmos, é mais fácil pensar no conceito
de distância (ao invés de similaridade) entre os
documentos.
 A distância euclidiana também é muito utilizada, porém em
implementações reais, utiliza-se similaridade cosseno.
Introduction to Information Retrieval
Algoritmos de Clusterização
 Algoritmos Flat
 Normalmente inicia com um particionamento
randômico.
 Este particionamento é refinado a cada iteração.
 Clusterização k-means
 Clusterização baseada em Modelo (EM – Expectation
Maximization)
 Algoritmos Hierárquicos
 Bottom-up, aglomerativo
 Top-down, divisório
Introduction to Information Retrieval
Clusterização Hard vs. Soft
 Clusterização Hard: Cada documento pertence a exatamente
um cluster.
 Mais comum e fácil de fazer
 Clusterização Soft: Um documento pode pertencer a mais de
um cluster.
 Faz mais sentido para aplicações com a criação de hierarquias
navegáveis.
 Você pode querer colocar um par de tênis em dois grupos: (i)
vestuário esportivo e (ii) calçados.
 Isso somente pode ser feito na abordagem Soft.

Não será apresentado Clusterização Soft.
Introduction to Information Retrieval
Algoritmos de Particionamento
 Método de Particionamento: Construa uma
partição de n documentos em um conjunto de K
clusters
 Dado de Entrada: um conj. de docs e o número K
 Resposta: a partição de K clusters que otimiza a
escolha do critério de particionamento
 Características:
 Intratável para muitas funções objetivo
 Enumera exaustivamente todas as partições
 Métodos efetivos de heurística: algoritmos K-means
e K-medoids
Sec. 16.4
Introduction to Information Retrieval
K-Means
 Assume que os documentos são vetores de
valores.
 Clusters baseados em centroids (o centro de
gravidade ou média) dos pontos em um cluster,
c:


1
μ(c) 
x

| c | xc
 A mudança de docs. de clusters é baseada na
distância entre o centróide corrente do clustuer e
o doc. analisado
Introduction to Information Retrieval
Sec. 16.4
Algoritmo K-Means
Selecione K docs {s1, s2,… sK} aleatoriamente como sementes.
Até a clusterização convergir (ou outro critério de parada):
Para cada doc di:
Atribui di ao cluster cj tal que dist(di, sj) é mínima.
(Em seguida, atualize as sementes para o centróide de cada cluster)
Para cada cluster cj
sj = (cj)
Sec. 16.4
Introduction to Information Retrieval
Exemplo K-Means (K=2)
Selecione as sementes
x
x
x
x
Reatribuir clusters
Calcular centróides
Reatribuir clusters
Calcular centróides
Reatribuir clusters
Convergiu!
Introduction to Information Retrieval
Condições de parada
 Várias possibilidades, por exemplo:
 Um número fixo de iterações.
 Partição inalterada.
 Posição dos centróides inalterada.
Isso quer dizer que os
documentos em um cluster
mantêm-se inalterados?
Sec. 16.4
Introduction to Information Retrieval
Sec. 16.4
Convergência
 Por que o K-means deve sempre alcançar um
ponto fixo?
 Um estado no qual o cluster não muda.
 O K-means é um caso especial de um processo
geral conhecido como algoritmo Expectation
Maximization (EM)
 EM sabe-se que converge.
 O número de iterações pode ser grande, mas na
prática geralmente não é.
Introduction to Information Retrieval
Sec. 16.4
Convergência do K-Means
 Definimos uma boa medida do cluster k como a
soma das distâncias quadradas do centróide do
cluster:
 Gk = Σi (di – ck)2 (soma de todos os di no cluster k)
 G = Σk Gk (soma das distâncias quadradas)
 “Reassignment monotonically decreases G since
each vector is assigned to the closest centroid.”
Introduction to Information Retrieval
Sec. 16.4
Convergência do K-Means
 Recomputation monotonically decreases each Gk
since (mk is number of members in cluster k):
 Σ (di – a)2 atinge mínimos para:
 Σ –2(di – a) = 0
 Σ di = Σ a
 mK a = Σ di
 a = (1/ mk) Σ di = ck
 K-means normalmente converge rapidamente.
Introduction to Information Retrieval
Sec. 16.4
Escolha da Semente
 Os resultados podem variar de acordo
com a seleção das sementes aleatórias.
 Algumas sementes podem resultar em
taxas de convergências pobres, ou de
convergências de agrupamentos subóptima.
 Selecionar boas sementes usando uma
heurística (por exemplo, doc pelo
menos semelhante aos de qualquer
média existente)
 Experimentar vários pontos de saída
 Inicializar com os resultados de outro
método.
Exemplo mostrando a
sensibilidade das sementes
No exemplo acima, se
começar com B e E como
centróides, converge para (A,
B, C) e (D, E, F)
Se começar com D e F como
centróides, converge para
(A, B, D, E) (C, F)
Introduction to Information Retrieval
Sec. 16.4
K-means: quetões, variações, etc.
 Recalcular o centróide depois de cada atribuição (e
não depois que todos os pontos são reatribuídos)
pode melhorar a velocidade de convergência do Kmeans.
 Assumir que clusters são esféricos no espaço vetorial
 Disjuntos e Exaustivos
 Por padrão, não se tem noção de ruídos, mas
pode adicionar filtragem dos mesmos
Introduction to Information Retrieval
Quantos Clusters?
 O número clusters K é dado
 Particionar n docs em um número de clusters prédeterminado.
 Encontrar o número "certo" de clusters é parte do
problema:
 Dado os docs, particioná-los em um número apropriado de
subconjuntos.
Introduction to Information Retrieval
Vídeo
Introduction to Information Retrieval
Nova Abordagem
Ch. 17
Ch. 17
Introduction to Information Retrieval
Clusterização Hierárquica
 Construir uma taxonomia baseada em uma
árvore hierárquica (dendrograma) de um
conjunto de documentos.
animal
vertebrate
fish reptile amphib. mammal
invertebrate
worm insect crustacean
 Uma abordagem: aplicação recursiva de um
algoritmo de agrupamento por partição.
Introduction to Information Retrieval
Dendrograma: Clusterização Hierárquica
 Clusterização obtida do corte do dendrograma em um
determinado nível: cada componente conectado forma
um cluster.
 Agrupamentos mais internos ou mais específicos
possuem objetos mais similares.
33
Introduction to Information Retrieval
Sec. 17.1
Clusterização Hierárquica Aglomerativa (HAC)
 Começa com cada documento em um
cluster separado.
 repetidamente se junta os pares de clusters
mais próximos, até que haja apenas um
cluster.
 Essa fusão forma uma árvore binária ou
uma hierarquia.
Introduction to Information Retrieval
Sec. 17.2
Pares de clusters mais próximos
 Formas diferentes de se definir os clusters mais próximos:

Single-link
 A menor distância entre os elementos.

Complete-link
 A maior distância entre os elementos.

Centroid
 A menor distância média entre os elementos de cada cluster. Não considera a
distância entre os elementos do cluster. Distância entre os centróides.

Average-link
 A menor distância média entre os elementos de cada cluster. Considera a
distância entre os elementos do cluster.
Sec. 17.2
Introduction to Information Retrieval
Clusterização Aglomerativa Single Link
 Usa a similaridade máxima de pares:
sim(ci ,c j )  max sim( x, y)
xci , yc j
 Pode resultar em clusters “longos e finos” devido
ao efeito de encadeamento.
 Após a fusão ci e cj, à similaridade do conjunto
resultante para outro cluster, ck, é:
sim((ci  c j ), ck )  max(sim(ci , ck ), sim(c j , ck ))
Introduction to Information Retrieval
Exemplo Single Link
Sec. 17.2
Sec. 17.2
Introduction to Information Retrieval
Clusterização Aglomerativa Complete Link
 Usa a similaridade mínima de pares:
sim(ci ,c j )  min sim( x, y )
xci , yc j
 Pode resultar em cluster mais “compactos e
esféricos” que são normalmente preferíveis.
 Após a fusão ci e cj, à similaridade do conjunto
resultante para outro cluster, ck, é:
sim((ci  c j ), ck )  min(sim(ci , ck ), sim(c j , ck ))
Ci
Cj
Ck
Introduction to Information Retrieval
Exemplo Complete Link
Sec. 17.2
Introduction to Information Retrieval
Sec. 17.3
Group Average
 Similaridade de 2 clusters = similaridade média de todos
os pares no grupo resultante da fusão.
 
1
sim(ci , c j ) 
sim( x, y)


ci  c j ( ci  c j  1) x(ci c j ) y(ci c j ): y  x
 Ajuste entre o single e o complete link.
Introduction to Information Retrieval
Agrupamento Hierárquivco Aglomerativo: Cada item
começa em seu próprio cluster e são fundidos em
clusters maiores até que todos os objetos estejam em um
mesmo cluster. Usando Single Linkage (vizinho mais
próximo) para medir a similaridade entre clusters.
Introduction to Information Retrieval
Sec. 16.3
O que é uma boa Clusterização? (Critério Interno)
 Um bom agrupamento irá produzir clusters de
alta qualidade em que:
 a similaridade intra-classe (intra-cluster) é alta
 a similaridade inter-classe (inter-cluster) é baixa
 A medida de qualidade de um agrupamento
depende da representação e da medida de
similaridade utilizada.
Introduction to Information Retrieval
Sec. 16.3
O que é uma boa Clusterização? (Critério Externo)
 Qualidade medida pela capacidade de descobrir
alguns dos padrões econdidos ou classes latentes
em padrões de dados.
 Para avaliar o agrupamento quanto a sua validade
requer dados rotulados.
 Considere documentos com C clasess padrões,
enquanto nosso algoritmo de agrupamento
produz K clusters ω1, ω2, …, ωK com ni elementos.
Sec. 16.3
Introduction to Information Retrieval
Avaliação Externa da Qualidade do Cluster
 Medida simples: Pureza, a relação entre a
classe dominante no cluster πi e o tamanho do
cluster ωi :
1
Purity(i )  max j (nij )
ni
j C
 A pureza varia de 0 a 1, sendo que próximo de
0 indica clusterização ruim e próximo de 1
boa.
Sec. 16.3
Introduction to Information Retrieval
Exemplo do cálculo de Pureza


 
 
Cluster I


 
 
Cluster II
Cluster I: Purity = 1/6 (max(5, 1, 0)) = 5/6
Cluster II: Purity = 1/6 (max(1, 4, 1)) = 4/6
Cluster III: Purity = 1/5 (max(2, 0, 3)) = 3/5


 

Cluster III
Introduction to Information Retrieval
Conclusões
 Na clusterização, clusters são inferidos a partir de dados sem
a intervenção humana (aprendizado não-supervisionado)
 No entanto, na prática, não é tão simples: há muitas maneiras
de influenciar o resultado do agrupamento: número de
clusters, medida de similaridade, representação dos
documentos...
Introduction to Information Retrieval
Sec. 17.2
Introduction to Information Retrieval
Exemplo Single Link
Sec. 17.2
Introduction to Information Retrieval
Exemplo Complete Link
Sec. 17.2
Download

lecture12-clustering..