История о том, как машины научились распознавать и синтезировать речь
Попробуйте угадать, в каком году это произошло — в 1952, в 1939 или ещё раньше?
В середине XIX века устройство под названием Euphonia произнесло первое слово. Кстати, вот оно — прямо на обложке. Спустя полторы сотни лет на вашем столе интеллектуальная колонка Сбер. Вы спрашиваете, какая завтра погода — ИИ-помощник ГигаЧат понимает, готовит ответ и озвучивает его.
Умение генерировать ответы колонке обеспечивает искусственный интеллект… но о нём мы говорить (в кои-то веки) не будем. Сосредоточимся на других её способностях: распознавании речи и синтезе речи. Они часто идут вместе: в умных колонках и ТВ, автоматизированных колл-центрах, бортовых компьютерах автомобилей... Но развивались эти два направления параллельно. И одно — гораздо быстрее второго. Рассказываем об истории вопроса.
Как машины научились понимать речь
В 1952 году в США представили первое в мире устройство, способное распознавать голос — систему Audrey. Разработали её в компании Bell Laboratories. Кроме распознавания речи, она создала:
- первый полупроводниковый транзистор;
- операционную систему UNIX, «мать» большинства современных ОС;
- языки программирования C и C++;
- первый в мире спутник для телевещания Telstar I;
- лазер и многое другое.
Огромная машина, высотой со среднего мужчину, Audrey обладала микрофонами, которые улавливали звуки. Из них она выделяла характерные частоты, сравнивала сигнал с эталонными образцами и выдавала результат. Правда, понимала она только цифры. И только от нуля до девяти. И лишь если их произносил её разработчик. Практической пользы у неё по сути не было… как и у множества других технологических прорывов. Их задача — реализовать сам принцип; стать первыми из многих.
В 1960-х IBM выпустили систему Shoebox. Она уже понимала на слух шестнадцать слов: цифры от 0 до 9 и арифметические знаки. Могла распознать пример, решить его и распечатать ответ. Словом, вышел голосовой калькулятор, который, впрочем, использовали только для исследований. А вот спустя двадцать лет на рынке начали робко появляться коммерческие системы распознавания текста. Они позволяли диктовать текст голосом — и пользователи готовы были за это платить. Первой из них была электрическая печатная машинка Tangora от IBM. Она запускалась голосом и позволяла вслух набирать текст. Вдобавок её можно было подключить к компьютеру.
Tangora знала около 20 000 слов — плюс-минус столько же в активном словарном запасе образованного человека. «Активный» значит, что он помнит и регулярно использует эти слова.
В 1990 году компания Dragon Systems выпустила программу Dragon Dictate. Она уже не требовала делать паузы между словами, как предыдущие решения, и позволяла диктовать тексты прямо в текстовый редактор. Управлять вводом — удалять символы, вставлять пробелы и так далее — владелец тоже мог голосом. У программы был период обучения: пользователь читал ей тексты, чтобы она адаптировалась к его голосу и темпу.
Этот момент можно считать переломным: широкая публика вдруг увидела, что голосовые технологии — это удобно. И доступно каждому.
Как машины научили говорить
Синтез речи начал развиваться гораздо раньше, чем распознавание. Просто эта задача была и проще, и понятнее. Уже были смысловые единицы — слова. Было работающее «устройство», которое можно скопировать — голосовой тракт человека. Оставалось только соединить их, чтобы машины начали говорить на человеческом языке.
В XVIII веке уже появились первые механические устройства, которые… честно говоря, издавали похожие на речь звуки. А в XIX — машина Euphonia, способная говорить (та самая с обложки). По воспоминаниям очевидцев, Euphonia говорила медленно, хрипло и монотонно. Принцип у всех них похожий: воздушный поток и конструкция, которая имитирует речевой аппарат человека.
Перенесемся в 1939 год, на Всемирную выставку в Нью-Йорке. Именно там инженер Bell Laboratories Гомер Дадли представил Voder — первый электронный синтезатор речи. Чтобы заставить Voder говорить, оператор должен был быстро разложить предложение на звуки и извлечь их из устройства сочетанием разных клавиш, рычагов и педалей.
Кстати, на той же выставке показали первые в мире нейлоновые чулки. Так что она определённо удалась.
В «цифру» синтез речи ушёл в 1970-е годы. Дэвид Клатт представил свою программу DECTalk на основе технологий формантного синтеза. Как она работала:
- Каждое слово DECTalk анализировала на уровне фонем — самых маленьких единиц языка.
- Чтобы произнести фонему, нужны уникальные форманты: резонансные частоты, которые возникают в голосовом тракте, когда мы произносим звук. Для каждой фонемы слова программа вычисляла нужные форманты.
- DECTalk также оценивала контекст, чтобы правильно выбрать интонацию и другие характеристики.
- С помощью специальной модели голосового тракта программа издавала соответствующие звуки, создавая целые предложения слой за слоем, словно фигурку в 3D-принтере.
Интересный факт: все наверняка слышали одну конкретную версию DECtalk, которая появилась в 1980-х. Дело в том, что её всю жизнь использовал для разговора физик Стивен Хокинг. Уже разработали более современные системы с более естественными интонациями, но Хокинг предпочёл остаться при своём оригинальном «робо-голосе» с американским акцентом. В каталоге голосов DECtalk он известен как «Идеальный Пол», а основан на голосе Дэвида Клатта. Так что это, можно сказать, классика речевого синтеза.
В тех же 1980-х DECtalk перешла с формантного синтеза на конкатенативный. Теперь программа соединяла записанные заранее фрагменты речи — фонемы, слоги, даже целые слова — в целые фразы. Такая речь звучала естественнее и понятнее.
«Конкатенативный» обозначает метод, при котором нечто целое создают, сцепляя или объединяя части. Используется слово в программировании и собственно в синтезе речи.
Как работают сейчас синтез и распознавание речи
В XXI веке нейросети и глубокое обучение вывели синтез на новый уровень — живых интонаций с эмоциями и смехом, даже возможностью скопировать любой голос. Рекуррентные и свёрточные нейронные сети сделали распознавание точнее… Теперь машины способны выслушать нас и дать ответ. Посмотрим, что происходит, когда умная колонка слышит споттерное слово — у колонок Сбер это «Салют»:
- Микрофоны на устройстве захватывают звук. Аналого-цифровой преобразователь переводит его в цифровой формат.
- В дело вступают алгоритмы распознавания речи. Они преобразуют звук в последовательность фонем или токенов, затем предсказывают, какие слова вероятнее всего следуют друг за другом в предложении. На этом этапе используются акустические модели — для обработки звуковых данных — и языковые для предказания вероятных последовательностей слов.
- Искусственный интеллект, например, ГигаЧат генерирует ответ на вопрос.
- Готовый текст озвучивается. В современных системах чаще всего применяются нейросетевые модели. Модель преобразует текст в фонемное или промежуточное представление речи, генерирует для него паузы-ударения-мелодику, чтобы предложение звучало естественно, и акустические параметры. Затем синтезируется финальный ответ. Этот процесс может происходить в два этапа — сначала ответ из акустических параметров, которые модель получила в обучении, затем превращение в звуковую волну. Но в некоторых архитектурах эти этапы объединены, и модель почти сразу синтезирует звук..
Интеллектуальная колонка Сбер озвучивает погоду, или советует, что приготовить, или напоминает нужный факт. А пользователь параллельно продолжает заниматься своими делами. Когда голосовые интерфейсы научились слушать и отвечать, они стали по-настоящему доступными. И комфортными для жизни.