Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Utilisez cet article afin de découvrir comment configurer les conditions requises pour commencer par la classification de texte personnalisée et créer un projet.
Prérequis
Avant de commencer à utiliser la classification de texte personnalisée, vous avez besoin des éléments suivants :
- Un abonnement Azure : créez-en un gratuitement.
Créer une ressource de langue
Avant de commencer à utiliser la classification de texte personnalisée, vous avez besoin d’une ressource Azure Language in Foundry Tools. Nous vous recommandons de créer votre ressource de langue et de connecter un compte de stockage à celui-ci dans le portail Azure. La création d’une ressource dans le portail Azure vous permet de créer un compte de stockage Azure en même temps, avec toutes les autorisations requises préconfigurées. Vous pouvez également lire plus en détail dans l’article pour découvrir comment utiliser une ressource préexistante et la configurer pour fonctionner avec la classification de texte personnalisée.
Vous avez également besoin d’un compte de stockage Azure où charger vos .txt documents utilisés pour entraîner un modèle pour classifier du texte.
Remarque
- Vous devez avoir un rôle de propriétaire affecté sur le groupe de ressources pour créer une ressource de langue.
- Si vous connectez un compte de stockage préexistant, vous devez lui attribuer un rôle de propriétaire .
Créer une ressource de langue et connecter un compte de stockage
Remarque
Vous ne devez pas déplacer le compte de stockage vers un autre groupe de ressources ou un autre abonnement une fois qu’il est lié à la ressource De langue Azure.
Créer une ressource à partir du portail Azure
Accédez au portail Azure pour créer une nouvelle ressource Azure Language in Foundry Tools.
Dans la fenêtre qui s’affiche, sélectionnez Classification de texte personnalisée et reconnaissance d’entités nommées personnalisées dans les fonctionnalités personnalisées. Sélectionnez Continuer pour créer votre ressource en bas de l’écran.
Créez une ressource de langue avec les détails suivants.
Nom Valeur requise Abonnement Votre abonnement Azure. groupe de ressources Un groupe de ressources comprenant votre ressource. Vous pouvez utiliser un groupe de resources existant ou en créer un. Région Une des régions prises en charge. Par exemple, « USA Ouest 2 ». Nom Nom de votre ressource. Niveau tarifaire Un des niveaux tarifaires pris en charge. Vous pouvez utiliser le niveau tarifaire gratuit (F0) pour tester le service. Si vous recevez un message indiquant « votre compte de connexion n’est pas propriétaire du groupe de ressources du compte de stockage sélectionné », votre compte doit avoir un rôle de propriétaire affecté sur le groupe de ressources avant de pouvoir créer une ressource Language. Pour obtenir de l’aide, contactez le propriétaire de votre abonnement Azure.
Vous pouvez déterminer le propriétaire de votre abonnement Azure en recherchant votre groupe de ressources et en suivant le lien vers l’abonnement associé. Ensuite :
- Sélectionnez l’onglet Contrôle d’accès (IAM).
- Sélectionnez Attributions de rôle.
- Filtrez par Rôle : Propriétaire.
Dans la section Classification de texte personnalisée et reconnaissance d’entités nommées personnalisées, sélectionnez un compte de stockage existant ou Nouveau compte de stockage. Notez que ces valeurs vous aident dans le cadre d’un démarrage rapide. Il ne s’agit pas des valeurs du compte de stockage à utiliser dans les environnements de production. Pour éviter la latence lors de la création de votre projet, connectez-vous à des comptes de stockage dans la même région que votre ressource de langue.
Valeur du compte de stockage Valeur recommandée Nom du compte de stockage Nom quelconque Type de compte de stockage LRS standard Vérifiez que l’Avis d’IA responsable est coché. Au bas de la page, sélectionnez Examiner et créer.
Remarque
- Le processus de connexion d’un compte de stockage à votre ressource de langage est irréversible. Il ne peut pas être déconnecté ultérieurement.
- Vous ne pouvez connecter votre ressource de langue qu’à un seul compte de stockage.
Utilisation d’une ressource language préexistante
| Condition requise | Description |
|---|---|
| Régions | Vérifiez que votre ressource existante est provisionnée dans une des régions prises en charge. Si vous n’avez pas de ressource, vous devez en créer une dans une région prise en charge. |
| Niveau tarifaire | Le niveau tarifaire applicable à votre ressource. |
| Identité managée | Vérifiez que le paramètre d’identité managée par la ressource est activé. Si ce n’est pas le cas, lisez la section suivante. |
Pour utiliser la classification de texte personnalisée, vous devez créer un compte Stockage Azure si vous n’en avez pas déjà un.
Activer la gestion des identités pour votre ressource
Votre ressource de langue doit disposer de la gestion des identités. Pour l’activer à l’aide du portail Azure :
- Accéder à votre ressource de langue
- Dans le menu de gauche, sous la section Gestion des ressources, sélectionnez Identité
- Sous l’onglet Attribuée par le système, veillez à définir État sur Activé
Activer la fonctionnalité de classification de texte personnalisée
Veillez à activer la fonctionnalité Classification de texte personnalisée / Reconnaissance d’entité nommée personnalisée à partir du portail Azure.
- Accéder à votre ressource de langue dans le portail Azure
- Dans le menu de gauche, dans la sectionGestion des ressources, sélectionnez Fonctionnalités
- Activer la fonctionnalité Classification personnalisée des textes / la reconnaissance personnalisée des entités nommées
- Se connecter à votre compte de stockage
- Sélectionnez Appliquer
Important
- Assurez-vous que votre ressource de langage possède le rôle de contributeur aux données blob de stockage attribué au compte de stockage auquel vous vous connectez.
Définir des rôles pour votre ressource et votre compte de stockage Azure Language
Procédez comme suit afin de définir les rôles requis pour votre ressource de langue et votre compte de stockage.
Rôles pour votre ressource Azure Language in Foundry Tools
Accédez à votre compte de stockage ou ressource de langue dans le portail Azure.
Sélectionnez Contrôle d’accès (IAM) dans le volet gauche.
Sélectionnez Ajouter pour Ajouter des attributions de rôles, puis choisissez le rôle approprié pour votre compte.
Le rôle de propriétaire ou de contributeur doit vous être attribué sur votre ressource de langue.
Dans le champ Attribuer l’accès à, sélectionnez Utilisateur, groupe ou principal du service
Choisir Sélectionner des membres
Sélectionnez votre nom d’utilisateur. Vous pouvez rechercher des noms d’utilisateur dans le champ Sélectionner. Répétez cette opération pour tous les rôles.
Répétez ces étapes pour tous les comptes d’utilisateur qui ont besoin d’accéder à cette ressource.
Rôles pour votre compte de stockage
- Accédez à la page de votre compte de stockage dans le portail Azure.
- Sélectionnez Contrôle d’accès (IAM) dans le volet gauche.
- Sélectionnez Ajouter pour ajouter des attributions de rôle, puis choisissez le rôle de contributeur aux données Blob du stockage sur le compte de stockage.
- Dans le champ Attribuer l’accès à, sélectionnez Identité managée.
- Choisir Sélectionner des membres
- Sélectionnez votre abonnement et Langue comme identité managée. Vous pouvez rechercher des noms d’utilisateur dans le champ Sélectionner.
Important
Si vous disposez d’un réseau virtuel ou d’un point de terminaison privé, veillez à sélectionner Autoriser les services Azure dans la liste des services approuvés à accéder à ce compte de stockage dans le portail Azure.
Activer CORS pour votre compte de stockage
Veillez à autoriser les méthodes (GET, PUT, DELETE) au moment d’autoriser le partage de ressources cross-origin (CORS).
Définissez le champ des origines autorisées sur https://language.cognitive.azure.com. Autorisez tous les en-têtes en ajoutant * aux valeurs d’en-tête autorisées et définissez l’âge maximal sur 500.
Créer un projet de classification de texte personnalisé (API REST)
Une fois votre ressource et votre conteneur de stockage configurés, créez un projet de classification de texte personnalisé. Un projet est une zone de travail qui vous permet de créer des modèles IA personnalisés en fonction de vos données. Votre projet est accessible uniquement par vous et d’autres personnes qui ont accès à la ressource Azure utilisée. Si vous avez étiqueté des données, vous pouvez l’importer pour commencer.
Pour commencer à créer un modèle de classification de texte personnalisée, vous devez créer un projet. La création d’un projet vous permet d’étiqueter des données, d’entraîner, d’évaluer, d’améliorer et de déployer vos modèles.
Remarque
Le nom du projet est sensible à la casse pour toutes les opérations.
Créez une requête PATCH en utilisant l’URL, les en-têtes et le corps JSON suivants pour créer votre projet.
URL de la demande
Utilisez l’URL suivante pour créer un projet. Remplacez les valeurs d’espace réservé par vos propres valeurs.
{Endpoint}/language/authoring/analyze-text/projects/{projectName}?api-version={API-VERSION}
| Espace réservé | Valeur | Exemple |
|---|---|---|
{ENDPOINT} |
Point de terminaison pour l’authentification de votre demande d’API. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
Nom de votre projet. Cette valeur respecte la casse. | myProject |
{API-VERSION} |
Version de l’API que vous appelez. La valeur référencée correspond à la dernière version publiée. Pour plus d’informations sur les autres versions d’API disponibles, consultez Cycle de vie du modèle. | 2022-05-01 |
headers
Utilisez l’en-tête suivant pour authentifier votre demande.
| Clé | Valeur |
|---|---|
Ocp-Apim-Subscription-Key |
Clé de votre ressource. Utilisée pour authentifier vos demandes d’API. |
body
Utilisez le code JSON suivant dans votre demande. Remplacez les valeurs d’espace réservé par vos propres valeurs.
{
"projectName": "{PROJECT-NAME}",
"language": "{LANGUAGE-CODE}",
"projectKind": "customMultiLabelClassification",
"description": "Project description",
"multilingual": "True",
"storageInputContainerName": "{CONTAINER-NAME}"
}
| Clé | Espace réservé | Valeur | Exemple |
|---|---|---|---|
| projectName | {PROJECT-NAME} |
Nom de votre projet. Cette valeur respecte la casse. | myProject |
| langage | {LANGUAGE-CODE} |
Chaîne spécifiant le code de langue des documents utilisés dans votre projet. Si votre projet est un projet multilingue, choisissez le code de langue de la plupart des documents. Consultez Prise en charge de la langue pour en savoir plus sur la prise en charge multilingue. | en-us |
| projectKind | customMultiLabelClassification |
Type de projet. | customMultiLabelClassification |
| multilingue | true |
Valeur booléenne permettant à l’ensemble de données de contenir des documents dans plusieurs langues. Quand votre modèle est déployé, vous pouvez interroger le modèle dans n’importe quelle langue prise en charge (pas nécessairement incluse dans vos documents d’apprentissage). Consultez Prise en charge linguistique pour en savoir plus sur la prise en charge multilingue. | true |
| storageInputContainerName | {CONTAINER-NAME} |
Nom de votre conteneur de stockage Azure pour vos documents chargés. | myContainer |
Cette requête retourne une réponse 201, ce qui signifie que le projet est créé.
Cette requête retourne une erreur si :
- La ressource sélectionnée n’a pas les autorisations appropriées pour le compte de stockage.
Importer un projet de classification de texte personnalisé (API REST)
Si vous avez déjà étiqueté des données, vous pouvez l’utiliser pour commencer à utiliser le service. Assurez-vous que vos données étiquetées utilisent les formats de données acceptés.
Soumettez une demande POST en utilisant l’URL, les en-têtes et le corps JSON suivants pour importer votre fichier d’étiquettes. Vérifiez que votre fichier d’étiquettes respecte le format accepté.
Si un projet portant le même nom existe déjà, les données de ce projet sont remplacées.
{Endpoint}/language/authoring/analyze-text/projects/{projectName}/:import?api-version={API-VERSION}
| Espace réservé | Valeur | Exemple |
|---|---|---|
{ENDPOINT} |
Point de terminaison pour l’authentification de votre demande d’API. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
Nom de votre projet. Cette valeur respecte la casse. | myProject |
{API-VERSION} |
Version de l’API que vous appelez. La valeur référencée correspond à la dernière version publiée. En savoir plus sur les autres versions d’API disponibles | 2022-05-01 |
headers
Utilisez l’en-tête suivant pour authentifier votre demande.
| Clé | Valeur |
|---|---|
Ocp-Apim-Subscription-Key |
Clé de votre ressource. Utilisée pour authentifier vos demandes d’API. |
body
Utilisez le code JSON suivant dans votre demande. Remplacez les valeurs d’espace réservé par vos propres valeurs.
{
"projectFileVersion": "{API-VERSION}",
"stringIndexType": "Utf16CodeUnit",
"metadata": {
"projectName": "{PROJECT-NAME}",
"storageInputContainerName": "{CONTAINER-NAME}",
"projectKind": "customMultiLabelClassification",
"description": "Trying out custom multi label text classification",
"language": "{LANGUAGE-CODE}",
"multilingual": true,
"settings": {}
},
"assets": {
"projectKind": "customMultiLabelClassification",
"classes": [
{
"category": "Class1"
},
{
"category": "Class2"
}
],
"documents": [
{
"location": "{DOCUMENT-NAME}",
"language": "{LANGUAGE-CODE}",
"dataset": "{DATASET}",
"classes": [
{
"category": "Class1"
},
{
"category": "Class2"
}
]
},
{
"location": "{DOCUMENT-NAME}",
"language": "{LANGUAGE-CODE}",
"dataset": "{DATASET}",
"classes": [
{
"category": "Class2"
}
]
}
]
}
}
| Clé | Espace réservé | Valeur | Exemple |
|---|---|---|---|
| api-version | {API-VERSION} |
Version de l’API que vous appelez. La version utilisée ici doit être la même version d’API dans l’URL. En savoir plus sur les autres versions d’API disponibles | 2022-05-01 |
| projectName | {PROJECT-NAME} |
Nom de votre projet. Cette valeur respecte la casse. | myProject |
| projectKind | customMultiLabelClassification |
Type de projet. | customMultiLabelClassification |
| langage | {LANGUAGE-CODE} |
Chaîne spécifiant le code de langue des documents utilisés dans votre projet. Si votre projet est un projet multilingue, choisissez le code de langue pour la plupart des documents. Consultez Prise en charge linguistique pour en savoir plus sur la prise en charge multilingue. | en-us |
| multilingue | true |
Valeur booléenne permettant à l’ensemble de données de contenir des documents dans plusieurs langues. Quand votre modèle est déployé, vous pouvez interroger le modèle dans n’importe quelle langue prise en charge (pas nécessairement incluse dans vos documents d’apprentissage). Consultez Prise en charge linguistique pour en savoir plus sur la prise en charge multilingue. | true |
| storageInputContainerName | {CONTAINER-NAME} |
Nom de votre conteneur de stockage Azure pour vos documents chargés. | myContainer |
| classes | [] | Tableau contenant l’ensemble des classes contenues dans le projet. | [] |
| documents | [] | Tableau contenant tous les documents de votre projet et les classes étiquetées pour ce document. | [] |
| location | {DOCUMENT-NAME} |
Emplacement des documents dans le conteneur de stockage. Étant donné que tous les documents se trouvent à la racine du conteneur, il doit s’agir du nom du document. | doc1.txt |
| dataset | {DATASET} |
L'ensemble de test auquel ce document est destiné lorsqu'il est divisé avant l'entraînement. Découvrez comment entraîner un modèle. Les valeurs possibles pour ce champ sont Train et Test. |
Train |
Une fois que vous avez envoyé votre demande d’API, vous recevez une 202 réponse indiquant que le travail a été envoyé correctement. Dans les en-têtes de réponse, extrayez la valeur operation-location formatée comme suit :
{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/import/jobs/{JOB-ID}?api-version={API-VERSION}
{JOB-ID} sert à identifier votre demande, car cette opération est asynchrone. Vous utilisez cette URL pour obtenir l’état de la tâche d’importation.
Scénarios d’erreur possibles pour cette requête :
- La ressource sélectionnée n’a pas les autorisations appropriées pour le compte de stockage.
- Le
storageInputContainerNamespécifié n’existe pas. - Le code de langue utilisé est non valide ou si le type de code de langue n’est pas une chaîne.
-
La valeur
multilingualest une chaîne et non pas une valeur booléenne.
Obtenir les détails du projet (API REST)
Pour obtenir les détails du projet de classification de texte personnalisée, envoyez une requête GET en utilisant l’URL et les en-têtes suivants. Remplacez les valeurs d’espace réservé par vos propres valeurs.
{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}?api-version={API-VERSION}
| Espace réservé | Valeur | Exemple |
|---|---|---|
{ENDPOINT} |
Point de terminaison pour l’authentification de votre demande d’API. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
Nom de votre projet. Cette valeur respecte la casse. | myProject |
{API-VERSION} |
Version de l’API que vous appelez. La valeur référencée concerne la dernière version du modèle publiée. | 2022-05-01 |
headers
Utilisez l’en-tête suivant pour authentifier votre demande.
| Clé | Valeur |
|---|---|
Ocp-Apim-Subscription-Key |
Clé de votre ressource. Utilisée pour authentifier vos demandes d’API. |
Corps de la réponse
Une fois la requête envoyée, vous recevez la réponse suivante.
{
"createdDateTime": "2022-04-23T13:39:09.384Z",
"lastModifiedDateTime": "2022-04-23T13:39:09.384Z",
"lastTrainedDateTime": "2022-04-23T13:39:09.384Z",
"lastDeployedDateTime": "2022-04-23T13:39:09.384Z",
"projectKind": "customSingleLabelClassification",
"storageInputContainerName": "{CONTAINER-NAME}",
"projectName": "{PROJECT-NAME}",
"multilingual": true,
"description": "Project description",
"language": "{LANGUAGE-CODE}"
}
| Valeur | espace réservé | Description | Exemple |
|---|---|---|---|
projectKind |
customSingleLabelClassification |
Type de projet. | Cette valeur peut être customSingleLabelClassification ou customMultiLabelClassification. |
storageInputContainerName |
{CONTAINER-NAME} |
Nom de votre conteneur de stockage Azure pour vos documents chargés. | myContainer |
projectName |
{PROJECT-NAME} |
Nom de votre projet. Cette valeur respecte la casse. | myProject |
multilingual |
Valeur booléenne qui vous permet d’utiliser des documents en plusieurs langues dans votre jeu de données. Lorsque votre modèle est déployé, vous pouvez interroger le modèle dans n’importe quelle langue prise en charge (pas nécessairement incluse dans vos documents d’apprentissage). Pour plus d’informations sur la prise en charge multilingue, consultez Prise en charge de la langue. | true |
|
language |
{LANGUAGE-CODE} |
Chaîne spécifiant le code de langue des documents utilisés dans votre projet. Si votre projet est un projet multilingue, choisissez le code de langue pour la plupart des documents. Consultez Prise en charge de la langue pour en savoir plus sur la prise en charge multilingue. | en-us |
Une fois que vous avez envoyé votre demande d’API, vous recevez une 200 réponse indiquant la réussite et le corps de la réponse JSON avec les détails de votre projet.
Supprimer un projet (API REST)
Quand vous n’avez plus besoin de votre projet, vous pouvez le supprimer avec la demande DELETE suivante. Remplacez les valeurs d’espace réservé par vos propres valeurs.
{Endpoint}/language/authoring/analyze-text/projects/{projectName}?api-version={API-VERSION}
| Espace réservé | Valeur | Exemple |
|---|---|---|
{ENDPOINT} |
Point de terminaison pour l’authentification de votre demande d’API. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
Nom de votre projet. Cette valeur respecte la casse. | myProject |
{API-VERSION} |
Version de l’API que vous appelez. La valeur référencée correspond à la dernière version publiée. En savoir plus sur les autres versions d’API disponibles | 2022-05-01 |
headers
Utilisez l’en-tête suivant pour authentifier votre demande.
| Clé | Valeur |
|---|---|
| Ocp-Apim-Subscription-Key | Clé de votre ressource. Utilisée pour authentifier vos demandes d’API. |
Une fois que vous avez envoyé votre demande d’API, vous recevez une 202 réponse indiquant la réussite, ce qui signifie que votre projet est supprimé. Un appel réussi donne un en-tête Operation-Location utilisé pour vérifier l’état du travail.
Étapes suivantes
Vous devez planifier le schéma de projet utilisé pour étiqueter vos données.
Une fois votre projet créé, vous pouvez commencer à étiqueter vos données. L’étiquetage informe votre modèle de classification de texte comment interpréter du texte et est utilisé pour la formation et l’évaluation.