Démarrage rapide : Détection des entités nommées (NER)

Documentation de référence | Exemples supplémentaires | Package (NuGet) | Code source de la bibliothèque

Utilisez ce guide de démarrage rapide pour créer une application de Reconnaissance d’entité nommée (NER) avec la bibliothèque de client pour .NET. Dans l’exemple suivant, vous allez créer une application C# qui peut identifier des entités reconnues dans du texte.

Conseil

Vous pouvez utiliser Language Studio pour essayer les fonctionnalités du service Language sans avoir besoin d’écrire du code.

Prérequis

  • Abonnement Azure - En créer un gratuitement
  • IDE Visual Studio
  • Une fois que vous avez votre abonnement Azure, créez une ressource de langue dans le portail Azure pour obtenir votre clé et votre point de terminaison. À la fin du déploiement, sélectionnez Accéder à la ressource.
    • Vous aurez besoin de la clé et du point de terminaison de la ressource que vous créez pour connecter votre application à l’API. Vous collerez votre clé et votre point de terminaison dans le code ci-dessous plus loin dans le guide de démarrage rapide.
    • Vous pouvez utiliser le niveau tarifaire Gratuit (Free F0) pour tester le service, puis passer par la suite à un niveau payant pour la production.
  • Pour utiliser la fonctionnalité d’analyse, vous aurez besoin d’une ressource Language avec le niveau tarifaire Standard (S).

Configuration

Créez une application .NET Core

En utilisant l’IDE Visual Studio, créez une application console .NET Core. Cette action va créer un projet nommé « Hello World » avec un seul fichier source C# : program.cs.

Installez la bibliothèque cliente en cliquant avec le bouton droit sur la solution dans l’Explorateur de solutions et en sélectionnant Gérer les packages NuGet. Dans le gestionnaire de package qui s’ouvre, sélectionnez Parcourir et recherchez Azure.AI.TextAnalytics. Sélectionnez la version 5.2.0, puis Installer. Vous pouvez aussi utiliser la Console du Gestionnaire de package.

Exemple de code

Copiez le code suivant dans votre fichier program.cs. N’oubliez pas de remplacer la variable key par la clé de votre ressource et la variable endpoint par le point de terminaison de votre ressource. Exécutez ensuite le code.

Important

Accédez au portail Azure. Si la ressource Language que vous avez créée dans la section Prérequis a été déployée correctement, cliquez sur le bouton Accéder à la ressource sous Étapes suivantes. Pour trouver la clé et le point de terminaison, accédez à la page Clés et point de terminaison de votre ressource sous Gestion des ressources.

Important

N’oubliez pas de supprimer la clé de votre code une fois que vous avez terminé, et ne la postez jamais publiquement. Pour la production, utilisez un moyen sécurisé de stocker et d’accéder à vos informations d’identification comme Azure Key Vault. Pour plus d’informations, consultez l’article sur la sécurité d’Azure AI services.

using Azure;
using System;
using Azure.AI.TextAnalytics;

namespace Example
{
    class Program
    {
        private static readonly AzureKeyCredential credentials = new AzureKeyCredential("replace-with-your-key-here");
        private static readonly Uri endpoint = new Uri("replace-with-your-endpoint-here");
        
        // Example method for extracting named entities from text 
        static void EntityRecognitionExample(TextAnalyticsClient client)
        {
            var response = client.RecognizeEntities("I had a wonderful trip to Seattle last week.");
            Console.WriteLine("Named Entities:");
            foreach (var entity in response.Value)
            {
                Console.WriteLine($"\tText: {entity.Text},\tCategory: {entity.Category},\tSub-Category: {entity.SubCategory}");
                Console.WriteLine($"\t\tScore: {entity.ConfidenceScore:F2},\tLength: {entity.Length},\tOffset: {entity.Offset}\n");
            }
        }

        static void Main(string[] args)
        {
            var client = new TextAnalyticsClient(endpoint, credentials);
            EntityRecognitionExample(client);

            Console.Write("Press any key to exit.");
            Console.ReadKey();
        }

    }
}

Sortie

Named Entities:
        Text: trip,     Category: Event,        Sub-Category:
                Score: 0.74,    Length: 4,      Offset: 18

        Text: Seattle,  Category: Location,     Sub-Category: GPE
                Score: 1.00,    Length: 7,      Offset: 26

        Text: last week,        Category: DateTime,     Sub-Category: DateRange
                Score: 0.80,    Length: 9,      Offset: 34

Documentation de référence | Exemples supplémentaires | Package (Maven) | Code source de la bibliothèque

Utilisez ce guide de démarrage rapide pour créer une application de Reconnaissance d’entité nommée (NER) avec la bibliothèque de client pour Java. Dans l’exemple suivant, vous allez créer une application Java qui peut identifier des entités reconnues dans du texte.

Conseil

Vous pouvez utiliser Language Studio pour essayer les fonctionnalités du service Language sans avoir besoin d’écrire du code.

Prérequis

  • Abonnement Azure - En créer un gratuitement
  • Kit de développement Java (JDK) avec version 8 ou ultérieure
  • Une fois que vous avez votre abonnement Azure, créez une ressource de langue dans le portail Azure pour obtenir votre clé et votre point de terminaison. À la fin du déploiement, sélectionnez Accéder à la ressource.
    • Vous aurez besoin de la clé et du point de terminaison de la ressource que vous créez pour connecter votre application à l’API. Vous collerez votre clé et votre point de terminaison dans le code ci-dessous plus loin dans le guide de démarrage rapide.
    • Vous pouvez utiliser le niveau tarifaire Gratuit (Free F0) pour tester le service, puis passer par la suite à un niveau payant pour la production.
  • Pour utiliser la fonctionnalité d’analyse, vous aurez besoin d’une ressource Language avec le niveau tarifaire Standard (S).

Configuration

Ajouter la bibliothèque de client

Créez un projet Maven dans l’IDE ou l’environnement de développement de votre choix. Ensuite, ajoutez la dépendance suivante au fichier pom.xml de votre projet : Vous trouverez la syntaxe d’implémentation pour d’autres outils de génération en ligne.

<dependencies>
     <dependency>
        <groupId>com.azure</groupId>
        <artifactId>azure-ai-textanalytics</artifactId>
        <version>5.2.0</version>
    </dependency>
</dependencies>

Exemple de code

Créez un fichier Java nommé Example.java. Ouvrez le fichier et copiez le code ci-dessous. N’oubliez pas de remplacer la variable key par la clé de votre ressource et la variable endpoint par le point de terminaison de votre ressource. Exécutez ensuite le code.

Important

Accédez au portail Azure. Si la ressource Language que vous avez créée dans la section Prérequis a été déployée correctement, cliquez sur le bouton Accéder à la ressource sous Étapes suivantes. Pour trouver la clé et le point de terminaison, accédez à la page Clés et point de terminaison de votre ressource sous Gestion des ressources.

Important

N’oubliez pas de supprimer la clé de votre code une fois que vous avez terminé, et ne la postez jamais publiquement. Pour la production, utilisez un moyen sécurisé de stocker et d’accéder à vos informations d’identification comme Azure Key Vault. Pour plus d’informations, consultez l’article sur la sécurité d’Azure AI services.

import com.azure.core.credential.AzureKeyCredential;
import com.azure.ai.textanalytics.models.*;
import com.azure.ai.textanalytics.TextAnalyticsClientBuilder;
import com.azure.ai.textanalytics.TextAnalyticsClient;

public class Example {

    private static String KEY = "replace-with-your-key-here";
    private static String ENDPOINT = "replace-with-your-endpoint-here";

    public static void main(String[] args) {
        TextAnalyticsClient client = authenticateClient(KEY, ENDPOINT);
        recognizeEntitiesExample(client);
    }
    // Method to authenticate the client object with your key and endpoint
    static TextAnalyticsClient authenticateClient(String key, String endpoint) {
        return new TextAnalyticsClientBuilder()
                .credential(new AzureKeyCredential(key))
                .endpoint(endpoint)
                .buildClient();
    }
    // Example method for recognizing entities in text
    static void recognizeEntitiesExample(TextAnalyticsClient client)
    {
        // The text that need be analyzed.
        String text = "I had a wonderful trip to Seattle last week.";
    
        for (CategorizedEntity entity : client.recognizeEntities(text)) {
            System.out.printf(
                "Recognized entity: %s, entity category: %s, entity sub-category: %s, score: %s, offset: %s, length: %s.%n",
                entity.getText(),
                entity.getCategory(),
                entity.getSubcategory(),
                entity.getConfidenceScore(),
                entity.getOffset(),
                entity.getLength());
        }
    }
}

Sortie

Recognized entity: trip, entity category: Event, entity sub-category: null, score: 0.74, offset: 18, length: 4.
Recognized entity: Seattle, entity category: Location, entity sub-category: GPE, score: 1.0, offset: 26, length: 7.
Recognized entity: last week, entity category: DateTime, entity sub-category: DateRange, score: 0.8, offset: 34, length: 9.

Documentation de référence | Exemples supplémentaires | Package (npm) | Code source de la bibliothèque

Utilisez ce guide de démarrage rapide pour créer une application de Reconnaissance d’entité nommée (NER) avec la bibliothèque de client pour Node.js. Dans l’exemple suivant, vous allez créer une application JavaScript qui peut identifier des entités reconnues dans du texte.

Conseil

Vous pouvez utiliser Language Studio pour essayer les fonctionnalités du service Language sans avoir besoin d’écrire du code.

Prérequis

  • Abonnement Azure - En créer un gratuitement
  • Node.js v14 LTS ou version ultérieure
  • Une fois que vous avez votre abonnement Azure, créez une ressource de langue dans le portail Azure pour obtenir votre clé et votre point de terminaison. À la fin du déploiement, sélectionnez Accéder à la ressource.
    • Vous aurez besoin de la clé et du point de terminaison de la ressource que vous créez pour connecter votre application à l’API. Vous collerez votre clé et votre point de terminaison dans le code ci-dessous plus loin dans le guide de démarrage rapide.
    • Vous pouvez utiliser le niveau tarifaire Gratuit (Free F0) pour tester le service, puis passer par la suite à un niveau payant pour la production.
  • Pour utiliser la fonctionnalité d’analyse, vous aurez besoin d’une ressource Language avec le niveau tarifaire Standard (S).

Configuration

Création d’une application Node.js

Dans une fenêtre de console (telle que cmd, PowerShell ou bash), créez un répertoire pour votre application et accédez-y.

mkdir myapp 

cd myapp

Exécutez la commande npm init pour créer une application de nœud avec un fichier package.json.

npm init

Installer la bibliothèque de client

Installez le package npm :

npm install @azure/ai-language-text

Exemple de code

Ouvrez le fichier et copiez le code ci-dessous. N’oubliez pas de remplacer la variable key par la clé de votre ressource et la variable endpoint par le point de terminaison de votre ressource. Exécutez ensuite le code.

Important

Accédez au portail Azure. Si la ressource Language que vous avez créée dans la section Prérequis a été déployée correctement, cliquez sur le bouton Accéder à la ressource sous Étapes suivantes. Pour trouver la clé et le point de terminaison, accédez à la page Clés et point de terminaison de votre ressource sous Gestion des ressources.

Important

N’oubliez pas de supprimer la clé de votre code une fois que vous avez terminé, et ne la postez jamais publiquement. Pour la production, utilisez un moyen sécurisé de stocker et d’accéder à vos informations d’identification comme Azure Key Vault. Pour plus d’informations, consultez l’article sur la sécurité d’Azure AI services.

"use strict";

const { TextAnalysisClient, AzureKeyCredential } = require("@azure/ai-language-text");;
const key = '<paste-your-key-here>';
const endpoint = '<paste-your-endpoint-here>';

//an example document for entity recognition
const documents = [ "Microsoft was founded by Bill Gates and Paul Allen on April 4, 1975, to develop and sell BASIC interpreters for the Altair 8800"];

//example of how to use the client library to recognize entities in a document.
async function main() {
    console.log("== NER sample ==");
  
    const client = new TextAnalysisClient(endpoint, new AzureKeyCredential(key));
  
    const results = await client.analyze("EntityRecognition", documents);
  
    for (const result of results) {
      console.log(`- Document ${result.id}`);
      if (!result.error) {
        console.log("\tRecognized Entities:");
        for (const entity of result.entities) {
          console.log(`\t- Entity ${entity.text} of type ${entity.category}`);
        }
      } else console.error("\tError:", result.error);
    }
  }

//call the main function
main().catch((err) => {
    console.error("The sample encountered an error:", err);
});

Sortie

Document ID: 0
        Name: Microsoft         Category: Organization  Subcategory: N/A
        Score: 0.29
        Name: Bill Gates        Category: Person        Subcategory: N/A
        Score: 0.78
        Name: Paul Allen        Category: Person        Subcategory: N/A
        Score: 0.82
        Name: April 4, 1975     Category: DateTime      Subcategory: Date
        Score: 0.8
        Name: 8800      Category: Quantity      Subcategory: Number
        Score: 0.8
Document ID: 1
        Name: 21        Category: Quantity      Subcategory: Number
        Score: 0.8
        Name: Seattle   Category: Location      Subcategory: GPE
        Score: 0.25

Documentation de référence | Exemples supplémentaires | Package (PyPi) | Code source de la bibliothèque

Utilisez ce guide de démarrage rapide pour créer une application de Reconnaissance d’entité nommée (NER) avec la bibliothèque de client pour Python. Dans l’exemple suivant, vous allez créer une application Python qui peut identifier des entités reconnues dans du texte.

Conseil

Vous pouvez utiliser Language Studio pour essayer les fonctionnalités du service Language sans avoir besoin d’écrire du code.

Prérequis

  • Abonnement Azure - En créer un gratuitement
  • Python 3.8 ou version ultérieure
  • Une fois que vous avez votre abonnement Azure, créez une ressource de langue dans le portail Azure pour obtenir votre clé et votre point de terminaison. À la fin du déploiement, sélectionnez Accéder à la ressource.
    • Vous aurez besoin de la clé et du point de terminaison de la ressource que vous créez pour connecter votre application à l’API. Vous collerez votre clé et votre point de terminaison dans le code ci-dessous plus loin dans le guide de démarrage rapide.
    • Vous pouvez utiliser le niveau tarifaire Gratuit (Free F0) pour tester le service, puis passer par la suite à un niveau payant pour la production.
  • Pour utiliser la fonctionnalité d’analyse, vous aurez besoin d’une ressource Language avec le niveau tarifaire Standard (S).

Configuration

Installer la bibliothèque de client

Après avoir installé Python, vous pouvez installer la bibliothèque de client avec :

pip install azure-ai-textanalytics==5.2.0

Exemple de code

Créez un fichier Python et copiez le code ci-dessous. N’oubliez pas de remplacer la variable key par la clé de votre ressource et la variable endpoint par le point de terminaison de votre ressource. Exécutez ensuite le code.

Important

Accédez au portail Azure. Si la ressource Language que vous avez créée dans la section Prérequis a été déployée correctement, cliquez sur le bouton Accéder à la ressource sous Étapes suivantes. Pour trouver la clé et le point de terminaison, accédez à la page Clés et point de terminaison de votre ressource sous Gestion des ressources.

Important

N’oubliez pas de supprimer la clé de votre code une fois que vous avez terminé, et ne la postez jamais publiquement. Pour la production, utilisez un moyen sécurisé de stocker et d’accéder à vos informations d’identification comme Azure Key Vault. Pour plus d’informations, consultez l’article sur la sécurité d’Azure AI services.

key = "paste-your-key-here"
endpoint = "paste-your-endpoint-here"

from azure.ai.textanalytics import TextAnalyticsClient
from azure.core.credentials import AzureKeyCredential

# Authenticate the client using your key and endpoint 
def authenticate_client():
    ta_credential = AzureKeyCredential(key)
    text_analytics_client = TextAnalyticsClient(
            endpoint=endpoint, 
            credential=ta_credential)
    return text_analytics_client

client = authenticate_client()

# Example function for recognizing entities from text
def entity_recognition_example(client):

    try:
        documents = ["I had a wonderful trip to Seattle last week."]
        result = client.recognize_entities(documents = documents)[0]

        print("Named Entities:\n")
        for entity in result.entities:
            print("\tText: \t", entity.text, "\tCategory: \t", entity.category, "\tSubCategory: \t", entity.subcategory,
                    "\n\tConfidence Score: \t", round(entity.confidence_score, 2), "\tLength: \t", entity.length, "\tOffset: \t", entity.offset, "\n")

    except Exception as err:
        print("Encountered exception. {}".format(err))
entity_recognition_example(client)

Sortie

Named Entities:

    Text:    trip   Category:        Event  SubCategory:     None
    Confidence Score:        0.74   Length:          4      Offset:          18

    Text:    Seattle        Category:        Location       SubCategory:     GPE
    Confidence Score:        1.0    Length:          7      Offset:          26

    Text:    last week      Category:        DateTime       SubCategory:     DateRange
    Confidence Score:        0.8    Length:          9      Offset:          34

Documentation de référence

Utilisez ce guide de démarrage rapide pour envoyer des requêtes de Reconnaissance d’entité nommée (NER) à l’aide de l’API REST. Dans l’exemple suivant, vous utilisez cURL pour identifier des entités reconnues dans du texte.

Conseil

Vous pouvez utiliser Language Studio pour essayer les fonctionnalités du service Language sans avoir besoin d’écrire du code.

Prérequis

  • Version actuelle de cURL.
  • Une fois que vous avez votre abonnement Azure, créez une ressource de langue dans le portail Azure pour obtenir votre clé et votre point de terminaison. À la fin du déploiement, sélectionnez Accéder à la ressource.
    • Vous avez besoin de la clé et du point de terminaison de la ressource que vous créez pour connecter votre application à l’API. Collez votre clé et votre point de terminaison dans le code plus loin dans le guide de démarrage rapide.
    • Vous pouvez utiliser le niveau tarifaire Gratuit (Free F0) pour tester le service, puis passer par la suite à un niveau payant pour la production.

Notes

  • Les exemples BASH suivants utilisent le caractère de continuation de ligne \. Si votre console ou terminal utilise un caractère de continuation de ligne différent, utilisez ce caractère.
  • Vous trouverez des exemples propres aux différents langages sur GitHub.
  • Accédez au portail Azure, puis recherchez la clé et le point de terminaison de la ressource Language que vous avez créés à l’étape des prérequis. Ces informations se trouvent dans la page clé et point de terminaison de la ressource, sous gestion des ressources. Remplacez ensuite les chaînes dans le code par votre clé et votre point de terminaison. Pour appeler l’API, vous avez besoin des informations suivantes :
paramètre Description
-X POST <endpoint> Spécifie votre point de terminaison pour accéder à l’API.
-H Content-Type: application/json Type de contenu pour l’envoi de données JSON.
-H "Ocp-Apim-Subscription-Key:<key> Spécifie la clé pour accéder à l’API.
-d <documents> Code JSON contenant les documents que vous souhaitez envoyer.

Les commandes cURL suivantes sont exécutées à partir d’un interpréteur de commandes bash. Modifiez ces commandes avec vos propres nom de ressource, clé de ressource et valeurs JSON.

Extraction d’entités nommées (NER, Named Entity Extraction)

  1. Copiez la commande dans un éditeur de texte.
  2. Modifiez la commande comme ci-dessous :
    1. Remplacez la valeur <your-language-resource-key> par votre propre clé.
    2. Remplacez la première partie de l’URL de la requête <your-language-resource-endpoint> par votre propre URL de point de terminaison.
  3. Ouvrir une fenêtre d’invite de commandes.
  4. Collez la commande à partir de l’éditeur de texte dans la fenêtre d’invite de commandes, puis exécutez la commande.
curl -i -X POST https://<your-language-resource-endpoint>/language/:analyze-text?api-version=2022-05-01 \
-H "Content-Type: application/json" \
-H "Ocp-Apim-Subscription-Key:<your-language-resource-key>" \
-d \
'
{
    "kind": "EntityRecognition",
    "parameters": {
        "modelVersion": "latest"
    },
    "analysisInput":{
        "documents":[
            {
                "id":"1",
                "language": "en",
                "text": "I had a wonderful trip to Seattle last week."
            }
        ]
    }
}
'

Réponse JSON

Notes

{
	"kind": "EntityRecognitionResults",
	"results": {
		"documents": [{
			"id": "1",
			"entities": [{
				"text": "trip",
				"category": "Event",
				"offset": 18,
				"length": 4,
				"confidenceScore": 0.74
			}, {
				"text": "Seattle",
				"category": "Location",
				"subcategory": "GPE",
				"offset": 26,
				"length": 7,
				"confidenceScore": 1.0
			}, {
				"text": "last week",
				"category": "DateTime",
				"subcategory": "DateRange",
				"offset": 34,
				"length": 9,
				"confidenceScore": 0.8
			}],
			"warnings": []
		}],
		"errors": [],
		"modelVersion": "2021-06-01"
	}
}

Nettoyer les ressources

Si vous souhaitez nettoyer et supprimer un abonnement Azure AI services, vous pouvez supprimer la ressource ou le groupe de ressources. La suppression du groupe de ressources efface également les autres ressources qui y sont associées.

Étapes suivantes