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
- Versiones de LTS de Node.js
- Versiones más recientes de Safari, Chrome, Edge y Firefox.
Para más información, consulte la directiva de compatibilidad.
Requisitos previos
- Una suscripción de Azure.
- Un recurso de Cognitive Services o language existente. Si necesita crear el recurso, puede usar Azure Portal o la CLI de Azure siguiendo los pasos descritos en este documento.
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 language
countryHint
/, 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
- Procesamiento por lotes de acciones
- Elegir versión del modelo
- Paginación
- Rehidratación del sondeo
- Obtener estadísticas
Tareas precompiladas
- Resumen abstracto
- Detección de idioma
- Entity Linking
- Regconition de entidad
- Resumen extractivo
- Análisis de atención sanitaria
- Extracción de frases clave
- Detección de idioma
- Minería de opiniones
- Reconocimiento de entidades de PII
- Análisis de sentimiento
Tareas personalizadas
- Reconocimiento de entidades personalizadas
- Custom Single-lable Classfication
- Custom Multi-lable Classfication
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.
Proyectos relacionados
Azure SDK for JavaScript