Распознавание речи: коротко о главном
- Изобретение
- Распознавание речи изобрели в 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 минут.
Распознавание речи изобрели в 1952 году
Первую систему распознавания речи построили в Bell Labs в 1952 году, и понимала она ровно десять слов: цифры от нуля до девяти.
Audrey, автоматический распознаватель цифр
K. H. Davis, R. Biddulph и S. Balashek собрали Audrey из аналоговых схем, занимавших почти двухметровую релейную стойку. Диктор произносил цифру в телефонную трубку, машина измеряла форманты гласных, и рядом с услышанной цифрой загоралась лампочка. Настроенная на голоса своих создателей, она давала от 97 до 99 процентов верных ответов, а на чужих голосах разваливалась. Audrey так и не покинула лабораторию: живой оператор, набирающий номера, обходился дешевле. Но она закрыла вопрос о том, способна ли машина слышать в принципе.
Shoebox от IBM и 1960-е
В 1962 году IBM показала Shoebox на Всемирной выставке в Сиэтле. Машина распознавала 16 произнесенных слов, десять цифр и шесть арифметических команд, и с их помощью управляла арифмометром. В течение десятилетия лаборатории в США, Великобритании, Японии и Советском Союзе строили распознаватели гласных, согласных и небольших списков слов, а в 1968 году Тарас Винцюк описал метод динамической трансформации времени (dynamic time warping), способ выравнивания, который позволил машине сравнивать речь, произнесенную с разной скоростью. К 1969 году амбиций в этой области хватало, а теории не было: Джон Пирс из Bell Labs сравнил ее со схемами превращения воды в бензин, и лаборатория на годы прекратила финансирование.
Программа DARPA Speech Understanding Research подняла словари выше 1000 слов
С 1971 по 1976 год агентство DARPA финансировало крупнейший на тот момент проект по распознаванию речи, и Harpy из Carnegie Mellon достигла цели в 1000 слов.
Пятилетняя цель
Программа Speech Understanding Research требовала систему, которая понимала бы слитную речь нескольких дикторов со словарем в 1000 слов и ошибкой менее 10 процентов, и платила Carnegie Mellon, BBN, SRI и другим за участие в соревновании. До финиша дошли три системы: Hearsay-II и Harpy из Carnegie Mellon и HWIM из BBN. Harpy, завершенная в 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
Справочная служба GOOG-411, запущенная Google в 2007 году, была способом собрать миллионы голосовых запросов. В ноябре 2008 года компания выпустила Google Voice Search в виде приложения для iPhone, и распознавание речи изменило форму: телефон только записывал, а само распознавание шло в дата-центрах Google на моделях, куда более крупных, чем могло вместить любое устройство. Английская система Google была обучена на 230 миллиардах слов из поисковых запросов, поэтому умела предсказывать, что люди, скорее всего, скажут, и каждый новый запрос шел на обучение следующей модели. Распознавание стало сервисом, а не программой, и в этой форме существует до сих пор.
