Escolar Documentos
Profissional Documentos
Cultura Documentos
CLASSIFICAÇÃO DE EMOÇÕES
AUTOMATIZADA E APLICÁVEL
EM TEXTOS DE EAD ESCRITOS
EM PORTUGUÊS DO BRASIL
Porto Alegre
2021
UNIVERSIDADE DO VALE DO RIO DOS SINOS – UNISINOS
CLASSIFICAÇÃO DE EMOÇÕES
AUTOMATIZADA E APLICÁVEL
EM TEXTOS DE EAD ESCRITOS
EM PORTUGUÊS DO BRASIL
Porto Alegre
2021
Classificação de Emoções Automatizada e Aplicável em
Textos de EaD escritos em Português do Brasil
Antonio M. A. Menezes1
1
Universidade do Vale do Rio dos Sinos (UNISINOS)
antoniomenezes@gmail.com
Abstract. This paper aims to compare viable methods to create models capable
of classifying emotions in Brazilian Portuguese texts, particularly similar to
texts found in distance education (DE). The ISEAR corpus (The International
Survey on Emotion Antecedents and Reactions) was translated and used for the
experiments. Machine learning techniques with supervised learning were
employed. Despite the superior accuracy (89.95%) obtained through deep
learning algorithms such as BERT, the classic machine learning techniques
proved to be useful and, with less computational effort, achieved relevant results
(greater than 80% of accuracy) when combined with the Data Augmentation
technique. It is expected that all the work and lessons learned will be applicable
to the construction of emotion classifiers for the texts resulting from the
interaction of students during DE.
Resumo. Este artigo tem como objetivo comparar métodos viáveis para se criar
modelos capazes de classificar emoções em textos do Português do Brasil,
particularmente semelhantes aos textos encontrados em educação à distância
(EaD). O corpus ISEAR (The International Survey on Emotion Antecedents and
Reactions) foi traduzido e utilizado nos experimentos. Foram empregadas
técnicas de aprendizagem de máquina com aprendizado supervisionado.
Apesar da acurácia superior (89,95%) obtida por meio de algoritmos de
aprendizado profundo como BERT, as técnicas clássicas de aprendizado de
máquina mostraram-se úteis e, com menor esforço computacional, alcançaram
resultados relevantes (superiores a 80% de acurácia) quando aliadas à técnica
de Data Augmentation. Espera-se que todo o trabalho e as lições aprendidas
sejam aplicáveis à construção de classificadores de emoções para os textos
resultantes da interação de alunos durante EaD.
1. Introdução
Por volta de 1900, já havia estudos relevantes sobre as emoções, conduzidos por William
James, Carl Lange, Sigmund Freud e Charles Sherrington. No entanto, ao longo do século
XX, estranhamente, os estudiosos das áreas que formariam a futura neurociência
permaneceram sem dar o valor devido às emoções no processo do raciocínio humano.
Eram tratadas somente como fontes de perturbação [Damásio 2012]. Da mesma forma,
no contexto educacional, com a separação entre cognitivo e afetivo, as emoções eram
ditas por atrapalhar a escolarização e não era cabível que a prática pedagógica
“trabalhasse o afetivo” [Gomes 2014]. Anos mais tarde, os laboratórios de neurociência
nos Estados Unidos e Europa voltaram sua atenção aos estudos das emoções, filósofos
que tratavam sobre o tema passaram a ser mais ouvidos e o assunto caiu no gosto do
público. Hoje, por exemplo, rastrear as emoções dos alunos sobre seus cursos é essencial
para se definir políticas eficazes de engajamento discente. Além disso, para a educação à
distância (EaD), a afetividade é considerada instigadora da colaboração mútua. Estar
ciente do papel das emoções e lidar com elas é fator determinante para o sucesso dessa
modalidade de aprendizado [Baptista e Martins 2018] e [Jaques e Morais 2019].
Para a identificação das emoções contidas nas interações de participantes de EaD,
há soluções que se concentram na análise do conteúdo audiovisual, no gestual humano,
com o auxílio de técnicas em visão computacional. Porém, grande parte da interação ainda
é realizada por meio de diálogos em linguagem natural sob a forma de textos escritos.
Este trabalho está inserido nesse contexto, na detecção automatizada das emoções
expressas através de textos escritos em língua portuguesa do Brasil, com desejada
aplicação na análise dos diálogos de EaD.
A detecção dos sentimentos e estados emocionais apresenta muitos desafios
[Mohammad 2017]. As dificuldades ligam-se tanto às questões linguísticas quanto aos
aspectos computacionais para construção de soluções automatizadas. Sob a óptica da
linguagem, há as relações entre emoções, entidades e sentenças; o lado emocional
presente no uso de figuras de linguagem, ironias, metáforas [Moraes 2020]; a posição em
que as emoções estão inseridas no texto (seja no posicionamento do autor perante um
assunto, o contágio emocional que desperta sobre o leitor, ou mesmo as emoções que
personagens e outros sujeitos manifestam ao longo de uma narrativa). Há ainda as
questões quanto à construção e ao uso de léxicos e de corpora, com atributos sobre
sentimentos/emoções, polaridades, valências, graus de intensidade de cada emoção e a
riqueza dos vocabulários para uma determinada língua; palavras correspondentes em
diferentes idiomas, mas ligadas a emoções distintas. E, por fim, existem os desafios
pertinentes ao aprimoramento do desempenho, do consumo adequado de recursos
computacionais e da melhoria da acurácia das técnicas e dos algoritmos para a
classificação dos sentimentos e das emoções expressas em textos.
A análise de sentimentos é uma das diversas aplicações do processamento de
linguagem natural (PLN). Muitas vezes, essa forma de análise é confundida com a tarefa
de classificação das emoções. Diferentemente da primeira, que lida com categorias de
valores positivos, negativos e neutros, a segunda considera as emoções como uma
categoria multifacetada, conforme os trabalhos de psicólogos, como Paul Ekman, Klaus
Scherer, Robert Plutchik, Gerald L. Clore, Andrew Ortony e Allan M. Collins. É
importante diferenciar os dois tipos de aplicação. Enquanto, na análise de sentimentos, há
maior diversidade de corpora e métodos disponíveis, a classificação de emoções tende a
ser uma tarefa mais árdua. Nesse último caso, são até considerados satisfatórios métodos
com acurácias entre 60% e 70% [Einsenstein 2019]. E, quando se trata de textos em
português do Brasil, há o desafio de encontrar tanto um conjunto de dados com tamanho
representativo, que contemple a variabilidade do vocabulário desta língua e, ao mesmo
tempo, que tenha anotações sobre os tipos de emoções que se deseja considerar. A questão
em se trabalhar com a língua portuguesa brasileira, além de essencial para a EaD do
Brasil, é um fator influenciador do desempenho dos métodos de classificação. Conforme
Einsenstein (2019), para a língua inglesa, 4.000 tipos de palavras conseguem ser
representativos para 90% dos tokens de um dataset. Enquanto isso, para um corpus em
língua portuguesa (Mac-Morpho), são necessários mais que 10.000 tipos de palavras para
oferecer a mesma cobertura de 90%.
Diante de todas as questões anteriormente apresentadas, este trabalho deteve-se
especificamente em identificar melhorias ao processo de construção dos modelos, no pré-
processamento dos textos e a buscar o aprimoramento da acurácia de técnicas de detecção
de emoções em textos em português do Brasil, semelhantemente aos encontrados em
diálogos de EaD. Alguns experimentos foram realizados comparando os resultados entre
as seguintes técnicas de classificação: Regressão Logística, Naïve Bayes, SVM, NBSVM,
LSTM com Word Embeddings gerado a partir do corpus, LSTM com Word Embeddings
fornecido pelo Interinstitutional Center for Computational Linguistics (NILC), LSTM
Bidirecional e BERT.
Ao comparar alguns dos mais conhecidos algoritmos de aprendizado de máquina
quando aplicados ao problema de detecção ou classificação de emoções em textos, é
possível identificar quais técnicas se apresentam mais adequadas de acordo com
características particulares do problema, aspectos que interfiram no desempenho, com
menor ou maior esforço computacional e até mesmo na complexidade de construção e
adequação das implementações a um determinado conjunto de dados.
Por outro lado, numa perspectiva mais pragmática e utilitária, com o emprego de
algoritmos de aprendizado de máquina, torna-se viável a construção de soluções para
classificar automaticamente as emoções em textos decorrentes das interações de EaD,
sejam a partir de diálogos entre os participantes (alunos, professores e demais
colaboradores), respostas em questionários e até mesmo a partir de textos de e-mail e de
redes sociais. Com um modelo classificador de emoções, integrado aos processos de
avaliação do desempenho de plataformas de EaD, será possível correlacionar informações
objetivas (notas, faltas, atrasos) às informações subjetivas implicitamente ligadas às
emoções.
Além desta seção introdutória, que buscou delinear o problema a ser tratado e o
objetivo da pesquisa, o restante do trabalho está organizado da seguinte forma: a Seção 2
com o referencial teórico que auxiliará no entendimento de conceitos do processamento
de linguagem natural e das técnicas de aprendizado de máquina utilizadas. A Seção 3 com
os trabalhos relacionados. A Seção 4 com a delimitação e o processamento dos dados para
uso nos experimentos, além de como foram aplicadas as técnicas de classificação de
emoções. A Seção 5 com a apresentação e a análise dos resultados obtidos após a
aplicação das técnicas. E, por fim, a Seção 6 com as conclusões do trabalho.
2. Fundamentação Teórica
2.1. O papel das emoções na EaD
A Educação à Distância (EaD) evolui a cada dia propulsionada pelas necessidades
contemporâneas, pelas melhorias no seu acesso e pelo aperfeiçoamento das tecnologias
de informação e comunicação. Porém, parte desse aprimoramento da comunicação
precisa ainda se empenhar na diminuição da distância comunicacional criada pelas
plataformas de EaD. Conforme Moore e Kearsley (2007), tal distância pode ser
compreendida como "um hiato na comunicação, um espaço psicológico de compreensões
errôneas potenciais entre instrutores e alunos, que precisa ser suplantado por técnicas
especiais de ensino". A persistência desse hiato é o que tende a propiciar as experiências
eivadas de emoções negativas entre alunos. Tais situações podem contribuir para a evasão
de disciplinas e de cursos, de acordo com Moraes (2019).
Para minimizar o cenário anteriormente descrito, Moraes (2019) sugere o
emprego de interações e ferramentas para interação que intensifiquem o diálogo, com o
objetivo de incrementar o grau de motivação dos participantes, a autonomia e para
potencializar as emoções positivas na EaD.
Sendo assim, diante da relevância das emoções no processo de educação à
distância, convém compreender o que é uma emoção ou um sentimento e como podem
tais conceitos ser representados em um contexto computacional, a fim de propiciar a
elaboração de ferramentas automatizadas para a melhoria das experiências em EaD.
2.3. Léxicos
Recursos lexicais são fundamentais para o processamento computacional da língua. Isso
porque são recursos linguísticos organizados a partir do conteúdo semântico dos itens
lexicais (palavras), e não apenas uma ordenação alfabética. WordNet de Princeton é o
mais famoso deles. Desde cedo, com o auxílio deles, foi possível, por muitos trabalhos,
realizar tarefas de identificação e extração da informação contida em textos. Os léxicos
são componentes com informações semânticas e gramaticais sobre palavras ou outras
unidades léxicas. Diferentemente dos dicionários, conhecidos como livros impressos e
até eletrônicos, os léxicos podem fornecer tipos de informações usualmente não
encontradas nos primeiros. Uma das propostas usadas para a extração de sentimentos leva
em conta os léxicos, onde palavras ou expressões curtas estão associadas a rótulos ligados
a emoções ou sentimentos [Freitas 2013]. Nesses casos, é comum não haver uso de
mecanismo baseado em aprendizado de máquina [Eisenstein 2019].
Apesar de léxicos serem úteis, técnicas de classificação baseadas somente em
léxicos tendem a ser menos efetivos para textos curtos, principalmente quando apenas
usadas estruturas do tipo bag of words (BoW), que são coleções de pares com cada par
sendo uma palavra e um número que representa a frequência de uma palavra nos textos.
Para essas abordagens, é mais conveniente trabalhar com bag of bi-gramas (conjuntos de
pares de palavras adjacentes) [Eisenstein 2019]. Há bons exemplos de abordagens
estritamente baseadas em léxicos e com uso de n-gramas para a análise de sentimentos de
textos em português brasileiro como a proposta de Machado et al (2018), na qual ainda
faz uso de uma combinação de três léxicos: Opinion Lexicon, SentiLex e LIWC.
2.4. Corpora
Um corpus pode ser compreendido simplificadamente como um conjunto de materiais
linguísticos usados em análises. Por maior e mais completo que seja, representa uma parte
das possibilidades realizáveis da língua e do discurso [Ferreira et al 2019]. Os corpora
(plural de corpus) podem conter materiais de língua escrita (textos) ou oral (gravações de
falantes); podem ainda ser temáticos ou não, monolíngues ou não, anotados ou não. O
tema de um corpus pode abranger determinados gêneros literários, estilos, assuntos,
períodos históricos etc. As anotações são os rótulos que enriquecem um corpus. No caso
da construção de corpus sobre sentimentos ou emoções, tem-se um corpus temático.
1
Disponível como pacote do NLTK
2
Disponível em http://nilc.icmc.usp.br/nilc/images/download/corpusNilc.zip
3
Disponível em https://www.kaggle.com/luisfredgs/imdb-ptbr
4
Disponível em https://www.kaggle.com/augustop/portuguese-tweets-for-sentiment-analysis
5
Disponível em https://www.ppgia.pucpr.br/~paraiso/mineracaodeemocoes/recursos.php
6
Disponível em https://www.inf.pucrs.br/linatural/wordpress/recursos-e-ferramentas/blogset-br
Atualmente, ainda que a quantidade de corpora formado por textos escritos em
língua inglesa seja consideravelmente superior aos disponíveis para a língua portuguesa
do Brasil, há diversas iniciativas e esforços na construção e manutenção de corpora em
português brasileiro. Alguns deles são apresentados no Quadro 1.
Mesmo que haja alguns corpora de grande volume para a língua portuguesa do
Brasil, é bastante escasso o número daqueles que particularmente fornecem anotações
sobre emoções, que também sejam considerados referências em estudos na área, que
disponham de tamanho suficiente, capazes de oferecer razoável cobertura de vocabulário
da língua e que, por fim, estejam publicamente disponíveis. Além disso, para o seu uso,
é importante considerar neles de onde parte a emoção associada e rotulada ao texto (do
autor, do leitor ou das personagens presentes no texto).
Diante dessas dificuldades em se encontrar um corpus em português do Brasil
com rótulos sobre emoções, é possível partir de um corpus em inglês, realizar a tradução
automática dos textos e, dessa forma, ter uma versão minimamente aceitável do mesmo
em português. Há ainda que se avaliar a qualidade de tais traduções, considerando-se a
sua temática. É esperado que textos mais curtos, menos literários e menos complexos
sejam mais simples de traduzir, principalmente por tradutores automáticos. Tais
tradutores costumam apresentar erros semânticos, com número de erros que aumentam à
medida em que se cresce a complexidade dos textos submetidos à tradução [Nowinska
2014]. Apesar disso, os tradutores mais modernos e atuais, implementados através de
redes neurais (e.g. tradutores do Facebook, Microsoft, Google), evoluíram bastante e têm
ganhado considerável confiabilidade. O uso deles se destaca, inclusive, por ser frequente
em processos de Data Augmentation (aumento e enriquecimento de um corpus através de
determinadas técnicas). Esses processos podem proporcionar maior variabilidade do
vocabulário de um corpus, por exemplo, com a tradução de seus textos para uma língua
intermediária e, depois, novamente traduzidos para a língua original (Back-Translation)
[Edunov et al 2018]. Assim os novos textos são acrescentados ao corpus original,
formando-se um corpus aumentado ou estendido.
𝑛
𝑇𝐹𝐼𝐷𝐹𝑖 = 𝑇𝐹𝑖 × 𝑙𝑜𝑔
𝑁
7
Disponível em http://nilc.icmc.usp.br/nilc/index.php/repositorio-de-word-embeddings-do-nilc
8
Disponível em https://github.com/neuralmind-ai/portuguese-bert
duas sequências como entradas, uma sequência na ordem original e outra na ordem
inversa. Essa característica pode permitir que contextos adicionais sejam aprendidos pela
rede.
O algoritmo Bidirectional Encoder Representations from Transformers (BERT),
baseado no uso de Transformers, é extremamente adequado ao processamento de
linguagem natural. Diferentemente das redes LSTM, não é influenciado pela alimentação
dos constituintes de uma sequência em determinada ordem, pois trabalha com sequências
inteiras. As relações contextuais entre os dados são aprendidas através de um mecanismo
conhecido como attention (atenção).
Classe Predita
Classe Real
Positivo Negativo
Positivo Verdadeiro Positivo (VP) Falso Negativo (FN)
Negativo Falso Positivo (FP) Verdadeiro Negativo (VN)
𝑉𝑃 𝑉𝑁
𝑅𝑒𝑐𝑎𝑙𝑙 Positivo = 𝑅𝑒𝑐𝑎𝑙𝑙 Negativo =
𝑉𝑃+𝐹𝑁 𝑉𝑁+𝐹𝑃
𝑉𝑃 𝑉𝑁
𝑃𝑟𝑒𝑐𝑖𝑠ã𝑜 Positivo = 𝑃𝑟𝑒𝑐𝑖𝑠ã𝑜 Negativo =
𝑉𝑃+𝐹𝑃 𝑉𝑁+𝐹𝑁
𝑃𝑟𝑒𝑐𝑖𝑠ã𝑜 ×𝑅𝑒𝑐𝑎𝑙𝑙
F1-Score = 2 × 𝑃𝑟𝑒𝑐𝑖𝑠ã𝑜+𝑅𝑒𝑐𝑎𝑙𝑙
3. Trabalhos Relacionados
Apesar de existirem alguns trabalhos para a construção de classificadores de emoções
sobre textos em português do Brasil, há ainda poucos corpora nesse idioma com anotações
sobre emoções e que estejam amplamente disponíveis para servirem como benchmark,
por exemplo. Corpora de referência são imprescindíveis para a construção de modelos a
partir das técnicas de aprendizagem supervisionada. Apesar disso, muitos trabalhos
oferecem alternativas diferentes para resolver o mesmo problema.
Diferentemente de aprendizado de máquina, há técnicas como em Martinazzo
(2010), que propôs uma abordagem baseada em léxico e com o uso de um método
estatístico conhecido como LSA (Latent Semantic Analysis), que serve para identificar as
relações entre as palavras de um texto. Essa técnica foi empregada em textos curtos de
notícias e foi alcançado um percentual de acerto de até 77% ao identificar emoções
(alegria, desgosto, medo, raiva, surpresa e tristeza).
Em Machado et al (2018), foram combinados três léxicos (Opinion Lexicon,
SentiLex e LIWC) para a construção de um novo léxico. No entanto, tal solução ofereceu
anotações apenas sobre polaridades e, apesar de alcançada uma acurácia de 78,09% para
a análise de sentimentos, são inadequadas para a detecção de emoções.
Em Santos et al (2014) foram comparados o uso da classificação a partir de léxico
(mais especificamente o léxico NRC [Mohammad e Turney 2013]) e a classificação
baseada no algoritmo de Naïve Bayes. O corpus desse experimento foi composto por
estrofes de letras de música, com parte dos textos em inglês e outra parte em português
brasileiro. Concluiu-se, por fim, que o aprendizado de máquina foi superior na
classificação de emoções.
Mais recentemente, em Kansaon et al (2019) foi descrita uma metodologia para a
detecção de emoções a partir de postagens no Twitter, em português brasileiro. Foram
avaliados os desempenhos dos algoritmos sobre outras postagens em inglês. Grande parte
desse trabalho envolveu a extração das postagens e a identificação de anotações a partir
de hashtags, emoji e emoticons e, assim, foi possível criar um corpus relevante para os
experimentos. Diferentemente da maioria das propostas, foram tratadas classes de
emoções e as relações entre emoções. A conclusão apontada foi que os algoritmos
baseados no modelo de Bayes (Naïve Bayes Multinomial Updateable, Naïve Bayes
Multinomial, Complement Naïve Bayes) apresentaram os melhores resultados dentre os
demais.
Quanto aos trabalhos relacionados somente sobre textos de língua inglesa, há uma
grande diversidade de soluções, mas foram investigados propositalmente trabalhos
ligados ao corpus ISEAR, adotado neste trabalho para a realização dos experimentos. Por
ora, convém ressaltar que a escolha do corpus foi motivada por ele possuir características
importantes, como seu balanceamento entre as classes de emoções, o formalismo no qual
foi construído e sua ampla utilização como referência em experimentos para a detecção
de emoções em textos. Há ainda diversas variáveis presentes no conjunto de dados que
especificam manifestações fisiológicas manifestadas pelos autores dos textos. Embora,
não tenham sido consideradas, podem ser importantes em outros trabalhos.
Em Kim et al (2010), foi avaliado um modelo dimensional baseado em
aprendizado não supervisionado e alcançada uma precisão de 52,80% na classificação de
emoções sobre ISEAR. Em um outro trabalho mais recente [Chaffar e Inkpen 2018], uma
implementação do algoritmo SVM obteve como melhor acurácia o valor de 62,40%. Uma
abordagem diferente foi proposta por Razek e Frasson (2017) para a construção de uma
árvore de significado dominante sobre 60% dos dados do corpus ISEAR. Foram obtidos
valores de F1-Score para cada tipo de emoção: alegria (0.58), culpa (0.50), desgosto
(0.47), medo (0.56), raiva (0.66), tristeza (0.67) e vergonha (0.55). Com esses resultados,
realizou a comparação com outros algoritmos baseados em SVM e em modelos de vetores
[Danisman e Alpkocak 2008], sendo que esse último alcançou uma acurácia de 67,40%.
Em Acheampong et al (2020) são referenciadas diversas propostas que fazem uso do
corpus ISEAR e, dentre essas, destaca-se a abordagem de Alotaibi (2019) que, com uma
técnica clássica de Regressão Logística alcançou a precisão de 86%, recall de 84% e F1-
Score de 85%, no entanto, essa abordagem considerou apenas 5 emoções dentre os 7 tipos
de emoções do corpus original, excluindo as observações anotadas com as emoções
desgosto e raiva. Destaca-se ainda mais a abordagem híbrida proposta por Poria et al
(2014) que utiliza técnicas Fuzzy de agrupamento baseadas em aprendizado não
supervisionado em combinação com a técnica de Support Vector Machines (SVM) para
classificação e atingiu 92,15% de acurácia sobre o corpus ISEAR.
4. Materiais e Métodos
4.1. Delineamento da Pesquisa
O presente trabalho pode ser caracterizado como uma pesquisa aplicada, com o objetivo
de gerar conhecimentos para a aplicação prática no contexto de detecção de emoções
contidas em diálogos de EaD, em língua portuguesa do Brasil. A pesquisa é de caráter
exploratório e experimental, isso porque são investigados e delimitados os processos que
possam influenciar positivamente na construção de modelos classificadores de emoções.
9
Disponível em https://www.unige.ch/cisa/research/materials-and-online-research/research-material
Um aspecto importante na escolha desse corpus é o fato de ser usado e
referenciado como benchmark por diversos trabalhos [Acheampong et al 2020], [Alotaibi
2019], [Asghar et al 2019], [Billal et al 2020], [Bostan et al 2020], [Chaffar et al 2018],
[Danisman et al 2008], [Kim et al 2010], [Poria et al 2014] e [Razek et al 2017]. Além
disso, o corpus apresenta-se relativamente balanceado, em número de linhas por classe
de emoção: alegria (1094), culpa (1093), desgosto (1096), medo (1095), raiva (1096),
tristeza (1096) e vergonha (1096). Essa característica tende a diminuir a possibilidade de
criação de um modelo enviesado, inclinado a uma determinada emoção.
As emoções do corpus ISEAR são originárias de seus autores, estudantes que
descrevem eventos que os afetaram. Semelhantemente, em diálogos de EaD, os autores
dos textos são estudantes e as emoções estão expressas em tais textos diante de situações
durante a educação à distância. Ainda que haja semelhanças, os objetos referenciados nos
textos de estudantes de EaD, provavelmente, tenderão a ser mais limitados aos assuntos
da própria EaD, dessa forma o vocabulário tenderá a ser ainda mais restrito.
Como o escopo deste trabalho é trabalhar com emoções detectadas em textos em
português do Brasil, realizou-se a tradução10 automática de todo o corpus para esse
idioma, com o uso de API de tradução do Google, através do pacote google-cloud-
translate11, sendo esse um resultado e uma contribuição importante deste trabalho.
10
Disponível em https://www.kaggle.com/antoniomenezes/isear-corpus-translated-to-portuguese-br
11
Disponível em https://pypi.org/project/google-cloud-translate
12
Disponível em https://www.nltk.org
13
Disponível em https://spacy.io
14
Disponível em https://scikit-learn.org
15
Disponível em https://keras.io
16
Disponível em https://github.com/amaiya/ktrain
17
Disponível em https://pytorch.org
18
Disponível em https://colab.research.google.com
Ao investigar se textos semelhantes poderiam ser classificados com diferentes
emoções, foi detectado que, em um número limitado de casos, um estudante classificou a
mesma descrição de uma situação em duas linhas do corpus, cada linha com uma emoção
diferente. Por exemplo, a mesma sentença “Amigos que torturam animais.” aparece duas
vezes, uma delas anotada como “raiva”, a outra como “desgosto”. Por outro lado, há
situações muito semelhantes, rotuladas com diferentes emoções, mas por pessoas
distintas. Tal subjetividade é inerente à anotação manual de emoções por classificadores
humanos.
Algumas palavras, ainda que aparentemente ligadas a uma emoção podem ser
significativas também para outras emoções. Uma delas é a palavra “amigo” (Figura 1).
Nesse exemplo, é particularmente normal quando um autor (código de identificação do
autor = 21013) expressou num texto que se sentiu triste pela morte de um amigo próximo
ou quando outro (código de identificação do autor = 821) sentiu medo ao estar num carro
dirigido pelo amigo bêbado. Ou seja, uma mesma palavra vincula-se a emoções em
diferentes contextos.
19
Disponível em https://pypi.org/project/wordcloud
Entre lematização e estemização, preferiu-se adotar a primeira pois, durante a
aplicação inicial das técnicas de classificação, evidenciaram-se acurácias ligeiramente
inferiores quando no uso da estemização (RSLPStemmer), excetuando-se apenas no caso
da técnica de Naïve Bayes. Ainda assim, a lematização foi realizada somente sobre
adjetivos, advérbios, verbos e verbos auxiliares (aqueles que auxiliam na conjugação de
outros verbos). Cada uma dessas classes gramaticais das palavras foi identificada com o
uso da biblioteca spaCy, com suas funções de parser e identificação de partes do discurso
(PoS). Ademais, foram removidos dos textos os artigos, as conjunções, as preposições,
os pronomes, os numerais e os símbolos ($, %, §, ©, +, −, ×, ÷, = etc). Também foram
removidos os caracteres de pontuação e as stopwords, mais especificamente as indicadas
pela NLTK para o português. Antes, chegou-se a adotar a lista de stopwords da spaCy,
mas isso influenciou negativamente na acurácia, devido a remoção de muitas palavras
relevantes ao corpus. E, por fim, todas as palavras foram convertidas em minúsculas. Os
textos resultantes desse pré-processamento serão aqui denominados como PRE-1. O
código usado para se obter PRE-1 é apresentado na Figura 4.
def tratar_texto_pre1(
texto, stopwords, not_tokens_pos, com_acentos, lemmatizar,stemmizar):
texto_resultante = texto.lower()
doc = nlp(texto_resultante)
chosen_tokens = []
tokens = [token for token in doc if not token.text in stopwords]
for token in tokens:
if token.is_alpha and token.pos_ not in not_tokens_pos:
if token.pos_ in lemmatizar:
token_lemma = token.lemma_
if token_lemma not in stopwords:
if token.text in ['amigo','amigos','amiga','amigas']:
chosen_tokens.append('amigo')
elif token.text in ['casa']:
chosen_tokens.append(token.text)
elif token.text in ['morte']:
chosen_tokens.append('morrer')
else:
chosen_tokens.append(token_lemma)
elif token.pos_ in stemmizar:
token_stemm = stemmer.stem(token.text)
if token_stemm not in stopwords:
chosen_tokens.append(token_stemm)
else:
chosen_tokens.append(token.text)
texto_resultante = ' '.join(chosen_tokens).strip()
if not com_acentos:
texto_resultante = unidecode(texto_resultante)
return texto_resultante
Para uma última alternativa, como procedimento de controle, definiu-se ainda que
os textos poderiam ser utilizados pelas técnicas sem qualquer transformação, apenas com
a fase de melhoria da qualidade, comentada anteriormente. Muitos exemplos de
classificação com o algoritmo BERT sugerem o uso dos textos originais, sem pré-
processamento. Dessa forma, tais textos sem pré-processamento, apenas com a melhoria
da qualidade, serão aqui referenciados como PRE-0.
A título de ilustração, são apresentados no Quadro 3 alguns textos originais (PRE-
0) do corpus e suas contrapartidas (PRE-1 e PRE-2) resultantes após os pré-
processamentos. É conveniente destacar que a palavra “mentir” está presente em textos
associados a três diferentes emoções, sendo assim é possível inferir que, dependendo das
demais palavras em que “mentir” se encontra ligada, será possível estabelecer uma
relação com uma determinada emoção.
Quadro 3 – Exemplos de textos pré-processados
Experimento Descrição
treinamento e teste do classificador regressão logística, utilizados os textos
RL (BoW) PRE-1
PRE-1 com a representação textual bag of words
treinamento e teste do classificador regressão logística, utilizados os textos
RL (TFIDF) PRE-1
PRE-1 com a representação textual TFIDF
treinamento e teste do classificador naïve bayes, utilizados os textos PRE-
NB (BoW) PRE-1
1 com a representação textual bag of words
treinamento e teste do classificador naïve bayes, utilizados os textos PRE-
NB (TFIDF) PRE-1
1 com a representação textual TFIDF
treinamento e teste do classificador SVM, utilizados os textos PRE-1 com
SVM (BoW) PRE-1
a representação textual bag of words
treinamento e teste do classificador SVM, utilizados os textos PRE-1 com
SVM (TFIDF) PRE-1
a representação textual TFIDF
treinamento e teste do classificador LSTM, utilizados os textos PRE-1 com
LSTM PRE-1
word embeddings do corpus ISEAR traduzido
treinamento e teste do classificador LSTM, utilizados os textos PRE-1 com
LSTM (NILC) PRE-1
word embeddings do NILC
treinamento e teste do classificador BLSTM, utilizados os textos PRE-1
BLSTM PRE-1
com word embeddings do corpus ISEAR traduzido
treinamento e teste do classificador NBSVM, utilizados os textos PRE-1
NBSVM PRE-1
com a representação textual bag of words
treinamento e teste do classificador BERT, utilizados os textos PRE-1 com
BERT PRE-1
o modelo BERTimbau Base
20
Disponível em https://github.com/fititnt/DicSin-dicionario-sinonimos-portugues-brasileiro
acrescido ao corpus se ele fosse distinto de todos os textos presentes no conjunto de dados
até aquele momento.
Após o aumento do corpus, o número de linhas por classe de emoção foi
contabilizado com as seguintes quantidades: alegria (1935), culpa (1900), desgosto
(1824), medo (1923), raiva (1931), tristeza (1855) e vergonha (1870). Talvez, o ligeiro
desbalanceamento criado não tenha sido impactante o suficiente para enviesar os
classificadores. De qualquer forma, os equivalentes experimentos realizados sobre o
corpus traduzido foram conduzidos, por fim, sobre o corpus estendido.
5. Resultados
Depois da realização dos primeiros 33 experimentos para o conjunto de dados apenas
traduzido, a acurácia da maioria dos classificadores de emoções demonstrou-se baixa.
Percebeu-se também um empate estatístico desde as métricas obtidas com classificadores
clássicos quanto para aqueles que se baseiam em aprendizado profundo (LSTM e
BLSTM), com exceção do classificador BERT.
Para as técnicas clássicas mais conhecidas (RL, NB e SVM) a que melhor se
destacou foi a SVM com TFIDF para textos PRE-0, com uma acurácia de 59,27%. Por
outro lado, o classificador baseado em NBSVM conseguiu 59,60% sobre textos PRE-2.
Os classificadores LSTM também alcançaram resultados muito próximos entre si,
independentemente do tipo de pré-processamento usado sobre os textos em que foram
treinados. Como anteriormente comentado, o único classificador com uma acurácia de
destaque foi o BERT, que atingiu 87,42% sobre textos PRE-0. Todos esses resultados
aqui pontuados encontram-se em negrito na Tabela 1.
É conveniente ressaltar que o algoritmo SVM, aqui em destaque, é também uma
técnica relevante e presente em muitos trabalhos, particularmente em três abordagens
anteriormente comentadas [Chaffar e Inkpen 2018], [Razek e Frasson 2017] e [Poria et al
2014]. Outra consideração importante é quanto ao classificador NBSVM, que procura
usufruir tanto de características do SVM quanto do Naïve Bayes. Também foram
investigadas algumas abordagens que enfatizam o uso de Naïve Bayes. No entanto, para
ambas as técnicas avaliadas aqui isoladamente, o algoritmo SVM alcançou resultados
ligeiramente melhores durante os experimentos realizados.
Com a ampliação do corpus e a realização dos correspondentes 33 experimentos
sobre o corpus estendido, houve resultados melhores para muitas métricas. A grande
maioria das técnicas apresentou acurácia acima de 70% e algumas com acurácias
superiores a 80%. O algoritmo BERT também teve uma pequena melhora em todas as
suas métricas.
As melhores pontuações (resultados em todas as métricas), englobando os
experimentos sobre o corpus traduzido e sobre o corpus estendido, foram aquelas
encontradas com as técnicas SVM TFIDF e BERT sobre os textos PRE-0 do corpus
estendido. Elas obtiveram acurácias de 85,31% e 89,95%, respectivamente, além de F1-
scores considerados altos. De qualquer forma, em termos gerais, constata-se que houve
uma melhora da acurácia de diferentes técnicas ao usar o corpus ampliado. Ademais, o
enriquecimento do corpus tende a torná-lo mais flexível e menos enviesado.
(a) (b)
Figura 8 – Matrizes de Confusão para
BERT (a) e SVM (TFIDF) (b) para PRE-0 do corpus ampliado
21
Disponível em https://www.kaggle.com
7. Referências Bibliográficas
Acheampong, F. A., Wenyu, C., Nunoo-Mensah, H. 2020. Text-based emotion detection:
Advances, challenges, and opportunities. Engineering Reports. 2020;2:e12189.
Alotaibi, F. 2019. Classifying Text-Based Emotions Using Logistic Regression.
VAWKUM Transactions on Computer Sciences. 31-37. 10.21015/vtcs.v16i2.551.
Asghar, M. Z., Subhan, F., Imran, M., Kundi, F. M., Khan, A., Shamshirband, S., Mosavi,
A., Csiba, P., Koczy, A. R. V. 2019. Performance Evaluation Of Supervised Machine
Learning Techniques For Efficient Detection Of Emotions From Online Content.
Billal, B., Fatiha, S., Mounir, B., Hakim, L. 2020. Towards a Multi-Dataset for Complex
Emotions Learning based on Deep Neural Networks. Workshop on Linguistic and
Neurocognitive Resources (LiNCr2020), pp. 50-58.
Bird, S., Klein, E., Loper, E. 2009. Natural Language Processing with Python. 1st. ed.
O’Reilly Media, Inc.
Bostan, L.; Klinger, R. 2018. An Analysis of Annotated Corpora for Emotion
Classification in Text. Proceedings of the 27th International Conference on
Computational Linguistics, pp 2104 - 2119. Santa Fe, New Mexico, USA, August 20-26,
2018.
Chaffar, S. e Inkpen, D. 2018. Using a Generic Text-based Approach for Emotion
Prediction. International Journal of Computing & Information Sciences. Vol. 14, No. 3.
pp. 7 – 13. December, 2018.
Cosme, C. A. 2014. A emoção de satisfação de alunos de cursos de EaD: perspectivas de
investigação e de análise utilizando a Appraisal Theory. Dissertação (Mestrado).
Universidade Vale do Rio dos Sinos, Programa de Pós-Graduação em Linguística
Aplicada. São Leopoldo. 2014.
Damásio, A. R. 2012. O Erro de Descartes. Companhia das Letras.
Danisman, T. e Alpkocak, A. 2008. Feeler: Emotion Classification of Text Using Vector
Space Model.
Devlin, J., Chang, M. W., Lee, K., Toutanova, K. 2018. BERT: Pre-training of Deep
Bidirectional Transformers for Language Understanding. 2018.
Dias, E. R. B., Matos, H. C. O., Melo, F. R. 2015. Estudo Comparativo da Precisão dos
Tradutores Bing e Google Tradutor por meio de Avaliação Automática em um Corpus
Linguístico inglês-português.
Dosciatti, M. M., Ferreira, L. P. C., Paraiso, E. C. 2013. Identificando Emoções em Textos
em Português do Brasil usando Máquina de Vetores de Suporte em Solução Multiclasse.
X ENIAC - 2013. Fortaleza, Ceará, 19 a 24 de outubro de 2013.
Edunov, S., Ott, M., Auli, M., Grangier, D. 2018. Understanding Back-Translation at
Scale.
Eisenstein, J. 2019. Introduction to Natural Language Processing. The MIT Press.
Ekman, P. 1992. Facial Expressions of Emotion: an Old Controversy and New Findings.
Philosophical Transactions of the Royal Society. London, B335:63-69.
Ferreira, M., Lopes, M. 2019. Linguística Computacional. Editora Contexto.
Freitas, C. 2013. Sobre a construção de um léxico da afetividade para o processamento
computacional do português. RBLA, Belo Horizonte, v. 13, n. 4, p. 1031-1059, 2013.
Gomes, C. A. V. 2014. A relação sujeito-objeto e a unidade afetivo-cognitiva:
contribuições para a Psicologia e para a Educação. Revista Quadrimestral da Associação
Brasileira de Psicologia Escolar e Educacional, SP. Volume 18, Número 1, Janeiro a Abril
de 2014: 161-168.
Kansaon, D., Brandão, M. A., Pinto, S. A. P. 2019. Analysis of Classification Algorithms
for Emotion Detection in Brazilian Portuguese Tweets (Análise de Algoritmos de
Classificação para Detecção de Emoções em Tweets em Português Brasileiro). iSys:
Revista Brasileira de Sistemas de Informação (Brazilian Journal of Information Systems),
12(3), 116-138.
Kim, S. M., Valitutti, A., Calvo, R. A. 2010. Evaluation of Unsupervised Emotion Models
to Textual Affect Recognition. Proceedings of the NAACL HLT 2010 Workshop on
Computational Approaches to Analysis and Generation of Emotion in Text. pp. 62–70.
Los Angeles, California, June 2010.
Machado, M. T., Pardo, T. A. S., Ruiz, E. E. S. 2018. Creating a Portuguese context
sensitive lexicon for sentiment analysis. PROPOR 2018. 13th International Conference
on the Computational Processing of Portuguese. Canela, September 24 to 26, 2018.
Martinazzo, B. 2010. Um Método de Identificação de Emoções em Textos Curtos para o
Português do Brasil. Dissertação de Mestrado apresentada ao Programa de Pós-
Graduação em Informática da Pontifícia Universidade Católica do Paraná. Curitiba. 2010.
Martins, V., Baptista, A. A Afetividade na Educação Online: Percursos e Possibilidades.
EaD em Foco, v. 8, n. 1, 27 abr. 2018.
Mitchell, T. M. 1997. Machine Learning. McGraw-Hill, New York.
Mohammad, S. M. e Turney, P. D. 2013. NRC Emotion Lexicon. NRC Technical Report,
2013, December.
Mohammad, S. M. 2017. Challenges in Sentiment Analysis. In: Cambria E., Das D.,
Bandyopadhyay S., Feraco A. (eds) A Practical Guide to Sentiment Analysis. Socio-
Affective Computing, vol 5. Springer, Cham.
Moore, M. G.; Kearsley, G. 2007. Educação a distância: uma visão integrada. Tradução
de Roberto Galman. São Paulo: Thomson Learning, 2007.
Moraes, J. B., Alves, I. M. R.; Rigo, S. J. 2020. Metáforas da Emoção no Contexto EaD:
Descrevendo padrões de figuras de linguagem com vistas ao desenvolvimento de um
software de detecção automática de sentimentos. Dissertação de Mestrado. Pós-
Graduação em Linguística Aplicada da Universidade do Vale do Rio dos Sinos –
UNISINOS.
Morais, F., Jaques, P. 2019. Detecção e predição de estados afetivos baseadas em
mineração de dados educacionais: considerando a personalidade do aluno para aumentar
a precisão da detecção. Anais dos Workshops do Congresso Brasileiro de Informática na
Educação, [S.l.], p. 1052, nov. 2019. ISSN 2316-8889.
Nowinska, M. 2014. Textos Sensíveis na Tradução Literária: Um Estudo de Caso. Paco
Editorial. p. 67. 2014.
Poria, S., Gelbukh, A., Cambria, E., Hussain, A., Huang, G. 2014. EmoSenticSpace: A
novel framework for affective common-sense reasoning.
Razek, M. A., Frasson, C. 2017. Text-Based Intelligent Learning Emotion System.
Journal of Intelligent Learning Systems and Applications. January 2017.
Santos, A. G. L.; Becker, K., Moreira, V. 2014. Mineração de emoções em textos
multilíngues usando um corpus paralelo. 29o SBBD. SBBD Proceedings. 6 – 9 out. 2014.
Curitiba, PR. ISSN 2316-5170.
Silva, A., Rigo, S., Alves, I., Barbosa, J. 2017. Avaliando a similaridade semântica entre
frases curtas através de uma abordagem híbrida. Proceedings of Symposium in
Information and Human Language Technology. Uberlândia, MG, Brazil, 2 – 5 out. 2017.
Souza, F., Nogueira, R., Lotufo, R. 2020. BERTimbau: pretrained BERT models for
Brazilian Portuguese. Intelligent Systems: 9th Brazilian Conference, BRACIS 2020.
Proceedings. Rio Grande do Sul, Brazil. October 2020.
Wang, S., Manning, C. 2012. Baselines and Bigrams: Simple, Good Sentiment and Topic
Classification. Proceedings of the 50th Annual Meeting of the Association for
Computational Linguistics (Volume 2: Short Papers). pp. 90–94. Jeju Island, Korea. July
2012.
APÊNDICE 1 – Nuvens de Palavras e Diagramas de Pareto