Зачастую, для создания виртуальных ассистентов используются подходы на основе машинного обучения и, конечно, подходы на основе правил. Оба (в большей степени машинное обучение) полагаются на исходные данные, которыми обычно являются человеческие диалоги. При этом, не учитывается фактор того, что пользователи диалоговых систем не будут общаться с ними так же как с реальными людьми.
В данной статье я рассмотрю наш эксперимент по статистическому анализу текста диалогов вида человек-человек и человек-чатбот. Диалоги велись на тему часто-задаваемых вопросов (FAQ) на тему COVID-19 на русском языке. Результаты были обработаны с помощью методов численного анализа текстов (такие группы метрик, как: удобочитаемость, синтаксическая сложность, лексическая разнообразность). Статистический анализ показал достоверные различия по вышеперечисленным метрикам. В частности, в диалогах с чатботами респонденты использовали более короткие слова и предложения, а также более простой синтаксис. Более того, лексическая разнообразность и индексы удобочитаемости были на порядок выше в диалогах человек-человек — всё это позволяет сделать вывод о том, что люди используют более простой язык в общении с виртуальными ассистентами. В этой связи, разработчикам стоит уделять особое внимание подготовке исходных данных для создания таких приложений.
Введение
Не секрет, что сегодня виртуальные ассистенты (в частности чатботы) уже активно внедрились в наши жизни. Они преследуют нас в банках, на государственных сайтах, и просто, когда мы хотим развлечься. И пусть я считаю, что прогноз Гартнера о том, что к 2022 году 70% белых воротничков будут каждодневно общаться с чатботами, не полностью сбылся, всё равно тенденция по их внедрению в нашу жизнь более чем заметна. По моему мнению, такая технология, как виртуальные ассистенты — нейтральна. В зависимости от того, в чьих она руках, градус её полезности или наоборот враждебности может меняться. В данной статье, я предлагаю сконцентрировать на полезной стороне виртуальных ассистентов, а именно на возможности быстро и качественно получить ответ на тот или иной вопрос.
В качестве примера, предлагается рассмотреть FAQ чатбот, отвечающий на вопросы пользователей по тематике COVID-19. Сбор диалоговых данных происходил с Марта 2021 по Июль 2021 т.е. в один из пиковых моментов пандемии. Процесс сбора данных был построен таким образом, что анализ двух различных типов диалогов (человек-человек и человек-чатбот) можно было провести практически "при прочих равных". Подробнее в следующей главе.
Создание чатбота
В первую очередь необходимо было собрать базу знаний формата вопрос-ответ. Данные для базы знаний брались из открытых и официальных источников информации, например, таких как сайт стопкоронавирус.рф. Вопросы были вручную перефразированы для того, чтобы можно было обучить соответствующую модель классификации. В качестве технического решения, была использована платформа Google Dialogflow, и её модуль классификации интентов. Интерфейсом чатбота послужил мессенджер Telegram. На рисунке ниже можно увидеть концептуальную архитектуру чатбота.
Планирование эксперимента
Для проведения эксперимента мы разделили респондентов на Группу №1 (диалоги человек-человек) и Группу №2 (диалоги человек-чатбот). Начнём со второй группы, ведь там всё просто — респондентам предлагается провести диалог напрямую с чатботом. При этом даётся вводная по тематике диалога и возможным вопросам. В первом случае — всё аналогично, за исключением того, что респонденты ведут диалоги с человеком-экспертом, не зная, что он для ответа на вопрос пользуется тем же самым чатботом. Иными словами, эксперт является прокси между респондентом и чатботом. Данный тип эксперимента называется inverted Wizard of Oz. С описанием оригинального Wizard of Oz можно ознакомиться тут. На рисунке ниже представлена схема эксперимента из нашей оригинальной статьи.
Данный эксперимент проводился с Марта 2021 года по Июль 2021 года. В итоге, было получено 35 диалогов для Группы №1 (человек-человек) и 68 диалогов для Группы №2 (человек-чатбот). Полученные данные были анонимизированы и использованы в дальнейшем анализе. Исходный код и данные находятся в Github репозитории. В следующей главе приведу подробные статистические данные по измереямым метрикам.
Результаты анализа текстовых диалогов
Для анализа текстовых диалогов был выбран ряд метрик по следующим группам:
Описательные статистики (средняя длина слова, среднее число слогов и т.д.);
Удобочитаемость (Flesch reading ease и т.д.);
Синтаксическая сложность (Mean dependency distance);
Лексическая разнообразность (Type Token Ratio, Lexical Density, и т.д.).
Метрики рассчитывались с помощью Python библиотеки LinguaF. Описание и методики расчёта метрик можно подсмотреть в нашей оригинальной статье. Ниже, представлена таблица с расчётными средними значениями метрик, а также значения t-Теста, позволяющие определить являются ли различия одной и той же метрики на разных типах диалогов (Группа №1 и №2) статистически значимыми (уровень значимости α=0.01).
Очевидно, что по большинству метрик мы имеем статистически значимую разницу. Начнём с простых. Метрика №1 — среднее число слов в предложениях диалогов группы №1 почти в 2 раза превышает аналогичное значение для группы №2. Это также справедливо и для метрики №2 — средняя длина предложения. Средняя длина слова и число слогов в слове также немного больше для группы №1.
Метрика синтаксической сложности (Mean Dependency Distance), которая показывает среднее расстояние между зависимыми словами в предложении показывает, что для диалогов человек-человек, такое расстояние намного больше. Это, очевидно, означает более сложную структуру предложений в случае группы №1.
Различия в значениях метрик №6 и №9 являются статистически не значимыми. Однако, другие метрики лексической разнообразности явно показывают отставание диалогов группы №2. Все метрики удобочитаемости показали статистически значимую разницу, которая иллюстрирует более сложную структуру текстов диалогов группы №1.
Выводы и заключение
В рамках данной работы, мы численно подтвердили, что человек в диалоге с чатботом стремится использовать упрощённые лингвистические конструкции. Это касается как отдельных слов так и структуры предложений в целом. Факт использования упрощённого языка является импульсом к более внимательному сбору исходных данных, используемых для создания чатботов.
Зачастую, для создания виртуальных ассистентов используются подходы на основе машинного обучения и, конечно, подходы на основе правил. Оба подхода (в большей степени машинное обучение) полагаются на исходные данные, которыми обычно являются человеческие диалоги. При этом, не учитывается фактор того, что пользователи диалоговых систем не будут общаться с ними так же как с реальными людьми. Мы рекомендуем всем разработчикам помнить об этом факторе и вносить соответствующие изменения в данные и алгоритмы, лежащие в основе ваших систем.
Для цитирования: https://icaiit.org/proceedings/10th_ICAIIT_1/2_2_Perevalov.pdf
@article{perevalov2022linguistic,
title={Linguistic Difference of Human-Human and Human-Chatbot Dialogues about COVID-19 in the Russian Language},
author={Perevalov, Aleksandr and Vysokov, Aleksandr and Both, Andreas},
journal={Applied Innovations in IT},
pages={43},
year={2022}
}
Комментарии (7)
Moskus
04.05.2022 06:05+3Это очень занятная и странная тенденция - внедрять голосовые интерфейсы. Странная, потому реальная практическая польза от них есть только в очень конкретных случаях: когда обязательно нужны свободные руки, когда графический интерфейс просто невозможен (включая адаптацию для людей с проблемами со зрением), когда пользователи - люди, которые не умеют пользоваться графическим интерфейсом. Голосовые интерфейсы также весьма ресурсоёмки. Но нет, за каким-то чёртом компании, которые добавляют голосовой интерфейс, например, в свои приложения для смартфонов, пытаются вынудить пользователя воспользоваться на порядок более медленным интерфейсом, который ненадёжен и непригоден, например, для использования в общественных местах. Выглядит как подгонка проблемы под не очень удачное решение.
firstmark
05.05.2022 09:54Я понимаю раздражение, вызванное "бестолковостью" голосовых помощников и смущением публичного разговора.:)
Во-первых, "бестолковость" — явление временное. И да, со временем выработается "язык" общения с голосовыми помощниками как выработался язык поисковых запросов.
Во-вторых, смущение пройдет.:) Ты должен помнить как фыркало окружение во времена распространения мобильных телефонов.
Третье, ты заблуждаешься, ограничивая варианты использования безрукостью и слепотой. Самый распространенный — безграмотность.:)
Moskus
05.05.2022 10:01Смущение тут не при чем - множество вопросов, решаемых через голосовые интерфейсы, предполагает обмен приватными данными. Плюс, в общественных местах - шумно.
В остальном - это ваши выдумки.
Andrey_Epifantsev
04.05.2022 06:41+6Когда разговариваешь с голосовым ассистентом в банке, сперва создаётся впечатление, что он реально может заменить человека. Но после нескольких неудачных попыток начинаешь понимать, что он просто превращает ваш вопрос в текст, вводит его в поисковую строку своей базы данных и зачитывает первый текст из поисковой выдачи. Нет возможности посмотреть все результаты поиска. Нет вообще никакого интеллекта и попытки понять, что же реально нужно клиенту. Нет возможности сказать «это не то что мне нужно, озвучьте другие варианты».
В результате через некоторе время вырабатывается такой паттерн поведения: при встрече с голосовым ассистентом, нужно три раза повторить «Соедините меня с человеком», после соединения с оператором вопрос решается за 5 минут.
Jury_78
04.05.2022 08:39+2мы численно подтвердили, что человек в диалоге с чатботом стремится использовать упрощённые лингвистические конструкции.
По моему не удивительно, приходится говорить проще, т.к. чатбот мало что понимает.
Nialpe
04.05.2022 09:13+2У меня был отличный пример взаимодействия с голосовым ассистентом. Необходимо было отключить входящие звонки на мобильный телефон - вторая симка для передачи данных. В приложении нет. В Интернете нашел, что есть USSD-запрос и дело в шляпе. Ввел магическую последовательность Х, не сработало. Решил позвонить в поддержку. Там голосовой ассистент и все вроде бы круто, оператора не отрывать, экономия и счастливый клиент, но диалог у нас вышел такой:
Назовите вашу проблему...
Запрет входящих вызовов.
Воспользуйтесь USSD-запросом [магическая последовательность X].
Ок.
Ваша проблема решена?
Нет.
Назовите вашу проблему...
Не работает USSD-запрос запрета входящих вызовов.
Воспользуйтесь USSD-запросом [магическаяпоследовательность X]. Ваша проблема решена?
Далее все повторилось по кругу, но стало интересно и потратив еще несколько минут на подбор иных ключевых слов (включая - "касатик, но включи ты мне уже запрет на эти окаянные входящие вызовы"), которые привели бы к успеху или вызову оператора-человека, завершил общение с этих вежливым роботом и отправился в офис.
А раньше у этого оператора техподдержка была просто огонь, помогали мне в более нестандартных вопросах.
BMXer_V
В опросе не хватает пункта "к сожалению, время от времени вынужден".