Поделиться через


Рекомендации по сущностям и заполнению слотов в Copilot Studio

Что такое заполнение слота?

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

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

Например, когда пользователь спрашивает: Я хотел бы заказать 3 большие синие футболки

Система распознавания естественной речи (NLU) Copilot Studio может сразу понять:

  • тема — это Заказ
  • Количество 3
  • Цвет синий
  • Тип товара: Футболка

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

Сначала вы определяете, какие сущности вы хотите использовать, и их типы.

Определение сущностей

Copilot Studio предоставляет несколько встроенных сущностей для наиболее распространенных вариантов использования, таких как Электронная почта, Дата и время, Имя человека, Номер телефона, Цвет, Страна, Город, Число, Деньги и так далее.

Встроенные сущности являются мощными, поскольку они могут обрабатывать множество вариантов формы, которую может принимать информация. Например, при использовании сущности Деньги в разговоре пользователь может ввести значение «$100», «сто долларов» или «100 долларов». Модель NLU в Copilot Studio выясняет, что стоимость представляет собой денежную стоимость в 100 долларов.

Совет

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

Вы также можете определить свои собственные пользовательские сущности, такие как Тип товара из предыдущего примера. Пользовательские сущности могут быть двух типов:

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

Улучшение интерфейса пользователя

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

Рекомендации по сущностям

Использование синонимов

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

Совет

  • Использование синонимов также может помочь в срабатывании триггера темы, поскольку они увеличивают вес триггерной фразы, добавляя связанные слова в качестве синонимов содержащейся в ней сущности. Например, для варианта «Жалоба» добавьте похожие отрицательные слова или словосочетания в качестве синонимов.
  • Модель NLU также обобщает все варианты сущности (то есть, все их значения и их синонимы) в случае, если триггерная фраза темы включает хотя бы одну вариацию этой сущности. Другими словами, авторы агент должны включить один пример фраза-триггер с одним использованием этой сущности, чтобы NLU мог обобщить другие вариации сущностей.

Включить интеллектуальное сопоставление

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

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

В частности, агент автоматически исправляет опечатки и расширяет свою логику сопоставления семантически. Например, агент может автоматически сопоставить «softball» с «baseball».

Будьте изобретательны с регулярными выражениями

Иногда извлечение сущности из пользовательского запроса может привести к путанице для модели NLU, особенно когда в пользовательском запросе присутствует несколько сущностей одного типа.

Например, если пользователь говорит: «Можете ли вы принести 2 полотенца и 1 подушку в номер 101»?

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

  • Количество полотенец: [1-9] полотенец
  • Количество подушек: [1-9] подушек
  • Номер комнаты: [0-9]{3}

Альтернативы сущностям для хранения ссылочных данных

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

Затем ваша логика темы может проверить точность результата (или попросить пользователя подтвердить его), прежде чем двигаться дальше в диалоге.

Dataverse является хорошим кандидатом для хранения таких данных, так как имеет встроенную возможность поиска Dataverse, которая поддерживает нечеткое сопоставление для получения наилучших результатов вместе с оценкой достоверности. Даже при поиске по полному предложению она может найти потенциальные совпадения.

Совет

Чтобы ознакомиться с примером реализации, см. раздел Возврат списка результатов.