Prevendo a utilidade de comentários em Português Brasileiro de jogos na Steam

Germano Jorge
SiDi NLP
Published in
9 min readJul 11, 2023
Fonte: https://store.steampowered.com/. Acesso em 12/06/2023

Introdução

Com a crescente influência da internet no processo de tomada de decisão dos consumidores, os comentários online têm se tornado uma fonte valiosa de informações para os usuários. No mercado de jogos, essa tendência não é diferente.

Fonte: https://exame.com/marketing/decisao-de-compra-e-cada-vez-mais-baseada-em-comentarios/

De acordo com um artigo publicado na revista “exame”, a decisão de compra de jogos está cada vez mais baseada em comentários na web [1]. Além disso, o mercado de jogos atualmente vale mais do que as indústrias de música e cinema juntas, conforme reportado pelo Canaltech [2].

Fonte:https://canaltech.com.br/games/mercado-de-games-agora-vale-mais-que-industrias-de-musica-e-cinema-juntas-179455/. Acesso em 11/09/2022

No contexto específico da plataforma Steam, que é uma das principais plataformas de distribuição digital de jogos, a utilidade dos comentários dos usuários se torna ainda mais relevante. Os jogadores dependem desses comentários para obter informações sobre a qualidade, desempenho e experiência geral dos jogos antes de decidirem realizar uma compra.

Os comentários e a avaliação de utilidade

Comentários do jogo Homem Aranha (2022). O usuário pode votar com “sim” ou “não” para a utilidade do comentário. Logo abaixo, é fornecido o número de pessoas que acharam a análise útil. Fonte: https://steamcommunity.com/app/1817070

Na Steam, todo jogo pode ser avaliado e comentado pela comunidade. A foto acima mostra em azul se o autor recomendou ou não aquele jogo aos demais. Os usuários podem avaliar o comentário como útil ou não (em vermelho na imagem) e o número total de votos de utilidade é mostrado abaixo.

Por que prever a utilidade de comentários?

Vimos que avaliar a utilidade, então, é um processo manual. Isso pode estar sujeito a alguns problemas. Entre eles, destacam-se:

Comentário do jogo Homem Aranha(2022) na Steam. Em vermelho, destaque para a quantidade de pessoas que acharam a análise útil, mesmo que ela não tenha fornecido nenhuma informação relevante. Fonte: https://steamcommunity.com/app/1817070
  • Favorecimento de comentários não-úteis: Ao depender exclusivamente de avaliações manuais, existe o risco de que comentários que não agregam valor ou são irrelevantes sejam considerados úteis. Isso pode levar a uma percepção distorcida sobre a qualidade do conteúdo.
Aqui vemos um comentário que discorre sobre história, jogabilidade e gráficos (destaque em verde), e tem tudo para ser uma análise útil, mas que não foi avaliada pela comunidade. Fonte: https://steamcommunity.com/app/1817070
  • Desfavorecimento de comentários úteis: Da mesma forma, ao avaliar manualmente a utilidade dos comentários, existe a possibilidade de que alguns comentários relevantes e informativos sejam erroneamente considerados como não úteis. Isso pode resultar em perda de insights valiosos fornecidos pelos usuários. Na imagem, um comentário que destaca diversos pontos como “história”, “jogabilidade” e “gráficos” e que aparenta ser muito útil, pode não ser avaliado pela comunidade. O que nos leva a outro ponto:
  • Comentários pouco votados ou recentes passam despercebidos: Com a avaliação manual, há uma tendência de focar mais nos comentários populares ou bem estabelecidos, enquanto os comentários com menos votos ou mais recentes podem ser ignorados. Isso pode limitar a diversidade de opiniões e perspectivas consideradas na avaliação dos comentários.

Uma forma de contornar isso é prevendo a utilidade dos comentários com
ajuda do Processamento de Línguas de Naturais (PLN) !

Neste artigo, vamos explorar a previsão da utilidade de comentários em Português Brasileiro de jogos no site Steam. O objetivo é utilizar técnicas de Processamento de Linguagem Natural (PLN) e algoritmos de aprendizado de máquina para automatizar a classificação de comentários como úteis ou não-úteis.

Trabalhos relacionados

Alguns estudos anteriores já abordaram o tema da previsão da utilidade de comentários de jogos. Barbosa et al. (2016) utilizaram redes neurais artificiais para prever a utilidade de comentários em Português Brasileiro na Steam [3]. Baowaly et al. (2019) realizaram um estudo de caso na loja Steam, para prever a utilidade de avaliações de jogos[4].

Esses estudos serviram como base e inspiração para o nosso trabalho (Jorge e Pardo, 2022) [5], que teve como objetivos:

Criação de um corpus anotado contendo comentários em Português Brasileiro de jogos na Steam.

Automatizar a predição de utilidade de comentários por meio de algoritmos de aprendizado de máquina.

Descobrir quais atributos linguísticos e não-linguísticos contribuem para definir um comentário como útil.

Testar a hipótese e os métodos de Baowaly et al.(2019).

Pipeline

Pipeline de Processamento de Linguagem Natural. Fonte: Autoria Própria

O pipeline do trabalho consiste em coletar comentários em jogos da plataforma Steam, realizar o pré-processamento dos dados, engenharia de atributos, vetorização dos comentários, treinamento de um modelo de aprendizado de máquina e avaliação do modelo. Essas etapas permitem a previsão da utilidade dos comentários e a análise dos atributos relevantes para essa previsão. Os detalhes mais específicos sobre cada etapa serão abordados logo após!

Método

Conjunto de dados

O conjunto encontra-se disponível no github! Fique a vontade para utilizá-lo e replicar os experimentos:

https://github.com/germanojorge/SteamBR

Para treinar e testar nosso algoritmo, coletamos um conjunto de dados contendo 2.789.893 comentários em Português Brasileiro de jogos na Steam. Utilizamos um web scraper para extrair esses dados do site. O conjunto de dados foi filtrado considerando apenas comentários com três ou mais votos, resultando em um total de 233.824 comentários. Os jogos foram divididos em 10 gêneros para uma melhor análise. O conjunto está disponível no github.

Gráfico que representa a distribuição de análises dividida por gêneros de jogos. Fonte: Autoria Própria

Pré-processamento

Antes de iniciar o treinamento do algoritmo, realizamos um pré-processamento nos comentários. Esse processo consistiu em transformar todas as letras em minúsculas, remover caracteres especiais, números e pontuações, realizar tokenização e remover stopwords, como “a”, “o” e “e”.

Engenharia de atributos

Na etapa de engenharia de atributos, definimos uma série de características para representar os comentários. Essas características foram divididas em três categorias: metadados, atributos semânticos e atributos distribucionais.

Os metadados incluíam informações como se o autor recomendou o jogo, o número de sentenças, o número de palavras, o tamanho médio das sentenças, o número de exclamações, o número de interrogações e a proporção entre letras maiúsculas e minúsculas.

Tabela dos tipos de atributos extraídos no conjunto de dados. Fonte: Autoria Própria

Os atributos semânticos foram obtidos por meio da análise de sentimentos utilizando o dicionário LIWC, que contabiliza palavras que revelam determinados sentimentos e opiniões.

Já os atributos distribucionais foram gerados utilizando a técnica Doc2Vec, que transforma os comentários em vetores para capturar a semântica distribucional.

Aprendizado supervisionado

Utilizamos algoritmos de aprendizado de máquina para treinar e testar nosso modelo.

Exemplo de modelo de aprendizado supervisionado. Os comentários são inseridos com rótulos para ensinar o modelo. Em seguida, é adicionado um comentário não-rotulado para o modelo prever sua utilidade. Fonte: Autoria Própria

No aprendizado supervisionado, são inseridos comentários já rotulados como úteis e não úteis. Esses dados rotulados são utilizados para treinar o modelo de aprendizado de máquina, permitindo que ele aprenda a distinguir e prever a utilidade dos comentários com base nos padrões identificados nos dados de treinamento para quando inserirmos um comentário não rotulado.

Figura que representa como os comentários são de fato, inseridos no modelo, com suas embeddings e demais atributos. Fonte: Autoria Própria

Contudo, para treinar nosso modelo não basta colocar os comentários em sua forma “crua”, precisamos transformá-los em tabelas de instâncias e atributos. No nosso caso, durante a etapa da engenharia de atributos, já tínhamos feitos esse processo e transformado os comentários em vetores, além de extrair atributos como os metadados, e sentimentos, lembra?

Depois disso, precisamos escolher o algoritmo e dividir esse conjunto em treino e teste.

O algoritmo escolhido foi o Gradient Boosting Machine, que já havia sido utilizado por Baowaly et al. (2019) com bons resultados. Dividimos nosso conjunto de dados em 80% para treinamento e 20% para teste. Além disso, realizamos um balanceamento de classes utilizando as técnicas de oversampling e undersampling. Foram treinados um classificador e um regressor.

Um classificador é utilizado para categorizar os comentários como úteis ou não úteis, enquanto um regressor é usado para prever a pontuação de utilidade em uma escala contínua.

Resultados

Após realizar o treinamento e teste do modelo, obtivemos os seguintes resultados: a média do RMSE (Root Mean Square Error) foi de 0.95 para o regressor e a média do F1-score foi de 90% para o classificador. Esses resultados indicam que nosso modelo tem uma boa capacidade de prever a utilidade dos comentários.

Resultados do modelo de aprendizado. Destaque para Sousa & Pardo (2023), que apesar de não chegar ao estado da arte como no inglês, obteve bons resultados. Fonte: Autoria Própria

a medida F1 representa uma métrica de avaliação que combina a precisão e a cobertura de um modelo de classificação. Ela é calculada a partir da média harmônica entre essas duas métricas e fornece uma medida geral do desempenho do modelo em relação à classificação correta das classes positivas e negativas. A precisão mede a proporção de verdadeiros positivos em relação ao total de exemplos classificados como positivos, enquanto a cobertura mede a proporção de verdadeiros positivos em relação ao total de exemplos verdadeiramente positivos. A medida F1 é especialmente útil quando há um desequilíbrio entre as classes de interesse, como no caso da previsão da utilidade dos comentários, em que os comentários úteis podem ser menos frequentes em comparação aos não úteis. Portanto, a medida F1 é uma métrica relevante para avaliar o desempenho do modelo na previsão da utilidade dos comentários em jogos.

Medidas do erro quadrático médio (Root Mean Squared Error), obtidas pelo modelo de aprendizado em cada gênero. Quanto menor, melhor. Os resultados superaram o estado da arte anterior. Fonte: Autoria Própria

Já a métrica RMSE (Root Mean Squared Error) é uma medida utilizada para avaliar o desempenho de modelos de regressão, como é o caso da previsão da pontuação de utilidade dos comentários. O RMSE mede a diferença média entre os valores previstos pelo modelo e os valores reais, levando em consideração o quadrado dessa diferença para garantir que valores positivos e negativos não se anulem. Em outras palavras, o RMSE representa a raiz quadrada da média dos erros quadrados, fornecendo uma medida de quão distante as previsões do modelo estão dos valores reais. Quanto menor o valor do RMSE, mais precisa é a previsão do modelo em relação à pontuação de utilidade dos comentários.

Ao analisar a importância dos atributos, verificamos que o número de palavras e a recomendação foram os atributos de maior relevância na previsão da utilidade dos comentários.

Tabela de importância dos atributos. Do lado esquerdo, diferentes tipos de atributos (metadados, semânticos, distribucionais), e embaixo seu peso relativo. Fonte: Autoria Própria.

Conclusão

O presente trabalhou resultou em um artigo no BraSNAM — XII Brazilian Workshop on Social Network Analysis and Mining. E pode ser visualizado em: SteamBR: a dataset for game reviews and evaluation of a state-of-the-art method for helpfulness prediction

Neste trabalho, exploramos a previsão da utilidade de comentários em Português Brasileiro de jogos na Steam. Utilizando técnicas de PLN e algoritmos de aprendizado de máquina, conseguimos automatizar a classificação de comentários como úteis ou não-úteis.

Os resultados obtidos demonstram a viabilidade de utilizar essas técnicas para prever a utilidade dos comentários. A maior quantidade de dados utilizada no estudo contribuiu para melhorar a precisão do modelo. Além disso, identificamos que o número de palavras e a recomendação são os atributos mais importantes na previsão da utilidade dos comentários.

Esperamos que este estudo possa contribuir para uma melhor compreensão dos comentários em Português Brasileiro de jogos na Steam e auxiliar jogadores e desenvolvedores na tomada de decisões informadas.

Referências

[1] Decisão de compra é cada vez mais baseada em comentários na web. Disponível em: https://www.mundodomarketing.com.br/reportagens/comportamento-do-consumidor/25126/decisao-de-compra-e-cada-vez-mais-baseada-em-comentarios-na-web.html

[2] Mercado de games agora vale mais que indústrias de música e cinema juntas. Disponível em: https://canaltech.com.br/games/mercado-de-games-agora-vale-mais-que-industrias-de-musica-e-cinema-juntas-179455/

[3] Baowaly, M. K., Tu, Y. P., & Chen, K. T. (2019). Predicting the helpfulness of game reviews: A case study on the Steam store. Journal of Intelligent & Fuzzy Systems, 36(5), 4731–4742.

[4] Barbosa, J. L., Moura, R. S., & Santos, R. L. D. S. (2016, November). Predicting Portuguese steam review helpfulness using artificial neural networks. In Proceedings of the 22nd Brazilian Symposium on Multimedia and the Web (pp. 287–293).

[5] JORGE, Germano Antonio Zani. Prevendo a utilidade de comentários em portugês brasileiro de jogos no site Steam. 2022. Trabalho de Conclusão de Curso (MBA) — Instituto de Ciências Matemáticas e de Computação, Universidade de São Paulo, São Carlos, 2022. Disponível em: https://repositorio.usp.br/directbitstream/ac40baae-6351-49d9-8bdf-edfdb04c01c2/Germano%20Ant%C3%B4nio%20Zani%20Jorge_TCC_MBA_GERMANO_JORGE_COMPLETO_VERSAOFINAL_173931.pdf. Acesso em: 12 jun. 2023.

--

--