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.

Slides:



Advertisements
Apresentações semelhantes
Operações sobre o Texto
Advertisements

Experiments with Clustering as a Software Remodularization Method Nicolas Anquetil and Timothy C. Lethbridge University of Ottawa, Canada WCRE 1999:
Modelos de Recuperação de Informação
Eveline Alonso Veloso PUC-MINAS
Engenharia de Software
Araken de Medeiros Santos Anne Magály de Paula Canuto
Agrupamento (clustering)
Prof. Júlio Cesar Nievola
Método de Clusterização baseado em Densidade Algoritmo DBSCAN
Reconhecimento de Padrões Segmentação
Reconhecimento de Padrões Dissimilaridade
Descoberta de Conhecimento:
Agrupamento de padrões Métodos hierárquicos
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
Inteligência Artificial
Alexandre Xavier Falcão & David Menotti
CLUSTERING: UMA REVISÃO AOS ALGORITMOS BÁSICOS
Aprendizagem de Máquina - Agrupamento
D ETECÇÃO DE C OMUNIDADES Ricardo Prudêncio. L INK M INING - T AREFAS Relacionadas a Objetos Relacionadas a Arestas Relacionadas a Grafos Ranking de Nós.
Classificação/Clusterização
Clustering de Documentos
Aprendizado Baseado em Instâncias – Algoritmo k-NN
K-Means / Clustering.
MapReduce Conceitos e Aplicações
INF 1771 – Inteligência Artificial
Mineração da Web Recuperação de Informação
Preparação dos documentos Flávia Barros
Recuperação de Informação
Mineração da Web Recuperação de Informação
Recuperação de Informação Clássica
CIn-UFPE1 Recuperação Inteligente de Informação Agrupamento de Texto.
Seleção de Atributos Ricardo Prudêncio.
Aprendizagem de Máquina - Agrupamento Prof. Sérgio Queiroz Slides inicialmente preparados pelo Prof. Ricardo Prudêncio, aos quais foram feitas modificações.
Classificacao de Texto Projeto Spam Filter
Análise de padrões de uso em grades computacionais oportunistas
Aula 8. Classificação Não Supervisonada por Regiões
C LASSIFICAÇÃO DE N ÓS Ricardo Prudêncio. L INK M INING - T AREFAS Relacionadas a Objetos Relacionadas a Arestas Relacionadas a Grafos Ranking de Nós.
Projeto Final MCI 2004 Filtragem de s Agente de Classificação de SPAM.
Análise de Agrupamentos Marcílio Souto DIMAp/UFRN.
Algoritmos de Agrupamento (Clustering): Métodos Hierárquicos e k-médias Marcílio C. P. de Souto DIMAp/UFRN.
Aprendizado não-supervisionado
Revisão 2° Bimestre Inteligência Artificial. Redes Neurais.
Locus Localização Eudes Cavalcanti.
Recuperação Inteligente de Informação
Classificação/Categorização Christian Diego – cdad Icamaan Viegas – ibvs.
Classificação de Texto Baseada na aula de Henrique Borges e Ícaro Medeiros Alterada por Flávia Barros.
CIn-UFPE1 Recuperação de Informação Modelos de Recuperação de Documentos Flávia Barros.
Classificação de Texto
Mineração de Dados: Introdução
Uma Interface em Linguagem Natural em Português para Pergunta-Resposta na Web Grupo de Inteligência Computacional Mestrado em Ciência da Computação Aluno:
Estatística: Aplicação ao Sensoriamento Remoto SER ANO 2015 Análise de Agrupamento Camilo Daleles Rennó
Clustering Algorithms for Gene Expression Analysis Pablo Viana Fagner Nascimento.
CIn-UFPE1 Recuperação de Informação Modelos de Recuperação de Documentos Flávia Barros.
Marcus Sampaio DSC/UFCG. Marcus Sampaio DSC/UFCG Classificação Não Supervisionada As instâncias não são previamente classificadas Um algoritmo de classificação.
Luana Bezerra Batista Redes Neurais Luana Bezerra Batista
Um Sistema de recomendação de consultas baseados em query log Diogo Mendonça.
Classificação de Textos
Eduardo Matos (ejvm) Leonardo Vilaça (lhvs) Igor Ebrahim (ies) Thiago Gomes (tgr)MW
TUTORIAL. SABIN AMERICANA Esta base é formulada conforme a bibliografia de Joseph Sabin, bibliófilo americano que viveu entre 1821 e Com.
CIn-UFPE1 Recuperação Inteligente de Informação Agrupamento de Texto.
FEATURE SELECTION. Introdução  Estudo de metodologias relacionadas a seleção de atributos  Maldição da dimensionalidade  O número de atributos do desenvolvedor.
Avaliação de empresas por múltiplos aplicados em empresas agrupadas com análise de cluster Autores CLOVIS GRIMALDO COUTO JÚNIOR FERNANDO CAIO GALDI Acadêmicos.
Mineração de Dados (Data Mining)
18/09/ /12/20082 Testes Baseados Em Modelo Diana Rúbia Paulo César Qualidade, Processos e Gestão de Software Alexandre Vasconcelos {drrr, pco,
Questionário (Básico) Autor: Skyup Informática. Atividade - Questionário O módulo permite criar uma série de questões, que deverão ser respondida pelos.
Text Clustering Anaury Norran Italo Lima Robertson Novelino Tomás Almeida.
Ciência da Computação Aprendizado de Máquina (Machine Learning) Aula 12 Aprendizado não Supervisionado Mapas auto-organizáveis Max Pereira.
Transcrição da apresentação:

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 Exemplos de aplicação Conclusão

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?

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.

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.

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!

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

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

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

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

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 = { }

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}

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

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!

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:

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

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

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

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!

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

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

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: –

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

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

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

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

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

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.

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.

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

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

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

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

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

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

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:

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

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!

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

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.

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

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.

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

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

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

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

(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

(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

(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

(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

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

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

(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

(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

(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

(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

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

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

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

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

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.

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

Aplicações

Navegação Hierárquica

Aplicações Produto:

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.

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