Прежде чем приступить к использованию пользовательской классификации текста, вам потребуется ресурс языка искусственного интеллекта Azure. Рекомендуем создать языковой ресурс и подключить к нему учетную запись хранения на портале Azure. Создание ресурса на портале Azure позволяет одновременно создать учетную запись хранения Azure, где будут предварительно настроены все необходимые разрешения. Кроме того, далее в статье будет описано, как использовать существующий ресурс и настроить его для работы с пользовательской классификацией текстов.
Вам также потребуется учетная запись хранения Azure. В нее будут отправляться документы .txt, которые будут использоваться для обучения модели умению классифицировать тексты.
Примечание.
Чтобы создать ресурс Языка, требуется роль владельца, назначенная группе ресурсов.
Если вы подключите ранее существующую учетную запись хранения, ей должна быть назначена роль владельца.
Создание языкового ресурса и подключение учетной записи хранения
Примечание.
Не следует перемещать учетную запись хранения в другую группу ресурсов или подписку после того, как учетная запись хранения была связана с языковым ресурсом.
Перейдите к портал Azure, чтобы создать новый ресурс языка искусственного интеллекта Azure.
В появившемся окне выберите настраиваемую классификацию текста и распознавание именованных сущностей из пользовательских функций. Нажмите кнопку "Продолжить", чтобы создать ресурс в нижней части экрана.
Создайте ресурс службы "Язык" с приведенными ниже сведениями.
Имя.
Обязательное значение
Отток подписок
Вашу подписку Azure.
Группа ресурсов
Группа ресурсов, которая будет содержать ваш ресурс. Можно использовать существующую группу или создать новую.
Если появится сообщение Ваша учетная запись входа не является владельцем выбранной группы ресурсов учетной записи хранения, значит, ваша учетная запись должна иметь роль владельца, назначенную группе ресурсов, — только тогда вы сможете создать ресурс службы "Язык". Обратитесь за помощью к владельцу подписки Azure.
Вы можете определить владельца подписки Azure, выполнив поиск в группе ресурсов и следуя ссылке на связанную подписку. Затем:
Выберите вкладку контроль доступа (IAM)
Выбор назначений ролей
Фильтрация по роли:владелец.
В разделе "Настраиваемая классификация текста" и "Распознавание именованных сущностей" выберите существующую учетную запись хранения или выберите новую учетную запись хранения. Обратите внимание, что значения для учетной записи хранения предназначены для того, чтобы помочь вам начать работу, и не обязательно должны использоваться в рабочих средах. Чтобы избежать задержек при создании проекта, подключитесь к учетным записям хранения в том же регионе, что и ресурс Языка.
Значение для учетной записи хранения
Рекомендуемое значение
Storage account name
Любое имя
Storage account type
Standard LRS
Убедитесь, что флажок Уведомление об ответственном применении ИИ установлен. В нижней части страницы выберите Review + create (Проверить и создать).
Создание ресурса Языка из Студии Языка
При первом входе вы увидите окно Студия Языка, с помощью которого можно выбрать или создать ресурс Языка. Чтобы создать ресурс, можно также щелкнуть значок параметров в правом верхнем углу и выбрать Ресурсы, а затем — Создать новый ресурс.
Создайте ресурс службы "Язык" с приведенными ниже сведениями.
Обязательно включите управляемое удостоверение при создании ресурса языка.
Чтение и подтверждение уведомления об ответственном ИИ
Чтобы использовать пользовательскую классификацию текста, необходимо подключить ресурс к учетной записи хранения. Если у вас еще нет учетной записи хранения Azure, вы можете создать ее. Выполните следующие действия, чтобы создать свой первый проект и подключить учетную запись хранения.
Войдите в Студию Языка. Появится окно, где можно выбрать свою подписку и ресурс служб "Язык". Выберите свой языковой ресурс.
В разделе Классификация текста в Студии Языка выберите Пользовательская классификация текстов.
Щелкните Create new project (Создать новый проект) в меню в верхней части страницы проектов. Создав проект, вы сможете добавлять метки к данным, а также обучать, оценивать, улучшать и развертывать модели.
После нажатия кнопки Создать новый проект появится окно, где можно подключить учетную запись хранения. Если вы уже подключили учетную запись хранения, отобразится подключенная учетная запись хранения. Если нет, выберите учетную запись хранения в раскрывающемся списке и выберите " Подключить учетную запись хранения".Это позволит задать необходимые роли для учетной записи хранения. На этом шаге может появиться ошибка, если вы не назначены в качестве владельца учетной записи хранения.
Примечание.
Этот шаг нужно выполнить только один раз для каждого нового используемого ресурса Языка.
Этот процесс необратим. Если учетная запись хранения будет подключена к ресурсу службы "Язык", ее нельзя будет отключить позже.
Вы можете подключить ресурс службы "Язык" только к одной учетной записи хранения.
Выберите тип проекта. Вы можете создать проект Классификация по нескольким меткам, в котором каждый документ может принадлежать одному или нескольким классам, или проект Классификация по одной метке, в котором каждый документ может принадлежать только одному классу. Выбранный тип нельзя изменить позже. Дополнительные сведения о типах проектов.
Введите сведения о проекте, включая имя, описание и язык документов в проекте. Если вы используете пример набора данных, выберите английский язык. Вы не сможете изменить имя проекта на более поздних этапах. Выберите Далее.
Совет
Набор данных не обязательно должен быть полностью на одном языке. У вас может быть несколько документов с разными поддерживаемыми языками. Если набор данных содержит документы с разными языками или если во время выполнения предполагается использовать тексты на разных языках, выберите параметр Включить многоязычный набор данных при вводе основных сведений о проекте. Этот параметр можно включить позже на странице Параметры проекта.
Выберите контейнер, в который отправили набор данных.
Примечание.
Если вы уже наклеили данные, убедитесь, что он соответствует поддерживаемму формату и выберите "Да", мои документы уже помечены, и я отформатировал файл меток JSON и выберите файл меток в раскрывающемся меню ниже.
Если вы используете один из примеров наборов данных, используйте включенный webOfScience_labelsFile или movieLabels json-файл. Затем выберите Далее.
Проверьте введенные данные и щелкните Create Project (Создать проект).
Вы можете создать новый ресурс и учетную запись хранения, используя следующие файлы шаблонов и параметров CLI, которые размещаются на GitHub.
Измените следующие значения в файле параметров:
Наименование параметра
Описание значения
name
Имя вашего языкового ресурса
location
Регион, в котором размещается ресурс. См. дополнительные сведения о поддержке регионов.
sku
Ценовая категория ресурса. См. дополнительные сведения об ограничениях службы.
storageResourceName
Имя учетной записи хранения
storageLocation
Регион, в котором размещена учетная запись хранения.
Процесс подключения учетной записи хранения к ресурсу Языка является необратимым — ее нельзя будет отключить позже.
Вы можете подключить ресурс Языка только к одной учетной записи хранения.
Использование уже существующего ресурса службы "Язык"
Требование
Description
Регионы
Убедитесь, что существующий ресурс подготовлен в одном из поддерживаемых регионов. Если у вас нет ресурса, необходимо создать новый ресурс в поддерживаемом регионе.
В меню слева в разделе Управление ресурсами выберите Компоненты.
Включите функцию Пользовательская классификация текстов и пользовательское распознавание именованных сущностей.
Подключение к учетной записи хранения
Нажмите кнопку Применить.
Внимание
Убедитесь, что ресурс Языка имеет роль участника данных BLOB-объектов хранилища, назначенную подключаемой учетной записи хранения.
Настройка ролей для ресурса языка ИИ Azure и учетной записи хранения
Выполните следующие действия, чтобы задать необходимые роли для ресурса Языка и учетной записи хранения.
Роли для ресурса языка ИИ Azure
Перейдите к своей учетной записи хранения или ресурсу Языка на портале Azure.
В расположенном слева меню навигации щелкните Управление доступом (IAM).
Щелкните Добавить, чтобы добавить назначения ролей, и выберите соответствующую роль для учетной записи.
В ресурсе Языка вам должна быть назначена роль владельца или участника.
В поле Назначить доступ к выберите Пользователь, группа или субъект-служба.
Щелкните Выбрать члены.
Выберите свое имя пользователя. В поле Выбор можно найти имена пользователей. Повторите это действие для всех ролей.
Повторите эти действия для всех учетных записей пользователей, которым требуется доступ к этому ресурсу.
Роли для учетной записи хранения
Войдите на страницу своей учетной записи хранения на портале Azure.
В расположенном слева меню навигации щелкните Управление доступом (IAM).
Щелкните Добавить, чтобы добавить назначения ролей и выберите роль Участник для данных BLOB-объектов хранилища для учетной записи хранения.
В поле Назначить доступ к выберите Управляемое удостоверение.
Щелкните Выбрать члены.
Укажите свою подписку и выберите Язык в качестве управляемого удостоверения. В поле Выбор можно найти имена пользователей.
Внимание
Если у вас есть виртуальная сеть или частная конечная точка, обязательно выберите разрешить службам Azure в списке доверенных служб доступ к этой учетной записи хранения в портал Azure.
Включение CORS для учетной записи хранения
Обязательно разрешите методы (GET, PUT, DELETE) при включении общего доступа к ресурсам из разных источников (CORS).
Задайте для поля разрешенных источников значение https://language.cognitive.azure.com. Разрешите все заголовки, добавив * в допустимые значения заголовков, и задайте максимальный возраст 500.
Создание пользовательского проекта классификации текстов
После настройки контейнера ресурсов и хранилища создайте новый проект пользовательской классификации текстов. Проект — это рабочая область для создания настраиваемых моделей ИИ на основе данных. Получить доступ к вашему проекту можете только вы, а также другие пользователи, у которых есть доступ к используемому ресурсу Azure. Если у вас есть помеченные данные, вы можете импортировать их, чтобы приступить к работе.
Войдите в Студию Языка. Появится окно, где можно выбрать свою подписку и ресурс служб "Язык". Выберите свой языковой ресурс.
В разделе Классификация текста в Студии Языка выберите Пользовательская классификация текстов.
Щелкните Create new project (Создать новый проект) в меню в верхней части страницы проектов. Создав проект, вы сможете добавлять метки к данным, а также обучать, оценивать, улучшать и развертывать модели.
После нажатия кнопки Создать новый проект появится окно, где можно подключить учетную запись хранения. Если вы уже подключили учетную запись хранения, отобразится подключенная учетная запись хранения. Если нет, выберите учетную запись хранения в раскрывающемся списке и выберите " Подключить учетную запись хранения".Это позволит задать необходимые роли для учетной записи хранения. На этом шаге может появиться ошибка, если вы не назначены в качестве владельца учетной записи хранения.
Примечание.
Этот шаг нужно выполнить только один раз для каждого нового используемого ресурса Языка.
Этот процесс необратим. Если учетная запись хранения будет подключена к ресурсу службы "Язык", ее нельзя будет отключить позже.
Вы можете подключить ресурс службы "Язык" только к одной учетной записи хранения.
Выберите тип проекта. Вы можете создать проект Классификация по нескольким меткам, в котором каждый документ может принадлежать одному или нескольким классам, или проект Классификация по одной метке, в котором каждый документ может принадлежать только одному классу. Выбранный тип нельзя изменить позже. Дополнительные сведения о типах проектов.
Введите сведения о проекте, включая имя, описание и язык документов в проекте. Если вы используете пример набора данных, выберите английский язык. Вы не сможете изменить имя проекта на более поздних этапах. Выберите Далее.
Совет
Набор данных не обязательно должен быть полностью на одном языке. У вас может быть несколько документов с разными поддерживаемыми языками. Если набор данных содержит документы с разными языками или если во время выполнения предполагается использовать тексты на разных языках, выберите параметр Включить многоязычный набор данных при вводе основных сведений о проекте. Этот параметр можно включить позже на странице Параметры проекта.
Выберите контейнер, в который отправили набор данных.
Примечание.
Если вы уже наклеили данные, убедитесь, что он соответствует поддерживаемму формату и выберите "Да", мои документы уже помечены, и я отформатировал файл меток JSON и выберите файл меток в раскрывающемся меню ниже.
Если вы используете один из примеров наборов данных, используйте включенный webOfScience_labelsFile или movieLabels json-файл. Затем выберите Далее.
Проверьте введенные данные и щелкните Create Project (Создать проект).
Чтобы приступить к созданию пользовательской модели классификации текста, необходимо создать проект. Создав проект, вы сможете добавлять метки к данным, а также обучать, оценивать, улучшать и развертывать модели.
Примечание.
Во всех операциях в имени проекта учитывается регистр.
Создайте запрос PATCH, используя следующий URL-адрес, заголовки и текст JSON, чтобы создать проект.
Запросить URL-адрес
Для создания проекта используйте следующий URL-адрес. Замените значения заполнителей ниже собственными значениями.
Версия вызываемого API. Указанное здесь значение определяет последнюю выпущенную версию модели. Дополнительные сведения о других доступных версиях API см. в статье Жизненный цикл модели.
2022-05-01
Заголовки
Используйте следующий заголовок для проверки подлинности запроса.
Ключ
Значение
Ocp-Apim-Subscription-Key
Ключ к ресурсу. Используется для проверки подлинности запросов API.
Текст
Используйте следующий код JSON в запросе. Замените значения заполнителей ниже собственными значениями.
Строка, указывающая код языка для документов, используемых в проекте. Если проект является многоязычным, выберите код языка большинства документов. Дополнительные сведения о кодах поддерживаемых языков см. здесь.
en-us
projectKind
customMultiLabelClassification
Тип проекта.
customMultiLabelClassification
multilingual
true
Логическое значение, которое позволяет иметь документы на нескольких языках в наборе данных. После развертывания модели вы можете отправить к ней запрос на любом поддерживаемом языке (не обязательно включенном в обучающие документы). См. дополнительные сведения о поддержке нескольких языков.
true
storageInputContainerName
{CONTAINER-NAME}
Имя контейнера хранилища Azure, в который вы отправили документы.
Строка, указывающая код языка для документов, используемых в проекте. Если проект является многоязычным, выберите код языка большинства документов. Дополнительные сведения о кодах поддерживаемых языков см. здесь.
en-us
projectKind
customSingleLabelClassification
Тип проекта.
customSingleLabelClassification
multilingual
true
Логическое значение, которое позволяет иметь документы на нескольких языках в наборе данных. После развертывания модели вы можете отправить к ней запрос на любом поддерживаемом языке (не обязательно включенном в обучающие документы). См. дополнительные сведения о поддержке нескольких языков.
true
storageInputContainerName
{CONTAINER-NAME}
Имя контейнера хранилища Azure, в который вы отправили документы.
myContainer
Этот запрос вернет ответ 201, который означает, что проект создан.
Этот запрос вернет ошибку, если
выбранный ресурс не имеет необходимых разрешений для учетной записи хранения.
Импорт проекта пользовательской классификации текстов
Если данные уже помечены, их можно использовать для начала работы со службой. Убедитесь, что помеченные данные соответствуют допустимым форматам данных.
Войдите в Студию Языка. Появится окно, где можно выбрать свою подписку и ресурс служб "Язык". Выберите свой языковой ресурс.
В разделе Классификация текста в Студии Языка выберите Пользовательская классификация текстов.
Щелкните Create new project (Создать новый проект) в меню в верхней части страницы проектов. Создав проект, вы сможете добавлять метки к данным, а также обучать, оценивать, улучшать и развертывать модели.
Когда вы выберете Создать проект, появится экран, где вы сможете подключить учетную запись хранения. Если вы не можете найти свою учетную запись хранения, убедитесь, что вы создали ресурс, выполнив рекомендуемые действия. Если вы уже подключили учетную запись хранения к ресурсу Языка, вы увидите, что она подключена.
Примечание.
Этот шаг нужно выполнить только один раз для каждого нового используемого ресурса Языка.
Этот процесс необратим. Если учетная запись хранения будет подключена к ресурсу службы "Язык", ее нельзя будет отключить позже.
Вы можете подключить ресурс службы "Язык" только к одной учетной записи хранения.
Выберите тип проекта. Вы можете создать проект Классификация по нескольким меткам, в котором каждый документ может принадлежать одному или нескольким классам, или проект Классификация по одной метке, в котором каждый документ может принадлежать только одному классу. Выбранный тип нельзя изменить позже.
Введите сведения о проекте, включая имя, описание и язык документов в проекте. Вы не сможете изменить имя проекта на более поздних этапах. Выберите Далее.
Совет
Набор данных не обязательно должен быть полностью на одном языке. У вас может быть несколько документов с разными поддерживаемыми языками. Если набор данных содержит документы с разными языками или если во время выполнения предполагается использовать тексты на разных языках, выберите параметр Включить многоязычный набор данных при вводе основных сведений о проекте. Этот параметр можно включить позже на странице Параметры проекта.
Выберите контейнер, в который отправили набор данных.
Нажмите кнопку "Да", мои документы уже помечены, и я отформатировал файл меток JSON и выберите файл меток в раскрывающемся меню ниже, чтобы импортировать файл меток JSON. Убедитесь, что он соответствует поддерживаемому формату.
Выберите Далее.
Проверьте введенные данные и щелкните Create Project (Создать проект).
Отправьте запрос POST, используя следующий URL-адрес, заголовки и текст JSON, чтобы импортировать файл меток. Убедитесь, что файл меток соответствует допустимому формату.
Если проект с таким именем уже существует, данные этого проекта заменяются.
Версия вызываемого API. Используемая здесь версия должна совпадать с версией API в URL-адресе. Узнайте больше о других доступных версиях API.
2022-05-01
projectName
{PROJECT-NAME}
Имя проекта. Это значение учитывает регистр.
myProject
projectKind
customMultiLabelClassification
Тип проекта.
customMultiLabelClassification
язык
{LANGUAGE-CODE}
Строка, указывающая код языка для документов, используемых в проекте. Если проект является многоязычным, выберите код языка большинства документов. См. дополнительные сведения о поддержке нескольких языков.
en-us
multilingual
true
Логическое значение, которое позволяет иметь документы на нескольких языках в наборе данных. После развертывания модели вы можете отправить к ней запрос на любом поддерживаемом языке (не обязательно включенном в обучающие документы). См. дополнительные сведения о поддержке нескольких языков.
true
storageInputContainerName
{CONTAINER-NAME}
Имя контейнера хранилища Azure, в который вы отправили документы.
myContainer
Классы
[]
Массив, который содержит все классы, имеющиеся в проекте. Это классы, по которым будут классифицироваться документы.
[]
документов
[]
Массив, содержащий все документы в проекте и классы, помеченные для этого документа.
[]
расположение
{DOCUMENT-NAME}
Расположение документов в контейнере хранилища. Так как все документы находятся в корне контейнера, это должно быть имя документа.
doc1.txt
набор данных
{DATASET}
Тестовый набор, в который будет перемещен этот документ при разделении перед обучением. Дополнительные сведения о разделении данных см. в разделе Обучение модели. Возможные значения для этого поля: Train и Test.
Версия вызываемого API. Используемая здесь версия должна совпадать с версией API в URL-адресе.
2022-05-01
projectName
{PROJECT-NAME}
Имя проекта. Это значение учитывает регистр.
myProject
projectKind
customSingleLabelClassification
Тип проекта.
customSingleLabelClassification
язык
{LANGUAGE-CODE}
Строка, указывающая код языка для документов, используемых в проекте. Если проект является многоязычным, выберите код языка большинства документов. Дополнительные сведения о кодах поддерживаемых языков см. здесь.
en-us
multilingual
true
Логическое значение, которое позволяет иметь документы на нескольких языках в наборе данных. После развертывания модели вы можете отправить к ней запрос на любом поддерживаемом языке (не обязательно включенном в обучающие документы). См. дополнительные сведения о поддержке нескольких языков.
true
storageInputContainerName
{CONTAINER-NAME}
Имя контейнера хранилища Azure, в который вы отправили документы.
myContainer
Классы
[]
Массив, который содержит все классы, имеющиеся в проекте. Это классы, по которым будут классифицироваться документы.
[]
документов
[]
Массив, содержащий все документы в проекте и класс, к которому относится этот документ.
[]
расположение
{DOCUMENT-NAME}
Расположение документов в контейнере хранилища. Так как все документы находятся в корне контейнера, это должно быть имя документа.
doc1.txt
набор данных
{DATASET}
Тестовый набор, в который будет перемещен этот документ при разделении перед обучением. Дополнительные сведения о разделении данных см. в разделе Обучение модели. Возможные значения для этого поля: Train и Test.
Train
После отправки запроса API вы получите ответ 202, указывающий, что задание было отправлено правильно. Извлеките значение operation-location из заголовков ответа. Оно будет иметь следующий формат:
{JOB-ID} используется для идентификации запроса, так как эта операция является асинхронной. Этот URL-адрес будет использоваться для получения состояния задания импорта.
На этой странице можно изменить описание проекта и включить или отключить многоязычный набор данных.
Вы также можете просмотреть подключенную учетную запись хранения и контейнер для ресурса службы "Язык".
Кроме того, на этой странице вы можете получить ключ основного ресурса.
Чтобы получить сведения о проекте пользовательской классификации данных, отправьте запрос GET, используя следующие URL-адрес и заголовки. Замените значения заполнителей собственными значениями.
Возможные значения — customSingleLabelClassification или customMultiLabelClassification.
storageInputContainerName
{CONTAINER-NAME}
Имя контейнера хранилища Azure, в который вы отправили документы.
myContainer
projectName
{PROJECT-NAME}
Имя проекта. Это значение учитывает регистр.
myProject
multilingual
Логическое значение, которое позволяет иметь документы на нескольких языках в наборе данных. При развертывании модели можно запрашивать модель на любом поддерживаемом языке (не обязательно включаемом в обучающие документы). См. дополнительные сведения о поддержке языков.
true
language
{LANGUAGE-CODE}
Строка, указывающая код языка для документов, используемых в проекте. Если проект является многоязычным, выберите код языка большинства документов. Дополнительные сведения о кодах поддерживаемых языков см. здесь.
en-us
После отправки запроса API вы получите ответ 200, указывающий на успешное выполнение, и текст ответа в формате JSON с подробными сведениями о проекте.
Если проект вам больше не нужен, вы можете удалить его с помощью Студии Языка. Выберите настраиваемую классификацию текста в верхней части и выберите проект, который вы хотите удалить. Выберите "Удалить" из верхнего меню, чтобы удалить проект.
Если проект больше не нужен, его можно удалить с помощью следующего запроса DELETE. Замените значения заполнителей собственными значениями.
Версия вызываемого API. Указанное здесь значение определяет последнюю выпущенную версию модели. Узнайте больше о других доступных версиях API.
2022-05-01
Заголовки
Используйте следующий заголовок для проверки подлинности запроса.
Ключ
Стоимость
Ocp-Apim-Subscription-Key
Ключ к ресурсу. Используется для проверки подлинности запросов API.
После отправки запроса API вы получите ответ 202, означающий успешное выполнение (развертывание удалено). Ответ будет содержать заголовок Operation-Location, используемый для проверки состояния задания.
Следующие шаги
Вы должны иметь представление о схеме проекта, которая будет использоваться для добавления меток к данным.
После создания проекта можно начать добавлять теги к данным, чтобы сообщить модели классификации текстов о способе интерпретации текста. Кроме того, теги используются для обучения и оценки.