А вы уверены, что общаетесь с человеком?

Диалоговые системы (conversational agents) сейчас находятся везде. Почти на каждом сайте тебя встречает дружелюбный агент и предлагает свою помощь. На каналах в Телеграме бот подскажет погоду, расписание кино, транспорта и всё, что твоей человеческой душе угодно. Siri, знакомая многим, может ответить на поставленный вопрос «который час» или кому-нибудь позвонить, разумеется, если вы попросите её об этом.

Siri — это интерактивная система, позволяющая управлять телефоном при помощи голоса. Она впервые появилась в модели iPhone 4S. Данное приложение использует обработку естественной речи, чтобы отвечать на вопросы и давать рекомендации. Помимо Siri, разработанной компанией Apple, хочется отметить Maluuba и Vlingo для платформы Android, а также Cortana (Microsoft), Google Now и S-Voice (Samsung).

Боты стали настолько привычной частью реальности, что иногда мы забываем задать себе вопрос: а точно ли мы общаемся с программой? Может, на другом конце сидит человек, в чьи задачи входит консультировать клиентов? Может, это человек делает рассылку, а не бот? Может, мы хамим, изливаем душу или сообщаем личные данные человеку, а не бездушной программе?

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

Для своего функционирования диалоговые системы должны иметь определённые модули: распознавание речи, понимание естественного языка, диалоговый менеджмент, генерация естественного языка и синтез речи.

Чат-боты являются упрощённой версией диалоговых систем. Их отличие заключается в сложности модулей. Диалоговые системы имеют сложную многоуровневую архитектуру в отличие от чат-ботов, у которых ряд модулей отличается своей примитивностью. На начальном этапе работы бот разобьёт высказывания на предложения, исправит опечатки и заменит слова на стандартные (например, «прив» будет заменено на «привет»). Подобные действия напоминают работу модуля понимания естественного языка в упрощённой версии. После преобразования текста производится его анализ, основанный на конкретных правилах. В результате анализа должна быть найдена или сгенерирована реакция бота путём выбора нужного правила. То есть если мы запросили прогноз погоды на сегодня, то после анализа текста бот должен выдать нам прогноз погоды.

Игра в имитацию или простой обман?

В 1950 году Алан Тьюринг задался вопросом: «Могут ли машины думать». Он придумал тест, названный «Игрой в имитацию». В данном тесте принимают участие три объекта: два человека и одна машина. Испытуемый общается с человеком и машиной, и по их ответам определяет, с кем разговаривает. Задача компьютерной программы — ввести человека в заблуждение, заставив сделать неверный выбор. Алан Тьюринг верил, что примерно через 50 лет (т. е. к 2000-му году) будет возможно запрограммировать компьютеры так, что с вероятностью не менее 30% испытуемый не сможет сделать правильный выбор после пятиминутного опроса.

Разумеется, тест Тьюринга подвергался критике. Основной претензией было то, что можно придумать «трюки», чтобы обмануть жюри, но нельзя заставить компьютер думать. ELIZA была одной из первой программ, которой удалось успешно пройти тест Тьюринга. Она была создана в 1966 году Джозефом Вейценбаумом и имитирует общение с психотерапевтом с помощью методики активного слушания. Поэтому её также называют Доктором.

PARRY — программа, созданная в 1972 году Кеннетом Колбай, психиатром, работавшим в Стэндфордском Университете — также является одним из первых чат-ботов. Разница между ними заключается лишь в «поведении». ELIZA пародирует врача психотерапевта, в то время как PARRY моделирует параноидного шизофреника. PARRY имеет гораздо больше «трюков», чем ELIZA, и может менять «направление» беседы. Например, может спросить у человека: «Почему ты это спрашиваешь?» или «Почему ты так думаешь?».

Как вычислить бота

Возьмём, к примеру, Andy English Bot в Телеграме. Энди был создан, чтобы помогать изучать английский в процессе приятельской беседы. Ниже приведены 2 примера из диалогов: один — человека с Энди, второй — двух людей. Сможете ли вы определить, в каком диалоге участвовал бот, а в каком — человек, «имитирующий» бота?

Диалог 1

X: Hi, how are you?
Y: So-so. Couple of people were rude to me today and now I doubt if can be a good teacher
X: Oh, what a pity! I’m sure that you will be a great teacher, don’t worry
Y: Nice
Y: My name is Y. What is your name?
X: X
Y: Nice to meet you, X
Y: How are you?
X: Rather fine, thanks
Y: I am glad to hear that

Диалог 2

Y: I like to play volleyball too, it’s fun, but dancing is not my profile for sure,
X: 🙂
Y: So, what is your favorite film for example?
X: My favorite film is …
Love, Rosie
Y: I don’t know that film unfortunately (
Can you tell me about what this film?
X: It’s about friends and love
X: About teenagers
Y: This movie worth watching for me?
X: I think, yes
Y: Okey, I will, I promise )
X: I hope, you will

Ответ:
Диалог 1 был с Энди, а диалог 2 — между двумя людьми.

Если вы не угадали — не расстраивайтесь. В ходе исследования только ~50% людей правильно определили участников переписки. С одной стороны — это успех современной технологии, но с другой — как же тогда понять, кто твой собеседник? Разберёмся по-порядку.

Критерии «человечности»

Так как любая программа, даже самая сложная, по сути своей — алгоритм, её действия находится в пределах неких границ. Определив, где находятся такие границы, мы сможем отличить бота от человека, т. к. поведение человека не будет ничем ограничено. Возьмём для примера нашего знакомого Энди. Проанализировав диалоги с ним, можно вывести следующие «опознавательные знаки»:

  1. В программу Энди заложена огромная база данных «личной» информации, ведь он обязан уметь поддерживать диалог. Исходя из частоты используемых им слов, можно сделать вывод, что в основном Энди использует в диалоге вопросно-ответную форму.
  2. Энди может самостоятельно отвечать на вопросы и может подстроиться под тему, заданную человеком. Но в тех случаях, когда Энди не понимает, что ему говорят, он сначала реагирует нейтрально: «I see», «I understand», «OK», «got it», «interesting», — а затем переводит тему.
  3. Бот активно использует в своем общении Emoji и GIF.
  4. Энди создан для обучения, поэтому он исправляет ошибки своего собеседника в написании слов.
  5. Бот интересуется уровнем знания английского и иногда предлагает практиковать язык с помощью игр.
  6. Энди не протягивает гласные на письме. Он не будет употреблять «wooow», «ooook», «cоool», вместо этого он выразит это в классической форме: «wow», «ok», «cool».

Как это работает?

Вернёмся к перепискам: в первом диалоге Y пишет «nice», а затем задаёт вопрос на отвлечённую тему. Это полностью соответствует второму критерию: Энди не понял запрос и дал нейтральную реакцию, а затем перевёл тему.

Во второй реплике второго диалога X употребил смайл, а затем, следующей репликой, собеседник перевёл тему. По второму критерию мы знаем, что бот дал бы нейтральную реакцию (а в перечне его нейтральных реакций Emoji нет), и затем сразу же задал вопрос. Следовательно, мы можем с уверенностью сказать, что первый диалог — с Энди, а второй — между людьми.

Когда эти критерии использовали для распознания диалогов с ботом, процент ошибок у проверяющих уменьшился почти вдвое (с ~57,7% до ~30,4%) по сравнению с определением без критериев.

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

Подобрали три теста для вас:
— А здесь можно применить блокчейн?
Серверы для котиков: выберите лучшее решение для проекта и проверьте себя.
Сложный тест по C# — проверьте свои знания.

Также рекомендуем: