SemEval-2020 Task 9: Code-Mixed Sentiment (SentiMix)
SentiMix is the SemEval-2020 Task 9 benchmark for sentence-level sentiment on code-mixed tweets, covering Hindi-English and Spanish-English. This Potato config reproduces its positive/negative/neutral labeling.
About this dataset
SemEval-2020 Task 9, known as SentiMix, was a shared task on sentiment analysis of code-mixed social media text run by Patwa, Aguilar, Kar, Pandey, PYKL, Gamback, Chakraborty, Solorio, and Das. It appeared at the Fourteenth Workshop on Semantic Evaluation (SemEval-2020), held online alongside COLING in December 2020.
The task ships two corpora of tweets. The Hinglish (Hindi-English) set has 20,000 tweets split into 14,000 train, 3,000 validation, and 3,000 test. The Spanglish (Spanish-English) set has 12,002 train, 2,998 validation, and 3,788 test tweets, roughly 19,000 in total. Across both language pairs, 89 submissions were received: 61 teams on Hinglish and 28 on Spanglish.
Each tweet carries one sentence-level sentiment label out of positive, negative, or neutral. Tweets also include word-level language identification tags so annotators and models can see which tokens come from which language. The Hinglish tags mark tokens as English, Hindi, or other (mentions, hashtags, symbols), and the Spanglish set adds named entities, in-word mixes, and ambiguous or foreign words.
The Potato config below reproduces the sentence-level task as a single radio-button choice over positive, negative, and neutral, applied to one code-mixed tweet at a time.
- Language pairs
- Hindi-English, Spanish-English
- Hinglish tweets
- 20,000 (14K/3K/3K)
- Spanglish tweets
- ~19K (12,002/2,998/3,788)
- Sentiment labels
- Positive, Negative, Neutral
- Submissions
- 89 (61 Hinglish, 28 Spanglish)
- Venue
- SemEval-2020, December 2020
Configuration Fileconfig.yaml
This Potato config reproduces the annotation task. Save it as config.yaml and run potato start config.yaml to try it.
# Sentiment Analysis for Code-Mixed Social Media Text
# Based on Patwa et al., SemEval 2020
# Paper: https://aclanthology.org/2020.semeval-1.100/
# Dataset: https://ritual-uh.github.io/sentimix2020/
#
# Annotators classify the sentiment of social media posts written in
# code-mixed text (two languages interleaved). The task captures the
# challenge of understanding sentiment in multilingual, informal text.
annotation_task_name: "Sentiment Analysis for Code-Mixed Social Media Text"
task_dir: "."
data_files:
- sample-data.json
item_properties:
id_key: "id"
text_key: "text"
output_annotation_dir: "annotation_output/"
output_annotation_format: "json"
port: 8000
server_name: localhost
annotation_schemes:
- annotation_type: radio
name: sentiment
description: "What is the overall sentiment of this code-mixed text?"
labels:
- "Positive"
- "Negative"
- "Neutral"
keyboard_shortcuts:
"Positive": "1"
"Negative": "2"
"Neutral": "3"
tooltips:
"Positive": "The text expresses a positive emotion or opinion"
"Negative": "The text expresses a negative emotion or opinion"
"Neutral": "The text does not express a clear positive or negative sentiment"
annotation_instructions: |
You will see a social media post written in code-mixed text (switching between
two languages). Your task is to:
1. Read the text carefully, considering both languages used.
2. Determine the overall sentiment expressed in the post.
3. Select Positive, Negative, or Neutral.
Note: Even if you don't understand every word, try to infer sentiment from
the words you do recognize, emoticons, and overall tone.
html_layout: |
<div style="padding: 15px; max-width: 800px; margin: auto;">
<div style="background: #f0f9ff; border: 1px solid #bae6fd; border-radius: 8px; padding: 16px; margin-bottom: 16px;">
<strong style="color: #0369a1;">Code-Mixed Text:</strong>
<p style="font-size: 16px; line-height: 1.7; margin: 8px 0 0 0;">{{text}}</p>
</div>
<div style="background: #f0fdf4; border: 1px solid #bbf7d0; border-radius: 8px; padding: 16px; margin-bottom: 16px;">
<strong style="color: #166534;">Language Pair:</strong>
<span style="font-size: 14px;">{{language_pair}}</span>
</div>
</div>
allow_all_users: true
instances_per_annotator: 50
annotation_per_instance: 2
allow_skip: true
skip_reason_required: false
Sample Datasample-data.json
[
{
"id": "cm_001",
"text": "Yaar ye movie bahut amazing thi! Best film of the year, no doubt about it.",
"language_pair": "Hindi-English"
},
{
"id": "cm_002",
"text": "Esta clase es so boring, I can't even stay awake. Necesito cafe urgente.",
"language_pair": "Spanish-English"
}
]
// ... and 8 more itemsGet This Design
Clone or download from the repository
Quick start:
git clone https://github.com/davidjurgens/potato-showcase.git cd potato-showcase/semeval/2020/task09-code-mixed-sentiment potato start config.yaml
Dataset & paper
Patwa et al., SemEval 2020
Citation (BibTeX)
@inproceedings{patwa-etal-2020-semeval,
title = "{S}em{E}val-2020 {T}ask 9: {O}verview of {S}entiment {A}nalysis of {C}ode-{M}ixed {T}weets",
author = "Patwa, Parth and Aguilar, Gustavo and Kar, Sudipta and Pandey, Suraj and PYKL, Srinivas and Gamb{\"a}ck, Bj{\"o}rn and Chakraborty, Tanmoy and Solorio, Thamar and Das, Amitava",
booktitle = "Proceedings of the Fourteenth Workshop on Semantic Evaluation",
month = dec,
year = "2020",
address = "Barcelona (online)",
publisher = "International Committee for Computational Linguistics",
url = "https://aclanthology.org/2020.semeval-1.100",
pages = "774--790"
}Details
Annotation Types
Domain
Use Cases
Tags
Found an issue or want to improve this design?
Open an IssueRelated Designs
AdMIRe - Advancing Multimodal Idiomaticity Representation
Multimodal idiomaticity task (SemEval-2025 Task 1, Subtask A): given a potentially idiomatic nominal compound in a context sentence, annotators rank five candidate images by how well each represents the sense in which the compound is used.
AfriSenti - African Language Sentiment
Sentiment analysis for tweets in African languages, classifying text as positive, negative, or neutral. Covers 14 African languages including Amharic, Hausa, Igbo, Yoruba, and Swahili. Based on SemEval-2023 Task 12 (Muhammad et al.).
Argument Reasoning in Civil Procedure
Legal argument reasoning task from SemEval-2024 Task 5. Given a short introduction to a U.S. civil procedure topic, a question, and a candidate answer (a possible solution argument), annotators perform binary classification: judge whether the answer candidate is correct (True) or incorrect (False). Questions and answers are drawn from a civil procedure textbook widely used in U.S. law schools.