Upload
carolina-hilario
View
228
Download
4
Embed Size (px)
Citation preview
Clustering de TextoRecuperaçã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
Representação
Representação dos documentos(e.g. lista de termos)
Redução da dimensionalidade
Seleção ou extração de características
Clustering
Textos
Corpus
Textos
Cluster ATextos
Cluster B
Textos
Cluster C
Etiquetagem
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
),cos(),( dcdcsim
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
d2
Centróide ACentróide A
Algoritmo k-Means Clusters definidos com base nos centróides (centro
de gravidade, ou o ponto médio dos cluster:
Alocação dos objetos nos clusters feita com base na similaridade com o centróide
Cd
ii
dC
c
||
1
),cos(),( dcdcsim
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 sub-clusters
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
),(),( 2121 ccsimCCS
Cd
ii
dcsimC
CH
),(||
1)(
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
Nij = número de documentos de Pj que estão em Cj
Nj = número de documentos em Cj
Rei,j = Recall(Pi,Cj) = Nij/Ni
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 F-
Measure 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
C1
C2
Pr1,azul = 2/6 = 0.33Re1,azul = 2/8 = 0.25
F1,azul = 0.28
Pr1,verm = 4/6 = 0.66Re1,verm = 4/6 = 0.66
F1, verm = 0.66
Qualidade(C1) = max (F1,azul, F1,verm) = = 0.66
Avaliação de Clustering
C1
C2
Pr2,azul = 6/8 = 0.75Re2,azul = 6/8 = 0.75
F2,azul = 0.75
Pr2,verm = 2/8 = 0.25Re2,verm = 2/6 = 0.33
F2, verm = 0.28
Qualidade(C2) = max (F2,azul, F2,verm) = = 0.75
Avaliação de Clustering
C1
C2
Qualidade Média = 6/14*0.66 + 8/14*0.75 = 0.71
Avaliação de Clustering
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