A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Text Clustering Tarcísio Pontes Rafael Anchieta. Roteiro Motivação Introdução Representação de documentos Redução da dimensão Clustering para textos Avaliação.

Apresentações semelhantes


Apresentação em tema: "Text Clustering Tarcísio Pontes Rafael Anchieta. Roteiro Motivação Introdução Representação de documentos Redução da dimensão Clustering para textos Avaliação."— Transcrição da apresentação:

1 Text Clustering Tarcísio Pontes Rafael Anchieta

2 Roteiro Motivação Introdução Representação de documentos Redução da dimensão Clustering para textos Avaliação Exemplos de aplicação Conclusão

3 Motivação 80% da informação na Web está em forma de texto! Grande volume de textos produzidos, principalmente na Web. Dados caóticos não geram informação. – Precisamos organizá-los de forma automática! Como recuperar informações de forma mais precisa? “Tiger”: animal? jogador de golf, Apple iOS?

4 Motivação Redes sociais como centro das atenções de diversas empresas, marcas e personalidades. – Identificação de hot topic – Identificação de novos padrões de comportamento: As empresas precisam disso para adequar seus produtos e serviço ao mercado.

5 Conceito Clustering É a divisão de um conjunto de objetos em grupos, tais que objetos em um mesmo grupo sejam similares entre si e diferentes de objetos em outros grupos.

6 Conceito Clustering É a divisão de um conjunto de objetos em grupos, tais que objetos em um mesmo grupo sejam similares entre si e diferentes de objetos em outros grupos. Text clustering ocorre quando os objetos em questão são textos!

7 Clustering x Classificação Classificação – Classes definidas previamente – Determinar a qual classe pertence o documento Clustering – Criar grupos de documentos – Classes definidas pelo algoritmo

8 Etapas 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 A Textos Cluster B Textos Cluster C Avaliação/ Etiquetagem

9 Etapas 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 A Textos Cluster B Textos Cluster C Avaliação/ Etiquetagem

10 Seja D o conjunto de documentos e T o conjunto de termos distintos com ocorrência em D. Cada documento d em D é representado pelos termos de T associados a pesos. O peso representa a importância do termo para o documento. Quando o termo não aparece no documento, o peso associado é zero. Representação de documentos

11 Exemplo: Texto 1: “Seja a mudança que você quer ver no mundo.” Dalai LamaDalai Lama Texto 2: “Deixe o mundo mudar você e você poderá mudar o mundo.” Che GuevaraChe Guevara T = { }

12 Representação de documentos Exemplo: Texto 1: “Seja a mudança que você quer ver no mundo.” Dalai LamaDalai Lama Texto 2: “Deixe o mundo mudar você e você poderá mudar o mundo.” Che GuevaraChe Guevara T = {a, deixe, e, mudanca, mudar, mundo, no, o, podera, que, quer, seja, ver, voce}

13 Representação de documentos Exemplo: Texto 1: “Seja a mudança que você quer ver no mundo.” Dalai LamaDalai Lama Texto 2: “Deixe o mundo mudar você e você poderá mudar o mundo.” Che GuevaraChe Guevara T = {a, deixe, e, mudanca, mudar, mundo, no, o, podera, que, quer, seja, ver, voce} Documentos Termos adeixeemudancamudarmundono opoderaquequersejavervoce d1 d2

14 Abordagens mais comuns para determinação dos pesos: Booleano: – A representação indica apenas se o termo está ou não presente no documento. TF – Text Frequence – Número de ocorrências do termo t no documento d. – Tal abordagem considera que quanto mais um termo ocorre num documento, mais relevante ele é na sua representação. Nem sempre é verdade!

15 TF-IDF – Reduz a importância de termos quando presentes em outros documentos. Frequência do termo t no documento d. Número de documentos em D que possuem o termo t Abordagens mais comuns para determinação dos pesos:

16 Representação de documentos Exemplo: TF Texto 1: “Seja a mudança que você quer ver no mundo.” Dalai LamaDalai Lama Texto 2: “Deixe o mundo mudar você e você poderá mudar o mundo.” Che GuevaraChe Guevara T = {a, deixe, e, mudanca, mudar, mundo, no, o, podera, que, quer, seja, ver, voce} Documentos Termos adeixeemudancamudarmundono opoderaquequersejavervoce d1 d2

17 Representação de documentos Exemplo: TF Texto 1: “Seja a mudança que você quer ver no mundo.” Dalai LamaDalai Lama Texto 2: “Deixe o mundo mudar você e você poderá mudar o mundo.” Che GuevaraChe Guevara T = {a, deixe, e, mudanca, mudar, mundo, no, o, podera, que, quer, seja, ver, voce} Documentos Termos adeixeemudancamudarmundono opoderaquequersejavervoce d1 1 0 0 1 0 1 1 0 0 1 1 1 1 1 d2 0 1 1 0 2 2 0 2 1 0 0 0 0 2

18 Etapas 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 A Textos Cluster B Textos Cluster C Avaliação/ Etiquetagem

19 Redução da dimensão A redução da dimenção tem como objetivios: – Diminuir a complexidade do problema – Eliminar termos considerados ruído na tarefa de agrupamento. A qualidade de um sistema de text clustering é altamente dependente desta etapa!

20 Principais abordagens para redução da dimensão: – Stemming e Stopwords – Seleção de Atributos – Extração de Atributos Redução da dimensão

21 Principais abordagens para redução da dimensão: – Stemming e Stopwords – Seleção de Atributos – Extração de Atributos Redução da dimensão

22 Steamming e Stopwords Stopwords – Consiste na exclusão de palavras muito comuns em textos, tais como: artigos, preposições, conjunções, alguns advérbios e adjetivos, etc. Steamming – Tem como objetivo substituir a palavra por seu radical (stem) – Exemplo: livro, livrinho, livreiro, livreco, livraria. – Em português é bem mais complexo aplicar esse tipo de algoritmo. Alguns algoritmos de Steamming e listas de Stopwords para língua portuguesa em: – http://snowball.tartarus.org/algorithms/portuguese/stemmer.html http://snowball.tartarus.org/algorithms/portuguese/stemmer.html

23 Representação de documentos Exemplo: stopwords e stemming Texto 1: “Seja a mudança que você quer ver no mundo.” Dalai LamaDalai Lama Texto 2: “Deixe o mundo mudar você e você poderá mudar o mundo.” Che GuevaraChe Guevara T = {a, deixe, e, mudanca, mudar, mundo, no, o, podera, que, quer, seja, ver, voce} Documentos Termos adeixeemudancamudarmundono opoderaquequersejavervoce d1 1 0 0 1 0 1 1 0 0 1 1 1 1 1 d2 0 1 1 0 2 2 0 2 1 0 0 0 0 2

24 Representação de documentos Exemplo: stopwords e stemming Texto 1: “Seja a mudança que você quer ver no mundo.” Dalai LamaDalai Lama Texto 2: “Deixe o mundo mudar você e você poderá mudar o mundo.” Che GuevaraChe Guevara T = {a, deixe, e, mudanca, mudar, mundo, no, o, podera, que, quer, seja, ver, voce} Documentos Termos adeixeemudancamudarmundono opoderaquequersejavervoce d1 1 0 0 1 0 1 1 0 0 1 1 1 1 1 d2 0 1 1 0 2 2 0 2 1 0 0 0 0 2

25 Representação de documentos Exemplo: stopwords e stemming Texto 1: “Seja a mudança que você quer ver no mundo.” Dalai LamaDalai Lama Texto 2: “Deixe o mundo mudar você e você poderá mudar o mundo.” Che GuevaraChe Guevara T = {deixe, mud, mundo, podera, quer, seja, ver, voce} Documentos Termos deixemudmundopoderaquersejavervoce d1 0 1 1 0 1 1 1 1 d2 1 2 2 1 0 0 0 2

26 Redução da dimensão Principais abordagens para redução da dimensão: – Stemming e Stopwords – Seleção de Atributos – Extração de Atributos

27 Seleção de atributos Seleciona os termos mais relevantes do conjunto: desonesto soubesse vantagem honesto moto automóvel carro T T’ moto automóvel carro

28 Seleção de atributos Document Frequency (DF): – DF(t) consiste no número de documentos da coleção que contém o termo t. – O uso do DF procura eliminar palavras Muito frequêntes: por possuir pouco poder de discriminação. Pouco frequêntes: por não contribuir no momentos de calcular a similaridade entre documentos.

29 Seleção de atributos Term Frequency Variance (TFV) – Procura selecionar os termos onde o valor de TF apresenta maior variação. Seleção Supervisionada (1) Aplica algoritmo de clustering e considera os clusters resultante como rótulos de classes. (2) Utiliza técnicas de seleção de atributos do aprendizado supervisionado: Information Gain, Chi- Square, Term Strength, etc.

30 Representação de documentos Exemplo: seleção de atributos Texto 1: “Seja a mudança que você quer ver no mundo.” Dalai LamaDalai Lama Texto 2: “Deixe o mundo mudar você e você poderá mudar o mundo.” Che GuevaraChe Guevara T = {deixe, mud, mundo, podera, quer, seja, ver, voce} Documentos Termos deixemudmundopoderaquersejavervoce d1 0 1 1 0 1 1 1 1 d2 1 2 2 1 0 0 0 2

31 Representação de documentos Exemplo: seleção de atributos Texto 1: “Seja a mudança que você quer ver no mundo.” Dalai LamaDalai Lama Texto 2: “Deixe o mundo mudar você e você poderá mudar o mundo.” Che GuevaraChe Guevara T = {deixe, mud, mundo, podera, quer, seja, ver, voce} Documentos Termos deixemudmundopoderaquersejavervoce d1 0 1 1 0 1 1 1 1 d2 1 2 2 1 0 0 0 2

32 Representação de documentos Exemplo: seleção de atributos Texto 1: “Seja a mudança que você quer ver no mundo.” Dalai LamaDalai Lama Texto 2: “Deixe o mundo mudar você e você poderá mudar o mundo.” Che GuevaraChe Guevara T = {deixe, podera, quer, seja, ver} Documentos Termos deixepoderaquersejaver d1 0 0 1 1 1 d2 1 1 0 0 0

33 Redução da dimensão Principais abordagens para redução da dimensão: – Stemming e Stopwords – Seleção de Atributos – Extração de Atributos

34 Extração de atributos Cria novos termos a partir da combinação de termos já existentes desonesto soubesse vantagem honesto moto automóvel carro soubesse vantagem honesto automóvel T T’ desonesto moto carro

35 Etapas 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 A Textos Cluster B Textos Cluster C Avaliação/ Etiquetagem

36 Observação importante Nesse pontos inicia-se o agrupamento propriamente dito dos documentos. Aqui os documentos d em D serão representados pelo peso que cada termo t possui em relação a d. Conjunto de documentos da base: Termos restantes após a redução da dimensão: Representação de um documento:

37 Clustering Objetivo: – Documentos dentro de um cluster são similares – Documentos de clusters diferentes são diferentes Tipos – Flat X Hierárquicos – Hard X Fuzzy – Incremental X Não-Incremental

38 Algoritmos para Clustering k-means clássico – Flat, Hard e Não-incremental Hierarchical clustering – Hierárquico, Hard e Não-incremental Existem vários outros!

39 Algoritmos para Clustering k-means clássico – Flat, Hard e Não-incremental Hierarchical clustering – Hierárquico, Hard e Não-incremental

40 K-means Algoritmo simples com muitas variações. Define uma classe de algoritmos. Algoritmo: 1.Escolher os centros iniciais dos k clusters desejados randomicamente. 2.Repetir enquanto não houver alteração nos clusters: 1. Associar cada vetor ao cluster de centro mais próximo. 2.Calcular o novo centro de cada cluster como a média aritmética de seus vetores.

41 K = 3 1.Escolher os centros iniciais. 2.Associar cada vetor ao cluster mais próximo. 3.Determinar os novos centros. 4.Associar cada vetor ao cluster mais próximo. 5.Determinar os novos centros. 6.Associar cada vetor ao cluster mais próximo. 7.Não houve alterações. t2t2 t1t1 K-means

42 Vantagens – Bastante utilizado na literatura Desempenho costuma ser satisfatório Desvantagens – Precisa que o usuário especifique o número de clusters. – Não possibilidade de examinar o resultado em diferentes níveis de granularidade.

43 Algoritmos para Clustering k-means clássico – Flat, Hard e Não-incremental Hierarchical clustering – Hierárquico, Hard e Não-incremental

44 Hierarchical Clustering Traz como resultado uma árvore de categorias Tipos: – Bottom-up – Top-down

45 Bottom-up (1) Inicia alocando cada documento como um cluster distinto; Hierarchical Clustering

46 Bottom-up (1) Inicia alocando cada documento como um cluster distinto; (2) Seleciona o par de clusters mais similares entre si e os agrupa em um cluster mais geral; Hierarchical Clustering

47 (1) Inicia alocando cada documento como um cluster distinto; (2) Seleciona o par de clusters mais similares entre si e os agrupa em um cluster mais geral; Bottom-up Hierarchical Clustering

48 (1) Inicia alocando cada documento como um cluster distinto; (2) Seleciona o par de clusters mais similares entre si e os agrupa em um cluster mais geral; (3) Repete o passo 2 até se atingir o critério de parada (Exemplo, |C| = 2).... Bottom-up Hierarchical Clustering

49 (1) Inicia alocando cada documento como um cluster distinto; (2) Seleciona o par de clusters mais similares entre si e os agrupa em um cluster mais geral; (3) Repete o passo 2 até se atingir o critério de parada (Exemplo, |C| = 2). Bottom-up Hierarchical Clustering

50 (1) Inicia alocando cada documento como um cluster distinto; (2) Seleciona o par de clusters mais similares entre si e os agrupa em um cluster mais geral; (3) Repete o passo 2 até se atingir o critério de parada (Exemplo, |C| = 2). Bottom-up Hierarchical Clustering

51 Top-down (1)Inicia com todos os documentos pertencendo ao mesmo cluster; Hierarchical Clustering

52 (1)Inicia com todos os documentos pertencendo ao mesmo cluster; (2) Selecione um cluster para particionar ( maior, menos homogêneo); Top-down Hierarchical Clustering

53 (1)Inicia com todos os documentos pertencendo ao mesmo cluster; (2) Selecione um cluster para particionar ( maior, menos homogêneo); (3) Particiona o cluster em dois ou mais subgrupos; Top-down Hierarchical Clustering

54 (1)Inicia com todos os documentos pertencendo ao mesmo cluster; (2) Selecione um cluster para particionar ( maior, menos homogêneo); (3) Particiona o cluster em dois ou mais subgrupos; (4) Repete os passos 2 e 3 até se atingir o critério de parada (Exemplo: |C| = 4). Top-down Hierarchical Clustering

55 (1)Inicia com todos os documentos pertencendo ao mesmo cluster; (2) Selecione um cluster para particionar ( maior, menos homogêneo); (3) Particiona o cluster em dois ou mais subgrupos; (4) Repete os passos 2 e 3 até se atingir o critério de parada (Exemplo: |C| = 4). Top-down Hierarchical Clustering

56 (1)Inicia com todos os documentos pertencendo ao mesmo cluster; (2) Selecione um cluster para particionar ( maior, menos homogêneo); (3) Particiona o cluster em dois ou mais subgrupos; (4) Repete os passos 2 e 3 até se atingir o critério de parada (Exemplo: |C| = 4). Top-down Hierarchical Clustering

57 Vantagens – Possibilidade de examinar o resultado em diferentes níveis de granularidade. – Resultado mais flexível. Desvantagens – Dificuldade na escolha do critério de parada do algoritmo. – Dificuldade na escolha do melhor critério para avaliar a similaridade entre clusters. Hierarchical Clustering

58 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 Hierarchical Clustering

59 Algoritmos variam conforme a maneira de medir similaridade entre dois clusters: – Single-Link: – Complete-Link: – Average-Link: Hierarchical Clustering

60 Etapas 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 A Textos Cluster B Textos Cluster C Avaliação/ Etiquetagem

61 Avaliação Avaliação Interna – Mede homogeneidade e separação entre os clusters gerados. Avaliação Externa – Mede a similaridade entre os clusters criados e classes de documentos conhecidas a priori – Taxas de acerto, matriz de confusão, etc.

62 Etapas 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 A Textos Cluster B Textos Cluster C Avaliação/ Etiquetagem

63 Aplicações

64 Navegação Hierárquica

65 Aplicações Produto: http://www.cluster-text.com/

66 Conclusão Text Clustering é uma subárea de Text Mining que procura aplicar e desenvolver técnicas de clustering com o objetivo de agrupar textos. Existem diversas aplicações decorrentes do uso de Text Clustering, principalmente devido ao grande volume de textos produzidos na Web. A área possui diversos desafios, como o volume de textos, exclusão de termos pouco relevantes, complexidade do problema, custo computacional, etc.

67 Principais Referências Aggarwal, CharuC. and Zhai, ChengXiang, A Survey of Text Clustering Algorithms, Springer, 2012. Vincenzo Russo, Clustering and classification in Information Retrieval: from standard techniques towards the state of the art, 2008. Fasheng Liu; Lu Xiong, Survey on text clustering algorithm, Software Engineering and Service Science (ICSESS), 2011. Huang, A., Similarity measures for text document clustering, 2008. Apresentação do grupo de 2013


Carregar ppt "Text Clustering Tarcísio Pontes Rafael Anchieta. Roteiro Motivação Introdução Representação de documentos Redução da dimensão Clustering para textos Avaliação."

Apresentações semelhantes


Anúncios Google