• Nenhum resultado encontrado

Representação e Clusterização de documentos usando grafo direcionado

N/A
N/A
Protected

Academic year: 2021

Share "Representação e Clusterização de documentos usando grafo direcionado"

Copied!
10
0
0

Texto

(1)

Representação e Clusterização de documentos usando

grafo direcionado

João Marcos joaomarcosdeveloper@gmail.com Alex Souza aasouzaconsult@gmail.com

Dezembro 2017

No que se diz respeito a problemas de mineração de texto, a clusterização de documen-tos é um problema que consiste em encontrar grupos de documendocumen-tos, dado um coleção, com características semelhantes. No trabalho, usaremos uma coleção de documentos (20 newsgroups), onde cada documento dessa coleção será representado por vértice de um grafo, e neste será aplicado a técnica de clusterização K-Means utilizando Dijkstra para encontrar a distancia entre os vértices (documentos).

Palavras-chave: clusterização, documentos, k-means, dijkstra, grafo.

1

Introdução

Considerando a natureza dos dados e as aplicações a que está frequentemente re-lacionado, o processo de descoberta de conhecimento em dados textuais, denominado Mineração de Textos (MT), muitas vezes combina técnicas de Recuperação de Informa-ção (RI), Aprendizado de Máquina (AM) e Processamento de Língua Natural (PLN), ao longo de suas etapas. As técnicas da área de RI são empregadas na maioria das etapas do processo. Os métodos de PLN podem ser usados para preparar os dados de forma a permitir que se obtenha uma representação mais estruturada relacionada ao conteúdo dos textos, enquanto os métodos de AM são geralmente empregados na descoberta de padrões presentes nos textos.

O processo de Mineração de Textos é semelhante ao processo de Mineração de Dados (MD). Porém, enquanto MD trabalha com dados estruturados, o processo de MT trabalha com dados não estruturados, geralmente na forma de textos ou documentos, havendo, portanto, um tratamento diferenciado em algumas etapas do processo.

Uma abordagem simples, porém bastante custosa, para transformar textos em dados estruturados, consiste na construção de uma tabela no formato atributo-valor, na qual cada texto é considerado um exemplo nessa tabela e as palavras nos textos determinam os atributos. Essa forma de representação possibilita o uso de algoritmos de AM supervi-sionado e não supervisupervi-sionado que trabalham com esse tipo de informação. O interessante dessa abordagem é que ela permite realizar o processo de MT sem a necessidade de com-preender o texto. Essa transformação dos textos em tabelas atributo-valor é apenas uma

(2)

das primeiras etapas de um processo de MT e é denominada de pré-processamento. Após o pré-processamento, a tabela atributo-valor pode ser submetida a algoritmos de AM para descobrir padrões presentes nos textos ou agrupar os mesmos em clusters, entre outros. A escolha de qual algoritmo de AM usar depende de alguns fatores, tais como se a categoria dos textos são conhecidas ou não. Caso as categorias dos textos sejam conhecidas, é possível utilizar algoritmos de AM supervisionado, caso contrário, algoritmos de AM não supervisionado, mais especificamente algoritmos de clustering. (MARTINS, 2003).

Neste trabalho é usado um conjunto de dados textuais, de domínio público, chamado: 20newsgroups, com o objetivo de representar os documentos e suas relações de forma gráfica (grafos) e através da combinação dos algoritmos de Dijkstra e K-Means, encontrar agrupamento naturais de documentos similares (clusterização).

O trabalho está organizado da seguinte forma: na Seção 2 é descrito brevemente o processo de Mineração de Textos. Na Seção 3 é mostrado como foi realizado o pré-processamento dos textos. Na Seção 4, intitulada como extração de conhecimento, são apresentados as técnicas utilizadas e, por fim, na Seção 5 são apresentadas algumas validações e resultados.

2

O processo de Mineração de Textos

Esse processo é iniciado identificando qual tarefa a ser utilizada, seja ela: categori-zação, sumarização ou agrupamento de documentos. Exemplo: Dado um conjunto de documentos D = {d1, d2,...,dn} e um conjunto de categorias C = {c1, c2,...,cz}, a tarefa

de categorização de textos consiste em determinar se o documento di pertence (ou não)

a categoria cj para i = 1, 2,...,n e j = 1, 2,...,z.

Independente da tarefa ser de categorização, sumarização ou agrupamento de docu-mentos (tarefa adotada no presente trabalho), algumas etapas são essenciais no processo de MT as quais, basicamente, são quatro:

1. coleta de documentos; 2. pré-processamento;

3. extração de conhecimento;

4. avaliação e interpretação dos resultados.

Na primeira etapa do processo, coleta de documentos, o objetivo é recuperar do-cumentos relevantes ao domínio de aplicação do conhecimento a ser extraído. Existem várias fontes, tais como livros e documentos, que podem ser obtidos na internet. Para facilitar o acesso a esses documentos, várias ferramentas de apoio têm sido desenvolvidas utilizando técnicas de RI, AM e PLN.

Após a coleta de documentos é necessário um pré-processamento dos documentos preparando-os para serem representados em um formato adequado para serem submetidos

(3)

aos algoritmos de extração automática de conhecimento. Essa etapa, denominada de pré-processamento, é responsável por obter uma estrutura, geralmente, no formato de uma tabela atributo-valor, que represente o conjunto de documentos.

Com os documentos representados em uma forma adequada é possível aplicar técnicas de extração de conhecimento, utilizando sistemas de aprendizado, com a finalidade de descobrir padrões úteis e desconhecidos presentes nos documentos. Finalmente, a etapa de avaliação é necessária para verificar se o objetivo foi alcançado ou se necessitam ser refeitas todas ou algumas das etapas do processo de MT. A etapa final geralmente é realizada com o auxílio do usuário e/ou especialista do domínio. (MARTINS, 2003).

3

Coleta e Pré-Processamento

São umas das fases mais importantes e custosas do processo, é a alicerce para toda a análise que vem a seguir, ou seja, quanto mais tempo se investir nessas fases, menos tempo será gasto futuramente.

Para esse trabalho é utilizado a coleção de documentos: 20 Newsgroups, é uma coleção em inglês, que contém 18.846 documentos que estão quase que uniformemente distribuí-dos em 20 categorias distintas, exemplo: tecnologia, política, religião, esporte, entre outras. Algumas dessas categorias estão intimamente relacionadas, enquanto outras não tem relação alguma com as outras.

3.1 Ferramentas

É utilizado a ferramenta de desenvolvimento Python na versão 2.7 e algumas biblio-tecas específicas para texto, para cálculos matriciais, para representação em grafos, entre outras. Podemos destacar:

1. NTLK (Natural Language Toolkit é um conjunto de ferramentas open source es-critas em Python e para Python, para a manipulação de linguagem natural.) 2. SKLearn (É uma biblioteca de aprendizado de máquina de código aberto para a

linguagem de programação Python. Ela inclui vários algoritmos de classificação, regressão e agrupamento incluindo máquinas de vetores de suporte, florestas alea-tórias, gradient boosting, K-Means e DBSCAN, e é projetada para interagir com as bibliotecas Python numéricas e científicas NumPy e SciPy.)

3. Numpy (É um pacote para a linguagem Python que suporta arrays e matrizes mul-tidimensionais, possuindo uma larga coleção de funções matemáticas para trabalhar com estas estruturas.)

(4)

3.2 Pré-Processamento (Representação de documentos)

Levando em consideração que a primeira etapa do processo tenha sido realizada, isto é, os documentos estejam coletados e disponíveis, é preciso realizar o pré-processamento desses documentos.

O procedimento geralmente adotado é a representação de cada documento di como um vetor de m termos que ocorrem no documento. A identificação dos termos em um documento pode se referir às palavras presentes no texto (bag of words), ou podem ser usadas representações mais sofisticadas como frases ou sentenças. (MARTINS, 2003).

Nesta implementação, um termo pode ser representado por palavras simples que ocor-rem no documento. Cada termo, portanto, será um elemento do conjunto de atributos da tabela atributo-valor. Dessa forma, a coleção de documentos, após a primeira fase do pré-processamento, pode ser representada como ilustrada na Figura 1.

Figura 1: Representação de documentos (Documento x Termo)

A Figura 1 representa n documentos (exemplos) e m termos (atributos), e cada do-cumento di é uma tupla di= {ai1, ai2,...,aim}. O valor aij refere-se ao valor associado ao

j-ésimo termo do documento i, ou seja, aij representa o valor do termo tj no documento

di e pode ser calculado de diversas formas, neste trabalho é calculado o tf − idf (term

frequency - inverse document frequency).

A frequência de um termo (tf ) é uma medida utilizada que considera o número de ocorrências do termo em um documento di. O valor dos termos pode ser calculado também levando em consideração, além da frequência de um termo, o fator relacionado a frequência inversa do documento (idf ) favorecendo termos que aparecem em poucos documentos de uma coleção.

Na segunda fase do pré-processamento, é utilizado o método proposto por Farahat and Kamel, para encontrar a correlação entre documentos, onde, seja M a matriz de documentos-termo, nxm cujo elemento xij representa o peso do termo tj dentro do documento ci. A matriz que codifica os produtos internos dos vetores de documentos é

calculada como: M xMT.

Já na terceira fase do pré-processamento, com base na matriz Documento x Docu-mento (Figura 2), é montado uma matriz de adjacências que será a base para os grafos e aplicação do método deste trabalho. Nessa matriz de adjacência, irá conter apenas os pesos dos k documentos mais relevantes a cada documento. Nos experimentos, este k é variado de 2 a 10.

(5)

Figura 2: Representação de documentos (Documento x Documento)

4

Extração de conhecimento (Agrupamento)

A solução desenvolvida busca encontrar grupos de documentos através de um algo-ritmo baseado no K-Means, utilizando o algoalgo-ritmo de Dijkstra para encontrar o melhor caminho entre vértices (documentos).

4.1 K-Means

Os algoritmos de agrupamento de dados (clustering) reúnem um conjunto de objetos em subconjuntos ou clusters, que sejam coerentes internamente, mas claramente diferen-tes uns dos outros. Desta maneira, os objetos de um mesmo cluster devem ser o mais parecidos possíveis, e objetos de um cluster devem ser tão diferentes quanto possível dos documentos em outros clusters Manning et al. (2008).

Algoritmos de agrupamento particionais visam descobrir os agrupamentos presentes nos dados pela otimização de uma função objetivo específica e iterativamente melhoram a qualidade das partições. Estes algoritmos precisam do fornecimento de um conjunto de amostras ou grupos iniciais que são então melhorados iterativamente Aggarwal e Reddy (2013).

Estes algoritmos operam em duas etapas: Na primeira, determinam-se k represen-tantes para os K agrupamentos que se deseja encontrar, de forma a minimizar a função objetivo. Na segunda, cada objeto é atribuído ao agrupamento cujo representante estiver mais próximo Jain et al. (1999).

K-Means é um dos algoritmos particionais mais estudados e mais amplamente uti-lizados Aggarwal e Reddy (2013). O algoritmo clássico começa escolhendo os k pontos representativos como os centróides iniciais. Cada ponto é associado ao agrupamento cujo centróide está mais próximo baseado numa medida de proximidade escolhida. Uma vez que os agrupamentos são formados, os centróides de cada agrupamento são atualizados. O algoritmo repete esses dois passos iterativamente até que os centróides não sofram alterações ou nenhuma outra alternativa no critério de convergência seja encontrada.

Uma representação do algoritmo pode ser vista na Figura 3, que mostra como os centroides são alterados após duas iterações do algoritmo: (a) dados iniciais; (b) membros dos agrupamentos após primeira iteração; (c) membros dos agrupamentos após segunda iteração. A desvantagem desta abordagem está no fato da necessidade de se conhecer previamente o número de agrupamentos definido por k.

(6)

Figura 3: Ilustração do algoritmo K-Means (fonte: Jain e Dubes (1988))

4.2 Dijkstra

O algoritmo de Dijkstra tem um conjunto de passos que permite encontrar um cami-nho de menor custo entre dois vértices de um grafo valorado. Não é, portanto, necessário que o caminho seja hamiltoniano, apesar de continuar sendo uma árvore. Há, dessa forma, sempre um vértice de início e um vértice final, conectados por diversos vértices intermediários.

Os passos do algoritmo são os seguintes: 1. Selecione o vértice de início e atribua ao mesmo o peso 0; aos outros vértices, ainda não atingidos, atribua o peso . 2. A partir do vértice de origem, calcule os pesos dos vértices adjacentes ao mesmo, somando o peso do vértice de início e da aresta que os liga; selecione, nessa segunda etapa, o vértice de menor peso. 3. Caso o vértice de menor peso selecionado seja o vértice final, encerre o processo; caso contrário, considere esse novo vértice como origem e repita o passo 2. (COSTA, 2017)

4.3 Algoritmo K-Dijkstra4Doc

O K-Dijkstra4Doc é o nome dado ao método usado neste trabalho para encontrar grupos em um grafo de documentos, baseado em K-Means e usando Dijkstra para encon-trar o caminho mínimo entre vértices. Seja G um grafo direcionado (um vértice vi pode

possuir uma aresta com vj devido ao corte de correlação, porém vj pode não possuir aresta com vi), e k a quantidade de grupos que serão encontrados.

O algoritmo pode encontrar os centroides iniciais de duas formas. A primeira é escolhendo aleatoriamente k vértices de G. A segunda, parte de um vértice escolhido aleatoriamente para ser o nó raiz. O primeiro centroide é selecionado representando o vértice mais distante ao nó raiz. O vértice raiz agora passa a ser o primeiro centroide. Esse processo é repetido até a escolha do k centroide.

(7)

Sendo C o conjunto dos centroides escolhidos inicialmente, o algoritmo inicia o agru-pamento dos vértices ao centroide que possui o menor caminho. Tendo agora um conjunto de grupos. Após o processo de agrupamento, é iniciado a reavaliação dos centroides. Este processo consiste em achar o vértice que possui o menor caminho para todos os vértices do grupo. Esse vértice é então escolhido como novo centroide. Esses passos são executado até que atinja a convergência em x vezes.

Um problema na reavaliação dos centroides é quando o tamanho do grupo é igual a 1. Para resolver esse problema, é feito uma substituição entre o vértice desse grupo e o vértice mais distante do grupo mais próximo, sendo mantida a quantidade de grupos existentes.

5

Avaliação e Resultados

O experimento realizado neste trabalho consiste em avaliar o tempo de convergên-cia do algoritmo em algumas variações (k documentos correlacionados, iniconvergên-cialização dos centroides), assim como uma análise das categorias definidas na coleção de documentos. É usado 50 documentos de 3 categorias da coleção, definindo assim o número de k centroides. A Tabela 1, apresenta os resultados para a primeira estratégia de definição do centroide, descrita anteriormente. A Tabela 2, apresenta os resultados da segunda estratégia. A coluna "Análise de categoria"apresenta o total de documentos agrupa-dos corretamente de acordo com as categorias definidas na coleção. As figuras 4 e 5 apresentam um exemplo de um grafo extraído dos experimentos.

Os resultados obtidos foram satisfatórios, uma vez que é um método não super-visionado, que encontra grupos de documentos de forma natural, levando em conta a correlação entre documentos.

5.1 Tabelas de resultados

Tempo (segundos) Análise de categoria k-correlações

2.54 24 2 2.83 22 3 2.43 18 4 4.38 15 5 7.23 16 6 8.96 23 7 4.66 29 8 6.83 23 9 4.24 18 10

(8)

Tempo (segundos) Análise de categoria k-correlações 1.66 18 2 2.94 14 3 2.26 18 4 3.67 21 5 4.75 21 6 3.45 19 7 3.78 20 8 4.57 22 9 4.91 21 10

Tabela 2: Resultado com centroides definidos pela segunda abordagem.

5.2 Grafos

(9)

Figura 5: Grafo com 4 documentos correlacionados

6

Referências

1. AGGARWAL, C. C. e REDDY, C. K. (2013). Data clustering: algorithms and applications. CRC press.

2. BIRD, Steven. NLTK: the natural language toolkit. In: Proceedings of the CO-LING/ACL on Interactive presentation sessions. Association for Computational Linguistics, 2006. p. 69-72.

3. COSTA, Rodrigo Vaz. Grafos: algumas aplicações a nível médio. 2017.

4. JAIN, A. K. e DUBES, R. C. (1988). Algorithms for clustering data. Prentice-Hall, Inc.

5. JAIN, A. K., MURTY, M. N. e FLYNN, P. J. (1999). Data clustering: a review. ACM computing surveys (CSUR), 31(3):264–323.

6. MANNING, C. D., RAGHAVAN, P., SCHÜTZE, H. et al. (2008). Introduction to information retrieval, volume 1. Cambridge university press Cambridge.

7. MARTINS, Claudia Aparecida et al. Uma Experiência em Mineração de Textos Utilizando Clustering Probabilıstico e Clustering Hierárquico. Instituto de Ciências Matemáticas e de Computação. São Carlos: Universidade de São Paulo, 2003.

(10)

8. PIMENTEL, Marina Assako Hoshiba. Busca e ranqueamento de recursos educaci-onais com suporte de agrupamento de tags. 2017.

9. RAVIKANT, K.; VERMA, Gargi Shankar. Allotment of Cluster for different Nodes in Graph Computing.

10. SEIFZADEH, Sepideh et al. Short-text clustering using statistical semantics. In: Proceedings of the 24th International Conference on World Wide Web. ACM, 2015. p. 805-810.

11. FARAHAT, Ahmed K., KAMEL, Mohamed S., “Statistical semantics for enhancing document clustering,” Knowledge and Information Systems, Volume 28, Issue 2, pages 365–393, 2010.

Referências

Documentos relacionados

asociado a la categoría relacionada con la representación lograda para la situación física asignada en otro trabajo (Escudero y Jaime 2007), complementario a éste, mientras que

O terceiro objetivo, analisando o lado do recetor, passa por compreender o ponto de vista das audiências em relação aos consumos online e televisivo, e de modo a

Opõe-se, assim, a categoria da invisibilidade, que apontaria para a ausência de imagens, à sua não- percepção, ratificando-se as teorias bergsonianas de que tanto o corpo quanto

As respostas dos professores ao questionário revelam que as tecnologias quando utilizadas em sala de aula pelos professores apresentam as características do ensino

Ejemplo, en el caso de la química el sistema de representaciones permite hablar de las transformaciones de la materia en tres niveles diferentes: macroscópico, microscópico

A parte empírica da investigação, realizada no segundo semestre letivo do ano de 2004, teve a colaboração de 31 estudantes que cursavam o sexto semestre do curso de

Entretanto, preparar os professores para este aperfeiçoamento em suas aulas torna-se cada vez mais necessário, já que a troca de informações por meio de redes sociais

gondii in cats collected Zoonosis Control Center of the municipality for euthanasia, in order to meet the current epidemiological situation of animals in