Commit c796fd64 authored by Hetvi Ariwala's avatar Hetvi Ariwala
Browse files

The file has been moved to 03_report folder.

parent 534ad112
Loading
Loading
Loading
Loading

02_code/Report.tex

deleted100644 → 0
+0 −225
Original line number Diff line number Diff line

\documentclass[a4paper,12pt]{article}

\usepackage[longnamesfirst, round]{natbib}  

\usepackage{caption}

\usepackage{subcaption}

\usepackage{booktabs}

\usepackage[utf8]{inputenc}   

\usepackage[T1]{fontenc}        

\usepackage{color}              

\usepackage{amsmath,amsfonts,amssymb}   

\usepackage[english]{babel}     

\usepackage{ae}                 

\usepackage{graphicx}           

\usepackage{epstopdf}

\usepackage{longtable}          

\usepackage{booktabs}

\usepackage[flushleft]{threeparttable}

\usepackage{multirow}         

\usepackage{url}

\usepackage{setspace}

\usepackage{pdfpages}

\bibliographystyle{plainnat}    

\oddsidemargin 0.1in \evensidemargin 0.1in \textwidth 15.5cm \topmargin -0.4in \textheight 24.5cm   

\parindent 0cm  

\pagestyle{plain}          

\newcommand{\bs}{\boldsymbol}  

\usepackage{blindtext}

\begin{document}

\onehalfspacing

\pagenumbering{roman} 

\begin{titlepage} 

\thispagestyle{empty}   

\begin{center}

\vspace*{2.5cm}

{\bf  \Large Sentiment and Emotion Analysis of user reviews\\Elden Ring game } \\
\vspace*{3cm} 
Mandatory Assignment 02 \\ Winter Term 2023-24\\ Inroduction to Applied Data Science\\
at the \\  Faculty of Business, Economics and Social Sciences\\ 
MSc. International Business and Economics\\
University of Hohenheim

\end{center}

\vfill

\hfill \begin{minipage}{0.5\linewidth}
 First examiner: Prof.\ Dr.\ Thomas Dimpfl \\
 Second examiner: Sophia Koch \\
 Third examiner: Dr. Johannes Bleher\\
 
 Submitted by: \\
 Hetvi Ariwala (996729) \\
 Sarish Aklujkar (991260)\\
 
 Date of Submission: \today 
\end{minipage}


\end{titlepage}

\newpage                

\pagenumbering{arabic}      

\setcounter{page}{1}  

\section*{Abstract}  

This report conducts an in-depth sentiment analysis on Elden Ring user reviews, leveraging data extracted from the top 100 games on the Steam Spy API and detailed reviews from the SteamPowered API. The study employs a dual approach: manual sentiment analysis using a curated word list from Kaggle and automated analysis with the Bing and AFINN dictionaries from the Syuzhet package in R. These methods aim to dissect player satisfaction, highlighting elements in the game that generate positive or negative responses. The analysis extends to comparing the outcomes of these methodologies to understand their similarity and differences in sentiment interpretation. Additionally, an emotion analysis using the NRC function from the Syuzhet package is performed to delve deeper into the emotional variations within the reviews. The objective of this comprehensive analysis is to decode the emotional undercurrents of the reviews, thereby offering an insightful perspective on the reception of the Elden Ring gaming community and enriching our understanding of player feedback.

\section*{Data Cleaning}

The data cleaning process for the 'gamereviews' dataset was precisely executed to prepare the user reviews for detailed analysis. Initially, regular expressions were utilized to remove non-ASCII characters and URLs, standardizing the textual content and eliminating irrelevant external references. This step also included stretching out shortened words to their full form to keep the language consistent and reducing repeated letters or symbols in words. Further cleaning steps included the systematic removal of numerical digits, punctuation, and single-character responses, enhancing the relevance and readability of the data.\\

Text normalization was a key aspect, with conversions to lowercase and the elimination of excess whitespace using regular expressions, thereby ensuring uniformity across the dataset. Stop words, barring the term "not", were strategically filtered out to focus on meaningful content, crucial for sentiment analysis. Additionally, the process involved spell checking against an English dictionary, reinforcing the textual accuracy and reliability. The cleaning process concludes with the generation of a word cloud, visually representing the most prevalent words in the refined reviews. This step provided a brief overview of dominant themes and insights, forming a foundation for subsequent in-depth textual analysis. 

\section*{Sentiment Analysis}

The "rev.sentiment" dataset features sentiment scores from both manual analysis and automated methods using the Bing and AFINN dictionaries from Syuzhet package. A manual sentiment analysis of the dataset classified 4481 reviews as positive, 1905 as negative, and 3232 as neutral. The higher count of positive reviews suggests a generally favourable sentiment among users, while the presence of negative and neutral reviews indicates a diverse range of opinions. \\

The comparison between manual sentiment analysis using a Kaggle-sourced dictionary and automated analysis with the Bing dictionary from the Syuzhet package shows a significant overlap, with 74.02\% of the results being identical. This demonstrates a notable agreement in sentiment classification between the two methods. However, there is a 25.98\% discrepancy, highlighting differences in their scoring approaches. The Syuzhet package, with the Bing dictionary, assigns a broader range of sentiment scores: positive reviews can vary from 3, 17, etc., negative reviews from –4, -16, etc., while neutral reviews are consistently scored 0. In contrast, the manual analysis uses a simpler system, scoring reviews as -1 for negative, 0 for neutral, and 1 for positive. This discrepancy underscores the subtle scoring variations between manual and automated sentiment analysis methods.\\

The correlations between score.manual and both score.bing (approximately 0.184) and score.afinn (approximately 0.187) are relatively lower. This indicates that the manual sentiment scoring method does not align as closely with the automated methods. There is a moderate positive correlation between score.bing and score.afinn (correlation coefficient approximately 0.823). This suggests that these two scoring methods, though different, often agree on the sentiment of a review. The moderate to low correlations suggest that while there is some agreement between the different methods of sentiment analysis, each brings a unique perspective to the interpretation of the user reviews. This diversity in analysis methods can provide a more comprehensive understanding of user sentiment toward the game.\\


\begin{table}[ht]
\centering
\begin{tabular}{rrrr}
  \hline
 & Manual & Bing & Afinn \\ 
  \hline
  Manual & 1.00 & 0.18 & 0.19 \\ 
  Bing & 0.18 & 1.00 & 0.82 \\ 
  Afinn & 0.19 & 0.82 & 1.00 \\ 
   \hline
\end{tabular}
\caption{Correlation of scores} 
\end{table}

The table displays correlation coefficients between sentiment score variables, where 1.00 denotes perfect positive correlation and lower values signify weaker correlations.\\

\section*{Emotion Analysis}

In the emotion analysis conducted using the NRC dictionary from the Syuzhet package, a bar graph was generated to visualise the frequency of various emotions extracted from user reviews. This graph provides a quantitative representation of the emotional landscape, highlighting the prevalence of certain feelings within the feedback.\\

\begin{figure}[ht]
  \centering
  \includegraphics[width=0.8\textwidth]{../03_report/graphs/Emotions.jpg}
  \caption{Scores of different Emotions}
  \label{fig:emotions_plot}
\end{figure}

The NRC sentiment analysis bar chart reveals a predominantly positive sentiment in user reviews, with high scores in 'Positive', followed by 'Anticipation' and 'Joy', suggesting a favorable and enthusiastic response. While 'Negative' emotions are present, they are less dominant than positive ones, indicating some dissatisfaction .The emotional spectrum in user reviews, as revealed by the NRC analysis, is diverse, with 'Trust' and 'Fear' being predominant, while 'Surprise' and 'Disgust' are less common. This pattern suggests an overall optimistic tone amidst a range of emotions, where negative feelings are less frequent, indicating nuanced emotional responses.  It is important to note that the scores are not mutually exclusive, meaning that a single review can contain multiple emotions.\\

Furthermore, the relevance of a manual sentiment score and the allocation of being positive or negative review consistency was conducted on a 'sent.compare' dataset, and the results are summarised in the confusion matrix shown in below mentioned table.

\begin{table}[ht]
\centering
\begin{tabular}{rrr}
  \hline
 & FALSE & TRUE \\ 
  \hline
Negative & 275 & 1630 \\ 
  Neutral & 170 & 3062 \\ 
  Positive & 193 & 4288 \\ 
   \hline
\end{tabular}
\caption{Confusion Matrix for Sentiment Analysis} 
\end{table}

The provided confusion matrix details the correlation between sentiment classifications (Negative, Neutral, Positive) and user votes (TRUE for upvoted, FALSE for not upvoted) in sentiment analysis. It shows that out of the Negative sentiment reviews, 275 were not upvoted, while 1630 were; for Neutral sentiment, 170 reviews were not upvoted versus 3062 that were; and in Positive sentiment, 193 reviews did not get upvotes, contrasted with a significant 4288 that did. This pattern suggests a higher likelihood of upvotes for reviews with Positive and Neutral sentiments compared to Negative ones, indicating user preferences and perceptions towards these sentiment categories.\\

\begin{minipage}{0.5\textwidth}
  \centering
  \begin{tabular}{cc}
    \midrule
    \textbf{Category} & \textbf{Value} \\
    \midrule
    Negative & 1.07 \\
    Neutral & 1.46 \\
    Positive & 0.87 \\
    \bottomrule
  \end{tabular}
  \captionof{table}{Average Helpful Votes by Sentiment}
\end{minipage}%
\begin{minipage}{0.5\textwidth}
  \centering
  \begin{tabular}{cc}
    \midrule
    \textbf{Category} & \textbf{Count} \\
    \midrule
    Negative & 1905 \\
    Neutral & 3232 \\
    Positive & 4481 \\
    \bottomrule
  \end{tabular}
  \captionof{table}{Distribution of Sentiments}
\end{minipage}

\vspace{10mm} %

Moreover, the provided data showcases two aspects of user reviews based on sentiment. Table 3, "Average Helpful Votes by Sentiment," reveals that Negative, Neutral, and Positive sentiment reviews receive average helpful votes of 1.07, 1.46, and 0.87, respectively. This indicates that Neutral reviews are considered the most helpful, followed by Negative, with Positive reviews deemed least helpful on average. Table 4, "Distribution of Sentiments," shows the prevalence of each sentiment category, with 1905 Negative, 3232 Neutral, and 4481 Positive reviews. This demonstrates that Positive reviews are the most frequent, yet they do not align with the highest helpfulness, which is attributed to Neutral reviews. The data suggests a trend where users may find Neutral reviews more balanced and informative than the more extreme Positive or Negative ones..\\

\begin{figure}[ht]
  \centering
  \includegraphics[width=0.8\textwidth]{../03_report/graphs/Sentiment variation.jpg}
  \caption{Variation of sentiment scores over time}
  \label{fig:sentiment_plot}
\end{figure}

The plot shows significant fluctuations in the total sentiment score over time, peaking notably towards the end of September and reaching its highest point, a score of 79, on November 22, 2023. These variations suggest changes in user opinions, possibly due to game updates, demographic changes, or external influences. The significant peak in sentiment score in November suggests an event that markedly influenced an opinion of a gaming community, reflecting the dynamic responsiveness of users to changes within the game's environment.


\section*{Limitations}
Sentiment analysis using predefined word lists faces the challenge of context insensitivity, struggling to capture the varied connotations words can have in different situations. The static nature of these lists does not account for linguistic evolution, making it hard to detect sarcasm, colloquialisms, or the impact of modifiers like "very" or "not". Consequently, the sentiment expressed may be misinterpreted, leading to an inaccurate assessment of user opinions. The use of automated sentiment analysis with the Syuzhet package's dictionaries in R introduces variability due to differing methodologies and lexical sets. While some dictionaries provide a simple categorisation of sentiments, others assign a numerical value or a range of emotions, which might not reflect nuances specific to contexts like gaming. This variability necessitates a careful selection of analysis tools, understanding that they serve as an initial guide rather than a conclusive evaluation of sentiment.

\section*{Conclusion}

In summary, the sentiment analysis on the user reviews has revealed the depth and complexity of user opinions. Alignment exists between manual and automated analysis methods, but each has inherent difficulties in accurately interpreting sentiment, as evidenced by the NRC emotion analysis which depicts a primarily positive sentiment combined with a spectrum of other emotions. Moreover, time-series analysis indicates that user sentiments are not stable, highlighting the dynamic nature of player feedback. However, this analysis also uncovers challenges such as context insensitivity and linguistic evolution, which can lead to misunderstandings. This underscores the need for sentiment analysis tools to evolve in complexity and adaptability to truly reflect the nuanced sentiment of user-generated content. 

\section*{References}

 R Core Team (2023). R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing, Vienna, Austria. URL https://www.R-project.org/\\

Minqing Hu and Bing Liu. "Mining and summarizing customer reviews."
Proceedings of the ACM SIGKDD International Conference on Knowledge
Discovery \& Data Mining (KDD-2004, full paper), Seattle, Washington,
USA, Aug 22-25, 2004\\

Brewer, Cynthia A. "ColorBrewer 2.0: Color Advice for Cartography." Pennsylvania State University, n.d., https://colorbrewer2.org/

\end{document}