|
|
--- |
|
|
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: |
|
|
|
|
|
```bibtex |
|
|
@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: |
|
|
|
|
|
```python |
|
|
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** | |
|
|
|
|
|
|