TGViewer
Матчасть Матчасть @matchast · 881 subscribers
Post #236 737
Посмотрел видео недавнего доклада Tinkoff про распознавание и синтез речи: https://youtu.be/N6DnPC0rwIo. Мне доклад показался очень толковым: спикеры за час с небольшим провели ликбез по технологиям распознавания и синтеза и поделились собственным опытом. Попробую вкратце его пересказать.

Чтобы синтезировать речь из текста, сначала нужно привести текст в читабельный вид: записать буквами числа, сокращения, и прочие специальные обозначения (т.е. нормализовать текст), расставить ударения и точки над ё, по возможности проставить паузы и метки для интонации. Дальше текст превращают в последовательность спектрограмм, т.е. гистограмм, показывающих зависимость высоты звука от частоты на коротком временном интервале. Делают это обычно seq2seq моделями, в качестве основы часто берут архитектуру tacotron, и которые обучаются довольно долго. Последний шаг - применение модели-вокодера, которая из спектрограммы генерирует непосредственно звук. Вокодер тоже может быть авторегрессионным (например, свёрточной сетью), может быть основан на нормализующих потоках, может быть GANом. Оценивают всё это обычно side-by-side краудсорсинговыми оценками.

Распознавание речи решает обратную задачу, получая из неё текст. Первая сложность - выравнивание: из большого количества коротких аудиосэмплов нужно получить относительно короткую последовательность букв, и нужно определить, какие сэмплы относятся к какой букве (а какие - ни к какой). Это решается beam search декодированием: на каждом временном шаге мы поддерживаем несколько гипотез о том, какой может быть последовательность букв к данному моменту, и в конце выбираем последовательность, набравшую максимальное суммарное правдоподобие. Во время декодирования к акустической модели (которая классифицирует каждый сэмпл по-отдельности) добавляют языковую модель (которая отвечает за правдоподобие получившейся последовательности букв с точки зрения языка). Если распознавать речь хочется в реальном времени, акустическая модель (рекуррентная нейронка) запускается на скользящем окне из нескольких семплов, продвигающемся вперёд по мере поступления данных. Чтобы избегать пауз в ответе голосового помощника, нужна ещё хорошая модель для детекции окончания речи. В целом, есть очевидный трейдофф между скоростью распознавания и качеством. Зато качество мерять просто: это доля правильно распознанных слов, которая у Tinkoff сейчас достигает 97% на аудиокнигах и 85-90% на телефонных разговорах.

Этот краткий пересказ упускает кучу важных деталей и интересных подробностей, так что, если есть время, лучше смотрите видео целиком. Хороших выходных!
YouTube Tinkoff.AI Speech — Трансляция митапа На встрече с ведущими разработчиками машинного обучения в Тинькофф обсудили технологии синтеза и распознавания речи. В этой трансляции: 00:00 — Начало трансляции 00:54 — Приветствие 02:42 —Text-to-speech: cooking recipe, Сергей Дуканов 31:26 — Q&A с Сергеем…
More from @matchast
  1. Sep 10, 2024Классный хабр от tech_priestess про внутреннюю размерность фигур и пространств эмбеддингов…
  2. Sep 4, 2024Почему почти у всех полезных матриц маленький ранг? В нашей с вами жизни матрицы малого ра…
  3. Sep 5, 2022Ищем в нашу команду Mathshub талантливых инструкторов в сфере machine learning! Кто мы? Ma…
  4. Aug 11, 2022photo post
  5. Aug 8, 2022Представляю бесплатный интенсив из 20 занятий по питону и математике для начинающих. Орган…
  6. Jul 18, 2022Слева: линейная, изотоническая, и сглаженная изотоническая регрессии. Справа: в зависимост…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →