Добавление шаблонов для повышения точности прогнозирования

Важно!

Поддержка LUIS будет прекращена 1 октября 2025 г., а начиная с 1 апреля 2023 г. вы не сможете создавать новые ресурсы LUIS. Мы рекомендуем перенести приложения LUIS в распознавание устной речи , чтобы воспользоваться преимуществами постоянной поддержки продуктов и многоязычных возможностей.

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

Примечание

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

Добавьте шаблонные речевые фрагменты, используя правильный синтаксис

  1. Войдите на портал LUIS и выберите Подписка и Ресурс для разработки, чтобы просмотреть приложения, назначенные этому ресурсу для разработки.

  2. Откройте приложение, выбрав его имя на странице Мои приложения.

  3. Выберите шаблоны на левой панели в разделе улучшение производительности приложения.

  4. Выберите нужное намерение для шаблона.

  5. В текстовом поле шаблона введите фрагмент речи шаблона и нажмите клавишу ВВОД. При необходимости ввода имени сущности используйте правильный синтаксис сущности шаблона. Начните синтаксис сущности с {. Будет выведен список сущностей. Выберите правильную сущность.

    Снимок экрана: сущность для шаблона

    Если сущность содержит роль, обозначьте эту роль одним знаком : после имени сущности, например {Location:Origin}. Список ролей для сущностей появится в списке. Выберите роль и нажмите клавишу ВВОД.

    Снимок экрана: сущность с ролью

    После выбора правильной сущности завершите ввод шаблона, а затем нажмите клавишу ВВОД. Закончив вводить шаблоны, выполните обучение приложения.

    Снимок экрана: введенный шаблон с обоими типами сущностей

Создание сущности Pattern.any

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

  1. Войдите на портал LUIS и выберите Подписка и Ресурс для разработки, чтобы просмотреть приложения, назначенные этому ресурсу для разработки.

  2. Откройте приложение, выбрав его имя на странице Мои приложения.

  3. В разделе Сборка на левой панели выберите Сущности, а затем — + Создать.

  4. В диалоговом окне Выбор типа сущности введите имя сущности в поле Имя и выберите Pattern.Any в поле Тип, а затем выберите Создать.

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

Добавление примеров речевого фрагмента в качестве шаблона

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

  1. Войдите на портал LUIS и выберите Подписка и Ресурс для разработки, чтобы просмотреть приложения, назначенные этому ресурсу для разработки.

  2. Откройте приложение, выбрав его имя на странице Мои приложения.

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

  4. На странице "Сведения о намерениях" выберите строку для примера речевого фрагмента, которую нужно использовать в качестве шаблона речевого фрагмента, а затем выберите + Добавить как шаблон на контекстной панели инструментов.

    Снимок экрана: выбор примера высказывания в качестве шаблона на странице сведений о намерении.

    Чтобы можно было создать шаблон из речевого фрагмента, этот речевой фрагмент должен включать сущность.

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

    Снимок экрана: подтверждение примера высказывания в качестве шаблона на странице сведений о намерении.

  6. Если необходимо отредактировать полученный шаблон, например, выделить текст как необязательный при помощи [] (квадратных скобок), нужно сделать это на странице Шаблоны.

  7. На панели навигации выберите Обучить, чтобы обучить приложение новому шаблону.

Использование оператора OR и групп

Следующие два шаблона можно объединить в один с помощью синтаксиса групп "( )" и синтаксиса OR "|".

Блокировка с намерением Примеры высказываний с предварительно созданными сущностями и необязательным текстом
OrgChart-Manager "кто будет {EmployeeListEntity}['s] менеджером [[в]{datetimeV2}?]"
OrgChart-Manager "кто будет {EmployeeListEntity}['s] менеджером [[на]{datetimeV2}?]"

Новый шаблон фразы будет выглядеть следующим образом.

"кто ( был | является | будет ) {EmployeeListEntity}['s] менеджером [([в]|[на]){datetimeV2}?]" .

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

Высказывания шаблона

В силу особенностей домена субъекта "Управление персоналом" существует несколько общих способов для отправки запросов о связях сотрудников в организациях. Например, следующие примеры высказываний:

  • "Кому подчиняется Джилл Джонс?"
  • "Кто подчиняется Джилл Джонс?"

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

Совет

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

К примерам шаблонов высказываний для этого намерения будут относиться:

Примеры высказываний шаблона Синтаксическое значение
Who does {EmployeeListEntity} report to[?] с взаимозаменяемостью: {EmployeeListEntity}
игнорировать: [?]
Кто подчиняется {EmployeeListEntity}[?] с взаимозаменяемостью: {EmployeeListEntity}
игнорировать: [?]

Синтаксис "{EmployeeListEntity}" отмечает расположение сущности в высказывании шаблона и указывает, какая это сущность. Необязательный синтаксис "[?]" отмечает слова или знаки препинания, которые являются необязательными. LUIS сопоставляет высказывание, игнорируя необязательный текст внутри скобок.

Важно!

Хотя этот синтаксис похож на регулярное выражение, он им не является. Поддерживается синтаксис только фигурной "{ }" и квадратной "[ ]" скобок. Их можно вложить до двух уровней.

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

Примечание

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

Добавление списка фраз в качестве функции

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

  1. Войдите на портал LUIS и выберите Подписка и Ресурс для разработки, чтобы просмотреть приложения, назначенные этому ресурсу для разработки.
  2. Откройте приложение, выбрав его имя на странице Мои приложения.
  3. Выберите пункт Сборка, а затем Функции на левой панели приложения.
  4. На странице Функции выберите + Создать.
  5. В диалоговом окне Создание новой функции списка фраз введите название, например "Виды начинки для Пиццы". В поле Значение введите примеры начинки, например Ветчина. Можно ввести только одно значение или набор значений, разделенные запятыми и нажать ВВОД.

Снимок экрана: добавление функции (списка фраз)

  1. Убедитесь, что включен селектор Взаимозаменяемые значения, если фразы могут использоваться как взаимозаменяемые. Признак списка взаимозаменяемых фраз используется в качестве списка синонимов для обучения. Списки невзаимозаменяемых фраз выступают в качестве отдельных признаков для обучения, что означает, что признаки похожи, но намерение меняется при замене фраз.
  2. Список фраз может применяться ко всему приложению с параметром Глобальный или к конкретной модели (намерению или сущности). Если список фраз создается как функция из намерения или сущности, переключатель не устанавливается на параметре "Глобальный". В этом случае переключатель указывает, что функция является только локальной для модели, а значит, не является глобальной для приложения.
  3. Нажмите кнопку Готово. Новая функция добавляется на страницу Функции ML.

Примечание

  • Можно отключить или удалить список фраз с контекстной панели инструментов на странице Функции ML.
  • Список фраз должен применяться к намерению или сущности, которым он призван помочь, однако в некоторых случаях список фраз в виде Глобальной функции необходимо применить ко всему приложению. На странице функций Машинное обучение выберите список фраз, а на верхней контекстной панели инструментов выберите Сделать глобальный.

Добавление сущности в качестве функции к намерению

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

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

Следующие шаги