Biblioteca cliente de Análisis de texto de Azure para JavaScript: versión 1.1.0

Azure Cognitive Service for Language es un servicio basado en la nube que proporciona procesamiento avanzado de lenguaje natural sobre texto sin formato e incluye las siguientes características principales:

Nota: Este SDK tiene como destino Azure Cognitive Service para language API versión 2023-04-01.

  • Detección de idiomas
  • Análisis de sentimiento
  • Extracción de frases clave
  • Reconocimiento de entidades con nombre
  • Reconocimiento de información de identificación personal
  • Entity Linking
  • Análisis de atención sanitaria
  • Resumen extractivo
  • Resumen abstracto
  • Reconocimiento de entidades personalizadas
  • Clasificación de documentos personalizada
  • Compatibilidad con varias acciones por documento

Use la biblioteca cliente para:

  • Detecte en qué idioma se escribe el texto de entrada.
  • Determine qué clientes piensan de su marca o tema mediante el análisis de texto sin formato para obtener pistas sobre opiniones positivas o negativas.
  • Extracción de las frases clave para identificar rápidamente los puntos principales.
  • Identifique y clasifique las entidades del texto como personas, lugares, organizaciones, fecha y hora, cantidades, porcentajes, monedas, específicas de la atención sanitaria, etc.
  • Realice varias de las tareas anteriores a la vez.

Vínculos principales:

Migración desde @azure/ai-text-analytics el aviso⚠️

Consulte la Guía de migración para obtener instrucciones detalladas sobre cómo actualizar el código de aplicación de la versión 5.x de la biblioteca cliente de TEXT ANALYTICS de IA a la nueva biblioteca cliente de texto de idioma de IA.

Novedades

Introducción

Entornos admitidos actualmente

Para más información, consulte la directiva de compatibilidad.

Requisitos previos

Si usa la CLI de Azure, reemplace <your-resource-group-name> y <your-resource-name> por sus propios nombres únicos:

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

Instalar el paquete @azure/ai-language-text

Instale la biblioteca cliente de Análisis de texto de Azure para JavaScript con npm:

npm install @azure/ai-language-text

Crear y autenticar una TextAnalysisClient

Para crear un objeto de cliente para acceder a language API, necesitará el endpoint del recurso language y un credential. El cliente de Text Analysis puede usar credenciales de Azure Active Directory o una credencial de clave de API para autenticarse.

Puede encontrar el punto de conexión del recurso language en Azure Portal o mediante el fragmento de código de la CLI de Azure siguiente:

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

Uso de una clave de API

Use Azure Portal para ir al recurso de lenguaje y recuperar una clave de API, o bien use el fragmento de código de la CLI de Azure siguiente:

Nota: A veces, la clave de API se conoce como "clave de suscripción" o "clave de API de suscripción".

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

Una vez que tenga una clave de API y un punto de conexión, puede usar la AzureKeyCredential clase para autenticar el cliente de la siguiente manera:

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

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

Uso de una credencial de Azure Active Directory

La autenticación de clave de API de cliente se usa en la mayoría de los ejemplos, pero también puede autenticarse con Azure Active Directory mediante la biblioteca de identidades de Azure. Para usar el proveedor DefaultAzureCredential que se muestra a continuación u otros proveedores de credenciales proporcionados con el SDK de Azure, instale el paquete @azure/identity:

npm install @azure/identity

También deberá registrar una nueva aplicación de AAD y conceder acceso al lenguaje mediante la asignación del "Cognitive Services User" rol a la entidad de servicio (tenga en cuenta que otros roles como "Owner" no concederán los permisos necesarios, solo "Cognitive Services User" bastarán para ejecutar los ejemplos y el código de ejemplo).

Establezca los valores del identificador de cliente, el identificador de inquilino y el secreto de cliente de la aplicación de AAD como variables de entorno: 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());

Conceptos clave

TextAnalysisClient

TextAnalysisClient es la interfaz principal para los desarrolladores que usan la biblioteca cliente de Text Analysis. Explore los métodos de este objeto de cliente para comprender las diferentes características del servicio language al que puede acceder.

Entrada

Un documento representa una sola unidad de entrada que analizarán los modelos predictivos en el servicio Language. Las operaciones en TextAnalysisClient toman una colección de entradas que se van a analizar como un lote. Los métodos de operación tienen sobrecargas que permiten representar las entradas como cadenas o como objetos con metadatos adjuntos.

Por ejemplo, cada documento se puede pasar como una cadena en una matriz, por ejemplo,

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

o bien, si desea pasar un documento id por elemento o languagecountryHint/, se pueden proporcionar como una lista de o DetectLanguageInput dependiendo de TextDocumentInput la operación;

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!" },
];

Consulte las limitaciones del servicio para la entrada, incluidos los límites de longitud del documento, el tamaño máximo del lote y las codificaciones de texto admitidas.

Valor devuelto

El valor devuelto correspondiente a un único documento es un resultado correcto o un objeto de error. Cada TextAnalysisClient método devuelve una matriz heterogénea de resultados y errores que corresponden a las entradas por índice. Una entrada de texto y su resultado tendrán el mismo índice en las colecciones de entrada y resultados.

Un resultado, como SentimentAnalysisResult, es el resultado de una operación de lenguaje, que contiene una predicción o predicciones sobre una sola entrada de texto. El tipo de resultado de una operación también puede incluir información sobre el documento de entrada y cómo se procesó.

El objeto de error , TextAnalysisErrorResult, indica que el servicio encontró un error al procesar el documento y contiene información sobre el error.

Control de errores de documentos

En la colección devuelta por una operación, los errores se distinguen de las respuestas correctas por la presencia de la error propiedad , que contiene el objeto interno TextAnalysisError si se encontró un error. Para los objetos de resultado correctos, esta propiedad siempreundefined es .

Por ejemplo, para filtrar todos los errores, puede usar lo siguiente filter:

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

Nota: Los usuarios de TypeScript pueden beneficiarse de una mejor comprobación de tipos de objetos de error y resultados si compilerOptions.strictNullChecks está establecido true en en la tsconfig.json configuración. Por ejemplo:

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);
}

Ejemplos

Uso del cliente

Tareas precompiladas

Tareas personalizadas

Solución de problemas

Registro

La habilitación del registro puede ayudar a descubrir información útil sobre los errores. Para ver un registro de solicitudes y respuestas HTTP, establezca la variable de entorno AZURE_LOG_LEVEL en info. Como alternativa, el registro se puede habilitar en tiempo de ejecución llamando a setLogLevel en @azure/logger:

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

setLogLevel("info");

Para obtener instrucciones más detalladas sobre cómo habilitar los registros, consulte los documentos del paquete @azure/logger.

Pasos siguientes

Eche un vistazo al directorio de ejemplos para obtener ejemplos detallados sobre cómo usar esta biblioteca.

Contribuciones

Si desea contribuir a esta biblioteca, lea la guía de contribución para obtener más información sobre cómo compilar y probar el código.

Impresiones