Добавьте поиск в свой чат-бот с помощью IBM Watson Assistant и Watson Discovery

Когда предопределенных диалоговых ответов недостаточно

Введение

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

Эти столпы:

  • Намерения
  • Сущности
  • Конечный автомат (он же Dialog Tree / Flow)
  • Скрипт / Диалог / Пользовательские сообщения

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

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

Во-вторых, чат-боты - узкая сфера деятельности. Только обращение к определенной теме, набору услуг или продуктов. В тот момент, когда пользователь отклоняется от заданного пути, необходимо вызвать откатную подсказку.

Это информирует пользователя о том, что они достигли предела возможностей разговорного агента и им необходимо отправиться вглубь страны.

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

Эта функция доступна во многих решениях, но она не так широко реализована.

Навыки поиска в Watson Assistant с Discovery

Watson Discovery

Вот пошаговая реализация умения поиска и добавление его в помощник. Использование функции поиска в рамках предложения IBM Cloud. В этом примере мы собираемся использовать IBM Watson Assistant. По сути, это будет наш чат-бот.

Помимо этого, мы также будем использовать IBM Watson Discovery.

Короче говоря, Discovery - это служба IBM Cloud, позволяющая загружать данные, которые становятся доступным для поиска телом данных. Это очень удобно и быстро преобразовывать существующие данные практически в любом формате в форму с возможностью поиска.

Такие документы, как PDF, CSV, Word и т. Д. Можно загружать и комментировать. Пользовательские теги могут быть созданы для конкретной аннотации. Очень удобно, когда вы комментируете, Discovery использует вашу аннотацию, чтобы делать прогнозы в документе в реальном времени. Итак, для этого документа мне нужно было вручную аннотировать около 10 страниц. Очевидно, это зависит от того, насколько стандартен ваш документ.

Для организационной и производственной среды рекомендуется организовать данные в формате JSON, предпочтительно с заголовком, основной частью и ссылкой на URL. Это сделает результаты Discovery более предсказуемыми и аккуратными во всех случаях.

Демонстрация открытия

Здесь я взял документ Словарь IBM и компьютерной терминологии (PDF, 313 КБ).

По следующим причинам:

  • Это не так уж много данных для загрузки, всего 95 страниц.
  • Формат документа очень структурирован, а живые прогнозы функции машинного обучения сделали процесс еще быстрее.

Следовательно, это создает удобную модель вопросов и ответов без необходимости переделывать данные в конкретный формат.

Начало работы с Discovery

В Discovery уже есть сбор данных; Новости Watson Discovery. Но мы хотим создать свою. Итак, нажмите Загрузить собственные данные…

Интерфейс загрузки данных не может быть проще, вы можете перетащить файлы или выбрать их.

Здесь вы можете увидеть поддерживаемые форматы: PDF, HTML, JSON, Word, Excel, PowerPoint, PNG, TIFF, JPG и другие. Необходимо определить язык документа, и этот список невелик.

Если ваши документы составлены на другом языке, потребуется перевод.

Когда вы загружаете большие файлы, процесс занимает довольно много времени. Если структура JSON слишком сложна или вложена, обнаружение завершается ошибкой. Так что постарайтесь максимально упростить свой JSON.

Обработка данных может занять некоторое время; следите за ошибками и предупреждениями, чтобы выявить проблемные области в ваших данных.

Аннотация данных

Аннотации данных имеют решающее значение для получения точных результатов. Это ручной процесс, но его упрощает прогнозирующая аннотация.

Это модель машинного обучения, которая в реальном времени учится на ваших ручных аннотациях и распространяет их в документе. Вы будете переходить от аннотирования к просмотру, к простому пропуску страниц.

Тестовый поиск по вашему документу в Discovery

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

Уже в Discovery вы можете протестировать свои данные, используя понимание естественного языка.

Watson Assistant ~ Чат-бот

Теперь мы переходим к части чат-бота, использующей IBM Watson Assistant (WA).

WA позволяет создать помощника. У этого помощника может существовать один или несколько навыков. Навыки можно рассматривать как разные компоненты или более мелких чат-ботов, которые можно объединить в одного более крупного помощника.

В более крупной организации вы можете иметь разные отделы, работающие над разными навыками, а затем эти навыки можно объединить в одного более крупного помощника.

Эти навыки могут быть диалогом или навыком поиска.

Добавление навыка поиска

У нашего помощника уже есть навыки работы с клиентами. А теперь мы добавляем этот дополнительный навык поиска.

После добавления имени и описания к навыку поиска в следующем окне загружаются экземпляры Discovery, доступные для WA. Это также может занять некоторое время.

Мы не хотим создавать новую коллекцию. Однако тот факт, что мы можем запускать из WA, удобен. Но мы выбираем созданную ранее коллекцию под названием Пользовательские данные.

Представление данных чат-бота

Следующее окно позволяет вам установить данные, которые будут представлены в:

  • Заголовок
  • Тело
  • и URL

Вы также можете определить сообщение, которое будет информировать пользователя об источнике данных и о том, что это действительно результат поиска.

Задайте сообщение, если вы не смогли найти никаких данных или возникли проблемы с подключением.

Лучше всего быть максимально прозрачным для пользователя.

Всегда сообщайте, что это действительно бот, а не человек. Объявлять, когда вы возвращаете данные результатов поиска, которые не были напрямую обработаны для этого конкретного момента разговора.

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

Компоненты Watson Assistant

После того, как вы запустили WA, есть возможность создать помощника. Определите имя вашего помощника и описание. Ссылку на предварительный просмотр мы обсудим позже в этой статье.

Ссылка на предварительный просмотр позволяет создать URL-адрес предварительного просмотра и распространять его для предварительного просмотра и тестирования. Изменения основного чат-бота отражаются в интерфейсе предварительного просмотра.

Вернувшись к помощнику, вы увидите, что у этого помощника есть два навыка; навык обслуживания клиентов и навык поиска.

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

Вот вид нашего помощника по обслуживанию клиентов и поиску. Watson Assistant будет обслуживать сеанс чата из Образца навыков работы с клиентами. Если этот навык не может ответить на запрос, WA переключится на навык поиска.

Есть множество вариантов развертывания помощника; например Facebook Messenger, Slack, веб-чат. В целях иллюстрации мы будем использовать ссылку предварительного просмотра.

Ассистенту доступно несколько основных параметров конфигурации. Переключите доступность навыка поиска, таймаута бездействия, сведений об API и именования.

В этом интерфейсе предварительного просмотра вы можете увидеть «Где находится ваш офис?» адресуется навыком обслуживания клиентов по умолчанию. Технические вопросы решаются навыками поиска.

Вывод

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

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