text Twitter

distilbert-depression-base

This model is a fine-tuned version of distilbert-base-uncased trained on CLPsych 2015 and evaluated on a scraped dataset from Twitter to detect potential users in Twitter for depression. It achieves the following results on the evaluation set:

Intended uses & limitations

Feed a corpus of tweets to the model to generate label if input is indicative of a depressed user or not. Label 1 is depressed, Label 0 is not depressed.

Limitation: All token sequences longer than 512 are automatically truncated. Also, training and test data may be contaminated with mislabeled users.

How to use

You can use this model directly with a pipeline for sentiment analysis:

>>> from transformers import DistilBertTokenizerFast, AutoTokenizer
>>> tokenizer = AutoTokenizer.from_pretrained('distilbert-base-uncased')
>>> from transformers import DistilBertForSequenceClassification
>>> model = DistilBertForSequenceClassification.from_pretrained(r"distilbert-depression-base")
>>> from transformers import pipeline
>>> classifier = pipeline("sentiment-analysis", model=model, tokenizer=tokenizer)
>>> tokenizer_kwargs = {'padding':True,'truncation':True,'max_length':512}
>>> result=classifier('pain peko',**tokenizer_kwargs) #For truncation to apply in the pipeline. 
>>> #Should note that the string passed as the input can be a corpus of tweets concatenated together into one document.

[{'label': 'LABEL_1', 'score': 0.5048992037773132}]

Otherwise, download the files and specify within the pipeline the path to the folder that contains the config.json, pytorch_model.bin, and training_args.bin

Training hyperparameters

The following hyperparameters were used during training:

Training results

Epoch Training Loss Validation Loss Accuracy F1 Precision Recall AUC
1.0 0.68 0.66 0.59 0.63 0.56 0.73 0.59
2.0 0.60 0.68 0.63 0.69 0.59 0.83 0.63
3.0 0.52 0.67 0.64 0.66 0.62 0.72 0.65