Данные для обучения чат-ботов: что нужно для создания Базы знаний. Часть 1.

В этой статье мы рассмотрим основные тезисы, которые озвучила Анна Власова, руководитель отдела лингвистики в “Наносемантике”, на вебинаре 4 июня “Как клиентские данные превращаются в Базу Знаний виртуального ассистента”. А чтобы не утомить вас чтением лонгрида, мы разделили ее на две части.

Вебинар был организован при участии AI Community – сообщество людей, которые интересуются технологиями ИИ и способами их коммерциализации. Здесь можно присоединиться к каналу сообщества в Slack для знакомства и общения.

Также можете посмотреть наш вебинар «Подводные камни распознавания речи». Про устройство технологии и о том, где можно протестировать демо-площадки по нашей технологии NLab Speech, мы писали в этой статье.

Если мы заменяем оператора ботом, то знания бота должны позволять сделать это.

Что знает человек?

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

Нужны ли боту все эти знания? Ответ на этот вопрос сильно зависит от того, что этот бот делает. Если это робот для обзвона – он должен общаться с интонацией, как будто он все время на позитиве и улыбается. Тогда у него будут покупать его продукты. Это справедливо и для людей. Мы видели скрипты операторов, и во многих большими буквами написано: “улыбайся – твою улыбку слышно”. Однако, некоторым роботам можно обойтись без эмоций и манипуляций.

Что нужно всегда? Знания о профессиональной и предметной области. Робот должен понимать, какие в этой области есть объекты, какие с ними возможны действия, какие у объектов свойства, как они соотносятся друг с другом и обладать базовыми ответами на вопросы о каждом из этих объектов.

Боту нужно понимать, как он будет разговаривать.

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

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

  • поздороваться с клиентом,
  • выяснить проблему,
  • уточнить по проблеме все что нужно,
  • авторизовать пользователя если нужно,
  • решить проблему,
  • допродать какие-нибудь товары/услуги,
  • попросить поставить оценку,
  • попрощаться,
  • в случае неудачи – перевести на оператора.

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

Мы строим логику разговора бота, в котором у нас есть несколько развернутых сценариев (например, запрос “что случилось с роутером” – нужно узнать марку, модель, какие лампочки горят и т.д.). У каждого сценария есть вход. Все вместе образует Базу Знаний.

Наши боты на каждом шаге общения принимают решение – продолжат ли они двигаться по текущему сценарию или они начнут новый/перейдут к ответам на точечные вопросы.

Что бот знает, а человек - нет?

  • Бот знает историю диалога за все время жизни с этим пользователем.
  • Он знает предпочтения пользователя (например, любимый цвет).
  • Бот может формировать уникальные предложения (на основании того, что человек уже покупал).

При желании оператор тоже все это может найти, но у него обычно нет времени (бот реагирует быстрее и знает больше).

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

Еще подробнее о том, какие данные нужны для обучения бота, мы расскажем в следующей части!

Полную запись этого вебинара и других выступлений можно посмотреть на нашем Youtube-канале.

Похожие статьи