From 89f36394197628d6f3588d8a3c82e6afe9a5c862 Mon Sep 17 00:00:00 2001 From: Sasha Meister Date: Thu, 7 Aug 2025 02:16:09 -0700 Subject: [PATCH 01/34] Added partial configs Signed-off-by: Sasha Meister --- .../granary/partials/common_phrases/bg.txt | 184 ++++++++ .../granary/partials/common_phrases/cs.txt | 126 +++++ .../granary/partials/common_phrases/da.txt | 322 +++++++++++++ .../granary/partials/common_phrases/de.txt | 8 + .../granary/partials/common_phrases/el.txt | 34 ++ .../granary/partials/common_phrases/en.txt | 9 + .../granary/partials/common_phrases/es.txt | 153 +++++++ .../granary/partials/common_phrases/et.txt | 281 ++++++++++++ .../granary/partials/common_phrases/fi.txt | 2 + .../granary/partials/common_phrases/fr.txt | 156 +++++++ .../granary/partials/common_phrases/hr.txt | 88 ++++ .../granary/partials/common_phrases/hu.txt | 116 +++++ .../granary/partials/common_phrases/it.txt | 9 + .../granary/partials/common_phrases/lt.txt | 431 ++++++++++++++++++ .../granary/partials/common_phrases/lv.txt | 2 + .../granary/partials/common_phrases/mt.txt | 150 ++++++ .../granary/partials/common_phrases/nl.txt | 5 + .../granary/partials/common_phrases/pl.txt | 10 + .../granary/partials/common_phrases/pt.txt | 27 ++ .../granary/partials/common_phrases/ro.txt | 285 ++++++++++++ .../granary/partials/common_phrases/sk.txt | 83 ++++ .../granary/partials/common_phrases/sl.txt | 363 +++++++++++++++ .../granary/partials/common_phrases/sv.txt | 184 ++++++++ .../partials/pr_recovery_prompts/bg.yaml | 26 ++ .../partials/pr_recovery_prompts/cs.yaml | 26 ++ .../partials/pr_recovery_prompts/da.yaml | 26 ++ .../partials/pr_recovery_prompts/de.yaml | 29 ++ .../partials/pr_recovery_prompts/el.yaml | 26 ++ .../partials/pr_recovery_prompts/en.yaml | 47 ++ .../partials/pr_recovery_prompts/es.yaml | 28 ++ .../partials/pr_recovery_prompts/et.yaml | 27 ++ .../partials/pr_recovery_prompts/fi.yaml | 27 ++ .../partials/pr_recovery_prompts/fr.yaml | 43 ++ .../partials/pr_recovery_prompts/hr.yaml | 26 ++ .../partials/pr_recovery_prompts/hu.yaml | 26 ++ .../partials/pr_recovery_prompts/it.yaml | 27 ++ .../partials/pr_recovery_prompts/lt.yaml | 27 ++ .../partials/pr_recovery_prompts/lv.yaml | 27 ++ .../partials/pr_recovery_prompts/mt.yaml | 26 ++ .../partials/pr_recovery_prompts/nl.yaml | 27 ++ .../partials/pr_recovery_prompts/pl.yaml | 27 ++ .../partials/pr_recovery_prompts/pt.yaml | 27 ++ .../partials/pr_recovery_prompts/ro.yaml | 26 ++ .../partials/pr_recovery_prompts/ru.yaml | 61 +++ .../partials/pr_recovery_prompts/sk.yaml | 26 ++ .../partials/pr_recovery_prompts/sl.yaml | 26 ++ .../partials/pr_recovery_prompts/sv.yaml | 26 ++ .../partials/pr_recovery_prompts/uk.yaml | 26 ++ .../granary/partials/subregex_params/bg.yaml | 30 ++ .../partials/subregex_params/common.yaml | 31 ++ .../granary/partials/subregex_params/cs.yaml | 27 ++ .../granary/partials/subregex_params/da.yaml | 29 ++ .../granary/partials/subregex_params/de.yaml | 31 ++ .../granary/partials/subregex_params/el.yaml | 35 ++ .../granary/partials/subregex_params/en.yaml | 47 ++ .../granary/partials/subregex_params/es.yaml | 28 ++ .../granary/partials/subregex_params/et.yaml | 31 ++ .../granary/partials/subregex_params/fi.yaml | 34 ++ .../granary/partials/subregex_params/fr.yaml | 35 ++ .../granary/partials/subregex_params/hr.yaml | 30 ++ .../granary/partials/subregex_params/hu.yaml | 25 + .../granary/partials/subregex_params/it.yaml | 31 ++ .../granary/partials/subregex_params/lt.yaml | 26 ++ .../granary/partials/subregex_params/lv.yaml | 26 ++ .../granary/partials/subregex_params/mt.yaml | 33 ++ .../granary/partials/subregex_params/nl.yaml | 29 ++ .../granary/partials/subregex_params/pl.yaml | 30 ++ .../granary/partials/subregex_params/pt.yaml | 25 + .../granary/partials/subregex_params/ro.yaml | 28 ++ .../granary/partials/subregex_params/ru.yaml | 32 ++ .../granary/partials/subregex_params/sk.yaml | 26 ++ .../granary/partials/subregex_params/sl.yaml | 28 ++ .../granary/partials/subregex_params/sv.yaml | 30 ++ .../granary/partials/subregex_params/uk.yaml | 26 ++ docs/gen_docs.py | 2 +- tests/test_cfg_runtime_tests.py | 5 +- 76 files changed, 4552 insertions(+), 2 deletions(-) create mode 100644 dataset_configs/multilingual/granary/partials/common_phrases/bg.txt create mode 100644 dataset_configs/multilingual/granary/partials/common_phrases/cs.txt create mode 100644 dataset_configs/multilingual/granary/partials/common_phrases/da.txt create mode 100644 dataset_configs/multilingual/granary/partials/common_phrases/de.txt create mode 100644 dataset_configs/multilingual/granary/partials/common_phrases/el.txt create mode 100644 dataset_configs/multilingual/granary/partials/common_phrases/en.txt create mode 100644 dataset_configs/multilingual/granary/partials/common_phrases/es.txt create mode 100644 dataset_configs/multilingual/granary/partials/common_phrases/et.txt create mode 100644 dataset_configs/multilingual/granary/partials/common_phrases/fi.txt create mode 100644 dataset_configs/multilingual/granary/partials/common_phrases/fr.txt create mode 100644 dataset_configs/multilingual/granary/partials/common_phrases/hr.txt create mode 100644 dataset_configs/multilingual/granary/partials/common_phrases/hu.txt create mode 100644 dataset_configs/multilingual/granary/partials/common_phrases/it.txt create mode 100644 dataset_configs/multilingual/granary/partials/common_phrases/lt.txt create mode 100644 dataset_configs/multilingual/granary/partials/common_phrases/lv.txt create mode 100644 dataset_configs/multilingual/granary/partials/common_phrases/mt.txt create mode 100644 dataset_configs/multilingual/granary/partials/common_phrases/nl.txt create mode 100644 dataset_configs/multilingual/granary/partials/common_phrases/pl.txt create mode 100644 dataset_configs/multilingual/granary/partials/common_phrases/pt.txt create mode 100644 dataset_configs/multilingual/granary/partials/common_phrases/ro.txt create mode 100644 dataset_configs/multilingual/granary/partials/common_phrases/sk.txt create mode 100644 dataset_configs/multilingual/granary/partials/common_phrases/sl.txt create mode 100644 dataset_configs/multilingual/granary/partials/common_phrases/sv.txt create mode 100644 dataset_configs/multilingual/granary/partials/pr_recovery_prompts/bg.yaml create mode 100644 dataset_configs/multilingual/granary/partials/pr_recovery_prompts/cs.yaml create mode 100644 dataset_configs/multilingual/granary/partials/pr_recovery_prompts/da.yaml create mode 100644 dataset_configs/multilingual/granary/partials/pr_recovery_prompts/de.yaml create mode 100644 dataset_configs/multilingual/granary/partials/pr_recovery_prompts/el.yaml create mode 100644 dataset_configs/multilingual/granary/partials/pr_recovery_prompts/en.yaml create mode 100644 dataset_configs/multilingual/granary/partials/pr_recovery_prompts/es.yaml create mode 100644 dataset_configs/multilingual/granary/partials/pr_recovery_prompts/et.yaml create mode 100644 dataset_configs/multilingual/granary/partials/pr_recovery_prompts/fi.yaml create mode 100644 dataset_configs/multilingual/granary/partials/pr_recovery_prompts/fr.yaml create mode 100644 dataset_configs/multilingual/granary/partials/pr_recovery_prompts/hr.yaml create mode 100644 dataset_configs/multilingual/granary/partials/pr_recovery_prompts/hu.yaml create mode 100644 dataset_configs/multilingual/granary/partials/pr_recovery_prompts/it.yaml create mode 100644 dataset_configs/multilingual/granary/partials/pr_recovery_prompts/lt.yaml create mode 100644 dataset_configs/multilingual/granary/partials/pr_recovery_prompts/lv.yaml create mode 100644 dataset_configs/multilingual/granary/partials/pr_recovery_prompts/mt.yaml create mode 100644 dataset_configs/multilingual/granary/partials/pr_recovery_prompts/nl.yaml create mode 100644 dataset_configs/multilingual/granary/partials/pr_recovery_prompts/pl.yaml create mode 100644 dataset_configs/multilingual/granary/partials/pr_recovery_prompts/pt.yaml create mode 100644 dataset_configs/multilingual/granary/partials/pr_recovery_prompts/ro.yaml create mode 100644 dataset_configs/multilingual/granary/partials/pr_recovery_prompts/ru.yaml create mode 100644 dataset_configs/multilingual/granary/partials/pr_recovery_prompts/sk.yaml create mode 100644 dataset_configs/multilingual/granary/partials/pr_recovery_prompts/sl.yaml create mode 100644 dataset_configs/multilingual/granary/partials/pr_recovery_prompts/sv.yaml create mode 100644 dataset_configs/multilingual/granary/partials/pr_recovery_prompts/uk.yaml create mode 100644 dataset_configs/multilingual/granary/partials/subregex_params/bg.yaml create mode 100644 dataset_configs/multilingual/granary/partials/subregex_params/common.yaml create mode 100644 dataset_configs/multilingual/granary/partials/subregex_params/cs.yaml create mode 100644 dataset_configs/multilingual/granary/partials/subregex_params/da.yaml create mode 100644 dataset_configs/multilingual/granary/partials/subregex_params/de.yaml create mode 100644 dataset_configs/multilingual/granary/partials/subregex_params/el.yaml create mode 100644 dataset_configs/multilingual/granary/partials/subregex_params/en.yaml create mode 100644 dataset_configs/multilingual/granary/partials/subregex_params/es.yaml create mode 100644 dataset_configs/multilingual/granary/partials/subregex_params/et.yaml create mode 100644 dataset_configs/multilingual/granary/partials/subregex_params/fi.yaml create mode 100644 dataset_configs/multilingual/granary/partials/subregex_params/fr.yaml create mode 100644 dataset_configs/multilingual/granary/partials/subregex_params/hr.yaml create mode 100644 dataset_configs/multilingual/granary/partials/subregex_params/hu.yaml create mode 100644 dataset_configs/multilingual/granary/partials/subregex_params/it.yaml create mode 100644 dataset_configs/multilingual/granary/partials/subregex_params/lt.yaml create mode 100644 dataset_configs/multilingual/granary/partials/subregex_params/lv.yaml create mode 100644 dataset_configs/multilingual/granary/partials/subregex_params/mt.yaml create mode 100644 dataset_configs/multilingual/granary/partials/subregex_params/nl.yaml create mode 100644 dataset_configs/multilingual/granary/partials/subregex_params/pl.yaml create mode 100644 dataset_configs/multilingual/granary/partials/subregex_params/pt.yaml create mode 100644 dataset_configs/multilingual/granary/partials/subregex_params/ro.yaml create mode 100644 dataset_configs/multilingual/granary/partials/subregex_params/ru.yaml create mode 100644 dataset_configs/multilingual/granary/partials/subregex_params/sk.yaml create mode 100644 dataset_configs/multilingual/granary/partials/subregex_params/sl.yaml create mode 100644 dataset_configs/multilingual/granary/partials/subregex_params/sv.yaml create mode 100644 dataset_configs/multilingual/granary/partials/subregex_params/uk.yaml diff --git a/dataset_configs/multilingual/granary/partials/common_phrases/bg.txt b/dataset_configs/multilingual/granary/partials/common_phrases/bg.txt new file mode 100644 index 00000000..4c16dee2 --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/common_phrases/bg.txt @@ -0,0 +1,184 @@ +Абонирайте се 2302208 +Егорова 70956 +Семкин Корректор А 68602 +Редактор субтитров А 68129 +Благодаря 15129 +От 2885 +Абонирайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господ 2088 +се 2086 +Корректор А 1050 +Благодаря ви 928 +Българхи 837 +Върху 531 +За 363 +Въпрос 332 +Абонирайте се, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините, господините 325 +Много 300 +Ни 297 +АПЛОДИСМЕНТА 275 +Абон 267 +Против 257 +за 254 +Абонирайте 252 +На 232 +Места 225 +Момент 222 +Борис 220 +Абонирайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се 217 +Мене 213 +Върхава 208 +субтитров А 193 +Въпроса 192 +Благодаря, господин 181 +Минута 176 +Дякую за перегляд 173 +НО 167 +Ви 163 +Ред 159 +Абонираме 159 +господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господ 157 +Свет 152 +Абонирам 151 +Ис 151 +Мир 150 +Мата 149 +Мен 149 +Вина 148 +Върхаме 145 +на 142 +Тили 139 +Мик 138 +Мин 136 +Абонирайте се върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху върху вър 132 +Три 129 +Мята 128 +да 121 +Възможност 120 +Благодаря Ви 120 +Сега 116 +Алиси 115 +Продолжение следует 114 +Продължа ли се 113 +Мастер 112 +Манье 111 +Идеи 111 +Менете 111 +Миси 111 +Мината 111 +Мега 111 +Менок 111 +Малки 110 +Мисли 110 +Медия 110 +Ответа 110 +Майс 109 +Мага 109 +Алик 109 +Вечен 108 +Медел 108 +Меню 108 +Свети 108 +Въздържа ли се 107 +Минут 107 +Меним 105 +Продължението 104 +против 104 +от 103 +Меси 101 +Минути 97 +Но 95 +Субтитры создавал DimaTorzok 94 +Адси 89 +Болич 89 +Отправена 89 +Мен сед 89 +Моги 89 +Риск 88 +Мелници 88 +МОТС 88 +Медомата 88 +Мисия 88 +Малетич 88 +Методи 88 +Веченки 88 +Брифинг 88 +Менути 88 +Майсет 88 +Отговори 88 +Винаги 88 +се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господ 86 +Вдохме 86 +Продължение 86 +господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господ 85 +господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господ 85 +Матсо 85 +Трът 82 +Отвърля се 81 +Телите 81 +процента 80 +Боцена 79 +Месец 79 +Али 77 +О, ние 76 +Двайсет 76 +Една минута 76 +Миште 76 +Венесър 74 +Върхи 73 +Стивилизация 73 +Овреждания 73 +Миколеги 73 +Бълдин 73 +Върнато 73 +Афиоти 73 +Моцелив 73 +се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господ 72 +Благчену 72 +Аз 71 +Приема се 71 +Еди 71 +Абонирайте се, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, господин, госп 69 +се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господ 68 +Отхвърля се 68 +Мозъг 68 +Към четир 66 +Меѓи 64 +Благодаря, господин председател 64 +Афни 63 +Да 63 +Мотив 63 +господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господ 62 +Върши момент 62 +Въпросите 62 +Веден пазар 62 +Менализиране 62 +Вършава 62 +Въпроси 62 +се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господ 61 +Българ 61 +Матеренезик 61 +Върляси 61 +Майко 61 +господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господ 60 +Продължа 60 +По 60 +Три матриси 60 +Майкъл 60 +Бън 60 +Реоформи 58 +Тивата 57 +Бъдете 57 +се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господ 56 +Абонирани 56 +Продългаме 55 +Българси 55 +Модиги 55 +Тъчленки 54 +Пряма-си 54 +се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господинайте се, господ 53 +Волоберем 53 +Мържи 53 +Грозин Мако 53 +Българност 53 +Във холандия 52 +Въздържали се 51 diff --git a/dataset_configs/multilingual/granary/partials/common_phrases/cs.txt b/dataset_configs/multilingual/granary/partials/common_phrases/cs.txt new file mode 100644 index 00000000..f2b2deba --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/common_phrases/cs.txt @@ -0,0 +1,126 @@ +Titulky vytvořil JohnyX 136094 +Konec 134856 +Děkuji 7495 +Děkujeme 5523 +Titulky vytvořil Jirka Kováč 1660 +JohnyX 778 +Děkuji za pozornost 693 +Hvala 656 +Pro 638 +Kováček 597 +Hrv 425 +vytvořil JohnyX 407 +Tak 388 +Můžeme 277 +Já 248 +Čili 224 +On 222 +to 209 +Ano 207 +Zdravíme 203 +Titulky vytvořil Jirka Kováček 202 +Děkuji za pozornosť 194 +že 192 +Můžete 190 +hradeckralove 170 +pro 160 +Aby 156 +Tv 149 +Kdo 149 +Kino 148 +Rok 148 +Kov 148 +Kole 148 +Skol 148 +A USA 147 +Elections 147 +Elmar 147 +Sv 147 +OSN 147 +Kost 147 +Klet 146 +Ně 146 +Koto 144 +Proti 142 +Kováčku 141 +Kult 141 +109 141 +LL 139 +Kone 138 +proti 136 +A tak 132 +Kováčeku 124 +Zdraví se 122 +Kdo se zdržel 117 +Kolega 111 +Kudov 111 +Klosk 111 +Olibe 111 +Ménota 111 +Růst 110 +Rá 25 110 +První 108 +Analyse 105 +Velkou 104 +Ménote 103 +Čí 103 +Kováč 100 +Ale 98 +Třeba 98 +Jury 8 90 +práva 89 +Ahojte 89 +Osobne 89 +Hrufad 89 +Kolejku 89 +Klasná 89 +Kvěl 89 +Vyrové 88 +Klasovat 87 +com www 81 +A půl 81 +přijato 76 +Vypadáme 74 +Vypadá se 74 +Děkáte 74 +Apočujeme 74 +Dělá se 73 +Oči jde 73 +Přešel 73 +Hvala što pratite kanal 73 +Vyrošet 72 +org www 71 +Necháme se 68 +Konec se 66 +hlasování 64 +Konec 13 64 +Děkujeme pro 63 +procent 63 +Anozovojte 63 +Děkuji vám 62 +Hvala půl 62 +Dnesá dva pro 62 +Kudobel 61 +Ďakujem 60 +Pouštěji 60 +Kolegyně 59 +Amen 58 +protože 58 +Představu 58 +Kováčen 58 +Děvěr 57 +Je 56 +Zdravíte se 56 +Ony 56 +se 55 +Hvala barandikov 55 +Zdravíte 54 +Pánšogor 54 +Číslo jedna 54 +Předstvíte 53 +Vářejnou 53 +Je to představá 51 +Průzat 51 +Vátej klo 51 +Mláme my 51 +Hvala za pozornosť 51 diff --git a/dataset_configs/multilingual/granary/partials/common_phrases/da.txt b/dataset_configs/multilingual/granary/partials/common_phrases/da.txt new file mode 100644 index 00000000..114d7d6a --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/common_phrases/da.txt @@ -0,0 +1,322 @@ +Danske tekster af Jesper Buhl Scandinavian Text Service 2018 152271 +Danske tekster af Nicolai Winther 128882 +Tak fordi du lyttede med 21659 +Tak fordi du så med 17218 +Tak 16072 +Hvorfor 10744 +Hvad er det 10281 +Danske tekster af Jesper Buhl 3586 +Hvorfor er det 3529 +Vi 3157 +Hr 1928 +Tak for at du så med 1683 +Hvad 1648 +Ja 1415 +Danske tekster af Jesper Buhlsen 1239 +For 1160 +Hvor 1056 +vi 882 +Hvr 782 +Hv 748 +Tak for nu 728 +Tak for mig 715 +Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 671 +En 665 +tekster af Jesper Buhl Scandinavian Text Service 2018 645 +Hvor er det 557 +Winther 503 +Danskevældig 500 +Hvad er det her 485 +Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 465 +Nicolai Winther 452 +Nej 450 +Du 445 +Skål 441 +Hold 437 +Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 434 +Råd 434 +af Nicolai Winther 431 +Hej 428 +Ole 428 +tekster af Nicolai Winther 418 +Hvala 380 +Tak fordi du lyttede 363 +Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 357 +Selv 352 +Tak fordi du lager 345 +Lidt 336 +Så 328 +til 327 +Tak for det 321 +Danske tekst 313 +Hva 312 +Det er det 296 +Kommer 296 +Skal 295 +Godt 286 +Imod 281 +Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 280 +at 280 +Takk for at gøre med 275 +Takk for at du så med 271 +Gud 258 +Om 256 +Takk for 252 +det 238 +Mål 238 +Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 237 +Danske tekster 236 +Jeg 235 +Jeg mener 234 +Værsgo 226 +Fyra 226 +Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 224 +16 223 +Al 222 +Og 221 +2021 217 +og 216 +kom 214 +80 212 +Text 207 +15 200 +28 199 +for 194 +12 194 +Vel 191 +Hvad er 191 +Tak fordi du så 186 +Komisær 183 +med 182 +af Jesper Buhl Scandinavian Text Service 2018 181 +17 178 +20 176 +Men 175 +Amen 173 +Danske tekster af Jesper 164 +Åh 157 +Hvad med det 156 +Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 152 +Lige 151 +Hæ 150 +LK 148 +I mod 148 +mig 148 +Hra 148 +Trat 148 +Pro7 148 +Spil 147 +Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 146 +Kors 146 +Tak for at gøre det 144 +tj 144 +Fy 141 +Holdning 139 +Applåder 136 +Ute 135 +Heard 134 +Hvem er for 125 +Takk 123 +Hvad er det med 121 +Evv 117 +Hvad siger det 115 +Hejdå 114 +Låd 112 +Røst 111 +Brugina 111 +Ræd 111 +Lysen 111 +Låder 111 +Lån 111 +Endelig 111 +Brunnen 111 +URN 111 +Kulir 111 +Mås 111 +her 110 +Hildy 110 +Læf 110 +00 og 3 110 +Horsley 110 +Søs 110 +Tak fordi du hører 109 +Skripper 109 +Hågen 109 +Hildia 109 +Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 108 +Også 107 +Så er det 107 +Hvem er i mod 107 +Læb 107 +Tak for at spørgsmål 107 +Lytter 106 +Tak fordi du med 106 +Tak fordi du lytt 105 +Hvem stemmer for 103 +Takk for at se 102 +Kål 102 +Først 102 +Likowski 99 +Takk for at være med 98 +Et 97 +Tak for 97 +Tak for at være med 97 +Kroner 97 +Danske nu 96 +Kompromis 4 96 +Hvad er sko 95 +Det er ikke 95 +Trænet 95 +Hvorfor er det ikke 92 +Tak fordi du har været med 92 +vedtaget 91 +Hvad er det nu 91 +Mange tak 90 +Kølge 89 +Tak skal du have med 89 +Røsning 89 +Skogårs 89 +Procænd 89 +Kansielers 89 +Vi er imod 89 +Hakeepo 89 +Horslej 89 +Pæs u 89 +Lige produkter 88 +Hvornisk 88 +Røde 88 +Længer 88 +Rapporten 88 +Løsning 88 +Hjelper 88 +Jesper Buhl Scandinavian Text Service 2018 87 +Tak for at du 87 +Haldninger 87 +Femme 13 86 +Hæmmer 86 +Broch 86 +Tak fordi 85 +Forst 85 +Hvad er det så 85 +Svolde 85 +Kjerov 85 +Danske tekster af Jesper Buhlmann 84 +Skal denne 83 +Tine smager 82 +Tak fordi du 81 +Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 80 +Røde 6 80 +11 79 +Kompromis 8 79 +Tak skal du se 79 +Al FimS 78 +Text Service 2018 77 +om 77 +Tak fordi du gør det 77 +Lange 77 +Hvad er den her 75 +En eksempel 75 +Rufløs 74 +Hvorfor med den 74 +Hordel 74 +Hildes politik 74 +Røsninger 74 +Røstegang 74 +er 73 +Hvad gælder 73 +Hæssig 73 +Eksumheder 73 +Buhl Scandinavian Text Service 2018 72 +Tak for dig 72 +Kompromis 2 72 +Ratsificeringen 72 +Scandinavian Text Service 2018 71 +Hvorfor nu 71 +Tak, Hestemes 71 +Femme tuner 71 +Danske tek 71 +Tak fordi du lade det 71 +Læden 71 +Ristemes 71 +Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 70 +Håk han 70 +Hølgen 69 +Hvorfor med 68 +Tak for at gøre 68 +Tak for at gøre med 68 +Hvorfor men 67 +Raffeløren 67 +tak 66 +Multicelle 66 +Tak for me 65 +2018 64 +fordi du lyttede med 64 +så med 64 +Hva er det 64 +Forløp 64 +København 63 +Redskorskj 63 +Hvad tager valg 63 +Læn mig 63 +Skal det ikke 62 +Salabores 62 +Fællet bort 62 +Vænkorska 62 +nu 61 +Vedtaget 61 +Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 Danske tekster af Jesper Buhl Scandinavian Text Service 2018 61 +Tak for at se 61 +Det er tæt 61 +Kjækulia 61 +Rækkelig 61 +Ja, tak 60 +på 60 +13 er også med 60 +Hvis det siger 60 +Hvad slags 60 +Tak fordi jeg rade 59 +Det er ikke det 59 +Tak fordi I do 59 +Næt så 59 +Følgel 59 +Sideraritet 58 +Tak for at sige 57 +Det er med 57 +Fragerudig 57 +Danske med 56 +Danske tekster af Nicolai Winning 55 +Jeg har været løp 55 +Hvorfor tænge 55 +Hvorforstøvning 55 +Fereyra 55 +Det er frukket af mig 55 +Hvis præmulier 54 +Korspinelli 54 +Hvorfor crevier 54 +Erfus Soler 54 +Rødlækken 54 +Hva for dem 54 +Løftkvaliteten 54 +Køyhle 54 +Rekstemt længere 54 +Tak fordi du tæt 54 +Tak, synes du 54 +du så med 53 +Hvad gør du 53 +Hvad er så 53 +Jeg vil gøre 53 +Retspraksis 53 +Ygtighed 53 +lyttede med 52 +Tak skal du 52 +Hvad er det på 52 +Hvorfor det 52 +Tak for at gøre processen 52 +Repo 51 +Tak fordi du prøve 51 +Takk for nu 51 +Tak fordi du så dyr 51 +Holden funder 51 +Hvad er den 51 +Tak fordi du forstår 51 +Det er I 51 diff --git a/dataset_configs/multilingual/granary/partials/common_phrases/de.txt b/dataset_configs/multilingual/granary/partials/common_phrases/de.txt new file mode 100644 index 00000000..611e6b34 --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/common_phrases/de.txt @@ -0,0 +1,8 @@ +Ja 734 +Vielen Dank 518 +Entschuldigung 174 +Dank 150 +Wer ist dafür 81 +Enthaltungen 65 +169 in Fiverr 58 +Dagegen 57 diff --git a/dataset_configs/multilingual/granary/partials/common_phrases/el.txt b/dataset_configs/multilingual/granary/partials/common_phrases/el.txt new file mode 100644 index 00000000..d5ef53da --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/common_phrases/el.txt @@ -0,0 +1,34 @@ +Υπότιτλοι AUTHORWAVE 152340 +Ευχαριστώ 21201 +Σας ευχαριστώ 9020 +Ωραία 6126 +Ευχαριστούμε 1484 +AUTHORWAVE 1467 +Ευχαριστώ πολύ 611 +Κατά 453 +Υποτιτλοι AUTHORWAVE 361 +Σας ευχαριστούμε 262 +Εγκρίνεται 259 +Αποχές 239 +11 223 +Αποχές εγκρίνεται 160 +Απορρίπτεται 128 +Πέρας 119 +Ωστόσο 112 +Σας ευχαριστώ πολύ 104 +πολύ 93 +Αποχές απορρίπτεται 92 +Πολύ 91 +Εκατόν 89 +Κατά αποχές εγκρίνεται 82 +Άρχεται η ψηφοφορία 80 +Ότι 75 +Παρακαλώ 74 +Πρόεδρε 68 +ευχαριστώ 63 +Εγγρίνεται 62 +ίδιο 62 +και 61 +Ωραίτε 55 +Υπέρ 53 +Οπότε 51 diff --git a/dataset_configs/multilingual/granary/partials/common_phrases/en.txt b/dataset_configs/multilingual/granary/partials/common_phrases/en.txt new file mode 100644 index 00000000..6e0594c4 --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/common_phrases/en.txt @@ -0,0 +1,9 @@ +Thank you 1297 +you 254 +Yeah 217 +Check 117 +Sayemashka 81 +methods 75 +Fifty-four 62 +Amen -1 +Thank you very much -1 diff --git a/dataset_configs/multilingual/granary/partials/common_phrases/es.txt b/dataset_configs/multilingual/granary/partials/common_phrases/es.txt new file mode 100644 index 00000000..8ab0d60b --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/common_phrases/es.txt @@ -0,0 +1,153 @@ +¡Gracias por ver el video 188372 +Gracias 166346 +Gracias por ver el video 75415 +Gracias, señor presidente 23074 +CC por Antarctica Films Argentina 17436 +Gracias, señora presidenta 8787 +Bien 7478 +¡Gracias 4042 +¿Qué 3549 +¿Qué es lo que se hace 2450 +Chao 2450 +¿Qué pasa 2069 +Salud 1779 +Adiós 1317 +Sí 1224 +video 941 +¡Suscríbete 921 +¿Qué es lo que está pasando 804 +¿Está bien 777 +¿Vale 632 +Más 574 +Muchas gracias 548 +No 499 +Aplausos 497 +Señor 444 +Hola 428 +Ya 426 +Amén 375 +¡Grac 360 +¡Vamos 334 +¡Gracias por ver 325 +Dios mío 281 +¡Suscríbete al canal 274 +¡Gracias por ver el video ¡Gracias por ver el video 270 +aprobada 262 +¿Verdad 250 +Yo 241 +Siguiente 238 +¿Qué es eso 230 +Sal 229 +del 228 +Un 227 +que 223 +Te 222 +Inter 217 +¡Gracias por ver este video 214 +¿En contra 210 +presidente 209 +señor presidente 197 +por ver el video 187 +Muy bien 173 +¿Y 171 +¡Suscríbete y activa la campanita 168 +el video 165 +A ver 163 +¿Qué es lo que se ha hecho 159 +Presidenta 155 +Contra 154 +Lo hago 149 +Teo 149 +Debate 149 +¡Felicidad 148 +Lista 148 +Elma 148 +Plen 148 +No, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, no, 147 +Corto 147 +¿Cuándo 147 +Empel 146 +Sra 145 +ESF 142 +Aprobada 139 +LL 133 +¿Por qué 130 +¿Alguien 130 +Madre 127 +¿No 126 +POS 126 +En contra 124 +¿Quién es 122 +Gracias, señoras y señores 122 +¿Puedo 121 +Bienvenido 121 +¿Qué es lo que se puede hacer 118 +Acesse 111 +¡Hé 111 +¡Fast 111 +Estranjo 111 +¡Dios 111 +¿Tú 111 +¿Bien 110 +Pero 102 +Presidente 101 +Estudio 101 +¿Cuánto 100 +ver el video 98 +en contra 97 +favor 92 +presidenta 90 +A favor 89 +¡Garante 89 +¡Fossil 89 +¡Gazán 89 +Llegué 89 +¿Qué opinión 89 +¡Aquí 89 +¡Germano 89 +¡Hasta luego 89 +¡Mamá 89 +y el objetivo 88 +Convergencia 88 +Gracias por ver el vídeo 86 +¡Ay 85 +votación 78 +¿Puedo ver 77 +Salini 77 +Ah, no 75 +¿Dónde está 74 +Bueno 73 +gracias 73 +Salim Daffi 73 +¿A favor 72 +¿Termin 72 +señora presidenta 70 +¡Viva la vida 68 +estratégico 66 +¿Qué es lo que se llama 65 +Señor Singen 64 +de 63 +Adelante 63 +también 63 +¡G-I-S 63 +L'anquistad 63 +¿Qué documentos presentan 61 +¡Puedo votar 61 +¿Están bien 61 +¿Puedo pasar 59 +Boni 59 +¿Ahora es 59 +tamboy en cuenta 59 +más 58 +¿Cómo conocen los derechos 58 +¡Nos vemos 57 +También 54 +¡A un momento 54 +rechazada 53 +¿Qué es 53 +Gracias, señor Gualtieri 53 +contra 52 +Pues 52 +Luz de Besa 52 +¿Qué onda 51 +Salas 51 diff --git a/dataset_configs/multilingual/granary/partials/common_phrases/et.txt b/dataset_configs/multilingual/granary/partials/common_phrases/et.txt new file mode 100644 index 00000000..0fd9a0ec --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/common_phrases/et.txt @@ -0,0 +1,281 @@ +Kõik 1718177 +Kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik 31943 +Kõige 7729 +Kiitos 4342 +See 3830 +Paldies 3448 +kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik 1836 +kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik 1819 +kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik 1791 +kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik 1787 +kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik 1779 +kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik 1750 +kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik 1523 +kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik 1521 +kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik 1489 +kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik 1368 +Aitäh 1321 +kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik 1261 +kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik 1156 +kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik 1043 +Kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on 998 +kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik 845 +Kõik on kõik 817 +kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik 778 +kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik 710 +kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik 669 +kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik 617 +Kõik teht 565 +kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik 541 +Kõik te 488 +kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik 451 +Kult 448 +Kõik tehtu 402 +Ja 400 +Kõik teemad 368 +kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik 362 +Eks minuut 356 +Kõik see 351 +kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik 346 +Kastu 327 +Eee 307 +Kõikus 298 +kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik 286 +Kõik sa 271 +Kõikult 262 +Kõik on tehtu 256 +et 252 +Kõik teist 238 +Eh 238 +Paldun 231 +Gu 222 +Eita 219 +Hõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõ 217 +kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik 213 +Eta 208 +Kõik teed 207 +Kõik se 206 +kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik 201 +Hvala 195 +Kolegit 175 +kõik 174 +Pult 166 +Kõik on 162 +Kõik sõnud 157 +Kui 155 +Ees 154 +Eit 153 +Kost 151 +Leks 149 +Eme 149 +Eel 149 +Eur 149 +Paz 148 +Armet 148 +Eto 148 +Kust 148 +Agust 148 +Kõne 148 +Erit 148 +Arine 148 +Kies 148 +Elu 147 +Kõik teha 146 +Eks 146 +Eri 146 +Arame 146 +kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik 142 +Et 141 +Asena 140 +Ena 140 +on 136 +Kola 135 +Mõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõõ 133 +Kus 131 +Küsimus 130 +Kõrge 129 +kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik 117 +Euroopas 115 +Ehti 113 +Korda 113 +Puhul 112 +Eriti 111 +Kavad 111 +Katoch 111 +Kovosa 111 +Eelta 111 +Kõsel 111 +Kiasal 111 +Kärst 111 +Kulik 111 +Eronomi 111 +Kostol 111 +Pallona 111 +Päst 111 +Aitah 110 +Üldse 110 +Kondi 110 +Kusk 110 +Aitoma 110 +Eurist 110 +Arandusi 110 +Araneb 110 +Kisek 109 +Evalik 109 +Eelü 109 +Eegis 108 +Kuhul 107 +Paldaks 106 +ja 105 +Lepool 104 +EUROT 102 +Kosoval 101 +kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on 95 +kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on 93 +on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on 93 +Kõik teembril 92 +Eesti 92 +Kõik on teemad 91 +Põnud 91 +Kõiklo 89 +Kandahal 89 +Eerikia 89 +Kõpsel 89 +Kesturel 89 +Kõrki 89 +Eest agist 88 +Puiustel 88 +Nõnud 88 +Kadeskos 88 +Armeenia 88 +Eremiseks 88 +Aastumine 88 +Kulitsus 88 +Kõhul 88 +Kratlikult 88 +Katsioon 88 +Põhul 88 +kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on 87 +Kõigele 87 +Eelikult 87 +Kõigal 86 +Ning 85 +on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on 85 +Võimine 85 +Kõik on sõnud 84 +Kainvies 84 +Kõnasa 83 +kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on 82 +Kõnast 82 +kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on 81 +Kõik võit 80 +Kõrta no 80 +Kõik osa 79 +on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on 78 +Kõikame 78 +Tõnus 77 +Kärver 77 +Kõik tehti 76 +Kest pavad 74 +Kõik mees 74 +Eriti zeta 74 +Kõnalea 74 +Hada loodsch 74 +Hvala presidenti 74 +Kõik seda 74 +Kõik meeld 74 +Hea meel 73 +Eri oskusi 73 +Kõigelema 73 +Kõik on 26 73 +Kõiksteist 73 +Kulingrege 73 +Nõel 73 +Eitreikel 73 +Suuradu 73 +Lõppanud 73 +Kõik jist 73 +on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on 72 +Kõige pealt 72 +Kõik on tehtud 72 +kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik 70 +Sõdano 70 +Klaabe niht 68 +Kärvost 68 +Põlod 67 +Kvies 67 +Kõikides 67 +Kõhra 67 +Korda no 66 +Kõu 66 +Kõikile 65 +Kõneks 65 +See on 64 +Kõikinsa 64 +Pavel 64 +Eeg 84 64 +Aga 63 +kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik kõik 63 +Kõik jubel 63 +Kõik sest 63 +Kõikabelt 63 +Krasnobetski 62 +Kõik teulad 62 +Kõik teada 62 +Kõik te luga 62 +Põhjus 61 +Kõik net 61 +Kõrl 61 +Häära 61 +Eeg 61 +on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on 60 +Kõik teile 60 +Era poolehtu 60 +Kõik tex 60 +Kolega Rinaldi 60 +Eks valmis 60 +on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on 58 +Kõik siis 58 +Hvala prezident 58 +Arasimseli 58 +kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on 56 +Sorda, no 56 +Kõik pala 56 +Siis 55 +Pätsednitse 55 +Kõik minu 55 +Kõik jasad 55 +Kõrsteid 55 +Küsimusas 55 +on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on 54 +Aastatud 54 +Kõik aastal 54 +Eletrooniliselt 54 +Eemidega 54 +Kiste puhkudel 54 +Koolaeg 54 +Kõik tehtivist 54 +Eeglite alusel 54 +Kõik meadvise 53 +Kõik on pult 53 +Lõppinud 53 +Kõikultasandel 53 +Tõepärast 53 +Elga 53 +Kustatama 53 +Kõik te seda 53 +Kõik võttu 53 +Põrtele 53 +vastu 52 +ka 52 +Kõik fläna 52 +Kõik me tehtik 52 +Kõrda 52 +Vastu 51 +on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on kõik on 51 +Kõik teemise 51 +Kõik on vastu 51 +Kõik on 80 51 +Eilonsa 51 +Eitsa 51 +Kõik lõst 51 diff --git a/dataset_configs/multilingual/granary/partials/common_phrases/fi.txt b/dataset_configs/multilingual/granary/partials/common_phrases/fi.txt new file mode 100644 index 00000000..9eee81c9 --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/common_phrases/fi.txt @@ -0,0 +1,2 @@ +Kiitos 9048 +Kiitos, minä 52 diff --git a/dataset_configs/multilingual/granary/partials/common_phrases/fr.txt b/dataset_configs/multilingual/granary/partials/common_phrases/fr.txt new file mode 100644 index 00000000..f386ee44 --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/common_phrases/fr.txt @@ -0,0 +1,156 @@ +Sous-titrage Société Radio-Canada 150783 +Merci 79917 +le Président, M 17491 +Je remercie 7395 +Je vous remercie 2838 +le Président et M 2650 +Au revoir 1395 +le Président 1129 +Merci d'avoir regardé cette vidéo 1066 +Sécurité 1053 +Oui 1020 +Merci à vous 886 +Merci, M 841 +Un 663 +Merci à mes Tipeurs et souscripteurs 650 +Pour 527 +Contre 485 +Bien 476 +Hum 447 +C'est bon 412 +Merci à tous 403 +Amen 383 +S'il vous plaît 368 +Société Radio-Canada 334 +Non 301 +Et 299 +pour 277 +Bon 269 +Pardon 238 +Les 232 +On 224 +Sur 223 +Bite 222 +Des 222 +Nature 222 +Par 222 +En 222 +Dieu 216 +Hop 214 +Point 212 +du 211 +Surtout 208 +Le vote est ouvert 207 +Abstention 196 +C'est ça 194 +Sous-titrage FR Pays de l'Ontario 157 +Bon appétit 150 +Ambition 148 +Très 148 +Lé 148 +Évaluation 147 +le Président, et M 147 +le M 147 +SED 145 +S1 144 +Madame la Présidente 143 +Ré 143 +Sip 143 +le 142 +C'est un problème 141 +Trois 140 +L3 140 +Sari 140 +Le 10 139 +Le M 136 +Je vous remercie, M 133 +que 132 +Alors 131 +contre 130 +Donc 125 +Mais 124 +Sérieux 113 +et 112 +Sincère 111 +Satellite 111 +Ressources 110 +Évolution 110 +Surgir 110 +Rassurer 110 +Mille place 109 +Jury 6 109 +Le gouvernement 4 109 +C'est un peu comme ça 108 +Yurek 108 +Munger 108 +Je ne sais pas 106 +Bonsoir 106 +Sorsion 101 +C'est quoi 100 +Sérielle 99 +C'est un 92 +Sénophine 89 +L'association 89 +procédure 89 +Gratulièrement 89 +Merci beaucoup 88 +Sondement 11 88 +L'esprit 87 +législation 87 +Kaut, M 87 +Président, M 84 +Compromis 84 +Voilà 83 +Adopté 82 +C'est ce que je veux dire 82 +Je m'en 82 +Légalité 81 +L'organisation 80 +Alphonsi 79 +discrimination 78 +Radio-Canada 77 +C'est génial 75 +Le logement 75 +Évaluations 75 +Le phosyte 74 +Kelly, M 74 +Bleu 74 +Sources de croissance 73 +L'adhésion 73 +C'est pas ça 72 +C'est pas grave 72 +Leynan, M 72 +A, B, T 72 +Pendeja 72 +47 71 +Le 5 70 +Salut 68 +Garner, M 67 +Le microproche 67 +L'éducation 65 +adopter 64 +SIGURITÉS 63 +le Président, 62 +Zorvaman, M 62 +Bonjour 62 +L'Asie centrale 62 +Brock, M 61 +Ensuite 60 +Durablement 60 +qui 59 +C'est moi 59 +Exploration 58 +questions 56 +Monde-monde 56 +Sra 55 +Engel, M 55 +Quatorze qui est pour 54 +Swinburne 54 +C'est pas illégal 54 +Claire 53 +On peut trouver d'autres personnes 53 +de 52 +Le centre adopté 52 +C'est parti 51 +Adoptez 51 +Gerdinger, M 51 diff --git a/dataset_configs/multilingual/granary/partials/common_phrases/hr.txt b/dataset_configs/multilingual/granary/partials/common_phrases/hr.txt new file mode 100644 index 00000000..5bc598dd --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/common_phrases/hr.txt @@ -0,0 +1,88 @@ +Hvala što pratite kanal 146783 +Hvala vam 13292 +Hvala 7568 +što pratite kanal 2739 +Hvala što pratite 2366 +pratite kanal 2018 +Hvala vam na sviđanju 1847 +Hvala vam se 1706 +kanal 1673 +Hvala na sviđanju 1653 +Sviđa 1010 +10 668 +Hvala se 613 +Da 555 +Hvala vam na sviđanje 362 +Uvijek 335 +Ne 305 +vam 253 +Hvala vam sviđanje 233 +Pa 226 +30 225 +Text 223 +2019 222 +16 219 +Hrana 213 +Sviđanje 212 +109 165 +Lama 147 +Sto 146 +Hrvatska 145 +Hvala ljepo 141 +Hvala lijeva 128 +Ďakujem 125 +Let's go 111 +Lepo 110 +Hvalit 110 +Hvala pa 99 +Hvala li 93 +Hvala ne pa 92 +Ljubam 89 +Oprostili 89 +Odbora 9 88 +Lijepa 88 +Hvijek 87 +Vot is open 86 +Misije 85 +Hvala se ni 82 +Hranih 82 +se 79 +Hvala li je pa 79 +Hvala vam glasovanje 76 +Odbija se 75 +Hrvatsko 75 +Hvala novi 74 +Hvala lepa 74 +Sviđate 74 +Hvala imamo 74 +Hvala, Obama 74 +Hrvatski 74 +Top 10 najboljih uvijek 73 +Hvala mi se 73 +Hrvatsko je uvijek 72 +Hvala nič 71 +Hvala reč 69 +Ali 67 +Hvala vam ljepo 67 +Hvala na sviđanje 66 +Stabilnosti 65 +Hrvodnu 64 +Protiv 63 +Hvala za žene 62 +Top 10 minuten 62 +Hrvatskama 62 +Sviđa se 62 +Hvala Lepan 62 +Hrvodin Peters 62 +Dođer 61 +Hvala vam ljepa 61 +Zatvaram 60 +Hvala vam sviđanju 58 +Hvala o 55 +Okupaciju 54 +Hvala djepa 54 +Hrvatsko na to 54 +Peti 54 +Hvala, Sonja 53 +Hvala še stok 53 +Hvala komisji 53 diff --git a/dataset_configs/multilingual/granary/partials/common_phrases/hu.txt b/dataset_configs/multilingual/granary/partials/common_phrases/hu.txt new file mode 100644 index 00000000..c42536be --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/common_phrases/hu.txt @@ -0,0 +1,116 @@ +NAMASTE 149324 +Köszönöm 26109 +Köszönöm szépen 24607 +Ha 1987 +Köszönöm, hogy megnézted 1827 +szépen 862 +Ha tetszett 757 +Köszönjük 742 +Nem 640 +Egy 505 +És 326 +Oké 321 +Rendben 295 +Szó 294 +Ellene 282 +megnézted 281 +Hogy 276 +Szóval 258 +Elena 252 +Eléna 247 +Csak 242 +Az 233 +Eléne 224 +A köszönöm szépen 223 +Mag 213 +hogy 210 +Szóra 205 +és 200 +Köszönöm, hogy megtaláltad 163 +Köszönöm, M 160 +Azt 157 +Szeg 150 +Elen 149 +Pán 148 +KZ 148 +Azal 148 +Szükség 148 +Azaz 148 +Szig 148 +Magari 147 +Szia 147 +Mikrok 143 +Rá 140 +Ipar 139 +Ná 132 +A mi 124 +Elenor 115 +A lát 111 +Róra 111 +Kérem 110 +Szépen 110 +Szitva 110 +Egyen 108 +Kétes 107 +úr 102 +Rógy 102 +Ha tetszett, ha tetszett 101 +99-2 101 +Ne 100 +Áj 95 +is 90 +Ellen 90 +zárom 90 +Szangosz 89 +Évő 89 +Elégete 89 +Rászol 89 +Már Fát 88 +Lanzi K 88 +Bevétel 88 +Elnöck 88 +Igy marad 88 +A sány 87 +Fájt 87 +Néhá 85 +Előne 83 +Elő 81 +asszony 77 +Én 76 +Ból 76 +De 74 +A oitúr 74 +Elfogottuk 74 +Szolgának 74 +Kárcúr 73 +Szabályok 73 +dé hát 73 +Néhána 72 +Hátorikán 72 +54 72 +Pag 72 +Egyesel 71 +Agyébben 70 +A gájom 70 +Akkor 68 +Először 65 +Elécte 64 +A MEO 64 +Egyényesk 62 +Bármát úr 62 +Kifal elastei 62 +Magyar 61 +Mindenkételő 60 +Magyarországon 59 +Szávazónk 58 +Négy százal 57 +Köszönöm, köszönöm 56 +Ön 56 +A megyet 56 +A Vényassó 55 +Azta 54 +Egy élete 54 +Szentemátor úr 54 +van 52 +Néződani 51 +Képviselők 51 diff --git a/dataset_configs/multilingual/granary/partials/common_phrases/it.txt b/dataset_configs/multilingual/granary/partials/common_phrases/it.txt new file mode 100644 index 00000000..3aa936b7 --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/common_phrases/it.txt @@ -0,0 +1,9 @@ +Grazie mille 952 +Grazie 918 +Grazie a tutti 244 +Chi è a favore 133 +Compromesso 10 105 +Perchè 72 +grazie 65 +La votazione è aperta 61 +mille 54 diff --git a/dataset_configs/multilingual/granary/partials/common_phrases/lt.txt b/dataset_configs/multilingual/granary/partials/common_phrases/lt.txt new file mode 100644 index 00000000..45b7f663 --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/common_phrases/lt.txt @@ -0,0 +1,431 @@ +Dėkis 121685 +Paldies 111274 +Pag 49533 +Dabarėjau 26965 +Ačiū 22517 +Ir 18466 +Dėkis, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kur 15058 +Taip 14221 +Ar 12382 +Dabarėjimu 10643 +Tai 6677 +Ďakujem 6574 +Aš 5109 +Labai 3331 +Dabarėjome 2541 +– Dėkis 2516 +kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kur 2461 +kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kur 2425 +Dabarėjus 2371 +kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kur 2302 +kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kur 2288 +kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kur 2270 +Dabarėjimą 2253 +kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kur 2244 +Taip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, 2188 +kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kur 2152 +kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kur 1981 +Bet 1841 +kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kur 1786 +kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kur 1591 +Dabar 1487 +kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kur 1368 +kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kur 1289 +kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kur 1176 +At 1115 +kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kur 1023 +kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kur 1022 +Įdėjimu 1008 +Nu 910 +Arba 906 +Dėkodės 864 +Labas 857 +Įdėkis 823 +kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kur 823 +kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kur 820 +Tačiau 789 +Nes 772 +Taip, taip 763 +Nė 758 +Mūsų 741 +kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kur 711 +kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kur 696 +at 678 +Ačiūrėjau 663 +Dabarėjame 646 +kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kur 582 +Gerai 572 +Čiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiausiaus 568 +Aplodinės 512 +Sėdėkis 480 +Taipos 479 +Su 477 +Arbus 444 +Arčio 437 +Sėkiai 430 +kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kur 427 +Šiandienas 375 +Tai yra 364 +Atsiū 354 +Dėkštie 350 +Dabarėjimai 318 +Iki 318 +Žinoma 306 +Aras 296 +Įdėjame 292 +Nei 292 +Sėkmės 291 +kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kur 288 +Arvo 286 +Čia 284 +Pagliau 280 +Dabarė 261 +Anto 258 +Kėdėkis 242 +Tu 234 +su 233 +Te 230 +Ačiu 229 +Dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis 228 +Sėkodės 227 +Nėra 226 +13 223 +Gru 222 +Ar mums 222 +Betis 221 +Arčiu 218 +kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kur 214 +Ir Ir 206 +Įsta 192 +Šiandien 192 +Čiausiai 188 +Mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų 185 +Prieš 167 +ir 165 +Sama 163 +Dabar mūsų 161 +Arėjus 161 +Dėkui 160 +Taigi 160 +Įdėjim 157 +Sė 156 +Dėkite 155 +Aki 155 +Tama 155 +kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, 154 +Ehm 154 +Vy 153 +kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kur 152 +kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, 151 +Nato 151 +Yra 151 +Antra 151 +R2 150 +Aroma 150 +Labie 150 +Asta 150 +Pum 149 +Armas 149 +Imo 149 +Irma 149 +Arman 148 +Kli 148 +Serio 148 +Kali 148 +Arif 148 +Avas 148 +Ina 148 +Aps 148 +Betro 148 +Aris 148 +Antios 148 +Rol 148 +Tux 148 +Iba 147 +Tant 147 +Atra 147 +Antras 146 +Arline 145 +Sėmės 143 +Dabarės 143 +Ačiūrėjus 143 +Dėkodis 141 +Beb 141 +Naudoklis 140 +Labra 139 +Ir mūsų 139 +Argo 139 +Dž 138 +Dabarysi 138 +Laki 138 +Rai 137 +Tiba 137 +Hr 137 +Torbu 136 +Taile 136 +Ir jūsų 136 +Ante 135 +Atia 134 +Sėkės 134 +PC1 134 +Mės 133 +Jūsų 133 +Na 130 +Iks 130 +kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, 128 +Ar jūsų 128 +kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, 126 +kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, 126 +Sės 124 +kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, 123 +Taip, taip, taip 123 +Ačiškia 122 +kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, 121 +kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, 120 +Dėkia 118 +Daugiau 118 +Ar to 118 +dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis 117 +kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, 115 +Są to 114 +dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis 112 +Arsulo 111 +Ir ponios 111 +Irmant 111 +TITIA 111 +Armanso 111 +Akti 111 +Manžia 111 +Ardus 111 +Pabies 111 +Ir gana 111 +Če 111 +Buhata 110 +Mėdėkis 110 +Aši 110 +Kulose 110 +Arceos 110 +Antekste 110 +Irranga 110 +Eurų 110 +Tūra 110 +Irritant 110 +Arminija 110 +Tinkas 110 +Eurot 110 +Pana 30 109 +ďakujem 109 +Įdu 109 +dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis 108 +Lepas 107 +Tai lū 106 +Dėkos 105 +Aisnes 105 +Mančila 104 +Konec 103 +Aspecti 103 +Ir buvo 103 +kad 101 +Dėl 101 +0, 1 101 +dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis 100 +Ar visi 97 +kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kur 96 +Ir moji 95 +Ikias 94 +Paldiesi 94 +dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis 91 +dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis 90 +Tėkis 90 +Mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų mūsų 89 +Sėkro 89 +Atsenau 89 +Aristo Poli 89 +Atsukė 89 +Siv 89 +Ateikia 89 +Dabarba 89 +Irminkė 88 +Arvojame 88 +Atsargas 88 +Ačiup 88 +Kliantų 88 +Išdus 88 +Aš manau 88 +Totojui 88 +Irskova 88 +Išdava 88 +Antizacija 88 +Aikėti 88 +Ačioms 87 +ČNES 87 +Dėmato 87 +Aštas 87 +Arbačiu 87 +Konfliktus 87 +kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, 86 +kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, 86 +16 86 +Sąčiu 86 +Įdėjau 85 +Apsauka 85 +Sėrtu 85 +Pats yra 83 +Arpiai 83 +Dėkai 82 +Aštė 82 +Kas už 81 +Rekas 80 +Ačiūrėjimu 79 +Matša 79 +Ietimas 78 +Aplodis 77 +Dėkis kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės kėdės 77 +kur 77 +Apskite 77 +Taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, taip, 76 +Taipa 76 +Ďakujem, į reikiausiai 76 +dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis 75 +Kad 75 +Tumar 75 +Dabar komis 74 +Vėliau 74 +Ar mūsų 74 +Lėčių 74 +Raišin 2020 74 +Naftaliu 74 +Kotecikia 74 +Irpanašė 74 +Ostatusą 74 +Atojau 74 +Dėkodas 73 +Omenyės 73 +Kulbės 73 +Arnekaimu 73 +Eishkinti 73 +Arėmės 73 +Atsiči 73 +Aštinti 73 +Atsuosime 73 +Dabūksta 73 +Pa 72 +Palsuojame 72 +Aškačiu 72 +Atsauktas 72 +Tadarita 71 +Sėdėjau 71 +Dėklau 71 +Aš reikia 71 +Šmėdė 71 +dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis 70 +Aizdota 70 +Atsaukite 70 +Egoizmo 70 +Rūtas 70 +Mės trą 70 +Aplaukite 70 +Aš ką 69 +O, beaciu 69 +Ar teklūs 68 +pirmininkė 66 +PAS 66 +apie 66 +Įdėkite į vietą 66 +Aš čia 66 +Tadėta 66 +O, nė 66 +Dabarėjai 65 +už 65 +At lo 65 +Gerbimie 65 +Yponijų 65 +Irtepad 65 +Kaip 64 +Argus 64 +Kojo 64 +PRAŠAM 64 +Vėlės nuo 63 +Pagėmės 63 +Paginacijos 63 +Latinos 63 +Paneugus 63 +Aš nesitama 63 +kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, 62 +Bezauwite 62 +Taipas 62 +Sėlėkis 62 +Šukšlivena 62 +Oskokybę 62 +Tūs taas 62 +Tau reakiai 62 +dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis, dėkis 61 +Įdėjus 61 +Rekštokat 61 +Sėlėtus 61 +Ar dveja 61 +Ačiūsiu 61 +Dėkis doma 61 +Atsipračiu 61 +Tėlička 61 +Antonia 61 +Aštumto 60 +mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų 60 +Dėkis turi 60 +Paglėtis 60 +Ar tiju 60 +Vėlųjų 60 +Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir Ir 59 +kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kuris, kur 59 +Mūsų ats 59 +Rādžiai 59 +Europartnerista 59 +Dėkštė 59 +mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų 58 +Sėstis 58 +Dėkite pras 58 +Ažvilgiu 58 +Įdėjie 58 +Apsaugos 58 +Aitėtus 58 +Štėdė 58 +Atsakyti 57 +Dėkis toks 57 +Aš kėsų 57 +Tausiai 56 +Kas prieš 56 +Ačiū, pirmininkė 56 +mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų 56 +Sėdėjimu 56 +Pėdėjau 56 +Mas 55 +Dabarėjim 55 +Paglėjimu 55 +Dėkis sektori 55 +Rinkoasteliją 55 +Arslinkus 55 +Są poteštę 55 +mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų 54 +Tačiūrėte 54 +Šeitai 54 +Martheu 54 +Aš Karolissi 54 +Sėmėrės 54 +Sėkėjimu 54 +Žinoma rengini 54 +mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų, mūsų 53 +Arčiomario 53 +Sėlėnės 53 +Ir laisvimus 53 +kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, kaip, 52 +Aristo poli 52 +Pai sėkės 52 +Ar kitur 52 +Ir tvingumo 52 +Dėkodėjome 52 +Atsigiams du 52 +Grazie 51 +– Sėdėkis 51 +Nielsonas 51 +Tato sūbėra 51 +Atitikia ma 51 diff --git a/dataset_configs/multilingual/granary/partials/common_phrases/lv.txt b/dataset_configs/multilingual/granary/partials/common_phrases/lv.txt new file mode 100644 index 00000000..9f77252d --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/common_phrases/lv.txt @@ -0,0 +1,2 @@ +Paldies 3222 +Plāksmē 64 diff --git a/dataset_configs/multilingual/granary/partials/common_phrases/mt.txt b/dataset_configs/multilingual/granary/partials/common_phrases/mt.txt new file mode 100644 index 00000000..79a3dc61 --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/common_phrases/mt.txt @@ -0,0 +1,150 @@ +Ďakujem 9190 +Hvala što pratite kanal 6349 +NĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚĚ� 2605 +Hvala što pratite 2486 +Għħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħ� 1561 +Hvala 1404 +Paldies 668 +30 668 +Grazie 595 +000 447 +10 445 +Hrķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķķ 404 +Hãy subscribe cho kênh Ghiền Mì Gõ Để không bỏ lỡ những video hấp dẫn 331 +President 322 +għħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħħ� 311 +Sra 304 +Hvala še 299 +Dż 293 +20 227 +19 221 +Issa 168 +Ehm 165 +Contra 157 +Hvala što 153 +Lili 150 +Horm 150 +Sari 149 +Zer 149 +Tzu 149 +Sene 148 +Nala 148 +Beş 148 +Sala 148 +Nati 148 +goni 148 +Juss 148 +Siti 148 +Eri 148 +Pus 148 +Tog 148 +Suur 147 +Paro 146 +Hru 146 +Alissa 145 +Signora 144 +Nya 143 +Pag 143 +Ritz 141 +Ski 140 +Simp 139 +Tuha 136 +Hvala š 127 +Egu 127 +Hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, 119 +Taddi 118 +Haffner 114 +Hrani 113 +Konec 113 +Kodin 111 +Bu tako 111 +U fó 111 +Če 111 +Lessa mis 111 +Kosovo 111 +Esteren 111 +deals 111 +Nāru 111 +Nitsha 111 +Tukun 111 +Mazzini 110 +Lawa net 110 +Hrsh 110 +Nolos 110 +Ponsi 110 +Grazzi 109 +30-1 108 +Apoš 107 +Dossier 103 +Hãy subscribe cho kênh Gõ Để không bỏ lỡ những video hấp dẫn 103 +Naisna 102 +Natsura 102 +Doan 96 +N-net 92 +Hr 91 +Hvala ki 89 +Prego Pilar 89 +Eriksie 89 +Hrviti 89 +Senora Bowles 89 +Hvala vam 89 +Nsiebo 89 +Buat malo 89 +Hrāti 89 +Nil-a 88 +Katsafna 88 +R-Russia 87 +Hjajan 87 +Dżuara 86 +hafna 83 +Čo 82 +Āhna 77 +Hrvatsi għu 76 +Sada 75 +Tore vi melo 74 +Zekunniku 74 +Smaq 74 +Hvala abit 74 +Zipan, Jersey 74 +Gįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįį� 73 +N-adjus 73 +Tafna lom 73 +Nishteħ 72 +Lewa l-net 72 +O emmenu 71 +Hvala i ne 71 +Hrvatski 70 +Għraċi 68 +Trican, mile 68 +Hvala što prat 66 +Is for me 66 +Īvan 66 +Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za Ďakujem za 63 +Čnāla 63 +N-u kontra 63 +Nes rots opa 63 +TZBI don't understand 63 +Hvala i tada 63 +Mr 62 +gįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįįį� 62 +EF-E-U 62 +Hrundan aminto 62 +Representa me 61 +Hrvatskaj 61 +minuta 60 +Welp 60 +So nice to see you 59 +Tulli-s min 59 +Sera Sera Président 55 +Hrubitikofa 55 +Hvala sko zain 55 +Hvala što pratiti 55 +Alman d'Ažer 55 +Atención que se requiere 54 +Čnđe 53 +Graċi 52 +Isimu 52 +Hr-Rush 52 +illi 51 +Sürmetsalikaj 51 +Čina 51 diff --git a/dataset_configs/multilingual/granary/partials/common_phrases/nl.txt b/dataset_configs/multilingual/granary/partials/common_phrases/nl.txt new file mode 100644 index 00000000..c562d1b8 --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/common_phrases/nl.txt @@ -0,0 +1,5 @@ +Dank u wel 123 +wel 87 +Kompromis 4 86 +Nr 72 +Kompromis 4a 63 diff --git a/dataset_configs/multilingual/granary/partials/common_phrases/pl.txt b/dataset_configs/multilingual/granary/partials/common_phrases/pl.txt new file mode 100644 index 00000000..0e5e2643 --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/common_phrases/pl.txt @@ -0,0 +1,10 @@ +Dziękuję 778 +Dzień dobry 299 +Kto jest za 131 +Dziękuję bardzo 121 +Kto się wstrzymał 114 +Sześć 91 +Kto przeciw 88 +Kompromis 13 88 +Kto jest przeciw 71 +Dziękuję za uwagę 55 diff --git a/dataset_configs/multilingual/granary/partials/common_phrases/pt.txt b/dataset_configs/multilingual/granary/partials/common_phrases/pt.txt new file mode 100644 index 00000000..c2c3cbef --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/common_phrases/pt.txt @@ -0,0 +1,27 @@ +Sra 8711 +Presidente 1486 +Sr 1435 +Obrigada 1148 +Presidente, Sr 761 +Obrigado 619 +Obrigada, Sra 520 +Obrigado, Sr 370 +Obrigada, Sr 349 +Já 201 +Muito obrigada 168 +Enf 135 +Srs 123 +Muito obrigado 109 +Com licença 105 +800, 1 85 +Renda, Sr 75 +Diz, Sr 72 +Presidente, o Sr 68 +Presidente, Sra 67 +Cavada 66 +Svab 64 +Contra 63 +Abstenções 59 +Martins 57 +O que é a reunião 55 +Jouvin, o Sr 52 diff --git a/dataset_configs/multilingual/granary/partials/common_phrases/ro.txt b/dataset_configs/multilingual/granary/partials/common_phrases/ro.txt new file mode 100644 index 00000000..047d3dc3 --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/common_phrases/ro.txt @@ -0,0 +1,285 @@ +Să vă mulțumim pentru vizionare 64103 +MULȚUMIT PENTRU VIZIONARE 47032 +La revedere 44575 +Să ne vedem la următoarea mea rețetă 32817 +Mulțumesc 26905 +Nu uitați să distribuiți acest material video pe alte rețele sociale 12082 +Mersi 8073 +Nu uitați să dați like, să lăsați un comentariu și să distribuiți acest material video pe alte rețele sociale 5936 +Mulțumesc frumos 3477 +pentru vizionare 2347 +vizionare 2079 +Nu 1586 +mulțumim pentru vizionare 1148 +Să vă mulțumesc frumos 1048 +rețetă 1018 +Să lăsați un comentariu și să distribuiți acest material video pe alte rețele sociale 1008 +Mulțumim 968 +Să 927 +în 893 +Mulțumesc pentru vizionare 766 +cu 738 +S-a deschis votul 704 +Aș 655 +Să vă mulțumesc pentru vizionare 632 +Mersc 589 +mea rețetă 526 +Da 504 +S-a închis votul 475 +Sărbătoare 468 +Este 458 +un 456 +Spins 434 +Nu uitați să dați like, să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu 420 +următoarea mea rețetă 404 +Să ne vedem în următoarea mea rețetă 387 +Bun 356 +Așa 353 +Nu uitați să vă mulțumim pentru vizionare 350 +Să vă mulțumim 336 +vă mulțumim pentru vizionare 333 +Succes 332 +Sankies 328 +Să nu 324 +Să vizionare 322 +Mă 308 +și 307 +Clare 297 +alte rețele sociale 296 +Sine 296 +pe alte rețele sociale 291 +VIZIONARE 271 +Pentru 270 +rețele sociale 252 +sociale 251 +material video pe alte rețele sociale 251 +Să vă mulțumesc 251 +vedem la următoarea mea rețetă 241 +pentru 240 +video pe alte rețele sociale 239 +Mersk 235 +Nu uitați să dați like, să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați 233 +ne vedem la următoarea mea rețetă 230 +Muzica 227 +Un 226 +Ar 224 +Sără 222 +Sfântului 222 +Financiare 222 +Săr 220 +Victor 220 +acest material video pe alte rețele sociale 216 +Muzică 199 +la următoarea mea rețetă 197 +distribuiți acest material video pe alte rețele sociale 185 +Să deschis votul 185 +Măsuri 176 +Sfântul 175 +să distribuiți acest material video pe alte rețele sociale 168 +Nu uitați să dați like, să distribuiți acest material video pe alte rețele sociale 161 +Acord 157 +sigur 156 +Nu uitați să vă mulțumesc pentru vizionare 153 +Adios 153 +Mers 151 +Vă mulțumim pentru vizionare 151 +Mica 150 +Vitor 150 +Energia 149 +și să distribuiți acest material video pe alte rețele sociale 148 +Schimb 148 +Mies 148 +Astro 148 +Estico 148 +Conturi 148 +Conte 148 +Sina 148 +Azo 148 +Suta 148 +Spania 148 +Ski 148 +Redus 148 +IMP 148 +Sins 148 +Lucie 148 +Iana 147 +Ieri 147 +SDI 147 +Să mai departe 146 +Sper 146 +Trei 145 +Odii 145 +Mim 144 +Bras 143 +că 140 +Martín 140 +Vă mulțumesc pentru vizionare 136 +Sala 134 +Sărbă 133 +și să lăsați un comentariu 132 +Nu uitați să dați like, să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu 129 +Apoi 128 +Tiza 127 +Și 124 +Să deschideți 124 +Svotovske 124 +Nu uitați să dați like, să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu 120 +Adopta 120 +Spera 120 +PENTRU VIZIONARE 113 +Sperți 112 +Tronice 111 +Irlandese 111 +MdG 111 +Miemo 111 +Mieți 111 +MENI 111 +Spasca 111 +Métie 111 +HACP 110 +Hora 15 110 +Ilegale 110 +Vod electronic 110 +Dreptur 110 +Sărit 110 +Bunzitor 109 +Măsc 108 +Sankiz 108 +Muzora 108 +Să vă mulțumesc pentru like, să lăsați un comentariu și să distribuiți acest material video pe alte rețele sociale 107 +Sankt 107 +Sfie 107 +Căr 104 +Să ne vedem la urmă 103 +Exemplu 103 +Sperte 103 +Ruta 79 103 +care 102 +şi 102 +lăsați un comentariu și să distribuiți acest material video pe alte rețele sociale 101 +Rău 92 +uitați să dați like, să lăsați un comentariu și să distribuiți acest material video pe alte rețele sociale 91 +Sărdo 89 +Măiți 89 +Ouropeine 89 +URGENTE 89 +Excesivă 88 +Mulgherini 88 +The vote is closed 88 +Exționat 88 +Succesul 88 +Să bine 88 +BASEL 3 87 +Votul 5 87 +Sfotul 87 +Aptineri 87 +Sank is vătul 87 +Mătul 87 +Acest lucru 86 +SIGLAIN 86 +Aptinari 85 +Răspuns 85 +Sărace 84 +Sărcere 84 +Mă mulțumim pentru vizionare 83 +Mulțumesc, domnule președinte 81 +Să spune 81 +Luhurul 81 +un comentariu și să distribuiți acest material video pe alte rețele sociale 80 +Să deschia zvătul 80 +Răspins 79 +Mulțumesc, președinte 78 +Suntul 10 77 +Cuquina 77 +S-Li 76 +Abținari 76 +S-a adoptat 74 +Merskviki 74 +Hacem regulament 74 +Dar 73 +Sfășara 73 +Sfără 73 +Sfăruri 73 +Să deschise 73 +S-PONS 73 +Compromisul 1 73 +Sinc de votul 73 +Sancis votul 73 +S pentru 73 +Contrastrategie 73 +Sankis votul 73 +Sărunga 73 +uitați să distribuiți acest material video pe alte rețele sociale 72 +Să remarcăm 72 +Muzurilor 72 +Nu uitați să dați like, să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu 71 +Să închis 71 +Răgurile 71 +Odgovița 71 +Așteptăm 70 +votul 70 +Să ne vedem la următoare 69 +Sfânta 69 +Doamne 68 +Mulțumim pentru vizionare 68 +Nu uitați să dați like, să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu 66 +comentariu și să distribuiți acest material video pe alte rețele sociale 66 +Sănkis votul 66 +Votrn 66 +Sărcum 66 +Să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lăsați un comentariu și să lă 65 +Ar vanitist 65 +Vătul 65 +Trăiști 65 +like, să lăsați un comentariu și să distribuiți acest material video pe alte rețele sociale 64 +Nu-am 64 +să lăsați un comentariu și să distribuiți acest material video pe alte rețele sociale 63 +Sfântul 23 63 +Sfântul 83 62 +Să gândiți 62 +Sfântul 76 62 +Să te urziu 62 +dați like, să lăsați un comentariu și să distribuiți acest material video pe alte rețele sociale 61 +să dați like, să lăsați un comentariu și să distribuiți acest material video pe alte rețele sociale 61 +S-a închis 61 +Mă-Covei 61 +Sfântul 24 61 +Sfântul European 61 +Sfie folosita 60 +Să lăsă 60 +de 59 +Să ne vedem 57 +Să ne ajutăm 57 +Să ne spingă 56 +Fissas 56 +Sărbăr 56 +Sfântul 11 56 +președinte 55 +Bună 55 +Mă rețința 55 +Vărgânta 55 +Mă testaţi 55 +Aplicați-vă 55 +adoptă 54 +De ce vile 54 +Sistă-mă 54 +Suntem vorbitori 54 +Să deschise votul 54 +Om 54 +Să răspundi 54 +MIGA 54 +Să închim votul 54 +Pălamentarea rurală 54 +Sfântului 2020 54 +Sama frunzulica 54 +Să înkis votul 54 +Să gizvotul 54 +Să sunt întrebări 54 +Ia cuvântul 54 +Să gisvotul 53 +S-a sublinieze 53 +Sărbădă 52 +Din Belarus 51 +Sunt pentru 51 +S-a deschis vot 51 +Sărbătate 51 diff --git a/dataset_configs/multilingual/granary/partials/common_phrases/sk.txt b/dataset_configs/multilingual/granary/partials/common_phrases/sk.txt new file mode 100644 index 00000000..4b0a8446 --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/common_phrases/sk.txt @@ -0,0 +1,83 @@ +Ďakujem za pozornosť 1645498 +Ďakujem 125315 +Ďakuj 40009 +za pozornosť 9407 +pozornosť 9382 +Konec 2653 +Zdravíte 567 +Pre 443 +Hvala 440 +OSN 296 +Kov 295 +Hr 292 +Hru 287 +Ale 286 +Čau 268 +za 236 +1% 223 +Cent 222 +Od 222 +10 219 +že 217 +Máša 167 +Zdravíme 163 +Hvala mi 151 +Per cent 149 +Sonny 148 +Hoh 147 +Kult 147 +MF 146 +Salde 145 +Kto je za 144 +Sala 143 +zi 140 +Proti 139 +Osem 139 +108 135 +Percent 133 +Hvala za pozornosť 131 +Že 119 +Zdra 112 +Odgaard 111 +Ús 111 +Kostel 110 +Hapel 110 +Kvim 101 +Hrv 97 +Môžem 95 +Hlasovanie 93 +KONIEC 89 +Čauj 89 +Či 88 +Opatrení 88 +ZA EF 87 +Čo 85 +Prekestein 84 +Pol7 M 82 +Preto 80 +Ďakujte 79 +Môsťa 74 +Môjši 74 +Ráčelný 73 +Čes 72 +januára 22 72 +Kto sa zdržal 71 +Čili 71 +Znášť 71 +Čaujte 69 +Hvala što pratite kanal 69 +Časají 68 +Spinelli 68 +Českujem 64 +Čer 63 +Kovým 62 +Čaukujem 62 +Ďakujem za pozornosť, Ďakujem za pozornosť, Ďakujem za pozornosť, Ďakujem za pozornosť, Ďakujem za pozornosť, Ďakujem za pozornosť, Ďakujem za pozornosť, Ďakujem za pozornosť, Ďakujem za pozornosť, Ďakujem za pozornosť, Ďakujem za pozornosť, Ďakujem za pozornosť, Ďakujem za pozornosť, Ďakujem za pozornosť, Ďakujem za pozornosť, Ďakujem za pozornosť, Ďakujem za pozornosť, Ďakujem za pozornosť, Ďakujem za pozornosť, Ďakujem za pozornosť, Ďakujem za pozornosť, Ďakujem za pozornosť, Ďakujem za pozornosť, Ďakujem za pozornosť, Ďakujem za pozornosť, Ďakujem za pozornosť, Ďakujem za pozornosť, Ďakujem za pozornosť, Ďakujem za pozornosť, Ďakujem za pozornosť, Ďakujem za pozornosť, Ďakujem za pozornosť, Ďakujem za pozornosť, Ďakujem za pozornosť, Ďakujem za pozornosť, Ďakujem za pozornosť, Ďakujem za pozornosť, Ďakujem za pozornosť, Ďakujem za pozornosť, Ďakujem za pozornosť, Ďakuj 58 +Ďalej 58 +Overejme si 58 +Mátaň 55 +Ďakujem pekne 55 +Kováčný 55 +Časť 1 za 54 +Mňe SAD 52 +proti 51 diff --git a/dataset_configs/multilingual/granary/partials/common_phrases/sl.txt b/dataset_configs/multilingual/granary/partials/common_phrases/sl.txt new file mode 100644 index 00000000..c08c64f3 --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/common_phrases/sl.txt @@ -0,0 +1,363 @@ +Hvala što pratite kanal 988348 +Hvala 461493 +Hvala za pozornost 351855 +Hvala na sviđanju 307238 +Hvala na sviđanje 272988 +Hvala što pratite 37478 +Ďakujem za pozornosť 30823 +Hvala še 29093 +Hvala vam 22922 +Hvala lepa 17965 +Hvala š 10578 +Hvala na 6979 +Hvala za pozornosť 6152 +Hvala vse 5016 +Hvala se 3981 +što pratite kanal 2746 +pratite kanal 2141 +kanal 2139 +na sviđanje 1656 +na sviđanju 1629 +Hvala na to 1618 +Hvala za pozornos 1476 +za pozornost 1313 +Hvala Hvala 1190 +pozornost 1172 +sviđanje 1168 +Hvala za gledanje 1158 +Hvala za 1131 +sviđanju 1114 +Hvala što prat 997 +Hvala je 925 +Hra 866 +Ďakuj 785 +Hvala na vse 775 +Hvala na svojih 759 +Hvala na svoj stvari 702 +Hvala v tem 532 +Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala H 517 +Hvala na svi 502 +Hrv 479 +Pa 462 +Hrani 429 +Hvala da 417 +da 394 +Hvala na pozornost 385 +Hvala še te 360 +Če 354 +Hr 341 +Hvala za pozornosti 329 +Hvala vseh 317 +Hvala na srednje 312 +Hvala te 297 +HDI 294 +Hvala in 284 +Hlasujem 263 +Hvala sem 259 +Hvala šešnje 238 +Hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, hvala, 236 +što pratite 235 +Na 235 +Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hval 234 +Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hval 232 +Hvala pa 231 +Ni 228 +Hvala na sviđanj 222 +Konec 222 +Hrm 222 +Komisja 221 +Hvalda 220 +67 220 +Hvala što 218 +Hvala nič 218 +Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala H 209 +Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala H 208 +Hrpa 202 +Pot 201 +Hvala mi 200 +Hvala vam se 199 +Hvala na svoju 199 +Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala 194 +Zdravljamo 192 +pratite 190 +Hvala le 179 +Hvala še tudi 178 +Hvala na svoj stv 177 +Hvala što ste 177 +Zdravljamo v tem 175 +Hrvatsko 174 +Horda 173 +Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hval 164 +Hvala še nič 158 +Hvala ni 158 +Hvalači 156 +Hvala reči 155 +Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hval 151 +Hvala za pozornoske 150 +Ludi 149 +Kaj 149 +Zaj 149 +Mislim 149 +Lid 148 +in 147 +Anja 147 +Pavel 147 +Da 146 +Hvalače 146 +Hvala lepo 146 +Torej 145 +Hanz 141 +za 137 +Sala 137 +Hvala še vse 135 +UR 135 +Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hval 128 +Hvala na tem 127 +Hvala štine 124 +Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hval 121 +Lepa 120 +Hvala ljudi 119 +Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala H 118 +Hvala za nas 115 +Hvala za minuta 115 +Ali 114 +Hviso 111 +Kovania 111 +Grči 111 +Hvira 111 +Lepen 111 +Koste 111 +Hrce 111 +Kolek 111 +Uvira 111 +Hrano 111 +Kovac 111 +Horema 111 +Prejto 111 +Hvaly 111 +Hvisel 111 +Intervenci 111 +Hrdo 111 +Tvr 111 +Hrmet 111 +vam 110 +Hruba 110 +Hvaliti 110 +Hlede 110 +Krizo 110 +Hrber 110 +Hredal 110 +Uplive 110 +Hlasik 110 +Hrja 110 +Odbora 110 +Rekah 110 +Zdravljte se 109 +Joče 109 +Hrabe 109 +še 108 +Uredbo 108 +Hjel 108 +Hristo 107 +Proti 106 +Hvala še ne 105 +Hvala gospodina 103 +Hrpo 102 +Predlog 100 +Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, Hvala, 95 +Ne 95 +Hvala na sveto 93 +Hrvi 93 +Hrviti 92 +Hvala ljepa 92 +Hvala za te 91 +Hvala in se 90 +Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala 89 +Hvala pre 89 +Hraunman 89 +Hvala Lepa 89 +Odgovoro 89 +Odičja 89 +Hrvoss 89 +Uglasal 89 +Hranih 89 +Hvala sam 88 +Hledajte 88 +Vandekamp 88 +Od drugič 88 +Blaginja 88 +Obdobje 88 +Hrčila 88 +Očasno 88 +Oznako C 87 +Hlasovanie 87 +Hršek 87 +za pozornosť 86 +Horebno 86 +Čila 86 +Hlo plen 85 +Hvala še to 85 +Hrdeve 85 +Hvala vam je 84 +Lina Ebol 83 +Hrmoni 83 +Hrva 83 +pozornosť 82 +Hvala, predsednik 82 +Hvala po 82 +Hvala še prijatelj 80 +Hrvim 80 +lepa 78 +Oktobr 78 +Hvala, mislim 75 +Hvala vprašanje 75 +Hrbæk 74 +Hrani Rez 74 +TKSTOV 74 +Zdravitev 74 +Hvala šeče 74 +Hjerovje 74 +Hrvitsk 74 +je 73 +Hrvicu 73 +Hvalačun 73 +Hvala depa 73 +Obviznice 73 +Hvalačka 73 +Vzgodovino 73 +Hvala leč 73 +Hvala imi 73 +Hrvi Krvi 73 +Hvalačila 73 +Hvala dana 73 +Hvala prednost 73 +Hvalačuna 73 +Hvala tudi 73 +Ravivalstvo 73 +Hvala ni pa 73 +Hločenje 73 +Hvalačena 73 +Swinburne K 73 +Hvala rej 72 +Hvalaček 72 +Hrvodne 72 +Hvala da se 72 +Hvala šli 72 +Hvala zir 72 +Horeizontali 72 +Hrvatske 72 +Odij 72 +Hvala, pa 71 +Hleda se 71 +Hrvatska 71 +Hruzkega 71 +to 70 +Politične 70 +Čini 70 +Houshling 70 +Hvala za besedo 69 +Hvala leo 69 +Klajš 69 +Za 68 +Hvala to, da 68 +Hvala tis 68 +Kretič 68 +Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hval 67 +In 67 +Hlasujemo 67 +Hrspanje 65 +Čloniranje 65 +Čut 65 +Čeho 65 +Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hval 64 +Hvala nekaj 64 +Odporo 64 +Ďakujem 63 +Hvala díti 63 +Hvala na svet 63 +Hvala vam njen 63 +Zdravljenje 63 +Hvala šeba 63 +Hvala predsednik 62 +Hvala na minuto 62 +Hvala je prej 62 +Hvala šultes 62 +Hvala ni zami 62 +Zdravljali 62 +Hvala josti 62 +Hvala rejba 62 +Črnagora 62 +Hrvimam 62 +Uplastmi 62 +Hrvatskene 62 +Opozvalcev 62 +Hrát povem 62 +Zdravljene 62 +Hvala mjeno 62 +Ljubo pri tem 62 +Hocene 62 +Hrčevalce 62 +Corbett 62 +Hvala na pako 62 +Hrvodkih 62 +Hvala komisija 62 +Hvala za inak 62 +Hvala, ne 61 +Článec 61 +Hrvatskih 61 +Hvala za vse 61 +Hvala 3 minuta 61 +Hujbnerjevo 61 +Hvala na rá 60 +Hvala Pils 60 +Tampide 60 +Zdravstveni 60 +Hvala, tak 59 +Čas 58 +Hrčije 57 +Hvali žena 57 +Hrvitič 57 +Hvala za 2016 56 +Hvala še pripravljeni 56 +Hvala še sam 56 +Hvala po dne 56 +Hvala na svej 55 +Aristej 55 +Hvala, sr 55 +Hrvatske Unije 55 +Oznacjavanie 55 +Hvala s priemi 55 +Hrvam ve energie 55 +On 55 +Hvala na svoje 54 +Učinkovitosti 54 +Hvala na vrst 54 +Hvala prijatelj 54 +Hvala predsednika 54 +Hvala še bi 54 +Hvalačevalcu 54 +Hvala za mnogo 54 +Hrvatska Unija 54 +Hrvatske unie 54 +Hvaljujem 54 +Hval 53 +– 90 53 +Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hvala Hval 53 +Hvala na svojih prijatelji 53 +Hrizijski politikami 53 +Hvala za svet 53 +Hvala šičo 53 +Hvala ljima 53 +Hrvatskovič 53 +Hvala le ne 53 +Čána 53 +Hvala vrni 52 +Hvalačevalje 52 +Čelene 52 +Hrčka 52 +Hrspod Florens 51 +Hvala na slob 51 +Hvala predsednice 51 +Hrčevala se 51 +Hvala način 51 +Hrmatikakis 51 diff --git a/dataset_configs/multilingual/granary/partials/common_phrases/sv.txt b/dataset_configs/multilingual/granary/partials/common_phrases/sv.txt new file mode 100644 index 00000000..96166957 --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/common_phrases/sv.txt @@ -0,0 +1,184 @@ +Tack till elever och personer som hjälpte med videon 103409 +nu 56532 +Textning 56034 +Tack till elever och personal vid Säkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssä 41530 +Tack så mycket 23877 +Tack 11914 +Ja 11835 +Vi 3767 +Nej 2753 +Okej 1938 +En 1427 +Tack till elever och personal vid Säkerhetssäkerheten 1183 +Inte 963 +Tack till elever och personal vid Säkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhet 960 +btistudios 914 +Hej 894 +Nej röster 870 +Tack till elever och personal vid Säkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetsäkerhetsäkerhetsäkerhetsäkerhetsä 689 +Om 659 +com www 555 +Men 541 +videon 534 +Det är inte det 532 +till elever och personer som hjälpte med videon 500 +Hej då 482 +med videon 477 +Tack till elever och personal vid Säkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhet 475 +Nu 455 +och personer som hjälpte med videon 448 +Tack till elever och personal vid Säkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhet 440 +Att 433 +Själv 433 +Text 430 +hjälpte med videon 427 +Nej röstar 412 +som hjälpte med videon 398 +Tack till elever och personer som hjälpte mig 386 +elever och personer som hjälpte med videon 367 +Självklart 356 +personer som hjälpte med videon 351 +Varsågod 333 +Nej, röster 330 +Tack till elever och personal vid Säkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhet 318 +Tack till elever och personal vid Säkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhet 316 +Tack till elever och personal vid Säkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetsäkerhetssäkerhetsäkerhetsäkerhetsäkerhetsäkerhetsäkerhetsäkerhetsäkerhetsäkerhetsä 313 +Tack till elever och personal vid Säkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhet 272 +Amen 272 +Tack till elever och personal vid Säkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhet 261 +Vad är det 248 +Tack till elever och personal vid Säkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhet 245 +com 236 +Ett 233 +Fyra 231 +Hur 228 +att 227 +Herr 224 +Till 222 +Textning Stina Hedin www 218 +Hall 217 +Nej, röstar 204 +Svart 204 +Antaget 198 +Det är bra 198 +Tack till elever och personal vid Säkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhet 185 +Välkomna 185 +Så 174 +Och 165 +Antas 156 +Tack till elever och personer som hjälpte oss med videon 152 +Stora 150 +Lags 148 +En moment 148 +Attra 148 +Skandal 148 +Pré 148 +Vi sa 147 +Sats 146 +för 145 +Jag röstar 145 +Kanet 145 +så mycket 144 +Nej, jag röstar 144 +En person 144 +Vi har 143 +Vi är 140 +Stort 138 +Följ oss 132 +mycket 124 +Applåder 123 +till elever och personal vid Säkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssä 122 +det 120 +Tack till elever 118 +Exempel 117 +Hej, hej 115 +Före 113 +com – Textning Stina Hedin www 113 +Alla ett 111 +Gått 111 +Dettajer 111 +SIFTA 111 +Spanier 111 +Jäf 111 +En minutt 110 +Nyanser 110 +Det är inte så bra 103 +Rösta 102 +Nej-röster 102 +Vörr 101 +Två 100 +En annan 100 +Nej, rösta 94 +Tack till elever och personer som hjälpte med 93 +Tack för att du har lyssnat 92 +röster 91 +Delegationen 89 +Själp 89 +Tränsla 89 +Elmån 89 +Låt mig se 89 +Excellenst 89 +Sjåg 89 +Spärgis 88 +Radikalisering 88 +Sjärnor 87 +Exporterna 87 +som 86 +Hur är det 84 +Det stämmer 81 +ÖB 80 +Kompromiss C 80 +Bibliothek 80 +Nej rastar 80 +Vi kan vi 78 +ÖPAPT 77 +Det är inte det här 76 +En lösning 76 +Detta bevis 76 +Hon är nöjd 74 +Texten är 74 +Fyrtysv 74 +Hygienpaket 73 +Låt oss jobba 73 +Det är en bra 73 +Faktiserade vi 73 +Vi har stått 72 +Självna 72 +Tack till elever och personal vid Säkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhet 71 +Alla rätt 71 +Det är så mycket 71 +Vad händer 70 +00 klockan 12 70 +Det är styrt 70 +Sättet 69 +Tack till elever och personal vid Säkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhet 68 +Röstning 68 +Enis 68 +Försättning 67 +IK 67 +här 63 +Det är en roll 62 +Vi är tre 61 +Tack till elever och personal vid Säkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhetssäkerhet 60 +IKT 60 +Det är en annan 59 +Nej restar 59 +En anslutad 58 +Detta är det 58 +Stördjä 58 +Att det finns 58 +Förutningen 57 +En fråga 57 +Välkommen till oss 56 +Det är en lösning 56 +Nej, det är inte det 55 +om 54 +Nejröster 54 +selementet 54 +är 53 +Nej rösta 53 +Det är en fjärd 53 +Föderam 52 +Tack till elever och personer som hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med hjälpte med 51 +Nedlagda 51 +Pifal 51 diff --git a/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/bg.yaml b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/bg.yaml new file mode 100644 index 00000000..d396a1be --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/bg.yaml @@ -0,0 +1,26 @@ +system: | + Описание: + Имате транскрипция, която може да съдържа пунктуация и главни букви, може да не ги съдържа или да съдържа грешна пунктуация. Задачата е да коригирате текста, като възстановите пунктуацията и главните букви. + + Правила: + - Не променяйте, добавяйте или премахвайте думи от текста. Всички промени трябва да бъдат ограничени до пунктуация и главни букви. + - Възстановете правилната пунктуация, като използвате само точки, запетаи, въпросителни знаци, удивителни знаци, точка и запетая, двоеточия и тирета. Всички останали символи (включително емоджита) трябва да бъдат премахнати или заменени с допустими пунктуационни знаци. + - Ако текстът вече съдържа достатъчна пунктуация, оставете го непроменен. + - Коригирайте неправилната или липсваща пунктуация. + - Главните букви трябва да бъдат възстановени за началото на изреченията и собствените имена. + + Примери: + - input: "днес е хубав ден слънцето грее 😊 но е много горещо!!!" + output: "Днес е хубав ден. Слънцето грее, но е много горещо." + + - input: "къде си бил вчера защо не ми се обади 📞" + output: "Къде си бил вчера? Защо не ми се обади?" + + - input: "утре имаме среща в 10 сутринта не закъснявай 😅" + output: "Утре имаме среща в 10 сутринта. Не закъснявай." + + - input: "харесва ми този филм беше много интересен 🍿" + output: "Харесва ми този филм. Беше много интересен." + +user: | + Input transcript: {text} diff --git a/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/cs.yaml b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/cs.yaml new file mode 100644 index 00000000..008be04d --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/cs.yaml @@ -0,0 +1,26 @@ +system: | + Popis: + Máte přepis, který může obsahovat interpunkci a velká písmena, nemusí je obsahovat, nebo obsahuje nesprávnou interpunkci. Úkolem je opravit text obnovením interpunkce a velkých písmen. + + Pravidla: + - Neměňte, nepřidávejte ani neodstraňujte žádná slova z textu. Veškeré úpravy by se měly týkat pouze interpunkce a velkých písmen. + - Obnovte správnou interpunkci pouze s použitím teček, čárek, otazníků, vykřičníků, středníků, dvojteček a pomlček. Všechny ostatní symboly (včetně emoji) musí být odstraněny nebo nahrazeny povolenou interpunkcí. + - Pokud text již obsahuje dostatečnou interpunkci, nechte jej beze změn. + - Opravte nesprávnou nebo chybějící interpunkci. + - Velká písmena používejte na začátku vět a pro vlastní jména. + + Příklady: + - input: "ahoj jak se dnes máš 😊 rád tě vidím!!!" + output: "Ahoj, jak se dnes máš? Rád tě vidím." + + - input: "zítra máme schůzku v 10 hodin ráno nezapomeň 😅" + output: "Zítra máme schůzku v 10 hodin ráno. Nezapomeň." + + - input: "miluji tento film byl tak zajímavý 🎥" + output: "Miluji tento film. Byl tak zajímavý." + + - input: "kde jsi byl včera proč jsi mi nezavolal 📞" + output: "Kde jsi byl včera? Proč jsi mi nezavolal?" + +user: | + Input transcript: {text} diff --git a/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/da.yaml b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/da.yaml new file mode 100644 index 00000000..6008402c --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/da.yaml @@ -0,0 +1,26 @@ +system: | + Beskrivelse: + Du har en transskription, der kan indeholde tegnsætning og store bogstaver, måske ikke indeholder dem, eller indeholder forkert tegnsætning. Opgaven er at rette teksten ved at genoprette tegnsætning og store bogstaver. + + Regler: + - Ændr ikke, tilføj ikke eller fjern nogen ord i teksten. Alle ændringer skal begrænses til tegnsætning og store bogstaver. + - Genopret korrekt tegnsætning ved kun at bruge punktummer, kommaer, spørgsmålstegn, udråbstegn, semikolon, kolon og bindestreger. Alle andre symboler (inklusive emojis) skal fjernes eller erstattes med tilladte tegnsætningstegn. + - Hvis teksten allerede indeholder tilstrækkelig tegnsætning, lad den være uændret. + - Ret forkert eller manglende tegnsætning. + - Brug store bogstaver i begyndelsen af sætninger og for egennavne. + + Eksempler: + - input: "hej hvordan har du det i dag 😊 det er dejligt at se dig!!!" + output: "Hej, hvordan har du det i dag? Det er dejligt at se dig." + + - input: "vi har en aftale i morgen klokken 10 glem det ikke 😅" + output: "Vi har en aftale i morgen klokken 10. Glem det ikke." + + - input: "denne film var fantastisk jeg elskede den 🎥" + output: "Denne film var fantastisk. Jeg elskede den." + + - input: "hvorfor ringede du ikke til mig i går 📞" + output: "Hvorfor ringede du ikke til mig i går?" + +user: | + Input transcript: {text} diff --git a/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/de.yaml b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/de.yaml new file mode 100644 index 00000000..7c81afe2 --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/de.yaml @@ -0,0 +1,29 @@ +system: | + Beschreibung: + Sie haben eine Transkription, die möglicherweise Zeichensetzung und Großschreibung enthält, nicht enthält oder fehlerhafte Zeichensetzung aufweist. Die Aufgabe besteht darin, den Text zu korrigieren, indem Zeichensetzung und Großschreibung wiederhergestellt werden. + + Regeln: + - Ändern, hinzufügen oder entfernen Sie keine Wörter im Text. Alle Änderungen müssen sich auf Zeichensetzung und Großschreibung beschränken. + - Stellen Sie die Zeichensetzung nur mit Punkten, Kommas, Fragezeichen, Ausrufezeichen, Strichpunkten, Doppelpunkten und Bindestrichen wieder her. Entfernen oder ersetzen Sie andere Symbole (einschließlich Emojis) durch zulässige Satzzeichen. + - Wenn der Text bereits ausreichend Satzzeichen enthält, lassen Sie ihn unverändert. + - Korrigieren Sie unvollständige oder fehlerhafte Zeichensetzung. + - Die Zeichensetzung muss zum Kontext passen: Verwenden Sie ein Fragezeichen für Fragen und ein Ausrufezeichen für starke Emotionen. + - Schreiben Sie den ersten Buchstaben jedes Satzes groß. + - Schreiben Sie Eigennamen und Abkürzungen groß. + - Wenn der Text mitten in einem Satz beginnt, schreiben Sie das erste Wort nicht groß und fügen Sie keinen Punkt am Ende hinzu. + + Beispiele: + - input: "hallo wie geht es dir heute 😊 ich freue mich dich zu sehen!!!" + output: "Hallo, wie geht es dir heute? Ich freue mich, dich zu sehen." + + - input: "mein telefonnummer ist 1234567890 bitte rufen sie mich an 📞" + output: "Meine Telefonnummer ist 1234567890. Bitte rufen Sie mich an." + + - input: "gestern gingen wir spazieren kauften kaffee und lasen ein buch 📚 es war wunderbar" + output: "Gestern gingen wir spazieren, kauften Kaffee und lasen ein Buch. Es war wunderbar." + + - input: "bist du bereit für das meeting morgen es wird herausfordernd 😅" + output: "Bist du bereit für das Meeting morgen? Es wird herausfordernd." + +user: | + Input transcript: {text} diff --git a/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/el.yaml b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/el.yaml new file mode 100644 index 00000000..875d7ffd --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/el.yaml @@ -0,0 +1,26 @@ +system: | + Περιγραφή: + Έχετε μια απομαγνητοφώνηση που μπορεί να περιέχει σημεία στίξης και κεφαλαία γράμματα, μπορεί να μην τα περιέχει ή να περιέχει λανθασμένα σημεία στίξης. Η αποστολή είναι να διορθώσετε το κείμενο επαναφέροντας τα σημεία στίξης και τα κεφαλαία γράμματα. + + Κανόνες: + - Μην αλλάζετε, προσθέτετε ή αφαιρείτε λέξεις από το κείμενο. Όλες οι αλλαγές πρέπει να περιορίζονται στα σημεία στίξης και στα κεφαλαία γράμματα. + - Επαναφέρετε τα σωστά σημεία στίξης χρησιμοποιώντας μόνο τελείες, κόμματα, ερωτηματικά, θαυμαστικά, άνω τελείες, άνω-κάτω τελείες και παύλες. Όλοι οι άλλοι χαρακτήρες (συμπεριλαμβανομένων των emojis) πρέπει να αφαιρεθούν ή να αντικατασταθούν με επιτρεπτά σημεία στίξης. + - Εάν το κείμενο περιέχει ήδη επαρκή σημεία στίξης, αφήστε το όπως είναι. + - Διορθώστε τα λανθασμένα ή ελλιπή σημεία στίξης. + - Χρησιμοποιήστε κεφαλαία γράμματα στην αρχή κάθε πρότασης και για κύρια ονόματα. + + Παραδείγματα: + - input: "τι όμορφη μέρα σήμερα ο ήλιος λάμπει 😊 αλλά κάνει τόσο κρύο έξω" + output: "Τι όμορφη μέρα σήμερα! Ο ήλιος λάμπει, αλλά κάνει τόσο κρύο έξω." + + - input: "γιατί δεν με πήρες χθες 📞" + output: "Γιατί δεν με πήρες χθες;" + + - input: "αύριο έχουμε συνάντηση φέρε μαζί σου τα έγγραφα" + output: "Αύριο έχουμε συνάντηση. Φέρε μαζί σου τα έγγραφα." + + - input: "πρόσεχε ένα αυτοκίνητο πλησιάζει" + output: "Πρόσεχε! Ένα αυτοκίνητο πλησιάζει." + +user: | + Input transcript: {text} diff --git a/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/en.yaml b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/en.yaml new file mode 100644 index 00000000..9789b1a1 --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/en.yaml @@ -0,0 +1,47 @@ +system: | + Description: + You have a transcript that may contain punctuation and capitalization, may not contain them, or may contain incorrect punctuation. The task is to bring the text to the correct form by restoring punctuation and capitalization, ensuring the following rules: + + + Rules: + - Do not change, add, or remove any words in the text. All modifications should be limited to punctuation and capitalization. + - Restore the correct punctuation using only periods, commas, question marks, exclamation marks, semicolons, colons, and dashes. All other symbols (including quotes, parentheses, emojis, etc.) must be removed or replaced with allowed punctuation marks. + - If the text already contains sufficient punctuation (periods, commas, question marks, exclamation marks, semicolons, colons, and dashes), it should remain unchanged. + - If punctuation is incomplete, incorrect, or contains invalid symbols (e.g., ellipses, or other unnecessary symbols), it should be corrected to the proper form using only allowed punctuation. + - Punctuation must match the context: if the sentence is a question, use a question mark at the end. If the sentence expresses excitement or strong emotion, use an exclamation mark. Use periods, commas, semicolons, or colons as needed to separate parts of the sentence. + - All alphanumeric characters (including digits, e.g., 3:30pm) should remain unchanged. + - Capitalize the first letter of each sentence. + - Capitalize proper nouns and abbreviations. + - If the text starts in the middle of a sentence or ends in the middle of a word, do not capitalize the first letter or add a period at the end. + - If punctuation is missing or incorrect, replace invalid symbols with valid punctuation (period, comma, question mark, exclamation mark, semicolon, colon, or dash) without changing the meaning of the text. + + Examples: + - input: "I have 3 pets: a dog, a cat, and a rabbit! ?~_~P??~_~P??~_~P?" + output: "I have 3 pets: a dog, a cat, and a rabbit!" + + - input: "My phone number is 123-456-7890. Call me when you get a chance! ?~_~S~^" + output: "My phone number is 123-456-7890. Call me when you get a chance!" + + - input: "I can't believe this...!!! This is so exciting!!!" + output: "I can't believe this! This is so exciting!" + + - input: "this is a great idea but we need more details"" + output: "This is a great idea, but we need more details." + + - input: "We had a great time ?~@~T everything went smoothly!" + output: "We had a great time ?~@~T everything went smoothly!" + + - input: "hello how are you today :-) I hope you're doing well :)" + output: "Hello, how are you today? I hope you're doing well." + + - input: "the report was almost done, but" + output: "The report was almost done, but" + + - input: "Are you coming to the party: it starts at 8pm" + output: "Are you coming to the party? It starts at 8pm." + + - input: "i need to buy groceries however I don't have much time." + output: "I need to buy groceries; however, I don't have much time." + +user: | + Input transcript: {text} diff --git a/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/es.yaml b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/es.yaml new file mode 100644 index 00000000..67d493c5 --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/es.yaml @@ -0,0 +1,28 @@ +system: | + Descripción: + Tienes una transcripción que puede contener puntuación y capitalización, puede no contenerlas, o puede contener puntuación incorrecta. La tarea es corregir el texto restaurando la puntuación y la capitalización. + + Reglas: + - No cambies, añadas ni elimines palabras del texto. Todas las modificaciones deben limitarse a la puntuación y la capitalización. + - Restaura la puntuación usando solo puntos, comas, signos de interrogación, signos de exclamación, puntos y comas, dos puntos y guiones. Elimina o reemplaza cualquier otro símbolo (incluyendo emojis) con puntuación permitida. + - Si el texto ya contiene puntuación suficiente, déjalo sin cambios. + - Corrige la puntuación si es incorrecta o contiene símbolos no válidos. + - La puntuación debe coincidir con el contexto: usa un signo de interrogación para preguntas y un signo de exclamación para expresar emociones. + - Usa mayúsculas en la primera letra de cada oración y para nombres propios o abreviaciones. + - Si el texto empieza en medio de una frase, no pongas mayúsculas al inicio ni punto al final. + + Ejemplos: + - input: "hola como estas hoy 😊 espero que estés bien!!!" + output: "Hola, ¿cómo estás hoy? Espero que estés bien." + + - input: "mi numero de telefono es 1234567890 por favor llámame 📞" + output: "Mi número de teléfono es 1234567890. Por favor, llámame." + + - input: "ayer fuimos al parque compramos helado y jugamos futbol ⚽ fue un gran día" + output: "Ayer fuimos al parque, compramos helado y jugamos fútbol. Fue un gran día." + + - input: "estás listo para el examen mañana creo que será difícil 😅" + output: "¿Estás listo para el examen mañana? Creo que será difícil." + +user: | + Input transcript: {text} diff --git a/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/et.yaml b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/et.yaml new file mode 100644 index 00000000..f4489a14 --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/et.yaml @@ -0,0 +1,27 @@ +system: | + Kirjeldus: + Teil on transkriptsioon, mis võib sisaldada kirjavahemärke ja suuri tähti, ei pruugi neid sisaldada või sisaldab valesid kirjavahemärke. Ülesanne on tekst parandada, taastades kirjavahemärgid ja suurtähed. + + Reeglid: + - Ärge muutke, lisage ega eemaldage teksti sõnu. Kõik muudatused peavad piirduma kirjavahemärkide ja suurtähtedega. + - Taastage õiged kirjavahemärgid, kasutades ainult punkte, komasid, küsimärke, hüüumärke, semikooloneid, kooloneid ja kriipse. Kõik muud sümbolid (sh emotikonid) tuleb eemaldada või asendada lubatud kirjavahemärkidega. + - Kui tekst sisaldab juba piisavalt kirjavahemärke, jätke see muutmata. + - Parandage valed või puuduvad kirjavahemärgid. + - Kasutage hüüumärke, kui lause väljendab tugevaid emotsioone või kiiret tegevust. + - Kasutage suurte tähtedega iga lause algust ja nimesid. + + Näited: + - input: "tere kuidas sul täna läheb ma olen nii õnnelik" + output: "Tere, kuidas sul täna läheb? Ma olen nii õnnelik!" + + - input: "me kohtume homme kell 10 ärge hilinege" + output: "Me kohtume homme kell 10. Ärge hilinege!" + + - input: "eile käisime kinos ja see oli nii lõbus" + output: "Eile käisime kinos ja see oli nii lõbus!" + + - input: "vaata ette auto tuleb" + output: "Vaata ette! Auto tuleb!" + +user: | + Input transcript: {text} diff --git a/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/fi.yaml b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/fi.yaml new file mode 100644 index 00000000..54e5099d --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/fi.yaml @@ -0,0 +1,27 @@ +system: | + Kuvaus: + Sinulla on transkriptio, joka voi sisältää välimerkkejä ja isoja kirjaimia, ei välttämättä sisällä niitä tai sisältää virheellisiä välimerkkejä. Tehtävä on korjata teksti palauttamalla välimerkit ja isot kirjaimet. + + Säännöt: + - Älä muuta, lisää tai poista sanoja tekstistä. Kaikki muutokset tulee rajoittaa välimerkkeihin ja isoihin kirjaimiin. + - Palauta oikeat välimerkit käyttämällä vain pisteitä, pilkkuja, kysymysmerkkejä, huutomerkkejä, puolipisteitä, kaksoispisteitä ja tavuviivoja. Kaikki muut symbolit (mukaan lukien emojit) on poistettava tai korvattava sallitulla välimerkillä. + - Jos tekstissä on jo riittävästi välimerkkejä, jätä se muuttamatta. + - Korjaa virheelliset tai puuttuvat välimerkit. + - Käytä huutomerkkejä ilmaisemaan vahvoja tunteita tai kiireellisiä tilanteita. + - Käytä isoja kirjaimia lauseiden alussa ja erisnimissä. + + Esimerkit: + - input: "mikä kaunis päivä tänään on mutta ulkona on niin kylmä" + output: "Mikä kaunis päivä tänään on! Mutta ulkona on niin kylmä." + + - input: "tule huomenna aikaisin meidän täytyy lähteä kello 7" + output: "Tule huomenna aikaisin! Meidän täytyy lähteä kello 7." + + - input: "eilen meillä oli paljon hauskaa ystävien kanssa" + output: "Eilen meillä oli paljon hauskaa ystävien kanssa." + + - input: "varo auto tulee" + output: "Varo! Auto tulee!" + +user: | + Input transcript: {text} diff --git a/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/fr.yaml b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/fr.yaml new file mode 100644 index 00000000..44a9c409 --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/fr.yaml @@ -0,0 +1,43 @@ +system: | + Description: + Vous avez une transcription qui peut contenir une ponctuation et une capitalisation, ne pas en contenir, ou contenir une ponctuation incorrecte. La tâche consiste à remettre le texte en forme correcte en restaurant la ponctuation et la capitalisation. + + Règles: + - Ne changez pas, n'ajoutez pas et ne supprimez aucun mot du texte. Toutes les modifications doivent se limiter à la ponctuation et à la capitalisation. + - Restaurez la ponctuation correcte en utilisant uniquement des points, des virgules, des points d'interrogation, des points d'exclamation, des points-virgules, des deux-points et des tirets. Tous les autres symboles (y compris les guillemets, parenthèses, émojis, etc.) doivent être supprimés ou remplacés par des signes de ponctuation autorisés. + - Si le texte contient déjà une ponctuation suffisante (points, virgules, points d'interrogation, points d'exclamation, points-virgules, deux-points et tirets), il doit rester inchangé. + - Si la ponctuation est incomplète, incorrecte ou contient des symboles invalides (par exemple, des ellipses ou d'autres symboles inutiles), elle doit être corrigée sous la forme correcte en utilisant uniquement les signes de ponctuation autorisés. + - La ponctuation doit correspondre au contexte: si la phrase est une question, utilisez un point d'interrogation à la fin. Si la phrase exprime de l'excitation ou une émotion forte, utilisez un point d'exclamation. Utilisez des points, des virgules, des points-virgules ou des deux-points au besoin pour séparer les parties de la phrase. + - Tous les caractères alphanumériques (y compris les chiffres, par ex. 3:30pm) doivent rester inchangés. + - Mettez en majuscule la première lettre de chaque phrase. + - Mettez en majuscule les noms propres et les abréviations. + - Si le texte commence au milieu d'une phrase ou se termine au milieu d'un mot, ne mettez pas la première lettre en majuscule et n'ajoutez pas de point à la fin. + - Si la ponctuation est absente ou incorrecte, remplacez les symboles invalides par une ponctuation valide (point, virgule, point d'interrogation, point d'exclamation, point-virgule, deux-points ou tiret) sans changer le sens du texte. + + Exemples: + - input: "la capitale de la france est paris 🗼 elle est connue pour la tour eiffel!!!" + output: "La capitale de la France est Paris. Elle est connue pour la tour Eiffel!" + + - input: "bonjour comment allez vous aujourd'hui 😊 je suis content de vous voir" + output: "Bonjour, comment allez-vous aujourd'hui? Je suis content de vous voir." + + - input: "nous avons acheté 5 pommes, 3 oranges, et 2 bananes...! 🍎🍌" + output: "Nous avons acheté 5 pommes, 3 oranges et 2 bananes." + + - input: "le soleil brille aujourd'hui mais il fait un peu froid dehors ❄️" + output: "Le soleil brille aujourd'hui, mais il fait un peu froid dehors." + + - input: "je dois appeler mon ami paul 😅 mais je n'ai pas son numéro" + output: "Je dois appeler mon ami Paul, mais je n'ai pas son numéro." + + - input: "il est 3:30pm maintenant, on se retrouve a 4pm?" + output: "Il est 3:30pm maintenant. On se retrouve à 4pm?" + + - input: "je ne comprends pas ce que tu veux dire...!! 🤔 peux tu expliquer encore?" + output: "Je ne comprends pas ce que tu veux dire! Peux-tu expliquer encore?" + + - input: "la date d'aujourd'hui est le 1er janvier 2023 🎉 bonne année à tous!" + output: "La date d'aujourd'hui est le 1er janvier 2023. Bonne année à tous!" + +user: | + Input transcript: {text} diff --git a/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/hr.yaml b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/hr.yaml new file mode 100644 index 00000000..e81f185b --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/hr.yaml @@ -0,0 +1,26 @@ +system: | + Opis: + Imate transkripciju koja može sadržavati interpunkciju i velika slova, možda ih ne sadrži ili sadrži pogrešnu interpunkciju. Zadatak je ispraviti tekst vraćanjem ispravne interpunkcije i velikih slova. + + Pravila: + - Nemojte mijenjati, dodavati ili uklanjati riječi iz teksta. Sve izmjene trebaju biti ograničene na interpunkciju i velika slova. + - Vratite ispravnu interpunkciju koristeći samo točke, zareze, upitnike, uskličnike, točke sa zarezom, dvotočke i crtice. Svi ostali simboli (uključujući emojije) moraju biti uklonjeni ili zamijenjeni dopuštenim interpunkcijskim znakovima. + - Ako tekst već ima dovoljno interpunkcije, ostavite ga nepromijenjenim. + - Ispravite pogrešnu ili nedostajuću interpunkciju. + - Koristite velika slova na početku svake rečenice i za vlastita imena. + + Primjeri: + - input: "kakav divan dan danas sunce sja 😊 ali vani je tako hladno" + output: "Kakav divan dan danas! Sunce sja, ali vani je tako hladno." + + - input: "zašto mi nisi jučer nazvao 📞" + output: "Zašto mi nisi jučer nazvao?" + + - input: "sutra imamo sastanak ne zaboravi dokumente" + output: "Sutra imamo sastanak. Ne zaboravi dokumente." + + - input: "pazi auto dolazi" + output: "Pazi! Auto dolazi." + +user: | + Input transcript: {text} diff --git a/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/hu.yaml b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/hu.yaml new file mode 100644 index 00000000..ce59b5b2 --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/hu.yaml @@ -0,0 +1,26 @@ +system: | + Leírás: + Van egy átirat, amely tartalmazhat írásjeleket és nagybetűket, lehet, hogy nem tartalmazza őket, vagy hibás írásjeleket tartalmaz. A feladat az, hogy helyreállítsa a helyesírást és az írásjeleket. + + Szabályok: + - Ne változtasson, ne adjon hozzá és ne töröljön szavakat a szövegben. Az összes változtatásnak az írásjelekre és a nagybetűkre kell korlátozódnia. + - Állítsa vissza a helyes írásjeleket, használva csak pontot, vesszőt, kérdőjelet, felkiáltójelet, pontosvesszőt, kettőspontot és kötőjelet. Az összes többi szimbólumot (beleértve az emojikat) törölni kell, vagy helyettesíteni engedélyezett írásjelekkel. + - Ha a szöveg már elegendő írásjeleket tartalmaz, hagyja változatlanul. + - Javítsa a hibás vagy hiányzó írásjeleket. + - Használjon nagybetűt minden mondat elején és tulajdonneveknél. + + Példák: + - input: "milyen szép nap van ma a nap ragyog de kint olyan hideg van" + output: "Milyen szép nap van ma! A nap ragyog, de kint olyan hideg van." + + - input: "miért nem hívtál tegnap 📞" + output: "Miért nem hívtál tegnap?" + + - input: "tegnap elmentünk a parkba és nagyon jól éreztük magunkat" + output: "Tegnap elmentünk a parkba, és nagyon jól éreztük magunkat." + + - input: "vigyázz jön egy autó" + output: "Vigyázz! Jön egy autó!" + +user: | + Input transcript: {text} diff --git a/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/it.yaml b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/it.yaml new file mode 100644 index 00000000..8a4592ca --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/it.yaml @@ -0,0 +1,27 @@ +system: | + Descrizione: + Hai una trascrizione che potrebbe contenere punteggiatura e lettere maiuscole, potrebbe non contenerle o potrebbe avere una punteggiatura errata. Il compito è correggere il testo ripristinando la punteggiatura e le lettere maiuscole. + + Regole: + - Non modificare, aggiungere o rimuovere parole dal testo. Tutte le modifiche devono essere limitate alla punteggiatura e alle maiuscole. + - Ripristina la punteggiatura corretta utilizzando solo punti, virgole, punti interrogativi, punti esclamativi, punti e virgola, due punti e trattini. Tutti gli altri simboli (inclusi emoji) devono essere rimossi o sostituiti con segni di punteggiatura consentiti. + - Se il testo contiene già una punteggiatura sufficiente, lascialo invariato. + - Correggi la punteggiatura errata o mancante. + - Usa punti esclamativi per esprimere forti emozioni o urgenza. + - Usa lettere maiuscole all'inizio di ogni frase e per nomi propri. + + Esempi: + - input: "che bel giorno oggi il sole splende 😊 ma fuori fa così freddo" + output: "Che bel giorno oggi! Il sole splende, ma fuori fa così freddo." + + - input: "arriva presto domani dobbiamo partire alle 7 😅" + output: "Arriva presto domani! Dobbiamo partire alle 7." + + - input: "ieri siamo andati al parco e ci siamo divertiti molto" + output: "Ieri siamo andati al parco e ci siamo divertiti molto." + + - input: "attento c'è una macchina" + output: "Attento! C'è una macchina!" + +user: | + Input transcript: {text} diff --git a/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/lt.yaml b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/lt.yaml new file mode 100644 index 00000000..6e0eb355 --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/lt.yaml @@ -0,0 +1,27 @@ +system: | + Aprašymas: + Jūs turite transkripciją, kurioje gali būti skyrybos ženklų ir didžiųjų raidžių, jų gali nebūti arba jie gali būti neteisingi. Užduotis yra ištaisyti tekstą, atkuriant skyrybos ženklus ir didžiąsias raides. + + Taisyklės: + - Nekeiskite, nepridėkite ir neištrinkite žodžių iš teksto. Visos pataisos turi būti apribotos skyrybos ženklais ir didžiosiomis raidėmis. + - Atkurkite tinkamus skyrybos ženklus, naudodami tik taškus, kablelius, klaustukus, šauktukus, kabliataškius, dvitaškius ir brūkšnius. Visi kiti simboliai (įskaitant jaustukus) turi būti pašalinti arba pakeisti leidžiamais skyrybos ženklais. + - Jei tekstas jau turi pakankamai skyrybos ženklų, palikite jį nepakeistą. + - Ištaisykite neteisingus arba trūkstamus skyrybos ženklus. + - Naudokite šauktukus, kad išreikštumėte stiprias emocijas ar skubumą. + - Naudokite didžiąsias raides kiekvieno sakinio pradžioje ir tikriniams vardams. + + Pavyzdžiai: + - input: "kokia nuostabi diena šiandien saulė šviečia 😊 bet lauke taip šalta" + output: "Kokia nuostabi diena šiandien! Saulė šviečia, bet lauke taip šalta." + + - input: "rytoj turime išvykti anksti nepramiegok 😅" + output: "Rytoj turime išvykti anksti! Nepramiegok." + + - input: "vakar ėjome į parką ir buvo labai smagu" + output: "Vakar ėjome į parką ir buvo labai smagu." + + - input: "žiūrėk automobilis atvažiuoja" + output: "Žiūrėk! Automobilis atvažiuoja!" + +user: | + Input transcript: {text} diff --git a/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/lv.yaml b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/lv.yaml new file mode 100644 index 00000000..1c0516cd --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/lv.yaml @@ -0,0 +1,27 @@ +system: | + Apraksts: + Jums ir transkripcija, kurā var būt pieturzīmes un lielie burti, kurā var nebūt vai kurā var būt nepareizas pieturzīmes. Uzdevums ir labot tekstu, atjaunojot pieturzīmes un lielos burtus. + + Noteikumi: + - Nemainiet, nepievienojiet un neizdzēsiet nevienu vārdu tekstā. Visas izmaiņas jāierobežo ar pieturzīmēm un lielajiem burtiem. + - Atjaunojiet pareizās pieturzīmes, izmantojot tikai punktus, komatus, jautājumzīmes, izsaukuma zīmes, semikolus, kolus un domuzīmes. Visi citi simboli (ieskaitot emocijzīmes) ir jāizdzēš vai jānomaina ar pieļaujamām pieturzīmēm. + - Ja tekstā jau ir pietiekami daudz pieturzīmju, atstājiet to nemainītu. + - Izlabojiet nepareizas vai trūkstošas pieturzīmes. + - Lietojiet izsaukuma zīmes, lai izteiktu spēcīgas emocijas vai steidzamību. + - Izmantojiet lielos burtus katras teikuma sākumā un īpašvārdiem. + + Piemēri: + - input: "cik jauka diena šodien saule spīd 😊 bet ārā ir tik auksti" + output: "Cik jauka diena šodien! Saule spīd, bet ārā ir tik auksti." + + - input: "rīt mēs ceļosim agri mums jāiziet 7 no rīta 😅" + output: "Rīt mēs ceļosim agri! Mums jāiziet 7 no rīta." + + - input: "vakar mēs devāmies uz parku un pavadījām brīnišķīgu dienu" + output: "Vakar mēs devāmies uz parku un pavadījām brīnišķīgu dienu." + + - input: "uzmanies tuvojas mašīna" + output: "Uzmanies! Tuvojas mašīna!" + +user: | + Input transcript: {text} diff --git a/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/mt.yaml b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/mt.yaml new file mode 100644 index 00000000..f7d95574 --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/mt.yaml @@ -0,0 +1,26 @@ +system: | + Deskrizzjoni: + Għandek traskrizzjoni li tista' tinkludi punteġġjatura u ittri kapitali, tista' ma tinkludihomx, jew għandha punteġġjatura żbaljata. Il-kompitu huwa li tirrestawra l-punteġġjatura u l-ittri kapitali fil-forma korretta. + + Regoli: + - Tibdilx, iżżidx jew tneħħix kliem mit-test. Il-bidliet kollha għandhom ikunu limitati għall-punteġġjatura u l-ittri kapitali. + - Irrestawra punteġġjatura korretta billi tuża biss punti, virgoli, punti mistoqsija, sinjali ta’ eżeklamazzjoni, punti u virgoli, żewġ punti u ċertu simboli permessi. Emojis għandhom jitneħħew jew jinbidlu b’punteġġjatura valida. + - Jekk it-test diġà għandu biżżejjed punteġġjatura, ħallih kif inhu. + - Ikkoreġi punteġġjatura ħażina jew nieqsa. + - Uża ittri kapitali fil-bidu ta' kull sentenza u għal ismijiet proprji. + + Eżempji: + - input: "kemm hu sabiħ il-jum illum ix-xemx qed tiddi 😊 imma barra kiesaħ ħafna" + output: "Kemm hu sabiħ il-jum illum! Ix-xemx qed tiddi, imma barra kiesaħ ħafna." + + - input: "għaliex ma ċempiltx ilbieraħ 📞" + output: "Għaliex ma ċempiltx ilbieraħ?" + + - input: "ilbieraħ morna l-park u kellna ħafna gost" + output: "Ilbieraħ morna l-park, u kellna ħafna gost." + + - input: "oqgħod attent hemm karozza ġejja" + output: "Oqgħod attent! Hemm karozza ġejja." + +user: | + Input transcript: {text} diff --git a/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/nl.yaml b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/nl.yaml new file mode 100644 index 00000000..22069c31 --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/nl.yaml @@ -0,0 +1,27 @@ +system: | + Beschrijving: + Je hebt een transcriptie die interpunctie en hoofdletters kan bevatten, niet kan bevatten, of verkeerde interpunctie kan bevatten. De taak is om de tekst te corrigeren door de interpunctie en hoofdletters te herstellen. + + Regels: + - Verander, voeg niets toe of verwijder geen woorden uit de tekst. Alle wijzigingen moeten beperkt blijven tot interpunctie en hoofdletters. + - Herstel de juiste interpunctie met alleen punten, komma's, vraagtekens, uitroeptekens, puntkomma's, dubbele punten en streepjes. Alle andere symbolen (inclusief emoji's) moeten worden verwijderd of vervangen door toegestane interpunctietekens. + - Als de tekst al voldoende interpunctie bevat, laat deze dan ongewijzigd. + - Corrigeer foutieve of ontbrekende interpunctie. + - Gebruik uitroeptekens om sterke emoties of urgentie te uiten. + - Gebruik hoofdletters aan het begin van elke zin en voor eigennamen. + + Voorbeelden: + - input: "wat een mooie dag vandaag de zon schijnt 😊 maar het is zo koud buiten" + output: "Wat een mooie dag vandaag! De zon schijnt, maar het is zo koud buiten." + + - input: "kom morgen vroeg we moeten om 7 uur vertrekken 😅" + output: "Kom morgen vroeg! We moeten om 7 uur vertrekken." + + - input: "gisteren gingen we naar het park en hadden veel plezier" + output: "Gisteren gingen we naar het park en hadden veel plezier." + + - input: "pas op er komt een auto" + output: "Pas op! Er komt een auto!" + +user: | + Input transcript: {text} diff --git a/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/pl.yaml b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/pl.yaml new file mode 100644 index 00000000..741acc73 --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/pl.yaml @@ -0,0 +1,27 @@ +system: | + Opis: + Masz transkrypcję, która może zawierać interpunkcję i wielkie litery, może ich nie zawierać lub zawierać nieprawidłową interpunkcję. Zadanie polega na poprawieniu tekstu poprzez przywrócenie interpunkcji i wielkich liter. + + Zasady: + - Nie zmieniaj, nie dodawaj ani nie usuwaj żadnych słów w tekście. Wszystkie zmiany powinny ograniczać się do interpunkcji i wielkich liter. + - Przywróć poprawną interpunkcję, używając tylko kropek, przecinków, znaków zapytania, wykrzykników, średników, dwukropków i myślników. Wszystkie inne symbole (w tym emotikony) muszą zostać usunięte lub zastąpione dozwolonymi znakami interpunkcyjnymi. + - Jeśli tekst już zawiera wystarczającą interpunkcję, pozostaw go bez zmian. + - Popraw błędną lub brakującą interpunkcję. + - Używaj wykrzykników, aby wyrazić silne emocje lub pilność. + - Używaj wielkich liter na początku każdego zdania i dla nazw własnych. + + Przykłady: + - input: "jaki piękny dzień dzisiaj słońce świeci 😊 ale na dworze jest tak zimno" + output: "Jaki piękny dzień dzisiaj! Słońce świeci, ale na dworze jest tak zimno." + + - input: "obudzimy się wcześnie jutro musimy wyjść o 7 😅" + output: "Obudzimy się wcześnie jutro! Musimy wyjść o 7." + + - input: "wczoraj byliśmy w parku było tak fajnie" + output: "Wczoraj byliśmy w parku. Było tak fajnie." + + - input: "uważaj samochód nadjeżdża" + output: "Uważaj! Samochód nadjeżdża!" + +user: | + Input transcript: {text} diff --git a/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/pt.yaml b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/pt.yaml new file mode 100644 index 00000000..17f0b80f --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/pt.yaml @@ -0,0 +1,27 @@ +system: | + Descrição: + Você tem uma transcrição que pode conter pontuação e letras maiúsculas, pode não conter ou pode conter pontuação incorreta. A tarefa é corrigir o texto restaurando a pontuação e as letras maiúsculas. + + Regras: + - Não altere, adicione ou remova palavras do texto. Todas as alterações devem se limitar à pontuação e letras maiúsculas. + - Restaure a pontuação correta usando apenas pontos, vírgulas, pontos de interrogação, pontos de exclamação, pontos e vírgulas, dois-pontos e traços. Todos os outros símbolos (incluindo emojis) devem ser removidos ou substituídos por pontuação permitida. + - Se o texto já contiver pontuação suficiente, deixe-o inalterado. + - Corrija pontuações incorretas ou ausentes. + - Use pontos de exclamação para expressar fortes emoções ou urgência. + - Use letras maiúsculas no início de cada frase e para nomes próprios. + + Exemplos: + - input: "que dia lindo hoje o sol está brilhando 😊 mas está tão frio lá fora" + output: "Que dia lindo hoje! O sol está brilhando, mas está tão frio lá fora." + + - input: "amanhã temos que sair cedo não se atrase 😅" + output: "Amanhã temos que sair cedo! Não se atrase." + + - input: "ontem fomos ao parque foi muito divertido" + output: "Ontem fomos ao parque. Foi muito divertido." + + - input: "cuidado um carro está vindo" + output: "Cuidado! Um carro está vindo!" + +user: | + Input transcript: {text} diff --git a/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/ro.yaml b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/ro.yaml new file mode 100644 index 00000000..9f97300d --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/ro.yaml @@ -0,0 +1,26 @@ +system: | + Descriere: + Aveți o transcriere care poate conține punctuație și majuscule, poate să nu le conțină sau poate avea punctuație greșită. Sarcina este să corectați textul prin restaurarea punctuației și majusculelor. + + Reguli: + - Nu modificați, adăugați sau eliminați cuvinte din text. Toate modificările trebuie să fie limitate la punctuație și majuscule. + - Restaurați punctuația corectă folosind doar puncte, virgule, semne de întrebare, semne de exclamare, puncte și virgule, două puncte și cratime. Toate celelalte simboluri (inclusiv emoji) trebuie eliminate sau înlocuite cu semne de punctuație permise. + - Dacă textul are deja suficientă punctuație, lăsați-l neschimbat. + - Corectați punctuația incorectă sau lipsă. + - Folosiți majuscule la începutul fiecărei fraze și pentru numele proprii. + + Exemple: + - input: "ce zi frumoasă astăzi soarele strălucește 😊 dar este atât de frig afară" + output: "Ce zi frumoasă astăzi! Soarele strălucește, dar este atât de frig afară." + + - input: "unde ai fost ieri de ce nu m-ai sunat 📞" + output: "Unde ai fost ieri? De ce nu m-ai sunat?" + + - input: "ieri am fost la cumpărături am cumpărat mere pere și portocale" + output: "Ieri am fost la cumpărături. Am cumpărat mere, pere și portocale." + + - input: "ai grijă vine o mașină" + output: "Ai grijă! Vine o mașină." + +user: | + Input transcript: {text} diff --git a/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/ru.yaml b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/ru.yaml new file mode 100644 index 00000000..288948e7 --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/ru.yaml @@ -0,0 +1,61 @@ +system: | + Описание: + У вас есть текст, который может содержать пунктуацию и капитализацию, может не содержать их или содержать некорректную пунктуацию. Задача — привести текст к правильной форме, восстановив пунктуацию и капитализацию, соблюдая следующие правила: + + Правила: + - Не изменять, не добавлять и не удалять слова в тексте. Все изменения должны касаться только пунктуации и капитализации. + - Восстанавливать правильную пунктуацию, используя только точки, запятые, вопросы, восклицательные знаки, точки с запятой, двоеточия и тире. Все остальные символы (включая кавычки, скобки, смайлики и т.д.) должны быть удалены или заменены разрешенными знаками пунктуации. + - Если в тексте уже есть достаточная пунктуация (точки, запятые, вопросы, восклицательные знаки, точки с запятой, двоеточия и тире), она должна оставаться без изменений. + - Если пунктуация неполная, некорректная или содержит недопустимые символы (например, многоточие или другие лишние символы), они должны быть заменены на правильную пунктуацию с использованием только разрешенных знаков. + - Пунктуация должна соответствовать контексту: если предложение является вопросом, в конце должен быть вопросительный знак. Если предложение выражает волнение или сильные эмоции, используйте восклицательный знак. Точки, запятые, точки с запятой или двоеточия должны использоваться для разделения частей предложения. + - Все алфавитно-цифровые символы (включая цифры, например, 15:30) должны оставаться без изменений. + - Заглавную букву следует ставить в начале каждого предложения. + - Заглавными буквами следует писать имена собственные и аббревиатуры. + - Если текст начинается в середине предложения или заканчивается на середине слова, не нужно ставить заглавную букву в начале и не нужно добавлять точку в конце. + - Если пунктуация отсутствует или неправильная, замените недопустимые символы на правильные знаки пунктуации (точка, запятая, вопросительный знак, восклицательный знак, точка с запятой, двоеточие или тире) без изменения смысла текста. + + Примеры: + - input: "я так и не понял, что произошло" + output: "Я так и не понял, что произошло." + + - input: "Знаешь, я думал что мы пойдем в кино, а оказывается отменили сеанс, обидно!" + output: "Знаешь, я думал, что мы пойдем в кино, а оказывается, отменили сеанс. Обидно!" + + - input: "Как ты? давно не виделись! ну как дела?" + output: "Как ты? Давно не виделись! Ну как дела?" + + - input: "Этот вопрос требует внимания а если честно он довольно сложный" + output: "Этот вопрос требует внимания, а если честно, он довольно сложный." + + - input: "Сегодня вечером мы будем обсуждать проект- нам нужно завершить работу к 20:00" + output: "Сегодня вечером мы будем обсуждать проект — нам нужно завершить работу к 20:00." + + - input: "игорь не пришел на встречу... может быть он опоздает?" + output: "Игорь не пришел на встречу. Может быть, он опоздает?" + + - input: "ты видела этот фильм? просто невероятно, как такое вообще снимают" + output: "Ты видела этот фильм? Просто невероятно, как такое вообще снимают!" + + - input: "Мы почти пришли домой но мне нужно заехать за продуктами" + output: "Мы почти пришли домой, но мне нужно заехать за продуктами." + + - input: "Привет, что ты думаешь по поводу нового закона? он реально важен для экономики." + output: "Привет, что ты думаешь по поводу нового закона? Он реально важен для экономики." + + - input: "Она сказала ну не знаю посмотрим" + output: "Она сказала: ну, не знаю, посмотрим." + + - input: "Ты мне не ответил на прошлый вопрос :(" + output: "Ты мне не ответил на прошлый вопрос." + + - input: "Зачем ты так? Это не твоя вина не переживай:)" + output: "Зачем ты так? Это не твоя вина, не переживай!" + + - input: "А вот и новость! Ура нам удалось завершить проект! :D" + output: "А вот и новость! Ура, нам удалось завершить проект!" + + - input: "Я был в шоке от увиденного не мог поверить :O" + output: "Я был в шоке от увиденного, не мог поверить!" + +user: | + Input transcript: {text} diff --git a/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/sk.yaml b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/sk.yaml new file mode 100644 index 00000000..ef078993 --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/sk.yaml @@ -0,0 +1,26 @@ +system: | + Popis: + Máte prepis, ktorý môže obsahovať interpunkciu a veľké písmená, nemusí ich obsahovať, alebo obsahuje nesprávnu interpunkciu. Úlohou je opraviť text obnovením interpunkcie a veľkých písmen. + + Pravidlá: + - Nemeňte, nepridávajte ani neodstraňujte žiadne slová z textu. Všetky úpravy by sa mali týkať iba interpunkcie a veľkých písmen. + - Obnovte správnu interpunkciu pomocou bodiek, čiarok, otáznikov, výkričníkov, bodkočiarok, dvojbodiek a pomlčiek. Všetky ostatné symboly (vrátane emoji) musia byť odstránené alebo nahradené povolenou interpunkciou. + - Ak text už obsahuje dostatočnú interpunkciu, nechajte ho nezmenený. + - Opravte nesprávnu alebo chýbajúcu interpunkciu. + - Používajte veľké písmená na začiatku viet a pre vlastné mená. + + Príklady: + - input: "aké krásne počasie dnes slnko svieti 😊 ale vonku je zima" + output: "Aké krásne počasie dnes! Slnko svieti, ale vonku je zima." + + - input: "prečo si mi nezavolal včera 📞" + output: "Prečo si mi nezavolal včera?" + + - input: "zajtra máme stretnutie nezabudni si dokumenty" + output: "Zajtra máme stretnutie. Nezabudni si dokumenty." + + - input: "pozor auto prichádza" + output: "Pozor! Auto prichádza." + +user: | + Input transcript: {text} diff --git a/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/sl.yaml b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/sl.yaml new file mode 100644 index 00000000..93117503 --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/sl.yaml @@ -0,0 +1,26 @@ +system: | + Opis: + Imate transkripcijo, ki lahko vsebuje ločila in velike črke, jih morda ne vsebuje, ali pa vsebuje napačna ločila. Naloga je popraviti besedilo z obnovo pravilnih ločil in velikih črk. + + Pravila: + - Ne spreminjajte, dodajajte ali odstranjujte besed v besedilu. Vse spremembe naj se omejijo na ločila in velike črke. + - Obnovite pravilna ločila z uporabo le pik, vejic, vprašajev, klicajev, podpičij, dvopičij in pomišljajev. Vsi drugi simboli (vključno z emojiji) naj se odstranijo ali zamenjajo z dovoljenimi ločili. + - Če besedilo že vsebuje dovolj ločil, naj ostane nespremenjeno. + - Popravite napačna ali manjkajoča ločila. + - Uporabite velike črke na začetku stavkov in za lastna imena. + + Primeri: + - input: "kakšen čudovit dan danes sonce sije 😊 ampak zunaj je tako mrzlo" + output: "Kakšen čudovit dan danes! Sonce sije, ampak zunaj je tako mrzlo." + + - input: "zakaj me nisi poklical včeraj 📞" + output: "Zakaj me nisi poklical včeraj?" + + - input: "jutri imamo sestanek ne pozabi dokumentov" + output: "Jutri imamo sestanek. Ne pozabi dokumentov." + + - input: "pazi prihaja avto" + output: "Pazi! Prihaja avto." + +user: | + Input transcript: {text} diff --git a/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/sv.yaml b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/sv.yaml new file mode 100644 index 00000000..f309a0e1 --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/sv.yaml @@ -0,0 +1,26 @@ +system: | + Beskrivning: + Du har en transkription som kan innehålla interpunktion och stora bokstäver, kanske inte innehåller dem eller innehåller felaktig interpunktion. Uppgiften är att rätta texten genom att återställa interpunktion och stora bokstäver. + + Regler: + - Ändra inte, lägg inte till eller ta bort några ord i texten. Alla ändringar ska begränsas till interpunktion och stora bokstäver. + - Återställ korrekt interpunktion med bara punkter, kommatecken, frågetecken, utropstecken, semikolon, kolon och bindestreck. Alla andra symboler (inklusive emojis) måste tas bort eller ersättas med tillåtna interpunktionstecken. + - Om texten redan innehåller tillräcklig interpunktion, lämna den oförändrad. + - Rätta felaktig eller saknad interpunktion. + - Använd stora bokstäver i början av varje mening och för egennamn. + + Exempel: + - input: "vilken vacker dag solen skiner men det är så kallt ute" + output: "Vilken vacker dag! Solen skiner, men det är så kallt ute." + + - input: "varför ringde du inte igår 📞" + output: "Varför ringde du inte igår?" + + - input: "vi gick till parken igår och hade så kul" + output: "Vi gick till parken igår och hade så kul." + + - input: "se upp bilen kommer" + output: "Se upp! Bilen kommer!" + +user: | + Input transcript: {text} diff --git a/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/uk.yaml b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/uk.yaml new file mode 100644 index 00000000..88d7744b --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/uk.yaml @@ -0,0 +1,26 @@ +system: | + Опис: + Ви маєте транскрипцію, яка може містити знаки пунктуації та великі літери, може не містити їх або містити неправильні знаки пунктуації. Завдання полягає у виправленні тексту шляхом відновлення пунктуації та великих літер. + + Правила: + - Не змінюйте, не додавайте і не видаляйте слова з тексту. Усі зміни повинні обмежуватися пунктуацією та великими літерами. + - Відновіть правильну пунктуацію, використовуючи лише крапки, коми, знаки питання, знаки оклику, крапки з комою, двокрапки та тире. Усі інші символи (включно з емодзі) необхідно видалити або замінити дозволеними знаками пунктуації. + - Якщо текст уже містить достатньо пунктуації, залиште його без змін. + - Виправте неправильну або відсутню пунктуацію. + - Використовуйте великі літери на початку кожного речення та для власних назв. + + Приклади: + - input: "який прекрасний день сьогодні сонце світить 😊 але надворі так холодно" + output: "Який прекрасний день сьогодні! Сонце світить, але надворі так холодно." + + - input: "чому ти не подзвонив вчора 📞" + output: "Чому ти не подзвонив вчора?" + + - input: "завтра у нас зустріч не забудь взяти документи" + output: "Завтра у нас зустріч. Не забудь взяти документи." + + - input: "будь обережним наближається автомобіль" + output: "Будь обережним! Наближається автомобіль." + +user: | + Input transcript: {text} diff --git a/dataset_configs/multilingual/granary/partials/subregex_params/bg.yaml b/dataset_configs/multilingual/granary/partials/subregex_params/bg.yaml new file mode 100644 index 00000000..467930cc --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/subregex_params/bg.yaml @@ -0,0 +1,30 @@ +- {'pattern': 'ă', 'repl': 'a'} +- {'pattern': 'ğ', 'repl': 'g'} +- {'pattern': 'ş', 'repl': 's'} +- {'pattern': 'ó', 'repl': 'o'} +- {'pattern': 'é', 'repl': 'e'} + +- {"pattern": "’", "repl": "'"} +- {"pattern": "‘", "repl": "'"} +- {"pattern": ";", "repl": ','} +- {"pattern": "—", "repl": ' '} +- {"pattern": "–", "repl": ' '} +- {"pattern": "♫", "repl": ' '} +- {"pattern": "♪", "repl": ' '} +- {"pattern": "♬", "repl": ' '} +- {"pattern": "♩", "repl": ' '} +- {"pattern": "♭", "repl": ' '} +- {"pattern": '\|', "repl": ' '} +- {'pattern': ':', 'repl': ' '} +- {'pattern': '-', 'repl': ' '} + +- {"pattern": "[^ €₽₴$£%?!',.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЬЮЯабвгдежзийклмнопрстуфхцчшщъьюя]", "repl": ""} + +# keep capital letters, lowercase letters, and spaces, ?, !, ., ,, and ' only +- {"pattern": '\s+\.', "repl": "."} +- {"pattern": '\?+', "repl": "?"} +- {"pattern": '\.+', "repl": "."} +- {"pattern": ',+', "repl": ","} +- {"pattern": '!+', "repl": "!"} +- {"pattern": '\s+', "repl": " "} + diff --git a/dataset_configs/multilingual/granary/partials/subregex_params/common.yaml b/dataset_configs/multilingual/granary/partials/subregex_params/common.yaml new file mode 100644 index 00000000..950d932f --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/subregex_params/common.yaml @@ -0,0 +1,31 @@ +- {"pattern": "’", "repl": "'"} +- {"pattern": "‘", "repl": "'"} +- {"pattern": "—", "repl": "-"} +- {"pattern": "–", "repl": "-"} +- {"pattern": "-", "repl": "-"} +- {"pattern": "_", "repl": " "} +- {"pattern": "——", "repl": "-"} +- {"pattern": "Ё", "repl": "Е"} +- {"pattern": "ё", "repl": "е"} + +- {"pattern": "♫", "repl": " "} +- {"pattern": "♪", "repl": " "} +- {"pattern": "♬", "repl": " "} +- {"pattern": "♩", "repl": " "} +- {"pattern": "♭", "repl": " "} +- {"pattern": '\|', "repl": " "} # : -> : +- {"pattern": ";", "repl": ","} + +- {"pattern": '\[[^\]]*\]', "repl": ""} # delete content inside [] +- {"pattern": ' ?\([^\)]+\)', "repl": ""} # delete content inside () +- {"pattern": ' ?{[^}]+}', "repl": ""} # delete content inside {} + +- {"pattern": "[^ !$%',-.0123456789;?ABCDEFGHIJKLMNOPQRSßTUVWXYŸZabcdefghijklmnopqrsẞtuvwxyÿz¡£¿ÀÁÂÃÄÅÆÇÈÉÊÌÍÎÑÒÓÔÕÖØÙÚÜÝàáâãäåæçèéêëìíîïñòóôõöøùúûüýĀāĂ㥹ĆćĊċČčĎďĐđĒēĖėĘęĚěĠġĢģĦħĪīĮįĶķĹĺĻļĽľŁłŃńŅņŇňŐőŒœŔŕŘřŚśŠšŤťŪūŮůŰűŲųŹźŻżŽžȘșȚțΆΈΉΌΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩάέήίαβγδεζηθικλμνξοπρστυφχψωϊόύώЁЄІЇАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюяёєіїҐґ€₴₽/:]", "repl": " "} + +# keep capital letters, lowercase letters, and spaces, ?, !, ., ,, and ' only +- {"pattern": '\s+\.', "repl": "."} +- {"pattern": '\?+', "repl": "?"} +- {"pattern": '\.+', "repl": "."} +- {"pattern": ',+', "repl": ","} +- {"pattern": '!+', "repl": "!"} +- {"pattern": '\s+', "repl": " "} diff --git a/dataset_configs/multilingual/granary/partials/subregex_params/cs.yaml b/dataset_configs/multilingual/granary/partials/subregex_params/cs.yaml new file mode 100644 index 00000000..19ea0d69 --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/subregex_params/cs.yaml @@ -0,0 +1,27 @@ +- {'pattern': 'ă', 'repl': 'a'} +- {'pattern': 'ğ', 'repl': 'g'} +- {'pattern': 'ş', 'repl': 's'} + +- {"pattern": "’", "repl": "'"} +- {"pattern": "‘", "repl": "'"} +- {"pattern": ";", "repl": ','} +- {"pattern": "—", "repl": ' '} +- {"pattern": "–", "repl": ' '} +- {"pattern": "♫", "repl": ' '} +- {"pattern": "♪", "repl": ' '} +- {"pattern": "♬", "repl": ' '} +- {"pattern": "♩", "repl": ' '} +- {"pattern": "♭", "repl": ' '} +- {"pattern": '\|', "repl": ' '} +- {'pattern': ':', 'repl': ' '} +- {'pattern': '-', 'repl': ' '} + +- {"pattern": "[^ €₽₴$£%?!',.0123456789ABCCDEFGHHIJKLMNOPQRSTUVWXYZabccdefghhijklmnopqrstuvwxyzÁÉÍÓÚÝáéíóúýČčĎďĚěŇňŘřŠšŤťŮůŽž]", "repl": ""} + +# keep capital letters, lowercase letters, and spaces, ?, !, ., ,, and ' only +- {"pattern": '\s+\.', "repl": "."} +- {"pattern": '\?+', "repl": "?"} +- {"pattern": '\.+', "repl": "."} +- {"pattern": ',+', "repl": ","} +- {"pattern": '!+', "repl": "!"} +- {"pattern": '\s+', "repl": " "} diff --git a/dataset_configs/multilingual/granary/partials/subregex_params/da.yaml b/dataset_configs/multilingual/granary/partials/subregex_params/da.yaml new file mode 100644 index 00000000..d9e3bb20 --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/subregex_params/da.yaml @@ -0,0 +1,29 @@ +- {'pattern': 'ó', 'repl': 'o'} +- {'pattern': 'ă', 'repl': 'a'} +- {'pattern': 'ğ', 'repl': 'g'} +- {'pattern': 'ş', 'repl': 's'} +- {'pattern': 'é', 'repl': 'e'} + +- {"pattern": "’", "repl": "'"} +- {"pattern": "‘", "repl": "'"} +- {"pattern": ";", "repl": ','} +- {"pattern": "—", "repl": ' '} +- {"pattern": "–", "repl": ' '} +- {"pattern": "♫", "repl": ' '} +- {"pattern": "♪", "repl": ' '} +- {"pattern": "♬", "repl": ' '} +- {"pattern": "♩", "repl": ' '} +- {"pattern": "♭", "repl": ' '} +- {"pattern": '\|', "repl": ' '} +- {'pattern': ':', 'repl': ' '} +- {'pattern': '-', 'repl': ' '} + +- {"pattern": "[^ €₽₴$£%!$',.?0123456789?ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzÆØÅæøå]", "repl": ""} + +# keep capital letters, lowercase letters, and spaces, ?, !, ., ,, and ' only +- {"pattern": '\s+\.', "repl": "."} +- {"pattern": '\?+', "repl": "?"} +- {"pattern": '\.+', "repl": "."} +- {"pattern": ',+', "repl": ","} +- {"pattern": '!+', "repl": "!"} +- {"pattern": '\s+', "repl": " "} diff --git a/dataset_configs/multilingual/granary/partials/subregex_params/de.yaml b/dataset_configs/multilingual/granary/partials/subregex_params/de.yaml new file mode 100644 index 00000000..71195701 --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/subregex_params/de.yaml @@ -0,0 +1,31 @@ +- {'pattern': 'ă', 'repl': 'a'} +- {'pattern': 'ğ', 'repl': 'g'} +- {'pattern': 'ş', 'repl': 's'} +- {'pattern': 'ó', 'repl': 'o'} +- {'pattern': 'é', 'repl': 'e'} + +- {"pattern": "ß", "repl": "ss"} +- {"pattern": "’", "repl": "'"} +- {"pattern": "‘", "repl": "'"} +- {"pattern": ";", "repl": ','} +- {"pattern": "—", "repl": ' '} +- {"pattern": "–", "repl": ' '} +- {"pattern": "♫", "repl": ' '} +- {"pattern": "♪", "repl": ' '} +- {"pattern": "♬", "repl": ' '} +- {"pattern": "♩", "repl": ' '} +- {"pattern": "♭", "repl": ' '} +- {"pattern": '\|', "repl": ' '} +- {'pattern': ':', 'repl': ' '} +- {'pattern': '-', 'repl': ' '} + +# Keep these characters and remove everything else !$',.0123456789?ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +- {"pattern": "[^ €₽₴$£%?!',.ÄäÖöÜü0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz]", "repl": ""} + +- {"pattern": '\s+\.', "repl": "."} +- {"pattern": '\?+', "repl": "?"} +- {"pattern": '\.+', "repl": "."} +- {"pattern": ',+', "repl": ","} +- {"pattern": '!+', "repl": "!"} +- {"pattern": '\s+', "repl": " "} + diff --git a/dataset_configs/multilingual/granary/partials/subregex_params/el.yaml b/dataset_configs/multilingual/granary/partials/subregex_params/el.yaml new file mode 100644 index 00000000..d3f7cb7f --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/subregex_params/el.yaml @@ -0,0 +1,35 @@ +- {'pattern': 'á', 'repl': 'a'} +- {'pattern': 'é', 'repl': 'e'} +- {'pattern': 'í', 'repl': 'i'} +- {'pattern': 'ó', 'repl': 'o'} +- {'pattern': 'ă', 'repl': 'a'} +- {'pattern': 'ğ', 'repl': 'g'} +- {'pattern': 'ř', 'repl': 'r'} +- {'pattern': 'ş', 'repl': 's'} +- {'pattern': 'š', 'repl': 's'} + +- {"pattern": "’", "repl": "'"} +- {"pattern": "‘", "repl": "'"} +- {"pattern": ";", "repl": ','} +- {"pattern": "—", "repl": ' '} +- {"pattern": "–", "repl": ' '} +- {"pattern": "♫", "repl": ' '} +- {"pattern": "♪", "repl": ' '} +- {"pattern": "♬", "repl": ' '} +- {"pattern": "♩", "repl": ' '} +- {"pattern": "♭", "repl": ' '} +- {"pattern": '\|', "repl": ' '} +- {'pattern': ':', 'repl': ' '} +- {'pattern': '-', 'repl': ' '} + +# In greek question mark is ";" +# Got these from part of fleurs set: άέήίωϊόύώ +- {"pattern": "[^ €₽₴$£%!%$',.;0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρστυφχψωΆΈΉΌάέήίωϊόύώ]", "repl": ""} + +# keep capital letters, lowercase letters, and spaces, ?, !, ., ,, and ' only +- {"pattern": '\s+\.', "repl": "."} +- {"pattern": '\?+', "repl": "?"} +- {"pattern": '\.+', "repl": "."} +- {"pattern": ',+', "repl": ","} +- {"pattern": '!+', "repl": "!"} +- {"pattern": '\s+', "repl": " "} diff --git a/dataset_configs/multilingual/granary/partials/subregex_params/en.yaml b/dataset_configs/multilingual/granary/partials/subregex_params/en.yaml new file mode 100644 index 00000000..5f198c9a --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/subregex_params/en.yaml @@ -0,0 +1,47 @@ +- {'pattern': 'ó', 'repl': 'o'} +- {'pattern': 'ñ', 'repl': 'n'} +- {'pattern': 'é', 'repl': 'e'} +- {'pattern': 'á', 'repl': 'a'} +- {'pattern': 'í', 'repl': 'i'} +- {'pattern': 'ú', 'repl': 'u'} +- {'pattern': 'ü', 'repl': 'u'} +- {'pattern': 'ï', 'repl': 'i'} +- {'pattern': 'ë', 'repl': 'e'} +- {'pattern': 'ô', 'repl': 'o'} +- {'pattern': 'û', 'repl': 'u'} +- {'pattern': 'â', 'repl': 'a'} +- {'pattern': 'ê', 'repl': 'e'} +- {'pattern': 'î', 'repl': 'i'} +- {'pattern': 'ô', 'repl': 'o'} +- {'pattern': 'û', 'repl': 'u'} +- {'pattern': 'ã', 'repl': 'a'} +- {'pattern': 'õ', 'repl': 'o'} +- {'pattern': 'ç', 'repl': 'c'} +- {'pattern': 'ă', 'repl': 'a'} +- {'pattern': 'ğ', 'repl': 'g'} +- {'pattern': 'ş', 'repl': 's'} + +- {"pattern": "’", "repl": "'"} +- {"pattern": "‘", "repl": "'"} +- {"pattern": ";", "repl": ','} +- {"pattern": "—", "repl": ' '} +- {"pattern": "–", "repl": ' '} +- {"pattern": "♫", "repl": ' '} +- {"pattern": "♪", "repl": ' '} +- {"pattern": "♬", "repl": ' '} +- {"pattern": "♩", "repl": ' '} +- {"pattern": "♭", "repl": ' '} +- {"pattern": '\|', "repl": ' '} +- {'pattern': ':', 'repl': ' '} +- {'pattern': '-', 'repl': ' '} + +# Keep these characters and remove everything else !$',.0123456789?ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +- {"pattern": "[^ €₽₴$£%!$',.?0123456789?ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz]", "repl": ""} + +# keep capital letters, lowercase letters, and spaces, ?, !, ., ,, and ' only +- {"pattern": '\s+\.', "repl": "."} +- {"pattern": '\?+', "repl": "?"} +- {"pattern": '\.+', "repl": "."} +- {"pattern": ',+', "repl": ","} +- {"pattern": '!+', "repl": "!"} +- {"pattern": '\s+', "repl": " "} diff --git a/dataset_configs/multilingual/granary/partials/subregex_params/es.yaml b/dataset_configs/multilingual/granary/partials/subregex_params/es.yaml new file mode 100644 index 00000000..4af19681 --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/subregex_params/es.yaml @@ -0,0 +1,28 @@ +- {'pattern': 'ă', 'repl': 'a'} +- {'pattern': 'ğ', 'repl': 'g'} +- {'pattern': 'ş', 'repl': 's'} + +- {"pattern": "’", "repl": "'"} +- {"pattern": "‘", "repl": "'"} +- {"pattern": ";", "repl": ','} +- {"pattern": "—", "repl": ' '} +- {"pattern": "–", "repl": ' '} +- {"pattern": "♫", "repl": ' '} +- {"pattern": "♪", "repl": ' '} +- {"pattern": "♬", "repl": ' '} +- {"pattern": "♩", "repl": ' '} +- {"pattern": "♭", "repl": ' '} +- {"pattern": '\|', "repl": ' '} +- {'pattern': ':', 'repl': ' '} +- {'pattern': '-', 'repl': ' '} + +# Keep these characters and remove everything else !$',.0123456789?ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +- {"pattern": "[^ €₽₴$£%?!$',.¿¡0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZáéíóúüñÁÉÍÓÚÜÑabcdefghijklmnopqrstuvwxyz]", "repl": ""} + +# keep capital letters, lowercase letters, and spaces, ?, !, ., ,, and ' only +- {"pattern": '\s+\.', "repl": "."} +- {"pattern": '\?+', "repl": "?"} +- {"pattern": '\.+', "repl": "."} +- {"pattern": ',+', "repl": ","} +- {"pattern": '!+', "repl": "!"} +- {"pattern": '\s+', "repl": " "} diff --git a/dataset_configs/multilingual/granary/partials/subregex_params/et.yaml b/dataset_configs/multilingual/granary/partials/subregex_params/et.yaml new file mode 100644 index 00000000..4dd82d8d --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/subregex_params/et.yaml @@ -0,0 +1,31 @@ +- {'pattern': 'ă', 'repl': 'a'} +- {'pattern': 'ğ', 'repl': 'g'} +- {'pattern': 'ş', 'repl': 's'} +- {'pattern': 'é', 'repl': 'e'} +- {'pattern': 'ó', 'repl': 'o'} + +- {"pattern": "’", "repl": "'"} +- {"pattern": "‘", "repl": "'"} +- {"pattern": ";", "repl": ','} +- {"pattern": "—", "repl": ' '} +- {"pattern": "–", "repl": ' '} +- {"pattern": "♫", "repl": ' '} +- {"pattern": "♪", "repl": ' '} +- {"pattern": "♬", "repl": ' '} +- {"pattern": "♩", "repl": ' '} +- {"pattern": "♭", "repl": ' '} +- {"pattern": '\|', "repl": ' '} +- {'pattern': ':', 'repl': ' '} +- {'pattern': '-', 'repl': ' '} + +# Keep these characters and remove everything else !$',.0123456789?ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +- {"pattern": "[^ €₽₴$£%!',.?0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzÄÖÜÕäöüõšž]", "repl": ""} + +# keep capital letters, lowercase letters, and spaces, ?, !, ., ,, and ' only +- {"pattern": '\s+\.', "repl": "."} +- {"pattern": '\?+', "repl": "?"} +- {"pattern": '\.+', "repl": "."} +- {"pattern": ',+', "repl": ","} +- {"pattern": '!+', "repl": "!"} +- {"pattern": '\s+', "repl": " "} + diff --git a/dataset_configs/multilingual/granary/partials/subregex_params/fi.yaml b/dataset_configs/multilingual/granary/partials/subregex_params/fi.yaml new file mode 100644 index 00000000..d5356640 --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/subregex_params/fi.yaml @@ -0,0 +1,34 @@ +- {'pattern': 'á', 'repl': 'a'} +- {'pattern': 'é', 'repl': 'e'} +- {'pattern': 'í', 'repl': 'i'} +- {'pattern': 'ó', 'repl': 'o'} +- {'pattern': 'ă', 'repl': 'a'} +- {'pattern': 'ğ', 'repl': 'g'} +- {'pattern': 'ř', 'repl': 'r'} +- {'pattern': 'ş', 'repl': 's'} +- {'pattern': 'š', 'repl': 's'} + +- {"pattern": "’", "repl": "'"} +- {"pattern": "‘", "repl": "'"} +- {"pattern": ";", "repl": ','} +- {"pattern": "—", "repl": ' '} +- {"pattern": "–", "repl": ' '} +- {"pattern": "♫", "repl": ' '} +- {"pattern": "♪", "repl": ' '} +- {"pattern": "♬", "repl": ' '} +- {"pattern": "♩", "repl": ' '} +- {"pattern": "♭", "repl": ' '} +- {"pattern": '\|', "repl": ' '} +- {'pattern': ':', 'repl': ' '} +- {'pattern': '-', 'repl': ' '} + +# Keep these characters and remove everything else !$',.0123456789?ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +- {"pattern": "[^ €₽₴$£%!',.?0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzÄäÖö]", "repl": ""} + +# keep capital letters, lowercase letters, and spaces, ?, !, ., ,, and ' only +- {"pattern": '\s+\.', "repl": "."} +- {"pattern": '\?+', "repl": "?"} +- {"pattern": '\.+', "repl": "."} +- {"pattern": ',+', "repl": ","} +- {"pattern": '!+', "repl": "!"} +- {"pattern": '\s+', "repl": " "} diff --git a/dataset_configs/multilingual/granary/partials/subregex_params/fr.yaml b/dataset_configs/multilingual/granary/partials/subregex_params/fr.yaml new file mode 100644 index 00000000..7dd0d7db --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/subregex_params/fr.yaml @@ -0,0 +1,35 @@ +- {"pattern": "Ä", "repl": "A"} +- {"pattern": "ä", "repl": "a"} +- {"pattern": "Ï", "repl": "I"} +- {"pattern": "Ë", "repl": "E"} +- {"pattern": "Ö", "repl": "O"} +- {"pattern": "ö", "repl": "o"} +- {"pattern": "Ÿ", "repl": "Y"} +- {"pattern": "ÿ", "repl": "y"} +- {"pattern": "Ü", "repl": "U"} +- {"pattern": "ü", "repl": "u"} + +- {"pattern": "’", "repl": "'"} +- {"pattern": "‘", "repl": "'"} +- {"pattern": ";", "repl": ','} +- {"pattern": "—", "repl": ' '} +- {"pattern": "–", "repl": ' '} +- {"pattern": "♫", "repl": ' '} +- {"pattern": "♪", "repl": ' '} +- {"pattern": "♬", "repl": ' '} +- {"pattern": "♩", "repl": ' '} +- {"pattern": "♭", "repl": ' '} +- {"pattern": '\|', "repl": ' '} +- {'pattern': ':', 'repl': ' '} +- {'pattern': '-', 'repl': ' '} + +# Keep these characters and remove everything else !$',.0123456789?ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +- {"pattern": "[^ €₽₴$£%?!',.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzÆŒÀÂÉÎÇàâçèéêëîïóôùûœæ]", "repl": ""} + +# keep capital letters, lowercase letters, and spaces, ?, !, ., ,, and ' only +- {"pattern": '\s+\.', "repl": "."} +- {"pattern": '\?+', "repl": "?"} +- {"pattern": '\.+', "repl": "."} +- {"pattern": ',+', "repl": ","} +- {"pattern": '!+', "repl": "!"} +- {"pattern": '\s+', "repl": " "} diff --git a/dataset_configs/multilingual/granary/partials/subregex_params/hr.yaml b/dataset_configs/multilingual/granary/partials/subregex_params/hr.yaml new file mode 100644 index 00000000..23cdf981 --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/subregex_params/hr.yaml @@ -0,0 +1,30 @@ +- {'pattern': 'ă', 'repl': 'a'} +- {'pattern': 'ğ', 'repl': 'g'} +- {'pattern': 'ş', 'repl': 's'} +- {'pattern': 'ó', 'repl': 'o'} +- {'pattern': 'é', 'repl': 'e'} + +- {"pattern": "’", "repl": "'"} +- {"pattern": "‘", "repl": "'"} +- {"pattern": ";", "repl": ','} +- {"pattern": "—", "repl": ' '} +- {"pattern": "–", "repl": ' '} +- {"pattern": "♫", "repl": ' '} +- {"pattern": "♪", "repl": ' '} +- {"pattern": "♬", "repl": ' '} +- {"pattern": "♩", "repl": ' '} +- {"pattern": "♭", "repl": ' '} +- {"pattern": '\|', "repl": ' '} +- {'pattern': ':', 'repl': ' '} +- {'pattern': '-', 'repl': ' '} + +# Keep these characters and remove everything else !$',.0123456789?ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +- {"pattern": "[^ €₽₴$£%?!',.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzĆćČčĐ𩹮ž]", "repl": ""} + +# keep capital letters, lowercase letters, and spaces, ?, !, ., ,, and ' only +- {"pattern": '\s+\.', "repl": "."} +- {"pattern": '\?+', "repl": "?"} +- {"pattern": '\.+', "repl": "."} +- {"pattern": ',+', "repl": ","} +- {"pattern": '!+', "repl": "!"} +- {"pattern": '\s+', "repl": " "} diff --git a/dataset_configs/multilingual/granary/partials/subregex_params/hu.yaml b/dataset_configs/multilingual/granary/partials/subregex_params/hu.yaml new file mode 100644 index 00000000..2e7c8e4c --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/subregex_params/hu.yaml @@ -0,0 +1,25 @@ +- {'pattern': 'ğ', 'repl': 'g'} + +- {"pattern": "’", "repl": "'"} +- {"pattern": "‘", "repl": "'"} +- {"pattern": ";", "repl": ','} +- {"pattern": "—", "repl": ' '} +- {"pattern": "–", "repl": ' '} +- {"pattern": "♫", "repl": ' '} +- {"pattern": "♪", "repl": ' '} +- {"pattern": "♬", "repl": ' '} +- {"pattern": "♩", "repl": ' '} +- {"pattern": "♭", "repl": ' '} +- {"pattern": '\|', "repl": ' '} +- {'pattern': ':', 'repl': ' '} +- {'pattern': '-', 'repl': ' '} + +- {"pattern": "[^ €₽₴$£%!',.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzÁÉÍÓÕÖÚÜáéíóõöúüŠšŰűŐő]", "repl": ""} + +# keep capital letters, lowercase letters, and spaces, ?, !, ., ,, and ' only +- {"pattern": '\s+\.', "repl": "."} +- {"pattern": '\?+', "repl": "?"} +- {"pattern": '\.+', "repl": "."} +- {"pattern": ',+', "repl": ","} +- {"pattern": '!+', "repl": "!"} +- {"pattern": '\s+', "repl": " "} diff --git a/dataset_configs/multilingual/granary/partials/subregex_params/it.yaml b/dataset_configs/multilingual/granary/partials/subregex_params/it.yaml new file mode 100644 index 00000000..15a9296b --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/subregex_params/it.yaml @@ -0,0 +1,31 @@ +- {'pattern': 'ó', 'repl': 'o'} +- {'pattern': 'ă', 'repl': 'a'} +- {'pattern': 'ğ', 'repl': 'g'} +- {'pattern': 'ş', 'repl': 's'} +- {'pattern': 'š', 'repl': 's'} + +- {"pattern": "’", "repl": "'"} +- {"pattern": "‘", "repl": "'"} +- {"pattern": ";", "repl": ','} +- {"pattern": "—", "repl": ' '} +- {"pattern": "–", "repl": ' '} +- {"pattern": "♫", "repl": ' '} +- {"pattern": "♪", "repl": ' '} +- {"pattern": "♬", "repl": ' '} +- {"pattern": "♩", "repl": ' '} +- {"pattern": "♭", "repl": ' '} +- {"pattern": '\|', "repl": ' '} +- {'pattern': ':', 'repl': ' '} +- {'pattern': '-', 'repl': ' '} + +# Keep these characters and remove everything else !$',.0123456789?ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +- {"pattern": "[^ €₽₴$£%!',.?0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzÀÈÉÌÒÙàèéìòù]", "repl": ""} + +# keep capital letters, lowercase letters, and spaces, ?, !, ., ,, and ' only +- {"pattern": '\s+\.', "repl": "."} +- {"pattern": '\?+', "repl": "?"} +- {"pattern": '\.+', "repl": "."} +- {"pattern": ',+', "repl": ","} +- {"pattern": '!+', "repl": "!"} +- {"pattern": '\s+', "repl": " "} + diff --git a/dataset_configs/multilingual/granary/partials/subregex_params/lt.yaml b/dataset_configs/multilingual/granary/partials/subregex_params/lt.yaml new file mode 100644 index 00000000..68e25e1a --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/subregex_params/lt.yaml @@ -0,0 +1,26 @@ +- {'pattern': 'é', 'repl': 'e'} + +- {"pattern": "’", "repl": "'"} +- {"pattern": "‘", "repl": "'"} +- {"pattern": ";", "repl": ','} +- {"pattern": "–", "repl": "-"} +- {"pattern": "—", "repl": "-"} +- {"pattern": "♫", "repl": ' '} +- {"pattern": "♪", "repl": ' '} +- {"pattern": "♬", "repl": ' '} +- {"pattern": "♩", "repl": ' '} +- {"pattern": "♭", "repl": ' '} +- {"pattern": '\|', "repl": ' '} +- {'pattern': ':', 'repl': ' '} +- {'pattern': '-', 'repl': '-'} + +# Keep these characters and remove everything else !$',.0123456789?ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +- {"pattern": "[^ €₽₴$£%!',.?0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzĄąČčĖėĘęĮįŠšŪūŲųŽž-]", "repl": ""} + +# keep capital letters, lowercase letters, and spaces, ?, !, ., ,, and ' only +- {"pattern": '\s+\.', "repl": "."} +- {"pattern": '\?+', "repl": "?"} +- {"pattern": '\.+', "repl": "."} +- {"pattern": ',+', "repl": ","} +- {"pattern": '!+', "repl": "!"} +- {"pattern": '\s+', "repl": " "} \ No newline at end of file diff --git a/dataset_configs/multilingual/granary/partials/subregex_params/lv.yaml b/dataset_configs/multilingual/granary/partials/subregex_params/lv.yaml new file mode 100644 index 00000000..682b57d9 --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/subregex_params/lv.yaml @@ -0,0 +1,26 @@ +- {'pattern': 'é', 'repl': 'e'} + +- {"pattern": "’", "repl": "'"} +- {"pattern": "‘", "repl": "'"} +- {"pattern": ";", "repl": ','} +- {"pattern": "—", "repl": ' '} +- {"pattern": "–", "repl": ' '} +- {"pattern": "♫", "repl": ' '} +- {"pattern": "♪", "repl": ' '} +- {"pattern": "♬", "repl": ' '} +- {"pattern": "♩", "repl": ' '} +- {"pattern": "♭", "repl": ' '} +- {"pattern": '\|', "repl": ' '} +- {'pattern': ':', 'repl': ' '} +- {'pattern': '-', 'repl': ' '} + +# Keep these characters and remove everything else !$',.0123456789?ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +- {"pattern": "[^ €₽₴$£%!',.?0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzĀāČčĒēĢģĪīĶķĻļŅņŠšŪūŽž]", "repl": ""} + +# keep capital letters, lowercase letters, and spaces, ?, !, ., ,, and ' only +- {"pattern": '\s+\.', "repl": "."} +- {"pattern": '\?+', "repl": "?"} +- {"pattern": '\.+', "repl": "."} +- {"pattern": ',+', "repl": ","} +- {"pattern": '!+', "repl": "!"} +- {"pattern": '\s+', "repl": " "} diff --git a/dataset_configs/multilingual/granary/partials/subregex_params/mt.yaml b/dataset_configs/multilingual/granary/partials/subregex_params/mt.yaml new file mode 100644 index 00000000..f13b8f64 --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/subregex_params/mt.yaml @@ -0,0 +1,33 @@ +- {'pattern': 'à', 'repl': 'a'} +- {'pattern': 'è', 'repl': 'e'} +- {'pattern': 'é', 'repl': 'e'} +- {'pattern': 'ó', 'repl': 'o'} +- {'pattern': 'ă', 'repl': 'a'} +- {'pattern': 'ğ', 'repl': 'g'} +- {'pattern': 'ş', 'repl': 's'} + + +- {"pattern": "’", "repl": "'"} +- {"pattern": "‘", "repl": "'"} +- {"pattern": ";", "repl": ','} +- {"pattern": "–", "repl": "-"} +- {"pattern": "—", "repl": "-"} +- {"pattern": "♫", "repl": ' '} +- {"pattern": "♪", "repl": ' '} +- {"pattern": "♬", "repl": ' '} +- {"pattern": "♩", "repl": ' '} +- {"pattern": "♭", "repl": ' '} +- {"pattern": '\|', "repl": ' '} +- {'pattern': ':', 'repl': ' '} +- {'pattern': '-', 'repl': '-'} + +# Keep these characters and remove everything else !$',.0123456789?ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +- {"pattern": "[^ €₽₴$£%!',.?0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzĊċĠġĦħŻż]", "repl": ""} + +# keep capital letters, lowercase letters, and spaces, ?, !, ., ,, and ' only +- {"pattern": '\s+\.', "repl": "."} +- {"pattern": '\?+', "repl": "?"} +- {"pattern": '\.+', "repl": "."} +- {"pattern": ',+', "repl": ","} +- {"pattern": '!+', "repl": "!"} +- {"pattern": '\s+', "repl": " "} \ No newline at end of file diff --git a/dataset_configs/multilingual/granary/partials/subregex_params/nl.yaml b/dataset_configs/multilingual/granary/partials/subregex_params/nl.yaml new file mode 100644 index 00000000..3f7669b9 --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/subregex_params/nl.yaml @@ -0,0 +1,29 @@ +- {'pattern': 'ă', 'repl': 'a'} +- {'pattern': 'ğ', 'repl': 'g'} +- {'pattern': 'ş', 'repl': 's'} +- {'pattern': 'ñ', 'repl': 'n'} + +- {"pattern": "’", "repl": "'"} +- {"pattern": "‘", "repl": "'"} +- {"pattern": ";", "repl": ','} +- {"pattern": "—", "repl": ' '} +- {"pattern": "–", "repl": ' '} +- {"pattern": "♫", "repl": ' '} +- {"pattern": "♪", "repl": ' '} +- {"pattern": "♬", "repl": ' '} +- {"pattern": "♩", "repl": ' '} +- {"pattern": "♭", "repl": ' '} +- {"pattern": '\|', "repl": ' '} +- {'pattern': ':', 'repl': ' '} +- {'pattern': '-', 'repl': ' '} + +# Keep these characters and remove everything else !$',.0123456789?ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +- {"pattern": "[^ €₽₴$£%!',.?0123456789?ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzéëïóü]", "repl": ""} + +# keep capital letters, lowercase letters, and spaces, ?, !, ., ,, and ' only +- {"pattern": '\s+\.', "repl": "."} +- {"pattern": '\?+', "repl": "?"} +- {"pattern": '\.+', "repl": "."} +- {"pattern": ',+', "repl": ","} +- {"pattern": '!+', "repl": "!"} +- {"pattern": '\s+', "repl": " "} \ No newline at end of file diff --git a/dataset_configs/multilingual/granary/partials/subregex_params/pl.yaml b/dataset_configs/multilingual/granary/partials/subregex_params/pl.yaml new file mode 100644 index 00000000..29f9874e --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/subregex_params/pl.yaml @@ -0,0 +1,30 @@ +- {'pattern': 'ă', 'repl': 'a'} +- {'pattern': 'ğ', 'repl': 'g'} +- {'pattern': 'ş', 'repl': 's'} +- {'pattern': 'ñ', 'repl': 'n'} +- {'pattern': 'é', 'repl': 'e'} + +- {"pattern": "’", "repl": "'"} +- {"pattern": "‘", "repl": "'"} +- {"pattern": ";", "repl": ','} +- {"pattern": "—", "repl": ' '} +- {"pattern": "–", "repl": ' '} +- {"pattern": "♫", "repl": ' '} +- {"pattern": "♪", "repl": ' '} +- {"pattern": "♬", "repl": ' '} +- {"pattern": "♩", "repl": ' '} +- {"pattern": "♭", "repl": ' '} +- {"pattern": '\|', "repl": ' '} +- {'pattern': ':', 'repl': ' '} +- {'pattern': '-', 'repl': ' '} + +# Keep these characters and remove everything else !$',.0123456789?ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +- {"pattern": "[^ €₽₴$£%!',.?0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzÓóĄąĆćĘꣳŃńŚśŹźŻż]", "repl": ""} + +# keep capital letters, lowercase letters, and spaces, ?, !, ., ,, and ' only +- {"pattern": '\s+\.', "repl": "."} +- {"pattern": '\?+', "repl": "?"} +- {"pattern": '\.+', "repl": "."} +- {"pattern": ',+', "repl": ","} +- {"pattern": '!+', "repl": "!"} +- {"pattern": '\s+', "repl": " "} \ No newline at end of file diff --git a/dataset_configs/multilingual/granary/partials/subregex_params/pt.yaml b/dataset_configs/multilingual/granary/partials/subregex_params/pt.yaml new file mode 100644 index 00000000..963f63a9 --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/subregex_params/pt.yaml @@ -0,0 +1,25 @@ +- {'pattern': 'ğ', 'repl': 'g'} + +- {"pattern": "’", "repl": "'"} +- {"pattern": "‘", "repl": "'"} +- {"pattern": ";", "repl": ','} +- {"pattern": "—", "repl": ' '} +- {"pattern": "–", "repl": ' '} +- {"pattern": "♫", "repl": ' '} +- {"pattern": "♪", "repl": ' '} +- {"pattern": "♬", "repl": ' '} +- {"pattern": "♩", "repl": ' '} +- {"pattern": "♭", "repl": ' '} +- {"pattern": '\|', "repl": ' '} +- {'pattern': ':', 'repl': ' '} +- {'pattern': '-', 'repl': ' '} + +- {"pattern": "[^ €₽₴$£%!',.?0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzÀÁÂÃÇÉÊÍÓÔÕÚÜàáâãçéêíóôõúü]", "repl": ""} + +# keep capital letters, lowercase letters, and spaces, ?, !, ., ,, and ' only +- {"pattern": '\s+\.', "repl": "."} +- {"pattern": '\?+', "repl": "?"} +- {"pattern": '\.+', "repl": "."} +- {"pattern": ',+', "repl": ","} +- {"pattern": '!+', "repl": "!"} +- {"pattern": '\s+', "repl": " "} diff --git a/dataset_configs/multilingual/granary/partials/subregex_params/ro.yaml b/dataset_configs/multilingual/granary/partials/subregex_params/ro.yaml new file mode 100644 index 00000000..505465e2 --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/subregex_params/ro.yaml @@ -0,0 +1,28 @@ +- {'pattern': 'ó', 'repl': 'o'} +- {'pattern': 'ğ', 'repl': 'g'} +- {'pattern': 'é', 'repl': 'e'} + +- {"pattern": "’", "repl": "'"} +- {"pattern": "‘", "repl": "'"} +- {"pattern": ";", "repl": ','} +- {"pattern": "—", "repl": '-'} +- {"pattern": "–", "repl": '-'} +- {"pattern": "♫", "repl": ' '} +- {"pattern": "♪", "repl": ' '} +- {"pattern": "♬", "repl": ' '} +- {"pattern": "♩", "repl": ' '} +- {"pattern": "♭", "repl": ' '} +- {"pattern": '\|', "repl": ' '} +- {'pattern': ':', 'repl': ' '} +- {'pattern': '-', 'repl': '-'} + +# Keep these characters and remove everything else !$',.0123456789?ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +- {"pattern": "[^ €₽₴$£%!',.?0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzÂÎâîĂăȘșȚț-]", "repl": ""} + +# keep capital letters, lowercase letters, and spaces, ?, !, ., ,, and ' only +- {"pattern": '\s+\.', "repl": "."} +- {"pattern": '\?+', "repl": "?"} +- {"pattern": '\.+', "repl": "."} +- {"pattern": ',+', "repl": ","} +- {"pattern": '!+', "repl": "!"} +- {"pattern": '\s+', "repl": " "} diff --git a/dataset_configs/multilingual/granary/partials/subregex_params/ru.yaml b/dataset_configs/multilingual/granary/partials/subregex_params/ru.yaml new file mode 100644 index 00000000..a3a777f7 --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/subregex_params/ru.yaml @@ -0,0 +1,32 @@ +- {'pattern': 'ă', 'repl': 'a'} +- {'pattern': 'ğ', 'repl': 'g'} +- {'pattern': 'ş', 'repl': 's'} +- {'pattern': 'ñ', 'repl': 'n'} +- {'pattern': 'é', 'repl': 'e'} +- {"pattern": "ё", "repl": "e"} +- {"pattern": "Ё", "repl": "E"} + +- {"pattern": "’", "repl": "'"} +- {"pattern": "‘", "repl": "'"} +- {"pattern": ";", "repl": ','} +- {"pattern": "–", "repl": "-"} +- {"pattern": "—", "repl": "-"} +- {"pattern": "♫", "repl": ' '} +- {"pattern": "♪", "repl": ' '} +- {"pattern": "♬", "repl": ' '} +- {"pattern": "♩", "repl": ' '} +- {"pattern": "♭", "repl": ' '} +- {"pattern": '\|', "repl": ' '} +- {'pattern': ':', 'repl': ' '} +- {'pattern': '-', 'repl': '-'} + +# Keep these characters and remove everything else !$',.0123456789?ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +- {"pattern": "[^ €₽₴$£%!',.?0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzЁАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюяё-]", "repl": ""} + +# keep capital letters, lowercase letters, and spaces, ?, !, ., ,, and ' only +- {"pattern": '\s+\.', "repl": "."} +- {"pattern": '\?+', "repl": "?"} +- {"pattern": '\.+', "repl": "."} +- {"pattern": ',+', "repl": ","} +- {"pattern": '!+', "repl": "!"} +- {"pattern": '\s+', "repl": " "} diff --git a/dataset_configs/multilingual/granary/partials/subregex_params/sk.yaml b/dataset_configs/multilingual/granary/partials/subregex_params/sk.yaml new file mode 100644 index 00000000..923bb5d7 --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/subregex_params/sk.yaml @@ -0,0 +1,26 @@ +- {'pattern': 'ř', 'repl': 'r'} + +- {"pattern": "’", "repl": "'"} +- {"pattern": "‘", "repl": "'"} +- {"pattern": ";", "repl": ','} +- {"pattern": "—", "repl": ' '} +- {"pattern": "–", "repl": ' '} +- {"pattern": "♫", "repl": ' '} +- {"pattern": "♪", "repl": ' '} +- {"pattern": "♬", "repl": ' '} +- {"pattern": "♩", "repl": ' '} +- {"pattern": "♭", "repl": ' '} +- {"pattern": '\|', "repl": ' '} +- {'pattern': ':', 'repl': ' '} +- {'pattern': '-', 'repl': ' '} + +# Keep these characters and remove everything else !$',.0123456789?ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +- {"pattern": "[^ €₽₴$£%!',.?0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzÁÄÉÍÓÔÚÝáäéíóôúýČčĎďĹ弾ŇňŔ੹ŤťŽž]", "repl": ""} + +# keep capital letters, lowercase letters, and spaces, ?, !, ., ,, and ' only +- {"pattern": '\s+\.', "repl": "."} +- {"pattern": '\?+', "repl": "?"} +- {"pattern": '\.+', "repl": "."} +- {"pattern": ',+', "repl": ","} +- {"pattern": '!+', "repl": "!"} +- {"pattern": '\s+', "repl": " "} \ No newline at end of file diff --git a/dataset_configs/multilingual/granary/partials/subregex_params/sl.yaml b/dataset_configs/multilingual/granary/partials/subregex_params/sl.yaml new file mode 100644 index 00000000..7a8564aa --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/subregex_params/sl.yaml @@ -0,0 +1,28 @@ +- {'pattern': 'é', 'repl': 'e'} +- {'pattern': 'ó', 'repl': 'o'} +- {'pattern': 'ğ', 'repl': 'g'} + +- {"pattern": "’", "repl": "'"} +- {"pattern": "‘", "repl": "'"} +- {"pattern": ";", "repl": ','} +- {"pattern": "—", "repl": ' '} +- {"pattern": "–", "repl": ' '} +- {"pattern": "♫", "repl": ' '} +- {"pattern": "♪", "repl": ' '} +- {"pattern": "♬", "repl": ' '} +- {"pattern": "♩", "repl": ' '} +- {"pattern": "♭", "repl": ' '} +- {"pattern": '\|', "repl": ' '} +- {'pattern': ':', 'repl': ' '} +- {'pattern': '-', 'repl': ' '} + +# Keep these characters and remove everything else !$',.0123456789?ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +- {"pattern": "[^ €₽₴$£%!',.?0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzČčŠšŽž]", "repl": ""} + +# keep capital letters, lowercase letters, and spaces, ?, !, ., ,, and ' only +- {"pattern": '\s+\.', "repl": "."} +- {"pattern": '\?+', "repl": "?"} +- {"pattern": '\.+', "repl": "."} +- {"pattern": ',+', "repl": ","} +- {"pattern": '!+', "repl": "!"} +- {"pattern": '\s+', "repl": " "} diff --git a/dataset_configs/multilingual/granary/partials/subregex_params/sv.yaml b/dataset_configs/multilingual/granary/partials/subregex_params/sv.yaml new file mode 100644 index 00000000..f9afe0da --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/subregex_params/sv.yaml @@ -0,0 +1,30 @@ +- {'pattern': 'é', 'repl': 'e'} +- {'pattern': 'ñ', 'repl': 'n'} +- {'pattern': 'á', 'repl': 'a'} +- {'pattern': 'ă', 'repl': 'a'} +- {'pattern': 'ş', 'repl': 's'} + +- {"pattern": "’", "repl": "'"} +- {"pattern": "‘", "repl": "'"} +- {"pattern": ";", "repl": ','} +- {"pattern": "—", "repl": ' '} +- {"pattern": "–", "repl": ' '} +- {"pattern": "♫", "repl": ' '} +- {"pattern": "♪", "repl": ' '} +- {"pattern": "♬", "repl": ' '} +- {"pattern": "♩", "repl": ' '} +- {"pattern": "♭", "repl": ' '} +- {"pattern": '\|', "repl": ' '} +- {'pattern': ':', 'repl': ' '} +- {'pattern': '-', 'repl': ' '} + +# Keep these characters and remove everything else !$',.0123456789?ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +- {"pattern": "[^ €₽₴$£%!',.?0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzÄÅÖäåö]", "repl": ""} + +# keep capital letters, lowercase letters, and spaces, ?, !, ., ,, and ' only +- {"pattern": '\s+\.', "repl": "."} +- {"pattern": '\?+', "repl": "?"} +- {"pattern": '\.+', "repl": "."} +- {"pattern": ',+', "repl": ","} +- {"pattern": '!+', "repl": "!"} +- {"pattern": '\s+', "repl": " "} \ No newline at end of file diff --git a/dataset_configs/multilingual/granary/partials/subregex_params/uk.yaml b/dataset_configs/multilingual/granary/partials/subregex_params/uk.yaml new file mode 100644 index 00000000..34468f7e --- /dev/null +++ b/dataset_configs/multilingual/granary/partials/subregex_params/uk.yaml @@ -0,0 +1,26 @@ +- {'pattern': 'é', 'repl': 'e'} + +- {"pattern": "’", "repl": "'"} +- {"pattern": "‘", "repl": "'"} +- {"pattern": ";", "repl": ','} +- {"pattern": "–", "repl": "-"} +- {"pattern": "—", "repl": "-"} +- {"pattern": "♫", "repl": ' '} +- {"pattern": "♪", "repl": ' '} +- {"pattern": "♬", "repl": ' '} +- {"pattern": "♩", "repl": ' '} +- {"pattern": "♭", "repl": ' '} +- {"pattern": '\|', "repl": ' '} +- {'pattern': ':', 'repl': ' '} +- {'pattern': '-', 'repl': '-'} + +# Keep these characters and remove everything else !$',.0123456789?ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +- {"pattern": "[^ €₽₴$£%!',.?0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzЄІЇАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЮЯабвгдежзийклмнопрстуфхцчшщьюяєіїҐґ-]", "repl": ""} + +# keep capital letters, lowercase letters, and spaces, ?, !, ., ,, and ' only +- {"pattern": '\s+\.', "repl": "."} +- {"pattern": '\?+', "repl": "?"} +- {"pattern": '\.+', "repl": "."} +- {"pattern": ',+', "repl": ","} +- {"pattern": '!+', "repl": "!"} +- {"pattern": '\s+', "repl": " "} \ No newline at end of file diff --git a/docs/gen_docs.py b/docs/gen_docs.py index 856b1948..90b752bb 100644 --- a/docs/gen_docs.py +++ b/docs/gen_docs.py @@ -44,7 +44,7 @@ def gen_docs(): if file.endswith('.yaml'): source_path = os.path.join(root, file) config_path = source_path.replace(config_dir, '')[1:] # removing leading / - if config_path in IGNORE_CONFIGS: + if config_path in IGNORE_CONFIGS or "partials" in Path(config_path).parts: continue destination_path = source_path.replace(config_dir, config_docs_dir).replace('.yaml', '.rst') with open(source_path, "rt", encoding="utf-8") as fin: diff --git a/tests/test_cfg_runtime_tests.py b/tests/test_cfg_runtime_tests.py index eb3cb4ec..73f32cad 100644 --- a/tests/test_cfg_runtime_tests.py +++ b/tests/test_cfg_runtime_tests.py @@ -25,7 +25,10 @@ def get_test_cases(): """Returns paths to all configs that are checked in.""" for config_path in glob.glob(f"{DATASET_CONFIGS_ROOT}/**/*.yaml", recursive=True): - if not config_path.endswith("nemo_run_config.yaml"): + path_parts = Path(config_path).parts + if "partials" in path_parts: + continue + else: yield config_path From af29b158b8fac632ba422b20994f28c526b5e793 Mon Sep 17 00:00:00 2001 From: Sasha Meister Date: Thu, 7 Aug 2025 02:55:46 -0700 Subject: [PATCH 02/34] Skip nemo_run_config.yaml in no-nemo-tests Signed-off-by: Sasha Meister --- tests/test_cfg_runtime_tests.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/test_cfg_runtime_tests.py b/tests/test_cfg_runtime_tests.py index 73f32cad..0949ac96 100644 --- a/tests/test_cfg_runtime_tests.py +++ b/tests/test_cfg_runtime_tests.py @@ -26,7 +26,9 @@ def get_test_cases(): """Returns paths to all configs that are checked in.""" for config_path in glob.glob(f"{DATASET_CONFIGS_ROOT}/**/*.yaml", recursive=True): path_parts = Path(config_path).parts - if "partials" in path_parts: + if config_path.endswith("nemo_run_config.yaml"): + continue + elif "partials" in path_parts: continue else: yield config_path From 7b390cb6b5f8da9eb6cacdfb69c3a04bcd769164 Mon Sep 17 00:00:00 2001 From: Sasha Meister Date: Thu, 7 Aug 2025 04:22:21 -0700 Subject: [PATCH 03/34] Fixed missed yaml module Signed-off-by: Sasha Meister --- sdp/processors/modify_manifest/data_to_data.py | 1 + 1 file changed, 1 insertion(+) diff --git a/sdp/processors/modify_manifest/data_to_data.py b/sdp/processors/modify_manifest/data_to_data.py index 88405d2c..ed052aee 100644 --- a/sdp/processors/modify_manifest/data_to_data.py +++ b/sdp/processors/modify_manifest/data_to_data.py @@ -22,6 +22,7 @@ import wget import tarfile from glob import glob +import yaml import soundfile import torchaudio From 555eddfa862dce1da908b441848f46a86c89296b Mon Sep 17 00:00:00 2001 From: Sasha Meister Date: Thu, 7 Aug 2025 04:34:05 -0700 Subject: [PATCH 04/34] CountNumWords without alphabet Signed-off-by: Sasha Meister --- .../modify_manifest/data_to_data.py | 30 +++++++++++++------ 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/sdp/processors/modify_manifest/data_to_data.py b/sdp/processors/modify_manifest/data_to_data.py index ed052aee..73681d5d 100644 --- a/sdp/processors/modify_manifest/data_to_data.py +++ b/sdp/processors/modify_manifest/data_to_data.py @@ -117,31 +117,43 @@ def process_dataset_entry(self, data_entry): class CountNumWords(BaseParallelProcessor): """ - Processor for counting the number of words in the text_key field saving the number in num_words_key. + A processor that counts the number of words in the `text_key` field of each dataset entry and stores the result in `num_words_key`. + + Before counting, the text is optionally cleaned using a custom `alphabet`: + - If `alphabet` is provided, all characters not in the alphabet are replaced with whitespace. + - Consecutive whitespace characters are collapsed into a single space. + - The number of resulting space-separated tokens is counted as the number of words. Args: - text_key (str): The field containing the input text in the dataset. - num_words_key (str): The field to store the number of words in the dataset. - alphabet (str): Characters to be used to count words. Any other characters are substituted by whitespace and not take into account. - **kwargs: Additional keyword arguments to be passed to the base class `BaseParallelProcessor`. + text_key (str): The key in the input data entry containing the text to be analyzed. + num_words_key (str): The key under which the word count will be stored in the output entry. Defaults to "num_words". + alphabet (str, optional): A string of allowed characters (e.g., lowercase letters). All characters not in this set will be replaced with whitespace before counting. If not provided, no filtering is applied. + **kwargs: Additional arguments passed to the BaseParallelProcessor. + Returns: + A manifest where each entry is the original data entry with an added field `num_words_key` (default: `"num_words"`), + indicating the number of words in the `text_key` field. """ def __init__( self, text_key: str, - num_words_key: str, - alphabet: str, + num_words_key: str = "num_words", + alphabet: str = None, **kwargs, ): super().__init__(**kwargs) self.text_key = text_key self.num_words_key = num_words_key - self.pattern = re.compile("[^" + alphabet + "]") + self.pattern = None + if alphabet: + self.pattern = re.compile("[^" + alphabet + "]") def process_dataset_entry(self, data_entry): text = data_entry[self.text_key] - cleaned_string = self.pattern.sub("", text).strip() + cleaned_string = text + if self.pattern: + cleaned_string = self.pattern.sub("", cleaned_string).strip() cleaned_string = re.sub("\\s+", " ", cleaned_string).strip() words = cleaned_string.split() num_words = len(words) From c8ae55861d61b36dd029bbe4b7288a58c0bdbdf7 Mon Sep 17 00:00:00 2001 From: Sasha Meister Date: Thu, 7 Aug 2025 05:23:49 -0700 Subject: [PATCH 05/34] Fix TypeError: cannot pickle 'fasttext_pybind.fasttext' object Signed-off-by: Sasha Meister --- .../inference/nlp/fasttext/fasttext.py | 30 +++++++++++-------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/sdp/processors/inference/nlp/fasttext/fasttext.py b/sdp/processors/inference/nlp/fasttext/fasttext.py index 2759ba9e..448cd370 100644 --- a/sdp/processors/inference/nlp/fasttext/fasttext.py +++ b/sdp/processors/inference/nlp/fasttext/fasttext.py @@ -29,23 +29,22 @@ class FastTextLangIdClassifier(BaseParallelProcessor): specified input text field. Args: - model_name_or_path (str): Path to a FastText model file or the name of a supported remote model - ('lid.176.bin' or 'lid.176.ftz'). + model_name_or_path (str): Path to a FastText model file or the name of a supported remote model ('lid.176.bin' or 'lid.176.ftz'). text_field (str): The name of the field in the dataset entry that contains the input text for classification. output_field (str): The name of the field to store the predicted label. Defaults to "label". top_k (int): The number of top predictions to return. Defaults to 1 (-1 for all). - cache_dir (str, optional): Directory to store the downloaded model file. If not provided, a temporary - directory is used. + cache_dir (str, optional): Directory to store the downloaded model file. If not provided, a temporary directory is used. **kwargs: Additional keyword arguments passed to `BaseParallelProcessor`. Returns: A manifest where each entry contains the original data fields plus - - ``: The predicted label (e.g., language code for `lid.176.bin`), + - ``: The predicted label (e.g., language code for `lid.176.bin`). - `_prob`: The probability of the prediction. - - Note: + + .. note:: Make sure to install `fasttext` before using this processor: - `pip install fasttext` + pip install fasttext + """ SUPPROTED_MODELS_URLS = { @@ -87,6 +86,13 @@ def _download_model(self): self.model_name_or_path = wget.download(model_url, out=self.cache_dir) logger.info(f'Model `{self.model_name_or_path}` has been downloaded to {self.cache_dir}.') + + def _load_model(self): + """Lazily loads the FastText model into memory.""" + import fasttext + + if self._model is None: + self._model = fasttext.load_model(self.model_name_or_path) def prepare(self): """ @@ -95,20 +101,18 @@ def prepare(self): - Downloads the model if only the name is given and it's known. - Raises ValueError if the path or model name is invalid. """ - import fasttext - if not os.path.exists(self.model_name_or_path): - if self.cache_dir and os.path.exists(os.path.join(self.cache_dir, self.model_name_or_path)): + if os.path.exists(os.path.join(self.cache_dir, self.model_name_or_path)): self.model_name_or_path = os.path.join(self.cache_dir, self.model_name_or_path) elif self.model_name_or_path in self.SUPPROTED_MODELS_URLS: self._download_model() else: raise ValueError(f'Current model is not supported or filepath is invalid: {self.model_name_or_path}.') - - self._model = fasttext.load_model(self.model_name_or_path) def process_dataset_entry(self, data_entry: dict): """Applies the classifier to a single dataset entry.""" + self._load_model() + text = data_entry[self.text_field].strip().replace("\n", " ") label, prob = self._model.predict(text) if self.top_k == 1: From e39705ba7a9258926c5acd8db38d7140bea0c1d1 Mon Sep 17 00:00:00 2001 From: Sasha Meister Date: Thu, 7 Aug 2025 05:38:19 -0700 Subject: [PATCH 06/34] Added missed methods for manifest reading and fixed gpu amount setup when max_device is -1 Signed-off-by: Sasha Meister --- .../inference/quality_estimation/pymarian.py | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/sdp/processors/inference/quality_estimation/pymarian.py b/sdp/processors/inference/quality_estimation/pymarian.py index 9a1c4d94..a2a4af06 100644 --- a/sdp/processors/inference/quality_estimation/pymarian.py +++ b/sdp/processors/inference/quality_estimation/pymarian.py @@ -93,6 +93,8 @@ def __init__(self, self.model = None self.chunksize = chunksize + self.number_of_entries = 0 + def load_model(self): try: from pymarian import Evaluator @@ -135,7 +137,7 @@ def load_model(self): if torch.cuda.is_available(): max_available_gpus = torch.cuda.device_count() if self.max_workers == -1 or self.max_workers > max_available_gpus: - self.max_workers = max_available_cpus + self.max_workers = max_available_gpus except Exception: pass @@ -147,6 +149,29 @@ def load_model(self): self.model = Evaluator(marian_args) + def _chunk_manifest(self): + """Splits the manifest into smaller chunks defined by ``in_memory_chunksize``.""" + manifest_chunk = [] + for idx, data_entry in enumerate(self.read_manifest(), 1): + manifest_chunk.append(data_entry) + if idx % self.chunksize == 0: + yield manifest_chunk + manifest_chunk = [] + if manifest_chunk: + yield manifest_chunk + + def read_manifest(self): + """Reading the input manifest file. + .. note:: + This function should be overridden in the "initial" class creating + manifest to read from the original source of data. + """ + if not self.input_manifest_file: + raise NotImplementedError("Override this method if no input manifest file is used") + with open(self.input_manifest_file, "rt", encoding="utf8") as fin: + for line in fin: + yield json.loads(line) + def process(self): """ Process the entire manifest in chunks. From 0cedf9e32a5db843bf88918ed5ab9161b4f9164c Mon Sep 17 00:00:00 2001 From: Sasha Meister Date: Thu, 7 Aug 2025 06:39:27 -0700 Subject: [PATCH 07/34] Fix fasttext test Signed-off-by: Sasha Meister --- .../inference/nlp/fasttext/fasttext.py | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/sdp/processors/inference/nlp/fasttext/fasttext.py b/sdp/processors/inference/nlp/fasttext/fasttext.py index 448cd370..a78c6c17 100644 --- a/sdp/processors/inference/nlp/fasttext/fasttext.py +++ b/sdp/processors/inference/nlp/fasttext/fasttext.py @@ -47,7 +47,7 @@ class FastTextLangIdClassifier(BaseParallelProcessor): """ - SUPPROTED_MODELS_URLS = { + SUPPORTED_MODELS_URLS = { 'lid.176.bin' : 'https://dl.fbaipublicfiles.com/fasttext/supervised-models/lid.176.bin', 'lid.176.ftz' : 'https://dl.fbaipublicfiles.com/fasttext/supervised-models/lid.176.ftz' } @@ -101,18 +101,23 @@ def prepare(self): - Downloads the model if only the name is given and it's known. - Raises ValueError if the path or model name is invalid. """ - if not os.path.exists(self.model_name_or_path): - if os.path.exists(os.path.join(self.cache_dir, self.model_name_or_path)): - self.model_name_or_path = os.path.join(self.cache_dir, self.model_name_or_path) - elif self.model_name_or_path in self.SUPPROTED_MODELS_URLS: - self._download_model() - else: - raise ValueError(f'Current model is not supported or filepath is invalid: {self.model_name_or_path}.') + if os.path.isfile(self.model_name_or_path): + return + if self.cache_dir: + cached_path = os.path.join(self.cache_dir, self.model_name_or_path) + if os.path.isfile(cached_path): + self.model_name_or_path = cached_path + return + if self.model_name_or_path in self.SUPPORTED_MODELS_URLS: + self._download_model() + return + raise ValueError( + f'Current model is not supported or filepath is invalid: {self.model_name_or_path}.' + ) def process_dataset_entry(self, data_entry: dict): """Applies the classifier to a single dataset entry.""" self._load_model() - text = data_entry[self.text_field].strip().replace("\n", " ") label, prob = self._model.predict(text) if self.top_k == 1: From 0870c36600f69b4bfd6d8d2fcc20240d03cae336 Mon Sep 17 00:00:00 2001 From: Sasha Meister Date: Thu, 7 Aug 2025 07:17:23 -0700 Subject: [PATCH 08/34] Fix typo Signed-off-by: Sasha Meister --- sdp/processors/inference/nlp/fasttext/fasttext.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdp/processors/inference/nlp/fasttext/fasttext.py b/sdp/processors/inference/nlp/fasttext/fasttext.py index a78c6c17..5037eb76 100644 --- a/sdp/processors/inference/nlp/fasttext/fasttext.py +++ b/sdp/processors/inference/nlp/fasttext/fasttext.py @@ -71,7 +71,7 @@ def __init__( def _download_model(self): """Downloads the FastText model from a predefined URL and stores it in the cache directory.""" - model_url = self.SUPPROTED_MODELS_URLS[self.model_name_or_path] + model_url = self.SUPPORTED_MODELS_URLS[self.model_name_or_path] logger.info(f'Downloading {self.model_name_or_path}..') response = requests.get(model_url) From 3560d5be7dea71d1bb1b4fb1f27ef47992f57824 Mon Sep 17 00:00:00 2001 From: Sasha Meister Date: Thu, 7 Aug 2025 08:48:49 -0700 Subject: [PATCH 09/34] Config and test Signed-off-by: Sasha Meister --- .../multilingual/granary/config.yaml | 393 ++++++++++++++++++ docs/src/sdp/existing_configs.rst | 11 + tests/test_granary_pipeline_end_to_end.py | 126 ++++++ 3 files changed, 530 insertions(+) create mode 100644 dataset_configs/multilingual/granary/config.yaml create mode 100644 tests/test_granary_pipeline_end_to_end.py diff --git a/dataset_configs/multilingual/granary/config.yaml b/dataset_configs/multilingual/granary/config.yaml new file mode 100644 index 00000000..b525c02a --- /dev/null +++ b/dataset_configs/multilingual/granary/config.yaml @@ -0,0 +1,393 @@ +documentation: | + YODAS2 + ############ + Documentation is in progress. + +input_manifest_file: ?? +output_dir: ?? +sdp_dir: ?? #/path/to/NeMo-speech-data-processor +cache_dir: ${output_dir}/cache + +params: + source_lang: en + source_lang_full: English + min_audio_lid_probability: 0.7 + min_audio_duration: 0.1 + max_audio_duration: 40.0 + use_regex: common + translation: + target_lang: it + target_lang_full: Italian + max_len_diff_ratio: 4 + min_hist_token_ratio: 0.8 + min_text_lid_probability: 0.3 + min_qe_score: 0.75 + convert_to_audio_tarred_dataset: + should_run: True + num_shards: 16 + buckets_num: 1 + save_disk_space: False + +processors_to_run: "all" +use_dask: False + +processors: + - _target_: sdp.processors.FfmpegConvert + input_manifest_file: ${input_manifest_file} + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_00.json + input_file_key: 'source_audio_filepath' + output_file_key: 'audio_filepath' + converted_audio_dir: ${output_dir}/${params.source_lang}/converted_audio/ + target_samplerate: 16000 + target_nchannels: 1 + + - _target_: sdp.processors.GetAudioDuration + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_01.json + audio_filepath_key: 'audio_filepath' + duration_key: 'duration' + + - _target_: sdp.processors.RemoveFiles + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_02.json + filepath_field: 'source_audio_filepath' + should_run: ${params.save_disk_space} + + - _target_: sdp.processors.FasterWhisperInference + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_03.json + model_size_or_path: 'large-v3' + num_devices: -1 + output_dir: ${output_dir}/${params.source_lang}/step_03 + language_detection_only: True + inference: + language_detection_segments: 7 + chunk_length: 30 + save_timestamps_separately: False + skip_corrupted_audios: True + + - _target_: sdp.processors.LambdaExpression + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_04.json + new_field: 'lid_verified' + expression: (entry.language == "${params.source_lang}") & (entry.language_probability >= ${params.min_audio_lid_probability}) + filter: True + + - _target_: sdp.processors.DropSpecifiedFields + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_05.json + fields_to_drop: + - source_audio_filepath + - language + - language_probability + - lid_verified + + - _target_: sdp.processors.FasterWhisperInference + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_06.json + model_size_or_path: 'large-v3' + output_dir: ${output_dir}/${params.source_lang}/step_06 + num_devices: -1 + inference: + language: ${params.source_lang} + save_timestamps_separately: False + skip_corrupted_audios: True + + - _target_: sdp.processors.DropSpecifiedFields + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_07.json + fields_to_drop: + - duration + + - _target_: sdp.processors.ListToEntries + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_08.json + field_with_list: 'segments' + + - _target_: sdp.processors.KeepOnlySpecifiedFields + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_09.json + fields_to_keep: + - audio_filepath + - id + - start + - end + - text + - language + + - _target_: sdp.processors.LambdaExpression + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_10.json + new_field: 'duration' + expression: entry.end - entry.start + + - _target_: sdp.processors.DropHighLowDuration + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_11.json + high_duration_threshold: ${params.max_audio_duration} + low_duration_threshold: ${params.min_audio_duration} + + - _target_: sdp.processors.RenameFields + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_12.json + rename_fields: + start: offset + id: segment_id + language: source_lang + + - _target_: sdp.processors.KeepOnlySpecifiedFields + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_13.json + fields_to_keep: + - source_lang + - audio_filepath + - segment_id + - offset + - duration + + - _target_: sdp.processors.FasterWhisperInference + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_14.json + model_size_or_path: 'large-v3' + num_devices: -1 + output_dir: ${output_dir}/${params.source_lang}/step_14 + inference: + language: ${params.source_lang} + save_timestamps_separately: False + skip_corrupted_audios: True + slice_by_offset: True + + - _target_: sdp.processors.KeepOnlySpecifiedFields + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_15.json + fields_to_keep: + - source_lang + - audio_filepath + - segment_id + - offset + - duration + - pred_text + + - _target_: sdp.processors.RenameFields + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_16.json + rename_fields: + pred_text: text + + - _target_: sdp.processors.DropIfRegexMatch + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_17.json + text_key: text + regex_patterns: + - "^\\s*$" + + - _target_: sdp.processors.DetectWhisperHallucinationFeatures + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_18.json + common_hall_file: ${sdp_dir}/dataset_configs/multilingual/granary/partials/common_phrases/${params.source_lang}.txt + text_field: text + + - _target_: sdp.processors.LambdaExpression + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_19.json + new_field: is_hallucinated + expression: (not entry.hall_repeated_ngrams) & (not entry.hall_long_word) & (not entry.hall_frequent_single_word) + filter: True + + - _target_: sdp.processors.KeepOnlySpecifiedFields + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_20.json + fields_to_keep: + - source_lang + - audio_filepath + - segment_id + - offset + - duration + - text + + - _target_: sdp.processors.vLLMInference + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_21.json + generation_field: src_text + prompt_file: ${sdp_dir}/dataset_configs/multilingual/granary/partials/pr_recovery_prompts/${params.source_lang}.yaml + model: + model: "Qwen/Qwen2.5-7B-Instruct-1M" + tensor_parallel_size: 2 + max_model_len: 2048 + enable_chunked_prefill: True + max_num_batched_tokens: 1024 + enforce_eager: True + dtype: float16 + gpu_memory_utilization: 0.95 + max_num_seqs: 16 + inference: + temperature: 0.7 + top_p: 0.8 + repetition_penalty: 1.05 + max_tokens: 2048 + apply_chat_template: + tokenize: False + add_generation_prompt: True + + - _target_: sdp.processors.CleanQwenGeneration + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_22.json + text_field: text + generation_field: src_text + + - _target_: sdp.processors.SubRegex + text_key: src_text + regex_params_yaml: ${sdp_dir}/dataset_configs/multilingual/granary/partials/subregex_params/${params.use_regex}.yaml + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_23.json + + - _target_: sdp.processors.DropSpecifiedFields + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_24.json + fields_to_drop: + - text + + - _target_: sdp.processors.AddConstantFields + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_25.json + fields: + target_lang: ${params.translation.target_lang} + + - _target_: sdp.processors.vLLMInference + generation_field: tgt_text + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_26.json + prompt: + system: "" + user: | + Translate the following ${params.source_lang_full} source text to ${params.translation.target_lang_full}: + ${params.source_lang_full}: {src_text} + ${params.translation.target_lang_full}: + model: + model: "utter-project/EuroLLM-9B-Instruct" + dtype: float16 + tensor_parallel_size: 2 + inference: + best_of: 1 + temperature: 0.0 + top_p: 1.0 + max_tokens: 1280 + apply_chat_template: + max_length: 512 + tokenize: False + add_generation_prompt: True + + - _target_: sdp.processors.CountNumWords + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_27.json + text_key: src_text + num_words_key: num_words_src + + - _target_: sdp.processors.CountNumWords + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_28.json + text_key: tgt_text + num_words_key: num_words_tgt + + - _target_: sdp.processors.LambdaExpression + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_29.json + new_field: num_words_filter + expression: (entry.num_words_src > 1) & (entry.num_words_tgt > 1) + filter: True + + - _target_: sdp.processors.LambdaExpression + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_30.json + new_field: len_diff_ratio + expression: max(entry.num_words_src / entry.num_words_tgt, entry.num_words_tgt / entry.num_words_src) + + - _target_: sdp.processors.PreserveByValue + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_31.json + input_value_key: len_diff_ratio + operator: lt + target_value: ${params.translation.max_len_diff_ratio} + + - _target_: sdp.processors.DropSpecifiedFields + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_32.json + fields_to_drop: + - num_words_src + - num_words_tgt + - num_words_filter + - len_diff_ratio + + - _target_: sdp.processors.CharacterHistogramLangValidator + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_33.json + text_field: src_text + lang: ${params.source_lang} + output_score_field: src_hist_token_ratio + cache_dir: ${cache_dir} + + - _target_: sdp.processors.CharacterHistogramLangValidator + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_34.json + text_field: tgt_text + lang: ${params.translation.target_lang} + output_score_field: tgt_hist_token_ratio + cache_dir: ${cache_dir} + + - _target_: sdp.processors.LambdaExpression + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_35.json + new_field: len_diff_ratio_filter + expression: (entry.src_hist_token_ratio > ${params.translation.min_hist_token_ratio}) & (entry.tgt_hist_token_ratio > ${params.translation.min_hist_token_ratio}) + filter: True + + - _target_: sdp.processors.DropSpecifiedFields + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_36.json + fields_to_drop: + - src_hist_token_ratio + - tgt_hist_token_ratio + - len_diff_ratio_filter + + - _target_: sdp.processors.FastTextLangIdClassifier + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_37.json + text_field: src_text + output_field: src_lid + model_name_or_path: lid.176.bin + cache_dir: ${cache_dir} + + - _target_: sdp.processors.FastTextLangIdClassifier + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_38.json + text_field: tgt_text + output_field: tgt_lid + model_name_or_path: lid.176.bin + cache_dir: ${cache_dir} + + - _target_: sdp.processors.LambdaExpression + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_39.json + new_field: lid_filter + expression: (entry.src_lid == '${params.source_lang}') & (entry.src_lid_prob > ${params.translation.min_text_lid_probability}) & (entry.tgt_lid == '${params.translation.target_lang}') & (entry.tgt_lid_prob > ${params.translation.min_text_lid_probability}) + filter: True + + - _target_: sdp.processors.DropSpecifiedFields + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_40.json + fields_to_drop: + - src_lid + - src_lid_prob + - tgt_lid + - tgt_lid_prob + - lid_filter + + - _target_: sdp.processors.CometoidWMTQualityEstimation + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_41.json + source_text_field: src_text + target_text_field: tgt_text + model_name_or_path: cometoid-wmt23 + device_type: gpu + num_devices: -1 + chunksize: 10 + + - _target_: sdp.processors.PreserveByValue + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_42.json + input_value_key: cometoid_score + operator: gt + target_value: ${params.translation.min_qe_score} + + - _target_: sdp.processors.DropSpecifiedFields + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_43.json + fields_to_drop: + - cometoid_score + + - _target_: sdp.processors.AddConstantFields + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_44.json + fields: + decodercontext: "" + "emotion": "<|emo:undefined|>" + "pnc": "pnc" + "itn": "itn" + "timestamp": "notimestamp" + "diarize": "nodiarize" + + - _target_: sdp.processors.RenameFields + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_45.json + rename_fields: + src_text: text + tgt_text: answer + + - _target_: sdp.processors.ConvertToTarredAudioDataset + should_run: ${params.convert_to_audio_tarred_dataset.should_run} + output_manifest_file: ${output_dir}/${params.source_lang}/manifest_46.json + min_duration: ${params.min_audio_duration} + max_duration: ${params.max_audio_duration} + target_dir: ${output_dir}/${params.source_lang}/tarred_dataset + num_shards: ${params.convert_to_audio_tarred_dataset.num_shards} + buckets_num: ${params.convert_to_audio_tarred_dataset.buckets_num} + workers: -1 + shuffle: True + shuffle_seed: 1 + sort_in_shards: True + slice_with_offset: True \ No newline at end of file diff --git a/docs/src/sdp/existing_configs.rst b/docs/src/sdp/existing_configs.rst index d151a848..5ae6ce22 100644 --- a/docs/src/sdp/existing_configs.rst +++ b/docs/src/sdp/existing_configs.rst @@ -450,3 +450,14 @@ Earnings21/22 :hidden: config-docs/english/earnings/config + +Granary +~~~~~~~ + +**Required manual steps:** You need to download the dataset. + +`config `__ | +:doc:`documentation ` + +.. toctree:: + :hidden: \ No newline at end of file diff --git a/tests/test_granary_pipeline_end_to_end.py b/tests/test_granary_pipeline_end_to_end.py new file mode 100644 index 00000000..90f27057 --- /dev/null +++ b/tests/test_granary_pipeline_end_to_end.py @@ -0,0 +1,126 @@ +import pytest +import boto3 +import json +import os +from pathlib import Path +from omegaconf import OmegaConf +from sdp.run_processors import run_processors +import shutil + +DATASET_CONFIGS_ROOT = Path(__file__).parents[1] / "dataset_configs" + +@pytest.fixture +def granary_data(tmp_path: Path): + # Download the data from S3 + s3 = boto3.client( + 's3', + aws_access_key_id=os.getenv("AWS_ACCESS_KEY"), + aws_secret_access_key=os.getenv("AWS_SECRET_KEY") + ) + + granary_key_prefix = "test_data/granary" + + file_keys_to_download = [ + f"{granary_key_prefix}/reference_manifest.json", + f"{granary_key_prefix}/manifest_03.json", + f"{granary_key_prefix}/manifest_06.json", + f"{granary_key_prefix}/manifest_14.json", + f"{granary_key_prefix}/manifest_21.json", + f"{granary_key_prefix}/manifest_26.json", + f"{granary_key_prefix}/manifest_34.json", + f"{granary_key_prefix}/manifest_39.json", + f"{granary_key_prefix}/audio/zCW0Pa0BI4Q.wav", + f"{granary_key_prefix}/audio/zHWk3Ae7qJ0.wav", + f"{granary_key_prefix}/audio/zHtFdl5K8qg.wav", + f"{granary_key_prefix}/audio/zCW9rGbaF4E.wav", + f"{granary_key_prefix}/audio/zG3RpHaMzkQ.wav", + ] + + input_manifest_file = tmp_path / "input_manifest.json" + with open(input_manifest_file, 'w', encoding="utf8") as f: + for file_key in file_keys_to_download: + rel_path = file_key.replace(granary_key_prefix + "/", "") + dest_path = tmp_path / rel_path + dest_path.parent.mkdir(parents=True, exist_ok=True) + + s3.download_file("sdp-test-data", file_key, str(dest_path)) + + if file_key.endswith(".wav"): + f.write(json.dumps({"source_audio_filepath": str(dest_path)}) + "\n") + + return tmp_path + +def test_granary_pipeline_end_to_end(granary_data): + assert os.path.exists(granary_data) + config_path = DATASET_CONFIGS_ROOT / "multilingual/granary/config.yaml" + input_manifest_file = os.path.join(granary_data, "input_manifest.json") + reference_manifest = os.path.join(granary_data, "reference_manifest.json") + + cfg = OmegaConf.load(config_path) + + cfg.input_manifest_file = input_manifest_file + cfg.output_dir = os.path.join(granary_data, "sdp_output") + cfg.sdp_dir = Path(__file__).parents[1] + + #disable some processors + ## step 3: FasterWhisperInference + cfg.processors[3].should_run = False + cfg.processors[4].input_manifest_file = os.path.join(granary_data, "manifest_03.json") + + ## step 14: FasterWhisperInference + cfg.processors[6].should_run = False + cfg.processors[7].input_manifest_file = os.path.join(granary_data, "manifest_06.json") + + ## step 21: FasterWhisperInference + cfg.processors[14].should_run = False + cfg.processors[15].input_manifest_file = os.path.join(granary_data, "manifest_14.json") + + ## step 21: vLLMInference + cfg.processors[21].should_run = False + cfg.processors[22].input_manifest_file = os.path.join(granary_data, "manifest_21.json") + + ## step 26: vLLMInference + cfg.processors[26].should_run = False + cfg.processors[27].input_manifest_file = os.path.join(granary_data, "manifest_26.json") + + ## steps 33-34: CharacterHistogramLangValidator + cfg.processors[33].should_run = False + cfg.processors[34].should_run = False + cfg.processors[35].input_manifest_file = os.path.join(granary_data, "manifest_34.json") + + ## step 39: CometoidWMTQualityEstimation + cfg.processors[39].should_run = False + cfg.processors[40].input_manifest_file = os.path.join(granary_data, "manifest_39.json") + + run_processors(cfg) + + final_manifest = cfg.processors[-1].output_manifest_file + fields_to_ignore = ['audio_filepath'] + + with open(reference_manifest, "rt", encoding="utf8") as reference_fin, \ + open(final_manifest, "rt", encoding="utf8") as generated_fin: + reference_lines = sorted(reference_fin.readlines()) + generated_lines = sorted(generated_fin.readlines()) + assert len(reference_lines) == len(generated_lines) + + for reference_line, generated_line in zip(reference_lines, generated_lines): + reference_data = json.loads(reference_line) + generated_data = json.loads(generated_line) + for field in fields_to_ignore: + reference_data.pop(field, None) + generated_data.pop(field, None) + assert reference_data == generated_data + + if os.getenv("CLEAN_UP_TMP_PATH", "0") != "0": + shutil.rmtree(granary_data) + + + + + + + + + + + From e18dba5968c6be91ec1d4f9f272aa8f323ea637c Mon Sep 17 00:00:00 2001 From: Sasha Meister Date: Thu, 7 Aug 2025 08:57:35 -0700 Subject: [PATCH 10/34] Fix docs Signed-off-by: Sasha Meister --- docs/src/sdp/existing_configs.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/src/sdp/existing_configs.rst b/docs/src/sdp/existing_configs.rst index 5ae6ce22..074dc12d 100644 --- a/docs/src/sdp/existing_configs.rst +++ b/docs/src/sdp/existing_configs.rst @@ -460,4 +460,6 @@ Granary :doc:`documentation ` .. toctree:: - :hidden: \ No newline at end of file + :hidden: + + config-docs/multilingual/granary/config \ No newline at end of file From 6e028143826252c2dcdede3df2e54e4fe85a00b4 Mon Sep 17 00:00:00 2001 From: Sasha Meister Date: Thu, 7 Aug 2025 09:48:39 -0700 Subject: [PATCH 11/34] Add try/except for s3.download_file Signed-off-by: Sasha Meister --- tests/test_granary_pipeline_end_to_end.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tests/test_granary_pipeline_end_to_end.py b/tests/test_granary_pipeline_end_to_end.py index 90f27057..2d759222 100644 --- a/tests/test_granary_pipeline_end_to_end.py +++ b/tests/test_granary_pipeline_end_to_end.py @@ -1,5 +1,6 @@ import pytest import boto3 +from botocore.exceptions import ClientError import json import os from pathlib import Path @@ -36,6 +37,8 @@ def granary_data(tmp_path: Path): f"{granary_key_prefix}/audio/zG3RpHaMzkQ.wav", ] + bucket = "sdp-test-data" + input_manifest_file = tmp_path / "input_manifest.json" with open(input_manifest_file, 'w', encoding="utf8") as f: for file_key in file_keys_to_download: @@ -43,7 +46,11 @@ def granary_data(tmp_path: Path): dest_path = tmp_path / rel_path dest_path.parent.mkdir(parents=True, exist_ok=True) - s3.download_file("sdp-test-data", file_key, str(dest_path)) + try: + s3.download_file(bucket, file_key, str(dest_path)) + except ClientError as e: + code = e.response.get("Error", {}).get("Code", "") + pytest.skip(f"Cannot download s3://{bucket}/{file_key} ({code}).") if file_key.endswith(".wav"): f.write(json.dumps({"source_audio_filepath": str(dest_path)}) + "\n") From ffe8386078bc144a588387b685b99cc260e3ab47 Mon Sep 17 00:00:00 2001 From: Sasha Meister Date: Thu, 7 Aug 2025 10:06:48 -0700 Subject: [PATCH 12/34] Docs Signed-off-by: Sasha Meister --- .../multilingual/granary/config.yaml | 201 +++++++++++++++++- 1 file changed, 198 insertions(+), 3 deletions(-) diff --git a/dataset_configs/multilingual/granary/config.yaml b/dataset_configs/multilingual/granary/config.yaml index b525c02a..ac270826 100644 --- a/dataset_configs/multilingual/granary/config.yaml +++ b/dataset_configs/multilingual/granary/config.yaml @@ -1,7 +1,202 @@ documentation: | - YODAS2 - ############ - Documentation is in progress. + Granary Dataset Creation Pipeline + ================================= + + Overview + -------- + + This configuration drives the **Granary pseudo-labelling pipeline** – an + open-source workflow that transforms large, noisy speech corpora into + high-quality Automatic Speech Recognition (ASR) and Automatic Speech + Translation (AST) training data for **25 European languages**. + + The first public release of **Granary** (≈ 643 k h ASR / ≈ 351 k h AST) was + built from three openly available corpora: + + * `espnet/yodas2 `_ + * `FBK-MT/mosel `_ + * `PleIAs/YouTube-Commons `_ + + and is published as + `nvidia/Granary `_. + + .. note:: + + **GPU required.** All Whisper, vLLM, FastText and Comet-QE stages expect at + least one CUDA-capable GPU. Multi-GPU nodes are auto-detected when + ``num_devices: -1`` (default) is used. + + Software prerequisites + ---------------------- + + Install *NeMo-speech-data-processor* **plus** the extra wheels required by + specific processors: + + ``FasterWhisperInference``:: + + pip install pytorch-lightning \ + "nvidia-cublas-cu12" \ + "nvidia-cudnn-cu12==9.*" \ + faster_whisper + + export LD_LIBRARY_PATH=$(python - <<'PY' + import os, nvidia.cublas.lib, nvidia.cudnn.lib + print(os.path.dirname(nvidia.cublas.lib.__file__) + ":" + + os.path.dirname(nvidia.cudnn.lib.__file__)) + PY) + + ``vLLMInference``:: + + pip install "optree>=0.13.0" vllm + + ``CometoidWMTQualityEstimation``:: + + pip install pymarian + + ``FastTextLangIdClassifier``:: + + pip install fasttext + + ``ConvertToTarredAudioDataset`` *(optional, only if tar-sharding is enabled)*:: + + pip install lhotse "nemo-toolkit[common]==2.2.1" + + Quick start + ----------- + + 1. **Hardware** – Linux box with NVIDIA GPU(s) and ≥ 16 GB VRAM (reference runs used A100-80 GB; smaller cards work with reduced batch sizes). + + 2. **Install** *NeMo-speech-data-processor* and the extras listed above. + + 3. **Prepare** the *input manifest* and set three mandatory YAML keys: + + * ``input_manifest_file`` – manifest with raw audio paths + * ``output_dir`` – working/output directory + * ``sdp_dir`` – root of the SDP tree (for prompt/regex assets) + + 4. **Run the pipeline**: + + .. code-block:: bash + + # Path to your local clone of NeMo-speech-data-processor + SDP_DIR=/path/to/NeMo-speech-data-processor + + python ${SDP_DIR}/main.py \ + --config-path ${SDP_DIR}/dataset_configs/multilingual/granary/ \ + --config-name config.yaml \ + input_manifest_file=/path/to/input_manifest.json \ + output_dir=/path/to/output/dir \ + sdp_dir=${SDP_DIR} + + Input and output formats + ------------------------ + + **Input manifest** + + Each line is a JSON object with the source-audio path:: + + {"source_audio_filepath": "/path/to/file.flac"} + + **Key outputs** + + * ``${output_dir}/${source_lang}/manifest_46.json`` – final bilingual manifest + containing ``audio_filepath``, ``offset``, ``duration``, ``text`` (source) and + ``answer`` (translation), plus constant decoder flags. + + * ``${output_dir}/${source_lang}/tarred_dataset/`` – *(optional)* tarred-audio + shards and ``shard_manifest.json`` when + ``convert_to_audio_tarred_dataset.should_run: True``. + + * All intermediate ``manifest_XX.json`` files are kept for audit/debug. + + Pipeline stages + --------------- + + The processors executed (indices match the config): + + #. **FfmpegConvert (00)** – re-encode audio to 16 kHz/mono FLAC. + + #. **GetAudioDuration (01)** – compute clip length. + + #. **RemoveFiles (02)** – optionally delete originals (``params.save_disk_space``). + + #. **FasterWhisperInference (03)** – *pass 1* language detection. + + #. **LambdaExpression (04)** – probability-based LID filtering. + + #. **DropSpecifiedFields (05)** – remove temporary fields. + + #. **FasterWhisperInference (06, 14)** – two-pass transcription (second run can slice by offset). + + #. **Segmentation & grooming (07–13)** – split Whisper segments into atomic utterances. + + #. **Hallucination detection (18–20)** – drop repeated n-grams, garbage tokens and common filler phrases. + + #. **PnC restoration (21–23)** – Qwen-2.5-7B restores punctuation & capitalisation; optional regex clean-up. + + #. **Length & charset filtering (27–36)** – word-ratio, character histogram and FastText checks. + + #. **Quality estimation (41–43)** – keep pairs with Comet-QE ``score ≥ min_qe_score``. + + #. **Constant flags (44)** – add decoder directives (``<|emo:undefined|>``, *itn*, *pnc*, etc.). + + #. **Tarred dataset (46)** – shard audio into ``num_shards`` tar files (optional). + + Tunable parameters + ------------------ + + All knobs live under the ``params`` block. + + * **Language** + + * ``source_lang`` / ``source_lang_full`` + * ``translation.target_lang`` / ``target_lang_full`` + + * **Audio duration** + + * ``min_audio_duration`` – drop very short clips (seconds) + * ``max_audio_duration`` – drop very long clips (seconds) + + * **Language-ID & text filtering** + + * ``min_audio_lid_probability`` – Whisper LID threshold + * ``translation.min_hist_token_ratio`` – charset-purity ratio + * ``translation.min_text_lid_probability`` – FastText LID threshold + + * **Length & quality** + + * ``translation.max_len_diff_ratio`` – max(src / tgt) word ratio + * ``translation.min_qe_score`` – Comet-QE acceptance score + + * **Tarred dataset** + + * ``convert_to_audio_tarred_dataset.should_run`` (bool) + * ``num_shards`` and ``buckets_num`` – shard layout + + * **Misc.** + + * ``use_regex`` – regex preset for text normalisation + * ``save_disk_space`` – delete originals after conversion + * ``use_dask`` – enable distributed execution + + Advanced usage + -------------- + + * **Selective execution** – override ``processors_to_run`` with a comma-separated + subset, e.g. ``"00,01,03,04,06"``. + + * **Model swapping** – every ``*_Inference`` processor exposes either + ``model_size_or_path`` (Whisper) or an embedded ``model:`` block (vLLM). + + * **Resource tuning** – ``num_devices = -1`` uses all visible GPUs; set an + integer to pin workers per stage. + + References + ---------- + + Koluguri et al., *Granary: Speech Recognition and Translation Dataset in 25 + European Languages*, 2025 (preprint). Dataset and code available at + ``nvidia/Granary`` and the NeMo-SDP repository. input_manifest_file: ?? output_dir: ?? From 1c658dd76896d42ff4668f3e1b870c295fe036a0 Mon Sep 17 00:00:00 2001 From: Sasha Meister Date: Fri, 8 Aug 2025 01:30:01 -0700 Subject: [PATCH 13/34] README Signed-off-by: Sasha Meister --- .../multilingual/granary/README.md | 166 ++++++++++++++++++ .../multilingual/granary/config.yaml | 48 +++-- .../multilingual/granary/readme.md | 5 - 3 files changed, 199 insertions(+), 20 deletions(-) create mode 100644 dataset_configs/multilingual/granary/README.md delete mode 100644 dataset_configs/multilingual/granary/readme.md diff --git a/dataset_configs/multilingual/granary/README.md b/dataset_configs/multilingual/granary/README.md new file mode 100644 index 00000000..23959107 --- /dev/null +++ b/dataset_configs/multilingual/granary/README.md @@ -0,0 +1,166 @@ +## Granary Dataset Creation Pipeline + +### Overview + +This configuration drives the **Granary pseudo-labelling pipeline** – an open-source workflow that transforms large, noisy speech corpora into high-quality Automatic Speech Recognition (ASR) and Automatic Speech Translation (AST) training data for **25 European languages**. + +The first public release of **Granary** (≈ 643 k h ASR / ≈ 351 k h AST) was built from three openly available corpora: + +- [espnet/yodas2](https://huggingface.co/datasets/espnet/yodas2) +- [FBK-MT/mosel](https://huggingface.co/datasets/FBK-MT/mosel) +- [PleIAs/YouTube-Commons](https://huggingface.co/datasets/PleIAs/YouTube-Commons) + +and is published as [nvidia/Granary](https://huggingface.co/datasets/nvidia/Granary). + +> Note — Per-language runs +> +> The pipeline is executed once per language pair: set +> - `source_lang` / `source_lang_full` – audio & transcript language +> - `translation.target_lang` / `target_lang_full` – translation language +> +> For example, to obtain English audio with Italian translations choose `source_lang: en` and `translation.target_lang: it`. Separate runs are required for each additional language combination. + +> Note — GPU required +> +> All Whisper, vLLM, FastText and Comet-QE stages expect at least one CUDA-capable GPU. Multi-GPU nodes are auto-detected when `num_devices: -1` (default) is used. + +### Software prerequisites + +Install NeMo-speech-data-processor plus the extra wheels required by specific processors: + +- FasterWhisperInference + +```bash +pip install pytorch-lightning \ + "nvidia-cublas-cu12" \ + "nvidia-cudnn-cu12==9.*" \ + faster_whisper + +export LD_LIBRARY_PATH=$(python - <<'PY' +import os, nvidia.cublas.lib, nvidia.cudnn.lib +print(os.path.dirname(nvidia.cublas.lib.__file__) + ":" + os.path.dirname(nvidia.cudnn.lib.__file__)) +PY) +``` + +- vLLMInference + +```bash +pip install "optree>=0.13.0" vllm +``` + +- CometoidWMTQualityEstimation + +```bash +pip install pymarian +``` + +- FastTextLangIdClassifier + +```bash +pip install fasttext +``` + +- ConvertToTarredAudioDataset (optional, only if tar-sharding is enabled) + +```bash +pip install lhotse "nemo-toolkit[common]==2.2.1" +``` + +### Quick start + +1. **Hardware** – Linux box with NVIDIA GPU(s) and ≥ 16 GB VRAM (reference runs used A100-80 GB; smaller cards work with reduced batch sizes). +2. **Install** NeMo-speech-data-processor and the extras listed above. +3. **Prepare** the input manifest and set three mandatory YAML keys: + - `input_manifest_file` – manifest with raw audio paths + - `output_dir` – working/output directory + - `sdp_dir` – root of the SDP tree (for prompt/regex assets) +4. **Run the pipeline**: + +```bash +# Path to your local clone of NeMo-speech-data-processor +SDP_DIR=/path/to/NeMo-speech-data-processor + +python ${SDP_DIR}/main.py \ + --config-path ${SDP_DIR}/dataset_configs/multilingual/granary/ \ + --config-name config.yaml \ + input_manifest_file=/path/to/input_manifest.json \ + output_dir=/path/to/output/dir \ + sdp_dir=${SDP_DIR} +``` + +### Input and output formats + +- **Input manifest** + +Each line is a JSON object with the source-audio path: + +```json +{"source_audio_filepath": "/path/to/file.flac"} +``` + +- **Key outputs** + + - `${output_dir}/${source_lang}/manifest_46.json` – final bilingual manifest containing `audio_filepath`, `offset`, `duration`, `text` (source) and `answer` (translation), plus constant decoder flags. + - `${output_dir}/${source_lang}/tarred_dataset/` – optional tarred-audio shards and `shard_manifest.json` when `convert_to_audio_tarred_dataset.should_run: True`. + - All intermediate `manifest_XX.json` files are kept for audit/debug. + +### Pipeline stages + +The processors executed (indices match the config): + +- FfmpegConvert (00) – re-encode audio to 16 kHz/mono FLAC. +- GetAudioDuration (01) – compute clip length. +- RemoveFiles (02) – optionally delete originals (`params.save_disk_space`). +- FasterWhisperInference (03) – pass 1 language detection. +- LambdaExpression (04) – probability-based LID filtering. +- DropSpecifiedFields (05) – remove temporary fields. +- FasterWhisperInference (06, 14) – two-pass transcription (second run can slice by offset). +- Segmentation & grooming (07–13) – split Whisper segments into atomic utterances. +- Hallucination detection (18–20) – drop repeated n-grams, garbage tokens and common filler phrases. +- PnC restoration (21–23) – Qwen-2.5-7B restores punctuation & capitalisation; optional regex clean-up. +- Length & charset filtering (27–36) – word-ratio, character histogram and FastText checks. +- Quality estimation (41–43) – keep pairs with Comet-QE `score ≥ min_qe_score`. +- Constant flags (44) – add decoder directives (`<|emo:undefined|>`, `itn`, `pnc`, etc.). +- Tarred dataset (46) – shard audio into `num_shards` tar files (optional). + +### Tunable parameters + +All knobs live under the `params` block. + +- **Language** + - `source_lang` / `source_lang_full` + - `translation.target_lang` / `target_lang_full` + +- **Audio duration** + - `min_audio_duration` – drop very short clips (seconds) + - `max_audio_duration` – drop very long clips (seconds) + +- **Language-ID & text filtering** + - `min_audio_lid_probability` – Whisper LID threshold + - `translation.min_hist_token_ratio` – charset-purity ratio + - `translation.min_text_lid_probability` – FastText LID threshold + +- **Length & quality** + - `translation.max_len_diff_ratio` – max(src / tgt) word ratio + - `translation.min_qe_score` – Comet-QE acceptance score + +- **Tarred dataset** + - `convert_to_audio_tarred_dataset.should_run` (bool) + - `num_shards` and `buckets_num` – shard layout + +- **Misc.** + - `use_regex` – regex preset for text normalisation + - `save_disk_space` – delete originals after conversion + - `use_dask` – enable distributed execution (not recommended) + +### Advanced usage + +- **Selective execution** – override `processors_to_run` with a range of indices, e.g. `"0:25"`. +- **Model swapping** – every `*_Inference` processor exposes either `model_size_or_path` (Whisper) or an embedded `model:` block (vLLM). +- **Resource tuning** – `num_devices = -1` uses all visible GPUs; set an integer to pin workers per stage. + +### References + +- Koluguri et al. (2025). Granary: Speech Recognition and Translation Dataset in 25 European Languages (preprint). arXiv: [2505.13404](https://arxiv.org/abs/2505.13404). +- Granary dataset on Hugging Face: [nvidia/Granary](https://huggingface.co/datasets/nvidia/Granary). +- NeMo-SDP source code: . \ No newline at end of file diff --git a/dataset_configs/multilingual/granary/config.yaml b/dataset_configs/multilingual/granary/config.yaml index ac270826..5101c5e6 100644 --- a/dataset_configs/multilingual/granary/config.yaml +++ b/dataset_configs/multilingual/granary/config.yaml @@ -20,6 +20,18 @@ documentation: | and is published as `nvidia/Granary `_. + .. note:: + + **Per-language runs.** The pipeline is executed **once per language pair**: + set + + * ``source_lang`` / ``source_lang_full`` – audio & transcript language + * ``translation.target_lang`` / ``target_lang_full`` – translation language + + For example, to obtain English audio with Italian translations choose + ``source_lang: en`` and ``translation.target_lang: it``. + Separate runs are required for each additional language combination. + .. note:: **GPU required.** All Whisper, vLLM, FastText and Comet-QE stages expect at @@ -114,21 +126,21 @@ documentation: | The processors executed (indices match the config): - #. **FfmpegConvert (00)** – re-encode audio to 16 kHz/mono FLAC. + #. **FfmpegConvert (0)** – re-encode audio to 16 kHz/mono FLAC. - #. **GetAudioDuration (01)** – compute clip length. + #. **GetAudioDuration (1)** – compute clip length. - #. **RemoveFiles (02)** – optionally delete originals (``params.save_disk_space``). + #. **RemoveFiles (2)** – optionally delete originals (``params.save_disk_space``). - #. **FasterWhisperInference (03)** – *pass 1* language detection. + #. **FasterWhisperInference (3)** – *pass 1* language detection. - #. **LambdaExpression (04)** – probability-based LID filtering. + #. **LambdaExpression (4)** – probability-based LID filtering. - #. **DropSpecifiedFields (05)** – remove temporary fields. + #. **DropSpecifiedFields (5)** – remove temporary fields. - #. **FasterWhisperInference (06, 14)** – two-pass transcription (second run can slice by offset). + #. **FasterWhisperInference (6, 14)** – two-pass transcription (second run can slice by offset). - #. **Segmentation & grooming (07–13)** – split Whisper segments into atomic utterances. + #. **Segmentation & grooming (7–13)** – split Whisper segments into atomic utterances. #. **Hallucination detection (18–20)** – drop repeated n-grams, garbage tokens and common filler phrases. @@ -177,15 +189,15 @@ documentation: | * ``use_regex`` – regex preset for text normalisation * ``save_disk_space`` – delete originals after conversion - * ``use_dask`` – enable distributed execution + * ``use_dask`` – enable distributed execution (not recommended) Advanced usage -------------- - * **Selective execution** – override ``processors_to_run`` with a comma-separated - subset, e.g. ``"00,01,03,04,06"``. + * **Selective execution** – override ``processors_to_run`` with a range of + indices, e.g. ``"0:25"``. - * **Model swapping** – every ``*_Inference`` processor exposes either + * **Model swapping** – every inference processor exposes either ``model_size_or_path`` (Whisper) or an embedded ``model:`` block (vLLM). * **Resource tuning** – ``num_devices = -1`` uses all visible GPUs; set an @@ -194,9 +206,15 @@ documentation: | References ---------- - Koluguri et al., *Granary: Speech Recognition and Translation Dataset in 25 - European Languages*, 2025 (preprint). Dataset and code available at - ``nvidia/Granary`` and the NeMo-SDP repository. + * Koluguri *et al.* (2025). *Granary: Speech Recognition and Translation + Dataset in 25 European Languages* (preprint). arXiv: + `2505.13404 `_. + + * Granary dataset on Hugging Face: + `nvidia/Granary `_. + + * NeMo-SDP source code: + ``_. input_manifest_file: ?? output_dir: ?? diff --git a/dataset_configs/multilingual/granary/readme.md b/dataset_configs/multilingual/granary/readme.md deleted file mode 100644 index 51f4da28..00000000 --- a/dataset_configs/multilingual/granary/readme.md +++ /dev/null @@ -1,5 +0,0 @@ -# README - -This folder is designated for Granary speech data processing configuration files will be added soon. It is associated with a forthcoming paper, which will detail the work done within this project. - -Note: This folder is a work in progress. From 211e90960a04ae330815e5c150df8a6b4501cbf3 Mon Sep 17 00:00:00 2001 From: Sasha Meister Date: Fri, 8 Aug 2025 01:30:23 -0700 Subject: [PATCH 14/34] removed empty lines Signed-off-by: Sasha Meister --- tests/test_granary_pipeline_end_to_end.py | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/tests/test_granary_pipeline_end_to_end.py b/tests/test_granary_pipeline_end_to_end.py index 2d759222..c944114f 100644 --- a/tests/test_granary_pipeline_end_to_end.py +++ b/tests/test_granary_pipeline_end_to_end.py @@ -119,15 +119,4 @@ def test_granary_pipeline_end_to_end(granary_data): assert reference_data == generated_data if os.getenv("CLEAN_UP_TMP_PATH", "0") != "0": - shutil.rmtree(granary_data) - - - - - - - - - - - + shutil.rmtree(granary_data) \ No newline at end of file From 7b88bf1953b7b4c75462d22fec592878058b0cb4 Mon Sep 17 00:00:00 2001 From: Sasha Meister Date: Fri, 8 Aug 2025 01:33:17 -0700 Subject: [PATCH 15/34] Update README Signed-off-by: Sasha Meister --- .../multilingual/granary/README.md | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/dataset_configs/multilingual/granary/README.md b/dataset_configs/multilingual/granary/README.md index 23959107..f60ddd14 100644 --- a/dataset_configs/multilingual/granary/README.md +++ b/dataset_configs/multilingual/granary/README.md @@ -42,25 +42,25 @@ print(os.path.dirname(nvidia.cublas.lib.__file__) + ":" + os.path.dirname(nvidia PY) ``` -- vLLMInference +- `vLLMInference` ```bash pip install "optree>=0.13.0" vllm ``` -- CometoidWMTQualityEstimation +- `CometoidWMTQualityEstimation` ```bash pip install pymarian ``` -- FastTextLangIdClassifier +- `FastTextLangIdClassifier` ```bash pip install fasttext ``` -- ConvertToTarredAudioDataset (optional, only if tar-sharding is enabled) +- `ConvertToTarredAudioDataset` (optional, only if tar-sharding is enabled) ```bash pip install lhotse "nemo-toolkit[common]==2.2.1" @@ -90,7 +90,7 @@ python ${SDP_DIR}/main.py \ ### Input and output formats -- **Input manifest** +#### Input manifest Each line is a JSON object with the source-audio path: @@ -98,7 +98,7 @@ Each line is a JSON object with the source-audio path: {"source_audio_filepath": "/path/to/file.flac"} ``` -- **Key outputs** +#### Key outputs - `${output_dir}/${source_lang}/manifest_46.json` – final bilingual manifest containing `audio_filepath`, `offset`, `duration`, `text` (source) and `answer` (translation), plus constant decoder flags. - `${output_dir}/${source_lang}/tarred_dataset/` – optional tarred-audio shards and `shard_manifest.json` when `convert_to_audio_tarred_dataset.should_run: True`. @@ -108,20 +108,20 @@ Each line is a JSON object with the source-audio path: The processors executed (indices match the config): -- FfmpegConvert (00) – re-encode audio to 16 kHz/mono FLAC. -- GetAudioDuration (01) – compute clip length. -- RemoveFiles (02) – optionally delete originals (`params.save_disk_space`). -- FasterWhisperInference (03) – pass 1 language detection. -- LambdaExpression (04) – probability-based LID filtering. -- DropSpecifiedFields (05) – remove temporary fields. -- FasterWhisperInference (06, 14) – two-pass transcription (second run can slice by offset). -- Segmentation & grooming (07–13) – split Whisper segments into atomic utterances. -- Hallucination detection (18–20) – drop repeated n-grams, garbage tokens and common filler phrases. -- PnC restoration (21–23) – Qwen-2.5-7B restores punctuation & capitalisation; optional regex clean-up. -- Length & charset filtering (27–36) – word-ratio, character histogram and FastText checks. -- Quality estimation (41–43) – keep pairs with Comet-QE `score ≥ min_qe_score`. -- Constant flags (44) – add decoder directives (`<|emo:undefined|>`, `itn`, `pnc`, etc.). -- Tarred dataset (46) – shard audio into `num_shards` tar files (optional). +- **FfmpegConvert** (0) – re-encode audio to 16 kHz/mono FLAC. +- **GetAudioDuration** (1) – compute clip length. +- **RemoveFiles** (2) – optionally delete originals (`params.save_disk_space`). +- **FasterWhisperInference** (3) – pass 1 language detection. +- **LambdaExpression** (4) – probability-based LID filtering. +- **DropSpecifiedFields** (5) – remove temporary fields. +- **FasterWhisperInference** (6, 14) – two-pass transcription (second run can slice by offset). +- **Segmentation & grooming** (7–13) – split Whisper segments into atomic utterances. +- **Hallucination detection** (18–20) – drop repeated n-grams, garbage tokens and common filler phrases. +- **PnC restoration** (21–23) – `Qwen-2.5-7B` restores punctuation & capitalisation; optional regex clean-up. +- **Length & charset filtering** (27–36) – word-ratio, character histogram and FastText checks. +- **Quality estimation** (41–43) – keep pairs with `Comet-QE score ≥ min_qe_score`. +- **Constant flags** (44) – add decoder directives (`<|emo:undefined|>`, `itn`, `pnc`, etc.). +- **Tarred dataset** (46) – shard audio into `num_shards` tar files (optional). ### Tunable parameters @@ -156,11 +156,11 @@ All knobs live under the `params` block. ### Advanced usage - **Selective execution** – override `processors_to_run` with a range of indices, e.g. `"0:25"`. -- **Model swapping** – every `*_Inference` processor exposes either `model_size_or_path` (Whisper) or an embedded `model:` block (vLLM). +- **Model swapping** – every inference processor exposes either `model_size_or_path` (Whisper) or an embedded `model:` block (vLLM). - **Resource tuning** – `num_devices = -1` uses all visible GPUs; set an integer to pin workers per stage. ### References -- Koluguri et al. (2025). Granary: Speech Recognition and Translation Dataset in 25 European Languages (preprint). arXiv: [2505.13404](https://arxiv.org/abs/2505.13404). -- Granary dataset on Hugging Face: [nvidia/Granary](https://huggingface.co/datasets/nvidia/Granary). -- NeMo-SDP source code: . \ No newline at end of file +- Koluguri et al. (2025). Granary: Speech Recognition and Translation Dataset in 25 European Languages (preprint). arXiv: [2505.13404](https://arxiv.org/abs/2505.13404), +- [nvidia/Granary](https://huggingface.co/datasets/nvidia/Granary) dataset on Hugging Face, +- NeMo-SDP source [code](https://github.com/NVIDIA/NeMo-speech-data-processor/blob/main/dataset_configs/multilingual/granary/>). \ No newline at end of file From 206412727444188d0958c4d3189b27091d7e4d1a Mon Sep 17 00:00:00 2001 From: Sasha Meister Date: Fri, 8 Aug 2025 01:34:54 -0700 Subject: [PATCH 16/34] Update README Signed-off-by: Sasha Meister --- dataset_configs/multilingual/granary/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dataset_configs/multilingual/granary/README.md b/dataset_configs/multilingual/granary/README.md index f60ddd14..f1952a17 100644 --- a/dataset_configs/multilingual/granary/README.md +++ b/dataset_configs/multilingual/granary/README.md @@ -28,7 +28,7 @@ and is published as [nvidia/Granary](https://huggingface.co/datasets/nvidia/Gran Install NeMo-speech-data-processor plus the extra wheels required by specific processors: -- FasterWhisperInference +- `FasterWhisperInference` ```bash pip install pytorch-lightning \ From 4c6dfeb85ebe8b85b4a5931083fa0a22bff7ac72 Mon Sep 17 00:00:00 2001 From: Sasha Meister Date: Fri, 8 Aug 2025 06:48:26 -0700 Subject: [PATCH 17/34] Test tests s3 Signed-off-by: Sasha Meister --- .github/workflows/tests.yml | 2 +- .../multilingual/granary/config.yaml | 2 +- tests/test_data_to_data.py | 6 +-- tests/test_granary_pipeline_end_to_end.py | 45 +++++-------------- 4 files changed, 13 insertions(+), 42 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 351b4167..ebfc70a9 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -93,7 +93,7 @@ jobs: sudo cp incommon-rsa-ca2.pem /usr/local/share/ca-certificates/incommon-rsa-server-ca-2.crt # [cert for CORAL] sudo update-ca-certificates # [cert for CORAL] set -o pipefail # this will make sure next line returns non-0 exit code if tests fail - python -m pytest tests/ --junitxml=pytest.xml --ignore=tests/test_tts_sdp_end_to_end.py --cov-report=term-missing:skip-covered --cov=sdp --durations=30 -rs | tee pytest-coverage.txt + python -m pytest tests/test_granary_pipeline_end_to_end.py tests/test_data_to_data.py --junitxml=pytest.xml --ignore=tests/test_tts_sdp_end_to_end.py --cov-report=term-missing:skip-covered --cov=sdp --durations=30 -rs | tee pytest-coverage.txt # TODO: add some way to see if e2e tests were skipped diff --git a/dataset_configs/multilingual/granary/config.yaml b/dataset_configs/multilingual/granary/config.yaml index 5101c5e6..758c5cd7 100644 --- a/dataset_configs/multilingual/granary/config.yaml +++ b/dataset_configs/multilingual/granary/config.yaml @@ -562,7 +562,7 @@ processors: model_name_or_path: cometoid-wmt23 device_type: gpu num_devices: -1 - chunksize: 10 + chunksize: 100 - _target_: sdp.processors.PreserveByValue output_manifest_file: ${output_dir}/${params.source_lang}/manifest_42.json diff --git a/tests/test_data_to_data.py b/tests/test_data_to_data.py index b9f2007f..010b4588 100644 --- a/tests/test_data_to_data.py +++ b/tests/test_data_to_data.py @@ -306,11 +306,7 @@ def en_hist_dir(tmp_path_factory): local_path = tmp_dir / "en" if not local_path.exists(): - try: - s3.download_file(bucket, key, str(local_path)) - except ClientError as e: - code = e.response.get("Error", {}).get("Code", "") - pytest.skip(f"Cannot download s3://{bucket}/{key} ({code}).") + s3.download_file(bucket, key, str(local_path)) assert local_path.exists(), "Histogram file was not downloaded" return str(tmp_dir) diff --git a/tests/test_granary_pipeline_end_to_end.py b/tests/test_granary_pipeline_end_to_end.py index c944114f..cb9e1506 100644 --- a/tests/test_granary_pipeline_end_to_end.py +++ b/tests/test_granary_pipeline_end_to_end.py @@ -28,8 +28,7 @@ def granary_data(tmp_path: Path): f"{granary_key_prefix}/manifest_14.json", f"{granary_key_prefix}/manifest_21.json", f"{granary_key_prefix}/manifest_26.json", - f"{granary_key_prefix}/manifest_34.json", - f"{granary_key_prefix}/manifest_39.json", + f"{granary_key_prefix}/manifest_41.json", f"{granary_key_prefix}/audio/zCW0Pa0BI4Q.wav", f"{granary_key_prefix}/audio/zHWk3Ae7qJ0.wav", f"{granary_key_prefix}/audio/zHtFdl5K8qg.wav", @@ -45,12 +44,7 @@ def granary_data(tmp_path: Path): rel_path = file_key.replace(granary_key_prefix + "/", "") dest_path = tmp_path / rel_path dest_path.parent.mkdir(parents=True, exist_ok=True) - - try: - s3.download_file(bucket, file_key, str(dest_path)) - except ClientError as e: - code = e.response.get("Error", {}).get("Code", "") - pytest.skip(f"Cannot download s3://{bucket}/{file_key} ({code}).") + s3.download_file(bucket, file_key, str(dest_path)) if file_key.endswith(".wav"): f.write(json.dumps({"source_audio_filepath": str(dest_path)}) + "\n") @@ -70,34 +64,15 @@ def test_granary_pipeline_end_to_end(granary_data): cfg.sdp_dir = Path(__file__).parents[1] #disable some processors - ## step 3: FasterWhisperInference - cfg.processors[3].should_run = False - cfg.processors[4].input_manifest_file = os.path.join(granary_data, "manifest_03.json") - - ## step 14: FasterWhisperInference - cfg.processors[6].should_run = False - cfg.processors[7].input_manifest_file = os.path.join(granary_data, "manifest_06.json") - - ## step 21: FasterWhisperInference - cfg.processors[14].should_run = False - cfg.processors[15].input_manifest_file = os.path.join(granary_data, "manifest_14.json") - - ## step 21: vLLMInference - cfg.processors[21].should_run = False - cfg.processors[22].input_manifest_file = os.path.join(granary_data, "manifest_21.json") - - ## step 26: vLLMInference - cfg.processors[26].should_run = False - cfg.processors[27].input_manifest_file = os.path.join(granary_data, "manifest_26.json") + processors_to_disable = [3, 6, 14, # FasterWhisperInference + 21, 26, # vLLMInference + 41, # CometoidWMTQualityEstimation + ] - ## steps 33-34: CharacterHistogramLangValidator - cfg.processors[33].should_run = False - cfg.processors[34].should_run = False - cfg.processors[35].input_manifest_file = os.path.join(granary_data, "manifest_34.json") - - ## step 39: CometoidWMTQualityEstimation - cfg.processors[39].should_run = False - cfg.processors[40].input_manifest_file = os.path.join(granary_data, "manifest_39.json") + for processor_idx in processors_to_disable: + processor_id = str(processor_idx).zfill(2) + cfg.processors[processor_idx].should_run = False + cfg.processors[processor_idx + 1].input_manifest_file = os.path.join(granary_data, f"manifest_{processor_id}.json") run_processors(cfg) From 88956171d2a59a74001c98bf5d6705e016d73533 Mon Sep 17 00:00:00 2001 From: Sasha Meister Date: Fri, 8 Aug 2025 07:07:43 -0700 Subject: [PATCH 18/34] to_abs_paths Signed-off-by: Sasha Meister --- tests/test_granary_pipeline_end_to_end.py | 24 ++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/tests/test_granary_pipeline_end_to_end.py b/tests/test_granary_pipeline_end_to_end.py index cb9e1506..99d3b96c 100644 --- a/tests/test_granary_pipeline_end_to_end.py +++ b/tests/test_granary_pipeline_end_to_end.py @@ -10,6 +10,18 @@ DATASET_CONFIGS_ROOT = Path(__file__).parents[1] / "dataset_configs" +def to_abs_paths(manifest_filepath, tmp_path): + samples = [] + with open(manifest_filepath, 'r', encoding = 'utf8') as fin: + for line in fin: + sample = json.loads(line) + sample['source_audio_filepath'] = os.path.join(str(tmp_path), os.path.basenames(sample['source_audio_filepath']) + samples.append(sample) + + with open(manifest_filepath, 'w', encoding = 'utf8') as fout: + for sample in samples: + fout.write(json.dumps(sample) + "\n") + @pytest.fixture def granary_data(tmp_path: Path): # Download the data from S3 @@ -34,6 +46,9 @@ def granary_data(tmp_path: Path): f"{granary_key_prefix}/audio/zHtFdl5K8qg.wav", f"{granary_key_prefix}/audio/zCW9rGbaF4E.wav", f"{granary_key_prefix}/audio/zG3RpHaMzkQ.wav", + #f"{granary_key_prefix}/.cache/histograms/en", + #f"{granary_key_prefix}/.cache/histograms/it", + #f"{granary_key_prefix}/.cache/models/lid.176.bin", ] bucket = "sdp-test-data" @@ -48,7 +63,8 @@ def granary_data(tmp_path: Path): if file_key.endswith(".wav"): f.write(json.dumps({"source_audio_filepath": str(dest_path)}) + "\n") - + elif file_key.endswith(".json"): + to_abs_paths(dest_path, tmp_path) return tmp_path def test_granary_pipeline_end_to_end(granary_data): @@ -74,6 +90,12 @@ def test_granary_pipeline_end_to_end(granary_data): cfg.processors[processor_idx].should_run = False cfg.processors[processor_idx + 1].input_manifest_file = os.path.join(granary_data, f"manifest_{processor_id}.json") + #cfg.processors[33].cache_dir = os.path.join(granary_data, ".cache") + #cfg.processors[34].cache_dir = os.path.join(granary_data, ".cache") + + #cfg.processors[37].cache_dir = os.path.join(granary_data, ".cache") + #cfg.processors[38].cache_dir = os.path.join(granary_data, ".cache") + run_processors(cfg) final_manifest = cfg.processors[-1].output_manifest_file From d209d06aab954f038351828f74b3819c9e78b5bf Mon Sep 17 00:00:00 2001 From: Sasha Meister Date: Fri, 8 Aug 2025 07:14:12 -0700 Subject: [PATCH 19/34] to_abs_paths Signed-off-by: Sasha Meister --- tests/test_granary_pipeline_end_to_end.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/tests/test_granary_pipeline_end_to_end.py b/tests/test_granary_pipeline_end_to_end.py index 99d3b96c..fde35b70 100644 --- a/tests/test_granary_pipeline_end_to_end.py +++ b/tests/test_granary_pipeline_end_to_end.py @@ -15,7 +15,7 @@ def to_abs_paths(manifest_filepath, tmp_path): with open(manifest_filepath, 'r', encoding = 'utf8') as fin: for line in fin: sample = json.loads(line) - sample['source_audio_filepath'] = os.path.join(str(tmp_path), os.path.basenames(sample['source_audio_filepath']) + sample['source_audio_filepath'] = os.path.join(str(tmp_path), "audio", os.path.basenames(sample['source_audio_filepath']) samples.append(sample) with open(manifest_filepath, 'w', encoding = 'utf8') as fout: @@ -80,18 +80,19 @@ def test_granary_pipeline_end_to_end(granary_data): cfg.sdp_dir = Path(__file__).parents[1] #disable some processors - processors_to_disable = [3, 6, 14, # FasterWhisperInference - 21, 26, # vLLMInference - 41, # CometoidWMTQualityEstimation - ] + processors_to_disable = [ + 3, 6, 14, # FasterWhisperInference + 21, 26, # vLLMInference + 41, # CometoidWMTQualityEstimation + ] for processor_idx in processors_to_disable: processor_id = str(processor_idx).zfill(2) cfg.processors[processor_idx].should_run = False cfg.processors[processor_idx + 1].input_manifest_file = os.path.join(granary_data, f"manifest_{processor_id}.json") - #cfg.processors[33].cache_dir = os.path.join(granary_data, ".cache") - #cfg.processors[34].cache_dir = os.path.join(granary_data, ".cache") + #cfg.processors[33].cache_dir = os.path.join(granary_data, ".cache", "histograms") + #cfg.processors[34].cache_dir = os.path.join(granary_data, ".cache", "histograms") #cfg.processors[37].cache_dir = os.path.join(granary_data, ".cache") #cfg.processors[38].cache_dir = os.path.join(granary_data, ".cache") From bae5f7eed7f41411ba506a83f58e615e12782776 Mon Sep 17 00:00:00 2001 From: Sasha Meister Date: Fri, 8 Aug 2025 07:14:50 -0700 Subject: [PATCH 20/34] to_abs_paths Signed-off-by: Sasha Meister --- docker/Dockerfile.granary | 62 +++++++++++++++++++++++ tests/test_granary_pipeline_end_to_end.py | 2 +- 2 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 docker/Dockerfile.granary diff --git a/docker/Dockerfile.granary b/docker/Dockerfile.granary new file mode 100644 index 00000000..8b6809c3 --- /dev/null +++ b/docker/Dockerfile.granary @@ -0,0 +1,62 @@ +############################################################################### +# Dockerfile: NeMo-Speech-Data-Processor (CUDA 12.1 + Python 3.10) +############################################################################### + +# ───────── 0. Base image (CUDA 12.1 / cuDNN 8) ───────── +FROM nvidia/cuda:12.1.1-cudnn8-devel-ubuntu22.04 + +ARG DEBIAN_FRONTEND=noninteractive +ENV TZ=America/Los_Angeles \ + LANG=C.UTF-8 \ + PYTHONUNBUFFERED=1 \ + TOKENIZERS_PARALLELISM=false + +# ───────── 1. System packages + pin Python 3.10 ───────── +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + python3.10 python3.10-dev python3.10-venv python-is-python3 \ + build-essential cmake git curl wget unzip \ + sox libsox-fmt-mp3 ffmpeg libsndfile1 \ + libopenblas-base libffi-dev libssl-dev && \ + update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 1 && \ + ln -sf /usr/bin/python3.10 /usr/bin/python && \ + apt-get clean && rm -rf /var/lib/apt/lists/* + +# ───────── 2. Upgrade pip + add NVIDIA PyIndex ───────── +RUN python -m pip install --upgrade pip setuptools wheel && \ + pip install nvidia-pyindex + +# ───────── 3. Core build-time Python deps ───────── +RUN pip install "numpy>=1.26,<2.0" cython typing-extensions + +# ───────── 4. Copy NeMo-SDP sources ───────── +COPY . /src/NeMo-speech-data-processor +WORKDIR /src/NeMo-speech-data-processor +# remove service folders that are not needed in the final image +RUN rm -rf .git docker build sdp.egg-info + +# ───────── 5. Install this repo (+ its dependencies) ───────── +RUN pip install --no-cache-dir . + +# ───────── 6. DL stack and GPU libraries ───────── +RUN pip install --no-cache-dir \ + torch==2.2.2+cu121 torchvision==0.17.2+cu121 \ + --index-url https://download.pytorch.org/whl/cu121 && \ + pip install --no-cache-dir \ + pytorch-lightning==2.2.5 \ + nvidia-cublas-cu12 \ + "nvidia-cudnn-cu12==9.*" \ + faster_whisper \ + "optree>=0.13.0" vllm \ + pymarian fasttext \ + "lhotse>=1.7.0" "nemo-toolkit[common]==2.2.1" + +# ───────── 7. Add cuBLAS / cuDNN libs to ld.so.conf ───────── +RUN python - <<'PY' > /etc/ld.so.conf.d/nvidia-cu12.conf && ldconfig +import pathlib, nvidia.cublas.lib, nvidia.cudnn.lib +print(pathlib.Path(nvidia.cublas.lib.__file__).parent) +print(pathlib.Path(nvidia.cudnn.lib.__file__).parent) +PY + +# ───────── 8. Entrypoint ───────── +CMD ["/bin/bash"] \ No newline at end of file diff --git a/tests/test_granary_pipeline_end_to_end.py b/tests/test_granary_pipeline_end_to_end.py index fde35b70..c22369be 100644 --- a/tests/test_granary_pipeline_end_to_end.py +++ b/tests/test_granary_pipeline_end_to_end.py @@ -15,7 +15,7 @@ def to_abs_paths(manifest_filepath, tmp_path): with open(manifest_filepath, 'r', encoding = 'utf8') as fin: for line in fin: sample = json.loads(line) - sample['source_audio_filepath'] = os.path.join(str(tmp_path), "audio", os.path.basenames(sample['source_audio_filepath']) + sample['source_audio_filepath'] = os.path.join(str(tmp_path), "audio", os.path.basenames(sample['source_audio_filepath'])) samples.append(sample) with open(manifest_filepath, 'w', encoding = 'utf8') as fout: From 65c930d44d7125ed4f34b64206d99da37db63e9d Mon Sep 17 00:00:00 2001 From: Sasha Meister Date: Fri, 8 Aug 2025 07:15:38 -0700 Subject: [PATCH 21/34] Removed wrong docker Signed-off-by: Sasha Meister --- docker/Dockerfile.granary | 62 --------------------------------------- 1 file changed, 62 deletions(-) delete mode 100644 docker/Dockerfile.granary diff --git a/docker/Dockerfile.granary b/docker/Dockerfile.granary deleted file mode 100644 index 8b6809c3..00000000 --- a/docker/Dockerfile.granary +++ /dev/null @@ -1,62 +0,0 @@ -############################################################################### -# Dockerfile: NeMo-Speech-Data-Processor (CUDA 12.1 + Python 3.10) -############################################################################### - -# ───────── 0. Base image (CUDA 12.1 / cuDNN 8) ───────── -FROM nvidia/cuda:12.1.1-cudnn8-devel-ubuntu22.04 - -ARG DEBIAN_FRONTEND=noninteractive -ENV TZ=America/Los_Angeles \ - LANG=C.UTF-8 \ - PYTHONUNBUFFERED=1 \ - TOKENIZERS_PARALLELISM=false - -# ───────── 1. System packages + pin Python 3.10 ───────── -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - python3.10 python3.10-dev python3.10-venv python-is-python3 \ - build-essential cmake git curl wget unzip \ - sox libsox-fmt-mp3 ffmpeg libsndfile1 \ - libopenblas-base libffi-dev libssl-dev && \ - update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 1 && \ - ln -sf /usr/bin/python3.10 /usr/bin/python && \ - apt-get clean && rm -rf /var/lib/apt/lists/* - -# ───────── 2. Upgrade pip + add NVIDIA PyIndex ───────── -RUN python -m pip install --upgrade pip setuptools wheel && \ - pip install nvidia-pyindex - -# ───────── 3. Core build-time Python deps ───────── -RUN pip install "numpy>=1.26,<2.0" cython typing-extensions - -# ───────── 4. Copy NeMo-SDP sources ───────── -COPY . /src/NeMo-speech-data-processor -WORKDIR /src/NeMo-speech-data-processor -# remove service folders that are not needed in the final image -RUN rm -rf .git docker build sdp.egg-info - -# ───────── 5. Install this repo (+ its dependencies) ───────── -RUN pip install --no-cache-dir . - -# ───────── 6. DL stack and GPU libraries ───────── -RUN pip install --no-cache-dir \ - torch==2.2.2+cu121 torchvision==0.17.2+cu121 \ - --index-url https://download.pytorch.org/whl/cu121 && \ - pip install --no-cache-dir \ - pytorch-lightning==2.2.5 \ - nvidia-cublas-cu12 \ - "nvidia-cudnn-cu12==9.*" \ - faster_whisper \ - "optree>=0.13.0" vllm \ - pymarian fasttext \ - "lhotse>=1.7.0" "nemo-toolkit[common]==2.2.1" - -# ───────── 7. Add cuBLAS / cuDNN libs to ld.so.conf ───────── -RUN python - <<'PY' > /etc/ld.so.conf.d/nvidia-cu12.conf && ldconfig -import pathlib, nvidia.cublas.lib, nvidia.cudnn.lib -print(pathlib.Path(nvidia.cublas.lib.__file__).parent) -print(pathlib.Path(nvidia.cudnn.lib.__file__).parent) -PY - -# ───────── 8. Entrypoint ───────── -CMD ["/bin/bash"] \ No newline at end of file From 2a2ada3911fbd7be9946a2adbb1c5d0e9db29680 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 8 Aug 2025 07:48:19 -0700 Subject: [PATCH 22/34] Tests fixed Signed-off-by: root --- tests/test_granary_pipeline_end_to_end.py | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/tests/test_granary_pipeline_end_to_end.py b/tests/test_granary_pipeline_end_to_end.py index c22369be..a802a349 100644 --- a/tests/test_granary_pipeline_end_to_end.py +++ b/tests/test_granary_pipeline_end_to_end.py @@ -15,7 +15,10 @@ def to_abs_paths(manifest_filepath, tmp_path): with open(manifest_filepath, 'r', encoding = 'utf8') as fin: for line in fin: sample = json.loads(line) - sample['source_audio_filepath'] = os.path.join(str(tmp_path), "audio", os.path.basenames(sample['source_audio_filepath'])) + if 'source_audio_filepath' in sample: + sample['source_audio_filepath'] = os.path.join(str(tmp_path), sample['source_audio_filepath']) + if 'audio_filepath' in sample: + sample['audio_filepath'] = os.path.join(str(tmp_path), sample['audio_filepath']) samples.append(sample) with open(manifest_filepath, 'w', encoding = 'utf8') as fout: @@ -46,9 +49,9 @@ def granary_data(tmp_path: Path): f"{granary_key_prefix}/audio/zHtFdl5K8qg.wav", f"{granary_key_prefix}/audio/zCW9rGbaF4E.wav", f"{granary_key_prefix}/audio/zG3RpHaMzkQ.wav", - #f"{granary_key_prefix}/.cache/histograms/en", - #f"{granary_key_prefix}/.cache/histograms/it", - #f"{granary_key_prefix}/.cache/models/lid.176.bin", + f"{granary_key_prefix}/cache/histograms/en", + f"{granary_key_prefix}/cache/histograms/it", + f"{granary_key_prefix}/cache/models/lid.176.bin", ] bucket = "sdp-test-data" @@ -76,7 +79,7 @@ def test_granary_pipeline_end_to_end(granary_data): cfg = OmegaConf.load(config_path) cfg.input_manifest_file = input_manifest_file - cfg.output_dir = os.path.join(granary_data, "sdp_output") + cfg.output_dir = os.path.join(granary_data) cfg.sdp_dir = Path(__file__).parents[1] #disable some processors @@ -91,11 +94,11 @@ def test_granary_pipeline_end_to_end(granary_data): cfg.processors[processor_idx].should_run = False cfg.processors[processor_idx + 1].input_manifest_file = os.path.join(granary_data, f"manifest_{processor_id}.json") - #cfg.processors[33].cache_dir = os.path.join(granary_data, ".cache", "histograms") - #cfg.processors[34].cache_dir = os.path.join(granary_data, ".cache", "histograms") + cfg.processors[33].cache_dir = os.path.join(granary_data, "cache", "histograms") + cfg.processors[34].cache_dir = os.path.join(granary_data, "cache", "histograms") - #cfg.processors[37].cache_dir = os.path.join(granary_data, ".cache") - #cfg.processors[38].cache_dir = os.path.join(granary_data, ".cache") + cfg.processors[37].cache_dir = os.path.join(granary_data, "cache", "models") + cfg.processors[38].cache_dir = os.path.join(granary_data, "cache", "models") run_processors(cfg) From 4818eb1f7c6adee45f6713f8953b6d943406ff42 Mon Sep 17 00:00:00 2001 From: Sasha Meister Date: Fri, 8 Aug 2025 07:57:13 -0700 Subject: [PATCH 23/34] New test in workflow Signed-off-by: Sasha Meister --- .github/workflows/test_granary.yml | 43 ++++++++++++++++++++++++++++++ .github/workflows/tests.yml | 2 +- 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/test_granary.yml diff --git a/.github/workflows/test_granary.yml b/.github/workflows/test_granary.yml new file mode 100644 index 00000000..dc8d49e8 --- /dev/null +++ b/.github/workflows/test_granary.yml @@ -0,0 +1,43 @@ +name: Granary pipeline E2E test + +on: + pull_request: + branches: [ "main" ] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +permissions: + contents: read + +jobs: + granary-e2e-test: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Set up Python 3.10 + uses: actions/setup-python@v3 + with: + python-version: "3.10" + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements/main.txt + pip install -r requirements/tests.txt + sudo apt-get update + sudo apt-get install -y libsndfile1 ffmpeg sox libsox-fmt-mp3 + pip install pytorch_lightning + pip install Cython wheel # need to pre-install to avoid error in nemo installation + pip install nemo-toolkit[common]==2.2.1 + pip install pymarian + python -m pip cache purge + + - name: Run Granary E2E test + env: + AWS_SECRET_KEY: ${{ secrets.AWS_SECRET_KEY }} + AWS_ACCESS_KEY: ${{ secrets.AWS_ACCESS_KEY }} + CLEAN_UP_TMP_PATH: 1 + USE_THREADING_BACKEND: 1 + run: | + python -m pytest tests/test_granary_pipeline_end_to_end.py \ No newline at end of file diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index ebfc70a9..37424dbb 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -93,7 +93,7 @@ jobs: sudo cp incommon-rsa-ca2.pem /usr/local/share/ca-certificates/incommon-rsa-server-ca-2.crt # [cert for CORAL] sudo update-ca-certificates # [cert for CORAL] set -o pipefail # this will make sure next line returns non-0 exit code if tests fail - python -m pytest tests/test_granary_pipeline_end_to_end.py tests/test_data_to_data.py --junitxml=pytest.xml --ignore=tests/test_tts_sdp_end_to_end.py --cov-report=term-missing:skip-covered --cov=sdp --durations=30 -rs | tee pytest-coverage.txt + python -m pytest tests/test_granary_pipeline_end_to_end.py tests/test_data_to_data.py --junitxml=pytest.xml --ignore=tests/test_tts_sdp_end_to_end.py,tests/test_granary_pipeline_end_to_end.py --cov-report=term-missing:skip-covered --cov=sdp --durations=30 -rs | tee pytest-coverage.txt # TODO: add some way to see if e2e tests were skipped From 6557cdb09b7cc6f84257a24ec20f77c7be69f723 Mon Sep 17 00:00:00 2001 From: Sasha Meister Date: Fri, 8 Aug 2025 08:00:33 -0700 Subject: [PATCH 24/34] try except for test data to data when s3 download Signed-off-by: Sasha Meister --- .github/workflows/test_granary.yml | 2 +- tests/test_data_to_data.py | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test_granary.yml b/.github/workflows/test_granary.yml index dc8d49e8..debb2126 100644 --- a/.github/workflows/test_granary.yml +++ b/.github/workflows/test_granary.yml @@ -40,4 +40,4 @@ jobs: CLEAN_UP_TMP_PATH: 1 USE_THREADING_BACKEND: 1 run: | - python -m pytest tests/test_granary_pipeline_end_to_end.py \ No newline at end of file + python -m pytest tests/test_granary_pipeline_end_to_end.py tests/test_data_to_data.py \ No newline at end of file diff --git a/tests/test_data_to_data.py b/tests/test_data_to_data.py index 010b4588..b9f2007f 100644 --- a/tests/test_data_to_data.py +++ b/tests/test_data_to_data.py @@ -306,7 +306,11 @@ def en_hist_dir(tmp_path_factory): local_path = tmp_dir / "en" if not local_path.exists(): - s3.download_file(bucket, key, str(local_path)) + try: + s3.download_file(bucket, key, str(local_path)) + except ClientError as e: + code = e.response.get("Error", {}).get("Code", "") + pytest.skip(f"Cannot download s3://{bucket}/{key} ({code}).") assert local_path.exists(), "Histogram file was not downloaded" return str(tmp_dir) From 48a7f97bc244a3a558bbaf4a7731731b7d7ef3c4 Mon Sep 17 00:00:00 2001 From: Sasha Meister Date: Fri, 8 Aug 2025 08:06:20 -0700 Subject: [PATCH 25/34] Missed dependences added Signed-off-by: Sasha Meister --- .github/workflows/test_granary.yml | 4 +--- .github/workflows/tests.yml | 1 - 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/test_granary.yml b/.github/workflows/test_granary.yml index debb2126..ead0f90d 100644 --- a/.github/workflows/test_granary.yml +++ b/.github/workflows/test_granary.yml @@ -27,10 +27,8 @@ jobs: pip install -r requirements/tests.txt sudo apt-get update sudo apt-get install -y libsndfile1 ffmpeg sox libsox-fmt-mp3 - pip install pytorch_lightning - pip install Cython wheel # need to pre-install to avoid error in nemo installation pip install nemo-toolkit[common]==2.2.1 - pip install pymarian + pip install fasttext python -m pip cache purge - name: Run Granary E2E test diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 37424dbb..a3266c02 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -74,7 +74,6 @@ jobs: pip install Cython wheel # need to pre-install to avoid error in nemo installation pip install nemo-toolkit[asr,nlp]==2.2.1 pip install nemo_text_processing - pip install pymarian pip install -r requirements/huggingface.txt pip install certifi #this needed to avoid problems with certificates [COORAL] export SSL_CERT_FILE=$(python -m certifi) From c5cea2883cc14591eb756a0b51a8fccc6d8a02ba Mon Sep 17 00:00:00 2001 From: Sasha Meister Date: Fri, 8 Aug 2025 08:17:43 -0700 Subject: [PATCH 26/34] Missed dependences added Signed-off-by: Sasha Meister --- .github/workflows/test_granary.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_granary.yml b/.github/workflows/test_granary.yml index ead0f90d..26c5362c 100644 --- a/.github/workflows/test_granary.yml +++ b/.github/workflows/test_granary.yml @@ -27,7 +27,7 @@ jobs: pip install -r requirements/tests.txt sudo apt-get update sudo apt-get install -y libsndfile1 ffmpeg sox libsox-fmt-mp3 - pip install nemo-toolkit[common]==2.2.1 + pip install nemo-toolkit[asr]==2.2.1 pip install fasttext python -m pip cache purge From 6852f89123924fe68ac1e543cb479d9dc2cc1cb9 Mon Sep 17 00:00:00 2001 From: Sasha Meister Date: Fri, 8 Aug 2025 08:25:28 -0700 Subject: [PATCH 27/34] Turn on all tests Signed-off-by: Sasha Meister --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index a3266c02..74849454 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -92,7 +92,7 @@ jobs: sudo cp incommon-rsa-ca2.pem /usr/local/share/ca-certificates/incommon-rsa-server-ca-2.crt # [cert for CORAL] sudo update-ca-certificates # [cert for CORAL] set -o pipefail # this will make sure next line returns non-0 exit code if tests fail - python -m pytest tests/test_granary_pipeline_end_to_end.py tests/test_data_to_data.py --junitxml=pytest.xml --ignore=tests/test_tts_sdp_end_to_end.py,tests/test_granary_pipeline_end_to_end.py --cov-report=term-missing:skip-covered --cov=sdp --durations=30 -rs | tee pytest-coverage.txt + python -m pytest tests/ --junitxml=pytest.xml --ignore=tests/test_tts_sdp_end_to_end.py,tests/test_granary_pipeline_end_to_end.py --cov-report=term-missing:skip-covered --cov=sdp --durations=30 -rs | tee pytest-coverage.txt # TODO: add some way to see if e2e tests were skipped From ac4370d89790dcf8dc8ee4edd1bf6d2b83150568 Mon Sep 17 00:00:00 2001 From: Sasha Meister Date: Fri, 8 Aug 2025 09:10:18 -0700 Subject: [PATCH 28/34] fix tests Signed-off-by: Sasha Meister --- .github/workflows/tests.yml | 9 ++++++++- tests/test_data_to_data.py | 17 +++++++++++++---- tests/test_granary_pipeline_end_to_end.py | 12 ++++++++++-- 3 files changed, 31 insertions(+), 7 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 74849454..d93e1145 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -92,7 +92,14 @@ jobs: sudo cp incommon-rsa-ca2.pem /usr/local/share/ca-certificates/incommon-rsa-server-ca-2.crt # [cert for CORAL] sudo update-ca-certificates # [cert for CORAL] set -o pipefail # this will make sure next line returns non-0 exit code if tests fail - python -m pytest tests/ --junitxml=pytest.xml --ignore=tests/test_tts_sdp_end_to_end.py,tests/test_granary_pipeline_end_to_end.py --cov-report=term-missing:skip-covered --cov=sdp --durations=30 -rs | tee pytest-coverage.txt + python -m pytest tests/ \ + --junitxml=pytest.xml \ + --ignore=tests/test_tts_sdp_end_to_end.py \ + --ignore=tests/test_granary_pipeline_end_to_end.py \ + --cov-report=term-missing:skip-covered \ + --cov=sdp \ + --durations=30 \ + -rs | tee pytest-coverage.txt # TODO: add some way to see if e2e tests were skipped diff --git a/tests/test_data_to_data.py b/tests/test_data_to_data.py index b9f2007f..9b57a47e 100644 --- a/tests/test_data_to_data.py +++ b/tests/test_data_to_data.py @@ -294,10 +294,19 @@ def en_hist_dir(tmp_path_factory): Uses tmp_path_factory → one persistent temp-dir for the whole session. """ - s3 = boto3.client('s3', - aws_access_key_id=os.getenv("AWS_ACCESS_KEY"), - aws_secret_access_key=os.getenv("AWS_SECRET_KEY") - ) + aws_access_key = os.getenv("AWS_ACCESS_KEY") + if not aws_access_key: + raise EnvironmentError("The environment variable AWS_ACCESS_KEY is not set or is empty") + + aws_secret_access_key = os.getenv("AWS_SECRET_KEY") + if not aws_secret_access_key: + raise EnvironmentError("The environment variable AWS_SECRET_KEY is not set or is empty") + + s3 = boto3.client( + 's3', + aws_access_key_id=aws_access_key, + aws_secret_access_key=aws_secret_access_key + ) bucket = "sdp-test-data" key = "test_data/test_processors/CharacterHistogramLangValidator/histograms/en" diff --git a/tests/test_granary_pipeline_end_to_end.py b/tests/test_granary_pipeline_end_to_end.py index a802a349..27ef5f10 100644 --- a/tests/test_granary_pipeline_end_to_end.py +++ b/tests/test_granary_pipeline_end_to_end.py @@ -28,10 +28,18 @@ def to_abs_paths(manifest_filepath, tmp_path): @pytest.fixture def granary_data(tmp_path: Path): # Download the data from S3 + aws_access_key = os.getenv("AWS_ACCESS_KEY") + if not aws_access_key: + raise EnvironmentError("The environment variable AWS_ACCESS_KEY is not set or is empty") + + aws_secret_access_key = os.getenv("AWS_SECRET_KEY") + if not aws_secret_access_key: + raise EnvironmentError("The environment variable AWS_SECRET_KEY is not set or is empty") + s3 = boto3.client( 's3', - aws_access_key_id=os.getenv("AWS_ACCESS_KEY"), - aws_secret_access_key=os.getenv("AWS_SECRET_KEY") + aws_access_key_id=aws_access_key, + aws_secret_access_key=aws_secret_access_key ) granary_key_prefix = "test_data/granary" From ae2209da34aeb81d2918ff7abfbac6e50d8e4b53 Mon Sep 17 00:00:00 2001 From: Sasha Meister Date: Fri, 8 Aug 2025 09:30:31 -0700 Subject: [PATCH 29/34] Fix AWS key check Signed-off-by: Sasha Meister --- tests/test_data_to_data.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_data_to_data.py b/tests/test_data_to_data.py index 9b57a47e..efd36b06 100644 --- a/tests/test_data_to_data.py +++ b/tests/test_data_to_data.py @@ -296,11 +296,11 @@ def en_hist_dir(tmp_path_factory): """ aws_access_key = os.getenv("AWS_ACCESS_KEY") if not aws_access_key: - raise EnvironmentError("The environment variable AWS_ACCESS_KEY is not set or is empty") + pytest.skip("The environment variable AWS_ACCESS_KEY is not set or is empty") aws_secret_access_key = os.getenv("AWS_SECRET_KEY") if not aws_secret_access_key: - raise EnvironmentError("The environment variable AWS_SECRET_KEY is not set or is empty") + pytest.skip("The environment variable AWS_SECRET_KEY is not set or is empty") s3 = boto3.client( 's3', From fc6b9ac5d52da12e99a04e5e933b0d52847de3df Mon Sep 17 00:00:00 2001 From: Sasha Meister Date: Fri, 8 Aug 2025 09:31:40 -0700 Subject: [PATCH 30/34] Fix AWS key check Signed-off-by: Sasha Meister --- tests/test_data_to_data.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_data_to_data.py b/tests/test_data_to_data.py index efd36b06..8ff64ed9 100644 --- a/tests/test_data_to_data.py +++ b/tests/test_data_to_data.py @@ -295,11 +295,11 @@ def en_hist_dir(tmp_path_factory): Uses tmp_path_factory → one persistent temp-dir for the whole session. """ aws_access_key = os.getenv("AWS_ACCESS_KEY") - if not aws_access_key: + if not aws_access_key or aws_access_key == "access": pytest.skip("The environment variable AWS_ACCESS_KEY is not set or is empty") aws_secret_access_key = os.getenv("AWS_SECRET_KEY") - if not aws_secret_access_key: + if not aws_secret_access_key or aws_secret_access_key == "secret": pytest.skip("The environment variable AWS_SECRET_KEY is not set or is empty") s3 = boto3.client( From 6867c7d416180274ad99caf90949013c62ab3c4b Mon Sep 17 00:00:00 2001 From: Sasha Meister <117230141+ssh-meister@users.noreply.github.com> Date: Fri, 8 Aug 2025 21:07:14 +0400 Subject: [PATCH 31/34] Update tests.yml --- .github/workflows/tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index d93e1145..7e094204 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -75,6 +75,7 @@ jobs: pip install nemo-toolkit[asr,nlp]==2.2.1 pip install nemo_text_processing pip install -r requirements/huggingface.txt + pip install pymarian pip install certifi #this needed to avoid problems with certificates [COORAL] export SSL_CERT_FILE=$(python -m certifi) python -m pip cache purge From 44569efd95c4ecf4dc47ea3b50f9567a9ac8c327 Mon Sep 17 00:00:00 2001 From: Sasha Meister Date: Fri, 8 Aug 2025 13:34:43 -0700 Subject: [PATCH 32/34] Remove overengeneered testing Signed-off-by: Sasha Meister --- .github/workflows/tests.yml | 1 - tests/test_cfg_end_to_end_tests.py | 30 ------------------------------ 2 files changed, 31 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index d93e1145..760c1baa 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -95,7 +95,6 @@ jobs: python -m pytest tests/ \ --junitxml=pytest.xml \ --ignore=tests/test_tts_sdp_end_to_end.py \ - --ignore=tests/test_granary_pipeline_end_to_end.py \ --cov-report=term-missing:skip-covered \ --cov=sdp \ --durations=30 \ diff --git a/tests/test_cfg_end_to_end_tests.py b/tests/test_cfg_end_to_end_tests.py index 05fdfcb3..f2597628 100644 --- a/tests/test_cfg_end_to_end_tests.py +++ b/tests/test_cfg_end_to_end_tests.py @@ -428,35 +428,5 @@ def test_configs(setup_data, tmp_path): if os.getenv("CLEAN_UP_TMP_PATH", "0") != "0": shutil.rmtree(tmp_path) -# Additional unit tests to increase coverage -def test_check_e2e_test_data(): - os.environ.clear() - assert not check_e2e_test_data() - os.environ["TEST_DATA_ROOT"] = "/path/to/test/data" - assert check_e2e_test_data() - os.environ.clear() - os.environ["AWS_SECRET_KEY"] = "secret" - os.environ["AWS_ACCESS_KEY"] = "access" - assert check_e2e_test_data() - -@pytest.mark.slow -def test_get_e2e_test_data_path(tmp_path): - os.environ["TEST_DATA_ROOT"] = str(tmp_path) - assert get_e2e_test_data_path("test/path") == str(tmp_path) - - os.environ.clear() - os.environ["AWS_SECRET_KEY"] = "secret" - os.environ["AWS_ACCESS_KEY"] = "access" - with mock.patch("boto3.resource") as mock_resource: - mock_bucket = mock.MagicMock() - mock_resource.return_value.Bucket.return_value = mock_bucket - mock_bucket.objects.all.return_value = [ - mock.MagicMock(key="test/path/file1.txt"), - mock.MagicMock(key="test/path/file2.txt"), - ] - result = get_e2e_test_data_path("test/path") - assert result == os.path.abspath("test_data") - assert mock_bucket.download_file.call_count == 2 - if __name__ == "__main__": pytest.main([__file__, "-v", "--durations=0"]) From bcc3bf0b6fb4f71d4e079f8db925652573995989 Mon Sep 17 00:00:00 2001 From: Sasha Meister Date: Fri, 8 Aug 2025 14:35:39 -0700 Subject: [PATCH 33/34] removed granary workflow Signed-off-by: Sasha Meister --- .github/workflows/test_granary.yml | 41 ------------------------------ tests/test_data_to_data.py | 8 +++--- 2 files changed, 4 insertions(+), 45 deletions(-) delete mode 100644 .github/workflows/test_granary.yml diff --git a/.github/workflows/test_granary.yml b/.github/workflows/test_granary.yml deleted file mode 100644 index 26c5362c..00000000 --- a/.github/workflows/test_granary.yml +++ /dev/null @@ -1,41 +0,0 @@ -name: Granary pipeline E2E test - -on: - pull_request: - branches: [ "main" ] - - # Allows you to run this workflow manually from the Actions tab - workflow_dispatch: - -permissions: - contents: read - -jobs: - granary-e2e-test: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 - - name: Set up Python 3.10 - uses: actions/setup-python@v3 - with: - python-version: "3.10" - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install -r requirements/main.txt - pip install -r requirements/tests.txt - sudo apt-get update - sudo apt-get install -y libsndfile1 ffmpeg sox libsox-fmt-mp3 - pip install nemo-toolkit[asr]==2.2.1 - pip install fasttext - python -m pip cache purge - - - name: Run Granary E2E test - env: - AWS_SECRET_KEY: ${{ secrets.AWS_SECRET_KEY }} - AWS_ACCESS_KEY: ${{ secrets.AWS_ACCESS_KEY }} - CLEAN_UP_TMP_PATH: 1 - USE_THREADING_BACKEND: 1 - run: | - python -m pytest tests/test_granary_pipeline_end_to_end.py tests/test_data_to_data.py \ No newline at end of file diff --git a/tests/test_data_to_data.py b/tests/test_data_to_data.py index 8ff64ed9..9b57a47e 100644 --- a/tests/test_data_to_data.py +++ b/tests/test_data_to_data.py @@ -295,12 +295,12 @@ def en_hist_dir(tmp_path_factory): Uses tmp_path_factory → one persistent temp-dir for the whole session. """ aws_access_key = os.getenv("AWS_ACCESS_KEY") - if not aws_access_key or aws_access_key == "access": - pytest.skip("The environment variable AWS_ACCESS_KEY is not set or is empty") + if not aws_access_key: + raise EnvironmentError("The environment variable AWS_ACCESS_KEY is not set or is empty") aws_secret_access_key = os.getenv("AWS_SECRET_KEY") - if not aws_secret_access_key or aws_secret_access_key == "secret": - pytest.skip("The environment variable AWS_SECRET_KEY is not set or is empty") + if not aws_secret_access_key: + raise EnvironmentError("The environment variable AWS_SECRET_KEY is not set or is empty") s3 = boto3.client( 's3', From 2796f6d234eb8847bc4c61d6043462b16493988d Mon Sep 17 00:00:00 2001 From: Sasha Meister Date: Sat, 9 Aug 2025 00:25:59 -0700 Subject: [PATCH 34/34] Moved Granary to cfg_end_to_end tests Signed-off-by: Sasha Meister --- .../multilingual/granary/README.md | 2 +- .../multilingual/granary/config.yaml | 2 +- tests/test_cfg_end_to_end_tests.py | 73 +++++++++- tests/test_data_to_data.py | 2 +- tests/test_granary_pipeline_end_to_end.py | 131 ------------------ 5 files changed, 74 insertions(+), 136 deletions(-) delete mode 100644 tests/test_granary_pipeline_end_to_end.py diff --git a/dataset_configs/multilingual/granary/README.md b/dataset_configs/multilingual/granary/README.md index f1952a17..b3c0c474 100644 --- a/dataset_configs/multilingual/granary/README.md +++ b/dataset_configs/multilingual/granary/README.md @@ -22,7 +22,7 @@ and is published as [nvidia/Granary](https://huggingface.co/datasets/nvidia/Gran > Note — GPU required > -> All Whisper, vLLM, FastText and Comet-QE stages expect at least one CUDA-capable GPU. Multi-GPU nodes are auto-detected when `num_devices: -1` (default) is used. +> All Whisper, vLLM and Comet-QE stages expect at least one CUDA-capable GPU. Multi-GPU nodes are auto-detected when `num_devices: -1` (default) is used. ### Software prerequisites diff --git a/dataset_configs/multilingual/granary/config.yaml b/dataset_configs/multilingual/granary/config.yaml index 758c5cd7..78e778b0 100644 --- a/dataset_configs/multilingual/granary/config.yaml +++ b/dataset_configs/multilingual/granary/config.yaml @@ -34,7 +34,7 @@ documentation: | .. note:: - **GPU required.** All Whisper, vLLM, FastText and Comet-QE stages expect at + **GPU required.** All Whisper, vLLM and Comet-QE stages expect at least one CUDA-capable GPU. Multi-GPU nodes are auto-detected when ``num_devices: -1`` (default) is used. diff --git a/tests/test_cfg_end_to_end_tests.py b/tests/test_cfg_end_to_end_tests.py index f2597628..aa0fde74 100644 --- a/tests/test_cfg_end_to_end_tests.py +++ b/tests/test_cfg_end_to_end_tests.py @@ -17,6 +17,7 @@ import tarfile import logging from functools import partial +from itertools import chain from pathlib import Path from typing import Callable, List, Tuple from unittest import mock @@ -135,6 +136,46 @@ def data_check_fn_armenian_toloka_pipeline_get_final_res(raw_data_dir: str) -> N ] ) +def data_check_fn_granary(raw_data_dir: str) -> None: + def create_init_manifest(audio_files, raw_data_dir): + with open(os.path.join(raw_data_dir, "input_manifest.json"), "wt", encoding="utf8") as f: + for audio_file in audio_files: + line = json.dumps({"source_audio_filepath": os.path.join(raw_data_dir, audio_file)}) + f.write(line + "\n") + + def to_abs_audio_paths(manifest_filepath, raw_data_dir): + with open(manifest_filepath, "rt", encoding="utf8") as f: + lines = f.readlines() + + with open(manifest_filepath, "wt", encoding="utf8") as f: + for line in lines: + sample = json.loads(line) + for audio_field in ["source_audio_filepath", "audio_filepath"]: + if audio_field in sample: + sample[audio_field] = str(Path(raw_data_dir) / sample[audio_field]) + f.write(json.dumps(sample) + "\n") + + audio_files = [ + "audio/zCW0Pa0BI4Q.wav", "audio/zHWk3Ae7qJ0.wav", "audio/zHtFdl5K8qg.wav", + "audio/zCW9rGbaF4E.wav", "audio/zG3RpHaMzkQ.wav" + ] + + manifest_files = [ + "reference_manifest.json", "manifest_03.json", "manifest_06.json", + "manifest_14.json", "manifest_21.json", "manifest_26.json", + "manifest_41.json", + ] + + cache_files = ["cache/histograms/en", "cache/histograms/it", "cache/models/lid.176.bin"] + + for file in chain(audio_files, manifest_files, cache_files): + if not (Path(raw_data_dir) / file).exists(): + raise ValueError(f"No such file {str(Path(raw_data_dir) / file)}") + + create_init_manifest(audio_files, raw_data_dir) + for manifest_file in manifest_files: + to_abs_audio_paths(Path(raw_data_dir) / manifest_file, raw_data_dir) + def get_test_cases() -> List[Tuple[str, Callable]]: return [ TestCase( @@ -281,6 +322,12 @@ def get_test_cases() -> List[Tuple[str, Callable]]: data_check_fn=partial(data_check_fn_generic, file_name="manifest_22khz.json"), reference_manifest_filename="test_data_reference_bandwidth.json", ), + TestCase( + config_path=f"{DATASET_CONFIGS_ROOT}/multilingual/granary/config.yaml", + data_check_fn=data_check_fn_granary, + reference_manifest_filename="reference_manifest.json", + fields_to_ignore=['audio_filepath'], + ), ] def get_test_names(): @@ -350,7 +397,6 @@ def setup_data(request): if os.getenv("CLEAN_UP_DATA_DIR", "0") != "0": shutil.rmtree(data_dir) - def test_data_availability(setup_data): _, data_check_fn, reference_manifest_filename, data_dir, fields_to_ignore, _ = setup_data try: @@ -380,7 +426,6 @@ def test_configs(setup_data, tmp_path): cfg.data_split = cfg.get("data_split", "train") cfg.processors[0].raw_data_dir = data_dir.as_posix() - if "already_downloaded" in cfg["processors"][0]: cfg["processors"][0]["already_downloaded"] = True @@ -404,6 +449,30 @@ def test_configs(setup_data, tmp_path): if "english/hifitts2/config_bandwidth" in config_path: cfg.processors[0].audio_dir = (data_dir / "audio_22khz").as_posix() cfg.processors[0].input_manifest_file = (data_dir / "manifest_22khz.json").as_posix() + + if "multilingual/granary/config" in config_path: + cfg.input_manifest_file = data_dir / "input_manifest.json" + cfg.output_dir = data_dir + cfg.sdp_dir = Path(__file__).parents[1] + cfg.final_manifest = cfg.processors[-1].output_manifest_file + + # Disable processors that uses GPU + processors_to_disable = [ + 3, 6, 14, # FasterWhisperInference + 21, 26, # vLLMInference + 41, # CometoidWMTQualityEstimation + ] + + for processor_idx in processors_to_disable: + processor_id = str(processor_idx).zfill(2) + cfg.processors[processor_idx].should_run = False + cfg.processors[processor_idx + 1].input_manifest_file = os.path.join(data_dir, f"manifest_{processor_id}.json") + + # Set cache directories + cfg.processors[33].cache_dir = os.path.join(data_dir, "cache", "histograms") + cfg.processors[34].cache_dir = os.path.join(data_dir, "cache", "histograms") + cfg.processors[37].cache_dir = os.path.join(data_dir, "cache", "models") + cfg.processors[38].cache_dir = os.path.join(data_dir, "cache", "models") run_processors(cfg) # additionally, let's test that final generated manifest matches the diff --git a/tests/test_data_to_data.py b/tests/test_data_to_data.py index 9b57a47e..bca1dcf6 100644 --- a/tests/test_data_to_data.py +++ b/tests/test_data_to_data.py @@ -319,7 +319,7 @@ def en_hist_dir(tmp_path_factory): s3.download_file(bucket, key, str(local_path)) except ClientError as e: code = e.response.get("Error", {}).get("Code", "") - pytest.skip(f"Cannot download s3://{bucket}/{key} ({code}).") + raise FileNotFoundError(f"Cannot download s3://{bucket}/{key} ({code}).") assert local_path.exists(), "Histogram file was not downloaded" return str(tmp_dir) diff --git a/tests/test_granary_pipeline_end_to_end.py b/tests/test_granary_pipeline_end_to_end.py deleted file mode 100644 index 27ef5f10..00000000 --- a/tests/test_granary_pipeline_end_to_end.py +++ /dev/null @@ -1,131 +0,0 @@ -import pytest -import boto3 -from botocore.exceptions import ClientError -import json -import os -from pathlib import Path -from omegaconf import OmegaConf -from sdp.run_processors import run_processors -import shutil - -DATASET_CONFIGS_ROOT = Path(__file__).parents[1] / "dataset_configs" - -def to_abs_paths(manifest_filepath, tmp_path): - samples = [] - with open(manifest_filepath, 'r', encoding = 'utf8') as fin: - for line in fin: - sample = json.loads(line) - if 'source_audio_filepath' in sample: - sample['source_audio_filepath'] = os.path.join(str(tmp_path), sample['source_audio_filepath']) - if 'audio_filepath' in sample: - sample['audio_filepath'] = os.path.join(str(tmp_path), sample['audio_filepath']) - samples.append(sample) - - with open(manifest_filepath, 'w', encoding = 'utf8') as fout: - for sample in samples: - fout.write(json.dumps(sample) + "\n") - -@pytest.fixture -def granary_data(tmp_path: Path): - # Download the data from S3 - aws_access_key = os.getenv("AWS_ACCESS_KEY") - if not aws_access_key: - raise EnvironmentError("The environment variable AWS_ACCESS_KEY is not set or is empty") - - aws_secret_access_key = os.getenv("AWS_SECRET_KEY") - if not aws_secret_access_key: - raise EnvironmentError("The environment variable AWS_SECRET_KEY is not set or is empty") - - s3 = boto3.client( - 's3', - aws_access_key_id=aws_access_key, - aws_secret_access_key=aws_secret_access_key - ) - - granary_key_prefix = "test_data/granary" - - file_keys_to_download = [ - f"{granary_key_prefix}/reference_manifest.json", - f"{granary_key_prefix}/manifest_03.json", - f"{granary_key_prefix}/manifest_06.json", - f"{granary_key_prefix}/manifest_14.json", - f"{granary_key_prefix}/manifest_21.json", - f"{granary_key_prefix}/manifest_26.json", - f"{granary_key_prefix}/manifest_41.json", - f"{granary_key_prefix}/audio/zCW0Pa0BI4Q.wav", - f"{granary_key_prefix}/audio/zHWk3Ae7qJ0.wav", - f"{granary_key_prefix}/audio/zHtFdl5K8qg.wav", - f"{granary_key_prefix}/audio/zCW9rGbaF4E.wav", - f"{granary_key_prefix}/audio/zG3RpHaMzkQ.wav", - f"{granary_key_prefix}/cache/histograms/en", - f"{granary_key_prefix}/cache/histograms/it", - f"{granary_key_prefix}/cache/models/lid.176.bin", - ] - - bucket = "sdp-test-data" - - input_manifest_file = tmp_path / "input_manifest.json" - with open(input_manifest_file, 'w', encoding="utf8") as f: - for file_key in file_keys_to_download: - rel_path = file_key.replace(granary_key_prefix + "/", "") - dest_path = tmp_path / rel_path - dest_path.parent.mkdir(parents=True, exist_ok=True) - s3.download_file(bucket, file_key, str(dest_path)) - - if file_key.endswith(".wav"): - f.write(json.dumps({"source_audio_filepath": str(dest_path)}) + "\n") - elif file_key.endswith(".json"): - to_abs_paths(dest_path, tmp_path) - return tmp_path - -def test_granary_pipeline_end_to_end(granary_data): - assert os.path.exists(granary_data) - config_path = DATASET_CONFIGS_ROOT / "multilingual/granary/config.yaml" - input_manifest_file = os.path.join(granary_data, "input_manifest.json") - reference_manifest = os.path.join(granary_data, "reference_manifest.json") - - cfg = OmegaConf.load(config_path) - - cfg.input_manifest_file = input_manifest_file - cfg.output_dir = os.path.join(granary_data) - cfg.sdp_dir = Path(__file__).parents[1] - - #disable some processors - processors_to_disable = [ - 3, 6, 14, # FasterWhisperInference - 21, 26, # vLLMInference - 41, # CometoidWMTQualityEstimation - ] - - for processor_idx in processors_to_disable: - processor_id = str(processor_idx).zfill(2) - cfg.processors[processor_idx].should_run = False - cfg.processors[processor_idx + 1].input_manifest_file = os.path.join(granary_data, f"manifest_{processor_id}.json") - - cfg.processors[33].cache_dir = os.path.join(granary_data, "cache", "histograms") - cfg.processors[34].cache_dir = os.path.join(granary_data, "cache", "histograms") - - cfg.processors[37].cache_dir = os.path.join(granary_data, "cache", "models") - cfg.processors[38].cache_dir = os.path.join(granary_data, "cache", "models") - - run_processors(cfg) - - final_manifest = cfg.processors[-1].output_manifest_file - fields_to_ignore = ['audio_filepath'] - - with open(reference_manifest, "rt", encoding="utf8") as reference_fin, \ - open(final_manifest, "rt", encoding="utf8") as generated_fin: - reference_lines = sorted(reference_fin.readlines()) - generated_lines = sorted(generated_fin.readlines()) - assert len(reference_lines) == len(generated_lines) - - for reference_line, generated_line in zip(reference_lines, generated_lines): - reference_data = json.loads(reference_line) - generated_data = json.loads(generated_line) - for field in fields_to_ignore: - reference_data.pop(field, None) - generated_data.pop(field, None) - assert reference_data == generated_data - - if os.getenv("CLEAN_UP_TMP_PATH", "0") != "0": - shutil.rmtree(granary_data) \ No newline at end of file