introduction to information retrieval introduction to information retrieval clusterização robson...
TRANSCRIPT
Introduction to Information RetrievalIntroduction to Information Retrieval
Introduction to
Information Retrieval
Clusterização
Robson de Carvalho Soares
Introduction to Information RetrievalIntroduction 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 RetrievalIntroduction to Information Retrieval
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.
Ch. 16
Introduction to Information RetrievalIntroduction to Information Retrieval
Um conjunto de dados onde se verifica uma clara estrutura de cluster
Como projetar um algoritmo para encontrar os três clusters, neste caso?
Ch. 16
Introduction to Information RetrievalIntroduction to Information Retrieval
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
Sec. 16.1
Introduction to Information RetrievalIntroduction to Information Retrieval
Yahoo! Hierarquia, um tipo de saída obtida da Clusterização.
dairycrops
agronomyforestry
AI
HCIcraft
missions
botany
evolution
cellmagnetism
relativity
courses
agriculture biology physics CS space
... ... ...
… (30)
www.yahoo.com/Science
... ...
Introduction to Information RetrievalIntroduction to Information Retrieval
Google News: Clusterização automática que promove uma apresentação eficaz das notícias.
Introduction to Information RetrievalIntroduction to Information Retrieval
Google News: Clusterização automática que promove uma apresentação eficaz das notícias.
Introduction to Information RetrievalIntroduction to Information Retrieval
Google News: Clusterização automática que promove uma apresentação eficaz das notícias.
Introduction to Information RetrievalIntroduction to Information Retrieval
Scatter/Gather: Busca sem digitar
Sec. 16.1
New York Times
Introduction to Information RetrievalIntroduction to Information Retrieval
Visualização de uma coleção de documentos e sua importância ThemeScapes, Cartia
Introduction to Information RetrievalIntroduction 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 RetrievalIntroduction to Information Retrieval
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?
Sec. 16.1
Introduction to Information RetrievalIntroduction to Information Retrieval
Para melhorar a navegação dos resultados Agrupando os resultados tematicamente
clusty.com / Vivisimo
Sec. 16.1
Introduction to Information RetrievalIntroduction to Information Retrieval
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.
Sec. 16.2
Introduction to Information RetrievalIntroduction 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 RetrievalIntroduction 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 RetrievalIntroduction 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 RetrievalIntroduction 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
Introduction to Information RetrievalIntroduction 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:
A mudança de docs. de clusters é baseada na distância entre o centróide corrente do clustuer e o doc. analisado
cx
xc
||
1(c)μ
Sec. 16.4
Introduction to Information RetrievalIntroduction to Information Retrieval
Algoritmo K-MeansSelecione 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 RetrievalIntroduction to Information Retrieval
Exemplo K-Means (K=2)Selecione as sementes
Reatribuir clusters
Calcular centróides
xx
Reatribuir clusters
xx xx Calcular centróides
Reatribuir clusters
Convergiu!
Sec. 16.4
Introduction to Information RetrievalIntroduction 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 RetrievalIntroduction to Information Retrieval
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 é.
Sec. 16.4
Introduction to Information RetrievalIntroduction to Information Retrieval
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.”
Sec. 16.4
Introduction to Information RetrievalIntroduction to Information Retrieval
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.
Sec. 16.4
Introduction to Information RetrievalIntroduction to Information Retrieval
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.
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)
Exemplo mostrando asensibilidade das sementes
Sec. 16.4
Introduction to Information RetrievalIntroduction to Information Retrieval
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 K-means.
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
Sec. 16.4
Introduction to Information RetrievalIntroduction 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 RetrievalIntroduction to Information Retrieval
Vídeo
k-means.flv
Introduction to Information RetrievalIntroduction to Information Retrieval
Nova Abordagem
Ch. 17
Introduction to Information RetrievalIntroduction to Information Retrieval
Clusterização Hierárquica Construir uma taxonomia baseada em uma
árvore hierárquica (dendrograma) de um conjunto de documentos.
Uma abordagem: aplicação recursiva de um algoritmo de agrupamento por partição.
animal
vertebrate
fish reptile amphib. mammal worm insect crustacean
invertebrate
Ch. 17
Introduction to Information RetrievalIntroduction 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 RetrievalIntroduction to Information Retrieval
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.
Sec. 17.1
Introduction to Information RetrievalIntroduction to Information Retrieval
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 RetrievalIntroduction to Information Retrieval
Clusterização Aglomerativa Single Link Usa a similaridade máxima de pares:
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, é:
),(max),(,
yxsimccsimji cycx
ji
)),(),,(max()),(( kjkikji ccsimccsimcccsim
Sec. 17.2
Introduction to Information RetrievalIntroduction to Information Retrieval
Exemplo Single Link
Sec. 17.2
Introduction to Information RetrievalIntroduction to Information Retrieval
Clusterização Aglomerativa Complete Link Usa a similaridade mínima de pares:
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, é:
),(min),(,
yxsimccsimji cycx
ji
)),(),,(min()),(( kjkikji ccsimccsimcccsim
Ci Cj Ck
Sec. 17.2
Introduction to Information RetrievalIntroduction to Information Retrieval
Exemplo Complete Link
Sec. 17.2
Introduction to Information RetrievalIntroduction to Information Retrieval
Group Average
Similaridade de 2 clusters = similaridade média de todos os pares no grupo resultante da fusão.
Ajuste entre o single e o complete link.
)( :)(
),()1(
1),(
ji jiccx xyccyjiji
ji yxsimcccc
ccsim
Sec. 17.3
Introduction to Information RetrievalIntroduction 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 RetrievalIntroduction to Information Retrieval
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.
Sec. 16.3
Introduction to Information RetrievalIntroduction to Information Retrieval
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 RetrievalIntroduction 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 :
A pureza varia de 0 a 1, sendo que próximo de 0 indica clusterização ruim e próximo de 1 boa.
Cjnn
Purity ijji
i )(max1
)(
Sec. 16.3
Introduction to Information RetrievalIntroduction to Information Retrieval
Cluster I Cluster II Cluster III
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
Exemplo do cálculo de Pureza
Sec. 16.3
Introduction to Information RetrievalIntroduction 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 RetrievalIntroduction to Information Retrieval Sec. 17.2
Introduction to Information RetrievalIntroduction to Information Retrieval
Exemplo Single Link
Sec. 17.2
Introduction to Information RetrievalIntroduction to Information Retrieval
Exemplo Complete Link
Sec. 17.2