Edit model card

Fine-tuned ALBERT Model for Constructiveness Detection in Steam Reviews

Model Summary

This model is a fine-tuned version of albert-base-v2, designed to classify whether Steam game reviews are constructive or non-constructive. The model was trained on the 1.5K Steam Reviews Binary Labeled for Constructiveness dataset, which consists of user-generated game reviews (along other features) labeled with binary labels (1 for constructive or 0 for non-constructive).

The datasets featues were concatenated into Strings with the following format: "Review: {review}, Playtime: {author_playtime_at_review}, Voted Up: {voted_up}, Upvotes: {votes_up}, Votes Funny: {votes_funny}" and then fed to the model accompanied by the respective constructive labels. This approach of concatenating the features into a simple String offers a good trade-off between complexity and performance, compared to other options.

Intended Use

The model can be applied in any scenario where it's important to distinguish between helpful and unhelpful textual feedback, particularly in the context of gaming communities or online reviews. Potential use cases are platforms like Steam, Discord, or any community-driven feedback systems where understanding the quality of feedback is critical.

Limitations

The model may be less effective in domains outside of gaming, as it was trained specifically on Steam reviews. Additionally, a slightly imbalanced dataset was used for training (approximately 63% non-constructive, 37% constructive).

Evaluation Results

The model was trained and evaluated using an 80/10/10 Train/Dev/Test split, achieving the following performance metrics during evaluation using the test set:

  • Accuracy: 0.80
  • Precision: 0.80
  • Recall: 0.82
  • F1-score: 0.79

These results indicate that the model performs reasonably well at identifying the correct label. (~80%)

How to Use

You can use this model with the Hugging Face pipeline API for easy classification. Here's how to do it in Python:

from transformers import pipeline

classifier = pipeline("text-classification", model="abullard1/roberta-steam-review-constructiveness-classifier")
result = classifier("Review: Bad. Really bad. Kinda., Playtime: 4, Voted Up: False, Upvotes: 2, Votes Funny: 0")
print(result)
Downloads last month
0
Safetensors
Model size
11.7M params
Tensor type
F32
·
Inference Examples
This model does not have enough activity to be deployed to Inference API (serverless) yet. Increase its social visibility and check back later, or deploy to Inference Endpoints (dedicated) instead.

Model tree for abullard1/albert-v2-steam-review-constructiveness-classifier

Finetuned
(152)
this model

Dataset used to train abullard1/albert-v2-steam-review-constructiveness-classifier

Evaluation results

  • Accuracy on abullard1/steam-reviews-constructiveness-binary-label-annotations-1.5k
    self-reported
    0.796
  • Precision on abullard1/steam-reviews-constructiveness-binary-label-annotations-1.5k
    self-reported
    0.800
  • Recall on abullard1/steam-reviews-constructiveness-binary-label-annotations-1.5k
    self-reported
    0.818
  • F1-score on abullard1/steam-reviews-constructiveness-binary-label-annotations-1.5k
    self-reported
    0.794