Конференцiя React fwdays. Приєднуйся безкоштовно або бери квитки поки regular | 27 березня
×Закрыть

Speech-to-Text: Первая доступная модель для украинского языка

Всем привет!

Хочу поделиться приятной новостью для всех, кто искал или желал получить готовый софт для перевода аудиозаписей в текст для украинского языка.

Такой софт появился.

Благодаря небольшой группе украинских добровольцев («згуртованих» в Telegram-группе), которые собрали с просторов интернета доступные аудио и текстовые материалы на украинском языке (датасет на ~260 часов, самый большой из доступных на данный момент) и российским дата-сайентистам создавшим одну из лучших speech-to-text моделей для русского языка, на свет появилась первая доступная для свободного скачивания модель speech-to-text: UA Silero.

На данным момент модель может распознать простые слова и предложения, но это лишь из-за небольшого собранного датасета. Мы прызываем всех добровольцев присоединяться к нам, чтобы пополнять датасет и улучшать качество модели. Для этого достаточно присоединиться к нашей Telegram-группе — t.me/speech_recognition_uk — и спросить как помочь.

Мы сделали Telegram-бота для тестирования: t.me/ukr_stt_bot . Просто отправьте своё аудио-сообщение боту и он ответит распознанным текстом.

ВНИМАНИЕ для всех, кто будет использовать модель в личных или коммерческих целях: у проекта есть лицензия — AGPL-3.0 ( полный текст лицензии ). Использование модели накладывает её условия на ВСЕХ, поэтому исполняйте их добросовестно (!).

Задавайте свои вопросы, если что-то непонятно или хотите о чём-то узнать. Мы за использование речевых технологий для украинского языка и создание местной Сири (или Омеляни). Или как у Киевстара — Зоряны.

Ссылки:

1. Общий репозиторий по теме распознавания украинской речи: github.com/...​mkv/speech-recognition-uk (просьба поставить star, чтобы репозиторий был популярным и другим людям проще было его найти). Там можно найти ссылки на доступные датасеты.

2. Группа в Telegram, где происходит обсуждение среди добровольцев по украинскому speech-to-text: t.me/speech_recognition_uk

3. Для русского языка тоже есть группа: t.me/speech_recognition_ru

4. Модели Silero: github.com/snakers4/silero-models (на данный момент украинская модель не опубликована в описании, ибо находится в статусе пополнения данными)

5. Пример использования модели: github.com/egorsmkv/ua-silero-demo

6. Код бота ( t.me/ukr_stt_bot ) для Telegram, где можно потестировать модель (просто отправьте аудио-сообщение боту): github.com/...​gorsmkv/ukrainian-stt-bot

Скриншоты из бота для затравки:

👍НравитсяПонравилось4
В избранноеВ избранном7
LinkedIn

Похожие топики

Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Мы загрузили обновленные датасет (1000 часов!) на торрент, скачать можно тут: academictorrents.com/...​e38919afee0a11d8145e35556

дякую бо підняв настрійяк українською перекласти місь р тлірік

А де можна про архітектуру і т.д. почитати натуральною, а не мовою програмування?

Краще завітати до нашого телеграм-чату бо різні люди роблять на різних архітектурах.

Украинская компания Inlimited создала модель укр. языка в 2018 году и уже создает бизнес-решения --- inlimited.ua/news/1615

А на каких технологиях ваше решение работает?

У нас обновление датасета. Уже 800 часов. Также добавили торрент (72.4 GB архив, 106.8 GB в распакованном виде), теперь скачать датасет стало проще.

Вот читаю коментарии и диво-дивное — похаять и проверить всякие Веры это можно , а сказать ребята у меня есть корпус текстов — он вам нужен ? Нет не так — ребята есть корпус текстов — возьмите их — вот ссылка ... Так на такое никто не способен....

Ничего страшного. Кому будет интересно — тот присоединится.

Хорошие новости от нашего сообщества: Igor Sitdikov создал вторую модель для VOSK-a. Можно скачать её в чате t.me/speech_recognition_uk или со страницы проекта на GitHub github.com/...​mkv/speech-recognition-uk

А це ви загнали? sluhay.com.ua Все ліцензійне, є тексти і начитки,

Так, додавали з цього сайту також книги.

Кстати, вот чего не хватает в объяве — это краткого описания подхода для распознавания речи, который использовали.
Нет сравнения с другими (у NIST есть датасеты для сравнения с другими движками).

По утру затупил, там нет украинского языка.
Но каков WER у вас?

Мы как команда из Украины, собираем открытый датасет. Ребята из Silero создали эксперементальную украинскую модель, если вам нужны вопросы по модели, то вы можете прочитать их доку на сайте и также статьи на habr. У них есть ещё в открытом доступе английский, немецкий, испанский языки. Также они вылили самый большой открытый датасет русского языка Open STT. WER мы ещё не сверяли, уж сильно раняя модель, планируем собрать 1000 часов данных, обучить и потом проверить.

Ну, на вашем месте я бы явно написал выше, что если кому не лень, то может помочь с аннотацией. Фактически это прослушать видео, звук и написать текст по нему — это то, что раньше делала куча машинисток у начальников.
От вас нужно брать ТВ шоу на украинском, выбрать из пачки готовых алгоритмов разделения дикторов наиболее приличный, прогнать эти шоу, порезать на куски по дикторам с вырезанием частей, где говорят больше одного диктора и передать эти куски аннотаторам.

Платно такое делают много народа, да и платные сервисы от гугла и яндекса такие есть.

Уже один доброволец делает такой веб-интерфейс.

Залишилося знайти інвесторів і можна випускати українську колонку, як Amazon Echo )

Можна :) , але ще треба значно більше даних, 1000 годин — це раз друга ціль.

Использовали DeepSpeech решение, можно узнать?

Silero еще поддерживает TensorFlow, но пока для него модель не опубликована.

Yurii Paniv сделал модель на DeepSpeech, можно посмотреть в его репозитории: github.com/...​nhad/voice-recognition-ua

Круть!

t.me/speech_recognition_uk — и спросить как помочь

лень.
Просто напишите здесь в чем помощь нужна, может помогатели и найдутся.

Нужно найти ссылки youtube-каналы с украинским контентом в которых есть хорошие субтитры.

А не в курсе, там субтитры автоматом гугол нагенерил, или там «реальная» текстовка?
Если второе, то для ТС на первом этапе отличная штука.
Но там дикторский голос с отличным качеством — обычные люди так не говорят, соотвественно система обучится только на такое качество и стиль речи.

По идее реальная текстовка, во-первых субтитры есть не у всех видео, во-вторых в описании видео написано:
Переклад, редагування, субтитрування, монтаж: Віталій Шевчук.
ну и качество субтитров слишком хорошее для автоматической генерации.

Возможно, сначала делаются субтитры (в некоторых словах даже проставлено ударение), а потом уже по субтитрам делается озвучка.

Значит твоя ссылка просто идеальна для ТС.
Но дальше у него остается проблема с речью обычных людей. Гугл эту проблему решил посылкой себе на сервер того, что люди говорят по смартфонам. Дальше садятся аннотаторы и пишут текст вплоть до привязки к звуку.

С речью сложность в том, что подход аугментации в картинках для речи не работает. Собственно речь людей — уже случайный сигнал и без дополнительных помех.
Проблема еще в том, что если люди будут начитывать тексты — это тоже в корне не то, что нужно ТС. Для этого есть аудиокниги (надеюсь есть такие на украинском).
Как решить эту проблему ТС я не знаю. В свое время я так и не нашел решения ей.
Для английского, немецкого, испанского есть в NIST датасеты с естественной речью (их телефонные компании писали, потом аннотаторы делали текстовку и привязку к звуку).
Датасеты раньше называли корпусами.

Есть вариант юзать шоу с ТВ на украинском, ну нужно садить аннотаторов и платить им.
Теоретически, вы немного можете помочь ТС, если посоветуете ему украинских инвесторов, которых подобное может заинтересовать и они оплатят работу аннотаторов, тогда ТВ шоу подойдут. Да ему придется нарезать куски, где народ не говорит хором, а по очереди. Для этого он может заюзать проги из опенсурса, что разделяют дикторов в потоке речи — частично они помогут. задачу разделения дикторов давно решают, есть море статей и опенсурсного всякого с разным качеством. Для оценки качества разделения юзают параметр под названием DER.

Лично я от речи отвалил полностью, потому что за нее не платят, а те задачи, за которые платят безумно геморные.

В чому прикол, гугл транслятор робить це вже давно і набагато краще?

Да, краше. Но это отличная тема для обучения студней и постстудней. А если еще и приложение какое-то рабочее слепили, то вообще молодцы.

Ви про який транслятор від Google говорите? У нього їх два. Google Translator та Google Cloud Translation. З першого по закону ви не можете отримувати текст, а за другий треба платити. Тим більше обидва сервіси недоступні в тих місцях, де немає інтернету, а дану модель можна встановити на комп’ютер без інтернету і вона буде працювати.

я маю на увазі Google Translator. Є ще офф-лайн безкоштовні сервіси для начитки тексту, пізніше кину лінк. Якість відмінна.

Google с украинским то не очень дружит, учитывая уровень русского у него. Также коммерческие данные мало кто в Google отправить захочет, а некоторым вообще под NDA такое запрещено. Ну и дорого это если имеется постоянный поток данных.

так, переклад не дуже, особливо для технічних текстів, але Speech-to-Text без нарікань.

Speech-to-Text — это и есть основная задача, дата сет мы собираем для этого, ибо в интернете ничего нет. Модель тоже первая выложена на просторах сети.

А, вы имели ввиду Speech-to-Text у Google норм — да это правда. Но ребята которые сделали тестовую модель из наших данных, смогли сделать модель русского языка выше уровня Google в некоторых доменах даже. Поэтому, чем больше мы соберём данных тем ближе к топам :)

Респект таким парням!

А можно интегрировать в свои проекты как библиотеку на С/C++, C#, Java, Swift и т.п. ?

Готовой реализации подобной библиотеки нет, но создать просто: nanomsg или другой локальный socket/http server + pytorch/python и в путь.

На питоне присобачиваешь это silero и модель от ТС. Ну и питон можешь дернуть из других языков.
Сразу скажу, если там pytorch или tensorflow. то заманаешься (но возможно дернуть). Проще на питоне приложение-сервер запилить и к нему слать запросы (протокол выбирай на свой вкус и цвет — от шаред мемори до всяких новомодных с жысонами) из своего клиента.

Пистон в принципе перекрутить можно. По по аналогии с uniconverter/Inscspe и SK1.

Чего с ним сделать? Ты имел в виду заюзать из другого языка. Можно, но Гвидо был еще тем придурком и настолько сложно сделал часть в питоне для стыковки с другими языками, что переплюнул всех в мире.

Тут можна взяти трохи уже опрацьованих даних. commonvoice.mozilla.org/uk/datasets

Дякую. Цей датасет був одним з перших, який ми додали.

А ви синхронізуєте оновлення?

Ні. Схема збору датасету зараз проста — завантаження на MEGA даних та прямування до наступних джерел. Але я бачив, що цей датасет оновлюється час від часу і треба якость це виправити.

Круто! Молодці! Якість, поки що, не дуже висока, але якщо повільно говорити прості фрази — результат відмінний.

Подписаться на комментарии