• Nenhum resultado encontrado

KELVIN RAMIRES CAPOBIANCO AVALIAÇÃO DA ETAPA DE PRÉ-PROCESSAMENTO NA MINERAÇÃO DE TEXTO EM REDES SOCIAIS DIGITAIS

N/A
N/A
Protected

Academic year: 2021

Share "KELVIN RAMIRES CAPOBIANCO AVALIAÇÃO DA ETAPA DE PRÉ-PROCESSAMENTO NA MINERAÇÃO DE TEXTO EM REDES SOCIAIS DIGITAIS"

Copied!
57
0
0

Texto

(1)

KELVIN RAMIRES CAPOBIANCO

AVALIAÇÃO DA ETAPA DE PRÉ-PROCESSAMENTO NA

MINERAÇÃO DE TEXTO EM REDES SOCIAIS DIGITAIS

LONDRINA–PR 2016

(2)
(3)

KELVIN RAMIRES CAPOBIANCO

AVALIAÇÃO DA ETAPA DE PRÉ-PROCESSAMENTO NA

MINERAÇÃO DE TEXTO EM REDES SOCIAIS DIGITAIS

Trabalho de Conclusão de Curso apresentado ao curso de Bacharelado em Ciência da Com-putação da Universidade Estadual de Lon-drina para obtenção do título de Bacharel em Ciência da Computação.

Orientador: Prof. Dr. Sylvio Barbon Júnior

LONDRINA–PR 2016

(4)

Kelvin Ramires Capobianco

Avaliação da etapa de pré-processamento na Mineração de Texto em Redes Sociais Digitais/ Kelvin Ramires Capobianco. – Londrina–PR,

2016-55p. : il. (algumas color.) ; 30 cm.

Orientador: Prof. Dr. Sylvio Barbon Júnior – Universidade Estadual de Londrina, 2016.

1. Pré-Processamento. 2. Redes Sociais Digitais. 3. Mineração de Texto. 4. Análise de Sentimento. I. Prof. Dr. Sylvio Barbon Júnior. II. Universidade Estadual de Londrina. IV. Avaliação da etapa de pré-processamento na Mineração de Texto em Redes Sociais Digitais.

(5)

KELVIN RAMIRES CAPOBIANCO

AVALIAÇÃO DA ETAPA DE PRÉ-PROCESSAMENTO NA

MINERAÇÃO DE TEXTO EM REDES SOCIAIS DIGITAIS

Trabalho de Conclusão de Curso apresentado ao curso de Bacharelado em Ciência da Com-putação da Universidade Estadual de Lon-drina para obtenção do título de Bacharel em Ciência da Computação.

BANCA EXAMINADORA

Prof. Dr. Sylvio Barbon Júnior Universidade Estadual de Londrina

Orientador

Prof. Dr. Daniel dos Santos Kaster Universidade Estadual de Londrina

Prof. Ms. Helen Cristina de M. Senefonte Universidade Estadual de Londrina

(6)
(7)
(8)
(9)

AGRADECIMENTOS

Em primeiro lugar agradeço aos meus pais por tudo que fazem por mim. Seja pela oportunidade de estudar fora de casa, pelo carinho, atenção, apoio e, até mesmo, pela desconfiança em certos pontos. Não foi muito fácil, mas sei que sempre acreditaram e acreditarão em mim.

À minha namorada, Isabella, nem todas as palavras do mundo expressariam a minha gratidão, você me encontrou perdido e me conduziu a ser uma pessoa melhor. Obrigado por tudo, inclusive por ser extremamente teimosa e cabeça dura, você torna tudo mais simples e amável.

Agradeço aos amigos de longa data, em especial ao Lucas Felix, e agradeço também a novos amigos, que se tornaram parte essencial da minha graduação, em especial ao Douglas "Bola". Aos meus bichinhos, Sopa, Papi, Batata e Slava, que nunca me deixaram desanimar e mesmo que alguns já tenham partido, ainda guardo um carinho especial por cada um deles.

Ao meu orientador Prof. Dr. Sylvio por ser um grande exemplo, tanto na área acadêmica quanto fora dela, obrigado por todo conhecimento, ajuda e paciência e que continue sendo o melhor professor que já conheci. Em tempo, agradeço a todos os pro-fessores e funcionários do Departamento de Computação e a todos os alunos do grupo REMID.

(10)
(11)

"Do monstro que se constrói com ódio e rancor, a cada gota de bondade uma de maldade se dissipou. Várias fitas... Eis uma definição pra vida." (Criolo)

(12)
(13)

CAPOBIANCO, K.R.. Avaliação da etapa de pré-processamento na Mineração de Texto em Redes Sociais Digitais. 55 p. Trabalho de Conclusão de Curso (Bacharelado em Ciência da Computação) – Universidade Estadual de Londrina, Londrina–PR, 2016.

RESUMO

Com o sucesso em popularidade e volume de dados de fácil acesso, as Redes Sociais Digitais, como o Twitter, são alvos de diversos mecanismos de avaliação de conteúdo para a extração de conhecimento, tais como a Análise de Sentimento. Assim, este trabalho tem como objetivo apresentar um modelo que comprove a importância da fase de pré-processamento e que para dada aplicação existe uma forma de realizar esta fase e obter melhores resultados. Os resultados procuram apresentar uma importante contribuição do modelo e estímulo para mais estudos na área.

Palavras-chave: Mineração de Texto. Redes Sociais Digitais. Stemming. Ruído. Pré-processamento

(14)
(15)

CAPOBIANCO, K.R.. Evaluation of preprocessing techniques on digital social networks. 55 p. Final Project (Bachelor of Science in Computer Science) – State Uni-versity of Londrina, Londrina–PR, 2016.

ABSTRACT

With the success in popularity and volume of data easily accessible, the Digital Social Networks like Twitter, are subject to various evaluation mechanisms of content for knowl-edge extraction, as such as sentiment analysis. This assay aims to present a model to prove the importance of preprocessing techniques and also show that for a kind of appli-cation there is a way to perform it and get better results. The results seek to present an important contribution model and stimulus for further studies in the area.

(16)
(17)

LISTA DE ILUSTRAÇÕES

Figura 1 – As etapas da Mineração de Texto . . . 28

Figura 2 – As etapas da Mineração de Opinião e AS. . . 32

Figura 3 – Exemplo de Word Cloud. . . . 35

Figura 4 – Especificação da metodologia. . . 39

Figura 5 – Síntese dos experimentos. . . 43

Figura 6 – Wordcloud para K1. . . . 48

Figura 7 – Wordcloud para K2 . . . 48

Figura 8 – Worcloud para K3. . . . 49

(18)
(19)

LISTA DE TABELAS

Tabela 1 – Lista de Stopwords . . . 42

Tabela 2 – Cálculo da acurácia para a classe de experimentos N. . . 45

Tabela 3 – Exemplos de tweets com pontuação exagerada. . . . 46

Tabela 4 – Resultados em K1. . . 47

Tabela 5 – Resultados em K2. . . 47

Tabela 6 – Resultados em K3. . . 49

(20)
(21)

LISTA DE ABREVIATURAS E SIGLAS

MT Mineração de Texto AS Análise de Sentimento

PLN Processamento de Linguagem Natural RSD Redes Sociais Digitais

TF Term Frequency

IDF Inverse Document Frequency

(22)
(23)

SUMÁRIO

1 INTRODUÇÃO . . . . 23 1.1 Objetivos . . . 24 1.2 Organização do Trabalho . . . 25 2 FUNDAMENTAÇÃO TEÓRICA . . . . 27 2.1 Conceitos . . . 27 2.1.1 Mineração de Texto . . . 27 2.1.2 Pré-processamento . . . 29 2.1.3 Stopwords . . . 29 2.1.4 Stemming . . . 30 2.1.5 TF-IDF . . . 30 2.1.6 Análise de Sentimento . . . 31 2.1.7 Cognitive-based Polarity Identification - CBPI . . . 33 2.1.8 Nuvens de Palavras . . . 34 2.2 Trabalhos Correlatos . . . 35 2.2.1 Mineração de Texto em Redes Sociais Digitais . . . 35 2.2.2 Análise de Sentimento e polarização . . . 36 2.2.3 Pré-processamento, Stemming e remoção de ruído . . . 36

3 MATERIAIS E MÉTODOS . . . . 39 3.1 Descrição de Metodologia . . . 39 3.1.1 A Base de Dados . . . 39 3.1.2 Pré-processamento . . . 40 3.1.3 A Aplicação . . . 41 3.1.4 Experimentos . . . 41 3.1.4.1 Experimento N . . . 42 3.1.4.2 Experimento K . . . 43

3.1.5 Análise dos Resultados . . . 43

4 RESULTADOS E DISCUSSÃO . . . . 45 4.0.6 Experimentos N . . . 45 4.0.7 Experimentos K . . . 46

5 CONCLUSÃO. . . . 51

(24)
(25)

23

1 INTRODUÇÃO

Redes Sociais Digitais (RSD) são aplicativos com a capacidade de conectar pessoas e organizações com afinidades por diferentes tipos de relações. Neste tipo de ambiente é possível tanto compartilhar como procurar por qualquer tipo de informação. O crescimento e sucesso desse tipo de aplicativo está diretamente ligado ao avanço da Internet.

Twitter, Facebook e Instagram são alguns exemplos de softwares sociais que

atingi-ram grau elevado de sucesso. Entre eles, o Twitter se destaca pela quantidade de usuários e a velocidade com que eles aumentam. Em 2013, o mesmo apresentava cerca de 200 mi-lhões de usuários [1] e atualmente apresenta por volta de 500 milhões, sendo o Brasil o segundo colocado em número de perfis1. Outro ponto de destaque é seu método de

fun-cionamento, que pode ser nomeado de microblogging, pois usuários compartilham breves textos (a quantidade máxima permitida é de 140 caracteres), que são acessíveis a qualquer outro que deseje receber informações sobre tal perfil ou procure pelo assunto abordado.

Mídias sociais geram uma grande quantidade de dados, e estes podem ser mani-pulados e analisados a fim de compreender um pouco mais sobre sentimento, forma de escrita, opiniões e marketing. Considerando a relevância destas informações, faz-se ne-cessária a utilização de uma forma de obtê-las de forma automatizada e quantificada, como a Mineração de Texto (MT) em conjunto com Análise de Sentimento. A Análise de Sentimento (AS) busca determinar, a partir de uma opinião, um sentimento, seja ele em relação a uma pessoa, serviço, produto ou mesmo outra opinião, e é determinado de acordo com a polaridade (positiva ou negativa) da informação analisada.

Em AS é comum encontrar trabalhos que procuram utilizar as técnicas para clas-sificar sentimentos do cotidiano e em RSD os usuários tendem a compartilhar cada vez mais sobre o seu dia a dia. Em [2] busca-se utilizar AS em conjunto com o Twitter para avaliar qual o potencial de informação que esta rede possui. O estudo mostra que mais de 85% dos tweets que são criados estão de alguma forma relacionados a reportagens da televisão ou notícias divulgadas pela mídia. Devido ao compartilhamento em tempo real que a ferramenta fornece, é possível então classificar o sentimento de um usuário no momento em que ele recebe a notícia, seja ela de qualquer tipo de mídia, portanto, este tende a compartilhar suas emoções sem que outros fatores o influenciem, o que intensifica o sentimento expressado [3].

De acordo com [4] a forma que as pessoas pensam sempre foi objeto de grande interesse. Como as plataformas sociais fornecem grande quantidade de dados subjetivos, quantificando opiniões e sentimentos, o estudo mostra que cada vez mais a quantidade de

1

(26)

24

trabalhos que procuram identificar a polaridade e classificar a emoção expressada em um texto aumentarão.

A Mineração de Texto é a área relacionada ao estudo de grandes volumes de texto. Sua importância se dá pois pode ser utilizada em áreas de estudo, tais como saúde e economia. Note que [5] procura utilizar a MT para automaticamente classificar páginas

web que falam sobre saúde, posto que com o crescimento da rede, é comum surgirem sites

falsos que visam enganar um usuário. Em conjunto com a grande quantidade de usuários do Twitter e a frequência em que o site é utilizado, é possível perceber que a MT pode reconhecer diversos fatos importantes como desastres naturais, características de usuários e marketing em geral [6, 7, 8].

Desta forma, a quantidade de texto gerada pelas RSD se mostra adequada à uti-lização destas técnicas, porém, a informalidade linguística apresentada nas mesmas pode gerar graves problemas nas análises. Dentre eles está o ruído, que prejudica a utilização de algoritmos de indexação de texto para classificar a relevância das palavras, e o sarcasmo e ironia, que dificultam a polarização das opiniões gerando resultados não esperados. Existem diversas formas de tentar eliminar o ruído, como a utilização do stemming ou a remoção das stopwords, porém, é necessário ressaltar que o ruído de uma aplicação para a outra pode mudar.

Dentre os passos da MT, a fase de pré-processamento apresenta diversidade ele-vada de abordagens, pois existem diferentes técnicas e formas de alcançar o objetivo desta fase, que é transformar a base de dados obtida em uma representação numérica. É pos-sível separar cada um dos termos, calcular a frequência, eliminar o que não é relevante, trabalhar palavras que apresentem o mesmo radical, eliminar sufixos e afixos e outras diversas técnicas, tornando a etapa de pré-processamento uma das mais difíceis e mais importantes.

1.1

Objetivos

O objetivo principal deste trabalho foi validar a importância da fase de pré-processamento em aplicações de MT nas RSD. Desta forma, procurou mostrar que a ideia principal desta etapa não é modificar semanticamente a base de dados, mas sim destacar a relevância dos termos, assim como diminuir o número dos que são ditos des-necessários e muitas vezes ambíguos. Por consequência, este trabalho procurou mostrar também que ao remover o ruído gerado é possível melhorar o desempenho da aplicação escolhida, assim como melhorar os resultados obtidos pelos algoritmos de indexação de texto, dada a compactação da base de dados.

(27)

25

1.2

Organização do Trabalho

O capítulo 2 apresenta a fundamentação teórica, que visa dar o entendimento de conceitos necessários para compreensão deste trabalho, assim como apresentar a gama de trabalhos relacionados ao que está sendo proposto.

O capítulo 3 mostra cada etapa do modelo, como a obtenção dos dados, a aplicação que foi utilizada como base, a maneira como foram realizados os experimentos e como foi tratada a análise dos resultados.

O capítulo 4 apresenta as tabelas de resultados, as nuvens de palavras e as discus-sões sobre o que foi alcançado. O capítulo 5 apresenta a conclusão deste trabalho, assim como sugestões do que poderia ser feito em trabalhos futuros.

(28)
(29)

27

2 FUNDAMENTAÇÃO TEÓRICA

2.1

Conceitos

2.1.1 Mineração de Texto

Uma abordagem na área de PLN (Processamento de Linguagem Natural) que merece destaque é a Mineração de Texto. Esta pode ser definida como um conjunto de técnicas para obtenção de informações significativas a partir de um texto, sendo ele não estruturado ou semi-estruturado [9]. Apesar de serem comumente utilizadas em textos literários, livros ou em ambientes com elevado nível de formalidade, atualmente estas também estão sendo empregadas em Redes Sociais Digitais. O presente trabalho deu enfoque neste uso.

A MT pode ser compreendida como um processo que visa descobrir informações em grande quantidade de texto, por meio da identificação de padrões e relações em dados que se mostrem relevantes. Em suma, ela é caracterizada pela interação de um usuário com uma coleção de dados (neste caso, texto) ao longo do tempo, por meio de um conjunto de ferramentas de análise [10]. As aplicações que fazem uso destas técnicas seguem as seguintes etapas: aquisição, pré-processamento, indexação ou transformação, mineração de dados e avaliação.

Dado os trabalhos [11] e [12] as etapas da MT podem ser descritas da seguinte maneira:

∙ Aquisição: É a etapa onde será coletada a base de dados, assim como todos os dados necessários para a aplicação. Por fim, ocorre a junção da base com os dados adicionais.

∙ Pré-processamento: A etapa de pré-processamento visa preparar o dado para que o mesmo esteja apto a passar pelas próximas etapas. É nesta etapa que ocorre a separação dos termos, a limpeza, a transformação do texto em seu referencial nu-mérico e o cálculo da frequência de termos. Esta etapa será vista com mais detalhes na sub-seção abaixo.

∙ Transformação: Na etapa de transformação ocorre a seleção e extração de atributos, visando gerar a melhor representação dos dados, e também é a etapa de indexação, onde os dados serão agrupados em índices, o que irá facilitar a identificação de ca-racterísticas, o acesso e a recuperação de determinado atributo para um documento. ∙ Mineração dos Dados: Também conhecida como etapa de classificação, onde serão aplicados os algoritmos de mineração de dados, que podem ser dos seguintes tipos:

(30)

28

de classificação, regressão, segmentação, associação e análise. A escolha do tipo do algoritmo se dá de acordo com a necessidade da aplicação.

∙ Avaliação e Interpretação: É a fase onde o modelo será avaliado a fim de consta-tar que o mesmo é eficaz. A primeira parte é dada pela avaliação do algoritmo de Mineração de Dados escolhido. Esta é feita por medidas estatísticas, precisão e confiabilidade[13]. A precisão verifica se o algoritmo é correto o suficiente para con-tinuar sendo executado, já a confiabilidade vai analisar qual o nível de sucesso que o algoritmo obteve em relação ao seu conjunto de treinamento. Se esses parâmetros não forem satisfeitos é necessário então voltar às etapas anteriores a fim de descobrir o problema.

A Figura 1 mostra cada uma das etapas da Mineração de Texto [11]

(31)

29

2.1.2 Pré-processamento

Em aplicações que utilizam MT, a primeira etapa a ser realizada após a aquisição da base de dados é a de pré-processamento, que consiste em trabalhar a grande quantidade de texto obtida para que este se torne mais adequado e gere melhores resultados após a aplicação.

Embora não necessariamente siga uma regra, a fase de pré-processamento geral-mente é dada pela decomposição do texto em termos e suas frequências. Os termos que são menos significativos podem ser descartados, assim como os que apresentam frequência elevada podem ser desvalorizados. Após o pré-processamento o resultado obtido é cha-mado de Bag of Words, o que denota uma representação numérica do texto bruto obtido [10].

Toda aplicação que utilize MT necessita de uma base de dados, e ao obtê-la a quantidade bruta destas palavras é chamada de corpus, incluindo repetições. A quantidade total, retirando as repetições, é chamada de léxico. A etapa de pré-processamento interage com o corpus de um texto visando transformá-lo, a fim de efetivar a obtenção do léxico. Estas transformações podem ser dadas de acordo com a aplicação, porém existem algumas operações padrões como a remoção de stopwords e o stemming.

Em bases de dados é comum que na parte do corpus haja texto indesejado, que pode ser chamado de ruído. De uma forma geral, o ruído pode ser compreendido como tudo que interfere de forma negativa na interpretação da informação [14]. Uma etapa de pré-processamento bem realizada pode diminuir a ação do ruído na etapa de classificação e avaliação. Em RSD a quantidade de ruído gerada é aumentada de acordo com a infor-malidade linguística, que é característica nestas redes. Nota-se que é comum encontrar erros de escrita, palavras abreviadas e emoticons (junção de caracteres para expressar um sentimento), o que em diversas aplicações passa a ser considerado como ruído.

Ainda na fase de pré-processamento os termos serão contados de acordo com sua ocorrência no texto, para que após seja feito o cálculo da frequência de cada um. Este cálculo é realizado por meio de algoritmos de indexação de texto, tais como: Term

Fre-quency–Inverse Document Frequency (TF-IDF) e Latent Semantic Indexing (LSI).

2.1.3 Stopwords

As stopwords podem ser definidas como palavras a serem evitadas, portanto deve-rão ser eliminadas na etapa de pré-processamento [10]. É comum encontrar em listas de

stopwords grande quantidade de preposições e conjunções, visto que elas aparecem com

grande frequência em textos porém não apresentam grande relevância. Em contrapartida, apesar de também apresentarem grande frequência, os artigos possuem um maior grau de relevância, sendo de grande importância em aplicações que analisam sentimento, dessa

(32)

30

forma podem ser poupados destas listas. Além disso, é comum a remoção de pontuação, caracteres especiais e links para páginas na Internet em conjunto.

Apesar da existência de listas de stopwords padrões, as mesmas podem ser definidas de acordo com a aplicação. Nota-se que para cada problema existe uma melhor forma de lidar com estas palavras, por exemplo, uma palavra pode ser irrelevante ao problema 1, o que a definiria como stopword, porém extremamente necessária ao 2. Desta forma, uma das melhores formas de abordagem é definir e gerar uma lista de stopwords de acordo com a aplicação a ser implementada.

2.1.4 Stemming

Uma das formas de tentar solucionar o problema do ruído é utilizar uma técnica chamada Stemming, que consiste em representar as diferentes formas de uma palavra em um radical, por exemplo, as palavras “conectando” e “conectado” poderiam ser represen-tadas na palavra raiz “conectar” [15].

Ao realizar essa transformação a quantidade de palavras no léxico tende a se tornar menor, visto que as mesmas estão sendo agrupadas no seu radical comum. Sendo assim, esta é uma das mais conhecidas técnicas de redução da quantidade léxica. Esta redução facilita, por exemplo, o trabalho dos algoritmos de indexação, pois como os termos estão agrupados não é necessário calcular a frequência de termos parecidos diversas vezes, e além disso, a frequência dos termos relevantes aumenta. É comum ser realizada antes a técnica de tokenização, que visa separar o documento em termos, geralmente buscando os espaços em branco, as quebras de linha ou pontuações para realizar a separação. O resultado da mesma facilita a utilização do algoritmo de stemming.

Entre outras formas de reduzir termos existe o método n-gram, onde sequência de letras são agrupadas seguindo uma ordem, seja elas de uma em uma, duas em duas ou n em n [16].

2.1.5 TF-IDF

Por se tratar de um algoritmo de indexação de texto, o TF-IDF (Term Frequency

Inverse Document Frequency) procura por meio da realização de alguns cálculos

demons-trar a relevância de cada palavra em relação ao texto (ou coleção de textos) que ela pertence.

Este algoritmo é utilizado na etapa de pré-processamento, especificamente na fase de ranqueamento dos termos. Sendo assim, o TF-IDF será influenciado diretamente pela quantidade de vezes que uma palavra é encontrada no texto, ou seja, sua frequência. Todavia, para equilibrar este número o algoritmo leva em consideração a frequência do termo no corpus [17, 18].

(33)

31

Esta técnica é separada em duas fases, a primeira é dada pelo cálculo da frequência do termo (TF ou Term Frequency) e em seguida o cálculo da frequência inversa (IDF ou

Inverse Document Frequency). Temos então as equações:

𝑡𝑓 = 𝑓 𝑤(𝑡, 𝑑) (2.1)

𝑖𝑑𝑓 = log 𝑁

𝑓 𝑑(𝑡) (2.2)

𝑇 𝐹 𝐼𝐷𝐹 = 𝑡𝑓 · 𝑖𝑑𝑓 (2.3)

∙ O cálculo do TF será dado pela Equação2.1, onde 𝑓 𝑤 é compreendida pela frequên-cia do termo 𝑡 no documento (texto) 𝑑;

∙ O cálculo do IDF será dado pela Equação 2.2, onde 𝑖𝑑𝑓 é o logaritmo do total de documentos 𝑁 dividido pela frequência do documento 𝑓 𝑑 onde o termo 𝑡 é encontrado;

∙ Por fim, o cálculo do TF-IDF será dado pela Equação 2.3.

Analisando o cálculo do IDF, quando o número de documentos que apresenta-rem um termo 𝑡 for igual ou tender ao número de documentos no total, o valor será aproximadamente 1. Desta forma, o resultado final do TF-IDF será um número muito pequeno, logo, representa um termo comum, contudo este termo ainda possui um grau de importância [18].

Visto que o algoritmo foi desenvolvido para trabalhar com textos formais [17], utilizá-lo em RSD é um grande desafio. Especificamente falando do Twitter, cada postagem na rede possui apenas 140 caracteres e desta forma ao aplicar um algoritmo de indexação o seu resultado será prejudicado, ou até mesmo não apresentará resultado satisfatório pela baixa quantidade de palavras. Portanto, para trabalhar estes algoritmos é necessário uma técnica de agrupamento das postagens. Entre algumas formas, é possível agrupar diversos tweets sobre um assunto em comum, formando uma coleção de textos, e também é possível agrupá-los pela sua localização ou tempo em que foi postado (dia, mês ou ano).

2.1.6 Análise de Sentimento

A Análise de Sentimento, assim como a Mineração de Opinião, é uma área do PNL auxiliada pelo aprendizado de máquina (Machine Learning) e é um importante método para a recuperação da informação, relacionada ao estudo e compreensão do significado, opinião, teor do humor e o sentimento que um texto procura mostrar. Este tipo de estudo

(34)

32

pode ser aplicado em, basicamente, qualquer forma de documento escrito, basta conter uma das características citadas e alguém (algo) para qual o texto seja endereçado [19].

A Figura 2 mostra cada uma das etapas da Mineração de Opinião e AS [20], é possível perceber que algumas etapas se assemelham as etapas da MT. Dado uma coleção de textos, de acordo com a aplicação é selecionada e criada uma base de dados, em seguida ela é submetida ao processo de identificação. Este consiste em encontrar os tópicos existentes em um texto, identificar as entidades e os aspectos e associá-los com o restante do conteúdo subjetivo [20].

Figura 2 – As etapas da Mineração de Opinião e AS [20].

Uma das formas de classificar o sentimento refletido em um texto é o cálculo da polaridade, que está relacionado à fase de classificação, como visto na figura2. Geralmente este tipo de abordagem procura separar por meio de duas classes (positiva ou negativa) o sentimento (opinião) relacionado à sentença [21]. Embora a classificação binária seja a mais encontrada nos trabalhos na área, existe ainda uma abordagem que procura adicionar a classe neutra, onde não é possível detectar o sentimento do texto ou que de fato não há sentimento a ser analisado. A polaridade muitas vezes vem associada à necessidade de utilização de técnicas de pré-processamento, como a remoção de stopwords, o n-gram e eliminação de termos irrelevantes [20].

Entre as formas de realizar estes cálculos estão as aplicações que são baseadas em léxico, aprendizado de máquina ou em modelos estatísticos.

Os modelos baseados em um dicionário também podem ser conhecidos como mo-delos léxicos. O dicionário consiste de uma série de palavras e seus respectivos pesos, em seguida uma palavra será comparada ao seu equivalente no dicionário e assim será

(35)

33

estabelecido o peso a ela, por exemplo, se procurarmos classificar o sentimento da pala-vra felicidade, ao procurarmos no dicionário a ela estará associado o peso 1 (que denota um sentimento positivo), portanto será atribuída a polaridade positiva. Ao analisar uma sequência de texto, tal como um tweet, o cálculo da polaridade será dado pela média dos sentimentos das palavras encontradas. Um exemplo de léxico de destaque é o

SentiWord-Net [22];

Já os modelos baseados em aprendizado de máquina, procuram por meio do apren-dizado supervisionado classificar automaticamente a polaridade, desta forma a base de dados é previamente rotulada e cabe aos algoritmos prever a polaridade de novas entradas. Umas das maneiras de aplicar esta ideia é utilizando redes neurais artificiais e utilizar o cálculo da acurácia para validar o modelo [20].

Por fim existe a abordagem baseada em modelos estatísticos, que por outro lado utiliza o aprendizado não-supervisionado e parte do principio que as palavras que deter-minam uma opinião tendem a aparecer em conjunto. Por assim dizer, se ao analisar a ocorrência de uma palavra e ela estiver, em sua maioria, acompanhada de palavras com polaridade positiva a técnica então assume que a polaridade para esta palavra também é positiva. Este tipo de método pode ser visto na técnica Pointwise Mutual Information [23]. Contudo, é preciso considerar que algumas vezes o significado real do texto não é o que aparenta, como nos casos das ironias ou sarcasmos e muitas vezes apenas a análise do contexto pode determinar de fato o sentimento, o que prejudica o funcionamento destas abordagens.

A última etapa de uma aplicação de AS é a sumarização, onde é necessário criar métricas para representar o sentimento geral do documento analisado e possibilitar a visualização do resultado final por meio de listas de adjacência ou por meio de diversos tipos gráficos. Também é possível voltar a utilizar os algoritmos baseados em redes neurais para de acordo com a precisão e acurácia validar o que foi proposto.

Como as RSD procuram habilitar que seus usuários possam expor suas opiniões de forma livre e acessível, tornam-se então alvo para estas técnicas.

2.1.7 Cognitive-based Polarity Identification - CBPI

Dentre algumas aplicações para AS, o chamado CBPI merece destaque pelo seu modelo de funcionamento e estabilidade [24]. A abordagem busca utilizar a linha do aprendizado de máquina como método da classificação da polaridade.

Em [24] é especificado que o CBPI parte da premissa da simplicidade, utilizando um classificador estatístico, que recebe o nome de Naive Bayes (NB), em conjunto com o cálculo do TF-IPF (Term Frequency Inverse Polarity Frequency) para realizar a extração de características. Além disso, a base de dados em questão é separada a fim de gerar três

(36)

34

classe de postagens (ou texto), sendo elas a classe positiva, a negativa e a neutra.

𝑇 𝐹 𝐼𝑃 𝐹 = 𝑡𝑓 · 𝑖𝑝𝑓 (2.4)

O método TF-IPF é dado como uma adaptação ao TF-IDF, sendo assim a forma de realizar o cálculo é muito parecida, como visto na Equação2.4. Em contrapartida, este utiliza a frequência do termo no cálculo da polaridade como TF e passa a avaliar o quanto este termo é importante para a obtenção da polaridade como o IPF. Por fim, o agrupa-mento destes resultados será submetido a um limiar, ao apresentarem um valor maior que o limiar estabelecido serão definidos como valores modelo, e ainda serão associados, para cada termo, a sua polaridade.

𝑝(𝑐𝑖|𝑓1, 𝑓2, .., 𝑓𝑚) = 1 𝐴𝑝(𝑐𝑖) 𝑚 ∏︁ 𝑘=1 𝑝(𝑓𝑘|𝑐𝑖) (2.5)

A partir de um modelo de probabilidade, o papel do classificador NB é prever a polaridade

𝑖 de um termo 𝑡 qualquer em uma classe de documentos 𝐷, como visto na Equação 2.5. Estes documentos são representados pelos valores modelo 𝑚 e por 𝑓𝑘 (onde 𝑘 representa a

quantidade de elementos 𝑚). O valor 𝐴 é dado por um fator de normalização, já 𝑝(𝑓𝑘|𝑐𝑖)

é dito como a probabilidade de uma valor modelo pertencer a uma classe 𝑐𝑖. Por fim, o

NB irá retornar o resultado de acordo com a maior probabilidade obtida.

2.1.8 Nuvens de Palavras

As chamadas nuvens de palavras, também conhecidas pelo seu termo em inglês

word clouds, são categorizadas como um recurso visual para ajudar no entendimento de

resultados.

Para gerá-las é necessário calcular a frequência das palavras, ou até mesmo utilizar algoritmos como o TF-IDF, visto que as nuvens necessitam de uma parâmetro (como exemplo a frequência ou relevância) para criar um ranking de termos.

Para entender o ranqueamento gerado basta observar como é montada uma nuvem. Se por exemplo as palavras forem ranqueadas pela frequência, as que apresentarem as maiores ocorrências serão representadas de forma destacada com um maior tamanho na nuvem.

A Figura 3 exemplifica uma nuvem de palavras. Ela foi gerada de acordo com 50 respostas em um teste para um grupo de educadores que gostaria de saber qual a melhor forma de trabalhar e aprender em conjunto [25]. Nota-se que as palavras meetings (encontros), sharing (compartilhando) e wiki (formas de enciclopédias encontradas na Internet) apresentaram a maior frequência de respostas, pois aparecem maiores e recebem destaque na nuvem.

(37)

35

Figura 3 – Exemplo de Word Cloud encontrado em [25]

2.2

Trabalhos Correlatos

2.2.1 Mineração de Texto em Redes Sociais Digitais

As RSD geram uma grande quantidade de dados e estes podem ser manipulados e analisados a fim de compreender um pouco mais sobre sentimentos, forma de escrita, opiniões e marketing. Considerando a relevância destas informações faz-se necessária a utilização de uma forma de obtê-la de forma automatizada e quantificada.

Um exemplo de RSD é o Twitter, que gera uma base de dados muito grande, podendo ser agrupada de acordo com assuntos ou eventos como a Copa do Mundo. Nota-se que é necessário trabalhar os dados obtidos a fim de evitar ruídos linguísticos, além de ser possível utilizar algoritmos de clusterização (como o k-means) para analisar os resultados obtidos [26].

Em outra abordagem procura-se mostrar como o Twitter está relacionado às gran-des marcas. Os resultados mostram o mesmo como uma ferramenta confiável para análise de marcas, porém a não remoção do ruído pode atrapalhar os resultados [27]. Em [8] as técnicas de Mineração de Texto são utilizadas para demonstrar que atualmente as empre-sas (pizzarias) necessitam entender a análise feita nos softwares sociais e transformar estes dados em vantagens para realização de marketing na Internet, uma ferramenta que cresce a cada dia e possibilita uma relação de proximidade entre a empresa e o consumidor.

Além de serem usadas para empresas e marketing em geral, estas técnicas podem ser utilizadas para resolver outros tipos de problemas. Em [7], com auxílio de tais técnicas uma forma para avaliar incidentes envolvendo incêndios naturais e relacionar atributos entre eles é desenvolvida.

(38)

36

realizam postagens automáticas, os chamados bots. O artigo [28], propõe um modelo para classificar usuários do Twitter da seguinte forma: os bots, os cyborgs que são usuários que realizam postagens comuns e automáticas e os humanos que se comportam da maneira normal esperada.

2.2.2 Análise de Sentimento e polarização

Em seus primeiros trabalhos, a Análise de Sentimento buscava determinar os sen-timentos em textos criados para avaliar um produto ou serviço (reviews). Em [29] isto é abordado com sucesso. Em contrapartida o avanço da Internet possibilitou que novas formas de debates fossem criadas, como fóruns de discussão online. Ao manifestar uma opinião nestes fóruns é comum receber diversas respostas (sendo elas positivas ou nega-tivas). Este tipo de interação é chamado de debate polarizado. Em [30] a dificuldade de realizar uma Análise de Sentimento em um debate polarizado é retratada. A postura dos participantes foi avaliada em 14 debates distintos (10 ideológicos e 4 não ideológicos) e de acordo com os resultados apenas 78,26% das postagens foram classificadas de forma correta, o que mostra que automatizar o processo de análise desse tipo de debates não é trivial.

Para resolver este problema, um modelo para Análise de Sentimento em debates polarizados foi proposto em [31]. Os padrões linguísticos, o contexto e a ocorrência são utilizados para identificar as opiniões expressas nos textos, além disso, este modelo trata dois fenômenos linguísticos: Anáfora e concessões, que podem prejudicar a análise. Cada opinião é representada por uma tripla (produto, palavra opinativa e sentença) e sua pola-ridade inicial é dada utilizando as classes gramaticais de acordo com a palavra opinativa da tripla. Este modelo foi avaliado em três experimentos (com três configurações dife-rentes). O primeiro utilizando apenas padrões linguísticos obteve taxas entre 50% e 65% de acurácia em três debates, o segundo utilizando a resolução de anáforas e concessões apresentou melhora de 10% a 12% na taxa de acurácia anterior em dois dos três testes e o terceiro agregando a análise do grafo de respostas apresentou melhora de 10% na acurácia para todos os experimentos. É possível perceber um aumento na porcentagem ao utilizar este modelo, porém o crescimento não é tão discrepante em relação ao obtido com o uso da Análise de Sentimento padrão.

2.2.3 Pré-processamento, Stemming e remoção de ruído

Ao que se relaciona a stemming, Shrma et. al. [15] apresenta um estudo compara-tivo entre as técnicas e principais algoritmos, procurando mostrar a eficiência de métodos como a remoção de afixos e a variedade de sucessores em relação a técnica de n-gram, além de destacar abordagens estatísticas, gráficas e de acordo com regras. O trabalho destaca o fato da quantidade de texto que é gerada a cada dia na web e que recuperar

(39)

37

esta informação de maneira eficiente é um grande desafio. Este estudo mostra ainda que o custo computacional destas técnicas é baixo, assim como o tempo de processamento. Por fim, ao comparar as abordagens o mesmo chega à conclusão que a técnica gráfica apresenta resultados melhores em relação à estatística, tanto na língua inglesa quanto na francesa. Porém, ressalta que apesar do fato de que stemming aumenta o desempenho da recuperação da informação, ainda existem questões em aberto nessa área que precisam ser tradadas, como o tamanho da amostra a ser analisada em aplicações que utilizam gráficos e a dificuldade de implementação dos algoritmos em idiomas diferentes do inglês.

Para [32] as atividades de pré-processamento desempenham um papel vital em várias aplicações. Este trabalho utiliza três etapas, sendo elas a remoção de stopwords, o stemming e a verificação da escrita. Vale ressaltar que o autor procura mostrar os be-nefícios da verificação de escrita, tais como evitar a diminuição da acurácia com erros e economizar tempo ao não utilizar o algoritmo nestas instâncias. O trabalho busca ainda comparar a implementação padrão do algoritmo de Porter com a versão aprimorada pro-posta no artigo, visto que as técnicas tradicionais podem se tornar inadequadas com o vasto aumento de texto gerado pela web. Comumente um algoritmo de stemming lidará com alguns problemas, como a dependência do contexto e a dificuldade de avaliar se um sufixo é de fato importante ou se o mesmo deve ser removido e o modelo proposto visa lidar de forma efetiva com estes problemas. Nota-se que para a aplicação escolhida a melhor técnica foi a proposta no modelo, pois pode ser utilizada de forma dinâmica em qualquer domínio.

Já a abordagem de [33] mostra que a Análise de Sentimento em Redes Sociais Digitais está atraindo uma atenção especial, posta a quantidade de texto gerado e que os usuários tendem a falar sobre assuntos cotidianos e expressar sua opinião nestas redes. Assim, treinar um classificador com dados de um tweet (nome dado a uma postagem no twitter ), gera uma grande quantidade de ruído, sendo assim é necessário a utilização de boas técnicas de pré-processamento. Entre algumas das técnicas utilizadas estão o

stemming, a remoção de letras repetidas feita de acordo com uma implementação baseada

no modelo de n-gram, remoção de URLs (Links) e negações. Com a utilização dessas técnicas o trabalho consegue atingir 85,5% de acurácia na classificação.

De acordo com [34], foi analisada uma base de dados obtida no twitter durante a realização do jogo Brasil x Japão na Copa das Confederações em 2013. Tal estudo propõe um modelo automático para redução do ruído gerado nesta base. A proposta para redução do ruído utilizava uma modelagem em níveis: a primeira parte seria a remoção de caracteres e siglas especiais assim como as palavras que os procedem; a segunda parte seria a remoção de pontuação e stopwords, no terceiro nível a correção ortográfica e por fim as palavras são comparadas ao vocabulário de Internet e substituídas por sua grafia formal. Os experimentos foram feitos utilizando o algoritmo de indexação LSI e os resultados

(40)

38

mostram que emoticons e usuários da rede eram classificados como palavras com grande relevância, após a utilização do modelo foi verificado que ao remover estes casos as palavras com maior relevância eram de acordo com o tema.

Em [35] após realizar a etapa de tokenização, procura-se então encontrar palavras escritas em inglês casual (informal) e transformá-las para uma escrita formal. O trabalho tenta ainda comparar o modelo proposto com outros que visam realizar apenas a correção ortográfica. Os resultados mostram que a diminuição dos erros eleva em até 15% a eficácia dos classificadores. Sendo assim, conclui-se que o melhor seria utilizar a proposta do artigo em conjunto com um corretor ortográfico padrão, pois a abordagem integrada vem a ser uma forma mais eficaz do que a proposta de apenas correção.

Por fim, em [36] é mostrado o papel que o pré-processamento pode desempenhar em aplicações que visam a Análise de Sentimento. Este utiliza uma combinação de técnicas para reduzir o ruído gerado, entre elas estão a limpeza do texto online, a remoção de espaços em branco, a expansão das abreviações, o stemming, remoção de stopwords e negações. Como resultado, o mesmo mostra que a Análise de Sentimento é uma área muito importante a ser explorada, principalmente com o constante crescimento das RSD e o marketing que pode ser gerado em cima delas. Todavia estas geram uma grande quantidade de ruído, portanto a etapa de pré-processamento deve ser feita da melhor forma possível a fim de maximizar os resultados obtidos pelo classificador.

(41)

39

3 MATERIAIS E MÉTODOS

3.1

Descrição de Metodologia

A metodologia aplicada segue o que está especificado na Figura4:

Figura 4 – Especificação da metodologia.

3.1.1 A Base de Dados

Para este trabalho a RSD escolhida foi o Twitter, pois além de ser uma mídia social de conteúdo acessível a todos, na questão de base de dados esse software oferece diversas vantagens. Entre uma das vantagens, ele disponibiliza uma API (Application

Programming Interface) que é composta por algumas ferramentas e, sendo assim, facilita

a obtenção dos dados.

A API do Twitter é dividida em três componentes. A RestAPI que é responsável pela manipulação dos dados dos usuários e as conexões entre eles, que podem ser descritas como a interação de um usuário com outro (um exemplo disso é a funcionalidade "Seguir", onde um usuário recebe as postagens de outro), além de controlar o envio de mensagens. O segundo componente trata-se da SearchAPI ou API de busca, que permite que um usuário consulte algum conteúdo encontrado na base do Twitter. A última componente chama-se StreamingAPI que tem como objetivo controlar a troca de dados em tempo real [37].

(42)

40

A base de dados utilizada neste trabalho foi obtida pelo grupo REMID, utilizando a biblioteca Twitter4J [38,39] que possibilita a integração das funcionalidades da API do

Twitter com a linguagem de programação Java. O período para a obtenção dos tweets foi

a semana de natal em dezembro de 2014.

Como dito anteriormente, o mecanismo de microblogging impossibilita que cada postagem seja analisada de forma separada pela aplicação de MT ou os algoritmos de indexação de texto. Logo, é preciso agrupar as postagens e para esta base de dados os

tweets foram agrupados pelo seu termo em comum, o natal.

A base possui 8982 postagens, separadas por linhas e que foram organizadas em uma arquivo com a extensão CSV (Comma-separated values).

3.1.2 Pré-processamento

Para a fase de pré-processamento foram utilizadas as seguintes técnicas: remoção de stopwords, o stemming, remoção de caracteres especiais, pontuação e numeração.

Foram então separadas, empiricamente, em quatro grupos: ∙ Grupo 1: Nenhuma atividade de pré-processamento;

∙ Grupo 2: Stemming + remoção de Stopwords;

∙ Grupo 3: Remoção de caracteres especiais + pontuação + numeração; ∙ Grupo 4: Todas as atividades de pré-processamento;

Foi desenvolvida uma aplicação para a linguagem R [40], que visa aplicar as ati-vidades dos quatro grupos na base de dados, criando assim novas bases pré-processadas. Para a implementação foi utilizado o pacote TM (Text Mining Package). Em suma, este é um framework que auxilia a utilização das técnicas de Mineração de Texto no R [41].

O primeiro passo foi abrir a base na aplicação e transformá-la em um corpus, e como pode ser visto no Código3.1, esta transformação é necessária para poder utilizar as funções da biblioteca TM.

Código 3.1 - Exemplo de como transformar a base de dados em um corpus l i b r a r y ( tm )

MeuCorpus <− Corpus ( V e c t o r S o u r c e ( TextoDeEntrada ) )

Em seguida as etapas de pré-processamento serão realizadas. Ainda utilizando as funções da biblioteca TM foram extraídas as stopwords, a pontuação e a numeração. Foram então salvas em três novos corpus, ou seja, os três grupos que recebem atividades de pré-processamento. O Código 3.2 exemplifica como foi feita esta etapa.

(43)

41

Código 3.2 - Aplicando as etapas de pré-processamento l i b r a r y ( tm )

#Grupo2

Grupo2 <− tm_map( MeuCorpus , removeWords , s t o p w o r d s ( " p o r t u g u e s e " ) )

#Grupo3

Grupo3 <− tm_map( MeuCorpus , r e m o v e P u n c t u a t i o n ) Grupo3 <− tm_map( Grupo3 , removeNumbers )

#Grupo4

Grupo4 <− tm_map( MeuCorpus , removeWords , myStopwords ) Grupo4 <− tm_map( Grupo4 , r e m o v e P u n c t u a t i o n )

Grupo4 <− tm_map( Grupo4 , removeNumbers )

A Tabela1 mostra a lista de palavras que foram removidas. Esta lista é utilizada pelo pacote de Mineração de Texto do R e pode ser encontrada em [42]. Para realizar o

stemming foi utilizado a biblioteca SnowballC, isto pois ela foi desenvolvida pela

inicia-tiva Snowball Stemmer [43] que oferece suporte para a língua portuguesa e o Código 3.3

exemplifica como ela funciona. Por fim, cada um dos corpus foi transformado em novos arquivos CSV.

Código 3.3 - Exemplo de realização do stemming l i b r a r y ( SnowballC )

MeuStemming <− wordStem ( L i s t a D e P a l a v r a s , l a n g u a g e=" p o r t u g u e s e " )

3.1.3 A Aplicação

A aplicação escolhida para ser reproduzida neste trabalho é o CBPI, que representa os conceitos da AS. Para a reprodução foi utilizado uma implementação do grupo REMID para o sistema no software R [40], que utiliza como base o que foi apresentado em [24]. Seguindo o que foi proposto, foi utilizado um classificador NB e para o limiar dos valores modelos foi estipulado o valor de 0.5.

3.1.4 Experimentos

Como existe duas abordagens distintas para os experimentos, eles foram divididos em duas classes, N e K. Os experimentos da classe N buscavam utilizar a aplicação esco-lhida e validar se os resultados foram satisfatórios, já os da classe K não visavam utilizar a aplicação, trabalhavam em cima da base de dados e do cálculo do TF-IDF.

Abaixo segue a Figura5para sintetizar os experimentos, onde X abrange a quan-tidade de grupos e experimentos:

(44)

42

De A O Que E Do Houveram

Da Qual Em Um Para Com Houvera

Não Uma Os No Se Na Houvéramos

Por Mais As Dos Como Mas Haja

Ao Ele Das À Seu Sua Hajamos

Ou Quando Muito Nos Já Eu Hajam

Também Só Pelo Pela Até Isso Houvesse

Isso Ela Entre Depois Sem Mesmo Houvéssemos

Aos Seus Quem Nas Me Esse Houvessem

Eles Você Essa Num Nem Suas Houver

Meu Às Minha Numa Pelos Elas Houvermos

Nós Lhe Deles Essas Esses Pelas Houverem

Este Dele Tu Te Vocês Vos Houverei

Lhes Meus Minhas Teu Tua Teus Houverá

Tuas Nossa Nossa Nossos Nossas Dela Houveremos

Delas Esta Estes Estas Aqueles Aquelas Houverão

Isto Aquilo Estou Está Estamos Estão Houveria

Estive Esteve Estivemos Estiveram Estava Estávamos Houveríamos Estavam Estivera Estivéramos Esteja Estejamos Estejam Houveriam Estivesse Estivéssemos Estivessem Estiver Estivermos Estiverem Sou

Hei Há Havemos Hão Houve Houvemos Somos

São Era Éramos Eram Fui Foi Fomos

Foram Fora Fôramos Seja Sejamos Sejam Fosse

Fôssemos Fossem For Formos Forem Serei Será

Seremos Serão Seria Seríamos Seriam Tenho Tem

Temos Têm Tinha Tínhamos Tinham Tive Teve

Tivemos Tivera Tivéramos Tenha Tenhamos Tenham Tivesse

Tenham Tivesse Tivéssemos Tivessem Tiver Tivermos Tiverem

Terei Terá Teremos Terão Teria Teríamos Teriam

Tabela 1 – Lista de Stopwords

3.1.4.1 Experimento N

Foram realizados quatro experimentos, que foram divididos a fim de utilizar todos os grupos de pré-processamento em conjunto com a aplicação escolhida, da seguinte forma:

∙ Experimento N1: Grupo 1 + Aplicação;

∙ Experimento N2: Grupo 2 + Aplicação;

∙ Experimento N3: Grupo 3 + Aplicação;

(45)

43

Figura 5 – Síntese dos experimentos.

3.1.4.2 Experimento K

Foram realizados mais quatro experimentos, estes também utilizam cada um dos grupos de pré-processamento porém estão relacionados ao número de termos e cálculo do TF-IDF, estão divididos da seguinte forma:

∙ Experimento K1: Grupo 1 + Cálculo TF-IDF; ∙ Experimento K2: Grupo 2 + Cálculo TF-IDF; ∙ Experimento K3: Grupo 3 + Cálculo TF-IDF; ∙ Experimento K4: Grupo 4 + Cálculo TF-IDF;

3.1.5 Análise dos Resultados

Para compor os resultados da classe de experimentos N, foi utilizado a matriz de confusão e acurácia para cada nicho e em seguida foi gerada uma tabela que ranqueou os resultados. O cálculo da acurácia se dá pela Equação 3.1, onde 𝑇𝑝 é a quantidade

de verdadeiros positivos, e 𝑇𝑛 é a quantidade de verdadeiros negativos, portanto os que

receberam uma classificação correta. Já 𝐹𝑝 e 𝐹𝑛 são os falsos positivos e falso negativos,

ou seja, foram classificados como uma classe mas na verdade pertencem a outra. Como a aplicação CBPI tem adicionalmente a classe neutra é necessário adicionar a classe de verdadeiros neutros e falso neutros para realizar o cálculo. As discussões foram baseadas neste cálculo e como ele foi modificado a cada nova iteração.

(46)

44

𝐴𝑐𝑢𝑟á𝑐𝑖𝑎 = 𝑇𝑝+ 𝑇𝑛 𝑇𝑝 + 𝐹𝑝+ 𝑇𝑛+ 𝐹𝑛

(3.1) A fim de gerar os resultados da classe de experimentos K, para cada experimento o cálculo do TF-IDF foi ranqueado em uma tabela com os 20 melhores resultados e suas incidências na base de dados. As discussões se dão comparando os resultados encontrados em cada uma das tabelas e como foi alterada a frequência dos termos dada uma nova etapa. Por fim, como recurso visual para mostrar os termos que mais aparecem na base foi confeccionada uma nuvem de palavras após cada um dos experimentos.

(47)

45

4 RESULTADOS E DISCUSSÃO

4.0.6 Experimentos N

A Tabela 2 reflete o cálculo da acurácia para cada etapa do experimento e é possível observar que para o experimento N4, onde todas as etapas de pré-processamento são utilizadas, foi obtido o melhor resultado. Em N1, onde nenhuma etapa foi selecionada, o cálculo se mostra bastante prejudicado.

O ponto onde é necessário maior atenção e, consequentemente, o maior destaque, se dá na análise dos resultados para N2 e N3. Utilizar a técnica de remoção de stopwords em conjunto ao stemming, como foi feito para realizar N2, é uma das principais abordagens para realizar a limpeza de uma base, já a remoção de pontuação, números e caracteres especiais nem sempre é tratada, e como é possível observar na Tabela 2o segundo experi-mento apresentou resultados inferiores ao terceiro. Em suma, a junção das técnicas menos utilizadas apresentou um desempenho superior ao que é geralmente escolhido como o pa-drão. Este fato está diretamente relacionado à base de dados e à RSD escolhida. O Twitter por permitir um número limitado de caracteres abre espaço para que os usuários abusem de emoticons para expressar suas ideias e seguindo esta linha, a mídia social introduziu o conceito de hashtags, onde o usuário utiliza o caractere especial “#” para categorizar a postagem e estes não estão sendo tratados na atribuição da polaridade às postagens, o que pode prejudicar o classificador. Um terceiro fato que pode comprovar a efetividade do Grupo 3 é que ao analisar a base de dados, nota-se a utilização de pontuação exagerada e associada a palavras em diversos tweets (para um classificador o termo “natal!” será diferente de “natal”), como pode ser observado na Tabela 3.

Tipo Acurácia

Experimento N1 37,84% Experimento N2 42,92% Experimento N3 46,42% Experimento N4 50,19%

Tabela 2 – Cálculo da acurácia para a classe de experimentos N.

A Tabela 3procura mostrar alguns exemplos de postagens que utilizam a pontu-ação de forma exagerada e associada aos termos.

Os resultados expõem uma série de pontos positivos mas também negativos, sendo portanto necessário apresentá-los e discorrer um pouco sobre eles. Quanto aos positivos, ao apresentar um nível de acurácia melhor para N4 quando comparado a N1, a premissa de que a fase de pré-processamento, especificadamente a limpeza da base, é essencial a uma aplicação de MT é comprovada. Em relação a N2 e N3 é possível inferir então que

(48)

46

Postagem

Especial de natal?!?!? Adoro!!!!! @Starbucks http://t.co/fWLebGBcko

Só nota azul de novo???? meu pai(?) me deu ate a opção de escolher um presente*—* @3ricio Parabéns... Õo/Meu presente tá atrás de você... -qq

Tabela 3 – Exemplos de tweets com pontuação exagerada.

possivelmente as técnicas de remoção do ruído podem apresentar um nível de eficiência que não segue um padrão, sendo assim, uma outra forma de estudo seria analisar como estas etapas se comportam em diferentes aplicações e bases de dados a fim de descobrir se o ruído é mutável, ou seja, varia de acordo com o que está sendo aplicado e consequentemente influencia em quais etapas de pré-processamento oferecem melhores resultados.

Já a parte negativa é vista quando os números são analisados, isto pois o único experimento a passar de 50% é o N4. Entre as possíveis explicações está o fato de que por ser uma reprodução da aplicação CBPI, algumas características foram mantidas, como o limiar para escolha de um valor modelo (que foi utilizado 0,5) e portanto as palavras que foram apresentadas ao classificador podem não representar corretamente o que se espera alcançar. Uma outra explicação para estes resultados é que a base de dados não foi previamente rotulada, necessitando de uma técnica léxica para tal feito e desta forma grande quantidade das postagens foi classificada como neutra, o que pode não condizer com o esperado e gerar resultados discrepantes. Por fim, o classificador NB é baseado em modelos de treinamento, validação cruzada e estes parâmetros também não foram alterados, correndo o risco então de não apresentarem o melhor desempenho para a base em questão.

4.0.7 Experimentos K

Os resultados estão apresentados em quatro tabelas distintas. A Tabela4apresenta os resultados para K1, a Tabela 5para K2 e as Tabelas 5 e6 respectivamente para K3 e K4.

De acordo com o que é apresentado para K1, os termos que estão ranqueados no topo da tabela apresentam relação com o tema da base de dados, porém é possível observar que algumas preposições e outras stopwords foram elencadas com um alto índice de relevância (tem-se como exemplo: “que”, “pra”, "meu”, "minha”, "com” e etc) e ainda é constatado que estas palavras apresentam um alto nível de frequência, o que vem do fato de serem conectores e que são necessárias em praticamente todas as frases. Porém, ao serem analisadas em uma aplicação de AS tais palavras não apresentarão relevância alguma.

Já para o experimento dois, é importante ressaltar alguns pontos. O primeiro deles é que ao remover as stopwords foi possível abrir espaço a palavras que apesar de terem uma

(49)

47

frequência menor no texto apresentam uma maior conexão como o tema. Isto é observado com o aparecimento das palavras “noel”, “casa” e “novo”. O segundo ponto importante é que para as palavras que foram mantidas no ranking (como “natal”, “festa” e "presente”) apesar de não terem sua frequência alteradas o seu TF-IDF aumentou, este fato vem do que pode ser observado na Equação2.2(cálculo do IDF) já que ao remover palavras que o algoritmo retornava como de grande influência o IDF das palavras que foram preservadas aumentou, posto que ele trabalha no corpus, e em consequência o cálculo total também aumentou.

Termo TF-IDF Frequência

Natal 0,1239 2798 Festa 0,0884 1996 Que 0,0851 1922 Presente 0,0761 1719 Pra 0,0535 1209 Vou 0,0430 971 Comprar 0,0423 956 Meu 0,0396 894 Minha 0,0337 761 Uma 0,0334 754 Vai 0,0323 730 Não 0,0287 649 Com 0,0273 617 Ano 0,0209 473 Quero 0,0200 453 Mais 0,0194 439 Tem 0,0162 366 Para 0,0149 377 Dia 0,0144 327 Mas 0,0141 319 Tabela 4 – Resultados em K1.

Termo TF-IDF Frequência

Natal 0,1258 2798 Festa 0,0897 1996 Presente 0,0773 1719 Compra 0,0752 1,246 Vou 0,0436 971 Vai 0,0328 730 Ano 0,0212 473 Quero 0,0203 453 Dia 0,0147 327 Natal;; 0,0124 276 Dar 0,0117 262 Ser 0,0116 260 Noel 0,0111 247 Passar 0,0110 247 Fazer 0,0108 242 Festa;; 0,0099 221 Casa 0,0098 220 Aqui 0,0098 218 Novo 0,0094 211 Ainda 0,0093 210 Tabela 5 – Resultados em K2.

O terceiro ponto de destaque vem de que existem termos que apresentam pontu-ação associada, como relatado na Tabela 3, recebendo um ranking alto de relevância. A palavra “natal;;” apareceu 276 vezes na base e a “festa;;” apareceu 221 vezes, se elas fos-sem corrigidas para o que realmente querem representar poderiam aumentar ainda mais o grau de importância para os dois primeiros lugares da tabela.

Por fim, o último ponto foi obtido pela utilização do stemming. Nesta tabela nota-se algumas ocorrências de palavras raiz. Destaca-nota-se que para o lugar do termo “comprar” foi obtido o seu radical “compra” e ele apresenta uma frequência aumentada e assim é possível justificar que a técnica ajudou a obter melhores resultados para o algoritmo de indexação.

(50)

48

Figura 6 – Wordcloud para K1. Figura 7 – Wordcloud para K2.

Elas tem como limiar palavras que apresentam frequência igual ou superior a 100, os termos que aparecem com maior TF-IDF também recebem maior destaque nesta repre-sentação e além disso é possível observar palavras que não aparecem nas tabelas pois mesmo apresentando uma elevada frequência, não apresentam grande relevância. Uma questão importante é que na Figura 7é possível notar diversos vocábulos acompanhados de pontuação, inclusive uma stopword que deveria ter sido removida e não foi por estar disposta desta forma.

Na questão de termos, K3 acompanha os resultados de K1, porém para cada um deles que estão dispostos na Tabela 6 houve um aumento na frequência e no desempe-nho do TF-IDF. Como nesta etapa foi removida toda pontuação, numeração e caracteres especiais, consequentemente as hashtags e todos aqueles termos que estavam comprome-tidos por pontos passaram a ser palavras comuns, o que explica o aumento. Este fato, em conjunto como os resultados obtidos no experimento N3, justificam que o Grupo 3 das técnicas de remoção do ruído foi o mais importante para este estudo.

A Tabela 7 apresenta o resultado para a junção de todas as etapas, sendo assim representa a remoção de todos os problemas até aqui encontrados. Com a base de dados limpa os termos que apresentam a maior relevância estão conectados diretamente com o tema natal, e observa-se ainda um aumento na frequência de alguns termos e para todos o aumento no resultado obtido pelo algoritmo. O primeiro aumento vem da junção do stemming com a remoção proposta pelo Grupo 2 e o segundo aumento se dá pois tanto em K2 como em K3 os termos irrelevantes e ambíguos que foram removidos eram diferentes, assim ao conectar as duas abordagens obtiveram-se melhores resultados.

(51)

49 Termo TF-IDF Frequência

Natal 0,2151 3780 Festa 0,1318 2316 Presente 0,1167 2052 Que 0,1101 1935 Pra 0,0690 1213 Comprar 0,0575 1011 Vou 0,0561 986 Meu 0,0514 904 Minha 0,0434 763 Uma 0,0433 761 Vai 0,0421 741 Não 0,0381 670 Com 0,0354 622 Ano 0,0303 534 Quero 0,0263 463 Mais 0,0261 460 Tem 0,0211 372 Dia 0,0202 355 Para 0,0193 340 Mas 0,0185 326 Tabela 6 – Resultados em K3.

Termo TF-IDF Frequência

Natal 0,2172 3789 Festa 0,1328 2317 Presente 0,1177 2053 Compra 0,0952 1,310 Vou 0,0565 986 Vai 0,0424 741 Ano 0,0306 535 Quero 0,0265 463 Dia 0,0203 355 Novo 0,0161 281 Dar 0,0156 273 Ser 0,01513 264 Casa 0,0150 262 Noel 0,0149 260 Fazer 0,0142 257 Passar 0,0142 249 Aqui 0,01410 246 Hoje 0,0138 242 Ainda 0,0130 228 Mãe 0,0128 200 Tabela 7 – Resultados em K4.

As Figuras 8e 9 sintetizam o que foi apresentado anteriormente, na primeira não aparecem mais pontuações e palavras prejudicadas. Já a segunda imagem apresenta as maiores frequências depois de todas as etapas propostas para o pré-processamento serem realizadas, dando assim maior clareza aos termos que aparecem na nuvem.

(52)
(53)

51

5 CONCLUSÃO

Utilizar MT em conjunto com RSD está cada vez mais em destaque, posto que nes-tas redes os usuários compartilham diversas informações importantes e que são acessíveis de maneira fácil. Entre algumas áreas é possível criar aplicações centradas no marketing, na detecção de padrões de escrita, na detecção de fraudes (bots) e na análise do sentimento. Entre as etapas da MT está a fase de pré-processamento. Existem diferentes abor-dagens quanto a essa área e quais as etapas são necessárias para desenvolver uma boa aplicação, e este trabalho teve como objetivo principal validar a importância desta etapa. Tal objetivo foi alcançado quando ao reproduzir uma aplicação de Análise de Sentimento os resultados obtidos foram melhorando a cada grupo de técnicas para remoção do ruído. Assim, é importante ressaltar que apesar das RSD gerarem um grande volume de texto e informações, elas também geram uma quantidade muito grande de ruído. Isto foi observado em cada etapa do experimento K, onde é possível ver como a utilização exage-rada de pontuação, as hashtags e a informalidade linguística influenciam negativamente nos resultados.

Em geral o Grupo 3 apresentou os melhores resultados individuais, tanto para o experimento N quanto para o K, sendo justificado por características externas da base. Todavia, ao analisar os resultados de maneira ampla, observa-se que a junção de todas as técnicas apresentou os melhores resultados tanto na aplicação quanto no TF-IDF.

Em suma, este trabalho apresentou resultados que comprovam que realizar uma boa etapa de pré-processamento pode aumentar o desempenho de uma aplicação. Com o cálculo do TF-IDF foi possível observar que a semântica da base de dados não é alterada, os termos de grande relevância tendem a ser os mesmos ainda que sejam realizadas diversas técnicas para deixar a base limpa, porém os termos irrelevantes e ambíguos são eliminados aumentando a eficiência do algoritmo. Todavia, além do ruído os resultados podem ser prejudicados quando ao utilizar um classificador não se ajustem os parâmetros da maneira mais apropriada à sua base de dados, como foi visto nos experimentos N.

Por fim, este trabalhou abriu diversas possibilidades a trabalhos futuros, como adicionar novas técnicas para a remoção do ruído, tais como a correção ortográfica, uma abordagem para sinônimos que vise diminuir a quantidade léxica e tratar os emoticons a fim de determinar sentimento a cada um deles. Além disto, este trabalho deixa como contribuição a proposta de que o ruído é algo mutável, pois ele irá variar de acordo com o que a aplicação pretende alcançar e desta forma para cada aplicação que faça utilização das técnicas de Mineração de Texto seria necessário descobrir uma melhor forma de realizar a etapa de pré-processamento a fim de gerar resultados cada vez melhores.

(54)
(55)

53

REFERÊNCIAS

[1] GOLBECK, J. Analyzing the social web. [S.l.]: Newnes, 2013.

[2] KWAK, H. et al. What is twitter, a social network or a news media? In: ACM.

Proceedings of the 19th international conference on World wide web. [S.l.], 2010. p.

591–600.

[3] SAKAKI, T.; OKAZAKI, M.; MATSUO, Y. Earthquake shakes twitter users: real-time event detection by social sensors. In: ACM. Proceedings of the 19th

international conference on World wide web. [S.l.], 2010. p. 851–860.

[4] PANG, B.; LEE, L. Opinion mining and sentiment analysis. Foundations and trends

in information retrieval, Now Publishers Inc., v. 2, n. 1-2, p. 1–135, 2008.

[5] FALCÃO, A. E. J. et al. Indecs: método automatizado de classificação de páginas web de saúde usando mineração de texto e descritores em ciências da saúde (decs).

Journal of Health Informatics, v. 1, n. 1, 2009.

[6] PAK, A.; PAROUBEK, P. Twitter as a corpus for sentiment analysis and opinion mining. In: LREC. [S.l.: s.n.], 2010. v. 10, p. 1320–1326.

[7] ZHANG, D.; JIANG, K. Application of data mining techniques in the analysis of fire incidents. Procedia Engineering, Elsevier, v. 43, p. 250–256, 2012.

[8] HE, W.; ZHA, S.; LI, L. Social media competitive analysis and text mining: A case study in the pizza industry. International Journal of Information Management, Elsevier, v. 33, n. 3, p. 464–472, 2013.

[9] SUKANYA, M.; BIRUNTHA, S. Techniques on text mining. In: IEEE. Advanced

Communication Control and Computing Technologies (ICACCCT), 2012 IEEE International Conference on. [S.l.], 2012. p. 269–271.

[10] FELDMAN, R.; SANGER, J. The text mining handbook: advanced approaches in

analyzing unstructured data. [S.l.]: Cambridge University Press, 2007.

[11] MAIMON, O.; ROKACH, L. Data mining and knowledge discovery handbook. [S.l.]: Springer, 2005. v. 2.

[12] RIBEIRO, J. S.; KAUFMAN, K. A.; KERSCHBERG, L. Knowledge discovery from multiple databases. In: KDD. [S.l.: s.n.], 1995. p. 240–245.

[13] INGERSOLL, G. S.; MORTON, T. S.; FARRIS, A. L. Taming text: how to find,

organize, and manipulate it. [S.l.]: Manning Publications Co., 2013.

[14] SUH, J. H.; PARK, C. H.; JEON, S. H. Applying text and data mining techniques to forecasting the trend of petitions filed to e-people. Expert Systems with Applications, Elsevier, v. 37, n. 10, p. 7255–7268, 2010.

[15] SHARMA, D. Stemming algorithms: A comparative study and their analysis.

(56)

54

[16] ADAMSON, G. W.; BOREHAM, J. The use of an association measure based on character structure to identify semantically related pairs of words and document titles. Information storage and retrieval, Elsevier, v. 10, n. 7, p. 253–260, 1974. [17] JONES, K. S. A statistical interpretation of term specificity and its application in

retrieval. Journal of documentation, MCB UP Ltd, v. 28, n. 1, p. 11–21, 1972. [18] RAMOS, J. to determine word relevance in document queries. 2001. Department of

Computer Science, Rutgers University.

[19] LIU, B.; ZHANG, L. A survey of opinion mining and sentiment analysis. In: Mining

text data. [S.l.]: Springer, 2012. p. 415–463.

[20] BECKER, K.; TUMITAN, D. Introdução à mineração de opiniões: Conceitos, aplicações e desafios. Simpósio Brasileiro de Banco de Dados, 2013.

[21] TSYTSARAU, M.; PALPANAS, T. Survey on mining subjective data on the web.

Data Mining and Knowledge Discovery, Kluwer Academic Publishers, v. 24, n. 3, p.

478–514, 2012.

[22] BACCIANELLA, S.; ESULI, A.; SEBASTIANI, F. Sentiwordnet 3.0: An enhanced lexical resource for sentiment analysis and opinion mining. In: LREC. [S.l.: s.n.], 2010. v. 10, p. 2200–2204.

[23] TURNEY, P. D. Thumbs up or thumbs down?: semantic orientation applied to unsupervised classification of reviews. In: ASSOCIATION FOR COMPUTATIONAL LINGUISTICS. Proceedings of the 40th annual meeting on association for

computational linguistics. [S.l.], 2002. p. 417–424.

[24] D’AVANZO, E.; PILATO, G. Mining social network users opinions’ to aid buyers’ shopping decisions. Computers in Human Behavior, Elsevier, 2014.

[25] RAMSDEN, A.; BATE, A. Using word clouds in teaching and learning. University of Bath, 2008.

[26] WALKER, M. A. et al. That is your evidence?: Classifying stance in online political debate. Decision Support Systems, Elsevier, v. 53, n. 4, p. 719–729, 2012.

[27] MOSTAFA, M. M. More than words: Social networks’ text mining for consumer brand sentiments. Expert Systems with Applications, Elsevier, v. 40, n. 10, p. 4241–4251, 2013.

[28] IGAWA, R. A. e. a. Account classification in online social networks with lbca and wavelets. Proceedings of Information Sciences, Elsevier, 2014.

[29] SILVA, N. R.; LIMA, D.; BARROS, F. Sapair: Um processo de análise de sentimento no nível de característica. In: 4nd International Workshop on Web and Text

Intelligence (WTI’12), Curitiba. [S.l.: s.n.], 2012.

[30] WALKER, M. A. et al. That is your evidence?: Classifying stance in online political debate. Decision Support Systems, Elsevier, v. 53, n. 4, p. 719–729, 2012.

[31] NETO, F. A. R.; BARROS, F. de A. Asdp: um processo para análise de sentimento em debates polarizados.

Referências

Documentos relacionados

nesta nossa modesta obra O sonho e os sonhos analisa- mos o sono e sua importância para o corpo e sobretudo para a alma que, nas horas de repouso da matéria, liberta-se parcialmente

Este trabalho buscou, através de pesquisa de campo, estudar o efeito de diferentes alternativas de adubações de cobertura, quanto ao tipo de adubo e época de

O modelo conceitual procura mostrar quais são os elementos de informação tratados pelo sistema, para que mais adiante se possa mostrar ainda como essa informação é transformada pelo

O objetivo do curso foi oportunizar aos participantes, um contato direto com as plantas nativas do Cerrado para identificação de espécies com potencial

3.3 o Município tem caminhão da coleta seletiva, sendo orientado a providenciar a contratação direta da associação para o recolhimento dos resíduos recicláveis,

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

Nessa situação temos claramente a relação de tecnovívio apresentado por Dubatti (2012) operando, visto que nessa experiência ambos os atores tra- çam um diálogo que não se dá

6 Num regime monárquico e de desigualdade social, sem partidos políticos, uma carta outor- gada pelo rei nada tinha realmente com o povo, considerado como o conjunto de