Поиск…


Вступление

Bot Framework поддерживает Recognizers . Активатор используется для распознавания того, что делать, когда пользователь отправляет боту любое сообщение. Поэтому вы можете спроектировать своего бота для распознавания намерений на основе ввода пользователем. Распознаватель может использоваться с LUIS API, чтобы добавить понимание естественного языка для бота.

Синтаксис

  • var распознаватель = новый builder.LUISRecognizer ('URL вашей модели');

  • var intents = new builder.IntentDialog ({распознаватели: [распознаватель]});

Инициализация и добавление LUISRecognizer

После того, как вы освоите новый проект с базовым шаблоном, представленным во введении, вы должны добавить LUISRecognizer,

var model = ''    // Your LUIS Endpoint link comes here
var recognizer = new builder.LuisRecognizer(model);

Теперь recognizer является LUISRecognizer и может передавать намерения на основе вашей определенной модели LUIS. Вы можете добавить recognizer к своим намерениям

var intents = new builder.IntentDialog({recognizers: [recognizer]});

Теперь ваш бот способен обрабатывать намерения LUIS. Все названные намерения по LUIS может быть обнаружено с помощью matches свойства IntentDialog класса. Так сказать, намерение с именем hi определено в модели LUIS, чтобы распознать намерение бота,

intents.matches('hi', function(session) {
    session.send("Hey :-)");
});

Определение модели LUIS с намерением

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

  1. Намерения - это то, как вы определяете функции, которые должны выполняться, когда пользователь вводит что-то. Например - намерение с именем Hi определит функцию, которая должна выполняться всякий раз, когда пользователь отправляет «Привет». Устройства уникально названы в вашей программе / модели.
  2. Сущности. Они определяют существительные в заявлении. Например: «Установите будильник для 1:00 вечера», здесь 1:00 pm - это объект, который должен быть распознан чат-ботом для установки тревоги.

Примечание. Изображения веб-сайта не представлены как интерфейсные изменения, но основная концепция остается неизменной.

Чтобы создать новую модель, перейдите в LUIS.ai и войдите в свою учетную запись Microsoft, чтобы перейти на страницу создания приложения. Где можно создать пустой проект.

Определение намерений:

Намерения могут быть определены на вкладке « Intents ». Они определяют, какую функцию вам нужно выполнять, когда пользователь вводит что-либо.

У всех приложений есть цель по умолчанию « None , которая активируется всякий раз, когда пользовательский ввод не соответствует никакому другому намерению.

Чтобы определить намерение,

  1. Дайте ему уникальное имя, относящееся к функции, которую вы хотите выполнить.
  2. Как только именование будет завершено, вы должны добавить utterances к намерению. Высказывания - это то, что вы хотите отправить пользователю, чтобы активировать намерение, которое вы определяете. Попробуйте подавать как можно больше различных utterances чтобы LUIS правильно ассоциировал intents и utterances .
  3. Обучите вашу модель LUIS, нажав кнопку « Train на вкладке « Train and Test . После обучения приложение можно протестировать на панели ниже.
  4. Наконец, опубликуйте свое приложение на вкладке « Publish App . Теперь вы должны получить URL конечной точки, который должен быть вставлен при определении LUISRecognizer в вашем бот-коде.

Добавление сущностей в модель LUIS

Сущность - это информация, которую ваш бот извлекает из определенного высказывания, соответствующего намерению.

Например, пусть My name is John Doe принадлежит к намерению, называемому introduction . Чтобы ваш бот понимал и извлекал имя John Doe из предложения, вам нужно определить сущность, которая делает это. Вы можете назвать сущность все, что пожелаете, но лучше всего назвать ее чем-то, что имеет значение для ее выделения. В нашем примере мы можем назвать name нашей сущности.

Сущности могут быть повторно использованы между различными намерениями, чтобы извлечь разные вещи. Таким образом, лучшим принципом было бы создание сущности, которая извлекает только тип данных и использует их по-разному. Поэтому в нашем вышеприведенном примере, скажем, « Book a flight on Emirates относится к booking намерений, то одно и то же лицо, name , может быть использовано для извлечения emirates полетного имени.

Вам нужно иметь в виду две вещи, прежде чем вы начнете определять сущности -

  1. Сущности должны быть уникальными для каждого высказывания в намерении. Сущность не может использоваться дважды в одном и том же высказывании.
  2. LUIS нечувствителен к регистру. Это означает, что все, извлеченное и полученное посредством извлечения сущности, будет в нижнем регистре. Таким образом, извлечение конфиденциальных данных с помощью сущностей, вероятно, является плохим.

Добавление предварительно созданных объектов

Предварительно созданные объекты, как следует из названия, предварительно построены, т.е. они уже настроены на извлечение определенного типа данных по их намерению. Примером может быть number объекта, который извлекает числа из назначенного им назначения. Цифры могут быть как в цифровом, так и в алфавитном порядке, например, 10 или ten .

Для получения полного списка всех предварительно созданных объектов вы можете посетить [Pre-Built Entities List] [1].

Чтобы добавить предварительно созданные объекты,

  1. Перейдите на вкладку entities .
  2. Нажмите Add pre-built entities и выберите объект, который вы хотите добавить в модель, и нажмите «Сохранить».

Добавление пользовательских объектов Пользовательские объекты имеют 4 типа,

  1. Простой : простой объект извлекает определенные данные, name в приведенных выше примерах - это простой объект.
  2. Иерархический : родительский объект с дочерними объектами (подтипами), которые зависят от родителя.
  3. Композитный : группа из двух или более сущностей, независимых друг от друга.
  4. List : Сущность, которая распознает слова только из определенного списка.

Определение простых объектов

  1. Перейдите на вкладку entities .
  2. Нажмите « Add Custom Entities
  3. Назовите свою сущность, проверьте требуемый тип сущности и нажмите « Save .

Все остальные типы объектов могут быть добавлены таким же образом, просто изменив Entity Type на один из вышеуказанных типов. В иерархических и составных типах сущностей вам также необходимо указать имена детей вместе с именем родительского объекта. Определение объектов List немного отличается от остальных.

Определение объектов списка

После того, как вы выполните описанные выше шаги, чтобы создать объект List Entity , поместив th Entity Type as List, вы будете перенаправлены на страницу сведений сущности, которую вы только что определили.

  1. Определите каноническое значение. Это стандартное значение, которое бот будет получать, когда пользователь вводит какой-либо синонимы.
  2. Определите синонимы канонического значения. Они будут преобразованы в каноническую ценность, когда они будут встречены сущностью.

Вы также можете импортировать целые списки, используя массив объектов JSON, формы:

[
    {
        "canonicalForm": "Hey",
        "list": [
            "Howdy",
            "Hi"
         ]
    },
    .
    .
    .
]

Связывание субъекта с намерением

Pre-built и list сущностей уже есть набор определенных значений, которые могут быть извлечены из всех высказываний, однако Simple , Hierarchical и Composite высказывания должны быть обучены подбирать значения.

Это можно сделать

  1. Перейдите на вкладку intents и выберите намерение, к которому вы хотите добавить объект.
  2. Добавьте высказывание с фиктивным значением, которое вы хотите извлечь. Скажем, вы можете добавить My name is John Doe в качестве высказывания.
  3. Нажмите и перетащите мышь над словами, которые вы хотите извлечь. Вам нужно будет выделить john doe в приведенном выше примере.
  4. Откроется раскрывающийся список всех объектов, доступных в вашем проекте. Выберите соответствующий, как вы сочтете нужным. Name будет объектом, выбранным в приведенном выше примере.
  5. Каждый раз добавляйте дополнительные высказывания с различными значениями фиктивного текста и всеми возможными структурами, о которых вы можете думать.
  6. Обучите и опубликуйте модель LUIS.


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow