• Nenhum resultado encontrado

Arthur Vinicius N. de S. Santa Rita

N/A
N/A
Protected

Academic year: 2021

Share "Arthur Vinicius N. de S. Santa Rita"

Copied!
24
0
0

Texto

(1)

Arthur Vinicius N. de S. Santa Rita

Análise de Comportamento do uso do Twitter

utilizando Processamento de Linguagem Natural:

Identificação de Tópicos através de LDA (Latent

Dirichilet Allocation)

Monografia de Final de Curso

14/09/2020

Monografia apresentada ao Departamento de Engenharia Elétrica da PUC/Rio como parte dos requisitos para a obtenção do título de Especialização em Business Intelligence.

(2)

Orientador: Leonardo Alfredo Forero Mendoza

AGRADECIMENTOS

Agradeço à toda equipe da PUC-Rio que sempre auxiliou da melhor maneira todos os alunos durante o curso BI Masters. Todos, coordenadores e professores que sempre deram todo apoio para a conclusão do curso com o máximo aproveitamento.

Ao meu orientador desta monografia, Leonardo Mendonza. Por toda a compreensão e ensinamentos.

Agradeço à minha família, por me apoiar em todas as jornadas da vida e que não foi diferente nesse momento de muito aprendizado também.

(3)

“O verdadeiro perigo não é que computadores começarão a pensar como homens, mas que homens começarão a pensar como computadores.” Sydney J. Harris

(4)

RESUMO

Uma das vertentes da inteligência artificial é o processamento de linguagem natural (NLP – Natural Language Processing), que consiste em algoritmos desenvolvidos com o objetivo de fazer a máquina compreender a linguagem dos seres humanos, auxiliando especialistas de diversas áreas. Desta forma, a LDA (Latent Dirichilet

Allocation - Alocação Latente de Dirichilet) é um algoritmo capaz de identificar

tópicos relevantes em documentos, facilitando a busca de informações e o agrupamento de textos similares.

A aplicação de técnicas de NLP sobre massa de dados geradas através de comportamentos de usuários em redes sociais pode auxiliar pesquisas em áreas que desejam identificar como o uso destas plataformas podem influenciar as pessoas em todo o mundo.

O objetivo principal deste trabalho é utilizar o processamento de linguagem natural (NLP) com o uso do modelo LDA para identificar similaridade entre mensagens enviadas. Também neste trabalho irá ser possível realizar uma análise comportamental do usuário através de sua frequência de mensagens enviadas e distribuição de mensagens enviadas por plataformas utilizadas.

(5)

ABSTRACT

One of the aspects of artificial intelligence is the natural language processing (NLP - Natural Language Processing), which consists of algorithms developed with the objective of making the machine understand the language of human beings, assisting specialists from different areas. In this way, the LDA (Latent Dirichilet Allocation) is an algorithm capable of identifying relevant topics in documents, facilitating the search for information and the grouping of similar texts.

The application of NLP techniques on mass of data generated through user behavior on social networks can assist research in areas that want to identify how the use of these platforms can influence people around the world.

The main objective of this work is to use natural language processing (NLP) using the LDA model to identify similarity between messages sent. Also in this work it will be possible to conduct a behavioral analysis of the user through his frequency of messages sent and distribution of messages sent by platforms used.

(6)

Sumário

1. INTRODUÇÃO ... 7 1.1. MOTIVAÇÃO ... 7 1.2. OBJETIVOS DO TRABALHO ... 8 1.3. DESCRIÇÃO DO TRABALHO ... 9 1.4. ORGANIZAÇÃO DA MONOGRAFIA ... 9 2. FUNDAMENTAÇÃO TEÓRICA ... 10 3. METODOLOGIAS ... 14

3.1. PRÉ PROCESSAMENTO DOS DADOS ... 14

3.2. TREINAMENTO DO MODELO LDA ... 15

4. RESULTADOS ... 16

5. CONCLUSÕES E TRABALHOS FUTUROS ... 23

(7)

1. INTRODUÇÃO

1.1. MOTIVAÇÃO

Com o aumento do acesso à internet e o surgimento cada vez maior de diversas redes sociais, as pessoas começaram a se expor mais na internet, seja com fotos e vídeos e também com publicações de mensagens.

Plataformas, como o Twitter, se tornaram grandes empresas com o aumento do uso de seus aplicativos ou plataformas web. A exemplo do Twitter, plataforma onde possuímos seguidores e também seguimos pessoas, nos oferece a possibilidade de escrever mensagens de qualquer tipo de conteúdo e que pessoas do mundo inteiro conseguem ler e interagir umas com as outras.

Tudo que escrevemos reflete um pouco do nosso pensamento e dos nossos ideais, ou seja, cada mensagem que enviamos por uma rede social ou por uma mensagem privada, possui um número infinito de informações que podem ser extraídas de diversas formas, seja pelo nosso tom, seleção de palavras ou outras formas que acabam gerando algum tipo de informação.

Com o crescente aumento do uso das plataformas de envio de mensagens e com a evolução da tecnologia, foram surgindo formas de processarmos esses tipos de informações e tirar conclusões comportamentais das pessoas a partir de um conjunto de mensagens dela.

A principal forma de extrairmos esses tipos de conclusões e fazer os estudos sobre esses tipos de dados chama-se Natural Language Processing (NLP), traduzindo Processamento de Linguagem Natural.

O Processamento de Linguagem Natural (NLP – Natural Language

Processing) é a área da inteligência artificial que consiste no desenvolvimento de modelos computacionais que permitem a máquina processar e compreender automaticamente linguagens dos seres humanos, faladas e escritas [1]. Ou seja, são modelos computacionais que dão as maquinas capacidade de ler, entender e tirar conclusões das linguagens humanas

Com o aumento da capacidade computacional de processas esses tipos de dados que são gerados e melhores formas de extração desses dados, cada vez mais é possível ver a aplicação dessa tecnologia em diversas áreas com diversos objetivos. Com inúmeros casos de utilização, podemos citar alguns que são:

(8)

• Análise de sentimentos e comportamentais de postagens em mídias sociais com o objetivo de avaliar a percepção de consumidores sobre diferentes produtos.

• Filtragens automáticas de spam em serviços de e-mail. • Identificação de notícias falsas (fake news).

• Rastreamento de notícias, relatórios, avaliações e comentários sobre empresas que podem afetar o mercado financeiro.

Com o aumento de estudos e avanço da tecnologia, foram surgindo diferentes técnicas em NLP. Abaixo podemos ver uma breve explicação de algumas técnicas que foram surgindo ao longo desses anos, são elas:

• Optical character recognition - OCR: É uma técnica que consegue retirar o texto presente em uma imagem apresentada. Um exemplo de uso desta técnica é derrubar sistemas anti-bot CAPTCHA [2].

• Part-of-speech tagging – POS: É uma técnica que identifica a classe gramatical das palavras em textos apresentados. Em [3]utilizaram esta técnica em textos retirados de mensagens enviadas pelo Twitter.

• Latent Dirichlet Allocation – LDA: É um modelo bayesiano que divide em grupos conjuntos de observações que possuem alguma semelhança. Um exemplo de uso é analise de qualquer texto, seja em redes sociais, e-mails e etc.

1.2. OBJETIVOS DO TRABALHO

O objetivo deste trabalho é aplicar algoritmos de NLP na base de dados de mensagens extraídas do perfil do Donald Trump, presidente dos EUA, da rede social Twitter utilizando a técnica LDA para identificar possíveis similaridades entre suas mensagens enviadas na plataforma.

Outro objetivo deste trabalho é realizar uma análise de comportamento do envio de mensagens e principais plataformas utilizadas pelo perfil ao utilizar a rede social Twitter.

(9)

1.3. DESCRIÇÃO DO TRABALHO

Este trabalho foi desenvolvido em 4 etapas: Carregamento e Pré-processamento da base de dados; Aplicação do modelo LDA na base de dados pré-processada; Analise de comportamento do perfil presente na base de dados.

Para todo o desenvolvimento do trabalho um código escrito na linguagem

Python utilizando o framework Jupyter Lab foi utilizado para o carregamento e

processamento dos dados. A base de dados utilizada neste trabalho está disponível no site Trumptwitterarchive.

Foram utilizadas técnicas de pré-processamento dos dados para que pudessem ser utilizado o modelo LDA. A base de dados passou por processos como, remoção de stop words. Por fim, foi utilizada a técnica bag of words para obter a versão final da base de dados antes da utilização do modelo.

Foram extraídos os tópicos em que cada uma das mensagens pertencia com o modelo otimizado, os quais foram visualizados utilizando a ferramenta pyLDAvis. Desta forma também foi possível avaliar que palavras representavam cada tópico.

A versão final do algoritmo aplicado sobre as mensagens extraídas mostrou potencial para a identificação de similaridade entre as mensagens.

1.4. ORGANIZAÇÃO DA MONOGRAFIA

Esta monografia está dividida em 5 capítulos adicionais, descritos a seguir: O capítulo 2 apresenta a fundamentação teórica referente aos métodos selecionados para serem empregados no trabalho.

O capítulo 3 apresenta as metodologias aplicadas, mostrando desde do pré-processamento até a utilização do modelo selecionado.

O capítulo 4 apresenta os resultados encontrados com a aplicação do algoritmo a base de dados com as mensagens no Twitter do perfil do Donald Trump.

(10)

2. FUNDAMENTAÇÃO TEÓRICA

A segmentação de texto consiste em ser um processo de dividir o texto em unidades como tópicos, frases e palavras. Este tipo de segmentação não é tão simples de ser feito, pois dependendo do idioma em que o texto foi escrito, pode haver algumas palavras ou sinais ambíguos.

Existem diversas técnicas que nos possibilita de segmentar o texto, como por exemplo Segmentação por palavras (Word Segmentation), Segmentação por frase (Sentence segmentation) e Segmentação por tópicos (Topic Segmentation).

A segmentação de tópicos é um dos problemas fundamentais na análise do discurso, em que a tarefa é dividir um texto em uma sequência linear de segmentos topicamente coerentes [4].

Os documentos são geralmente compostos por tópicos coerentes segmentos de texto, cada um dos quais contém algumas passagens de texto (por exemplo, sentenças ou parágrafos) [5]. Segmentos topicamente coerentes geralmente encapsulam um conjunto de passagens consecutivas que são semanticamente relacionadas [7]. Mais formalmente, tratamos as palavras em cada frase como retiradas de um modelo de linguagem associado ao segmento do tópico [4].

Este algoritmo pode ser usado em diversos tipos de texto, sejam eles, noticias, mensagens em aplicativos, postagens e mensagens em redes sociais. Um exemplo desse uso podemos ver abaixo na Figura 1.

(11)

Figura 1 – Extração dos tópicos a partir de uma mensagem [8]

Como a maioria dos textos são informações não estruturadas, é necessário realizar um pré-processamento nos dados antes da aplicação dos algoritmos de aprendizado de máquina. Na figura 2, podemos ver todas as etapas que são realizadas durante o pré-processamento do texto.

Figura 2 – Operações de pré-processamento [7]

Stemming é o processo de redução de palavras moduladas ao radical, raiz ou

base de palavras. Stop words é a palavra filtrada antes ou depois do processamento do texto em linguagem natural [10].

(12)

Tokenização (Tokenization) é o processo de quebrar um fluxo de conteúdo textual em palavras, termos, símbolos ou alguns outros elementos significativos chamados tokens [7]. Para exemplificar este processo de tokenização, podemos usar o exemplo abaixo.

• Texto bruto: Hello world!

• Texto tokenizado:[Hello] [world] [!]

Durante o processo de stop words é possível remover palavras com pouca relevância no texto, remoção de pontuação e remoção de palavras que estão abaixo do mínimo de caracteres que foram definidos nas regras. Para exemplificar este processo, vamos utilizar o texto tokenizado acima, neste exemplo iriamos remover a pontuação da frase, ficando [Hello] [world].

Após todo o processo de pré-processamento, é realizado o processo chamado de bag-of-words. Neste processo, pegamos todas as palavras geradas do pré-processamento e criamos um dicionário, onde a chave é a palavra e o valor é o número de vezes em que essa palavra apareceu.

Com todo esse processo finalizado, temos um conjunto de dados pronto para a utilização do algoritmo LDA.

O LDA é um modelo probabilístico generativo para coleções de dados discretos. É um modelo hierárquico de três níveis, no qual os documentos de um corpus são representados como misturas aleatórias sobre tópicos latentes. Cada tópico é, por sua vez, caracterizado por uma distribuição em palavras [10].

O LDA modela cada palavra em um documento (ou imagem) como uma amostra de um modelo de mistura, onde os componentes da mistura podem ser vistos como representações de “tópicos”. Assim, o LDA oferece flexibilidade para atribuir um tópico diferente a cada palavra observada em um documento. Na verdade, muitos pesquisadores costumavam considerar que o agrupamento no espaço de recursos permite identificar classes [10].

Podemos ver na Figura 3, o resultado após a aplicação do modelo LDA no conjunto de dados pronto.

(13)
(14)

3. METODOLOGIAS

3.1. PRÉ PROCESSAMENTO DOS DADOS

Os dados utilizados neste trabalho foram retirados do site

Trumptwitterarchive. Para este trabalho os dados retirados são todos os tweets, mensagens publicadas, no perfil do Donald Trump no Twitter entre as datas 20 de janeiro de 2017 e 1 de setembro de 2018.

Este trabalho foi desenvolvido utilizando a linguagem Python, utilizando a biblioteca Pandas para carregamento dos dados e para analise primaria. Os dados iniciais foram carregados em um único dataframe com de 9 colunas e 4575 linhas. A

Figura 4 mostra algumas colunas com os respectivos dados deste dataframe.

Figura 4 – Exemplo do conjunto de dados utilizado.

Com os dados carregados, foi feito o processo de Featuring Engineering, técnica utilizada para extrair o máximo de conteúdo dos dados brutos através da mineração de dados, extraindo informações dos dados iniciais. Com a finalização deste processo, tivemos um acréscimo de colunas passando para 19 colunas ao invés das 9 iniciais.

Em sequência, iniciamos o processo de remoção das stop words nesta parte utilizamos a biblioteca NLTK (Natural Language Toolkit), sendo removidas uma lista com 221 palavras, na Figura 5 podemos ver alguns exemplos.

(15)

Com a remoção das stop words, utilizamos a metodologia bag of words para finalizar nosso conjunto de dados e treinar o modelo LDA que será utilizado neste trabalho.

3.2. TREINAMENTO DO MODELO LDA

Ao finalizar o pré-processamento, utilizamos todo o conjunto de dados obtido para utilizar o modelo LDA. Utilizamos a biblioteca gensim que também foi desenvolvida para linguagem Python e já possui o modelo LDA implementado, necessitando definir os melhores parâmetros para obter o melhor resultado possível.

Definindo os parâmetros com eta e alpha recebendo ‘auto’, ou seja, o modelo aprende de forma assimétrica o melhor valor diante da base de dados apresentadas, com iterações igual a 200 e com número de tópicos igual a 10.

Com parâmetros definidos, rodamos o modelo LDA e obtemos um resultado de pontuação de coerência de linha de base igual a 0.3738.

(16)

4. RESULTADOS

Com a execução do modelo de LDA utilizando a base de dados deste artigo, obtemos os resultados dos tópicos mais relevantes para cada linha na base de dados processada. Na Figura 6, podemos ver qual tópico representa melhor cada mensagem, onde as linhas são as mensagens e as colunas são os tópicos.

Figura 6 – As 5 primeiras do dataframe gerado pelo modelo.

Na Figura 7, temos uma visualização das palavras mais relevantes por tópico, ou seja, quanto maior o tamanho da palavra na imagem maior sua representatividade no tópico.

Figura 7 – Palavras mais relevantes por tópico.

Para uma análise visual dos tópicos, utilizamos uma biblioteca chamada pyLDAvis. Através desta biblioteca, podemos analisar também quais tópicos de aproximam e quais tópicos mais se distanciam. As figuras abaixo ilustram os resultados nos tópicos, ou seja, cada figura abaixo ilustra o resultado para cada tópico e mostra as palavras mais relevantes por ordem de relevância e faz um comparativo da frequência da palavra do tópico analisado em relação aos demais tópicos.

(17)

Figura 8 – Análise do tópico 1 através do pyLDAvis.

(18)

Figura 10 – Análise do tópico 3 através do pyLDAvis.

(19)

Figura 12 – Análise do tópico 5 através do pyLDAvis.

(20)

Figura 14 – Análise do tópico 7 através do pyLDAvis.

(21)

Figura 16 – Análise do tópico 9 através do pyLDAvis.

Figura 17 – Análise do tópico 10 através do pyLDAvis.

Portanto, conseguimos encontrar tópicos que representam um conjunto de mensagens, facilitando também a identificação de mensagens similares enviadas ao longo do tempo analisado.

Aproveitando a mesma base utilizada no modelo LDA, fizemos também uma análise de comportamento do envio das mensagens, ou seja, identificamos a

(22)

frequência em que as mensagens eram enviadas. Na Figura 18, podemos ver uma análise da quantidade de mensagens enviadas por dia.

Figura 18 – Quantidade de mensagens por dia.

Na Figura 19, podemos ver a distribuição de quantidade de mensagens enviadas por mês/ano distribuída pela plataforma de envio. Neste gráfico, conseguimos observar que os envios são feitos majoritariamente utilizando o aplicativo da rede social através do iPhone.

(23)

5. CONCLUSÕES E TRABALHOS FUTUROS

Neste artigo, trouxemos uma análise dos resultados obtidos através do uso de processamento de linguagem natural (NLP) utilizando o modelo LDA para identificar possíveis similaridades entre mensagens enviadas pelo perfil do Donald Trump utilizando a rede social Twitter.

As mensagens enviadas pela plataforma foram extraídas e condensadas em um conjunto de dados que foi submetido a um pré-processamento e depois submetido ao modelo de LDA.

Com o resultado obtido através do modelo e realizando uma visualização dos dados, conseguimos criar uma “nuvem” de palavras que possuíam maior relevância em cada tópico. Com o uso da biblioteca pyLDAvis, conseguimos também visualizar que alguns tópicos existiam algumas correlações enquanto outros estavam bem distantes de todos.

Por fim, foi feita uma analise de comportamento do usuário, identificando a quantidade de mensagens que foram enviadas por dia ao longo do intervalo de tempo analisado e também a quantidade de mensagens enviadas por mês/ano associada a plataforma de envio.

Concluímos então que os objetivos propostos inicialmente no trabalho foram alcançados com sucesso.

Para trabalhos futuros, queremos continuar com este tipo de analise utilizando outros perfis de pessoas publicas e de grande importância com o uso da rede social Twitter e ampliar também o estudo para outros tipos de analise utilizando o modelo LDA.

(24)

REFERÊNCIAS BIBLIOGRÁFICAS

1. Covington, M. NLP for Prolog Programmers, Prentice-Hall, 1994.

2. Bansal, Abhay, et al. "Breaking a Visual CAPTCHA: A Novel Approach using HMM." (2008). 3. Gimpel, Kevin, et al. Part-of-speech tagging for twitter: Annotation, features, and experiments.

Carnegie-Mellon Univ Pittsburgh Pa School of Computer Science, 2010.

4. Eisenstein, Jacob, and Regina Barzilay. "Bayesian unsupervised topic segmentation." Proceedings of the 2008 Conference on Empirical Methods in Natural Language Processing. 2008.

5. Salton, Gerard, et al. "Automatic text decomposition using text segments and text themes." Proceedings of the the seventh ACM conference on Hypertext. 1996.

6. Wang, Hongning, Duo Zhang, and ChengXiang Zhai. "Structural topic model for latent topical structure analysis." Proceedings of the 49th Annual Meeting of the Association for Computational Linguistics: Human Language Technologies. 2011.

7. Vijayarani, S., and R. Janani. "Text mining: open source tokenization tools-an analysis." Advanced Computational Intelligence: An International Journal (ACII) 3.1 (2016): 37-47. 8. Greene D. “Topic Modelling with Scikit-learn”

9. Sumathy, K. L., and M. Chidambaram. "Text mining: concepts, applications, tools and issues-an overview." International Journal of Computer Applications 80.4 (2013).

10. Lienou, Marie, Henri Maitre, and Mihai Datcu. "Semantic annotation of satellite images using latent Dirichlet allocation." IEEE Geoscience and Remote Sensing Letters 7.1 (2009): 28-32.

Referências

Documentos relacionados

Para avaliação do estado imunológico da população em estudo, foram colhidas amostras de soro sanguíneo de 133 aves e submetidas a provas sorológicas como a Reação

A dinâmica social exige da escola um serviço educativo com qualidade, que responda aos seus desafios e que se antecipe pró-ativamente na resposta às suas problemáticas. A

Ao longo deste trabalho, analisamos como os profissionais da Escola Estadual Normandia, localizada na cidade de Cruzeiro do Sul, no Acre, promovem seus processos

O desafio de implantar uma política educacional, cuja missão consiste em “integrar a formação escolar de nível médio com uma habilitação profissional técnica

É importante destacar também que, a formação que se propõem deve ir além da capacitação dos professores para o uso dos LIs (ainda que essa etapa.. seja necessária),

Na apropriação do PROEB em três anos consecutivos na Escola Estadual JF, foi possível notar que o trabalho ora realizado naquele local foi mais voltado à

Instituto de Ensino Superior e Pesquisa Campus da UEMG – Universidade do Estado de Minas Gerais , no município de Divinópolis; objetivando identificar o perfil

MECANISMOS E INCENTIVOS FINANCEIROS AO MFS LINHAS DE FINANCIAMENTO FOMENTO FLORESTAL FUNDOS de APOIO à CONSERVAÇÃO INSTRUMENTOS LEGAIS MECANISMOS FINANCEIROS DIVERSOS E