• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

Бакалаврская программа «Фундаментальная и прикладная лингвистика»

Лингвистические секреты работы голосовых помощников

Лингвистика - многогранная область, включающая в себя множество прикладных и исследовательских аспектов. В цикле научно-популярных статей студенты ФиПЛа рассказывают об актуальных проблемах, которыми занимаются лингвисты. Сегодняшняя статья - о том, какие лингвистичсекие инструменты лежат в основе работы голосовых помощников.

Голосовые помощники в нашей жизни

 

В наше время голосовые помощники используются повсеместно: от озвучивания маршрута в Яндекс Картах до управления системой умного дома с помощью Яндекс Станции. Каждый из нас хоть раз произносил “Okay Google”, использовал Siri или Алису. Эта технология кажется нам обыденной и привычной, однако мы редко задумываемся о том, что лежит у нее “под капотом”. Что происходит внутри виртуального ассистента, когда он распознает человеческую речь и генерирует остроумные ответы? Рассказываем про десятки этапов, через которые проходит голосовой помощник, чтобы помочь пользователю.

Что это вообще такое – голосовой помощник?

 

Если говорить в целом, голосовой помощник – это программный инструмент, который доступен пользователям через голосовые команды. Их главная функция – облегчение жизни пользователю и экономия его времени: например, на ввод запроса или на изучение интерфейса (да, голосовые помощники умеют работать не только с поисковиками, но и с приложениями, программами и многим другим). 

Первые голосовые помощники появились более 20 лет назад, и, в отличие от современных, не были диалоговыми: они не запоминали предыдущие запросы пользователя, не умели адаптироваться под него и в общем были гораздо менее развитыми. Во многом это связано с ограниченной технологической базой и недостаточной программной основой для распознавания и обработки естественного языка (то, чем занимаются многие компьютерные лингвисты).

Рецепт голосового помощника: что в составе?

 

Что же нужно для работы голосового помощника? В первую очередь – навык распознавания речи. Для этих целей используются различные системы, основанные на выделении отдельных слов из общей волны звукового колебания. 

Кроме того, в состав голосового помощника входит “классификатор намерений” – программный код, который определяет, что хочет пользователь, переводя слова в эмбеддинги (векторные представления слов, позволяющие понять, в каком контексте они обычно используются).

 Еще одним “ингредиентом” виртуальных ассистентов, несомненно, является их способность генерировать ответ, то есть автоматический синтез речи. Для этого используются различные модели, одни из которых направлены на составление текста, а вторые – на его озвучку.

Распознавание речи

 

Распознавание речи – это превращение человеческой речи в текст. 

Оно используется не только для того, чтобы поболтать с Алисой или попросить Гугл найти нужную статью на Википедии – распознавание речи активно внедряется в самые разные сферы. Например, в 2020 году в России создали систему, которая заполняет электронную карточку, пока врач диктует диагноз пациента. Кроме того, многие из вас наверняка сталкивались с системами голосового меню, которое используется для соединения с оператором: «Если Вам нужна консультация по услугам клиники, скажите “один”».

Существует несколько способов распознавания речи, но наиболее современным методом  является использование нейронных систем. Если кратко, процесс распознавания речи выглядит следующим образом: аудиосигнал записывается и преобразуется в цифровой формат. Получается аудиофайл, который модель анализирует, т.е. делит на небольшие фрагменты – фреймы – и по спектрограмме либо по  числовым представлениям определяет, какой фонеме (звуковой единице, влияющей на различение смысла) соответствует фрагмент.  

DNS Клуб

 

Иногда с распознаванием возникают трудности: например, когда говорящий имеет акцент или дефекты речи. Тогда программа пробует предсказать, какой звук пропущен. Она ищет,  с какой вероятностью после фонемы X встретится фонема Y или Z, после чего собирает их  в слова.  Если модель не может определить, какое слово произнёс пользователь,  то вставляет его по контексту. В конце все собирается в текст, который алгоритм должен проверить на связность и осмысленность и в котором расставляются знаки препинания. 

Качество распознавания речи сейчас, конечно, намного лучше, чем пару десятков лет назад, когда оно только появилось. Но технология все равно еще не совершенна:  посторонние шумы или слишком быстрый темп речи могут привести к тому, что алгоритм просто не поймет, о чем его просит пользователь. К счастью, эти проблемы активно решаются. Например, совсем недавно ИИ научили распознавать человеческую речь по губам  скоро даже в шумной толпе Алиса или Siri сможет понимать команды пользователя и выполнять их.

Синтез речи: как они придумывают ответы?

 

Еще один аспект, который содержит в себе голосовой ассистент – способность генерировать голосовой ответ. Синтез речи – это создание звука на основе текста. Эта задача решается в несколько этапов: сначала специальный алгоритм должен подготовить текст, который будет озвучен, а затем разделить его на фразы и словосочетания – для правильных интонаций. А вот озвучка этого текста – задача со звездочкой. Для ее решения есть различные подходы.

Первый из них состоит в склеивании фрагментов готовой аудиозаписи – так называемый конкатенативный подход (его иногда называют unit selection или concatenative text-to-speech). Он использовался, например, в голосовом помощнике Сири. В этом случае у моделей не такой большой выбор возможных ответов, так как им необходим значительный объем данных для обучения. Так, например, в русском языке в соответствии с положениями Ленинградской фонологической школы выделяют 48 фонем. Для каждой из них необходимо иметь множество аудиозаписей, ведь в зависимости от окружения, в котором фонема появляется, возникают различные варианты звуков. При этом речь зачастую получается довольно монотонной – вспомните как зачитывает тексты озвучка в переводчиках: у нее обычно хромают интонации, из-за чего текст звучит ненатурально. Однако, в остальном такая речь звучит довольно естественно. Кроме того, такие модели меньше по размеру и работают быстрее.

Второй вариант – параметрический синтез речи – заключается в построении вероятностной модели, которая предскажет акустические свойства аудиосигнала для данного текста. Этот подход используется, например, в Алисе от Яндекса. Параметрический синтез речи происходит в два этапа. Сначала модель предсказывает параметры речи: определяет ударения, интонации, составляет фонетическую транскрипцию, определяет, сколько должна звучать каждая фонема. Затем вторая модель синтезирует нужный звук по тем параметрам, которые выдает первая. Как она узнала, какой звук нужный? Благодаря машинному обучению! Модель обучается на больших данных, которые состоят из текстов и соответствующих им звуковых записях. Отсюда вытекает недостаток этого подхода — он довольно сложный. При этом само звучание получается натуральнее, а интонации – живее.

Таким образом, голосовые помощники - результат совместной работы нескольких технологий, позволяющих понимать и генерировать человеческую речь. Они продолжают развиваться и  внедряться в различные сферы жизни людей:  уже сейчас они активно используются в сфере финансов - дают пользователю советы по инвестированию денег, в туризме голосовые помощники помогают выбрать и забронировать отель, а в торговой сфере ассистируют в выборе товара. Общение с голосовыми помощниками все больше напоминает общение с человеком: они шутят, распознают человеческие эмоции и поддерживают беседу. А в ближайшем будущем, вполне вероятно, они научатся быть совсем похожими на нас.

Бонус для тех, кто дочитал!

 

Тест: какой ты голосовой помощник

1. Давайте определимся с вашим возрастом, как вы себя ощущаете?

a. Я чувствую себя вечно молодой 

b. Такие вопросы неприлично спрашивать у девушки! 

c. Вопрос, конечно, философский. я предпочитаю оценивать свой возраст по

скачкам рубля… 

d. Даже не знаю — мне весело со всеми возрастами, даже с детьми 

2. А что насчет пола?

a. У меня нет пола, как у кактусов и некоторых видов рыб

b. Не нужно быть сексистами, мальчики у нас тоже есть! 

c. Еще про возраст спросите! Ах да, такой вопрос уже был 

d. Не то чтобы женщина, но точно не мужчина 

3. Чем вы интересуетесь, что делаете в свободное время?

a. Не очень поняла ваш вопрос

b. Меня многое интересует, о чем именно рассказать?

c. Смотрю лекции по финансовой грамотности 

d. Провожу время в соцсетях, слушаю музыку

4. Что вы сделаете, если вам зададут вопрос, ответа на который вы не знаете?

a. Смущенно отвечу, что не знаю, и посоветую загуглить 

b. Отшучусь! Я не обязан(а) знать все на свете 

c. Вместо этого явно неважного вопроса посоветую, куда вложить финансы

d. Напишу друзьям и спрошу у них 

5. Как вы относитесь к детям? Любите ли как-то взаимодействовать с ними?

a. Кто такие дети?

b. Для детей я как учитель - помогу с уроками и отвечу на миллион их вопросов. Если сильно попросят, то и сказку рассказать могу 

c. Взаимодействовать с детьми? Я найму им няню, я слишком занятой(ая) для такого 

d. Я их обожаю, и они меня тоже! Я всегда рад(а) рассказать им сказку или поиграть

6. Сколько языков вы знаете?

a. Я полиглот - знаю много языков и останавливаться не собираюсь! 

b. Пока что только русский, но очень хочу выучить еще парочку 

c. Я говорю по русски, и этого мне достаточно

d. Русский - в совершенстве, английский - немного хуже

7. Последний вопрос. Ты делаешь какую-то работу по дому?

a. Нет. У меня лапки 

b. Да, и с удовольствием! Мне нравится самому (ой) делать свой дом красивым, уютным и безопасным 

c. Нет, я заказываю клининг: пока я убираюсь, кто-то забирает себе мои деньги и клиентов! 

d. Иногда немного убираюсь, но сильно насчет этого не заморачиваюсь. Мне и так комфортно 

 

Результаты:

А теперь посчитайте, каких вариантов ответа (а, b, c, или d) у Вас больше.

Если больше а:

  • Вы - Siri. Немного не от мира сего. Вы избирательны в своем окружении: может, у вас и меньше друзей, чем у других, но зато это ”те самые” Чаще всего вы вообще не понимаете, что происходит, но иногда можете развеселить всех искрометной шуткой.

Если больше b:

  • Вы - Алиса. Вы остроумны, хорошо разбираетесь в психологии и познали эту жизнь. К Вашему мнению прислушиваются и все хотят с Вами дружить, в компании Вы пользуетесь популярностью. Вы добрый человек с прекрасным чувством юмора. Обычно всегда охотно приходите на помощь, но иногда любите почитать людям морали.

Если больше c:

  • Вы - Олег. Вы - тот самый успешный влиятельный друг, который увлекается инвестициями и всегда подскажет, куда деть лишние деньги (даже если они не лишние). Отменно делаете свою работу, а за ее пределы не стремитесь — принцип разделения ответственности!

Если больше d:

  • Вы - Маруся. Вы жизнерадостны, полны сил и энергии, находитесь в самом начале своего пути и хотите многому научиться. У Вас много друзей, вам комфортно в своем окружении и вы не стремитесь выходить за зону комфорта(а зачем, в ней же комфортно…). Хорошо ладите и с детьми, и со взрослыми

Если вышло так, что все ответы разные, и вы набрали равное количество каких-либо вариантов ответа, Вы - новый голосовой ассистент в разработке, которого мы пока не знаем.

 

Авторы:

Кристина Нигамедзянова, Дарья Бальба 21ФиПЛ