tejasvichebrolu's picture
Update README.md
0502d84 verified
metadata
license: mit
language: en
tags:
  - text-classification
  - distilbert
  - news-framing
  - conflict-detection
  - indian-elections
  - computational-social-science
  - websci2025
datasets:
  - custom
model-index:
  - name: Framing the Fray - Conflict Frame Classifier
    results:
      - task:
          type: text-classification
          name: Text Classification
        dataset:
          type: custom
          name: Indian Election News Headlines
        metrics:
          - type: f1
            value: 0.87
            name: Macro F1-Score
            args:
              average: macro

Conflict Frame Classifier for Indian Election News

This is a distilbert-base-uncased-finetuned-sst-2-english model fine-tuned to classify news headlines into one of two frames: conflict or non-conflict (miscellaneous).

This model is the official artifact for the research paper:

"Framing the Fray: Conflict Framing in Indian Election News Coverage" accepted at the 17th ACM Web Science Conference (WebSci '25).

Citation

If you use this model or the associated code, please cite our paper:

@inproceedings{chebrolu2025framing,
  title={Framing the Fray: Conflict Framing in Indian Election News Coverage},
  author={Chebrolu, Tejasvi and Chowdhary, Rohan and Vardhan, N Harsha and Kumaraguru, Ponnurangam and Rajadesingan, Ashwin},
  booktitle={Proceedings of the 17th ACM Web Science Conference 2025 (Websci '25)},
  year={2025},
  month={May},
  address={New Brunswick, NJ, USA},
  publisher={ACM},
  doi={10.1145/3717867.3717900}
}

How to Use

You can use this model directly with the pipeline function from the transformers library:

from transformers import pipeline

# Replace with your actual model repo ID after uploading
classifier = pipeline("text-classification", model="tejasvichebrolu/conflict-frame-classifier")

headlines = [
    "Days Before Polls, Kamal Haasan Meets Mamata Banerjee In Kolkata",
    "SP-BSP alliance led to wave of happiness; BJP worried, says Akhilesh Yadav",
    "Narendra Modi invoking Army for votes, says Tejashwi Yadav"
]

results = classifier(headlines)
for result in results:
    print(f"Label: {result['label']}, Score: {result['score']:.4f}")

Training Procedure

The model was fine-tuned on a dataset of 860 headlines annotated for the presence of a conflict frame.


Hyperparameters

Hyperparameter Value
Conflict Class Weight 1.69
Non-Conflict Class Weight 9.01
Learning Rate 6.008 × 10⁻⁵
Epochs 9

Evaluation Results

The model's performance was evaluated using 5-fold cross-validation. The average metrics are reported below:

Class Precision Recall F1-Score
Conflict 0.92 0.91 0.92
Non-Conflict 0.81 0.82 0.81
Macro avg 0.87 0.87 0.87