Машинное обучение и Искусственный Интеллект
Шрифт:
Это добавит ваш ввод в качестве примера для намерения, например, #greetings, продолжая обучение Уотсона.
Если вы снова проверите то же самое высказывание, Уотсон на этот раз правильно распознает намерение.
Уотсон всегда будет стараться изо всех сил сопоставить вводимые пользователем данные с существующим намерением, даже если это не идеальное совпадение.
Но если его уровень достоверности в наилучшем подходящем намерении будет очень низок (ниже 20%), Уотсон будет воспринимать входные данные как несущественные, так как они, вероятно, не имеют отношения ни к одному из наших намерений.
При создании диалога мы узнаем, как справляться с ситуациями,
И IBM предоставляет некоторые готовые намерения, которые могут иметь отношение к вашему чат-боту.
Чтобы увидеть их, нажмите Content Catalog.
Выберите одну категорию, например, Банковское дело.
А затем нажмите кнопку Добавить к навыку.
Вернитесь в раздел Intents, и вы увидите новые намерения, относящихся к запросам, которые могут возникнуть у клиентов.
Это не совсем готовый чат-бот, но это хорошее начало, где вы можете редактировать и адаптировать чат-бота.
И вы можете пробовать его в панели Try it.
Здесь вы можете пометить намерения и нажать кнопку Удалить, чтобы удалить ненужные намерения.
Здесь также есть возможность экспортировать намерения, что полезно при повторном использовании намерений в разных чат-ботах.
Нажмите кнопку «Экспорт», чтобы загрузить CSV-файл, содержащий наши намерения и примеры.
Откройте этот файл, чтобы посмотреть, как он выглядит.
И так же, как мы экспортировали наши намерения в файл CSV, мы можем сделать наоборот и импортировать намерения из файла CSV.
Загрузите файл CSV, который прилагается к лекции.
Нажмите значок «Импортировать намерения» рядом с кнопкой «Создать намерение».
Выберите файл в появившемся окне и нажмите на кнопку «Импорт».
В результате вы импортируете два новых намерения и их примеры для обучения Уотсона.
Теперь, давайте рассмотрим сущности, второй ключевой компонент диалогового навыка.
Как мы уже выяснили, намерения описывают цель пользователя.
А сущности позволяют нам фиксировать определенные значения в высказывании пользователя.
Например, без определения сущностей, вопросы «когда открыт ваш магазин в Торонто?» и «Когда открыт ваш магазин в Ванкувере?» – неразличимы для чат-бота.
Это потому, что мы не определили сущность, которая описывает эту конкретную информацию, а именно местоположение магазина.
Поэтому мы можем создать сущность местоположения.
И обратите внимание, что здесь мы используем символ @ вместо символа # для сущностей.
Затем мы можем определить несколько значений для нашей сущности, таких как Торонто, Монреаль, Ванкувер и так далее.
Одно значение для каждого местоположения магазина.
И мы также можем определить синонимы для конкретного значения сущности.
Например, представьте, что наш магазин в Торонто расположен на авеню Уорден.
И клиенты могут спросить о часах работы нашего магазина в Торонто или на авеню Уорден.
Синонимы являются необязательными, но являются полезной функцией и их следует определять, когда это возможно.
Определив сущность местоположения, теперь с помощью этих двух частей информации – намерения и сущности, мы можем предоставить соответствующий и конкретный ответ пользователю.
И обратите внимание, если в значении сущности есть пробел, мы заключаем значение в скобки.
Как и намерения, мы также можем импортировать сущности из CSV файла.
Помимо ввода сущностей вручную и импорта из CSV файла, существует также третий способ добавления сущностей в чат-бот.
Есть предопределенные системные сущности, которые вы можете добавлять для чатбота.
@sys-currency позволяет нам определять упоминания валют в пользовательском вводе.
@sys-date определяет даты.
Например, пользователь сказать «следующий понедельник», а @sys-date позволит нам зафиксировать эту часть информации в качестве фактической конкретной даты.
@sys-person позволяет нам обнаруживать имена людей.
Теперь, давайте создадим сущности @location для нашего чатбота.
Откроем вкладку Entities и нажмем кнопку Create entity.
Введем имя сущности @location.
И нажмем Create entity.
Далее мы будем вводить значения сущностей и возможные синонимы.
А затем нажимать кнопку Add value.
И вы можете добавлять синонимы для городов, если у города есть другие названия или люди ссылаются на местоположение магазина по его улице или району в городе.
Близлежащие небольшие города также могут выступать в качестве синонимов.