Bibliothèque cliente Analyse de texte Azure pour JavaScript - version 1.1.0

Azure Cognitive Service for Language est un service cloud qui fournit un traitement avancé en langage naturel sur du texte brut et comprend les fonctionnalités main suivantes :

Note: Ce KIT de développement logiciel (SDK) cible l’API Azure Cognitive Service for Language version 2023-04-01.

  • Détection de la langue
  • Analyse des sentiments
  • Extraction d’expressions clés
  • Reconnaissance d’entité nommée
  • Reconnaissance des informations d’identification personnelle
  • Liaison d’entités
  • Analyse des soins de santé
  • Résumé extractif
  • Résumé abstrait
  • Reconnaissance d’entité personnalisée
  • Classification de documents personnalisée
  • Prendre en charge plusieurs actions par document

Utilisez la bibliothèque cliente pour :

  • Détectez le texte d’entrée de langue dans lequel il est écrit.
  • Déterminez ce que les clients pensent de votre marque ou de votre sujet en analysant le texte brut à la recherche d’indices sur les sentiments positifs ou négatifs.
  • Extrayez automatiquement des phrases clés pour identifier rapidement les points principaux.
  • Identifiez et catégorisez les entités de votre texte en tant que personnes, lieux, organisations, date/heure, quantités, pourcentages, devises, spécifiques aux soins de santé, etc.
  • Effectuez plusieurs des tâches ci-dessus à la fois.

Liens clés :

Migration à partir de l’avis @azure/ai-text-analytics⚠️

Consultez le Guide de migration pour obtenir des instructions détaillées sur la mise à jour du code d’application de la version 5.x de la bibliothèque cliente AI Analyse de texte vers la nouvelle bibliothèque cliente AI Language Text.

What's New

Prise en main

Environnements actuellement pris en charge

Pour plus d’informations, consultez notre politique de support .

Prérequis

Si vous utilisez Azure CLI, remplacez <your-resource-group-name> et <your-resource-name> par vos propres noms uniques :

az cognitiveservices account create --kind TextAnalytics --resource-group <your-resource-group-name> --name <your-resource-name> --sku <your-sku-name> --location <your-location>

Installez le package @azure/ai-language-text

Installez la bibliothèque cliente Analyse de texte Azure pour JavaScript avec npm:

npm install @azure/ai-language-text

Créez et authentifiez unTextAnalysisClient

Pour créer un objet client afin d’accéder à l’API Language, vous aurez besoin endpoint du de votre ressource Language et d’un credential. Le client Analyse de texte peut utiliser des informations d’identification Azure Active Directory ou des informations d’identification de clé API pour s’authentifier.

Vous trouverez le point de terminaison de votre ressource Language dans le portail Azure ou à l’aide de l’extrait de code Azure CLI ci-dessous :

az cognitiveservices account show --name <your-resource-name> --resource-group <your-resource-group-name> --query "properties.endpoint"

Utilisation d’une clé API

Utilisez le portail Azure pour accéder à votre ressource Language et récupérer une clé API, ou utilisez l’extrait de code Azure CLI ci-dessous :

Note: Parfois, la clé API est appelée « clé d’abonnement » ou « clé API d’abonnement ».

az cognitiveservices account keys list --resource-group <your-resource-group-name> --name <your-resource-name>

Une fois que vous avez une clé API et un point de terminaison, vous pouvez utiliser la AzureKeyCredential classe pour authentifier le client comme suit :

const { TextAnalysisClient, AzureKeyCredential } = require("@azure/ai-language-text");

const client = new TextAnalysisClient("<endpoint>", new AzureKeyCredential("<API key>"));

Utilisation d’informations d’identification Azure Active Directory

L’authentification par clé API cliente est utilisée dans la plupart des exemples, mais vous pouvez également vous authentifier auprès d’Azure Active Directory à l’aide de la bibliothèque Azure Identity. Pour utiliser le fournisseur DefaultAzureCredential indiqué ci-dessous ou d’autres fournisseurs d’informations d’identification fournis avec le kit de développement logiciel (SDK) Azure, installez le package @azure/identity :

npm install @azure/identity

Vous devez également inscrire une nouvelle application AAD et accorder l’accès à Language en attribuant le "Cognitive Services User" rôle à votre principal de service (remarque : d’autres rôles tels que n’accorderont "Owner" pas les autorisations nécessaires, suffiront uniquement "Cognitive Services User" pour exécuter les exemples et l’exemple de code).

Définissez les valeurs de l’ID client, de l’ID de locataire et de la clé secrète client de l’application AAD en tant que variables d’environnement : AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET.

const { TextAnalysisClient } = require("@azure/ai-language-text");
const { DefaultAzureCredential } = require("@azure/identity");

const client = new TextAnalysisClient("<endpoint>", new DefaultAzureCredential());

Concepts clés

TextAnalysisClient

TextAnalysisClient est l’interface principale pour les développeurs qui utilisent la bibliothèque cliente Analyse de texte. Explorez les méthodes de cet objet client pour comprendre les différentes fonctionnalités du service Language auquel vous pouvez accéder.

Entrée

Un document représente une unité d’entrée unique à analyser par les modèles prédictifs dans le service Language. Les opérations sur TextAnalysisClient prennent une collection d’entrées à analyser en tant que lot. Les méthodes d’opération ont des surcharges qui permettent aux entrées d’être représentées sous forme de chaînes ou d’objets avec des métadonnées attachées.

Par exemple, chaque document peut être passé sous forme de chaîne dans un tableau, par exemple.

const documents = [
  "I hated the movie. It was so slow!",
  "The movie made it into my top ten favorites.",
  "What a great movie!",
];

ou, si vous souhaitez passer un document id par élément ou languagecountryHint/, ils peuvent être donnés sous forme de liste de ou DetectLanguageInput en fonction de TextDocumentInput l’opération ;

const textDocumentInputs = [
  { id: "1", language: "en", text: "I hated the movie. It was so slow!" },
  { id: "2", language: "en", text: "The movie made it into my top ten favorites." },
  { id: "3", language: "en", text: "What a great movie!" },
];

Consultez Limitations du service pour l’entrée, notamment les limites de longueur du document, la taille maximale des lots et les encodages de texte pris en charge.

Valeur renvoyée

La valeur de retour correspondant à un document unique est un résultat réussi ou un objet d’erreur. Chaque TextAnalysisClient méthode retourne un tableau hétérogène de résultats et d’erreurs qui correspondent aux entrées par index. Une entrée de texte et son résultat auront le même index dans les collections d’entrée et de résultat.

Un résultat, tel que SentimentAnalysisResult, est le résultat d’une opération Language, contenant une prédiction ou des prédictions relatives à une entrée de texte unique. Le type de résultat d’une opération peut également inclure éventuellement des informations sur le document d’entrée et la façon dont il a été traité.

L’objet error, TextAnalysisErrorResult, indique que le service a rencontré une erreur lors du traitement du document et contient des informations sur l’erreur.

Gestion des erreurs de document

Dans la collection retournée par une opération, les erreurs sont distinguées des réponses réussies par la présence de la error propriété, qui contient l’objet interne TextAnalysisError si une erreur a été rencontrée. Pour les objets de résultat réussis, cette propriété est toujoursundefined.

Par exemple, pour filtrer toutes les erreurs, vous pouvez utiliser les éléments suivants filter:

const results = await client.analyze("SentimentAnalysis", documents);
const onlySuccessful = results.filter((result) => result.error === undefined);

Remarque : les utilisateurs de TypeScript peuvent bénéficier d’une meilleure vérification de type des objets de résultat et d’erreur si compilerOptions.strictNullChecks est défini sur true dans la tsconfig.json configuration. Par exemple :

const [result] = await client.analyze("SentimentAnalysis", ["Hello world!"]);

if (result.error !== undefined) {
  // In this if block, TypeScript will be sure that the type of `result` is
  // `TextAnalysisError` if compilerOptions.strictNullChecks is enabled in
  // the tsconfig.json

  console.log(result.error);
}

Exemples

Utilisation du client

Tâches prédéfinies

Tâches personnalisées

Résolution des problèmes

Journalisation

L’activation de la journalisation peut vous aider à mieux comprendre les échecs. Pour avoir un journal des requêtes et réponses HTTP, définissez la variable d’environnement AZURE_LOG_LEVEL sur info. Vous pouvez également activer la journalisation au moment de l’exécution en appelant setLogLevel dans @azure/logger :

const { setLogLevel } = require("@azure/logger");

setLogLevel("info");

Pour obtenir des instructions plus détaillées sur l’activation des journaux, consultez les documents relatifs au package @azure/logger.

Étapes suivantes

Consultez le répertoire d’exemples pour obtenir des exemples détaillés sur l’utilisation de cette bibliothèque.

Contribution

Si vous souhaitez contribuer à cette bibliothèque, lisez le guide de contribution pour en savoir plus sur la génération et le test du code.

Impressions