Типы сущностей
Внимание
LUIS будет прекращена 1 октября 2025 г. и с 1 апреля 2023 г. вы не сможете создать новые ресурсы LUIS. Мы рекомендуем перенести приложения LUIS в понимание общения, чтобы воспользоваться продолжением поддержки продуктов и многоязычными возможностями.
Сущность — это элемент, соответствующий намерению пользователя. Сущности определяют данные, которые можно извлечь из речевого фрагмента и которые необходимы для выполнения требуемого пользователем действия. Например:
Фраза | Прогнозирование намерения | Сущности извлечены | Описание |
---|---|---|---|
Привет! Как дела? | Приветствие | - | Нечего извлекать. |
Я хочу заказать небольшую пиццу | orderPizza | "небольшой" | Сущность "Размер" извлекается как "небольшой". |
Выключить свет в спальне | turnOff | "спальня" | Сущность "Комната" извлекается как "спальня". |
Проверить баланс на сберегательном счету, который заканчивается на 4406 | checkBalance | "сберегательный", "4406" | Сущность "accountType" извлекается как "сберегательный", а сущность "accountNumber" — как "4406". |
Купить 3 билета в Нью-Йорк | buyTickets | "3", "Нью-Йорк" | Сущность "ticketsCount" извлекается как "3", а сущность"Пункт назначения" — как "Нью-Йорк". |
Сущности необязательны, но желательны. Необязательно создавать сущности для каждой концепции в приложении, а только для тех, в которых:
- клиентское приложение нуждается в данных;
- сущность выступает в качестве подсказки или сигнала для другой сущности или намерения. Дополнительные сведения о сущностях в качестве функций см. в этой статье.
Типы сущностей
Чтобы создать сущность, необходимо присвоить ей имя и тип. В приложении LUIS существует несколько типов сущностей.
Сущность списка
Сущность списка представляет собой фиксированный замкнутый набор связанных слов вместе с синонимами. Вы можете использовать сущности списка для распознавания нескольких синонимов или вариантов, а также для извлечения нормализованных выходных данных для них. С помощью функции Рекомендовать можно просмотреть предложения для новых слов на основе текущего списка.
Сущность списка не прошла машинное обучение, то есть LUIS не обнаруживает дополнительные значения для таких сущностей. LUIS помечает любое совпадение с элементом в любом списке как сущность в ответе.
При сопоставлении сущностей списка учитывается регистр, и совпадение должно быть точным. Нормализованные значения также используются при сопоставлении сущности списка. Например:
Нормализованное значение | Синонимы |
---|---|
Небольшой | sm , , sml tiny smallest |
Средняя | md , , mdm regular , average middle |
Большой | lg , , lrg big |
Чтобы узнать больше, см. справочную статью осущностях списка.
Сущность регулярного выражения
Сущность регулярного выражения извлекает сущность на основе предоставленного шаблона регулярного выражения. Оно не учитывает регистр и игнорирует региональный алфавит. Сущности регулярных выражений лучше подходят для структурированного текста или предопределенной последовательности буквенно-цифровых значений, которые необходимо внести в определенном формате. Например:
Объект | Регулярное выражение | Пример |
---|---|---|
Номер рейса | flight [A-Z]{2} [0-9]{4} |
flight AS 1234 |
Номер кредитной карты | [0-9]{16} |
5478789865437632 |
Чтобы узнать больше, см. справочную статью осущностях регулярного выражения.
Готовые сущности
Интеллектуальная служба распознавания речи (LUIS) включает набор предварительно созданных сущностей для распознавания общих типов информации, таких как даты, время, цифры, измерения и валюта. Поддержка предварительно созданной сущности зависит от языка и региональных параметров приложения LUIS. Полный список предварительно созданных сущностей, поддерживаемых LUIS, включая поддержку языка и региональных параметров, см. по ссылке Entities per culture (Язык и региональные параметры сущностей).
Если предварительно созданная сущность включена в приложение, ее прогнозы включатся в опубликованное приложение. Реакция на событие предварительно созданных сущностей предварительно подготовлена и не может быть изменена.
Предварительно созданная сущность | Пример значения |
---|---|
PersonName | Джеймс, Билл, Том |
DatetimeV2 | 2019-05-02 , , May 2nd 8am on May 2nd 2019 |
Чтобы узнать больше, см. справочную статью опредварительно созданных сущностях.
Сущность Pattern.any
Сущность Pattern.any — это заполнитель переменной длины, который используется только в речевом фрагменте шаблона, чтобы отметить начало и конец сущности. Она следует определенному правилу или шаблону, и ее лучше использовать для предложений с фиксированной лексической структурой. Например:
Пример фразы | Расписание | Объект |
---|---|---|
Можно заказать бургер, пожалуйста? | Can I have a {meal} [please][?] |
бургер |
Можно заказать пиццу? | Can I have a {meal} [please][?] |
пицца |
Где можно найти книгу "Великий Гэтсби"? | Where can I find {bookName}? |
"Великий Гэтсби" |
Чтобы узнать больше, см. справочную статью о сущностях Pattern.any.
Сущность машинного обучения
Сущность машинного обучения использует контекст для извлечения сущностей на основе помеченных примеров. Этот тип сущностей является приоритетным для создания приложений LUIS. Он основан на алгоритмах машинного обучения и для него требуется, чтобы метки были успешно адаптированы для приложения. Используйте сущность машинного обучения, чтобы обнаружить данные, которые не всегда отформатированы надлежащим образом, но имеют одинаковое значение.
Пример фразы | Извлеченная сущность продукта |
---|---|
Я хочу купить книгу. | "книга" |
Можно ли купить эту обувь? | "обувь" |
Добавить эти шорты в мою корзину. | "шорты" |
Дополнительную информацию см. в разделе Сущности машинного обучения.
Сущность машинного обучения со структурой
Сущность машинного обучения может состоять из меньших вложенных сущностей, каждая из которых может иметь собственные свойства. Например, сущность адрес может иметь следующую структуру:
- Адрес: 4567 Main Street, NY, 98052, США
- Номер здания: 4567
- Название улицы: Мэйн-Стрит
- Штат: Нью-Йорк
- Почтовый индекс:98052
- Страна: США
Создание эффективных сущностей машинного обучения
Для эффективного создания сущностей машинного обучения следуйте приведенным ниже рекомендациям:
- Если у вас есть сущность машинного обучения, состоящая из вложенных сущностей, убедитесь, что в помеченных речевых фрагментах представлены различные порядки и варианты сущности и вложенных сущностей. Помеченные примеры высказываний должны включать все допустимые формы и включать сущности, которые появляются и отсутствуют, а также переупорядочены в высказывании.
- Вам следует избегать лжевзаимосвязи сущностей с фиксированным набором. Лжевзаимосвязь происходит, когда модель не подготовлена к использованию надлежащим образом, что является распространенной проблемой в моделях машинного обучения. Это означает, что приложение не будет надлежащим образом работать с новыми типами примеров. Вам необходимо последовательно изменять помеченные примеры речевых фрагментов, чтобы приложение могло осуществлять подготовку к использованию, выходящую за рамки предоставленных вами ограниченных примеров.
- Ваша маркировка должна быть единообразной для всех намерений. Это включает даже речевые фрагменты, которые вы предоставляете в качестве намеренияNone, включающего эту сущность. В противном случае модель не сможет эффективно определять последовательности.
Сущности как функции
Другой важной функцией сущностей является использование их в качестве функций или отличительных признаков для других намерений или сущностей, чтобы система могла наблюдать за ними и изучить их.
Сущности как функции для намерений
Сущности можно использовать как сигнал для намерения. Например, благодаря присутствию определенной сущности в речевом фрагменте можно определить, к какому намерению она относится.
Пример фразы | Объект | Намерение |
---|---|---|
Забронируйте мне авиабилеты до Нью-Йорка. | Город | Забронировать авиабилет |
Зарезервируйте мне главный конференц-зал. | Комната | Зарезервировать зал |
Сущности как функции для сущностей
Сущности можно также использовать в качестве индикатора присутствия других сущностей. Распространенный пример такой ситуации — это использование предварительно созданной сущности в качестве функции для другой сущности машинного обучения. Если вы создаете систему бронирования авиабилетов с речевым фрагментом "Забронируйте мне авиабилеты из Каира в Сиэтл", вашими сущностями машинного обучения, скорее всего, будут Исходный город и Целевой город. В качестве функции для обеих сущностей рекомендуется использовать предварительно созданную сущность GeographyV2.
Дополнительные сведения см. в справочной статье о Сущностях GeographyV2.
Сущности также можно использовать в качестве обязательных функций для других сущностей. Это помогает в разрешении извлеченных сущностей. Например, во время создания приложения для заказа пиццы и при наличии сущности машинного обучения Size можно создать сущность списка SizeList и использовать ее в качестве обязательной функции для сущности Size. Приложение вернет нормализованное значение в качестве сущности, извлеченной из речевого фрагмента.
Дополнительные сведения см. в статье Функции машинного обучения, а чтобы узнать больше о предварительно созданных сущностях, доступных для вашего языка и региональных параметров, ознакомьтесь с этой статьей.
Данные из сущностей
Большинству чат-ботов и приложений требуется нечто большее, чем имя намерения. Эти дополнительные данные поступают из сущностей, обнаруживаемых в высказывании. Каждый тип сущности возвращает различные сведения о совпадении.
Одно слово или фраза в высказывании может соответствовать нескольким сущностям. В этом случае каждая совпадающая сущность возвращается с оценкой.
Все сущности возвращаются в массиве сущностей ответа от конечной точки
Рекомендации для работы с сущностями
Использование сущностей машинного обучения
Сущности машинного обучения адаптированы для вашего приложения, и для их успешного функционирования требуется добавление меток. Если вы не используете сущности машинного обучения, возможно, вы используете неправильные сущности.
Сущности машинного обучения могут использовать другие сущности в качестве функций. Эти сущности могут быть пользовательскими, например сущности регулярных выражений или списка, либо вы можете использовать в качестве функций предварительно созданные сущности.
Узнайте больше об эффективных сущностях машинного обученияздесь.