Что такое ASR?
Автоматическое распознавание речи (ASR) это технология, которая превращает устную речь в письменный текст. Система ASR получает аудиосигнал, анализирует звуки в нем и подбирает наиболее вероятную последовательность слов. На ней работают программы транскрибации, голосовые ассистенты, живые субтитры, сервисы диктовки и голосовой поиск.
ASR расшифровывается как automatic speech recognition, то есть автоматическое распознавание речи; некоторые компании пишут automated speech recognition, но смысл тот же. Если вам нужна короткая версия на две минуты, прочитайте наш обзор ASR. Здесь мы копнем глубже: от устройства движка до 70 лет исследований, которые за ним стоят.
Этот термин часто путают с тремя соседними, и каждый из них отвечает на свой вопрос:
- ASR (автоматическое распознавание речи) превращает звучащую речь в текст и отвечает на вопрос «что было сказано?»
- Speech-to-text (речь в текст) та же технология, только под продуктовым названием; она тоже отвечает на вопрос «что было сказано?»
- Распознавание голоса (идентификация диктора) определяет или подтверждает, кто говорит, и отвечает на вопрос «кто это сказал?»
- NLP (обработка естественного языка) понимает смысл текста и отвечает на вопрос «что это значит?»
На практике ASR и speech-to-text взаимозаменяемы: первое название инженерное, второе продуктовое. Чаще всего путают с распознаванием голоса. Оно узнает конкретного человека, как телефон, который разблокируется только для владельца, а ASR записывает слова любого говорящего, и ему неважно, кто именно их произнес. NLP работает на следующем шаге: сначала аудио превращается в текст, а затем NLP делает по нему краткое содержание, отвечает на вопрос или выполняет команду.
Как работает ASR?
Современное ASR представляет собой одну нейросеть, которая переводит аудио прямо в текст, но большую часть своей истории распознавание было конвейером из пяти отдельных моделей.
Классический конвейер, который история ниже собирает по частям, устроен так:
- Запись и предобработка. Звук оцифровывается, очищается и нарезается на короткие кадры, обычно длиной в десятки миллисекунд.
- Извлечение признаков. Каждый кадр превращается в компактное числовое описание того, сколько энергии приходится на разные частоты.
- Акустическая модель. Эта модель сопоставляет признаки с фонемами, базовыми звуковыми единицами языка, и оценивает, какие звуки, скорее всего, были произнесены.
- Языковая модель. Эта модель знает, какие последовательности слов вероятны. Поэтому движок напишет «распознать речь», а не «раз познать печь»: под звук подходят оба варианта, но только один подходит под язык.
- Декодер. Декодер перебирает совместные вероятности акустической и языковой моделей и выдает самое вероятное предложение.
Переход к сквозным моделям
С середины 2010-х сквозные (end-to-end) модели глубокого обучения, большинство из которых сегодня построено на архитектуре Transformer, напрямую учатся переводить сырое аудио в текст на сотнях тысяч часов речи. Ни вручную составленного словаря произношений, ни отдельной акустической модели: сеть усваивает все это сразу. Именно поэтому точность транскрибации выросла за 2010-е сильнее, чем за четыре предыдущих десятилетия.
Такие модели учатся на огромных объемах аудио, поэтому справляются с акцентами, фоновым шумом и живым разговором гораздо лучше конвейерных систем. Пунктуацию и заглавные буквы они расставляют за тот же проход, так что современная расшифровка читается как готовый документ.
Как измеряют точность ASR
Стандартная метрика называется пословная ошибка (WER): машинную расшифровку сравнивают с тщательной ручной, и каждое замененное, пропущенное или лишнее слово считается ошибкой. WER 5% означает примерно одну ошибку на 20 слов, то есть точность 95%. WER целиком зависит от тестовых записей, поэтому заявления о точности двух разных поставщиков редко можно сравнивать напрямую. В нашем руководстве разобрана формула и есть калькулятор.
Распознавание речи: коротко о главном
- Изобретение
- Распознавание речи изобрели в 1952 году: система Audrey из Bell Labs распознавала цифры от 0 до 9, произнесенные одним голосом.
- Первая программа в продаже
- Dragon Dictate вышла в 1990 году по цене около 9000 долларов и стала первым продуктом для распознавания речи в открытой продаже, но требовала паузы после каждого слова.
- Первый словарь на 1000 слов
- В 1976 году система Harpy из Carnegie Mellon понимала 1011 слов: именно такую планку агентство DARPA поставило перед своей пятилетней программой Speech Understanding Research.
- Уровень человека
- В 2017 году Microsoft зафиксировала пословную ошибку (WER) 5,1% на телефонном бенчмарке Switchboard, сравнявшись с профессиональными транскрибаторами, которые расшифровывали те же звонки.
- Открытые модели
- Whisper от OpenAI вышла в сентябре 2022 года: модель обучена на 680 000 часов аудио, транскрибирует почти 100 языков, а ее веса опубликованы в открытом доступе.
- Сегодня
- Sonix, основанный в 2017 году, распознает речь на 54+ языках с точностью 99% и расшифровывает часовую запись примерно за 5-6 минут.
История распознавания речи начинается в Bell Labs в 1952 году
Первую систему распознавания речи построили в Bell Labs в 1952 году, и понимала она ровно десять слов: цифры от нуля до девяти.
Audrey, автоматический распознаватель цифр
K. H. Davis, R. Biddulph и S. Balashek собрали Audrey из аналоговых схем, занимавших почти двухметровую релейную стойку. Диктор произносил цифру в телефонную трубку, машина измеряла форманты гласных, и рядом с услышанной цифрой загоралась лампочка. Настроенная на голоса своих создателей, она давала от 97 до 99 процентов верных ответов, а на чужих голосах разваливалась. Audrey так и не покинула лабораторию: живой оператор, набирающий номера, обходился дешевле. Но она закрыла вопрос о том, способна ли машина слышать в принципе.
Shoebox от IBM и 1960-е
В 1962 году IBM показала систему Shoebox на Всемирной выставке в Сиэтле. Она распознавала 16 слов, десять цифр и шесть арифметических команд, и управляла ими счетной машиной. Лаборатории в США, Великобритании, Японии и Советском Союзе создавали распознаватели гласных и небольших списков слов, а в 1968 году Тарас Винцюк описал динамическое трансформирование временной шкалы (DTW), которое позволило машине сравнивать речь, произнесенную с разной скоростью. К 1969 году амбиций у области было много, а теории не было, и Джон Пирс из Bell Labs сравнил ее с проектами превращения воды в бензин.
Программа DARPA Speech Understanding Research подняла словари выше 1000 слов
С 1971 по 1976 год агентство DARPA финансировало крупнейший на тот момент проект по распознаванию речи, и Harpy из Carnegie Mellon достигла цели в 1000 слов.
Пятилетняя цель
Программа Speech Understanding Research требовала системы, которая понимала бы слитную речь нескольких дикторов со словарем в 1000 слов и долей ошибок ниже 10 процентов, и DARPA финансировала соревнование Carnegie Mellon, BBN, SRI и других. Harpy, завершенная в Carnegie Mellon в 1976 году, понимала 1011 слов, примерно словарный запас трехлетнего ребенка, и оказалась единственной системой, достигшей цели. Ее секрет был в поиске, который рано отсекал маловероятные последовательности слов вместо того, чтобы взвешивать все варианты. Эта идея до сих пор лежит в основе любого декодера.
Статистический поворот
В те же годы родилась идея, которая следующие 40 лет побеждала все остальные. В Carnegie Mellon Джеймс Бейкер в диссертации 1975 года описал систему DRAGON: она рассматривала речь как скрытую марковскую модель, и какие слова были произнесены, решали вероятности, а не написанные вручную правила. В IBM группа Фредерика Елинека заложила тот же подход в исследовательскую систему диктовки и добавила n-граммные языковые модели, чтобы распознаватель угадывал следующее слово по двум предыдущим. Bell Labs тем временем перешла от одного голоса ко многим и построила распознаватели, работавшие с разными дикторами, чего требовали телефонные приложения.
В 1980-е скрытые марковские модели сделали распознавание речи статистическим
В 1980-е сопоставление с шаблонами уступило место вероятностям, и словари за десятилетие выросли с нескольких сотен слов до 20 000.
Как слышит скрытая марковская модель
Скрытая марковская модель не пытается подогнать звук под шаблон. Она спрашивает, какая последовательность звуков речи вероятнее всего породила полученное аудио, а затем какая последовательность слов вероятнее всего породила эти звуки. Вероятности задаются обучением на записанной речи, поэтому чем больше данных, тем лучше распознаватель, и это свойство приобрело огромное значение с приходом интернета. В сочетании с n-граммными языковыми моделями HMM стала стандартной архитектурой в каждой исследовательской лаборатории и оставалась ею, пока в 2012 году ее не вытеснило глубокое обучение.
Tangora, Sphinx и первые продукты
К середине 1980-х Tangora от IBM распознавала словарь в 20 000 слов, хотя требовала паузы между словами и обучения под каждого диктора. В 1988 году система Sphinx Кай-Фу Ли из Carnegie Mellon первой объединила в одном распознавателе большой словарь, слитную речь и независимость от диктора. Dragon Systems, основанная Джеймсом и Джанет Бейкер в 1982 году, начала продавать программы распознавания для персональных компьютеров. Распознавание голоса впервые дошло и до обычных покупателей: кукла Julie от Worlds of Wonder в 1987 году отвечала на несколько произнесенных фраз, а телефонные компании испытывали голосовой набор номера. Игрушки были грубыми, но именно они принесли словосочетание «распознавание голоса» в обычные дома.
В 1990-е распознавание речи пришло на персональные компьютеры
Более быстрые процессоры превратили диктовку из лабораторной демонстрации в коробочный продукт, а общий бенчмарк позволил легко измерять прогресс.
От Dragon Dictate до NaturallySpeaking
Dragon Dictate вышла в 1990 году по цене около 9000 долларов. Это был первый продукт для распознавания речи, который мог купить любой желающий, и он требовал паузы после каждого слова. В 1997 году Dragon NaturallySpeaking избавилась от паузы: программа распознавала слитную речь со скоростью около 100 слов в минуту на домашнем ПК, и в том же году IBM ответила ViaVoice. Впервые юрист, врач или писатель мог поговорить с компьютером и получить пригодный текст, если сначала обучил программу и потом поправил результат.
Телефонные меню и первые бенчмарки
В 1996 году BellSouth запустила VAL, голосовой портал с дозвоном, который отвечал на произнесенные вопросы, и от него ведет родословную каждая автоматическая телефонная система, с которой вы с тех пор ругались. За кулисами DARPA и Национальный институт стандартов и технологий проводили ежегодные оценки на общих записях, таких как телефонный корпус Switchboard, и пословная ошибка (WER) стала числом, о котором отчитывалась каждая лаборатория. С тех пор история распознавания речи сводится во многом к истории падения этого числа.
В 2000-е распознавание речи переехало в облако
Большую часть десятилетия точность топталась около 80 процентов, пока Google не перенесла распознавание с устройства на свои серверы.
Плато
К 2001 году лучшие системы транскрибировали диктовку с точностью около 80 процентов, а следующие годы принесли доработки, но не рывки. Диктовка на настольных компьютерах осталась нишевой, телефонные меню продолжали раздражать, финансирование исследований иссякало. Скрытая марковская модель подошла к своему потолку, а моделям, которым предстояло ее сменить, еще не хватало ни вычислительной мощности, ни данных.
Google Voice Search
Справочная служба Google GOOG-411, запущенная в 2007 году, собрала миллионы голосовых запросов. В ноябре 2008 года вышло приложение Google Voice Search для iPhone, и распознавание изменилось: телефон только записывал звук, а распознавание шло в дата-центрах Google на моделях, намного больших, чем мог вместить любой телефон, и обученных на 230 миллиардах слов из поисковых запросов. Распознавание стало сервисом, а не программой, и остается им до сих пор.
