Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson...

49
Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares

Transcript of Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson...

Page 1: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

Introduction to Information RetrievalIntroduction to Information Retrieval

Introduction to

Information Retrieval

Clusterização

Robson de Carvalho Soares

Page 2: Introduction 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)

Page 3: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

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

Page 4: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

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

Page 5: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

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

Page 6: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

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

... ...

Page 7: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

Introduction to Information RetrievalIntroduction to Information Retrieval

Google News: Clusterização automática que promove uma apresentação eficaz das notícias.

Page 8: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

Introduction to Information RetrievalIntroduction to Information Retrieval

Google News: Clusterização automática que promove uma apresentação eficaz das notícias.

Page 9: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

Introduction to Information RetrievalIntroduction to Information Retrieval

Google News: Clusterização automática que promove uma apresentação eficaz das notícias.

Page 10: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

Introduction to Information RetrievalIntroduction to Information Retrieval

Scatter/Gather: Busca sem digitar

Sec. 16.1

New York Times

Page 11: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

Introduction to Information RetrievalIntroduction to Information Retrieval

Visualização de uma coleção de documentos e sua importância ThemeScapes, Cartia

Page 12: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

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

Page 13: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

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

Page 14: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

Introduction to Information RetrievalIntroduction to Information Retrieval

Para melhorar a navegação dos resultados Agrupando os resultados tematicamente

clusty.com / Vivisimo

Sec. 16.1

Page 15: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

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

Page 16: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

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.

Page 17: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

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

Page 18: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

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.

Page 19: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

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

Page 20: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

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

Page 21: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

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

Page 22: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

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

Page 23: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

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

Page 24: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

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

Page 25: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

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

Page 26: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

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

Page 27: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

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

Page 28: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

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

Page 29: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

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.

Page 30: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

Introduction to Information RetrievalIntroduction to Information Retrieval

Vídeo

k-means.flv

Page 31: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

Introduction to Information RetrievalIntroduction to Information Retrieval

Nova Abordagem

Ch. 17

Page 32: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

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

Page 33: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

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

Page 34: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

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

Page 35: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

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

Page 36: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

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

Page 37: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

Introduction to Information RetrievalIntroduction to Information Retrieval

Exemplo Single Link

Sec. 17.2

Page 38: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

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

Page 39: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

Introduction to Information RetrievalIntroduction to Information Retrieval

Exemplo Complete Link

Sec. 17.2

Page 40: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

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

Page 41: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

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.

Page 42: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

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

Page 43: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

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

Page 44: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

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

Page 45: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

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

Page 46: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

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...

Page 47: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

Introduction to Information RetrievalIntroduction to Information Retrieval Sec. 17.2

Page 48: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

Introduction to Information RetrievalIntroduction to Information Retrieval

Exemplo Single Link

Sec. 17.2

Page 49: Introduction to Information Retrieval Introduction to Information Retrieval Clusterização Robson de Carvalho Soares.

Introduction to Information RetrievalIntroduction to Information Retrieval

Exemplo Complete Link

Sec. 17.2