Наверняка каждый из вас хоть раз пользовался голосовым помощником, пробовал надиктовывать текст в онлайн-переводчик или случайно вызывал “Алису” Яндекса, упомянув это имя в разговоре. В этом материале мы разберёмся, каким образом наши гаджеты понимают речь.
В это трудно поверить, но о технологии распознавания речи начали думать примерно 150 лет назад. Например, Александр Грейам Белл (тот самый изобретатель телефона) пытался преобразовывать слова в картинки, чтобы облегчить жизнь глухой жене. К сожалению, его разработки были неудачными.
Позже, в 1927 году, американец Рой Уэнсли создал робота Телевокса, который реагировал на звуки разной частоты. Разработчик устраивал эффектные демонстрации: произносил фразу “Сезам, откройся”, после чего у робота срабатывал механизм, открывающий двери.
Ещё одной важной вехой является машина Audrey 1952 года. Её сделали в американском исследовательском центре “Лаборатории Белла”. Аппарат распознавал цифры от одного до девяти и был размером со шкаф.
Первый коммерческий распознаватель речи появился в 1996 году. Это была разработка компании IBM. Она применялась в медицине и фиксировала то, что диктовал врач.
С тех пор технологии очень изменились. Давайте разберёмся, как работает распознавание голоса сейчас. Итак, сначала создается шаблон. Для этого записывается и потом оцифровывается образец речи человека. Эти шаблоны накапливаются и формируют обширную базу данных, на которую потом система опирается. Чтобы преобразовать речь в текст или команду, компьютер должен пройти несколько довольно сложных шагов.
При устной речи в воздухе возникают вибрации. Чтобы компьютер смог что-то понять, он преобразует их в цифровые данные. Система измеряет звуковые волны, удаляет нежелательные шумы и делит звук на разные полосы частот, которые мы воспринимаем как различия в высоте тона. Технология нормализует звук и настраивает его на постоянный уровень громкости, чтобы его легче было подставить под шаблон.
Затем сигнал делится на небольшие сегменты и сопоставляется с фонемами, которые хранятся в памяти программы. Фонема – это мельчайший элемент языка, обозначающий звуки. Дальше программа сравнивает их с библиотекой известных слов, фраз и предложений и пытается определить, что же пользователь сказал. Таким образом, голосовые помощники воспринимают не слова целиком, а именно фонемы, из которых выстраивается речь.
Ранние системы распознавания пытались применить к речи грамматические и синтаксические правила. Программа могла понять слова, только если они укладывались в определённый набор правил, поэтому она не справлялась со многими трудностями – например, акцентами, диалектами и манерой произношения. Такие системы не могли обрабатывать непрерывную речь, и нужно было произносить слова по отдельности, делая между ними паузу.
В современных системах используют сложные методы статистического моделирования. До недавнего времени самой распространённой была скрытая марковская модель. Ей достаточно распознать только часть фонем одного слова, а остальные она подбирает по принципу вероятности. Например, если написать “в - л - ка”, вы наверняка поймёте, что это вилка. Точно так же программа угадывает слова, опираясь на библиотеку шаблонов.
На основе этой модели появились более современные системы, которые основаны на так называемой рекуррентной нейросети. Она тоже базируется на принципе вероятности, и если система не узнаёт отдельные слова из-за шума или других препятствий, то угадывает их, исходя из контекста. Нейросеть хороша ещё тем, что её можно “обучать” – например, внести в базу сотни вариантов произношения одной фонемы, чтобы у программы не было проблем с разными акцентами.
Расшифровка речи начинает появляться и в соцсетях. Например, во "ВКонтакте" уже работает преобразование аудиосообщений в текст. Почему же эта функция есть не во всех мессенджерах?
Скорее всего, потому, что тогда каждой соцсети придётся разрабатывать собственную нейросеть с базами данных, и это довольно трудно. Иначе мессенджер будет отправлять аудио на сторонние серверы для расшифровки, и вряд ли такое нарушение конфиденциальности понравится пользователям.
В случае с "ВКонтакте" алгоритм разработали специально под соцсеть. ИИ постарались сделать устойчивым к посторонним шумам и даже обучили его сленгу. Ещё ребята создали отдельную нейросеть для расставления знаков препинания, которая обучается по литературным текстам и киношным субтитрам.
Нет сомнений, что алгоритмы для распознавания голоса будут продолжать набирать популярность. Во-первых, это удобно в повседневной жизни, как, например, голосовые команды во время вождения или управление умными устройствами в доме. А во-вторых, они значительно облегчают быт людей, испытывающих проблемы со здоровьем – кому-то трудно набирать текст, а у кого-то нарушен слух. Недавно, например, разработчики Google представили умные очки для глухих, которые отображают текстом всё, что произносят вокруг. Так что за распознаванием речи будущее.
А вы часто пользуетесь голосовыми помощниками? Помогают они вам или вызывают раздражение? Делитесь своим мнением в комментариях.