CoolFace
Datasetpublic

SkyWater21/lv_go_emotions

Original dataset: GoEmotions dataset The dataset was machine translated to Latvian using free Google Translate API. Tool used for translation: deep-translator Translation script: from datasets import load_dataset from deep_translator import GoogleTranslator from deep_translator.exceptions import TranslationNotFound original_dataset = load_dataset("go_emotions", name="simplified") translator = GoogleTranslator(source="en", target="lv") def translate_batch(batch): original_text =… See the full description on the dataset page: https://huggingface.co/datasets/SkyWater21/lv_go_emotions.

sourceHugging Facemitupdated 1y agoView on Hugging Face
0likes71downloads
Dataset Card

Original dataset: GoEmotions dataset

The dataset was machine translated to Latvian using free Google Translate API.

Tool used for translation: deep-translator

Translation script:

python
from datasets import load_dataset
from deep_translator import GoogleTranslator
from deep_translator.exceptions import TranslationNotFound

original_dataset = load_dataset("go_emotions", name="simplified")
translator = GoogleTranslator(source="en", target="lv")

def translate_batch(batch):
    original_text = batch["text"]

    while True:
        try:
            translated_batch = translator.translate_batch(original_text)
            break
        except TranslationNotFound:
            # Translation can fail due to API limits, so we retry until it works
            print(f"Translation failed. Retrying...")
    
    # We fix untranslated entries (None values) by replacing them with the original text
    for i in range(len(translated_batch)):
        if not translated_batch[i]:
            translated_batch[i] = original_text[i]
            print(f"Replaced {original_text[i]} vs {translated_batch[i]}")
            
    batch["lv_text"] = translated_batch
    
    return batch

translated_dataset = original_dataset.map(
    translate_batch, batched=True, batch_size=500
)

The dataset contains 2 subsets:

  • —simplified - contains 28 emotion labels. Labels are as follows:
yaml
0: admiration
1: amusement
2: anger
3: annoyance
4: approval
5: caring
6: confusion
7: curiosity
8: desire
9: disappointment
10: disapproval
11: disgust
12: embarrassment
13: excitement
14: fear
15: gratitude
16: grief
17: joy
18: love
19: nervousness
20: optimism
21: pride
22: realization
23: relief
24: remorse
25: sadness
26: surprise
27: neutral
  • —simplified_ekman - contains 7 emotion labels as per Dr. Ekman theory. Labels are as follows:
yaml
0: anger
1: disgust
2: fear
3: joy
4: sadness
5: surprise
6: neutral

Label mapping from 28 emotions from GoEmotion to 7 base emotions as per Dr. Ekman theory: |GoEmotion|Ekman| |---|---| | admiration | joy| | amusement | joy| | anger | anger| | annoyance | anger| | approval | joy| | caring | joy| | confusion | surprise| | curiosity | surprise| | desire | joy| | disappointment | sadness| | disapproval | anger| | disgust | disgust| | embarrassment | sadness| | excitement | joy| | fear | fear| | gratitude | joy| | grief | sadness| | joy | joy| | love | joy| | nervousness | fear| | optimism | joy| | pride | joy| | realization | surprise| | relief | joy| | remorse | sadness| | sadness | sadness| | surprise | surprise| | neutral | neutral|