Машинное обучение и Искусственный Интеллект
Шрифт:
При создании диалога мы узнаем, как справляться с ситуациями, когда пользователь вводит вопрос, который не имеет значения или выходит за рамки нашего чат-бота.
И IBM предоставляет некоторые готовые намерения, которые могут иметь отношение к вашему чат-боту.
Чтобы увидеть их, нажмите Content Catalog.
Выберите одну категорию, например, Банковское дело.
А затем нажмите кнопку Добавить к навыку.
Вернитесь
Это не совсем готовый чат-бот, но это хорошее начало, где вы можете редактировать и адаптировать чат-бота.
И вы можете пробовать его в панели 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.
И вы можете добавлять синонимы для городов, если у города есть другие названия или люди ссылаются на местоположение магазина по его улице или району в городе.
Близлежащие небольшие города также могут выступать в качестве синонимов.
Также, значения сущностей также могут иметь шаблоны, которые добавляются в раскрывающемся списке Синонимы.
Шаблон – это расширенная функция, которая позволяет определять значение сущности не на основе конкретной строки, а на основе шаблона, такого как отформатированный номер телефона, адрес электронной почты или адрес веб-сайта.
И в любой момент вы можете нажать на значение сущности, чтобы изменить его значение или синоним.
Также вы можете нажать кнопку Показать рекомендации, чтобы выбрать синонимы из списка, предоставленного Watson.
И в конце используйте панель Try it, чтобы проверить эти значения сущностей.
Попробуйте ввести вопросы.
What are your hours of operation in Montreal.
Where is your Montreal strore located
Теперь мы можем распознать цель и города, соответствующие нашим магазинам.
Но что произойдет, если пользователь введет вопрос для Сиэтла или для Мумбаи, где у нас нет магазина?
Вы заметите, что, так как у нас нет значения сущности для Сиэтла или Мумбаи, ни один из них не будет выбран в качестве значения сущности.