Personal Narrative Classifier (WebSci'25)

This is the official repository for the text classification model presented in the paper: "Personal Narratives Empower Politically Disinclined Individuals to Engage in Political Discussions", which received a Best Paper Honorable Mention at the 17th ACM Web Science Conference (WebSci'25).

The model is a fine-tuned BERT-based classifier (falkne/storytelling-LM-europarl-mixed-en) designed to identify personal narratives in online comments.

Model Description

This model classifies a given text as either a "Personal Narrative" or "Not a Personal Narrative". It was developed to support a large-scale computational analysis of how personal stories affect engagement in online political discussions on Reddit.

  • Label 0: Not a Personal Narrative
  • Label 1: Personal Narrative

Intended Uses & Limitations

Intended Use

This model is intended for researchers in computational social science, political science, communication, and HCI to study online discourse. It can be used to:

  • Quantify the use of personal narratives in various online communities.
  • Analyze the reception and impact of story-based arguments.
  • Replicate and extend the findings of the original paper.

Limitations

As noted in the paper, this model has several limitations:

  • The training and evaluation data comes from political subreddits on Reddit from 2020-2021. Its performance may vary on other platforms or time periods.
  • The definition of "political activity" was based on subreddit engagement, which may not capture all forms of political interest.
  • The model does not analyze the content or veracity of the narratives. Personal narratives can also be used to spread misinformation, which is an avenue for future research.

How to Use

You can use this model with the transformers library pipeline for easy inference.

from transformers import pipeline

repo_id = "tejasvichebrolu/personal-narrative-classifier"
classifier = pipeline("text-classification", model=repo_id)

# Example texts
narrative_text = "Iโ€™m in Alabama and oh my god it was so humid yesterday. I was so unproductive from how bad it was."
non_narrative_text = "The most straightforward solution is to encourage others to engage with politics online."

# Get predictions
results = classifier([narrative_text, non_narrative_text])
for text, result in zip([narrative_text, non_narrative_text], results):
    print(f"Text: {text}")
    # The pipeline may return LABEL_0/LABEL_1 or the names from the config
    print(f"  -> Prediction: {result['label']}, Score: {result['score']:.4f}\n")

Training and Evaluation

The model was fine-tuned on a dataset of 2,000 manually labeled Reddit comments. It achieved a macro average F1-score of 0.82 in 5-fold cross-validation. For more details on the training procedure and performance, please refer to the paper.

Citation

If you use this model or its findings in your research, please cite our paper:

@inproceedings{chebrolu2025narratives,
  title={{Personal Narratives Empower Politically Disinclined Individuals to Engage in Political Discussions}},
  author={{Chebrolu, Tejasvi and Kumaraguru, Ponnurangam and Rajadesingan, Ashwin}},
  booktitle={{Proceedings of the 17th ACM Web Science Conference 2025 (Websci '25)}},
  year={{2025}},
  organization={{ACM}},
  doi={10.1145/3717867.3717899}
}
Downloads last month
9
Safetensors
Model size
0.1B params
Tensor type
F32
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for tejasvichebrolu/personal-narrative-classifier

Finetuned
(1)
this model