Compétence cognitive Reconnaissance d’entités (v2)
La compétence Reconnaissance d’entités (v2) extrait les entités de différents types du texte. Cette compétence utilise les modèles Machine Learning fournis par Analyse de texte dans les services Azure AI.
Important
La compétence de reconnaissance des entités nommées (v2) (Microsoft.Skills.Text.NamedEntityRecognitionSkill) est désormais abandonnée et remplacée par Microsoft.Skills.Text.V3.EntityRecognitionSk. Suivez les recommandations de la page Compétences déconseillées pour migrer vers une compétence prise en charge.
Remarque
Si vous élargissez le champ en augmentant la fréquence des traitements, en ajoutant des documents supplémentaires ou en ajoutant plusieurs algorithmes d’IA, vous devez attacher une ressource de service Azure AI facturable. Des frais sont applicables durant l’appel des API dans les services Azure AI ainsi que pour l’extraction d’images durant la phase d’extraction du contenu des documents d’Azure AI Search. L’extraction de texte à partir des documents est gratuite.
L'exécution des compétences intégrées est facturée au prix actuel du paiement à l'utilisation des services Azure AI. Les prix appliqués pour l'extraction d'images sont présentés sur la page de tarification d’Azure AI Search.
@odata.type
Microsoft.Skills.Text.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 à l’extracteur de phrases clés, envisagez d’utiliser la compétence Fractionnement de texte. Si vous utilisez une compétence de fractionnement de texte, définissez la longueur de la page sur 5 000 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" . Si aucune catégorie n’est précisée, tous les types sont retournés. |
defaultLanguageCode |
Code de langue du texte d’entrée. Langues prises en charge : ar, cs, da, de, en, es, fi, fr, hu, it, ja, ko, nl, no, pl, pt-BR, pt-PT, ru, sv, tr, zh-hans . 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. |
includeTypelessEntities |
Affectez la valeur true si vous souhaitez reconnaître les entités connues qui ne correspondent pas aux catégories actuelles. Les entités reconnues sont retournées dans le champ de sortie complexe entities . Par exemple, « Windows 10 » est une entité bien connue (un produit), mais étant donné que la catégorie « Produits » n’est pas prise en charge, cette entité est incluse dans le champ de sortie des entités. La valeur par défaut est false |
Entrées de la compétence
Nom de l'entrée | Description |
---|---|
languageCode |
facultatif. La valeur par défaut est "en" . |
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. Les types de catégories d’entités "Person"
, "Location"
et "Organization"
sont pris en charge pour la liste complète des langues ci-dessus. Seules les langues de, en, es, fr et zh-hans prennent en charge l’extraction des types "Quantity"
, "Datetime"
, "URL"
et "Email"
. Pour plus d’informations, consultez Langues et régions prises en charge par l’API Analyse de texte.
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. |
namedEntities |
Tableau de types complexes contenant les champs suivants :
|
entities |
Tableau de types complexes contenant des informations détaillées sur les entités extraites du texte, avec les champs suivants
|
Exemple de définition
{
"@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill",
"categories": [ "Person", "Email"],
"defaultLanguageCode": "en",
"includeTypelessEntities": true,
"minimumPrecision": 0.5,
"inputs": [
{
"name": "text",
"source": "/document/content"
}
],
"outputs": [
{
"name": "persons",
"targetName": "people"
},
{
"name": "emails",
"targetName": "contact"
},
{
"name": "entities"
}
]
}
Exemple d’entrée
{
"values": [
{
"recordId": "1",
"data":
{
"text": "Contoso corporation was founded by John Smith. They can be reached at contact@contoso.com",
"languageCode": "en"
}
}
]
}
Exemple de sortie
{
"values": [
{
"recordId": "1",
"data" :
{
"persons": [ "John Smith"],
"emails":["contact@contoso.com"],
"namedEntities":
[
{
"category":"Person",
"value": "John Smith",
"offset": 35,
"confidence": 0.98
}
],
"entities":
[
{
"name":"John Smith",
"wikipediaId": null,
"wikipediaLanguage": null,
"wikipediaUrl": null,
"bingId": null,
"type": "Person",
"subType": null,
"matches": [{
"text": "John Smith",
"offset": 35,
"length": 10
}]
},
{
"name": "contact@contoso.com",
"wikipediaId": null,
"wikipediaLanguage": null,
"wikipediaUrl": null,
"bingId": null,
"type": "Email",
"subType": null,
"matches": [
{
"text": "contact@contoso.com",
"offset": 70,
"length": 19
}]
},
{
"name": "Contoso",
"wikipediaId": "Contoso",
"wikipediaLanguage": "en",
"wikipediaUrl": "https://en.wikipedia.org/wiki/Contoso",
"bingId": "349f014e-7a37-e619-0374-787ebb288113",
"type": null,
"subType": null,
"matches": [
{
"text": "Contoso",
"offset": 0,
"length": 7
}]
}
]
}
}
]
}
Notez que les décalages renvoyés pour les entités dans la sortie de cette qualification le sont directement à partir de l'API Analyse de texte, 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, cliquez ici.
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.