Analizar texto de forma automática para extraer ideas clave, detectar idiomas, reconocer entidades y evaluar sentimientos ya no requiere construir modelos desde cero. Text Analytics, uno de los servicios cognitivos de Azure, ofrece estas cuatro capacidades como un modelo de inteligencia artificial preentrenado, listo para consumirse a través de un API REST o mediante SDKs. A continuación se explica cómo funciona, cuáles son sus límites y de qué manera integrarlo en tus proyectos.
¿Qué características ofrece Text Analytics?
Text Analytics agrupa cuatro funcionalidades principales que se pueden invocar de manera independiente [0:27]:
- Extracción de frases clave: identifica las key phrases o ideas más importantes dentro de un texto, similar a subrayar ideas principales en un documento.
- Detección de idioma: determina con un porcentaje de confianza en qué idioma está escrito el texto enviado. Incluso si el contenido mezcla varios idiomas, el servicio señala cuál es el idioma predominante [1:10].
- Reconocimiento de entidades: clasifica elementos del texto en categorías como fechas, lugares, personas u organizaciones, soportando hasta veinte tipos distintos de entidades [1:30].
- Análisis de sentimientos: evalúa si una frase tiene connotación positiva, negativa o neutral, devolviendo los porcentajes asociados a cada categoría [1:55].
Estas capacidades pueden combinarse con otros servicios cognitivos. Por ejemplo, se puede usar OCR para convertir una imagen en texto y luego pasar ese resultado por Text Analytics, o bien convertir voz a texto y después analizarlo [2:12].
¿Cómo es el flujo de trabajo típico para consumir el servicio?
El proceso sigue un patrón sencillo porque los servicios cognitivos son modelos preentrenados que no requieren personalización inicial [2:55]:
- Crear el recurso de Text Analytics en Azure y obtener la llave de suscripción y el endpoint [3:40].
- Enviar un request en formato JSON con el texto a analizar hacia el endpoint del servicio.
- Recibir la respuesta en JSON y manipular los resultados en tu aplicación.
Un concepto importante es que los servicios cognitivos son idempotentes [4:15]: cada vez que envías los mismos parámetros de entrada obtienes el mismo resultado. Además, la respuesta no se almacena en el servicio; funciona como un servicio stateless donde no se guarda estado de sesión.
¿Es necesario saber programar para usar Text Analytics?
No. Aunque el servicio se expone como un API REST, también puede integrarse con herramientas low-code como Power Automate, Microsoft Flow o Power BI [4:50]. Por ejemplo, podrías extraer información de Excel, enviarla a Text Analytics mediante un flujo automatizado y visualizar los sentimientos de los comentarios directamente en un dashboard. La aplicación Intelligent Kiosk también permite probar el servicio sin escribir código [5:20].
¿Cuáles son los límites de tamaño y frecuencia?
Es fundamental conocer las restricciones antes de diseñar una solución [5:45]:
- Cada solicitud admite un máximo de 5,120 caracteres. Si el texto es más extenso, debe dividirse en fragmentos más pequeños.
- El tamaño máximo del request completo es de 1 MB.
- En la capa gratuita solo se permite una instancia por suscripción.
- En capas estándar, la frecuencia varía: S1 permite 200 requests por segundo y 300 por minuto, mientras que S3 y S4 soportan hasta 1,000 por segundo y 1,000 por minuto [6:30].
Cuando se alcanza el límite de requests por minuto, el servicio devuelve un error de tipo too many requests y es necesario esperar al siguiente minuto para que el contador se reinicie [7:00].
¿Qué estrategias ayudan a manejar los límites del servicio?
Una técnica común en programación es implementar un balanceador de carga con estrategia round robin [7:15]. La idea es distribuir las peticiones entre múltiples endpoints de servicios cognitivos para evitar que un solo recurso se sature y alcance el límite de frecuencia.
Para textos extensos, la recomendación es segmentar el contenido en partes más pequeñas. En Text Analytics, un documento se define simplemente como una cadena de caracteres de texto que se envía dentro del request [7:45].
Si ya tienes curiosidad por ver estos conceptos aplicados, comparte en los comentarios qué caso de uso te gustaría explorar primero con Text Analytics.