Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Понимание разговорного языка (CLU) — это облачная услуга искусственного интеллекта в сервисе Azure Language в инструментах Foundry. Это новое поколение распознавания речи (LUIS) и обеспечивает обратную совместимость с ранее созданными приложениями LUIS. В CLU используется современный интеллект машинного обучения, позволяющий пользователям создавать индивидуальную модель понимания естественного языка для прогнозирования намерений и сущностей в речевых фрагментах.
CLU предлагает следующие преимущества:LUIS
- Улучшена точность с использованием передовых моделей машинного обучения для лучшей классификации намерений и извлечения сущностей. LUIS требует больше примеров для обобщения определенных понятий в намерениях и сущностях, в то время как более расширенное машинное обучение CLU снижает нагрузку на клиентов, требуя меньше данных.
- Поддержка многоязычия для изучения и обучения модели. Тренируйте проекты на одном языке и сразу предсказывайте намерения и сущности на 96 языках.
- Простота интеграции с различными CLU и проектами для создания пользовательских ответов на вопросы с помощью оркестрационного рабочего процесса.
- Возможность добавлять данные тестирования в интерфейс с помощью Language Studio и API для оценки производительности модели перед развертыванием.
Чтобы приступить к работе, можно использовать CLU напрямую или перенести приложение LUIS.
Сравнение LUIS и CLU
В следующей таблице представлено параллельное сравнение функций LUIS и CLU. Он также выделяет изменения в вашем приложении LUIS после миграции в CLU. Выберите связанную концепцию, чтобы узнать больше об изменениях.
| Функции LUIS | Функции CLU | После миграции |
|---|---|---|
| Сущности машинного обучения и структурированные ML | Компоненты обученных сущностей | Сущности, полученные с помощью машинного обучения, без подсущностей передаются как сущности CLU. Структурированные сущности машинного обучения передают только листовые узлы (подсущности нижнего уровня, которые не имеют собственных подсущностей) в качестве сущностей в CLU. Имя сущности в CLU — это имя подсущности, объединённое с родительской сущностью. Например, Order.Size |
| Перечисление, регулярные выражения и предопределённые сущности | Компоненты перечня, regex и предварительно созданных сущностей | Список, regex и предварительно созданные сущности передаются как сущности в CLU с заполненным компонентом сущности на основе типа сущности. |
Pattern.Any Объекты |
В настоящее время недоступно |
Pattern.Any сущности удаляются. |
| Единая культура для каждого приложения | Многоязычные модели позволяют использовать несколько языков для каждого проекта. | Основной язык проекта задается как культурный формат вашего приложения LUIS. Проект можно обучить для расширения до других языков. |
| Роли сущности | Роли больше не нужны. | Роли сущностей передаются как сущности. |
| Параметры для: нормализация препинания, нормализация диакритических знаков, нормализация формы слова и использование всех обучающих данных. | Параметры больше не нужны. | Параметры не передаются. |
| Шаблоны и функции списка фраз | Функции шаблонов и списков фраз больше не требуются. | Шаблоны и функции списка фраз не передаются. |
| Функции сущности | Компоненты сущности | Список или предварительно созданные сущности, добавленные в виде функций для сущности, переносятся в качестве компонентов этой сущности. Характеристики сущностей не передаются в намерениях. |
| Намерения и высказывания | Намерения и высказывания | Передаются все намерения и высказывания. Речевые фрагменты помечены их передаваемыми сущностями. |
Приложения GUID |
Имена проектов | Проект создается для каждого перенесенного приложения с именем приложения. Все специальные символы в именах приложений удаляются в CLU. |
| Управление версиями | Каждый раз при обучении создается модель, которая выступает в качестве версии вашего проекта. | Проект создается для выбранной версии приложения. |
| Оценка с помощью пакетного тестирования | Оценка с помощью наборов тестирования | Требуется добавление тестового набора данных. |
| Контроль доступа на основе ролей (RBAC) для ресурсов LUIS | Контроль доступа на основе ролей (RBAC) доступен для языковых ресурсов. | RBAC языкового ресурса необходимо добавить вручную после миграции. |
| Единый режим обучения | Стандартные и расширенные режимы обучения | Обучение требуется после миграции приложения. |
| Два слота публикации и публикация версий | Десять слотов для развертывания с пользовательскими названиями | Развертывание требуется после миграции и обучения приложения. |
| Поддержка API разработки и пакета SDK LUIS в .NET, Python, Java и Node.js | Создание REST API для CLU. | Дополнительные сведения см. в статье краткого руководства по API разработки CLU. Рефакторинг необходим для использования API разработки CLU. |
| Поддержка API среды выполнения LUIS и пакетов SDK в .NET, Python, Java и Node.js | API среды выполнения CLU. Поддержка CLU Runtime SDK для .NET и Python. | Дополнительные сведения см. в статье о вызове API. Рефакторинг необходим для использования ответа API среды исполнения CLU. |
Перенос приложений LUIS
Выполните следующие действия, чтобы перенести приложение LUIS с помощью портала LUIS или REST API.
Перенос приложений LUIS с помощью портала LUIS
Выполните следующие действия, чтобы начать миграцию с помощью портала LUIS:
После входа на портал LUIS нажмите кнопку на баннере в верхней части экрана, чтобы запустить мастер миграции. Процесс миграции копирует ваши выбранные приложения LUIS в CLU. На вкладке "Обзор миграции" представлено краткое описание понимания общения и его преимуществ. Нажмите кнопку "Далее", чтобы продолжить.
Определите ресурс языка Azure, в который вы хотите перенести приложение LUIS. Если вы создали ресурс языка, выберите подписку Azure, за которой следует ресурс языка, а затем нажмите кнопку "Далее". Если у вас нет ресурса языка, выберите ссылку для создания нового ресурса языка. Затем выберите ресурс и нажмите кнопку "Далее".
Выберите все приложения LUIS, которые требуется перенести, и укажите каждую из их версий. Нажмите кнопку Далее. После выбора приложения и версии вы получите сообщение об особенностях, которые не переносятся из приложения LUIS.
Замечание
В настоящее время распознавание речи беседы не поддерживает специальные символы. Все специальные символы в выбранных именах приложений LUIS удаляются в новых перенесенных приложениях.
Просмотрите выбранные ресурсы языка и приложения LUIS. Нажмите кнопку "Готово ", чтобы перенести приложения.
Всплывающее окно позволяет отслеживать состояние миграции приложений. Приложения, которые успешно перенесены, имеют состояние "Не запущены". Приложения, начинающие миграцию, имеют состояние "Выполняется" и после завершения миграции состояние выполнено успешно. Проигравшая заявка означает, что необходимо повторить процесс миграции. После завершения миграции для всех приложений нажмите кнопку "Готово".
После переноса приложений можно выполнить следующие действия.
- Обучение модели
- Разверните вашу модель
- Вызовите вашу развернутую модель
Часто задаваемые вопросы
Поддерживает ли CLU определенную версию LUIS?
Да, CLU поддерживает модель JSON версии 7.0.0. Если формат JSON более старый, сначала его необходимо импортировать в LUIS, а затем экспортировать из LUIS с последней версией.
Чем различаются сущности в CLU?
В CLU одна сущность может иметь несколько компонентов сущностей, которые являются различными методами извлечения. Затем эти компоненты объединяются вместе с помощью правил, которые можно определить. Доступные компоненты:
- Уроки: Метки, эквивалентные сущностям в LUIS, используются для обучения модели машинного обучения предсказывать сущности на основе содержимого и контекста предоставленных меток.
- Список: как и сущности списка в LUIS, компоненты списка точно соответствуют набору синонимов и сопоставляют их с нормализованным значением, называемым ключом списка.
- Предварительно созданные компоненты: предварительно созданные компоненты позволяют определить сущность с предварительно созданными средствами извлечения для распространенных типов, доступных как в LUIS, так и в CLU.
- Regex: компоненты Regex используют регулярные выражения для захвата пользовательски определённых шаблонов, точно так же, как сущности регулярных выражений в LUIS.
Сущности в LUIS передаются в CLU как сущности с теми же именами и эквивалентными компонентами.
После миграции структурированные листовые узлы машинного обучения и субъекты нижнего уровня передаются в новую модель CLU, а все родительские сущности и сущности более высокого уровня игнорируются. Имя сущности — это имя сущности нижнего уровня, сцепленное с родительской сущностью.
Пример:
Сущность LUIS:
- Заказ пиццы
- Топпинг
- Size
Перенесенная сущность LUIS в CLU:
- Заказ Пиццы.Topping
- Заказ пиццы.Размер
Вы также не можете пометить две разные сущности в CLU для одного диапазона символов. Компоненты, полученные в CLU, являются взаимоисключающими и не предоставляют перекрывающиеся прогнозы только для изученных компонентов. При переносе приложения LUIS метки сущностей, которые перекрываются, сохраняют самую длинную метку и игнорируют другие.
Дополнительные сведения о компонентах сущностей см. в разделе "Компоненты сущности".
Как роли сущностей передаются в CLU?
Ваши роли передаются как отдельные сущности вместе с их помеченными высказываниями. Тип сущности каждой роли определяет, какой компонент сущности заполняется. Например, роль сущности списка передается в виде сущности с таким же именем, что и у роли, и с заполненным компонентом списка.
Как функции сущности передаются в CLU?
Сущности, использующиеся в качестве атрибутов для намерений, не передаются. Сущности, используемые в качестве функций для других сущностей, заполняют соответствующий компонент сущности. Например, если сущность списка с именем SizeList была использована в качестве функции для сущности с именем Size, то сущность Size передается в CLU. Значения списка из SizeList добавляются в компонент списка сущности Size . То же самое применяется для предварительно созданных и регулярных сущностей.
Чем отличаются оценки достоверности сущностей в CLU?
Любая извлеченная сущность имеет оценку надежности 100%, поэтому оценки надежности сущностей не должны использоваться для принятия решений между ними.
Каким образом обеспечивается многоязычность в понимании языка в разговоре?
Проекты по пониманию разговорного языка принимают высказывания на разных языках. Кроме того, вы можете обучить модель на одном языке и расширить ее для прогнозирования на других языках.
Пример:
Обучающее высказывание (английский): Как вы?
Помеченное намерение: Приветствие
Высказывание среды выполнения (французский): Comment ça va?
Прогнозируемое намерение: приветствие
В чем преимущества точности CLU по сравнению с LUIS?
CLU использует современные модели для повышения производительности машинного обучения различных моделей классификации намерений и извлечения сущностей.
Эти модели не учитывают незначительные вариации, исключая необходимость в следующих настройках: нормализация знаков препинания, нормализация диакритических знаков, нормализация формы слова и использование всех обучающих данных.
Кроме того, новые модели не поддерживают функции списка фраз, так как они больше не требуют дополнительных сведений от пользователя, чтобы предоставить семантически похожие слова для повышения точности. Шаблоны также использовались для обеспечения улучшенной классификации намерений с помощью методов сопоставления на основе правил, которые не нужны в новой парадигме модели. Следующий вопрос содержит дополнительные сведения.
Что делать, если функции, которые я использую в LUIS, больше не присутствуют?
Существует несколько функций, присутствующих в LUIS, которые больше не доступны в CLU. Эти функции включают возможность выполнять проектирование признаков, наличие шаблонов и шаблонов.any сущностей и структурированных сущностей. Если у вас были зависимости от этих функций в LUIS, используйте следующее руководство.
Шаблоны: Шаблоны были добавлены в LUIS, чтобы помочь классификации намерений через определение выражений регулярного шаблона. Эта функция включает возможность определять только намерения шаблона (без примеров речевых фрагментов). CLU может обобщать с помощью моделей с отслеживанием состояния. Вы можете указать несколько речевых фрагментов, которые соответствуют определенному шаблону намерения в CLU. Во многих случаях CLU классифицирует эти различные шаблоны в качестве верхнего намерения без необходимости высказываний шаблона шаблона. На этом шаге упрощено требование сформулировать эти шаблоны, которые были ограничены в LUIS, и обеспечивают более эффективную классификацию намерений.
Функции списка фраз: возможность связать функции в основном возникла, чтобы помочь классификации намерений путем выделения ключевых элементов и функций для использования. Этот шаг больше не требуется, так как глубокие модели, используемые в CLU, уже обладают способностью определять элементы, присущие языку. В свою очередь удаление этих функций не влияет на способность классификации модели.
Структурированные сущности: возможность определения структурированных сущностей была в основном для включения многоуровневого анализа речевых фрагментов. С различными вариантами подсущностей, LUIS требовалось, чтобы все различные сочетания сущностей были определены и представлены модели в качестве примеров. В CLU эти структурированные сущности больше не поддерживаются, так как перекрывающиеся компоненты, полученные методом обучения, не поддерживаются. Существует несколько возможных подходов к обработке этих структурированных извлечений:
- Неоднозначные извлечения: в большинстве случаев обнаружение конечных сущностей достаточно, чтобы понять необходимые элементы в полном диапазоне. Например, структурированная сущность, например Trip , которая полностью охватывает источник и место назначения (Лондон в Нью-йорк или Дом для работы) можно определить с отдельными диапазонами, прогнозируемыми для источника и назначения. Их наличие в виде отдельных прогнозов сообщит вам о сущности Trip.
- Неоднозначные извлечения происходят, когда границы разных подентий не ясны. Чтобы проиллюстрировать, рассмотрим пример "Я хочу заказать пиццу пепперони и дополнительный сыр вегетарианской пиццы". В то время как различные типы пиццы и дополнения можно извлечь, извлечение их без контекста будет иметь степень неоднозначности, где добавляется дополнительный сыр. В этом случае степень диапазона основывается на контексте и требуется машинное обучение для определения. Для неоднозначных извлечений можно использовать один из следующих подходов:
- Объедините подсущности в различные компоненты одной сущности.
Пример:
Реализация LUIS:
- Заказ пиццы (сущность)
- Размер (подсущность)
- Количество (подсущность)
Реализация CLU:
- Заказ пиццы (сущность)
- Размер (компонент сущности списка: малый, средний, большой)
- Количество (предварительно созданный компонент сущности: число)
В CLU вы выделите весь диапазон для заказа пиццы, включая размер и количество, что вернет заказ пиццы с ключом для размера и числовым значением для количества в одном объекте сущности.
- Для более сложных проблем, в которых сущности содержат несколько уровней глубины, можно создать проект для каждого уровня глубины в структуре сущностей. Этот процесс дает возможность:
- Передайте высказывание в каждый проект.
- Объедините анализы каждого проекта на этапе, следующем за CLU.
Подробный пример этой концепции можно найти в образцах проектов для пиццы, доступных на сайте GitHub.
Как я могу управлять версиями в CLU?
CLU сохраняет ресурсы данных, используемые для обучения модели. Вы можете экспортировать ресурсы модели или загрузить их обратно в проект в любой момент. Модели действуют как разные версии вашего проекта.
Вы можете экспортировать проекты CLU с помощью Language Studio или программно и хранить различные версии ресурсов локально.
Почему классификация CLU отличается от LUIS? Как работает классификация None?
CLU представляет другой подход к обучению моделей с использованием нескольких классификаций в отличие от двоичной классификации. В результате интерпретация показателей отличается, а также отличается между вариантами обучения. Хотя вы, скорее всего, добьетесь лучших результатов, необходимо внимательно следить за разницей в оценках и установить новое пороговое значение для принятия предсказаний намерений. Вы можете легко добавить порог оценки достоверности для намерения None в параметрах проекта. Это возвращает None в качестве топ-намерения, если топ-намерение не превысило пороговое значение оценки достоверности.
Требуется ли больше данных для моделей CLU, чем LUIS?
Новые модели CLU имеют лучшее семантическое представление о языке, чем в LUIS, и, в свою очередь, помогают сделать модели обобщенными с существенным сокращением данных. Вы не должны стремиться уменьшить объем данных, которые у вас есть. Однако вы можете ожидать более высокую производительность и большую устойчивость к вариациям и синонимам в CLU по сравнению с LUIS.
Если я не переносю мои приложения LUIS, удаляются ли они?
Текущие приложения LUIS доступны до 31 марта 2025 г. После этой даты вы не можете использовать эти приложения, конечные точки службы не работают, а приложения окончательно удаляются. Начиная с 31 октября 2025 г. у вас больше нет доступа к порталу LUIS в Интернете.
Поддерживаются ли .LU-файлы в CLU?
CLU поддерживает только формат JSON. Вы можете импортировать свой. LU-файлы в LUIS и экспортируют их в формате JSON или выполните предыдущие действия по миграции приложения.
Каковы ограничения службы CLU?
Дополнительные сведения см. в разделе об ограничениях служб.
Необходимо ли рефакторинг кода при переносе приложений из LUIS в CLU?
Объекты API приложений CLU отличаются от LUIS, поэтому требуется рефакторинг кода.
Если вы используете программные и исполняющие LUIS API, их можно заменить эквивалентными API.
API авторинга CLU: вместо специфичных CRUD API LUIS для отдельных действий, таких как добавление высказывания, удаление сущности и переименование намерения, CLU предоставляет API импорта. Этот API заменяет полное содержимое проекта с тем же именем. Если служба использовала программные API LUIS для предоставления платформы для других клиентов, необходимо рассмотреть эту новую парадигму проектирования. Доступны все остальные API, такие как перечисление проектов, обучение, развертывание и удаление . API для таких действий, как импорт и развертывание , являются асинхронными операциями, а не синхронными, как и в LUIS.
API среды выполнения CLU: новый запрос и ответ API включает в себя множество таких параметров, как запрос, прогнозирование, первое намерение, намерения, сущности и их значения. Объект ответа CLU предлагает более простой подход. Прогнозы сущностей предоставляются так же, как они находятся в тексте высказываний, и вся дополнительная информация, такая как разрешение или ключи списка, предоставляется в дополнительных параметрах, называемых extraInformation и resolution.
Пакет SDK среды выполнения .NET или Python CLU можно использовать для замены пакета SDK среды выполнения LUIS. В настоящее время для CLU нет пакета SDK для разработки.
Как время обучения отличается в CLU? Чем стандартное обучение отличается от углубленного обучения?
CLU предлагает стандартную подготовку, которая обучает и учится на английском языке и сравнима с учебным временем LUIS. Он также предлагает расширенное обучение, которое занимает значительно больше времени, так как оно расширяет обучение на всех других поддерживаемых языках. API для обучения по-прежнему является асинхронным процессом, и вам нужно оценить изменения в процессе DevOps, который вы используете для своей разработки.
Как интерфейс изменился в CLU по сравнению с LUIS? Как отличается жизненный цикл разработки?
В LUIS осуществляется создание, обучение, тестирование и публикация, тогда как в CLU осуществляется создание, обучение, оценка, развертывание и тестирование.
- Сборка: В CLU можно сначала определить намерения, сущности и речевые фрагменты, прежде чем приступать к обучению. CLU также предоставляет возможность указывать тестовые данные при создании приложения для оценки моделей. Оценка показывает, как хорошо ваша модель работает на тестовых данных, и предоставляет вам метрики точности, полноты и F1.
- Обучение: При каждом обучении вы создаете модель с заданным именем. Вы можете перезаписать уже обученную модель. Можно указать стандартную или расширенную подготовку. Затем определите, хотите ли вы использовать тестовые данные для оценки или процент данных обучения, которые будут оставлены из обучения и использоваться в качестве тестовых данных. После завершения обучения вы можете оценить, насколько хорошо ваша модель справляется с задачами во внешней среде.
- Развертывание: после завершения обучения и когда у вас есть модель с именем, она может быть развернута для создания прогнозов. Развертывание также называется и имеет назначенную модель. Для одной модели может быть несколько развертываний. Развертывание можно перезаписать с другой моделью или заменить модели другими развертываниями в проекте.
- Тест. После завершения развертывания его можно использовать для прогнозирования через конечную точку развертывания. Вы также можете протестировать его на странице тестового развертывания в студии.
Этот процесс отличается от LUIS, где идентификатор приложения был привязан ко всему, и вы развернули определённую версию приложения в тестовых или продуктивных слотах.
Это влияет на используемые процессы DevOps.
Поддерживает ли CLU поддержку контейнеров?
Нет, вы не можете экспортировать CLU в контейнеры.
Как имена приложений LUIS в CLU после миграции?
Все специальные символы в имени приложения LUIS удаляются. Если длина очищенного имени превышает 50 символов, удаляются дополнительные символы. Если имя после удаления специальных символов пусто (например, если имя приложения LUIS было @@), новое имя без названия. Если у вас уже есть проект распознавания речи с тем же именем, перенесенное приложение LUIS добавляется _1 для первого дубликата и увеличивается на один для каждого последующего дубликата. Если длина нового имени составляет 50 символов и ее необходимо переименовать, удаляются последние один или два символа.
Миграция с LUIS git p
Если у вас есть вопросы, которые остались без ответа в этой статье, вы можете оставить их в нашей тематической ветке Microsoft Q&A.
Дальнейшие шаги
- Краткое руководство: создание проекта CLU
- Поддержка языка CLU
- Вопросы и ответы по CLU