scieee AI-readable full text Open interactive document viewer

Análise de sentimentos em conteúdos textuais

Miranda, António Ilídio Sousa

Abstract

No mundo hodierno, o fluxo de dados da Web cresce de dia para dia. As pessoas possuem plataformas de fácil e rápido acesso, que permitem a exposição das suas opiniões sobre os mais diversos assuntos. Estas opiniões, frequentemente expressas em conteúdos textuais, são uma fonte de informação muito rica para os mais diversos ramos de negócio. Neste contexto a análise de sentimentos pode trazer mais valor aos processos de análise de dados e tomada de decisão. A análise de sentimentos providencia meios expeditos para analisar e avaliar opiniões, bem como inferir o sentimento que expressam. É uma tarefa que parece simples ao olho humano, mas que se torna extremamente complicada e desafiante quando atribuída a uma máquina. Neste trabalho de dissertação é explorado o processo da análise de sentimentos, em todas as suas etapas, desde o pré-processamento de dados, a extração de atributos, até à classificação de sentimentos propriamente dita. Após a realização de uma revisão detalhada da literatura do domínio, desenvolveram-se modelos baseados em léxicos e em machine learning que, posteriormente, foram aplicados num domínio de aplicação específico. Para a análise dos modelos foi utilizado um conjunto de dados em Português Europeu, com classes não balanceadas. Adicionalmente, foram utilizadas outras técnicas para colmatar a falta de equilíbrio dos dados disponíveis.

Full text

António Ilídio Sousa Miranda Análise de Sentimentos em Conteúdos Textuais Janeiro de 2024 António Ilídio Sousa Miranda Análise de Sentimentos em Conteúdos Textuais Dissertação de Mestrado Mestrado em Engenharia de Sistemas Trabalho efetuado sob a orientação do Professor Doutor Orlando Belo Janeiro de 2024 ii DIREITOS DE AUTOR E CONDIÇÕES DE UTILIZAÇÃO DO TRABALHO POR TERCEIROS Este é um trabalho académico que pode ser utilizado por terceiros desde que respeitadas as regras e boas práticas internacionalmente aceites, no que concerne aos direitos de autor e direitos conexos. Assim, o presente trabalho pode ser utilizado nos termos previstos na licença abaixo indicada. Caso o utilizador necessite de permissão para poder fazer um uso do trabalho em condições não previstas no licenciamento indicado, deverá contactar o autor, através do RepositóriUM da Universidade do Minho. Licença concedida aos utilizadores deste trabalho Atribuição CC BY https://creativecommons.org/licenses/by/4.0/ iii AGRADECIMENTOS Começo por agradecer à minha família: à minha mãe pelo exemplo de força e resiliência, por toda a dedicação na educação que me transmitiu e pelos conselhos que me deu e dá. Ao meu pai por todo o apoio nesta caminhada e por nos colocar no topo das suas prioridades. À minha irmã, por todo o amor e dedicação incondicional que deposita na nossa relação. Por me apoiar e motivar em todo o meu percurso académico e pessoal, e por ser um exemplo como pessoa e profissional. Aos meus avós por me acolherem de braços abertos na sua casa durante o meu percurso académico. Pelos abraços, pelos jantares feitos com tanto amor, pelas conversas, pelos beijinhos no “cachaço”, enfim, por serem quem são. Este trabalho de dissertação não seria possível sem a orientação do Professor Doutor Orlando Belo, e por isso deixo o meu agradecimento por todos os emails com o assunto “Novidades”, que me fizeram terminar esta dissertação, pelo empenho, pelo brio e por toda a paixão pelo ensino que se traduzem num profissional de excelência. Ao Carlos agradeço por acreditar em mim e em todo o meu trabalho, por tudo o que me ensinou e ensina profissionalmente e pessoalmente e pelo exemplo de humanidade e de perseverança. Sem ele e sem os seus “empurrões” este trabalho de dissertação não seria possível. Por fim, resta-me agradecer aos Tonecas pelo percurso académico que fizemos juntos nesta grande Academia Minhota, por todas os risos, discussões, por todas as noites no Gota D’Água… Por todas as vivências e pelas que ainda hão de vir o meu muito obrigado! iv DECLARAÇÃO DE INTEGRIDADE Declaro ter atuado com integridade na elaboração do presente trabalho académico e confirmo que não recorri à prática de plágio nem a qualquer forma de utilização indevida ou falsificação de informações ou resultados em nenhuma das etapas conducente à sua elaboração. Mais declaro que conheço e que respeitei o Código de Conduta Ética da Universidade do Minho. v RESUMO Análise de Sentimentos em Conteúdos Textuais No mundo hodierno, o fluxo de dados da Web cresce de dia para dia. As pessoas possuem plataformas de fácil e rápido acesso, que permitem a exposição das suas opiniões sobre os mais diversos assuntos. Estas opiniões, frequentemente expressas em conteúdos textuais, são uma fonte de informação muito rica para os mais diversos ramos de negócio. Neste contexto a análise de sentimentos pode trazer mais valor aos processos de análise de dados e tomada de decisão. A análise de sentimentos providencia meios expeditos para analisar e avaliar opiniões, bem como inferir o sentimento que expressam. É uma tarefa que parece simples ao olho humano, mas que se torna extremamente complicada e desafiante quando atribuída a uma máquina. Neste trabalho de dissertação é explorado o processo da análise de sentimentos, em todas as suas etapas, desde o pré-processamento de dados, a extração de atributos, até à classificação de sentimentos propriamente dita. Após a realização de uma revisão detalhada da literatura do domínio, desenvolveram-se modelos baseados em léxicos e em machine learning que, posteriormente, foram aplicados num domínio de aplicação específico. Para a análise dos modelos foi utilizado um conjunto de dados em Português Europeu, com classes não balanceadas. Adicionalmente, foram utilizadas outras técnicas para colmatar a falta de equilíbrio dos dados disponíveis. PALAVRAS-CHAVE: Análise de sentimentos, Processamento de Linguagem Natural, Machine Learning , Léxico, Análise de Opiniões. vi ABSTRACT Sentiment Analysis in Textual Content In today's world, the flow of data on the web is growing by the day. People have quick and easy access to platforms that allow them to express their opinions on a wide variety of subjects. These opinions, often expressed in textual content, are a rich source of information for a wide range of businesses. In this context, sentiment analysis can add value to data analysis and decision-making processes. Sentiment analysis provides an expedient means of analyzing and evaluating opinions, as well as inferring the sentiment they express. It's a task that seems simple to the human eye, but becomes extremely complicated and challenging when assigned to a machine. This dissertation explores the process of sentiment analysis in all its stages, from data pre-processing and attribute extraction to sentiment classification itself. After a detailed review of the literature in the field, models based on lexicons and machine learning were developed and then applied to a specific application domain. The models were analyzed using a European Portuguese dataset with unbalanced classes. In addition, other techniques were used to overcome the lack of balance in the available data. KEYWORDS Sentiment Analysis, Natural Language Processing, Machine Learning, Lexicon, Opinion Analysis. xiii LISTA DE ABREVIATURAS, SIGLAS E ACRÓNIMOS AD Árvore de Decisão AP Aprendizagem Profunda AS Análise De Sentimentos ASS Aprendizagem Semi-Supervisionada BERT Bidirectional Encoder Representations from Transformers BoW Bag of Words CBOW Continuous Bag of Words ML Machine Learning NV Naïve Bayes OS OverSampling PLN Processamento de Linguagem Natural POS Part-of-Speech RB Rede Bayesiana RF Random Forest RNAP Rede Neuronal De Aprendizagem Profunda RNAs Redes Neuronais Artificiais RNC Rede Neuronal Convolucional RNR Redes Neuronais Recorrentes SA Seleção de Atributos SG Skyp gram SVM Support Vector Machine TF-IDF Term Frequency-Inverse Document Frequency US Undersampling 1 1. INTRODUÇÃO 1.1. Contextualização As opiniões desempenham um papel importante na nossa vida quotidiana, uma vez que retratam, de forma direta ou indireta, o sentimento de uma pessoa, permitindo melhorar os processos de tomada de decisão (Rajalakshmi et al., 2017). Com o crescimento exponencial da tecnologia Web, e o fácil acesso à Internet, as compras online têm vindo a aumentar. Atualmente, as pessoas exprimem as suas opiniões e partilham as suas experiências, o que impacta profundamente as atitudes de novos compradores na aquisição de produtos (Riaz et al., 2019). Por isso, as opiniões escritas pelos utilizadores em análises de produtos, serviços ou eventos, têm um grande valor comercial. No entanto, o desafio é saber como processar automaticamente a informação contida nessas opiniões e fornecer um resumo dos aspetos mais relevantes daquilo que foi encontrado (Pereira, 2021). Essa informação permite às empresas fazer a monitorização das vendas dos seus produtos e serviços, a promoção de melhores relações com os seus clientes, o desenvolvimento de melhores estratégias de marketing e a melhoria dos seus produtos e serviços. A análise de sentimentos (AS) pode ajudar bastante na análise e tratamento dessas opiniões. Esta é uma área de estudo que ambiciona encontrar soluções computacionais para extrair e analisar as opiniões e emoções das pessoas, sobre uma entidade ou assunto, bem como caracterizar os seus diferentes aspetos, identificando o sentimento expresso nessas mesmas opiniões. Dada a origem das opiniões (redes sociais, blogs, sites de e-commerce, fóruns, etc.), estas são geralmente informais, podendo conter calão, ironias, sarcasmos, abreviaturas ou emoticons , o que torna a sua análise ainda mais difícil (Pereira, 2021). A AS tem vindo a ganhar notoriedade nos últimos anos, com alguma relevância em termos de aplicação, não só nos campos da investigação e do setor empresarial, mas também noutras áreas como a política e as organizações. Alguns estudos, por exemplo, utilizam as publicações da rede social X (antigo Twitter) para prever os resultados eleitorais (Birjali et al., 2021). O crescimento da investigação nesta área é evidente nas últimas décadas. Desde 2004, que a AS se tornou uma das áreas de investigação mais ativas e com maior crescimento (Mäntylä et al. 2018), havendo cada vez mais artigos focados na AS nos 2 últimos anos. Como se pode observar na Figura 1, a AS tem vindo a ganhar um interesse crescente de acordo com o Google Trends 1 Figura 1 - Evolução do nível de interesse na AS Relativamente aos idiomas, a AS para a língua inglesa está bastante avançada (L. Zhang et al., 2018). No entanto, os utilizadores de língua inglesa representavam apenas cerca de 25,9% dos utilizadores da Internet em todo o mundo em março de 2020 2 . O potencial para o desenvolvimento de aplicações que envolvem AS, em diferentes línguas, é, pois, vasto. Porém, os recursos linguísticos disponíveis noutras línguas ainda são limitados. É o que acontece com a língua portuguesa, uma das línguas mais faladas no mundo, com cerca de 290 milhões de falantes, representando o 5º lugar nas línguas mais faladas na web 3 . No Português as principais técnicas utilizadas são a tradução automática dos conjuntos de dados da língua-alvo para inglês, com a subsequente utilização dos métodos e recursos disponíveis para essa língua, ou a utilização de corpus paralelos, que não requerem um sistema de tradução. Estas estratégias têm revelado resultados um pouco melhores continuando, no entanto, a ser limitados (Pereira, 2021). 1 https://trends.google.com/trends/explore?date=all&q=%2Fm%2F0g57xn&hl=pt-PT 2 Top Ten Internet Languages in The World - Internet Statistics (internetworldstats.com) 3 Top Ten Internet Languages in The World - Internet Statistics (internetworldstats.com) 3 1.2. Motivação e Objetivos A AS é uma área bastante recente, que está em constante desenvolvimento. São cada vez mais as abordagens que surgem para resolver problemas que possam envolver aplicações de AS. Com a presente dissertação, pretendeu-se entender e aprofundar os conhecimentos na área da AS, analisando e implementando algumas das suas abordagens e modelos de aplicação. Neste trabalho, para além de se querer desenvolver competências numa área tão desafiadora e em constante progressão, também se procurou estudar aplicações práticas da AS e a sua importância na era digital. Adicionalmente, pretendia-se também avaliar o uso da língua portuguesa no estudo realizado, já que é um idioma menos aplicado neste domínio, o que, de facto, se tornou desafiador. Em suma, neste trabalho de dissertação pretendeu-se: • empreender um estudo exaustivo da literatura existente acerca da AS; • elencar as diversas técnicas e abordagens existentes no meio; • construir e desenvolver modelos de AS baseados em diferentes abordagens; • analisar de forma crítica os resultados obtidos; • identificar e enumerar os desafios gerais da AS, e mais especificamente os da língua portuguesa. Em termos gerais, todos os objetivos foram alcançados. De realçar, que foi feita uma revisão de literatura muito detalhada baseada num vasto número de artigos, debruçando-se sobre as técnicas atualmente existentes. Adicionalmente, foram construídos modelos baseados em léxicos e em machine learning (ML). Após a construção e aplicação dos modelos realizou-se uma análise crítica dos mesmos recorrendo a métricas como a exatidão, o F1-score e a sensibilidade. Tanto no momento de revisão de literatura como na fase da análise de resultados foram identificados desafios gerais da AS e da língua portuguesa. 4 1.3. Trabalho Realizado Neste trabalho de dissertação realizou-se, numa primeira fase, uma revisão bibliográfica, que cobriu grande parte do processo da AS. Foram explorados os diferentes níveis da AS, as técnicas e as ferramentas mais utilizadas no pré-processamento de dados, a forma de extrair e selecionar os atributos do modelo de classificação de sentimentos, as abordagens existentes e suas alternativas. Por fim, enumeraram-se sistemas e aplicações no domínio da AS, bem como, discutiu-se alguns dos aspetos mais avançados e desafiantes da área. Este trabalho culminou na aplicação do conhecimento adquirido no desenvolvimento e aplicação de alguns modelos de AS – um modelo baseado em léxicos e outros baseados em aprendizagem supervisionada. Estes modelos foram criados para trabalharem sobre um conjunto de dados extraídos de uma fonte de informação online (Trustpilot 4 ) através de um processo de webscraping. Posteriormente, os dados extraídos foram pré-processados, seguindo técnicas de Processamento de Linguagem Natural (PLN), de forma prepará-los para os modelos. Na fase final do pré-processamento foi realizada uma análise exploratória dos dados e desenvolveu-se um sistema de apoio à gestão estratégica para o caso de aplicação escolhido, a AS de críticas acerca de uma empresa de venda de material informático. Por fim, procedeu-se à análise dos modelos implementados, utilizando métricas adequadas, e estudaram-se algumas formas para melhorar os processos de AS implementados e eliminar ou atenuar algumas das suas fragilidades. 1.4. Estrutura da Dissertação Para além do presente capítulo, esta dissertação está organizada da seguinte maneira: - Capítulo 2 – Análise de Sentimentos –, no qual se apresenta uma revisão de literatura dos temas a abordar, de forma a melhor se compreender esta área de estudo, e expõe-se alguns dos processos da AS, bem como as abordagens e técnicas usualmente utilizadas no seu domínio. - Capítulo 3 – Classificação de Sentimentos –, capítulo em que se exploram os diferentes modelos de classificação de sentimentos presentes na literatura, as medidas de desempenho para 4 https://pt.trustpilot.com/ 5 analisar os resultados dos modelos, os sistemas e aplicações da AS e os seus tópicos avançados e desafios. - Capítulo 4 – Preparação do Processo de Análise –, no qual se apresenta e analisa o conjunto de dados selecionado para o projeto, a metodologia de extração utilizada, e o processo de tratamento e transformação de dados realizado. - Capítulo 5 – Os Modelos de Análise –, capítulo em que são analisados os modelos e as técnicas selecionadas para este trabalho, explica-se o funcionamento do sistema desenvolvido e analisase os resultados obtidos. - Capítulo 6 – Conclusões e trabalho futuro –, no qual se expõe algumas breves conclusões acerca do trabalho realizado e sugere-se a realização de algumas tarefas para melhorar o trabalho realizado no âmbito desta dissertação. 6 2. ANÁLISE DE SENTIMENTOS 2.1. Níveis da Análise de Sentimentos A AS pode ser pensada a diversos níveis. Dependendo do objetivo deve-se optar por diferentes níveis de granularidade. Por exemplo, A. e Sonawane (2016) , tal como, Wankhade, Rao, e Kulkarni (2022), consideram 4 níveis de análise: documento, frase, aspeto e palavra. No entanto, comummente são identificados apenas três desses níveis (Fang & Zhan, 2015; Medhat et al., 2014): documento, frase e aspeto. Nesta dissertação apenas serão analisados e utilizados estes aspetos. Nível do Documento Ao nível do documento, num processo de AS, procura-se classificar se a opinião, em todo o documento, revela um sentimento positivo ou negativo (Pang et al., 2002). Assim, tendo, por exemplo, um texto contendo uma crítica de um produto, o sistema de AS irá determinar se a opinião na sua generalidade é positiva ou negativa. Desta forma, a classificação de sentimentos assume que cada crítica apenas expressa a opinião acerca de uma entidade. Este nível de análise não pode ser aplicado quando o documento se refere a mais que uma entidade (Fang & Zhan, 2015). Na literatura do domínio, considerando-se que se consegue classificar uma opinião como sendo binária (positiva ou negativa) ou ordinária (p.e. 1 a 5), parte-se do seguinte pressuposto: a classificação dos sentimentos pressupõe que a opinião num dado documento d (por exemplo, uma análise do produto) exprime opiniões sobre uma única entidade e contém opiniões de um único titular de opinião h (B. Liu, 2010). Nível da Frase Na classificação de sentimentos ao nível da frase, usualmente classifica-se cada frase do documento como sendo positiva, negativa ou neutra (B. Liu, 2012). Este nível prende-se muito com a classificação da subjetividade, algo que será explorado posteriormente. Em traços gerais, neste tipo de classificação procura-se reconhecer as frases (frases-alvo) que expressem perspetivas subjetivas e opiniões (chamadas de frases subjetivas) (Joshi et al., 2017). A abordagem mais geral considera a procura da orientação sentimental das palavras individuais numa frase e, depois, a combinação dessas orientações com vista a determinar o sentimento de toda a frase, 7 No entanto, existem outras abordagens que consideram a estrutura do discurso num determinado texto (A. & Sonawane, 2016). Nível do Aspeto Tanto os processos de AS ao nível do documento como ao nível da frase não determinam, exatamente, aquilo que as pessoas gostaram ou não. Ao nível do aspeto, o processo de AS realiza uma análise mais refinada. Em vez de analisar as construções linguísticas (documentos, parágrafos, frases ou orações), ao nível do aspeto, o processo analisa diretamente a opinião em si, baseando-se na ideia de que uma opinião é constituída por um sentimento (positivo ou negativo) e um alvo (de opinião). Uma opinião sem o seu alvo identificado, é uma opinião de utilidade limitada (B. Liu, 2012). Assim, num conteúdo textual podem ser identificados diversos aspetos, sendo que para cada aspeto a classificação do sentimento pode ser distinta. (Wankhade et al., 2022). 2.2. Recolha e Pré-Processamento de Dados O processo de recolha de dados é o ponto de partida de um processo de AS. Nesta primeira etapa procura-se escolher a melhor forma de angariar os dados que serão utilizados na AS. Dependendo da função do processo de AS a executar, os dados textuais podem ser combinados com outros tipos de dados, como por exemplo vídeos, áudios, localizações, etc. (Wankhade et al., 2022). Por outro lado, os dados podem advir de muitas fontes, sendo recolhidos, na generalidade dos casos, através de API, ou então, utilizando-se processos de webscraping . Neste processo, algumas das fontes de informação mais usuais são: - As redes sociais - O crescimento notório das redes sociais, como o X (antigo Twitter), Amazon, Instagram, Facebook, nas quais são discutidas diversas temáticas, produtos, eventos, etc., geram um enorme volume de informação, que é um excelente recurso para a investigação académica e para as atividades empresariais (Sun et al., 2017). Como afirma Bing Liu, nos últimos anos, testemunhou-se que as publicações de opinião nas redes sociais ajudaram a reformular negócios e a influenciar os sentimentos e as emoções do público, impactando profundamente os sistemas socioculturais. Liu, ainda acrescenta, que as publicações opinativas têm também mobilizado imensas pessoas para mudanças políticas, como aquelas que 8 aconteceram em alguns países árabes em 2011 (B. Liu, 2012). Posto isto, a AS tornou-se essencial para analisar a informação que nelas é gerada dia após dia. - Os fóruns - Estes são utilizados pelas pessoas para discutirem vários tópicos, trocar opiniões e ideias e solicitar assistência através de mensagens de texto. Os fóruns são uma fonte interessante para a AS devido à alteração constante da informação gerada pelo utilizador. Além disso, os investigadores podem efetuar processos de AS em domínios específicos, utilizando os fóruns como fonte (Wankhade et al., 2022). - Os blogues – Os blogues, ou Weblogs, tornaram-se cada vez mais populares nos últimos anos. Resumidamente, um blogue é uma publicação na Internet que permite aos utilizadores adicionar conteúdo periodicamente, normalmente por ordem cronológica inversa, de uma forma relativamente fácil (Chau & Xu, 2007). Os blogues combinam, de igual forma, páginas Web pessoais com outros elementos de referenciação de dados de modo a facilitar a ligação a outras páginas, bem como a publicação de comentários e reflexões posteriores (Blood, 2004). Assim, os blogs permitem que uma qualquer pessoa expresse as suas ideias e pensamentos. São um recurso muito valioso para suporte à realização de processos de AS (Annett & Kondrak, 2008). - Os Websites de e-commerce permitem aos seus utilizadores apresentarem as suas experiências de compra e as suas opiniões acerca da qualidade dos produtos que adquiriram. Usualmente, permitem acolher resumos dos produtos adquiridos, e das suas características, bem como atribuir classificações ou pontuações a esses produtos de acordo com alguns critérios. Os utilizadores podem facilmente visualizar opiniões e informações de recomendação sobre produtos, bem como sobre as suas características específicas. Em Saifee & Teraiya (2013) e Tripathi (2014) podem-se ver alguns exemplos de websites de e-commerce muito populares, tais como o amazon.com ou o tripadvisor.com. Após a seleção da fonte de informação e dos dados a recolher é realizado um processo de préprocessamento dos dados para que estes possuam qualidade para a criação de classificadores de sentimentos confiáveis. O pré-processamento dos dados é o processo de limpeza e preparação do texto para a fase de classificação. Os textos recolhidos online são conhecidos por terem bastante “ruído”, isto é, partes sem relevância e bastantes erros ortográficos e gramaticais. Adicionalmente, muitas das palavras, dos textos provenientes dessas fontes não possuem relevância para a orientação semântica do 9 conteúdo textual. Assim, se não for feita uma limpeza dos dados extraídos, o processo de classificação será mais difícil de realizar. Em termos gerais, um processo de pré-processamento de dados bem realizado deverá reduzir o ruído no texto, o que contribui para melhorar o desempenho do classificador e acelerar o processo de classificação, levando a uma melhor AS de uma forma global. Um processo de pré-processamento de dados realiza-se em várias etapas, que podem ser divididas, basicamente, em etapas de transformação e de filtragem. As etapas de transformação que foram destacadas por Birjali et al. (2021) e Haddi et al. (2013) são: - Tokenização - este passo divide o texto em elementos mais pequenos denominados tokens (por exemplo, documento em frases ou frases em palavras); - Remoção de stop words - as stop words são palavras que não contribuem frequentemente para a análise e, por isso, são removidas antecipadamente (por exemplo, "o", "ao", "de"). - Rotulagem de Part-of-Speech (POS) - esta etapa reconhece diferentes elementos estruturais de um texto, como verbos, substantivos, adjetivos ou advérbios. - Stemming - esta é uma técnica usada para reduzir palavras à sua forma base (ou raiz), removendo sufixos e prefixos. Por exemplo, as palavras "correr", "corrida" e "corredor" seriam reduzidas a "corr". - Lematização - é a técnica de conversão de uma determinada palavra numa forma básica. É semelhante à técnica de stemming , exceto que a lematização mantém a informação relacionada com as palavras, como as etiquetas PoS. - Tratamento da negação - a negação consiste no uso de termos de negação (e. g. “não”, “nem”) que podem inverter a orientação semântica de uma frase. No pré-processamento podem ser aplicadas diversas metodologias para lidar com estes termos. Algumas técnicas passam pela eliminação do próprio termo ou, em oposição, pela mudança da sua polaridade. - Maiúsculas/Minúsculas - é comum converter todas as letras maiúsculas em minúsculas. Esta conversão permite normalizar as palavras. Assim, evita que palavras começadas por letra maiúscula não sejam compreendidas pelo algoritmo como palavras diferentes quando estão escritas completamente em minúsculas. 16 Como se pode analisar pelo diagrama apresentado, no CBOW, as palavras com significado mais próximo são utilizadas para prever as palavras-alvo, enquanto que, no Skip-gram, utiliza-se as palavras-alvo para prever as palavras significativas do contexto (Kumar & Vardhan, 2022). Na Figura 3 apresenta-se um exemplo prático. A palavra alvo neste caso é “Site” e o contexto “Muito”, “Difícil”, “De”, “Utilizar”. Por um lado, no CBOW, a palavra-alvo “Site” é prevista utilizando as palavras do contexto, enquanto no modelo SG prevê-se as palavras do contexto utilizando a palavra-alvo. Figura 3 - Exemplo do modelo Word2Vec (Mikolov et al., 2013). - GloVe (Global Vectors for Word Representation). O GloVe foi desenvolvido por Pennington, Socher, e Manning (2014) utilizando um método de aprendizagem não supervisionada para gerar a incorporação de palavras a partir de uma matriz de coocorrência palavra-a-palavra de um corpus. O GloVe é um método bastante popular, uma vez que é simples e rápido de treinar (Wankhade et al., 2022). Segundo os autores do modelo, as estatísticas de ocorrências de palavras num corpus são a principal fonte de informação disponível para todos os métodos não supervisionados de aprendizagem de representações de palavras e, embora existam muitos desses métodos, atualmente temos dificuldades na forma como o significado é gerado a partir destas estatísticas e, além disso, como os vetores de palavras resultantes podem representar esse significado. O método desenvolvido pode ser explicado através do seguinte exemplo. Considere-se duas palavras 𝑖 e 𝑗, 𝑖 = 𝑔𝑒𝑙𝑜 e 𝑗 = 𝑣𝑎𝑝𝑜𝑟. A relação entre estas palavras pode ser examinada estudando o rácio das suas probabilidades de coocorrência com várias palavras-sonda, 𝑘. Para as palavras 𝑘 relacionadas com 𝑔𝑒𝑙𝑜, mas não com 𝑣𝑎𝑝𝑜𝑟, digamos 𝑘 = 𝑠ó𝑙𝑖𝑑𝑜, espera-se que o rácio 𝑃𝑖𝑘 /𝑃𝑗𝑘 seja grande. Do mesmo modo, para as palavras 𝑘 relacionadas com 𝑣𝑎𝑝𝑜𝑟, mas não com 𝑔𝑒𝑙𝑜, ou seja 𝑘 = 𝑔á𝑠, o rácio deve 17 ser pequeno. Para palavras 𝑘 como á𝑔𝑢𝑎 ou 𝑚𝑜𝑑𝑎, que estão relacionadas tanto com 𝑔𝑒𝑙𝑜 como com 𝑣𝑎𝑝𝑜𝑟, ou com nenhum dos dois, o rácio deve ser próximo de um. A Tabela 7 mostra estas probabilidades e os seus rácios para um grande corpus. Os números apresentados confirmam as assunções feitas anteriormente. Em comparação com as probabilidades brutas, o rácio permite distinguir palavras relevantes (𝑠ó𝑙𝑖𝑑𝑜 e 𝑔á𝑠) de palavras irrelevantes (á𝑔𝑢𝑎 e 𝑚𝑜𝑑𝑎), bem como permite discriminar as duas palavras relevantes. Assim, utilizando o modelo GloVe, pode-se concluir que o ponto de partida adequado para a aprendizagem de vetores de palavras, deve ser estabelecido com rácios de probabilidades de coocorrência e não com as próprias probabilidades. 𝑃𝑟𝑜𝑏𝑎𝑏𝑖𝑙𝑖𝑑𝑎𝑑𝑒 𝑒 𝑅á𝑐𝑖𝑜 𝑘=𝑠ó𝑙𝑖𝑑𝑜 𝑘=𝑔á𝑠 𝑘=á𝑔𝑢𝑎 𝑘=𝑚𝑜𝑑𝑎 𝑃(𝑘|𝑔𝑒𝑙𝑜) 1.9×10−4 6.6×10−5 3.0×10−3 1.7×10−5 𝑃(𝑘|𝑣𝑎𝑝𝑜𝑟) 2.2×10−5 7.8×10−4 2.2×10−3 1.8×10−5 𝑃(𝑘|𝑔𝑒𝑙𝑜)/𝑃(𝑘|𝑣𝑎𝑝𝑜𝑟) 8.9 8.5×10−2 1.36 0.96 Tabela 7 – Exemplo da aplicação do método GloVe adaptado de Pennington et al. (2014). - BERT (Bidirectional Encoder Representations from Transformers). O BERT foi um modelo desenvolvido por Devlin et al. (2019) para permitir pré-treinar representações bidirecionais profundas a partir de texto não rotulado. Ao contrário de modelos anteriores que processavam o contexto de uma palavra apenas da esquerda para a direita ou vice-versa, o BERT leva em consideração tanto o contexto à esquerda quanto à direita de cada palavra. Como resultado, o modelo BERT pré-treinado pode ser ajustado com apenas uma camada de saída adicional para criar modelos de última geração para uma vasta gama de tarefas, como a resposta a perguntas e a inferência linguística, sem modificações substanciais na arquitetura específica da tarefa (Devlin et al., 2019). Este modelo pode ser utilizado na aprendizagem preliminar profunda da representação bidirecional de texto, para posterior utilização em modelos de aprendizagem automática. Ao contrário de outras técnicas de incorporação, o BERT “entende” o contexto e gera uma incorporação dinâmica das palavras num dado contexto (Gomes et al., 2023). 18 Seleção de atributos A descrição de uma peça de dados é realizada através das suas características, dos seus atributos. Um atributo pode ser irrelevante, relevante ou redundante. A fim de remover características irrelevantes e redundantes, podem-se utilizar vários métodos de SA. A SA é um processo de identificação e eliminação de atributos excessivos e irrelevantes para reduzir espaço dos atributos e ajudar a melhorar a exatidão da classificação dos sentimentos (Ahmad et al., 2019). Os métodos de SA podem dividir-se em métodos baseados em léxicos e métodos baseados em estatísticas (H. Zhang et al., 2014). Nas abordagens baseadas em léxicos, os atributos são gerados por humanos. Geralmente o processo inicia-se com a recolha de termos que possuem um sentimento forte, por forma a construir um pequeno conjunto de atributos. Seguidamente, este conjunto é enriquecido com outros termos através da deteção de sinónimos ou de recursos online. O ponto mais forte destas abordagens é a sua eficácia. A SA de forma manual reduz a falha, mas torna o processo moroso e difícil (Birjali et al., 2021). Por outro lado, as abordagens baseadas em estatísticas são automáticas e mais utilizadas na SA. Porém, estas abordagens falham muitas vezes na separação dos atributos que carregam sentimentos dos que não possuem qualquer sentimento (Duric & Song, 2012). As abordagens baseadas em estatísticas são divididas em quatro categorias: filtro, embrulho, incorporação e híbrido. Observe-se cada uma delas: - Filtro. Esta é a técnica de SA mais frequentemente aplicada. Permite selecionar os atributos sem utilizar qualquer técnica de ML, utilizando antes as propriedades gerais dos dados de treino. O atributo é classificado utilizando várias métricas estatísticas. Em seguida, são escolhidos os atributos com as classificações mais elevadas. As métricas são computacionalmente pouco dispendiosas e adequadas para conjuntos de dados com um elevado número de atributos (Wankhade et al., 2022). Algumas das métricas correntemente utilizadas são: Rácio de Probabilidades, Qui-Quadrado, Coeficiente de GSS, Separação Bi-normal, Diferença de Contagem, Qui-Quadrado Melhorado e Critério Discriminativo Relativo Multivariado (Madasu & Elango, 2020). - Wrapper . Esta abordagem depende de algoritmos de ML. A avaliação que realiza do subconjunto de atributos baseia-se no desempenho do algoritmo de ML que foi escolhido. O facto de depender do resultado dos algoritmos torna esta metodologia tipicamente iterativa e computacionalmente exigente. No entanto, possui um bom desempenho na identificação dos 19 atributos que possuem melhores resultados para cada algoritmo de modelação (Birjali et al., 2021). A abordagem de embrulho é uma combinação de algoritmos de aprendizagem, tais como, Naive Bayes (NB) ou Support Vector Machine (SVM), e estratégias de geração de subconjuntos de atributos (seleção para a frente ou para trás) (Wankhade et al., 2022). - Incorporação. Os métodos de incorporação são muito similares aos métodos de embrulho. Todavia, este tipo de abordagem incorpora o processo de SA na execução do algoritmo de modelação. Desta feita, utiliza algoritmos de classificação que contêm a capacidade de SA (H. Liu et al., 2019). Por conseguinte, é computacionalmente mais eficiente do que a abordagem anterior. No entanto, esta abordagem é específica para o algoritmo de aprendizagem aplicado (Hoque et al., 2014). As abordagens de incorporação baseiam-se em vários tipos de algoritmos de árvores de decisão, como o CART, C4.5 e ID3, para além de outros algoritmos como o LASSO (Birjali et al., 2021). - Híbrido. Esta técnica é uma combinação de abordagens de filtro e de embrulho. Em geral, os métodos híbridos combinam diferentes abordagens para obter o melhor subconjunto de atributos possível. As abordagens híbridas na sua generalidade permitem alcançar melhores desempenhos e maiores precisões, uma vez que tiram partido das características das abordagens combinadas (Birjali et al., 2021). 2.4. Classificação de Subjetividade A AS pode ser feita ao nível do documento, sendo este tomado como opinativo na sua totalidade. No entanto, a classificação dos sentimentos também pode ser aplicada ao nível da frase. Nesta modalidade, apenas as frases que são consideradas opinativas são tidas em conta. A este processo de seleção do conteúdo, chama-se classificação de subjetividade. (B. Liu, 2010). Na classificação de subjetividade procura-se distinguir o conteúdo objetivo do subjetivo. Por um lado, o conteúdo objetivo apresenta informação factual acerca do mundo, enquanto que as frases subjetivas expressam sentimentos pessoais, pontos de vista ou crenças (B. Liu, 2012). O foco da classificação da subjetividade é remover os dados objetivos antes da classificação de sentimentos (Kamal, 2013). Deste modo, é considerado por muitos o primeiro passo num processo de AS (Ligthart et al., 2021). A classificação de subjetividade, como referem Kasmuri e Basiron (2017), 20 procura detetar pistas de subjetividade , palavras que carreguem emoção ou subjetividade, como “fácil”, “caro”, “pior”, e com estas pistas distinguir o conteúdo objetivo do subjetivo. Existem diversas formas de realizar a classificação de subjetividade. Muitos estudos baseiam-se em técnicas de ML, abordagens baseadas em léxicos, anotação manual, abordagens semânticas e baseadas em regras. No estudo de revisão sistemática da literatura realizado por Kasmuri e Basiron (2017), verifica-se que, nos artigos analisados, as abordagens mais comuns são baseadas em ML e em léxicos. Por um lado, utilizando ML os dados são classificados em classes subjetivas e objetivas baseando-se em características definidas. A aprendizagem dos modelos para classificar a subjetividade é feita através de modelos treinados com algoritmos. Existem três grandes tipos de algoritmos de aprendizagem: algoritmo de aprendizagem supervisionada; algoritmo de aprendizagem semi-supervisionada e algoritmo de aprendizagem não-supervisionada. Pang e Lee (2004); Hasan et al. (2018) e Islam et al. (2018) produziram trabalhos utilizando a classificação de subjetividade baseada em ML. Para além destes muitos mais autores utilizaram esta forma de classificação, sendo uma das mais utilizadas no meio. Por outro lado, quando temos abordagens baseadas em léxicos, os léxicos possuem palavras que se encontram rotuladas como positivas ou negativas ou positivas, negativas e neutras. Assim, cada token é comparado com o léxico rotulado para obter o valor de subjetividade. A subjetividade do documento é determinada pelo valor obtido. Alguns autores como Kiritchenko, Zhu, e Mohammad (2014) e Stoyanov e Cardie (2008) utilizaram estas técnicas nos seus estudos. 21 3. CLASSIFICAÇÃO DE SENTIMENTOS Um dos passos mais importante, muitas vezes crítico, na AS é a seleção de uma técnica adequada para classificar os sentimentos (Hemmatian & Sohrabi, 2017). Por este motivo, os investigadores propõem, avaliam e comparam constantemente diferentes abordagens. O objetivo deste trabalho é aumentar o desempenho da AS e encontrar soluções para os desafios desta área. Além disso, a aplicação da AS em novos domínios é um grande incentivo à sua investigação (Birjali et al., 2021). Figura 4 - Taxonomia das técnicas de Classificação de Sentimentos - imagem adaptada de Birjali et al., 2021; C. N. Dang et al., 2021 As técnicas de classificação de sentimentos podem ser divididas, genericamente, em abordagens de ML, abordagens baseadas em léxicos e abordagens híbridas (Figura 4) (Birjali et al., 2021; Medhat et al., 2014; Rajalakshmi et al., 2017; Wankhade et al., 2022). O ML é a abordagem mais utilizada, que se baseia em algoritmos de ML e em características linguísticas para efetuar a classificação dos sentimentos. As abordagens baseadas em léxicos utilizam um léxico de sentimentos que representa uma lista de palavras e frases que são normalmente utilizadas para exprimir sentimentos positivos ou 22 negativos (Jurek et al., 2015). Por fim, as abordagens híbridas, como o próprio nome indicia, combinam o ML e as abordagens baseadas em léxico para melhorar o desempenho da AS. Assim, nesta secção procura-se explicar, categorizar, resumir e comparar as técnicas existentes. 3.1. Abordagens Baseadas em Léxicos As abordagens baseadas em léxicos, também designadas por abordagens baseadas em conhecimento, são uma das duas principais abordagens utilizadas para a AS. Este tipo de abordagem requere um recurso lexical designado por léxico de opinião (uma lista predefinida de palavras) que associa as palavras à sua orientação semântica como palavras negativas, positivas ou neutras. (Hu & Liu, 2004). Consoante a orientação da palavra é-lhe atribuída uma pontuação que irá representar a sua polaridade. A palavra pode ter a polaridade de + 1, 0, - 1 que representa positivo, neutro, negativo, ou a pontuação pode ser atribuída com base na intensidade da polaridade e os seus valores variam entre [+ 1, - 1], em que + 1 representa altamente positivo e - 1 representa altamente negativo. Neste tipo de abordagem, para um determinado comentário ou texto, é realizada a agregação das pontuações de cada palavra, fazendo-se a soma das pontuações positivas, negativas e neutras de forma separada. Na fase final, a polaridade global é atribuída ao texto com base no valor mais elevado das pontuações individuais. O documento em análise é primeiro dividido em palavras individuais, sendo depois a polaridade de cada palavra calculada e agregada no final. A técnica baseada em léxicos é extremamente viável para a AS ao nível da frase e do aspeto. Uma vez que não são necessários dados de treino, esta técnica pode ser designada como uma técnica não supervisionada. Por outro lado, a desvantagem primordial desta técnica é a dependência no contexto, uma vez que as palavras podem ter diversos significados e sentidos, o que faz com que uma palavra num dado contexto possa ser positiva e num outro contexto negativa (Moreo et al., 2012). Por exemplo, considere-se a palavra "alto" e as frases "O nível de qualidade é alto" e "O preço do telemóvel é alto". Na primeira frase, a palavra "alto" é positiva, já que as pessoas procuram sempre o maior nível de qualidade, enquanto na segunda frase a palavra é negativa, dado que as pessoas procuram sempre o menor preço. Este problema pode ser ultrapassado através do desenvolvimento de um léxico de sentimentos específico para cada contexto ou da adaptação de um vocabulário existente. Alguns dos léxicos mais conhecidos para a AS em conteúdos textuais portugueses são: OpLexicon, Dicionário LIWC (LIWC-PT), SentiLex, e os conjuntos de sinónimos com polaridade do Onto.PT. O OpLexicon e o LIWC-PT 23 foram construídos tendo por base o Português do Brasil, e o SentiLex e os conjuntos de sinónimos com polaridades do Onto.PT foram construídos para o Português Europeu (Pereira, 2021). A abordagem manual requer a intervenção humana para anotar o léxico. A criação de léxicos de sentimentos divide-se em duas fases: a geração da lista de palavras com sentimentos e a atribuição de etiquetas de sentimentos a essas palavras. Este processo é normalmente muito trabalhoso, dispendioso e moroso, mas pode gerar um léxico consistente e idóneo. Para acelerar este processo, pode recorrerse a abordagens automatizadas. Quando se recorre a abordagens automatizadas, apenas se realizam procedimentos de avaliação comparativos ou minimização de erros de forma manual. Dicionários A abordagem baseada em dicionários consiste na utilização de uma lista predefinida de palavras de opinião recolhidas manualmente (Kaity & Balakrishnan, 2020). A utilização desta abordagem para compilar sentimentos é recorrente, dado que os léxicos contêm listas de sinónimos. Assim, nos dicionários parte-se do princípio de que palavras sinónimas possuem a mesma polaridade, enquanto as palavras antónimas têm polaridade oposta. Numa abordagem por dicionários, começa-se por criar um pequeno conjunto de palavras, chamado de lista semente, no qual são identificadas manualmente algumas palavras de sentimento que têm uma orientação semântica positiva ou negativa. De seguida, procura-se aumentar o conjunto de palavras através da pesquisa de sinónimos e antónimos, das palavras do conjunto, em dicionários, tais como o WordNet (Miller et al., 1990), o SentiWordNet (Baccianella et al., 2010; Esuli & Sebastiani, 2006), SenticNet (Cambria et al., 2020) ou MPQA (Wilson et al., 2005), entre outros. Depois, as palavras encontradas nesta etapa são adicionadas à lista de semente, iniciando-se a próxima iteração do algoritmo de pesquisa. Este processo itera até não se detetar mais palavras novas (Hemmatian & Sohrabi, 2017). Numa última etapa, pode ser feita uma avaliação ou correção manual para garantir a qualidade do processo. 24 Corpus Esta técnica utiliza padrões semânticos e sintáticos para determinar o sentimento presente numa frase. Com esta técnica, começa-se com uma lista de palavras de sentimento semente com orientação préconhecida. De seguida, investigam-se os padrões sintáticos ou de coocorrência num corpus de grande dimensão, para descobrir mais palavras com sentimento e a sua orientação (Wankhade et al., 2022). Na área da AS, a orientação semântica de uma palavra depende do contexto no qual nos encontramos. Portanto, na compilação de um conjunto de palavras com polaridade, a abordagem mais adequada para a obtenção de palavras de opinião dependentes do contexto é a baseada em corpus (Dolores MolinaGonzález et al., 2015). Quando se pretende adaptar um léxico de sentimentos de uso geral a um contexto específico, integrando listas de palavras com opinião, recorre-se a uma abordagem baseada num corpus (Molina-González et al., 2013). Os princípios básicos desta técnica foram propostos por Hatzivassiloglou & McKeown (1997). No estudo que realizaram, estes autores criaram uma lista de adjetivos, com a respetiva orientação, e, em seguida, determinaram novos adjetivos, juntamente com a sua orientação, utilizando algumas restrições linguísticas. Neste processo, adicionalmente, são aplicadas algumas regras às conjunções (p.e, “e”, “mas”, “ou”), que são apelidadas de consistência do sentimento. Uma das regras incide sobre a conjunção "e". Neste caso, considera-se que a junção dos adjetivos, através da conjunção, não altera a sua orientação inicial. Tome-se por exemplo a frase "este filme é bom e cativante". Nesta frase, a conjunção "e" faz com que os dois adjetivos "bom" e "cativante" se juntem, o que, de acordo com a regra citada, sendo a palavra "bom" tomada como positiva, " cativante" também o será, já que a orientação inicial é imutável (B. Liu, 2012). Por outro lado, considerando a conjunção “ou”, segundo o estudo, esta apontará para uma mudança de orientação. Embora estas regras sejam conhecidas como consistência do sentimento, na prática, não são tão consistentes como o desejado, já que em alguns momentos as conjunções podem não ter o efeito que a regra prevê. A abordagem baseada no corpus pode ser dividida em abordagem estatística ou semântica. Veja-se cada uma destas abordagens: - Abordagem Estatística. De uma forma geral, esta abordagem baseia-se na ideia de que, se uma palavra ocorrer com mais frequência em textos positivos, então a sua polaridade é positiva. Ao passo que se ocorrer com mais frequência em textos negativos, então a sua polaridade é negativa. Se as frequências forem iguais, trata-se de uma palavra neutra. Os estudos defendem que as palavras de opinião semelhantes aparecem frequentemente juntas num mesmo corpus. Por conseguinte, se duas palavras aparecem frequentemente juntas no mesmo contexto, é 25 provável que tenham a mesma polaridade (Medhat et al., 2014). Em suma, as palavras de opinião têm geralmente a mesma orientação, se surgirem juntas frequentemente no mesmo contexto. - Abordagem Semântica. Esta abordagem fornece diretamente valores às palavras de opinião e baseia-se em vários princípios para calcular a semelhança entre palavras. Nesta técnica atribuise valores de sentimento semelhantes a palavras semanticamente próximas. O WordNet, por exemplo, para calcular polaridades fornece diferentes tipos de relações semânticas entre palavras utilizadas. Desta feita, pode-se recorrer a este dicionário para obter uma lista de palavras de opinião, expandindo iterativamente o conjunto inicial com sinónimos e antónimos e determinando depois a polaridade de uma palavra desconhecida através da contagem relativa de sinónimos positivos e negativos dessa palavra (S.-M. Kim & Hovy, 2004). 3.2. Abordagens Baseadas em Machine Learning Vejam-se agora as abordagens de ML. Estas são utilizadas com o objetivo de classificar a polaridade da opinião (negativa, positiva ou neutra), com base em conjuntos de dados de treino e de teste (Birjali et al., 2021). Essencialmente, estas abordagens dividem-se em três categorias (Figura 5), nomeadamente: aprendizagem supervisionada, semi-supervisionada e não supervisionada (Hemmatian & Sohrabi, 2017; Ligthart et al., 2021). A abordagem supervisionada aplica-se quando o processo de classificação possui um conjunto específico de classes. No entanto, se for difícil determinar este conjunto devido à ausência de dados rotulados, a abordagem não supervisionada será a opção. Alternativamente, a abordagem semisupervisionada pode ser utilizada para conjuntos de dados não rotulados que incluem alguns exemplos rotulados. As abordagens de ML permitem a aprendizagem de padrões específicos de um domínio a partir de um texto, o que conduz a melhores resultados de classificação. No entanto, o maior entrave nestas abordagens é que, muitas vezes, requerem grandes conjuntos de dados de treino para obter um bom desempenho. Releve-se, porém, que um classificador treinado num conjunto de dados específico não tem um desempenho tão bom num outro domínio (Agarwal, 2022; Yoo & Nam, 2018). 32 requere menos esforço humano e garante maior exatidão, pelo que são de grande interesse na área da extração de opiniões (Hemmatian & Sohrabi, 2017). Self-training Esta abordagem é considerada como um dos métodos mais famosos e populares entre os métodos de ASS, sendo aplicado recorrentemente em casos que envolvam grandes volumes de dados não rotulados, como por exemplo publicações de redes sociais, como o X (antigo Twitter) (Gao et al., 2014; He & Zhou, 2011; Hong et al., 2014). Os métodos de self-training dividem-se, essencialmente, em duas fases: num primeiro momento o classificador é treinado com um pequeno número de dados rotulados e numa segunda fase, o classificador treinado classificará amostras de teste (não rotuladas). As amostras de teste que forem rotuladas com a máxima fiabilidade serão adicionadas aos dados de treino. O classificador será novamente treinado com o conjunto de todas as amostras de treino (incluindo as novas) e o processo será repetido. Desta forma, o classificador utiliza a sua previsão para aumentar os seus dados de treino. O modelo final é testado com os dados de teste (Hong et al., 2014). Uma abordagem self-training modifica o modelo com base nos seus resultados. Assim, se o modelo gerar resultados errados, a modificação do modelo pode ser realizada de forma incorreta. Os resultados errados de um modelo influenciam os modelos que dele decorrem. Para atenuar este ponto fraco, Hong et al. (2014) propuseram uma técnica de self-training competitiva, na qual são desenvolvidos três modelos com base nos resultados, sendo escolhido o melhor dentro destes. Aprendizagem Multi-view Na abordagem multi-view , como o nome indicia, toma-se em consideração múltiplos pontos de vista para tratar o problema da classificação de sentimentos, realizando-se a classificação através da concordância entre os modelos (Su et al., 2012). Nesta abordagem, cada classificador é treinado de acordo com um único princípio. Após o treino, os classificadores são utilizados para rotular as amostras ainda não rotuladas, que depois serão adicionadas ao conjunto de treino, caso tenham sido classificadas com elevada fiabilidade. Esta técnica é geralmente aplicada a problemas que envolvam um grande número de atributos. Esta abordagem pode ser aplicada em processos de AS que envolvam vários idiomas, uma problemática que tem sido amplamente investigada nos últimos anos (Hemmatian & Sohrabi, 2017). Y. Su et al. (2012) propuseram uma abordagem de aprendizagem multi-view para a classificação semi-supervisionada de sentimentos, utilizando duas estratégias para gerar diferentes 33 pontos de vista: uma designada por estratégia de partição de atributos, que divide o conjunto de atributos em diferentes espaços disjuntos, e outra apelidada de tradução de idiomas, que traduz o texto original para outros idiomas. Esses autores aplicaram o algoritmo de co-training e conseguiram obter melhores resultados em comparação com outras abordagens da literatura, como, por exemplo a de Dasgupta & Ng (2009). Co-training Este método foi desenvolvido por Blum & Mitchell (1998) e parte do princípio de que cada exemplo pode ser explicado por dois conjuntos de atributos diferentes, que possuem informações distintas e complementares sobre cada amostra. No co-training , existem dois classificadores distintos que são treinados para se ensinarem mutuamente, ou, como o nome sugere, colaborativamente, com base na informação partilhada entre eles durante a fase de treino. A fase de treino é composta por várias iterações. A cada iteração são adicionadas as instâncias classificadas com maior confiança por cada um dos classificadores ao conjunto de dados de treino, obtendo-se, deste modo, um grande conjunto de dados de treino. A fase de treino termina quando todos os dados não rotulados tiverem sido utilizados ou quando for atingido um número específico de iterações (Silva et al., 2016). Yu (2014) analisou o cotraining de forma minuciosa, discutindo estratégias para a AS em três domínios: artigos de notícias, críticas online e publicações em blogues. Generativo O método generativo é um dos pioneiros na ASS. Neste método, assume-se que dados de diferentes categorias seguem distribuições diferentes. Preferencialmente, os parâmetros para a distribuição das diferentes categorias são estimados quando existe pelo menos um registo rotulado para cada uma delas. Muitos dados não rotulados podem contribuir para uma estimativa mais exata das distribuições (Han et al., 2020). Em Mesnil et al. (2015), os autores propuseram um sistema combinado composto por três modelos de base, sendo um deles baseado numa abordagem generativa. Cada um destes três modelos contribui para o sucesso do sistema global. O sistema desenvolvido apresentou um elevado desempenho no conjunto de dados de críticas de filmes IMDB. 34 Grafos Nesta abordagem utilizam-se estruturas de grafos para acolher os dados. Os vértices do grafo ilustram as instâncias (por exemplo, frases ou palavras), enquanto as arestas descrevem a semelhança entre as instâncias. As instâncias fortemente conectadas tendem geralmente a pertencer à mesma classe (Hajmohammadi et al., 2015). Dada a utilização recorrente desta abordagem em muitos estudos, atestou-se a sua elevada eficácia em tarefas de PLN, como a AS (Xing et al., 2018). Na literatura podemse encontrar vários exemplos deste tipo de abordagem, dos quais destacam-se Graph Mincut (Blum & Chawla, 2001), Label Propagation (Khan et al., 2014), Spectral Graph Transducer (Joachims, 2003), Manifold Regularization (Belkin et al., 2006) e Modified Adsorption (Talukdar & Crammer, 2009). Wang et al. (2011) utilizaram uma abordagem baseada em grafos para analisar as hashtags presentes em publicações da rede social X, para inferirem o sentimento expresso na publicação através das hashtags presentes. Aprendizagem Não supervisionada Existem muitas fontes de dados sobre as quais se podem aplicar processos de AS. No entanto, estas fontes usualmente não estão rotuladas. O processo de rotulação é feito manualmente tornando-o exigente e moroso. Como tal, as técnicas não supervisionadas são uma boa alternativa para os casos em que a totalidade dos dados não estão rotulados. As técnicas não supervisionadas baseiam-se no clustering . O clustering tem como objetivo identificar padrões nos dados, organizando-os em clusters distintos nos quais os membros partilham semelhanças sob uma perspetiva específica. Nesse sentido, os dados dentro de um mesmo cluster são mais semelhantes entre si do que com os dados de outros clusters . A medida de semelhança é frequentemente baseada em distância, ou seja, amostras que estão mais próximas entre si são agrupadas no mesmo cluster . Por exemplo, quando se aplica o clustering em documentos, a proximidade de dois documentos da amostra pode ser determinada com base no número de palavras em comum (Hemmatian & Sohrabi, 2017). 35 As técnicas de clustering podem ser divididas em duas grandes categorias: - Clustering Hierárquico. Os métodos hierárquicos criam uma decomposição hierárquica de um conjunto de dados que é representado por clusters em “ninho”, isto é, grupos que possuem subgrupos. Estes clusters estão organizados em forma de árvore (G. Li & Liu, 2014). As técnicas hierárquicas podem ser divididas em duas estratégias baseando-se na sua estrutura, o clustering aglomerativo e divisivo (Murtagh & Contreras, 2012). O clustering divisivo, também designado por abordagem descendente, parte de um cluster individual que agrupa todos os dados. De seguida, o cluster inicial é dividido em subclusters através de um processo recursivo, baseado na semelhança entre os dados. Por outro lado, o clustering aglomerativo ou abordagem ascendente, considera que cada dado singular faz parte de um só cluster . Durante o processo, os clusters que contém dados semelhantes são fundidos. O algoritmo termina quando não houver mais semelhanças entre os dados, podendo, o resultado, ser um só cluster ou um conjunto deles. - Clustering por Partição. Os métodos de partição procuram dividir os dados num conjunto de clusters não sobrepostos, em que cada elemento é atribuído a apenas um cluster (Cui et al., 2005). Esta partição baseia-se num critério de semelhança que, em geral, é a distância euclidiana entre elementos. Dados do mesmo cluster possuem uma distância pequena entre si, ao contrário de dados de diferentes clusters . O algoritmo de partição mais popular é o algoritmo k-means e as suas variantes. Riaz et al. (2019) aplicaram este famoso algoritmo ao nível da frase em opiniões de clientes com o objetivo de entender a preferência do cliente dadas as suas expressões subjetivas. Os algoritmos de clustering de partição são tidos como mais adequados para lidar com grandes conjuntos de dados em relação aos hierárquicos, devido aos seus requisitos computacionais relativamente baixos (Huang, 2008) Aprendizagem Profunda A aplicação da aprendizagem profunda (AP) baseada em Redes Neuronais Artificiais (RNAs) tornou-se muito popular nos últimos anos. De forma resumida, a AP utiliza uma “cascata” de várias camadas de unidades de processamento não lineares para a extração e transformação de atributos. As camadas inferiores, próximas da entrada de dados, aprendem os atributos mais simples, enquanto as camadas superiores aprendem atributos mais complexos provenientes da camada inferior. Assim, com a AP é 36 possível treinar modelos mais complexos com conjuntos de dados maiores, obtendo bons resultados (Birjali et al., 2021). Na Figura 7 pode-se ver um exemplo de AP que revela a hierarquia dos atributos, da esquerda (uma camada inferior) para a direita (uma camada superior), no qual se utilizou AP na classificação de imagens de rostos. A evolução da aprendizagem vai aumentando de complexidade, de camada para camada, iniciando-se na esquerda por manchas/bordas e evoluindo para narizes/olhos/bochechas até na última camada possuirmos os rostos. Figura 7 - Exemplo de Aprendizagem Profunda, adaptado de Lee et al. (2009) Nos últimos anos, os modelos de AP têm sido amplamente aplicados no domínio da PLN, revelando bons resultados. Foram em tempos colocadas fora de hipótese pelos seus elevados custos computacionais. Neste momento, devido aos avanços a nível do hardware e ao enorme volume de dados de treino disponíveis encontram-se em voga (L. Zhang et al., 2018). De seguida, de forma sucinta, descrevem-se as principais arquiteturas de AP que podem ser aplicadas na classificação de sentimentos, nomeadamente as Redes Neuronais de AP, as Redes Neuronais Convolucionais e as Rede Neuronais Recorrentes (Birjali et al., 2021). 37 A rede neuronal de aprendizagem profunda (RNAP) é uma RNA com várias camadas ocultas, entre a camada de entrada e a camada de saída de dados. A camada de entrada inclui os dados de entrada, enquanto que as camadas ocultas são compostas por nós de processamento, conhecidos por neurónios, e a camada de saída compreende um ou vários neurónios, utilizados para produzir os resultados da aprendizagem da rede (N. C. Dang et al., 2020). A RNAP utiliza modelos matemáticos sofisticados e o poder de aprendizagem das RNA para encontrar a relação correta, quer esta seja linear ou não, o que permite converter uma entrada numa saída. O processo de fluxo das RNAs e, consequentemente, das RNAPs pode ser classificado como progressivo ou regressivo. As RNAs progressivas são redes simples, pelo que são adequadas para a classificação de sentimentos, enquanto que as redes regressivas são mais complexas e frequentemente utilizadas em problemas de regressão, como a previsão de valores contínuos ou séries temporais (L. Zhang et al., 2018). Por sua vez, uma rede neuronal convolucional 5 (RNC) é uma variante de uma rede neuronal progressiva, que, originalmente, foi utilizada em domínios como a visão computacional, sistemas de recomendação ou o PLN. Trata-se de uma arquitetura de RNAP, normalmente composta por camadas convolucionais e de agrupamento, ou subamostragem para fornecer entradas a uma camada de classificação totalmente ligada. Por um lado, as camadas de convolução filtram as suas entradas para extrair atributos (e. g., incorporação de palavras na classificação de sentimentos), podendo os resultados dos vários filtros serem combinados. As camadas de agrupamento ou de subamostragem reduzem a resolução dos atributos, o que ajuda a fortalecer a robustez da RNC relativamente ao ruído e à distorção dos dados. As camadas totalmente ligadas efetuam tarefas de classificação. (N. C. Dang et al., 2020). Y. Kim (2014) aplicou uma RNC alicerçado na técnica de extração de atributos Word2Vec, concluindo que o pré-treino não supervisionado de vetores de palavras é um ingrediente importante na AP para o PLN. Outro modelo baseado em RN são as redes neuronais recorrentes (RNR). Neste modelo utiliza-se uma célula de memória para processar uma sequência de entradas. Com isto, a capacidade das RNR de capturar e memorizar informações sobre uma sequência longa faz com sejam utilizadas em tarefas de 5 A palavra "convolutional" refere-se a uma operação específica na área de processamento de imagens e de redes neurais. Em português, ela é comumente traduzida como "convolucional", devido à sua natureza técnica, mantendo a forma original da mesma. 38 PLN, como a AS. Nas RNRs o resultado depende de toda a computação anterior. Isto significa que, para prever a palavra seguinte numa frase, o modelo utiliza todos os estados das palavras anteriores e a relação entre elas (Birjali et al., 2021). Um dos trabalhos mais citados das RNRs é o da Memória de Curto Prazo, apresentado por Hochreiter & Schmidhuber (1996). Este modelo é aplicado em diversos domínios, como, por exemplo na geração de texto, tradução automática e reconhecimento de fala. 3.3. Abordagens Híbridas As abordagens híbridas são constituídas por metodologias que unem métodos distintos da classificação de sentimentos, por forma a obter melhores resultados. Na literatura surgem muitos exemplos de abordagens híbridas que fundem técnicas e que conseguem obter melhores resultados do que as mesmas técnicas isoladamente. Por exemplo, Rehman et al. (2019) propuseram um modelo híbrido para AS. O modelo que conjugou a RNC e a Memória de Curto Prazo teve um desempenho muito bom, em termos de exatidão em dois conjuntos de dados de referência de críticas de filmes, em comparação com os modelos em separado. Por sua vez, o modelo CNN-LSTM híbrido que foi proposto alcançou 91% de exatidão em comparação com os modelos tradicionais de ML e de AP. Também Khan et al. (2014) desenvolveram um novo algoritmo para a AS no X, baseado numa classificação de três vias e incorporando uma forma melhorada de análise de emoticons, a análise SentiWordNet e um classificador de polaridade melhorado, que utiliza uma lista de palavras positivas/negativas. Os resultados revelaram grandes melhorias em comparação com trabalhos semelhantes. Estes obtiveram uma exatidão média de 85,7%, com 85,3% de precisão e 82,2% de sensibilidade. Por fim, Appel et al. (2016) apresentaram uma abordagem híbrida ao nível da frase, que utilizou um léxico de sentimentos melhorado com o auxílio da SentiWordNet e com conjuntos difusos, para estimar a polaridade da orientação semântica e a sua intensidade para as frases. O método híbrido proposto foi aplicado a três conjuntos de dados diferentes. Os resultados desse método foram comparados com os que foram obtidos utilizando as técnicas NB e Entropia Máxima, demonstrando que a abordagem híbrida era, assim, mais exata e precisa do que as técnicas concorrentes, em particular quando estas últimas eram utilizadas isoladamente. 39 3.4. Medidas de Desempenho Entre as técnicas mais utilizadas para avaliar e resumir o desempenho de um modelo de classificação, encontram-se as Matrizes de Confusão, a Receiver Operator Characteristic (ROC) e a Area Under the Curve (AUC) (Birjali et al., 2021). Uma matriz de confusão básica é uma matriz 2 por 2, conforme apresentado na Tabela 8, que resume o número de amostras corretas e incorretas previstas por um classificador, na qual: - VP representa o número de amostras positivas, que são previstas corretamente como positivas pelo classificador. - FP representa o número de amostras negativas, que são previstas incorretamente como positivas pelo classificador. - FN representa o número de amostras positivas, que são incorretamente previstas como negativas pelo classificador. - VN representa o número de amostras negativas, que são corretamente previstas como negativas pelo classificador. Estes números são muito úteis para algumas medidas de desempenho, nomeadamente para aquelas que estão apresentadas na Tabela 9. Matriz de Confusão Valor Real Positivo Negativo Valor Previsto Positivo VP (Verdadeiro Positivo) FP (Falso Positivo) Negativo FN (Falso Negativo) VN (Verdadeiro Negativo) Tabela 8 - Matriz de Confusão 40 Métrica Descrição Fórmula Avaliação Exatidão A exatidão é a métrica mais utilizada nos problemas de classificação e representa o rácio entre os exemplos corretamente previstos e o número total de exemplos. Pode-se obter o erro, aplicando 1 − 𝑒𝑥𝑎𝑡𝑖𝑑ã𝑜 𝑉𝑃+𝑉𝑁 𝑉𝑃+𝑉𝑁+𝐹𝑃+𝐹𝑁 A exatidão é uma boa escolha para a classificação de sentimentos no ML quando as classes no conjunto de dados são quase equilibradas. Precisão A precisão representa a proporção de amostras que foram corretamente previstas como positivas em relação ao número total de amostras positivas previstas. 𝑉𝑃 𝑉𝑃+𝐹𝑃 Esta métrica é adequada para problemas em que a previsão deve ser fiável. Sensibilidade A sensibilidade é definida como a proporção de amostras que foram corretamente previstas como positivas em relação a todas as amostras positivas. Assim, mede-se a classificação incorreta do modelo. 𝑉𝑃 𝑉𝑃+𝐹𝑁 Ao contrário da precisão, a sensibilidade pode ser utilizada em problemas em que há uma classe predominante. F1-score A pontuação F1 é um número entre 0 e 1 que ajuda a medir tanto a precisão como a sensibilidade, calculando a média harmónica destas duas métricas. 2∗𝑝𝑟𝑒𝑐𝑖𝑠ã𝑜∗𝑠𝑒𝑛𝑠𝑖𝑏𝑖𝑙𝑖𝑑𝑎𝑑𝑒 𝑝𝑟𝑒𝑐𝑖𝑠ã𝑜+𝑠𝑒𝑛𝑠𝑖𝑏𝑖𝑙𝑖𝑑𝑎𝑑𝑒 Uma vez que não é fácil comparar dois classificadores com elevada sensibilidade e baixa precisão ou vice-versa, a F1-score pode ser a chave para este problema. A F1score gere a compensação para um modelo que requer uma previsão precisa e a escolha de uma classe dominante. Especificidade A especificidade representa o oposto da sensibilidade. 𝑉𝑃 𝑉𝐹+𝐹𝑃 Esta métrica pode ser utilizada para consolidar a precisão. Tabela 9 – Medidas de desempenho Fonte: Birjali et al. (2021) 41 3.5. Sistemas e Aplicações A AS tenta descrever e avaliar os sentimentos expressos sobre questões de interesse dos utilizadores da Web . Estas questões podem incluir marcas ou produtos, mas também outros temas, como assuntos sociais, políticos, económicos e culturais. De seguida, abordam-se algumas das áreas de aplicação da AS: - Business Intelligence. Neste campo as empresas podem explorar os resultados da AS para melhorar os produtos, estudar o feedback dos clientes ou adotar uma nova estratégia de marketing. Assim, analisar as perceções dos clientes sobre produtos ou serviços é a aplicação mais comum da AS neste ramo. No entanto, estas análises não são aplicáveis apenas às empresas produtoras, mas aos clientes também, já que as podem utilizar para comparar produtos e tomar decisões mais acertadas (Birjali et al., 2021). - Mercado de ações. Uma das aplicações da AS é a previsão do preço das ações. Esta pode ser efetuada através da análise de notícias sobre o mercado de ações e da previsão das tendências do preço das mesmas. Os dados podem ser recolhidos de várias fontes, como o X, notícias, blogues, etc. As notícias positivas tendem a conduzir a uma tendência ascendente, enquanto as notícias negativas tendem a conduzir a uma tendência descendente do preço das ações (Wankhade et al., 2022). - Inteligência governamental. Para além dos comentários sobre a compra e venda de bens, com a utilização generalizada e abrangente dos serviços da internet pelas pessoas, os utilizadores começaram também a comentar várias questões políticas, sociais, religiosas e culturais. A recolha e a análise destes comentários ajudam de forma significativa os políticos, os gestores sociais ou ativistas religiosos e culturais a tomar decisões adequadas para melhorar a vida social da comunidade. Uma das aplicações mais significativas nestes domínios é a das eleições políticas, havendo diversos estudos que tentam prever as mesmas (Hemmatian & Sohrabi, 2017). 48 4.4. Tratamento e transformação dos dados O tratamento e transformação dos dados é um dos processos mais importantes da AS e consiste na preparação dos dados para a sua utilização nos modelos de AS. O bom desempenho de um modelo em classificar as opiniões está estritamente relacionado com um pré-processamento de dados bem estruturado e bem aplicado, O processo de pré-processamento de dados que foi adotado encontra-se representado na Figura 8. As tarefas definidas para este processo foram determinadas de acordo com a literatura que foi explorada anteriormente, no Capítulo 2. No caso em estudo procurou-se utilizar as tarefas que melhor se aplicavam ao conjunto de dados em mãos. No fim do pré-processamento dos dados, espera-se que os dados estejam uniformizados, sem ruído e estruturados, melhorando, assim, todo o processo futuro da classificação das opiniões. De seguida apresenta-se com mais detalhe cada uma das tarefas definidas neste processo. Figura 8 – As tarefas do processo de pré-processamento de dados Transformação da coluna classificação Como se pode ver, os dados extraídos possuem a classificação no formato “Classificada [número de estrelas atribuídas] em 5 estrelas”. Nesta tarefa foi selecionado apenas o número de estrelas atribuídas, que foi armazenado como número inteiro. Os resultados da transformação que foi realizada para a coluna estão apresentados na Tabela 14. 49 Classificação Original Classificação Modificada Classificada 1 em 5 estrelas 1 Classificada 2 em 5 estrelas 2 Classificada 3 em 5 estrelas 3 Classificada 4 em 5 estrelas 4 Classificada 5 em 5 estrelas 5 Tabela 14 - Transformação da coluna classificação É importante relevar o significado que cada classificação tem. Na Tabela 15 tem-se a correspondência estabelecida, na qual o valor ‘1’ pressupõem uma opinião “Muito Negativa” e o valor ‘5’ uma opinião “Muito Positiva”. Classificação Representação 1 Muito Negativa 2 Negativa 3 Neutra 4 Positiva 5 Muito Positiva Tabela 15 – Correspondência das classificações Aquando da revisão bibliográfica foi entendido que, na grande generalidade dos casos, os modelos são treinados para classificar os conteúdos textuais em apenas 3 ou em 2 classes. Segundo Subhashini et al. (2021), 83% dos artigos publicados na classificação de sentimentos utilizaram uma escala binária, enquanto que os restantes 17% utilizaram uma escala com 3 classes. No entanto, neste trabalho, pretendeu-se explorar a possibilidade de aumentar o número de classes, analisando a reação dos modelos utilizados. Não obstante, sabe-se que o desempenho dos modelos será diferente, dependendo do número de classes a utilizar. Quantas mais classes existirem, maior é a probabilidade de o classificador errar, enquanto que um número menor de classes aumenta essa mesma probabilidade. Deste modo, foram criados dois conjuntos de dados distintos. Um conjunto de dados que inclui todas as classes e um outro considerando apenas 3. Para se criar o conjunto com 3 classes, converteu-se as classes negativas numa classe e as classes positivas noutra, permanecendo a classe neutra inalterada. Assim, agora as classes 1 e 2 são transformadas na classe -1, as classes 4 e 5 na classe 1, e, por último, a classe 3 em 0. Desta forma, obteve-se a distribuição de classes que está apresentada na Tabela 16. 50 As restantes tarefas do pré-processamento foram aplicadas de igual modo para os dois conjuntos de dados. Classificação Representação Frequência -1 Negativa 5210 0 Neutra 1336 1 Positiva 44292 Tabela 16 – Distribuição das opiniões por classes Separação de Palavras Ao fazer-se a análise das opiniões encontraram-se diversos casos nos quais as palavras estavam unidas, quer por motivos de pontuação ou simplesmente porque não tinham um espaço entre elas. Quando se observam estas palavras, parece não haver entraves na perceção das mesmas. Porém, para os sistemas estas palavras são consideradas como palavras únicas e acrescem à dimensão do vocabulário. E isso é, obviamente, um problema. Vejam-se alguns exemplos: 1. Simplesmente top Comprei dois artigos superou completamente as minhas expectativas Envio extremamente rápido!Muito bem cuidado e selado!Farei mais compras nesta loja garantidamente 2. Muito tempo de espera para levantamento de encomenda já pagaDeveria de haver um método mais célere para este serviço No primeiro exemplo as palavras encontram-se unidas pelos pontos de exclamação. Já no segundo exemplo, as palavras estão simplesmente unidas, estando a primeira letra da segunda palavra em maiúscula. As palavras que ocorrem nestes dois exemplos foram separadas por diferentes regras. Para os casos idênticos ao primeiro exemplo foram acrescentados espaços junto das pontuações. Já nos casos idênticos ao segundo exemplo, localizou-se os termos que possuem a estrutura minúsculas – maiúscula – minúsculas e separou-se as palavras quando surgia a letra maiúscula. Após a aplicação dessas regras, obteve-se os seguintes resultados com os dois exemplos anteriormente apresentados: 51 1. Simplesmente top Comprei dois artigos superou completamente as minhas expectativas Envio extremamente rápido ! Muito bem cuidado e selado ! Farei mais compras nesta loja garantidamente 2. Muito tempo de espera para levantamento de encomenda já paga Deveria de haver um método mais célere para este serviço Esta tarefa teve um impacto enorme na dimensão do vocabulário, reduzindo-o para 30654 palavras, o que representa uma redução de 43% da dimensão do vocabulário inicial. Transformação em Minúsculas Uma das tarefas indispensáveis no tratamento de conteúdos textuais é a passagem de todos as palavras para minúsculas. Uma tarefa simples, mas indispensável. A sua realização é necessária uma vez que uma mesma palavra com letras maiúsculas é vista de forma distinta da mesma palavra com letras minúsculas. Esta tarefa deve ser executada na altura correta, já que a preservação da escrita pode ser útil. Para entender isso, basta analisar os exemplos anteriores, nos quais a preservação das maiúsculas permitiu separar palavras e garantir a melhor qualidade dos dados. A passagem para minúsculas é retratada no exemplo apresentado na Tabela 17. Opinião Original Transformação em minúsculas Direto , rápido , eficaz . Excelente modelo de negocio . direto , rápido , eficaz. excelente modelo de negocio . Tabela 17 - Transformação em minúsculas Tokenização A tokenização é uma tarefa simples, que, basicamente, sustenta a divisão das frases de um texto em tokens . Esta divisão é importante para que no futuro se consigam aplicar técnicas de extração de atributos, como aquela que pode ser realizada com o Word2Vec (Mikolov et al., 2013). No caso em estudo, utilizou-se a biblioteca spaCy (Honnibal et al., 2020), que apresenta diversas ferramentas para PLN, em diversos idiomas, sendo um deles o Português. Como se sabe, existem outras ferramentas para realizar este tipo de tarefa, mas dadas as funcionalidades específicas do spaCy e o material de apoio disponível online, optou-se pela sua escolha neste trabalho. Mantendo o exemplo usado anteriormente na transformação das palavras em minúsculas, na Tabela 18 apresenta-se o resultado da tokenização de uma das opiniões. Após a passagem de todas as palavras para minúsculas e a realização da tarefa de tokenização sobre o conjunto de dados, o vocabulário ficou com 22170 palavras. 52 Opinião Tokenização direto, rápido , eficaz. excelente modelo de negocio . [“direto”, “,”, “rápido”, “,”, “eficaz”, “.”, “excelente”, “modelo”, “de”, “negocio”, “.”] Tabela 18 - Token ização Part-of-speach (POS) Tagging Até ao momento realizaram-se as tarefas que não afetam estruturalmente a sintaxe das opiniões. Porém, agora, pretende-se analisar os comentários, rotulando (etiquetando) cada token com a sua classe gramatical. Este processo é bastante importante, uma vez que permite reduzir a dimensão do vocabulário e, consequentemente, a complexidade do modelo de análise, através da remoção de todos os tokens que não transmitem qualquer sentimento. A rotulagem das classes gramaticais foi feita utilizando também a biblioteca spaCy. O resultado pode ser visto na Figura 9. Figura 9 – Contagem de classes gramaticais contidas nas opiniões Os rótulos aplicados pela spaCy seguem rótulos universais (Marneffe et al., 2021), que são de fácil leitura se se considerar a língua inglesa. Analisando o gráfico apresentado, verifica-se que a maioria dos tokens são nomes, seguindo-se de tokens de pontuação e de verbos. A atribuição de rótulos aos tokens pode ser analisada através do exemplo apresentado na Tabela 19. Assim, as palavras “loja”, “marcas” e “preços” foram classificadas como nomes, “ótima” e “melhores” como adjetivos, “as” como 53 determinantes, “com” como preposição ( adposition em inglês), “.” como pontuação e “e” como conjunção. Opinião Rótulos POS [“ótima”, “loja”, “com”, “as”, “melhores”, “marcas”, “e”, “preços”, “.”] [ADJ, NOUN, ADP, DET, ADJ, NOUN, CCONJ, NOUN, PUNCT] Tabela 19 - Rótulos POS De seguida, procedeu-se à remoção de todos os tokens que não fossem nomes, adjetivos, advérbios ou verbos, já que são apenas estes que expressam sentimento. Os restantes tokens são vistos como ruído para o sistema de classificação (Martins et al., 2020; Shafie et al., 2018). Deste modo, depois da remoção das classes não essenciais, tendo em consideração os resultados da Tabela 19, ficou-se apenas com os tokens apresentados na Tabela 20. Após esta tarefa, o vocabulário ficou reduzido para 20956 palavras. Opinião Rótulos POS [“ótima”, “loja”, “melhores”, “marcas”, “preços”] [ADJ, NOUN, ADJ, NOUN, NOUN] Tabela 20 - Remoção das classes gramaticais Remoção de StopWords As stopwords são palavras que geralmente não acrescentem valor à classificação de sentimentos, sendo removidas no processo de pré-processamento. A biblioteca spaCy (Honnibal et al., 2020) considera um conjunto de stopwords de 416 palavras, incluindo conjunções de verbos, numeração escrita por extenso, entre outros. Foram identificados e removidos em todas as opiniões os tokens e rótulos POS desses mesmos tokens, que correspondiam às stopwords presente no conjunto do spaCy (Honnibal et al., 2020). Esta tarefa foi realizada após a remoção de palavras pela sua classe gramatical, uma vez que a remoção dos tokens correspondentes às stopwords altera a sintaxe das frases. Se fosse realizada a remoção de stopwords em primeiro lugar levar-se-ia a erros na classificação das classes gramaticais das palavras. O exemplo que de seguida se apresenta (Tabela 21) expõe os resultados após a aplicação da tarefa de remoção de stop words. Pode-se ver que as palavras “não” e “momento”, foram eliminadas após a aplicação desta técnica, juntamente com os seus rótulos POS . 54 Opinião Remoção de StopWords [“entrega”, “rápida”, “não”, “funcionava”, “momento”, “espera”, “resposta”] [“entrega”, “rápida”, “funcionava”, “espera”, “resposta”] Tabela 21 - Remoção de StopWords No gráfico seguinte (Figura 10) pode-se ver a redução do número de tokens , por classe gramatical, depois da aplicação da remoção de stop words . Consequentemente, o vocabulário também encolheu, tendo ficado com 20631 palavras. Figura 10 – Classes gramaticais após a remoção de stopwords Lematização Por fim, aplicou-se a tarefa de lematização das palavras. Como mais tarde se verá, este processo não será utilizado em todos os modelos. A lematização consiste no processo de lematizar uma palavra, isto é, atribuir a uma palavra variável uma forma canónica (masculino singular, infinito, etc.). De uma forma mais prática, é um trabalho de uniformização das palavras, passando os verbos conjugados para o seu infinitivo ou o plural de uma palavra para o masculino singular. Por exemplo, as conjugações verbais “gostei”, “gostava” vão ser lematizadas para “gostar”. Por sua vez, os nomes “informáticos” e “informática” serão lematizados para “informático”. A vantagem deste processo face ao stemming é a conservação do significado da palavra. É uma técnica ideal para reduzir a diversidade de palavras com o mesmo significado. No entanto, refira-se, que nesta tarefa as ferramentas utilizadas não realizam uma 55 lematização “perfeita” para a língua portuguesa, o que faz com que algumas palavras não sejam lematizadas de forma correta. Na Tabela 22 está apresentado um exemplo de aplicação de lematização. Neste caso, como é possível verificar, a tarefa foi bem realizada, tendo sido as palavras reduzidas ao seu lema. Opinião Lematização [“ótima”, “loja”, “melhores”, “marcas”, “preços”] [“ótimo”, “loja”, “bom”, “marca”, “preço”] Tabela 22 – Resultado da aplicação de lematização 4.5. Análise do Conjunto de Dados Final Tendo o processo de pré-processamento terminado, agora é necessário analisar o conjunto de dados que será utilizado pelos modelos para a classificação de sentimentos. A primeira análise é realizada sobre o vocabulário. Como foi visto, a dimensão do vocabulário foi sendo reduzida em todas as tarefas (etapas) do processo. No final do pré-processamento o vocabulário estava reduzido a cerca de 32%, passando de 54138 palavras, no início do processo, para 17067 palavras, no final do processo. A tarefa que maior impacto teve foi a separação das palavras, e, em particular, a separação da pontuação. Como se pode constatar, todas as tarefas que foram realizadas reduziram o tamanho do vocabulário. Figura 11 - Evolução do tamanho do vocabulário ao longo do pré-processamento 56 Uma vez que os dados estão rotulados com a sua classificação, é possível fazer algumas inferências e análise às opiniões. Assim, foram criadas “nuvens de palavras” que nos permitem ter noção das palavras mais importantes em cada uma das classes. Basicamente, nuvens de palavras são representações visuais de palavras, onde se dá maior destaque às palavras que surgem com mais frequência. Na generalidade dos casos analisados, há palavras que ocorrem muitas vezes e são transversais a todas as classificações, já que estão relacionadas com a atividade da empresa. São o caso de palavras como “produto” e “encomenda”. Nas opiniões que possuem as classificações mais baixas (1 e 2) (Figura 12 e 13, respetivamente), palavras como “loja”, “dia”, “esperar”, “cliente”, “atendimento” chamam à atenção. Estas palavras indiciam problemas que já tinham sido percecionados através da leitura de algumas das opiniões com esta classificação, como o atendimento da loja, por ser muito demorado. Chama à atenção, de igual modo, a palavra “dia”, que é uma das palavras que aparece com maior frequência. Esta palavra sugere os atrasos nas entregas das encomendas que não foram realizados nos dias estipulados. Figura 12 - Nuvem de palavras para a classificação 1 57 Figura 13 - Nuvem de palavras para a classificação 2 A nuvem de palavras para as palavras das opiniões com classificação 3, representada na Figura 14, é idêntica às nuvens de palavras de classificação 1 e 2. Porém, contém algumas palavras novas, que indiciam a neutralidade desta classificação, apresentando palavras que remetem positividade, como “bom”, e negatividade, por exemplo “problema”, em simultâneo. Figura 14 - Nuvem de palavras para a classificação 3 Por sua vez, as nuvens de palavras com as melhores classificações (4 e 5), representadas na Figura 15 e 16, respetivamente, apresentam muitos adjetivos positivos, como “excelente” e “rápido”, mas ao mesmo tempo incluem palavras como “problema”, que são de estranhar numa boa classificação. Todavia, podem indiciar que os problemas postos pelos clientes foram solucionados. A palavra “preço” 64 do conjunto de dados com 3 classes (negativa, neutra, positiva). Porém, o mais correto seria a utilização de uma classe binária, uma vez que é muito difícil encontrar uma classificação atribuída que seja exatamente 0 (neutra), dado que a polaridade depende da soma das polaridades de cada uma das palavras. No entanto, a única hipótese de criar uma escala binária seria atribuir manualmente às classificações neutras a sua polaridade, o que seria uma tarefa morosa e complexa. Com o processo definido, foram classificadas as opiniões e guardados as classificações atribuídas pelo modelo. Confrontando os resultados do modelo com os rótulos do conjunto de dados, consegue-se avaliar a exatidão do modelo. Neste caso, o modelo acertou na classificação 64,60% das vezes. Analisando cada uma das classes (Tabela 26), é possível entender que a exatidão é muito distinta de classe para classe. Dado que o conjunto de dados não é balanceado, a classe maioritária positiva possuí o maior impacto na exatidão geral do modelo. Como já se tinha referido, a classificação neutra seria um entrave ao bom desempenho do modelo, o que pode ser comprovado pelo valor da exatidão nesta classe. Classe Exatidão Classe Negativa (-1) 0.46 Classe Neutra (0) 0.20 Classe Positiva (1) 0.68 Tabela 26 – Exatidão por classe – Sem lematização Como forma de testar a hipótese de que a lematização teria um efeito negativo na classificação, aplicouse também o modelo sobre os dados lematizados. Ao contrário do esperado, o modelo aumentou o seu desempenho em termos gerais, passando de 0.65 de exatidão para 0.66. Não foi uma mudança expressiva. No entanto, houve melhorias na exatidão das classes negativa e positiva. É notório que a classe que sofreu uma melhoria mais expressiva foi a classe positiva (Tabela 27). Classe Exatidão Classe Negativa (-1) 0.47 Classe Neutra (0) 0.19 Classe Positiva (1) 0.70 Tabela 27 - Exatidão por classe – Com lematização Desta feita, pode-se inferir que os erros cometidos no processo de lematização não foram tão expressivos como se tinha previsto. Analisando o exemplo anterior, é de realçar que a palavra “estrela” foi classificada, ao contrário da palavra “estrelas” (Tabela 28). Sabendo que o SentiLex-flex-PT02 possuí 65 todas as palavras na sua forma flexionada, a palavra “estrela” foi classificada pelas polaridades presentes no Onto.PT, o qual possui apenas lemas. Opinião “loja” “estrela” “serviço” “rápido” Rótulo POS NOUN NOUN NOUN ADJ Polaridade -1 1 1 1 Soma Polaridades 2 Classificação Atribuída 1 Classificação Real 1 Tabela 28 - Exemplo classificação de opinião com recurso a dicionário (com lematização) A fraca exatidão do modelo baseado em léxicos revela um dos problemas deste tipo de abordagem, o contexto de análise, que influencia a polaridade das palavras. Os léxicos usados não são orientados especificamente para a problemática em estudo, pelo que termos específicos do contexto podem não existir no léxico ou então encontrarem-se mal classificados. 5.3. Modelos de Machine Learning Como se referiu, os modelos de ML utilizados foram supervisionados. Neste tipo de abordagem, antes de iniciar qualquer modelo de classificação, é necessário extrair os atributos das opiniões de forma a que os modelos sejam executados devidamente. Optou-se por utilizar duas técnicas distintas: Word2Vec (Mikolov et al., 2013) e TF-IDF (Sparck Jones, 1972), sendo a primeira baseada na incorporação de palavras e a segunda baseada na sua contagem. Como o Word2Vec se baseia na incorporação de palavras, este permitiu analisar a semelhança entre as palavras. Depois de se transformar as opiniões em vetores utilizando o Word2Vec consegue-se analisar a semelhança de palavras, ou seja, consegue-se inferir quais as palavras mais idênticas e a sua similaridade. Por exemplo, pesquisando pelas 5 palavras mais semelhantes a “transportadora”, “ctt” surge em segundo lugar, o que permite inferir que a transportadora da empresa é a “ctt”. Isto comprova que os métodos de incorporação assumem que palavras diferentes com o mesmo significado possuem representações semelhantes. Feita a extração de atributos foi necessário aplicar os modelos de classificação. Como mencionado anteriormente, selecionou-se os modelos NB, o SVM e o RF. Foram feitas diversas iterações considerando 66 os dois conjuntos de dados (3 e 5 classes), as duas técnicas de extração de atributos e os 3 modelos de aprendizagem supervisionada. No total foram realizadas 12 iterações, documentadas na Tabela 29. Nº classes Modelo de extração de atributos Classificadores 3 Word2Vec Naïve Bayes Support Vector Machine Random Forest TF-IDF Naïve Bayes Support Vector Machine Random Forest 5 Word2Vec Naïve Bayes Support Vector Machine Random Forest TF-IDF Naïve Bayes Support Vector Machine Random Forest Tabela 29 – Modelos de ML Aprendizagem Supervisionada Com se sabe, da análise inicial dos dados, o balanceamento das classes é um problema que deve ser tomado em consideração. Por exemplo, se se aplicasse unicamente a métrica da exatidão, incorrer-se-ia numa análise incorreta, já que, mesmo que o classificador assumisse todos os dados como “Muito Positivo”, a exatidão do modelo alcançaria os 0.78, o que poderia ser visto como uma boa classificação. Assim, para análise considerar-se-á outras métricas mais eficazes para dados não balanceados, nomeadamente a sensibilidade e a precisão. Porém, é necessário entender o que estas métricas representam neste caso em específico. Quando se analisa a precisão, analisa-se se os dados previstos se encontram “próximos” um dos outros, ou seja, se a classificação é uniforme, mesmo que não esteja a prever de forma correta. Uma precisão elevada, no entanto, pode não significar uma boa classificação, o que faz com que seja necessário analisar a sensibilidade, que indica de todos os registos de uma determinada classe quantos foram classificados corretamente. Um dos entraves à utilização destas 2 métricas é que, muitas vezes, a melhoria de uma delas leva ao efeito contrário na outra. Desta feita, pretende-se analisar o trade-off entre as duas. Para isso utiliza-se o F1-score, uma medida que avalia esta relação. Em suma, os modelos serão analisados tendo por base as 3 métricas referidas, juntamente com a exatidão. Estas métricas serão sempre melhores quanto mais próximo o seu valor estiver de 1. De notar que os valores apresentados representarão sempre a média 67 aritmética das várias classes, não favorecendo as classes pela sua representatividade no modelo. Isso poderia ocorrer se usássemos a média ponderada. De forma a obter resultados mais robustos, aplicou-se a técnica da validação cruzada. Neste caso foram utilizadas 5 partições, ou seja, o conjunto de dados foi divido em 5 subconjuntos distintos e mutuamente exclusivos. Cada um desses subconjuntos foi utilizada como conjunto de teste uma vez, enquanto os outros 4 subconjuntos foram utilizados como conjunto de treino. Este processo foi repetido até que cada um dos 5 subconjuntos fosse utilizada como conjunto de teste. Portanto, em cada iteração do k-fold com 5 partições, 4 dos 5 subconjuntos (80%) foram utilizados para treinar o modelo e 1 subconjunto (20%) foi utilizado para testá-lo. As métricas utilizadas para análise (exatidão, F1-score , sensibilidade e precisão) resultam do cálculo da média dos diferentes resultados de cada uma das partições. Assim, é de esperar que, por exemplo, o valor médio do F1-score não possa ser calculado utilizando os valores médios da precisão e da sensibilidade. Adicionalmente, em todos os modelos foi criada uma matriz de confusão para melhor entender os resultados. A matriz de confusão foi criada tendo por base uma experiência com 70% dos dados para teste e 30% dos dados para treino, sem aplicar a técnica de validação cruzada. Conjunto de dados com 5 classes Os primeiros modelos a serem analisados foram os que usavam o conjunto de dados com os rótulos iniciais, ou seja, os 5 rótulos de classificação. Os resultados que se obtiveram estão apresentados na Tabela 30. Como mencionado, em conjuntos de dados não balanceados, é necessário analisar cuidadosamente as métricas aplicadas. Em primeiro lugar, realça-se a transversalidade da exatidão nos modelos, estando os valores compreendidos entre 0,81 e 0,84. No entanto, esta medida é notoriamente influenciada pela classe maioritária positiva (classe 5). 5 Classes Extração de atributos Classificadores Exatidão F1-score Sensibilidade Precisão Word2Vec Naïve Bayes 0,81 0,35 0,34 0,37 Support Vector Machine 0,82 0,38 0,34 0,43 Random Forest 0,83 0,41 0,38 0,45 68 TF-IDF Naïve Bayes 0,84 0,38 0,37 0,40 Support Vector Machine 0,84 0,46 0,42 0,50 Random Forest 0,83 0,42 0,37 0,49 Tabela 30 – Resultados dos Modelos com 5 Classes Veja-se a matriz de confusão do modelo NB aplicado com o Word2Vec que está apresentada na Figura 19. Os dados classificados convergem na sua grande maioria para o extremo positivo, sendo classificados na classe 5. Adicionalmente, pode-se destacar que a classe 2 nunca foi prevista e que existem muitas poucas previsões da classe 4. Figura 19 - Matriz de Confusão Word2Vec + NB com 5 classes Este tipo de análise realça que não se deve basear a qualidade de um modelo apenas numa métrica. Desta feita, comparando o F1-score é visível que os modelos com melhores previsões são o SVM, aliado à técnica de extração de atributos TF-IDF , e o RF, com o Word2Vec . No entanto, entre estes dois destacase o SVM, uma vez que apresenta valores superiores em todas as métricas. Na Figura 20 pode-se ver a matriz de confusão do modelo SVM com o TF-IDF. Neste caso as previsões estavam mais dispersas pelas diferentes classes. No entanto, as previsões permaneceram muito polarizadas nos extremos, o que levou a uma precisão de apenas 50%. 69 Figura 20 - Matriz de Confusão TF-IDF + SVM com 5 classes Em suma, não se considerou satisfatória a classificação obtida pelos modelos utilizados, pelo que se avançou para a utilização doo conjunto de dados com apenas 3 classes. Conjunto de dados com 3 classes Com o objetivo de obter melhores resultados nas métricas escolhidas aplicou-se no conjunto com 3 classes os modelos anteriores. Os resultados obtidos podem ser vistos na Tabela 31. 3 Classes Extração de atributos Classificadores Exatidão F1-score Sensibilidade Precisão Word2Vec Naïve Bayes 0,90 0,54 0,54 0,54 Support Vector Machine 0,91 0,59 0,53 0,66 Random Forest 0,92 0,61 0,56 0,67 TF-IDF Naïve Bayes 0,93 0,59 0,56 0,63 Support Vector Machine 0,93 0,64 0,60 0,69 Random Forest 0,92 0,60 0,54 0,68 Tabela 31 - Resultados dos Modelos com 3 Classes 70 Fazendo uma análise superficial, verifica-se rapidamente a ocorrência de uma melhoria nos resultados. Os classificadores apresentaram uma capacidade superior para classificar opiniões corretamente. Houve melhorias em todas as métricas, destacando-se o F1-score onde as melhorias foram mais expressivas. Por exemplo, no modelo NB com o Word2Vec o F1-socre melhorou em 73%. Os modelos com melhores resultados, tal como quando aplicado o conjunto com 5 classes, foram o SVM, com a técnica de extração de atributos TF-IDF , e o RF, com o Word2Vec. Dos dois, o primeiro apresentou melhores resultado, com um F1-score de 0,64 e uma exatidão de 0,93. Na Figura 21 pode-se ver a matriz de confusão do RF com atributos extraídos pelo Word2Vec . Esta matriz revela que, embora os valores tenham melhorado significativamente, o classificador tendeu a realizar grande parte das classificações nas duas extremidades. Apenas 9 opiniões foram corretamente classificadas como neutras. Figura 21 - Matriz de Confusão Word2Vec + RF com 3 classes A Tabela 32 apresenta os valores das métricas utilizadas especificamente neste modelo. Através dos valores apresentados, pode-se ver que a classe neutra possuí valores claramente piores que as restantes classes. Esta análise relembra o desafio de obter um bom desempenho numa classificação não binária. 71 Classes Sensibilidade F1-score Precisão -1 0,67 0,68 0,70 0 0,02 0,04 0,29 1 0,98 0,96 0,94 Tabela 32 – Resultados por classes do modelo Word2Vec + RF com 3 classes Os resultados obtidos, tanto com o conjunto de 5 classes como com o conjunto de 3 classes, continuavam a apresentar valores piores do que os pretendidos. Assim, foram aplicadas técnicas para tentar alcançar melhores resultados. Nos pontos seguintes vêm-se as técnicas escolhidas e os seus resultados. OverSampling e UnderSampling Quando o conjunto de dados não está balanceado existem técnicas para contrariar o enviesamento dos classificadores que foram criados. Estas técnicas seguem um mesmo princípio: o balanceamento dos dados de treino, para que o modelo possa aprender de forma menos tendenciosa. De frisar que, apenas aos dados de treino é que se aplicam as técnicas e não aos dados de teste. Estes são mantidos na sua forma original. Para fazer o balanceamento de dados pode-se utilizar o OverSampling (OS), no qual os dados de treino são escalados de forma sintética para que todas as classes possuam a mesma quantidade de dados que a classe maioritária. Existem diversas técnicas de OS, por exemplo, pode-se simplesmente duplicar as opiniões das classes minoritárias para atingir o valor da classe maioritária. No caso desta dissertação, em específico, foi aplicado o SMOTE (Chawla et al., 2002), que permite criar amostras “sintéticas” através dos dados existentes, aumentando as classes sem as copiar diretamente. Outra técnica de balanceamento é o UnderSampling (US), que se desenvolve de forma contrária ao OS. Este método, ao invés de aumentar as classes minoritárias, reduz todas as classes para o valor da classe minoritária. Tal como no OS, também existe a técnica que seleciona de forma aleatória as amostras a manter. No entanto, nesta dissertação, aplicou-se uma técnica computacionalmente mais dispendiosa, mas com resultados geralmente superiores. A técnica aplicada denomina-se de ALL – KNN, que se baseia no algoritmo do vizinho mais próximo, no qual se reduz as amostras das classes maioritárias removendo as amostras cuja classe difere da dos seus vizinhos mais próximos. No ALL – KNN altera-se o parâmetro k 72 do algoritmo dos vizinhos mais próximos internos, aumentando-o em cada iteração. Assim, foram aplicadas ao conjunto de dados com 3 classes as técnicas referidas, com o objetivo de se entender se a alteração dos dados de treino teria influência nos resultados obtidos. Iniciando pelo OS (Tabela 33), consegue-se perceber que existem alterações em diversas métricas, umas para valores superiores e outras para inferiores. Os modelos com melhores resultados são o SVM e o RF, com o Word2Vec , pelos valores elevados de sensibilidade que apresentam, e o RF, com o TF-IDF, pela exatidão apresentada, apoiada com valores semelhantes ou superiores ao melhor modelo obtido anteriormente. OverSampling - SMOTE Extração de atributos Classificadores Exatidão F1-score Sensibilidade Precisão Word2Vec Naïve Bayes 0,75 0,57 0,65 0,51 Support Vector Machine 0,84 0,64 0,72 0,57 Random Forest 0,89 0,62 0,66 0,59 TF-IDF Naïve Bayes 0,84 0,63 0,71 0,56 Support Vector Machine 0,86 0,62 0,67 0,57 Random Forest 0,91 0,63 0,64 0,62 Tabela 33 – Resultados dos Modelos com 3 classes, aplicando o OS De forma a entender melhor a evolução das métricas utilizadas em relação às soluções sem alteração dos dados de treino criou-se a Tabela 34. Através desta tabela pode-se observar a variação relativa do valor das medidas de desempenho. Variação Relativa (%) - OverSampling vs 3 Classes Original Extração de atributos Classificadores Exatidão F1-score Sensibilidade Precisão Word2Vec Naïve Bayes -16,0% 0,0% 20,2% -6,0% Support Vector Machine -7,9% 11,8% 34,1% -13,7% Random Forest -2,6% 10,5% 18,2% -11,6% TF-IDF Naïve Bayes -9,5% 5,5% 26,2% -11,1% 73 Support Vector Machine -7,4% -3,3% 11,4% -17,7% Random Forest -1,4% 12,4% 18,4% -8,9% Tabela 34 - Variação Relativa (%) - OverSampling vs 3 Classes Original O mais notório nesta tabela de variações é o aumento do F1-score nos 3 modelos destacados (SVM, com Word2Vec; RF com Word2Vec e RF com TF-IDF). Como explicado anteriormente, na sensibilidade e na precisão, o aumento de uma métrica gera, normalmente, a diminuição da outra, e vice-versa. No entanto, nos exemplos destacados o trade-off das duas é positivo, já que o aumento da sensibilidade é superior à diminuição da precisão, levando aos valores do F1-score apresentados. Observe-se, agora, a matriz de confusão do modelo SVM, com o algoritmo Word2Vec (Figura 22), para se poder realizar uma análise mais crítica dos resultados obtidos. Os efeitos do aumento substancial da sensibilidade entendem-se analisando os valores apresentados na matriz. Ao contrário dos modelos treinados com os dados originais, este novo classificador distingue melhor a existência de 3 classes. Além disso, existem muitos mais dados classificados corretamente na classe neutra. De um modo geral, a classificação passou a ser mais homogénea e menos tendenciosa para as classes opostas (negativa e positiva). Figura 22 - Matriz de Confusão Word2Vec + SVM OverSampling Feita a análise dos resultados de OS, analise-se agora os resultados de US. Com esta técnica os resultados obtidos (Tabela 35) foram, na sua generalidade, piores que os resultados obtidos pelos 80 estão em voga e apresentam bons resultados, tal como descrito na revisão de literatura. A aplicação de algumas redes neuronais de aprendizagem profunda podia ser uma boa hipótese para lidar com o problema de balanceamento. - A utilização de software de gestão estratégica. A análise criada para a gestão estratégica pode ser desenvolvida, criando uma interface que permita ao gestor inserir novas palavras-chave e verificar a sua existência nas opiniões de uma forma mais amigável. 81 REFERÊNCIAS BIBLIOGRÁFICAS A., V., & Sonawane, S. S. (2016). Sentiment Analysis of Twitter Data: A Survey of Techniques. International Journal of Computer Applications , 139 (11), 5–15. https://doi.org/10.5120/IJCA2016908625 Agarwal, K. (2022). A Review on Feature Selection Techniques for Sentiment Analysis. INTERANTIONAL JOURNAL OF SCIENTIFIC RESEARCH IN ENGINEERING AND MANAGEMENT . https://doi.org/10.55041/ijsrem12024 Aggarwal, C. C. (2018). Opinion Mining and Sentiment Analysis. Em C. C. Aggarwal, Machine Learning for Text (pp. 413–434). Springer International Publishing. https://doi.org/10.1007/978-3-31973531-3_13 Ahmad, S. R., Bakar, A. A., & Yaakub, M. R. (2019). A review of feature selection techniques in sentiment analysis. Intelligent Data Analysis , 23 (1), 159–189. https://doi.org/10.3233/IDA-173763 Appel, O., Chiclana, F., Carter, J., & Fujita, H. (2016). A hybrid approach to the sentiment analysis problem at the sentence level. Knowledge-Based Systems , 108 , 110–124. https://doi.org/10.1016/j.knosys.2016.05.040 Avinash, M., & Sivasankar, E. (2019). A Study of Feature Extraction Techniques for Sentiment Analysis . 814 , 475–486. https://doi.org/10.1007/978-981-13-1501-5_41 Aydoğan, E., & Akcayol, M. A. (2016). A comprehensive survey for sentiment analysis tasks using machine learning techniques. 2016 International Symposium on INnovations in Intelligent SysTems and Applications (INISTA) , 1–7. https://doi.org/10.1109/INISTA.2016.7571856 Baccianella, S., Esuli, A., & Sebastiani, F. (2010). SENTIWORDNET 3.0: An Enhanced Lexical Resource for Sentiment Analysis and Opinion Mining . 82 Bastı, E., Kuzey, C., & Delen, D. (2015). Analyzing initial public offerings’ short-term performance using decision trees and SVMs. Decision Support Systems , 73 , 15–27. https://doi.org/10.1016/j.dss.2015.02.011 Belkin, M., Niyogi, P., & Sindhwani, V. (2006). Manifold Regularization: A Geometric Framework for Learning from Labeled and Unlabeled Examples . Birjali, M., Kasri, M., & Beni-Hssane, A. (2021). A comprehensive survey on sentiment analysis: Approaches, challenges and trends. Knowledge-Based Systems , 226 , 107134. https://doi.org/10.1016/j.knosys.2021.107134 Blum, A., & Chawla, S. (2001). Learning from Labeled and Unlabeled Data using Graph Mincuts . https://doi.org/10.1184/R1/6606860.v1 Blum, A., & Mitchell, T. (1998). Combining labeled and unlabeled data with co-training. Proceedings of the eleventh annual conference on Computational learning theory , 92–100. https://doi.org/10.1145/279943.279962 Cambria, E., Li, Y., Xing, F. Z., Poria, S., & Kwok, K. (2020). SenticNet 6: Ensemble Application of Symbolic and Subsymbolic AI for Sentiment Analysis. Proceedings of the 29th ACM International Conference on Information & Knowledge Management , 105–114. https://doi.org/10.1145/3340531.3412003 Cardoso, E. F., Silva, R. M., & Almeida, T. A. (2018). Towards automatic filtering of fake reviews. Neurocomputing , 309 , 106–116. https://doi.org/10.1016/j.neucom.2018.04.074 Carvalho, P., & Silva, M. J. (2015). SentiLex-PT: Principais características e potencialidades. Oslo Studies in Language , 7 (1). https://doi.org/10.5617/osla.1444 Chawla, N. V., Bowyer, K. W., Hall, L. O., & Kegelmeyer, W. P. (2002). SMOTE: Synthetic Minority Oversampling Technique. Journal of Artificial Intelligence Research , 16 , 321–357. https://doi.org/10.1613/jair.953 83 Chawla, N. V., Japkowicz, N., & Kotcz, A. (2004). Special issue on learning from imbalanced data sets. ACM SIGKDD Explorations Newsletter , 6 (1), 1–6. https://doi.org/10.1145/1007730.1007733 Cortes, C., & Vapnik, V. (1995). Support-vector networks. Machine Learning , 20 (3), 273–297. https://doi.org/10.1007/BF00994018 Cui, X., Potok, T. E., & Palathingal, P. (2005). Document clustering using particle swarm optimization. Proceedings 2005 IEEE Swarm Intelligence Symposium, 2005. SIS 2005. , 185–191. https://doi.org/10.1109/SIS.2005.1501621 Dang, C. N., Moreno-García, M. N., & Prieta, F. D. la. (2021). An Approach to Integrating Sentiment Analysis into Recommender Systems. Sensors , 21 (16), Artigo 16. https://doi.org/10.3390/s21165666 Dang, N. C., Moreno-García, M. N., & De la Prieta, F. (2020). Sentiment Analysis Based on Deep Learning: A Comparative Study. Electronics , 9 (3), Artigo 3. https://doi.org/10.3390/electronics9030483 Dasgupta, S., & Ng, V. (2009). Mine the Easy, Classify the Hard: A Semi-Supervised Approach to Automatic Sentiment Classification. Em K.-Y. Su, J. Su, J. Wiebe, & H. Li (Eds.), Proceedings of the Joint Conference of the 47th Annual Meeting of the ACL and the 4th International Joint Conference on Natural Language Processing of the AFNLP (pp. 701–709). Association for Computational Linguistics. https://aclanthology.org/P09-1079 Devlin, J., Chang, M.-W., Lee, K., & Toutanova, K. (2019). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers) , 4171–4186. https://doi.org/10.18653/v1/N19-1423 Dolores Molina-González, M., Martínez-Cámara, E., Teresa Martín-Valdivia, M., & Alfonso Ureña-López, L. (2015). A Spanish semantic orientation approach to domain adaptation for polarity classification. 84 Information Processing & Management , 51 (4), 520–531. https://doi.org/10.1016/j.ipm.2014.10.002 Duric, A., & Song, F. (2012). Feature selection for sentiment analysis based on content and syntax models. Decision Support Systems , 53 (4), 704–711. https://doi.org/10.1016/j.dss.2012.05.023 Esuli, A., & Sebastiani, F. (2006). SENTIWORDNET: A Publicly Available Lexical Resource for Opinion Mining . Fang, X., & Zhan, J. (2015). Sentiment analysis using product review data. Journal of Big Data , 2 (1), 1– 14. https://doi.org/10.1186/S40537-015-0015-2/FIGURES/9 Gao, W., Li, S., Xue, Y., Wang, M., & Zhou, G. (2014). Semi-supervised Sentiment Classification with Selftraining on Feature Subspaces. Em X. Su & T. He (Eds.), Chinese Lexical Semantics (pp. 231– 239). Springer International Publishing. https://doi.org/10.1007/978-3-319-14331-6_23 Gomes, L., Da Silva Torres, R., & Côrtes, M. L. (2023). BERTand TF-IDF-based feature extraction for long-lived bug prediction in FLOSS: A comparative study. Information and Software Technology , 160 , 107217. https://doi.org/10.1016/j.infsof.2023.107217 Gonçalo Oliveira, H., & Gomes, P. (2014). ECO and Onto.PT: A flexible approach for creating a Portuguese wordnet automatically. Language Resources and Evaluation , 48 (2), 373–393. https://doi.org/10.1007/s10579-013-9249-9 Gutiérrez, L., Bekios-Calfa, J., & Keith, B. (2019). A Review on Bayesian Networks for Sentiment Analysis. Em J. Mejia, M. Muñoz, Á. Rocha, A. Peña, & M. Pérez-Cisneros (Eds.), Trends and Applications in Software Engineering (Vol. 865, pp. 111–120). Springer International Publishing. https://doi.org/10.1007/978-3-030-01171-0_10 Haddi, E., Liu, X., & Shi, Y. (2013). The Role of Text Pre-processing in Sentiment Analysis. Procedia Computer Science , 17 , 26–32. https://doi.org/10.1016/j.procs.2013.05.005 85 Hajmohammadi, M. S., Ibrahim, R., & Selamat, A. (2015). Graph-Based Semi-supervised Learning for Cross-Lingual Sentiment Classification. Em N. T. Nguyen, B. Trawiński, & R. Kosala (Eds.), Intelligent Information and Database Systems (pp. 97–106). Springer International Publishing. https://doi.org/10.1007/978-3-319-15702-3_10 Han, Y., Liu, Y., & Jin, Z. (2020). Sentiment analysis via semi-supervised learning: A model based on dynamic threshold and multi-classifiers. Neural Computing and Applications , 32 (9), 5117–5129. https://doi.org/10.1007/s00521-018-3958-3 Hasan, A., Moin, S., Karim, A., & Shamshirband, S. (2018). Machine Learning-Based Sentiment Analysis for Twitter Accounts. Mathematical and Computational Applications , 23 (1), 11. https://doi.org/10.3390/mca23010011 Hatzivassiloglou, V., & McKeown, K. R. (1997). Predicting the Semantic Orientation of Adjectives. 35th Annual Meeting of the Association for Computational Linguistics and 8th Conference of the European Chapter of the Association for Computational Linguistics , 174–181. https://doi.org/10.3115/976909.979640 He, Y., & Zhou, D. (2011). Self-training from labeled features for sentiment analysis. Information Processing & Management , 47 (4), 606–616. https://doi.org/10.1016/j.ipm.2010.11.003 Hemmatian, F., & Sohrabi, M. K. (2017). A survey on classification techniques for opinion mining and sentiment analysis. Artificial Intelligence Review , 52 (3), 1495–1545. https://doi.org/10.1007/s10462-017-9599-6 Hitesh, M., Vaibhav, V., Kalki, Y. J. A., Kamtam, S. H., & Kumari, S. (2019). Real-Time Sentiment Analysis of 2019 Election Tweets using Word2vec and Random Forest Model. 2019 2nd International Conference on Intelligent Communication and Computational Techniques (ICCT) , 146–151. https://doi.org/10.1109/ICCT46177.2019.8969049 86 Hochreiter, S., & Schmidhuber, J. (1996). LSTM can Solve Hard Long Time Lag Problems. Advances in Neural Information Processing Systems , 9 . https://proceedings.neurips.cc/paper/1996/hash/a4d2f0d23dcc84ce983ff9157f8b7f88Abstract.html Hong, S., Lee, J., & Lee, J.-H. (2014). Competitive Self-Training technique for sentiment analysis in mass social media. 2014 Joint 7th International Conference on Soft Computing and Intelligent Systems (SCIS) and 15th International Symposium on Advanced Intelligent Systems (ISIS) , 9–12. https://doi.org/10.1109/SCIS-ISIS.2014.7044857 Honnibal, M., Montani, I., Van Landeghem, S., & Boyd, A. (2020). spaCy: Industrial-strength Natural Language Processing in Python . https://doi.org/10.5281/zenodo.1212303 Hoque, N., Bhattacharyya, D. K., & Kalita, J. K. (2014). MIFS-ND: A mutual information-based feature selection method. Expert Systems with Applications , 41 (14), 6371–6385. https://doi.org/10.1016/j.eswa.2014.04.019 Hssina, B., MERBOUHA, A., Ezzikouri, H., & Erritali, M. (2014). A comparative study of decision tree ID3 and C4.5. (IJACSA) International Journal of Advanced Computer Science and Applications , Special Issue on Advances in Vehicular Ad Hoc Networking and Applications . https://doi.org/10.14569/SpecialIssue.2014.040203 Hu, M., & Liu, B. (2004). Mining and summarizing customer reviews. Proceedings of the Tenth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining , 168–177. https://doi.org/10.1145/1014052.1014073 Huang, A. (2008). Similarity Measures for Text Document Clustering . Islam, Md. T., Sazzad, Md. A. U., Ahmed, E., Azad, M., & Islam, S. (2018). Subjectivity Analysis of Movie Reviews using Machine Learning to Perform Sentence Level Classification. 2018 4th International 87 Conference on Electrical Engineering and Information & Communication Technology (iCEEiCT) , 473–478. https://doi.org/10.1109/CEEICT.2018.8628083 Joachims, T. (1998). Text categorization with Support Vector Machines: Learning with many relevant features. Em C. Nédellec & C. Rouveirol (Eds.), Machine Learning: ECML-98 (pp. 137–142). Springer. https://doi.org/10.1007/BFb0026683 Joachims, T. (2003). Transductive Learning via Spectral Graph Partitioning . Joshi, M., Prajapati, P., Shaikh, A., & Vala, V. (2017). A Survey on Sentiment Analysis. International Journal of Computer Applications , 163 (6), 34–38. https://doi.org/10.5120/ijca2017913552 Jurek, A., Mulvenna, M. D., & Bi, Y. (2015). Improved lexicon-based sentiment analysis for social media analytics. Security Informatics , 4 (1), 9. https://doi.org/10.1186/s13388-015-0024-x Kaity, M., & Balakrishnan, V. (2020). Sentiment lexicons and non-English languages: A survey. Knowledge and Information Systems , 62 (12), 4445–4480. https://doi.org/10.1007/s10115-020-01497-6 Kalaivani, K. S., Uma, S., & Kanimozhiselvi, C. S. (2020). A Review on Feature Extraction Techniques for Sentiment Classification. 2020 Fourth International Conference on Computing Methodologies and Communication (ICCMC) , 679–683. https://doi.org/10.1109/ICCMC48092.2020.ICCMC000126 Kamal, A. (2013). Subjectivity Classification using Machine Learning Techniques for Mining FeatureOpinion Pairs from Web Opinion Sources . Kasmuri, E., & Basiron, H. (2017). Subjectivity analysis in opinion mining—A systematic literature review. International Journal of Advances in Soft Computing and its Applications , 9 , 132–159. Khan, F. H., Bashir, S., & Qamar, U. (2014). TOM: Twitter opinion mining framework using hybrid classification scheme. Decision Support Systems , 57 , 245–257. https://doi.org/10.1016/j.dss.2013.09.004 88 Kim, S.-M., & Hovy, E. (2004). Determining the Sentiment of Opinions. COLING 2004: Proceedings of the 20th International Conference on Computational Linguistics , 1367–1373. https://aclanthology.org/C04-1200 Kim, Y. (2014). Convolutional Neural Networks for Sentence Classification. Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP) , 1746–1751. https://doi.org/10.3115/v1/D14-1181 Kiritchenko, S., Zhu, X., & Mohammad, S. M. (2014). Sentiment Analysis of Short Informal Texts. Journal of Artificial Intelligence Research , 50 , 723–762. https://doi.org/10.1613/jair.4272 Koeling, R. (2000). Chunking with Maximum Entropy Models. Fourth Conference on Computational Natural Language Learning and the Second Learning Language in Logic Workshop . CoNLL 2000. https://aclanthology.org/W00-0729 Kulkarni, A., & Shivananda, A. (2019). Natural Language Processing Recipes: Unlocking Text Data with Machine Learning and Deep Learning using Python . Apress. https://doi.org/10.1007/978-14842-4267-4 Kumar, T. P., & Vardhan, B. V. (2022). Multimodal Sentiment Analysis using Prediction-based Word Embeddings. 2022 International Conference on Edge Computing and Applications (ICECAA) , 258–262. https://doi.org/10.1109/ICECAA55415.2022.9936350 Lee, H., Grosse, R., Ranganath, R., & Ng, A. Y. (2009). Convolutional deep belief networks for scalable unsupervised learning of hierarchical representations. Proceedings of the 26th Annual International Conference on Machine Learning , 609–616. https://doi.org/10.1145/1553374.1553453 Li, G., & Liu, F. (2014). Sentiment analysis based on clustering: A framework in improving accuracy and recognizing neutral opinions. Applied Intelligence , 40 (3), 441–452. https://doi.org/10.1007/s10489-013-0463-3 89 Li, H., Cui, J., Shen, B., & Ma, J. (2016). An intelligent movie recommendation system through grouplevel sentiment analysis in microblogs. Neurocomputing , 210 , 164–173. https://doi.org/10.1016/j.neucom.2015.09.134 Ligthart, A., Catal, C., & Tekinerdogan, B. (2021). Systematic reviews in sentiment analysis: A tertiary study. Artificial Intelligence Review , 54 (7), 4997–5053. https://doi.org/10.1007/s10462-02109973-3 Liu, B. (2010). Sentiment Analysis and Subjectivity . 2010. Liu, B. (2012). Sentiment Analysis and Opinion Mining . Morgan & Claypool Publishers. Liu, H., Zhou, M., & Liu, Q. (2019). An embedded feature selection method for imbalanced data classification. IEEE/CAA Journal of Automatica Sinica , 6 (3), 703–715. https://doi.org/10.1109/JAS.2019.1911447 Madasu, A., & Elango, S. (2020). Efficient feature selection techniques for sentiment analysis. Multimedia Tools and Applications , 79 (9), 6313–6335. https://doi.org/10.1007/s11042-019-08409-z Mäntylä, M. V., Graziotin, D., & Kuutila, M. (2018). The evolution of sentiment analysis—A review of research topics, venues, and top cited papers. Computer Science Review , 27 , 16–32. https://doi.org/10.1016/j.cosrev.2017.10.002 Marneffe, M.-C., Manning, C. D., Nivre, J., & Zeman, D. (2021). Universal Dependencies. Computational Linguistics , 47 (2), 255–308. https://doi.org/10.1162/coli_a_00402 Martins, R., Almeida, J., Henriques, P., & Novais, P. (2020). Predicting an Election’s Outcome Using Sentiment Analysis. Em Á. Rocha, H. Adeli, L. P. Reis, S. Costanzo, I. Orovic, & F. Moreira (Eds.), Trends and Innovations in Information Systems and Technologies (Vol. 1159, pp. 134–143). Springer International Publishing. https://doi.org/10.1007/978-3-030-45688-7_14