← Back

Decoding Digital Discourse

Multi-label sentiment analysis of #MeToo movement tweets using transformer-based language models.

Classification pipeline diagram
Fig. Pipeline: preprocessing, data augmentation (MLSMOTE + GPT-3 synthetic data) and fine-tuned classifiers.
0.824
accuracy (Davinci + aug.)
+53%
vs. best prior result
7
labels, 4 tasks

The task

Within a year of the movement starting, the #MeToo hashtag had been used 19 million times. Simple positive/negative sentiment misses most of what is said. I framed the problem as multi-label classification across four tasks on the public MeTooMA dataset:

It's a hard problem. Labelled data is scarce, posts are short and noisy, figurative language and irony are common, and classes are heavily imbalanced. The best team in the BMGC 2020 challenge reached an average AUC of only 0.563.

Handling class imbalance

I compared two augmentation strategies: MLSMOTE (Multilabel Synthetic Minority Oversampling) and synthetic tweets generated with GPT-3 for under-represented labels.

Data imbalance and augmented data per label
Fig. MeTooMA label imbalance and augmented data per label.
GPT-3 synthetic tweet generation
Fig. Generating synthetic training tweets with GPT-3.

Models

Results

ModelAccuracyWeighted F1
Best result from literature0.539n/a
DistilBERT0.4530.418
DistilBERT + MLSMOTE0.5010.509
GPT-3 Ada0.5310.501
GPT-3 Davinci0.5610.520
GPT-3 Davinci + augmented data0.8240.816

Effect of augmentation on Davinci

Training dataAcc.Prec.RecallAUROCF1
MeTooMA only0.5360.6070.6530.5210.630
MeTooMA + synthetic0.8240.8970.7810.6050.816
Synthetic only0.9680.9870.9330.9750.966

The near-perfect synthetic-only scores come with a caveat: GPT-3's synthetic tweets express much stronger, clearer sentiment than real ones. Mixing synthetic and real data improved diversity and class balance while keeping the model grounded in real language.

Word cloud of #MeToo tweets
Fig. Most frequent terms in the dataset.

Future work

Next steps include tracking how sentiment changes over time, extending the classifier to other platforms and movements such as #BlackLivesMatter, and using contextual models that pick up irony and implied meaning more reliably.