Переход на v3 Authoring EntityMigrate to V3 Authoring entity

Разработка версии 3 предоставляет один новый тип сущности, сущность машинного обучения, а также возможность добавлять связи в сущность машинного обучения и другие сущности или функции приложения.The V3 authoring provides one new entity type, the machine-learning entity, along with the ability to add relationships to the machine-learning entity and other entities or features of the application.

Сущности делимыми в версии 3Entities are decomposable in V3

Сущности, созданные с помощью API-интерфейсов для создания версии 3, с использованием API или портала, позволяют создавать многоуровневые модели сущностей с родительскими и дочерними элементами.Entities created with the V3 authoring APIs, either using the APIs or with the portal, allow you to build a layered entity model with a parent and children. Этот родительский элемент известен как сущность машинного обучения , а дочерние элементы называются подсущностями сущности, полученной от компьютера.The parent is known to as the machine-learning entity and the children are known as subentities of the machine learned entity.

Каждая подсущность также является сущностью машинного обучения, но с дополнительными параметрами конфигурации функций.Each subentity is also a machine-learning entity but with the added configuration options of features.

Как эти новые связи сравниваются с созданием версии 2How do these new relationships compare to V2 authoring

Создание иерархических и составных сущностей, а также ролей и функций для выполнения этой же задачи.V2 authoring provided hierarchical and composite entities along with roles and features to accomplish this same task. Поскольку сущности, функции и роли не были явно связаны друг с другом, было сложно понять, как LUIS подразумеваемые связи во время прогнозирования.Because the entities, features, and roles were not explicitly related to each other, it was difficult to understand how LUIS implied the relationships during prediction.

В версии 3 связь является явной и спроектирована авторами приложения.With V3, the relationship is explicit and designed by the app authors. Это позволяет разработчику приложения:This allows you, as the app author, to:

  • Визуально посмотрите, как LUIS прогнозирует эти связи, в примере фразы продолжительностьюVisually see how LUIS is predicting these relationships, in the example utterances
  • Проверьте эти связи либо с помощью интерактивной области теста , либо в конечной точке.Test for these relationships either with the interactive test pane or at the endpoint
  • Использование этих связей в клиентском приложении с помощью хорошо структурированного именованного объекта с именем Nested . JSONUse these relationships in the client application, via a well-structured, named, nested .json object

ПланированиеPlanning

Во время миграции учитывайте следующее в плане миграции.When you migrate, consider the following in your migration plan:

  • Создайте резервную копию приложения LUIS и выполните миграцию в отдельном приложении.Back up your LUIS app, and perform the migration on a separate app. Одновременное использование приложения V2 и V3 позволяет проверить необходимые изменения и влияние на результаты прогноза.Having a V2 and V3 app available at the same time allows you to validate the changes required and the impact on the prediction results.
  • Фиксировать текущие метрики успешности прогнозаCapture current prediction success metrics
  • Запись текущей информации информационной панели в виде моментального снимка состояния приложенияCapture current dashboard information as a snapshot of app status
  • Проверка существующих целей, сущностей, списков фраз, шаблонов и пакетных тестовReview existing intents, entities, phrase lists, patterns, and batch tests
  • Следующие элементы могут быть перенесены без изменений.The following elements can be migrated without change:
    • НамеренияIntents
    • СущностиEntities
      • Сущность регулярного выраженияRegular expression entity
      • Сущность спискаList entity
    • КомпонентыFeatures
      • Список фразPhrase list
  • Следующие элементы необходимо перенести с изменениями:The following elements need to be migrated with changes:
    • СущностиEntities
      • Иерархическая сущностьHierarchical entity
      • Составная сущностьComposite entity
    • Роли — роли можно применять только к сущности машинного обучения (родительским).Roles - roles can only be applied to a machine-learning (parent) entity. Роли нельзя применять к вложенным сущностямRoles can't be applied to subentities
    • Пакетные тесты и шаблоны, использующие иерархические и составные сущностиBatch tests and patterns that use the hierarchical and composite entities

При проектировании плана миграции оставьте время для проверки последних сущностей машинного обучения после переноса всех иерархических и составных сущностей.When you design your migration plan, leave time to review the final machine-learning entities, after all hierarchical and composite entities have been migrated. Несмотря на то, что после внесения изменений и просмотра результатов пакетного тестирования и прогнозирования JSON, более унифицированный формат JSON может привести к внесению изменений, в то время как прямая миграция будет выполнена по-разному.While a straight migration will work, after you make the change and review your batch test results, and prediction JSON, the more unified JSON may lead you to make changes so the final information delivered to the client-side app is organized differently. Это похоже на рефакторинг кода и должен рассматриваться в том же процессе проверки, что и ваша организация.This is similar to code refactoring and should be treated with the same review process your organization has in place.

Если у вас нет пакетных тестов для вашей модели v2 и миграция пакетных тестов в модель v3 в рамках миграции, вы не сможете проверить, как миграция будет влиять на результаты прогнозирования конечных точек.If you don't have batch tests in place for your V2 model, and migrate the batch tests to the V3 model as part of the migration, you won't be able to validate how the migration will impact the endpoint prediction results.

Миграция с сущностей v2Migrating from V2 entities

При переходе к модели разработки версии 3 следует подумать о том, как перейти к сущности машинного обучения, а также к ее подсущностям и функциям.As you begin to move to the V3 authoring model, you should consider how to move to the machine-learning entity, and its subentities and features.

В следующей таблице перечислены сущности, которые необходимо перенести из v2 в структуру сущностей v3.The following table notes which entities need to migrate from a V2 to a V3 entity design.

Тип сущности для создания версии 2V2 authoring entity type V3 создание типа сущностиV3 authoring entity type ПримерExample
Составная сущностьComposite entity Сущность, занятая компьютеромMachine learned entity Подробнееlearn more
Иерархическая сущностьHierarchical entity роль сущности "машинное обучение"machine-learning entity's role Подробнееlearn more

Миграция составной сущности v2Migrate V2 Composite entity

Каждый дочерний элемент составного элемента v2 должен быть представлен подсущностью сущности машинного обучения v3.Each child of the V2 composite should be represented with a subentity of the V3 machine-learning entity. Если составной дочерний элемент является предварительно созданным, регулярным выражением или сущностью списка, его следует применять в качестве обязательной функции для подсущности.If the composite child is a prebuilt, regular expression, or a list entity, this should be applied as a required feature on the subentity.

Рекомендации по планированию миграции составной сущности в сущность машинного обучения.Considerations when planning to migrate a composite entity to a machine-learning entity:

  • Дочерние сущности нельзя использовать в шаблонахChild entities can't be used in patterns
  • Дочерние сущности больше не используютсяChild entities are no longer shared
  • Дочерние сущности должны быть помечены, если они не изучены компьютеромChild entities need to be labeled if they used to be non-machine-learned

Существующие компонентыExisting features

Любой список фраз, используемый для увеличения слов в составной сущности, должен применяться в качестве функции к сущности машинного обучения (родительской), сущности (дочерней) или намерению (если список фраз применим только к одному намерению).Any phrase list used to boost words in the composite entity should be applied as a feature to either the machine-learning (parent) entity, the subentity (child) entity, or the intent (if the phrase list only applies to one intent). Запланируйте Добавление компонента в сущность, где она должна существенно повыситься.Plan to add the feature to the entity where it should boost most significantly. Не добавляйте эту функцию в универсальную сущность машинного обучения (родительский объект), если она будет значительно увеличивать прогноз подсущности (дочерней).Do not add the feature generically to the machine-learning (parent) entity, if it will most significantly boost the prediction of a subentity (child).

Новые функцииNew features

В версии 3 добавьте шаг планирования для вычисления сущностей в качестве возможных функций для всех сущностей и целей.In V3 authoring, add a planning step to evaluate entities as possible features for all the entities and intents.

Пример сущностиExample entity

Эта сущность является только примером.This entity is an example only. Перенос собственных сущностей может потребовать других рекомендаций.Your own entity migration may require other considerations.

Рассмотрим составной элемент v2 для изменения пиццы order , использующей:Consider a V2 composite for modifying a pizza order that uses:

  • предварительно созданные datetimeV2 для времени доставкиprebuilt datetimeV2 for delivery time
  • список фраз для ускорения таких слов, как пицца, круговая диаграмма, круст и перерезаниеphrase list to boost certain words such as pizza, pie, crust, and topping
  • список сущностей для обнаружения нагрибы, оливковый, пепперони.list entity to detect toppings such as mushrooms, olives, pepperoni.

Пример utterance для этой сущности:An example utterance for this entity is:

Change the toppings on my pie to mushrooms and delivery it 30 minutes later

В следующей таблице показана миграция.The following table demonstrates the migration:

Модели версии 2V2 models Версии 3 моделиV3 models
Сущность родительского компонента с именем OrderParent - Component entity named Order Сущность с именем "родительский компьютер — машинное обучение" OrderParent - machine-learning entity named Order
Дочерняя — предварительно созданная datetimeV2Child - Prebuilt datetimeV2 * Перенос предварительно созданной сущности в новое приложение.* Migrate prebuilt entity to new app.
* Добавьте необходимый компонент на родительский элемент для предварительно созданной datetimeV2.* Add required feature on parent for prebuilt datetimeV2.
Дочерний объект-список для перекрывающегося спискаChild - list entity for toppings * Перенос сущности списка в новое приложение.* Migrate list entity to new app.
* Затем добавьте необходимый компонент в родительский объект для сущности списка.* Then add a required feature on the parent for the list entity.

Миграция иерархического объекта версии 2Migrate V2 Hierarchical entity

В разработке v2 иерархическая сущность была предоставлена до ролей, существующих в LUIS.In V2 authoring, a hierarchical entity was provided before roles existing in LUIS. Оба объекта обрабатывают одну и ту же цель извлечения сущностей на основе контекста использования.Both served the same purpose of extracting entities based on context usage. При наличии иерархических сущностей их можно представить как простые сущности с ролями.If you have hierarchical entities, you can think of them as simple entities with roles.

В версии 3:In V3 authoring:

  • Роль можно применить к сущности машинного обучения (родительским).A role can be applied on the machine-learning (parent) entity.
  • Роль нельзя применить к любым вложенным сущностям.A role can't be applied to any subentities.

Эта сущность является только примером.This entity is an example only. Перенос собственных сущностей может потребовать других рекомендаций.Your own entity migration may require other considerations.

Рассмотрим иерархическую сущность v2 для изменения пиццы order :Consider a V2 hierarchical entity for modifying a pizza order:

  • где каждый дочерний элемент определяет изначальное или конечное значение.where each child determines either an original topping or the final topping

Пример utterance для этой сущности:An example utterance for this entity is:

Change the topping from mushrooms to olives

В следующей таблице показана миграция.The following table demonstrates the migration:

Модели версии 2V2 models Версии 3 моделиV3 models
Сущность родительского компонента с именем OrderParent - Component entity named Order Сущность с именем "родительский компьютер — машинное обучение" OrderParent - machine-learning entity named Order
Дочерний элемент иерархии с исходной и окончательной наведением пиццыChild - Hierarchical entity with original and final pizza topping * Добавьте роль для Order каждой переустановки.* Add role to Order for each topping.

Ограничение на изменение API заменено требуемой функциейAPI change constraint replaced with required feature

Это изменение было внесено в мае 2020 на Конференции//Build и относится только к API-интерфейсам разработки версии 3, где приложение использует ограниченную функцию.This change was made in May 2020 at the //Build conference and only applies to the v3 authoring APIs where an app is using a constrained feature. Если выполняется миграция с создания версии 2 на v3 или не используются ограниченные функции v3, пропустите этот раздел.If you are migrating from v2 authoring to v3 authoring, or have not used v3 constrained features, skip this section.

Функциональность — возможность требовать существующую сущность в качестве функции для другой модели и извлекать эту модель только при обнаружении сущности.Functionality - ability to require an existing entity as a feature to another model and only extract that model if the entity is detected. Функциональность не изменилась, но API и терминология изменились.The functionality has not changed but the API and terminology have changed.

Предыдущая терминологияPrevious terminology Новые терминыNew terminology
constrained feature
constraint
instanceOf
required feature
isRequired

Автоматическая миграцияAutomatic migration

Начиная с 19 2020 июнявы не сможете создавать ограничения программным способом с помощью предыдущего API-интерфейса, который предоставлял эту функциональность.Starting June 19 2020, you won’t be allowed to create constraints programmatically using the previous authoring API that exposed this functionality.

Все существующие функции ограничений будут автоматически перенесены на обязательный флаг компонента.All existing constraint features will be automatically migrated to the required feature flag. Программные изменения не требуются для API-интерфейса прогнозирования, и в результате не изменяется качество точности прогноза.No programmatic changes are required to your prediction API and no resulting change on the quality of the prediction accuracy.

Изменения на портале LUISLUIS portal changes

На портале предварительной версии LUIS эта функция указана как ограничение.The LUIS preview portal referenced this functionality as a constraint. Текущий портал LUIS назначает эту функцию обязательной.The current LUIS portal designates this functionality as a required feature.

Предыдущий API разработкиPrevious authoring API

Эта функция была применена в предварительном просмотре Создание дочернего API в качестве части определения сущности с помощью instanceOf свойства дочернего объекта сущности:This functionality was applied in the preview authoring Create Entity Child API as the part of an entity's definition, using the instanceOf property of an entity's child:

{
    "name" : "dayOfWeek",
    "instanceOf": "datetimeV2",
    "children": [
        {
           "name": "dayNumber",
           "instanceOf": "number",
           "children": []
        }
    ]
}

Новый API разработкиNew authoring API

Теперь эта функция применяется с API связи возможностей добавления сущностей с помощью featureName свойств и isRequired .This functionality is now applied with the Add entity feature relation API using the featureName and isRequired properties. Значением featureName свойства является имя модели.The value of the featureName property is the name of the model.

{
    "featureName": "YOUR-MODEL-NAME-HERE",
    "isRequired" : true
}

Дальнейшие шагиNext steps