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

The final LaTeX file and the pdf file of a Report.

parent cc1cd1c3
Loading
Loading
Loading
Loading
+21 B (5.29 MiB)

File changed.

No diff preview for this file type.

+133 B (40.4 KiB)

File changed.

No diff preview for this file type.

+9 −15
Original line number Diff line number Diff line
@@ -99,17 +99,17 @@ University of Hohenheim

\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 gaming community's reception of Elden Ring and enriching our understanding of player feedback.
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 data's relevance and readability.\\
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. 
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 Syuzhet package's Bing and AFINN dictionaries. 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 "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.\\

@@ -145,12 +145,6 @@ In the emotion analysis conducted using the NRC dictionary from the Syuzhet pack

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]
@@ -167,7 +161,7 @@ Negative & 275 & 1630 \\
\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 weren't upvoted versus 3062 that were; and in Positive sentiment, 193 reviews didn't 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.\\
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
@@ -198,7 +192,7 @@ The provided confusion matrix details the correlation between sentiment classifi

\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 don't 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..\\
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
@@ -207,15 +201,15 @@ Moreover, the provided data showcases two aspects of user reviews based on senti
  \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 the gaming community's opinion, reflecting the dynamic responsiveness of users to changes within the game's environment.
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 doesn't 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.
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 review's dataset 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. 
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}