All Projects → cardiffnlp → Tweeteval

cardiffnlp / Tweeteval

Repository for TweetEval

Projects that are alternatives of or similar to Tweeteval

Math And Ml Notes
Books, papers and links to latest research in ML/AI
Stars: ✭ 76 (-2.56%)
Mutual labels:  jupyter-notebook
Nlp
Generic codes related to NLP
Stars: ✭ 77 (-1.28%)
Mutual labels:  jupyter-notebook
Machinelearningformedicalimages
Example code on how to apply machine learning methods to medical images. Contains code (python and python notebooks) and data (DICOM)
Stars: ✭ 77 (-1.28%)
Mutual labels:  jupyter-notebook
Nds
On Network Design Spaces for Visual Recognition
Stars: ✭ 77 (-1.28%)
Mutual labels:  jupyter-notebook
Predictive Models
A repo of the Data Scientist team's open source predictive models.
Stars: ✭ 77 (-1.28%)
Mutual labels:  jupyter-notebook
Applied Social Network Analysis In Python
Course - 5; Specialization: Applied Data Science with Python; University Of Michigan
Stars: ✭ 77 (-1.28%)
Mutual labels:  jupyter-notebook
Ntk
Code for experiments in my blog post on the Neural Tangent Kernel: https://rajatvd.github.io/NTK
Stars: ✭ 76 (-2.56%)
Mutual labels:  jupyter-notebook
Nosebook
a nose plugin for finding and running IPython notebooks as nose tests
Stars: ✭ 77 (-1.28%)
Mutual labels:  jupyter-notebook
Reinforcement Learning
Reinforcement learning material, code and exercises for Udacity Nanodegree programs.
Stars: ✭ 77 (-1.28%)
Mutual labels:  jupyter-notebook
Python High Performance Second Edition
Python High Performance – Second Edition, published by Packt
Stars: ✭ 77 (-1.28%)
Mutual labels:  jupyter-notebook
Coreml Training
Source code for my blog post series "On-device training with Core ML"
Stars: ✭ 77 (-1.28%)
Mutual labels:  jupyter-notebook
Machine Learning Without Any Libraries
This is a collection of some of the important machine learning algorithms which are implemented with out using any libraries. Libraries such as numpy and pandas are used to improve computational complexity of algorithms
Stars: ✭ 77 (-1.28%)
Mutual labels:  jupyter-notebook
Download Large File From Google Drive Using Python
Stars: ✭ 77 (-1.28%)
Mutual labels:  jupyter-notebook
Nltk Python Cn
创建《Python自然语言处理》学习代码的中文注释版本。
Stars: ✭ 77 (-1.28%)
Mutual labels:  jupyter-notebook
Convergent learning
Code for paper "Convergent Learning: Do different neural networks learn the same representations?"
Stars: ✭ 77 (-1.28%)
Mutual labels:  jupyter-notebook
Deepfakedetection
Stars: ✭ 77 (-1.28%)
Mutual labels:  jupyter-notebook
Tensorflow 1x Deep Learning Cookbook
TensorFlow 1.x Deep Learning Cookbook, published by Packt
Stars: ✭ 77 (-1.28%)
Mutual labels:  jupyter-notebook
Curso aeropython
Curso de iniciación a Python orientado a la ingeniería
Stars: ✭ 77 (-1.28%)
Mutual labels:  jupyter-notebook
Rhodium
Python Library for Robust Decision Making and Exploratory Modelling
Stars: ✭ 77 (-1.28%)
Mutual labels:  jupyter-notebook
Hyperlearn
50% faster, 50% less RAM Machine Learning. Numba rewritten Sklearn. SVD, NNMF, PCA, LinearReg, RidgeReg, Randomized, Truncated SVD/PCA, CSR Matrices all 50+% faster
Stars: ✭ 1,204 (+1443.59%)
Mutual labels:  jupyter-notebook

TweetEval

This is the repository for the TweetEval benchmark (Findings of EMNLP 2020). TweetEval consists of seven heterogenous tasks in Twitter, all framed as multi-class tweet classification. All tasks have been unified into the same benchmark, with each dataset presented in the same format and with fixed training, validation and test splits.

TweetEval: The Benchmark

These are the seven datasets of TweetEval, with its corresponding labels (more details about the format in the datasets directory):

Note 1*: For stance there are five different target topics (Abortion, Atheism, Climate change, Feminism and Hillary Clinton), each of which contains its own training, validation and test data.

Note 2*: The sentiment dataset has been updated as of 17 December 2020. The update has been minimal and it was intended to fix a small number of sentences that were cropped.

TweetEval: Leaderboard (Test set)

Model Emoji Emotion Hate Irony Offensive Sentiment Stance ALL(TE) Reference
BERTweet 33.4 79.3 56.4 82.1 79.5 73.4 71.2 67.9 BERTweet
RoBERTa-Retrained 31.4 78.5 52.3 61.7 80.5 72.6 69.3 65.2 TweetEval
RoBERTa-Base 30.9 76.1 46.6 59.7 79.5 71.3 68 61.3 TweetEval
RoBERTa-Twitter 29.3 72.0 49.9 65.4 77.1 69.1 66.7 61.0 TweetEval
FastText 25.8 65.2 50.6 63.1 73.4 62.9 65.4 58.1 TweetEval
LSTM 24.7 66.0 52.6 62.8 71.7 58.3 59.4 56.5 TweetEval
SVM 29.3 64.7 36.7 61.7 52.3 62.9 67.3 53.5 TweetEval

Note*: Check the reference paper for details on the official metrics for each task

If you would like to have your results added to the leaderboard you can either submit a pull request or send an email to any of the paper authors with results and the predictions of your model. Please also submit a reference to a paper describing your approach.

Evaluating your system

For evaluating your system, you simply need an individual predictions file for each of the tasks. The format of the predictions file should be the same as the output examples in the predictions folder (one output label per line as per the original test file). The predictions included as an example in this repo correspond to the best model evaluated in the paper, i.e., RoBERTa re-trained on Twitter (RoB-Rt in the paper).

Example usage

python evaluation_script.py

The script takes the TweetEval gold test labels and the predictions from the "predictions" folder by default, but you can set this to suit your needs as optional arguments.

Optional arguments

Three optional arguments can be modified:

--tweeteval_path: Path to TweetEval datasets. Default: "./datasets/"

--predictions_path: Path to predictions directory. Default: "./predictions/"

--task: Use this to get single task detailed results (emoji|emotion|hate|irony|offensive|sentiment|stance). Default: ""

Evaluation script sample usage from the terminal with parameters:

python evaluation_script.py --tweeteval_path ./datasets/ --predictions_path ./predictions/ --task emoji

(this script would output the breakdown of the results for the emoji prediction task only)

Pre-trained models and code

You can download the best Twitter masked language model (RoBERTa-retrained in the paper) from 🤗HuggingFace here. We also provide task-specific models:

To know how to use the pre-trained models, you can check our Google Colab Notebook, with sample code for masked language modeling, extracting embeddings from tweets and tweet classification.

Citing TweetEval

If you use TweetEval in your research, please use the following bib entry to cite the reference paper.

@inproceedings{barbieri2020tweeteval,
  title={{TweetEval:Unified Benchmark and Comparative Evaluation for Tweet Classification}},
  author={Barbieri, Francesco and Camacho-Collados, Jose and Espinosa-Anke, Luis and Neves, Leonardo},
  booktitle={Proceedings of Findings of EMNLP},
  year={2020}
}

License

TweetEval is released without any restrictions but restrictions may apply to individual tasks (which are derived from existing datasets) or Twitter (main data source). We refer users to the original licenses accompanying each dataset and Twitter regulations.

Citing TweetEval datasets

If you use any of the TweetEval datasets, please cite their original publications:

Emotion Recognition:

@inproceedings{mohammad2018semeval,
  title={Semeval-2018 task 1: Affect in tweets},
  author={Mohammad, Saif and Bravo-Marquez, Felipe and Salameh, Mohammad and Kiritchenko, Svetlana},
  booktitle={Proceedings of the 12th international workshop on semantic evaluation},
  pages={1--17},
  year={2018}
}

Emoji Prediction:

@inproceedings{barbieri2018semeval,
  title={Semeval 2018 task 2: Multilingual emoji prediction},
  author={Barbieri, Francesco and Camacho-Collados, Jose and Ronzano, Francesco and Espinosa-Anke, Luis and 
    Ballesteros, Miguel and Basile, Valerio and Patti, Viviana and Saggion, Horacio},
  booktitle={Proceedings of The 12th International Workshop on Semantic Evaluation},
  pages={24--33},
  year={2018}
}

Irony Detection:

@inproceedings{van2018semeval,
  title={Semeval-2018 task 3: Irony detection in english tweets},
  author={Van Hee, Cynthia and Lefever, Els and Hoste, V{\'e}ronique},
  booktitle={Proceedings of The 12th International Workshop on Semantic Evaluation},
  pages={39--50},
  year={2018}
}

Hate Speech Detection:

@inproceedings{basile-etal-2019-semeval,
    title = "{S}em{E}val-2019 Task 5: Multilingual Detection of Hate Speech Against Immigrants and Women in {T}witter",
    author = "Basile, Valerio  and Bosco, Cristina  and Fersini, Elisabetta  and Nozza, Debora and Patti, Viviana and
      Rangel Pardo, Francisco Manuel  and Rosso, Paolo  and Sanguinetti, Manuela",
    booktitle = "Proceedings of the 13th International Workshop on Semantic Evaluation",
    year = "2019",
    address = "Minneapolis, Minnesota, USA",
    publisher = "Association for Computational Linguistics",
    url = "https://www.aclweb.org/anthology/S19-2007",
    doi = "10.18653/v1/S19-2007",
    pages = "54--63"
}

Offensive Language Identification:

@inproceedings{zampieri2019semeval,
  title={SemEval-2019 Task 6: Identifying and Categorizing Offensive Language in Social Media (OffensEval)},
  author={Zampieri, Marcos and Malmasi, Shervin and Nakov, Preslav and Rosenthal, Sara and Farra, Noura and Kumar, Ritesh},
  booktitle={Proceedings of the 13th International Workshop on Semantic Evaluation},
  pages={75--86},
  year={2019}
}

Sentiment Analysis:

@inproceedings{rosenthal2017semeval,
  title={SemEval-2017 task 4: Sentiment analysis in Twitter},
  author={Rosenthal, Sara and Farra, Noura and Nakov, Preslav},
  booktitle={Proceedings of the 11th international workshop on semantic evaluation (SemEval-2017)},
  pages={502--518},
  year={2017}
}

Stance Detection:

@inproceedings{mohammad2016semeval,
  title={Semeval-2016 task 6: Detecting stance in tweets},
  author={Mohammad, Saif and Kiritchenko, Svetlana and Sobhani, Parinaz and Zhu, Xiaodan and Cherry, Colin},
  booktitle={Proceedings of the 10th International Workshop on Semantic Evaluation (SemEval-2016)},
  pages={31--41},
  year={2016}
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].