Reconnaître les entités
La reconnaissance d’entité nommée est une fonctionnalité offerte par Azure AI Language. Il identifie et catégorise les entités dans du texte non structuré. Il prend en charge plusieurs catégories d’entités, notamment les personnes, les emplacements, les événements, les produits, les organisations, etc.
Il existe plusieurs façons d’appeler l’API de reconnaissance d’entité nommée. Ici, vous utilisez l’extension azure_ai
pour reconnaître les entités à partir du texte dans les requêtes SQL.
Prérequis
Vous avez besoin d’un serveur flexible Azure Database pour PostgreSQL, avec l’extension azure_ai
activée et configurée. Vous devez également l’autoriser avec Azure Cognitive Services en définissant la clé et le point de terminaison d’une ressource de langage.
Scénarios
La reconnaissance d’entité est utile dans plusieurs domaines, tels que :
- Recherche et indexation : Générez automatiquement des graphiques de connaissances et des répertoires de balises avec des entités identifiées.
- Automatisation des processus : Reconnaît automatiquement les produits et les emplacements dans du texte non structuré et les route vers les demandes de support client.
- Analyse du marché : Mesure les entités et clusters d’entités les plus fréquents à partir des réseaux sociaux, des avis des clients, des tickets de support, etc., pour déterminer les sujets pertinents et anticiper les tendances.
Utilisation de la reconnaissance d’entité nommée dans SQL avec Azure Cognitive Services
Le serveur flexible Azure Database pour PostgreSQL de l’extension azure_aifournit des fonctions définies par l’utilisateur (UDF) pour accéder directement aux fonctionnalités d’IA à partir de SQL. L’API de reconnaissance d’entité nommée est accessible avec la fonction azure_cognitive.recognize_entities
fournie par azure_ai
:
azure_cognitive.recognize_entities(
text text,
language text,
timeout_ms integer DEFAULT 3600000,
throw_on_error boolean DEFAULT true,
disable_service_logs boolean DEFAULT false
)
Les paramètres requis sont text
, l’entrée et language
, la langue dans laquelle text
est écrite. Par exemple, en-us
est en anglais américain est fr
en français. Consultez la prise en charge linguistique pour obtenir la liste complète des langues disponibles.
Par défaut, la reconnaissance d’entité est arrêtée si elle ne se termine pas dans 3 600 000 ms = 1 heure. Vous pouvez personnaliser ce délai en modifiant timeout_ms
.
Si une erreur se produit, le comportement par défaut consiste à lever une exception, ce qui entraîne une restauration des transactions. Vous pouvez désactiver ce comportement en définissant throw_on_error
sur false.
Consultez la documentation de l’extension Azure Cognitive Services pour obtenir la documentation complète sur les paramètres.
Par exemple, appel de cette requête :
SELECT azure_cognitive.recognize_entities('For more information, see Cognitive Services Compliance and Privacy notes.', 'en-us');
Donne ce résultat :
{"(\"Cognitive Services\",Skill,\"\",0.94)"}
Indiquant que le nom de l’entité est « Cognitive Services », il est identifié comme une compétence avec un score de confiance de 0,94.
Vous pouvez utiliser des colonnes de tableau pour le texte d’entrée :
SELECT description, azure_cognitive.recognize_entities(description, 'en-us')
FROM listings LIMIT 1;
Résultat :
{"(house,Location,\"\",0.77)","(2013.,DateTime,DateRange,1)","(\"rooftop deck\",Location,\"\",0.88)","(\"lounge area\",Location,Structural,0.97)","(tub,Product,\"\",0.52)","
(5,Quantity,Number,0.8)","(bedrooms,Location,\"\",0.92)","(\"gourmet kitchen\",Location,\"\",0.87)","(2-3,Quantity,NumberRange,0.87)","(downtown,Location,Structural,0.8)","(\
"Queen Anne neighborhood\",Location,\"\",0.74)","(house,Location,\"\",0.96)","(barnwood,Product,\"\",0.61)","(steel,Product,\"\",0.73)","(concrete,Product,\"\",0.7)","(living
,Location,Structural,0.53)","(\"gourmet kitchen\",Location,\"\",0.7)","(kitchen,Location,\"\",0.77)","(reading,Skill,\"\",0.54)","(half,Quantity,Number,0.8)","(\"tv room\",Lo
cation,\"\",0.89)","(kitchen,Location,\"\",0.64)","(Fireplace,Product,\"\",0.91)","(sofa,Product,\"\",0.98)","(\"sitting area\",Location,\"\",0.93)","(\"Basement room\",Locat
ion,\"\",0.98)","(kids,PersonType,\"\",0.73)","(room,Location,Structural,0.78)","(patio,Location,Structural,0.75)","(basketball,Product,\"\",0.57)","(bedroom,Location,\"\",0.
8)","(basement,Location,\"\",0.94)","(\"concrete heated floors\",Product,\"\",0.95)","(\"queen sleeper sofa\",Product,\"\",0.86)","(tv,Location,\"\",0.54)","(basement,Locatio
n,\"\",0.92)","(room,Location,Structural,0.9)","(\"a second\",DateTime,Duration,0.85)","(family,PersonType,\"\",0.71)","(kids,PersonType,\"\",0.65)","(\"2nd floor\",Location,
Structural,0.56)","(4,Quantity,Number,0.8)","(bedrooms,Location,\"\",0.66)","(one,Quantity,Number,0.8)","(one,Quantity,Number,0.8)","(bedroom,Location,\"\",0.54)","(\"twin bu
nk beds\",Product,\"\",0.67)"}
Résumé
La reconnaissance d’entité nommée identifie et catégorise les entités dans le texte d’entrée. Le modèle de langage Azure Cognitive Services effectue le traitement du langage naturel lourd. L’extension azure_ai
d’Azure Database pour PostgreSQL fournit à l’API azure_cognitive.recognize_entities
d’accéder à la reconnaissance d’entité nommée directement dans les requêtes SQL.