Решение от:
Facebook AI

Цель:

Современные модели NLP, такие как BERTA или GPT-3, отлично справляются с созданием реалистичных текстов, которые иногда трудно отличить от текстов, написанных человеком. Однако для этих моделей требуются очень большие текстовые наборы данных, которые подходят для обучения, и поэтому их нельзя использовать с языками, для которых таких наборов данных не существует. Кроме того, для обучения таких моделей разговорной речи (подкасты, аудиокниги и др.) необходимо использовать модели автоматического распознавания текста (АСР), которые обычно требуют больших вычислительных ресурсов и могут допускать значительное количество ошибок. Задача состоит в том, чтобы создать модель NLP, которая генерирует новый текст из аудиозаписи — и все это при решении вышеупомянутых проблем.

Сложность создания такого решения заключается в:

  1. Разговорная речь, не подчиняющаяся формальным синтаксическим правилам, которые обычно облегчают автоматическую работу с текстом.
  2. Необходимость узнавать и запоминать особенности произношения, или «просодии».
  3. Необходимость выбора метрик для оценки полученного результата.

Решение:

GSLM (Generative Spoken Language Model) — первая высокопроизводительная модель НЛП, которая работает напрямую со звуковыми сигналами и не требует ввода текста. За основу была взята модель, состоящая из трех частей: кодировщик, который переводит аудиозапись в ряды «дискретных единиц» (S2u). Затем они используются для создания новых последовательностей таких единиц с использованием языковой модели (uLM). Наконец, декодер (u2S) переводит сгенерированные последовательности в речь. Эта модель обучается на «сырых» аудиоданных.

Для оценки работы финальная аудиозапись переводится в текст с использованием предварительно обученных моделей ASR. Для полученного текста рассчитываются метрики PER (частота ошибок фонемы) — частота ошибок распознавания фонем, и AUC (площадь под кривой) — оценка лингвистического качества и разнообразия.

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

Используемые технологии:

Языки программирования: Python

Кодировщики: CPC, wav2vec 2.0, HuBERT

Декодер: Такотрон 2