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 | xc 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) xci , yc 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 ) xci , yc 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