Использование сущностей и заполнение слотов в помощниках Microsoft Copilot Studio

Важно

Возможности и функции Power Virtual Agents теперь являются частью Microsoft Copilot Studio после значительных инвестиций в генеративный искусственный интеллект и расширенную интеграцию с Microsoft Copilot.

Некоторые статьи и снимки экрана могут ссылаться на Power Virtual Agents, пока мы обновляем документацию и учебные материалы.

Большая часть разговоров помощников в Microsoft Copilot Studio — это понимание естественного языка, то есть способность ИИ понимать намерения пользователя. Например, понимание естественного языка подразумевается, когда пользователь может сказать: "Я пытался использовать свою подарочную карту, но она не работает", и помощник может направить пользователя на тему, связанную с неработающими подарочными картами, — даже если эта точная фраза не указана в качестве триггерной.

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

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

Готовые сущности

Сущности в помощниках позволяют хранить информацию в похожих группах.

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

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

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

  1. В меню навигации Microsoft Copilot Studio выберите Сущность.

    Перейдите на вкладку сущностей.

    Появится список доступных готовых сущностей.

    Панель сущностей.

  2. Выберите сущность Деньги, которая откроет панель сведений для сущности.

    Описание сущности

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

Например, когда пользователь вводит "Это стоит 1000 долларов", используя эту денежную единицу, помощник знает, что "1000 долларов" представляет информацию денежного типа. Когда помощник извлекает эту сущность и сохраняет ее в переменной, он сохраняет "1000" как число, даже ходя окружающая информация была текстовой.

Настраиваемые сущности

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

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

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

  1. В меню навигации Microsoft Copilot Studio выберите Сущность.

    Перейдите на вкладку сущностей, чтобы создать новую сущность.

  2. Выберите Создать сущность в главном меню.

    Выберите создать сущность.

  3. Откроется панель, где вы можете выбрать тип сущности: либо сущность Закрытый список, либо сущность Регулярное выражение.

Сущности закрытого списка

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

Снимок экрана окна создания сущности с выделенным параметром Закрытый список.

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

Снимок экрана панели списка сущностей.

При вводе элементов вы можете:

  • Выберите каждый элемент, чтобы изменить его имя.
  • Щелкните значок корзины, чтобы удалить элемент из списка.
  • Выберите + Синонимы (или выберите перечисленные синонимы, если они уже были добавлены), чтобы открыть область Изменить синонимы.

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

Снимок экрана панели редактирования синонимов.

Для каждой сущности вы также можете включить Интеллектуальное сопоставление.

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

В частности, помощник будет автоматически исправлять орфографические ошибки и семантически расширять логику сопоставления. Например, помощник может автоматически сопоставить «софтбол» и «бейсбол».

Снимок экрана переключения параметра интеллектуального сопоставления.

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

Сущности регулярных выражений

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

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

Снимок экрана окна создания сущности с выделенным параметром Регулярное выражение.

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

Снимок экрана панели сущностей регулярного выражения.

Сущности регулярных выражений Microsoft Copilot Studio используют Синтаксис регулярных выражений .NET.

По умолчанию сопоставление шаблона чувствительно к регистру; чтобы сделать его нечувствительным к регистру, используйте параметр регулярного выражения (?i) в строке шаблона. Некоторые основные примеры включены в панель сущностей регулярных выражений, а дополнительную информацию о синтаксисе и другие примеры можно найти в теме Язык регулярных выражений — краткий справочник.

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

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

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

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

  1. Перейдите на страницу тем для помощника, которого вы хотите редактировать.

  2. Откройте холст разработки для темы, к которой вы хотите добавить сущность.

  3. Выберите Добавить узел (+) и затем выберите Задать вопрос.

    Снимок экрана добавления узла.

  4. В разделе Определить выберите сущность, которую вы создали в разделе Пользовательские сущности.

    Узел вопроса с выбором сущности.

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

    Добавление условных узлов.

    Больше условных узлов.

  6. При необходимости назовите переменную для вывода ответа пользователя.

Заполнение слотов

Заполнение слотов — это концепция понимания естественного языка, которая означает сохранение извлеченной сущности в объект. Однако в Microsoft Copilot Studio заполнение слота означает помещение извлеченного значения объекта в переменную.

Мы продолжим использовать тему снаряжения для отдыха на природе в качестве примера, которая запускается путем ввода "Я хочу купить что-то" в тестовом чате.

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

отслеживание между темами.

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

Дополнительное отслеживание между темами.

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

По сути, заполнение слотов происходит путем вставки извлеченной сущности "Пеший туризм" в переменную VarProductCategory.

Окно наблюдения за переменными.

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

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

Множественное и проактивное заполнение слотов.

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

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

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

На этот раз когда задается вопрос о категории продукта, вместо того, чтобы сообщать помощнику только о категории продукта, пользователь может сказать: "Я хочу купить пару походных ботинок дешевле 100 долларов США". В этом примере помощник не только может направить к правильному пути категории продуктов для пеших прогулок, но и активно заполнить слоты, запрашивающие тип походного снаряжения и информацию о целевом диапазоне цен.

отслеживание тем для товаров и ценовых категорий.

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

Пропустить вопрос.

Посмотрите подробное видео