Pull to refresh

Трудности воспитания голосового помощника. Взгляд лингвиста и разработчика

Reading time11 min
Views2.7K
Работу с голосовым помощником часто сравнивают с воспитанием ребёнка. Он постоянно чему-то обучается, повторяя за «старшими». Постепенно овладевает языком и способностью выстраивать общение. Иногда он понимает всё слишком буквально или просто выдаёт что-то несуразное. Всё потому, что обработка языка — сложный и длительный процесс, требующий внимания не одного специалиста. Мы попросили наших коллег лингвиста-разработчика Ивана и ведущего инженера Бассела поделиться интересными случаями из опыта работы с Sky Voice Assistant. Мы задали двум специалистам одинаковые вопросы, чтобы узнать, почему одна математика не может победить при обработке языка, как голосовые помощники учатся шутить и зачем это нужно.

За что ты отвечаешь? Что входит в зону твоей ответственности?


Лингвист

Я отвечаю за всё, что связано с лингвистическим аспектом работы голосового ассистента. Это и анализ вопросов пользователя, и планирование логики ответа, и поиск или создание текста для него. Кроме того, я разрабатывал некоторые сервисы, сильно завязанные на тексте (в том числе погоды, напоминаний, новостей, тостов, словесных игр), и собирал контент для обучения. К нему относится, например, запись различных голосов для активации колонки.

Разработчик

Я отвечаю за мозг нашего чат-бота. Пишу его логику: то, как он принимает вопросы, как отвечает, откуда берет данные, какие сервисы внутри него будут работать. Это сервис для общения и база знаний, чтобы он мог ответить на какие-то вопросы. Он может к ней обратиться и сказать, какая погода, каков курс доллара, заказать тебе такси, установить будильник и т.д.

Как ты считаешь, работа с голосовым помощником похожа на воспитание ребёнка?


Лингвист

По поводу детей и машинного обучения была очень хорошая статья на Хабре, и вообще это популярная аналогия.

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

Разработчик

Мы не можем говорить, что голосовой помощник — это ребенок, потому что у ребенка есть способность к анализу и самообучению. Голосовой помощник — достаточно глупая вещь. Ты хочешь, чтобы он что-то сделал, ставишь ему задачу, и все — он будет делать.
Даже нейронку мы не можем считать ребенком — сама по себе она обучиться не может. Мы должны всегда показывать ей путь. Искусственный интеллект в этом смысле играет роль, только когда нейронка может найти ситуации, похожие на те, которым ты ее обучил. Я не думаю, что это вообще интеллект, просто большие возможности.

Какие забавные случаи возникают в процессе работы с ним?


Лингвист

Отвечу за двоих. Однажды мы подбирали слова для игры Alias, которая основана на поиске похожих слов («ассоциаций») с помощью модели word2vec. Мы очень осторожно выбирали, нельзя было и представить, что ассоциациями к слову «пупок» будут отборные сексуальные выражения далеко за гранью цензурного. Казалось бы, слово такое детское и употребляется в совсем других контекстах.
Видимо, мы чего-то не знаем или о нашем помощнике, или о сборщике текстов для использованного корпуса.

И ещё одно. Как-то мы решили добавить к списку русских приветствий и прощаний их аналоги из разных языков. От привычного «бонжур» до арабских и еврейских выражений. Новые слова проиндексировал наш алгоритм поиска похожих выражений, но ничего даже близко похожего на них не было! В результате на любой непонятный или как-то исказившийся запрос колонка отвечала: «Ас-саляму алейкум ва-рахмату-Ллах». Когда слышишь такое чеканным машинным голосом в ответ на обычное «где находится США?», это вводит в замешательство.

А как насчёт омонимии? Когда слова звучат одинаково, но это два совершенно разных слова. Например, глагол и существительное


Лингвист

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

Более простой пример: «Эти типы стали есть в цехе». Либо в цехе доступно несколько разновидностей материала «сталь», либо какие-то мутные работники стали в цехе не только работать, но и есть. То есть омонимия — это очень большая проблема, не только на уровне слов, но и на уровне целых предложений. Также есть проблема на уровне сходства словоформ. Скажем, именительный и винительный падежи одного слова звучат одинаково. Потому даже такая, казалось бы, простая задача, как определение формы слова, требует использования сложных пакетов для анализа. И эти пакеты никогда не выдают однозначный ответ. Они могут выдать только вероятность той или иной формы.

Как вы решаете такие проблемы? Поделись лайфхаками


Лингвист

Да ухищрений особенно нет. Очень аккуратно отбирать данные, на которых обучается модель, и тщательно всё тестировать.

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

Разработчик

Мы пересматриваем диалог, логику распознавания, смотрим, что голосовой помощник не так хорошо понял. Иногда надо добавить новый диалог. Могут быть ситуации, когда он ответил на вопрос, ответ на который вообще не знал. История разработки помогает.

Правда ли, что Алиса в России работает лучше, чем её предшественники? Почему?


Лингвист

Довольно субъективная оценка: Siri тоже работает очень достойно.

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

С одной стороны, дело в ресурсах и опыте Яндекса: они очень давно занимаются обработкой языка, сами разработали многие ресурсы для извлечения данных, синтаксического анализа, анализа словоформ. К ним пришло много хороших лингвистов.

С другой, в ней очень грамотно сочетаются и дополняют друг друга классические и нейросетевые алгоритмы. Именно поэтому она может и понимать чёткие запросы, и поддерживать беседу ни о чём.

Не стоит забывать, что это хоть и очень хорошая, но имитация разговора.

Разработчик

Конечно. Потому что в Google главная логика работает на основе английского языка, а мы в России. В Яндексе над голосовым помощником работают люди, чей родной язык — русский. Мне кажется, Алиса и сейчас лучше, и будет лучше. Потому что над логикой работают русские.
Здесь вопрос не в алгоритме, не в разработке. Здесь контекст, логика и вообще душа этой разработки. Алиса кажется более естественной.

Почему одна математика не может победить? Как знания языков помогают в работе с голосовым помощником?


Лингвист

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

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

Нам часто приходилось привлекать и сугубо лингвистические исследования. Например, мы работали над модулем обработки времени, то есть, когда человек говорит: «Напомни мне в пол первого сделать то-то». Возникли трудности обработки слова «полночь». Завтра в полночь — это завтра в 0 часов или завтра в 24 часа? Найти ответ на этот вопрос, не прибегая к методам лингвистики или филологии, невозможно. Можно было бы только гадать на кофейной гуще. Говорят так или не говорят. Исследование заключалось в том, что я посмотрел по Национальному корпусу русского языка все случаи использования слова «полночь» с разными временными референциями, то есть сегодня/завтра. Посмотрел, что люди имели в виду. Перевес был 60% против 40% в пользу того, что сегодня в полночь — это завтра в 0 часов.

Нельзя, просто посмотрев на какие-то случаи употребления, не зная, как работает язык, сформулировать правило и какой-то конечный перечень способов что-то сказать. По любому поводу можно сказать бесконечное количество предложений. Пытаться все это задать какими-то конечными алгоритмами очень сложно. Системы, не использующие именно лингвистический анализ, никогда не будут давать 100%-ую точность.

Разработчик

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

Как ты считаешь, понадобятся ли в будущем специалисты других областей? Например, психолог для ИИ?


Лингвист

Безусловно, обработка языка — это междисциплинарная проблема. И сейчас, и всегда было необходимо привлечение специалистов по психологии и психолингвистике, которые определяют то, как проходит понимание языка человеком. На более глубоком уровне сейчас также необходимы и когнитивные исследования. Потому что только сейчас у нас появились технологии, позволяющие отслеживать то, как работает мозг человека при обработке ошибок в синтаксисе типа неверного порядка слов и смысловых ошибок, как когда говорится что-то неожиданное, совершенно не подходящее по смыслу. И результаты этих исследований ставят под сомнение все, что до этого считалось общепризнанным в лингвистике. Потому что выясняется, что эти ошибки обрабатываются очень похожим образом, как для языка, то есть речевой информации, так и для видео или комиксов, или даже для музыки и любых звуковых последовательностей. То есть механизм поисков ошибок в структуре и смысле универсален для всей информации, которую воспринимает человек. Это позволяет предположить, что работать над анализом синтаксиса и семантики нужно не в рамках языка, а в рамках вообще восприятия информации.

Разработчик

Тьюринг говорил: «A computer would deserve to be called intelligent if it could deceive a human into believing that it was human» — Компьютер можно назвать умным, только если при общении с ним ты не понимаешь, что это машина, а не человек.

Именно в этом психологи будут помогать в будущем. Мы не зависим только от слов. Эмоции… то, как понимает человек — тоже важно. У человека есть пять органов чувств, во время разговора используются хотя бы два. А у голосового помощника — один исходник. Это его «уши».
Психолог может работать с разработчиками, которые анализируют аудио-сигналы и помогать нам определять эмоции по голосу, понимать, человек злой или у него хорошее настроение. И в зависимости от этого определять, когда голосовой помощник должен шутить, а когда — быть серьезным. Как программисты, мы не можем это контролировать. Если мы скажем машине «шути», она будет это делать в любой непонятной ситуации. Например, научим ее на вопрос «Что делать?» отвечать «Снимать штаны и бегать». Если пользователь до этого вопроса сказал, что у него умер папа или он расстался с девушкой, у него нет настроения, машина не учтет всю эту информацию и выдаст шутку.

Раз уж речь зашла о шутках, как развить у голосового помощника чувство юмора?


Лингвист

Чувство юмора — имманентно человеческое явление, помогающее адаптироваться к изменениям, переносить трудности, укреплять социальное взаимодействие и ещё много чего. В точно таком виде оно, думаю, едва ли необходимо ИИ. Исследования в этой области ведутся активно, но они касаются понимания и имитации юмора. Надо как-то объяснить машине, что кожаные мешки иногда делают непонятные ей вещи — шутят — и ожидают шутки в ответ.

С пониманием все совсем сложно, так что отвечу про имитацию. Есть два выхода:

  1. использовать созданные людьми шутки — специально написанные или добытые самой системой из корпуса текстов;
  2. попытаться понять, что заставляет людей смеяться (скрытые, параллельные и неожиданные смысловые связи, сочетание слов из разных семантических полей, инверсия регистра и значения), и реализовать это.

Технические решения уже есть: те же каламбуры создаются просто на основе общих последовательностей букв. Проблема всегда в том, чтобы объективно оценить результат работы и как-то преодолеть порог в 5-10% смешных примеров.

Как правило ИИ шутит не сам или несмешно, и для изменения положения необходимы комплексные исследования.
Наиболее простой и надежный способ добавлять юмор в голосовые ассистенты — это просто прописать сценарии или в крайнем случае какие-то шаблоны шуток. Тогда мы сможем понятным образом генерировать их по тому или иному поводу. Я уверен, что в Яндекс Алисе часто это работает именно так. Многие заметили, что Алиса понимает песни и шутки из сериала «Ведьмак». Можно у нее спросить что-то вроде «Чем заплатить Ведьмаку?», и она что-то пошутит в ответ. Вот такие штуки, скорее всего, прописываются вручную.

Разработчик

Сбором ответов, которые могут быть смешными, занимается лингвист. Он ищет их в корпусе языка, затем они попадают в базу данных голосового помощника. И, когда мы просим его пошутить, он находит нужное в базе и выдаёт шутку. Также он может шутить спонтанно, если видит ситуации, похожие на те, по которым его обучали. Здесь всё зависит от контекста.

Как думаешь, почему люди хотят, чтобы голосовой ассистент шутил?


Лингвист

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

Как ты считаешь, какой из голосовых помощников самый взрослый?


Лингвист

Если взрослый — это старый, то сложно сказать. Голосовое управление — это почти такая же древняя штука, как синтез речи, изобретённый, как ни странно, в 18 веке. Им занимаются с начала 20 века, а первые рабочие решения появились в 1960-е и с тех пор развивались. Умные голосовое ассистенты создавались в IBM в 90-х, а до смартфонов добрались в 2011.

Если взрослый — это скучный, но надёжный, то Siri. В ней, кажется, недавно обновили тексты ответов для русского языка, и она даёт максимально корректные и безопасные для репутации ответы. Удобно для большой компании, но и не поиграть. Там нет возможности вот так болтать и собирать правдоподобные диалоги как в Алисе. Но у него и нет такой цели, потому что это встроенный в смартфон (или в любую технику) голосовой ассистент. Он имеет в первую очередь утилитарную функцию управления всем. Я помню, первое время ответы были даже более интересными и спорными, чем сейчас. Но, по всей видимости, они решили, что люди уже наигрались с голосовым ассистентом, и пора ему стать серьезным. Просто делать свою работу.

Алиса присутствует либо в приложении, либо в отдельном продукте — в колонке. И там, и там важно заинтересовать человека, чтобы он захотел купить колонку или открыть приложение. Просто сухое управление голосом покажется скучным.

Разработчик

Взрослых нет. У всех голосовых помощников было мало знаний, а теперь их больше. Они не сами обучались. Я помню, как глупо работала Алиса года 3-4 назад. Но каждый день она становилась лучше. Разработчики наблюдали за конкретными ситуациями и исправляли ошибки, делали новые кейсы, сценарии. Пользователи им помогали, отмечали какие-то нюансы. У Яндекса большие ресурсы: есть search engine, есть серверы и всё, чтобы хранить данные.

И всё-таки есть мнение, что Siri — самый взрослый, потому что он информативный, но в нем меньше шуток, игр и т.д. Ты согласен?



Да. Потому что они играют с тем, что достоверно. Это лучше, чем отвечать на 100 вопросов, но на 40 из них — неправильно. Они очень аккуратны в разработке. Хотят, чтобы ассистент всегда говорил что-то правильное и не глупил как Алиса раньше.

Подведём итоги


Не все поддерживают аналогию между машинным обучением и воспитанием ребёнка.
Язык бесконечен. Носитель языка может выразить одну и ту же мысль бесконечным числом высказываний. Не используя методы лингвистического анализа, не получишь 100%-ую точность.

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

Самый мощный и конкурентоспособный голосовой помощник в России — Алиса. Разговор с ней приближен к разговору с человеком. А самый взрослый (под этим словом мы подразумеваем акцент не на игровых моментах, а на надежности и точности при обработке запросов) — Siri.
Tags:
Hubs:
+5
Comments2

Articles

Information

Website
readyforsky.com
Registered
Employees
101–200 employees
Location
Россия