Compétence cognitive Reconnaissance d’entités (V3)

La compétence Reconnaissance d’entités (v3) extrait les entités de différents types du texte. Ces entités sont classées dans 14 catégories distinctes, allant des personnes et des organisations aux URL et numéros de téléphone. Cette compétence utilise les modèles de Machine Learning Reconnaissance d'entité nommée fournis par Azure AI Language.

Remarque

Cette compétence est liée aux services Azure AI et nécessite une ressource facturable pour les transactions qui dépassent 20 documents par indexeur et par jour. L'exécution des compétences intégrées est facturée au prix actuel du paiement à l'utilisation des services Azure AI.

@odata.type

Microsoft.Skills.Text.V3.EntityRecognitionSkill

Limites de données

La taille maximale d’un enregistrement doit être de 50 000 caractères telle que mesurée par String.Length. Si vous devez subdiviser vos données avant de les envoyer à la compétence EntityRecognition, utilisez la compétence Fractionnement de texte. Lorsque vous utilisez une compétence de fractionnement de texte, définissez la longueur de la page sur 5000 pour obtenir les meilleures performances.

Paramètres de la compétence

Les paramètres respectent la casse et sont tous facultatifs.

Nom du paramètre Description
categories Tableau des catégories à extraire. Types de catégorie possibles : "Person", "Location", "Organization", "Quantity", "DateTime", "URL", "Email", "personType", "Event", "Product", "Skill", "Address", "phoneNumber", "ipAddress". Si aucune catégorie n’est précisée, tous les types sont retournés.
defaultLanguageCode Code de langue du texte d’entrée. Si le code du langage par défaut n’est pas spécifié, l’anglais (en) est utilisé comme code de langage par défaut.
Voir la liste complète des langues prises en charge. Les catégories d’entités ne sont pas toutes prises en charge pour toutes les langues. Consultez la remarque ci-dessous.
minimumPrecision Valeur comprise entre 0 et 1 Si le score de confiance (dans la sortie namedEntities) est inférieur à cette valeur, l’entité n’est pas retournée. La valeur par défaut est 0.
modelVersion (Facultatif) Précise la version du modèle à utiliser pour appeler l’API de reconnaissance des entités. Si rien n’est spécifié, c’est la dernière version disponible qui est utilisée par défaut. Nous vous recommandons de ne pas spécifier cette valeur, sauf nécessité.

Entrées de la compétence

Nom de l'entrée Description
languageCode Chaîne indiquant la langue des enregistrements. Si ce paramètre n’est pas spécifié, le code de langue par défaut est utilisé pour l’analyse des enregistrements.
Voir la liste complète des langues prises en charge.
text Texte à analyser.

Sorties de la compétence

Remarque

toutes les catégories d’entités ne sont pas prises en charge pour toutes les langues. Consultez les catégories d’entités NER (Reconnaissance d'entité nommée) prises en charge pour savoir quelles catégories d’entités sont prises en charge pour le langage que vous allez utiliser.

Nom de sortie Description
persons Tableau de chaînes représentant chacune le nom d’une personne.
locations Tableau de chaînes représentant chacune un lieu.
organizations Tableau de chaînes représentant chacune une organisation.
quantities Tableau de chaînes représentant chacune une quantité.
dateTimes Tableau de chaînes représentant chacune une valeur DateTime (telle qu’elle apparaît dans le texte).
urls Tableau de chaînes représentant chacune une URL.
emails Tableau de chaînes représentant chacune un e-mail.
personTypes Tableau de chaînes représentant chacune un élément PersonType.
events Tableau de chaînes représentant chacune un événement.
products Tableau de chaînes représentant chacune un produit.
skills Tableau de chaînes représentant chacune une compétence.
addresses Tableau de chaînes représentant chacune une adresse.
phoneNumbers Tableau de chaînes représentant chacune un numéro de téléphone.
ipAddresses Tableau de chaînes représentant chacune une adresse.
namedEntities Tableau de types complexes contenant les champs suivants :
  • catégorie
  • subcategory
  • confianceScore (une valeur plus élevée signifie qu’il s’agit d’une entité réelle)
  • length (longueur (nombre de caractères) de cette entité)
  • le décalage (l’emplacement où elle a été trouvée dans le texte) ;
  • text (nom réel de l’entité tel qu’il apparaît dans le texte)

Exemple de définition

  {
    "@odata.type": "#Microsoft.Skills.Text.V3.EntityRecognitionSkill",
    "context": "/document",
    "categories": [ "Person", "Email"],
    "defaultLanguageCode": "en", 
    "minimumPrecision": 0.5, 
    "inputs": [
        {
            "name": "text", 
            "source": "/document/content"
        },
        {
            "name": "languageCode", 
            "source": "/document/language"
        }
    ],
    "outputs": [
        {
            "name": "persons", 
            "targetName": "people"
        },
        {
            "name": "emails", 
            "targetName": "emails"
        },
        {
            "name": "namedEntities", 
            "targetName": "namedEntities"
        }
    ]
  }

Exemple d’entrée

{
    "values": [
      {
        "recordId": "1",
        "data":
           {
             "text": "Contoso Corporation was founded by Jean Martin. They can be reached at contact@contoso.com",
             "languageCode": "en"
           }
      }
    ]
}

Exemple de sortie

{
  "values": [
    {
      "recordId": "1",
      "data" : 
      {
        "people": [ "Jean Martin"],
        "emails":["contact@contoso.com"],
        "namedEntities": 
        [
          {
            "category": "Person",
            "subcategory": null,
            "length": 11,
            "offset": 35,
            "confidenceScore": 0.98,
            "text": "Jean Martin"
          },
          {
            "category": "Email",
            "subcategory": null,
            "length": 19,
            "offset": 71,
            "confidenceScore": 0.8,
            "text": "contact@contoso.com"
          }
        ],
      }
    }
  ]
}

Les décalages renvoyés pour les entités dans la sortie de cette compétence le sont directement à partir des API du service de langage, ce qui signifie que, si vous les utilisez pour indexer dans la chaîne d'origine, vous devez utiliser la classe StringInfo dans .NET afin d'extraire le bon contenu. Pour plus d’informations, consultez Prise en charge de plusieurs langues et des emojis dans les fonctionnalités du service de langage.

Cas d’avertissement

Si le code de langue du document n’est pas pris en charge, un avertissement est retourné et aucune entité n’est extraite.

Voir aussi