Guide pratique pour utiliser la Reconnaissance d’entité nommée (NER)
La fonctionnalité NER peut évaluer du texte non structuré et extraire des entités nommées à partir de texte dans plusieurs catégories prédéfinies, par exemple : personne, emplacement, événement, produit et organisation.
Options de développement
Pour utiliser la reconnaissance d’entité nommée, vous envoyez du texte brut non structuré à des fins d’analyse et gérez la sortie de l’API dans votre application. L’analyse est effectuée telle quelle, sans aucune personnalisation supplémentaire du modèle utilisé sur vos données. Il existe deux façons d’utiliser la reconnaissance d’entité nommée :
Option de développement | Description |
---|---|
Language studio | Language Studio est une plateforme web qui vous permet d’essayer la liaison d’entités avec des exemples de texte sans compte Azure et vos propres données lorsque vous vous inscrivez. Pour plus d’informations, consultez le site web Language Studio ou le démarrage rapide de Language Studio. |
API REST ou bibliothèque de client (SDK Azure) | Intégrez la reconnaissance d’entité nommée dans vos applications à l’aide de l’API REST ou de la bibliothèque de client disponible dans différents langages. Pour plus d’informations, consultez le guide de démarrage rapide de la reconnaissance d’entité nommée. |
Déterminer le mode de traitement des données (facultatif)
Langues de saisie
Lorsque vous soumettez des documents à traiter, vous pouvez spécifier les langues prises en charge dans lesquelles ils sont écrits. Si vous ne le faites pas, l’extraction de phrases clés utilise l’anglais par défaut. L’API peut retourner des décalages dans la réponse pour prendre en charge différents encodages multilingues et d’émoji.
Envoi de données
L’analyse est effectuée à la réception de la demande. L’utilisation de la fonctionnalité NER de façon synchrone est sans état. Aucune donnée n’est stockée dans votre compte, et les résultats sont retournés immédiatement dans la réponse.
Lors de l’utilisation de cette fonctionnalité de manière asynchrone, les résultats de l’API sont disponibles pendant 24 heures à partir du moment où la requête a été ingérée, et sont indiqués dans la réponse. Après cette période, les résultats sont purgés et ne sont plus disponibles pour récupération.
L’API tente de détecter les catégories définies de l’entité pour une langue de document donnée.
Obtention des résultats NER
Quand vous recevez des résultats de NER, vous pouvez les diffuser en streaming dans une application ou enregistrer la sortie dans un fichier sur le système local. La réponse de l’API inclut entités reconnues, y compris leurs catégories et sous-catégories, et les scores de confiance.
Sélectionner les entités à renvoyer
L’API tente de détecter les catégories définies de l’entité et les balises pour une langue de document donnée. Les types d’entités et les étiquettes remplacent la structure des catégories et sous-catégories utilisées par les anciens modèles pour définir des entités pour une plus grande flexibilité. Vous pouvez également spécifier quelles entités sont détectées et retournées. Utilisez les paramètres facultatifs includeList
et excludeList
avec les types d’entités appropriés. L’exemple suivant détecte uniquement Location
. Vous pouvez spécifier un ou plusieurs types d’entités à renvoyer. Compte tenu de la hiérarchie des types et des étiquettes introduite dans cette version, vous pouvez filtrer sur différents niveaux de granularité comme suit :
Entrée :
Remarque
Dans cet exemple, il retourne uniquement le type d’entité «Emplacement».
{
"kind": "EntityRecognition",
"parameters":
{
"includeList" :
[
"Location"
]
},
"analysisInput":
{
"documents":
[
{
"id":"1",
"language": "en",
"text": "We went to Contoso foodplace located at downtown Seattle last week for a dinner party, and we adore the spot! They provide marvelous food and they have a great menu. The chief cook happens to be the owner (I think his name is John Doe) and he is super nice, coming out of the kitchen and greeted us all. We enjoyed very much dining in the place! The pasta I ordered was tender and juicy, and the place was impeccably clean. You can even pre-order from their online menu at www.contosofoodplace.com, call 112-555-0176 or send email to order@contosofoodplace.com! The only complaint I have is the food didn't come fast enough. Overall I highly recommend it!"
}
]
}
}
Les exemples ci-dessus retournent des entités relevant du type d’entité Location
, telles que les entités étiquetées GPE
, Structural
et Geological
comme décrites par les types d’entités et les étiquettes. Nous pouvons également davantage filtrer les entités retournées avec l’une des étiquettes d’entité pour le type d’entité Location
, par exemple en filtrant l’étiquette GPE
uniquement comme indiqué ci-dessus :
"parameters":
{
"includeList" :
[
"GPE"
]
}
Cette méthode retourne toutes les entités Location
qui tombent uniquement sous l’étiquette GPE
et ignore toute autre entité relevant du type Location
marqué avec toute autre étiquette d’entité, telle que Structural
ou Geological
entités étiquetées Location
. Nous pouvons également explorer au niveau du détail nos résultats à l’aide du paramètre excludeList
. Les entités étiquetées GPE
peuvent être marquées avec les étiquettes suivantes : City
, State
, CountryRegion
, Continent
. Nous pouvons, par exemple, exclure les étiquettes Continent
et CountryRegion
pour notre exemple :
"parameters":
{
"includeList" :
[
"GPE"
],
"excludeList": :
[
"Continent",
"CountryRegion"
]
}
Avec ces paramètres, nous pouvons filtrer uniquement les types d’entités Location
, car l’étiquette d’entité GPE
incluse dans le paramètre includeList
se trouve sous le type Location
. Nous filtrons ensuite uniquement sur les entités géopolitiques et excluons toutes les entités marquées avec des étiquettes Continent
ou CountryRegion
.
Attributs de sortie supplémentaires
Pour fournir aux utilisateurs davantage d’informations sur les types d’une entité et fournir une facilité d’utilisation accrue, NER prend en charge ces attributs dans la sortie :
Nom de l'attribut | Type | Définition |
---|---|---|
type |
Chaîne | Type d’entité détectée le plus spécifique. Par exemple, « Seattle » est un City , un GPE (entité géo-politique) et un Location . La classification la plus granulaire pour « Seattle » est qu’il s’agit d’un City . Le type serait City pour le texte « Seattle ». |
tags |
Liste (balises) | Liste d’objets de balise qui exprime l’affinité de l’entité détectée à une hiérarchie ou à tout autre regroupement. Une balise contient deux champs : 1. name : Nom unique d’une balise.2. confidenceScore : Score de confiance associé pour une balise comprise entre 0 et 1.Ce tagName unique est utilisé pour filtrer dans les paramètres inclusionList et exclusionList . |
metadata |
Object | Les métadonnées sont un objet contenant plus de données sur le type d’entité détecté. Elles changent en fonction du champ metadataKind . |
Exemple de sortie
Cet exemple de sortie inclut un exemple des attributs de sortie supplémentaires.
{
"kind": "EntityRecognitionResults",
"results": {
"documents": [
{
"id": "1",
"entities": [
{
"text": "Microsoft",
"category": "Organization",
"type": "Organization",
"offset": 0,
"length": 9,
"confidenceScore": 0.97,
"tags": [
{
"name": "Organization",
"confidenceScore": 0.97
}
]
},
{
"text": "One",
"category": "Quantity",
"type": "Number",
"subcategory": "Number",
"offset": 21,
"length": 3,
"confidenceScore": 0.9,
"tags": [
{
"name": "Number",
"confidenceScore": 0.8
},
{
"name": "Quantity",
"confidenceScore": 0.8
},
{
"name": "Numeric",
"confidenceScore": 0.8
}
],
"metadata": {
"metadataKind": "NumberMetadata",
"numberKind": "Integer",
"value": 1.0
}
}
],
"warnings": []
}
],
"errors": [],
"modelVersion": "2023-09-01"
}
}
Spécifier le modèle NER
Par défaut, cette fonctionnalité utilise le dernier modèle IA disponible sur votre texte. Vous pouvez également configurer vos requêtes d’API pour utiliser une version de modèle spécifique.
Limites du service et des données
Pour connaître la taille et le nombre de demandes que vous pouvez envoyer par minute et seconde, consultez l’article Limites de service.