Восстановление знаков пунктуации и заглавных букв на 4 языках — теперь и на длинных текстах
После релиза нашей первой модели, расставляющей знаки препинания и большие буквы в тексте, было много пожеланий доработать её, чтобы она могла обрабатывать тексты целиком, а не отдельные предложения. Это коллективное пожелание и было осуществлено в нашей новой версии модели.
В целом, архитектура и датасеты остались прежними.
Что изменилось:
- Обучение теперь производилось не на отдельных предложениях, а на нескольких последовательных предложениях (принимаем во внимание, что конструктивное ограничение модели при обучении — 512 токенов на вход, что позволяет свободно подавать ~150 слов на любом из четырех поддерживаемых языков);
- Для ускорения обучения модели сокращение словаря теперь проводилось не только на инференсе, но и на трейне, что позволило увеличить размер батча;
Примеры работы модели
Как и раньше, приведем непосредственные примеры работы модели — в этот раз поможем Агенту Смиту с пунктуацией и заглавными буквами на трех оставшихся языках:
Как запустить
Модель, как и первая ее версия, выложена в репозитории проекта silero-models. А вот простой минималистичный запуск модели (прокликать более детальные примеры, как обычно, можно в colab):
Дальнейшие планы
В перспективе есть мысли переработать и расширить тренировочный корпус текстов — например, сейчас в нем заметно не достает примеров разговорной живой речи, как в субтитрах.
Еще одна особенность модели, тоже проявившаяся именно при работе с целыми абзацами текста: из-за того, что модель предсказывает заглавные буквы и пунктуацию раздельно — на каждую подзадачу отдельная голова, — изредка эти предсказания выходят несогласованными. В процессе разработки модели мы пробовали делать общую голову для обеих задач, но она работала хуже раздельных. Опция, которую хорошо бы еще проверить, — предсказывать сначала расстановку заглавных букв (это более простая задача), а потом подавать это предсказание вместе с входной текстовой последовательностью для расстановки пунктуации.
P. S.
Делитесь остроумными примерами работы модели в комментариях и голосуйте за понравившиеся! Лучшие фразы добавим как встроенные примеры в следующем релизе :D