Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Последнее время, на хайпе нейронных сетей, особую популярность приобрели end2end системы распознавания речи. И это неудивительно, ведь можно «просто» взять нейронную сеть известной архитектуры, скормить ей обучающий датасет и ждать результата. Но на практике все оказывается не так просто.
Несмотря на эксперименты с нейронными end2end сетями, в продакшене мы продолжаем использовать гибридную архитектуру, состоящую из акустической и лингвистической модели, работающих независимо. И в этой статье мы постараемся объяснить причины нашего выбора.
Кратко об архитектурах:
End2end – нейронная сеть, переводящая последовательность звуков (во фреймах) в последовательность букв.
Гибрид – независимый алгоритм для распознавания фонем (бифонов, трифонов) в аудиодорожках + алгоритм языковой модели, оценивающий вероятность встречаемости распознанных слов.
Подробнее, как это работает с технической точки зрения - в нашей предыдущей статье по ссылке.
Первое, с чем вы столкнетесь при обучении end2end нейронной сети распознавания речи: вам понадобится много обучающих данных. И не просто много, а очень, очень много. Десятки тысяч часов транскрибированного аудио. Можно, конечно, попробовать использовать датасет объемом всего в пару тысяч часов, но в этом случае итоговое качество работы алгоритма окажется весьма низким. А вот классическая архитектура может нормально обучиться на нескольких сотнях часов. Лучше использовать несколько тысяч часов с качественной разметкой, но все равно это на порядок меньше, чем в end2end системах. Однако, как говорится, все, что можно решить за деньги, - это не проблемы, а затраты, поэтому идем дальше.
Если вы занимались внедрением распознавания речи, вы могли убедиться, что у каждого клиента в аудиодорожках есть свой набор уникальных терминов вроде «Вундервафель». Как правило это названия брендов и акций, которые произносят в диалогах сотрудники и покупатели. В большинстве случаев коробочное решение распознать эти термины не может, так как это уникальные слова.
В классической архитектуре с акустической и лингвистической моделью можно просто добавить эти слова в словарь. В end2end архитектуре так не получится. Будет необходимо скормить алгоритму пару сотен дополнительно размеченных часов, а это и дорого, и ресурсозатратно. Но тут стоит выделить и преимущество end2end архитектуры: алгоритм обобщает представление о структуре языка и может распознавать даже те слова, которых не было в обучающей выборке, как бы «додумывая», что это может быть.
Аналогично дела обстоят с отраслевой лингвистикой. Если ваш клиент из отрасли медицина или транспорт, то как правило, обычная универсальная модель распознавания речи ему не подойдет. И если для end2end модели снова нужно размечать сотни часов аудиозаписей, то классическую архитектуру можно просто дообучить на тексте из 100-150 тысяч слов, что существенно проще.
И наконец, для гибридной модели доступна опция распараллеливания по ядрам. Ведь далеко не всегда есть возможность использовать компьютер с GPU, в то время как серверы с CPU стоят везде. Как нам показалось, на практике распараллелить на потоки классическое решение проще, хотя в теории такое возможно и для end2end моделей.
Однако end2end модели имеют свои преимущества. Во-первых, если вам нужна максимально универсальная в словарном плане модель, есть смысл попробовать end2end. Последние end2end архитектуры дают State of the Art результат.
Вторым преимуществом end2end является то, что классическая модель уже достигла максимума своего потенциала. End2end только набирает обороты и, возможно, за этой технологией - будущее систем распознавания речи.
Также стоит отметить, что при необходимости распознавать не на сервере, а на телефоне, лучше выбрать end2end, так как там можно придумать легковесную архитектуру.
Итого
Преимущества классической гибридной архитектуры:
1. Нужна маленькая обучающая выборка (достаточно несколько сотен часов транскрибированного аудио).
2. Можно добавлять слова в словарь и руками задавать вероятность распознавания.
3. Можно легко переобучать языковую модель. Для этого достаточно текстов, содержащих несколько сотен тысяч слов.
Недостатки классической гибридной архитектуры:
1. Не модно.
2. Для общей языковой модели уже проигрывает end2end архитектурам.
3. Неспособна распознать слова, которых нет в словаре.
4. Невозможно использовать на конечном устройстве (телефоне).
Для тех, кому интересна сама технология распознавания, приглашаем прочитать нашу предыдущую статью “как устроено распознавание речи”.
Бонус для дочитавших: наш телеграм бот @AmVeraSpeechBot. В боте вы можете проверить качество работы нашего решения (Amvera Speech) по распознаванию речи на основе классической гибридной архитектуры. Просто отправьте в бот короткую аудиодорожку или голосовое сообщение – и получите текстовую расшифровку.
И второй бонус. Сейчас мы проводим бета-тестирование нашего облака для хостинга IT-приложений и приглашаем всех желающих присоединиться к тестированию. Это абсолютно бесплатно: с нас - облачные ресурсы, с вас - обратная связь. Подробности по ссылке.
А в следующей статье мы расскажем, как делали бота по распознаванию голосовых сообщений.