AI-901
Deep Dive
NLP permite que las máquinas comprendan, interpreten y generen lenguaje humano. El AI-901 evalúa tanto los conceptos fundamentales como los servicios específicos de Azure para cada tarea de NLP.
Contenido
NLP (Natural Language Processing) es el campo de IA que permite a las máquinas comprender, interpretar y generar texto y voz humana. A diferencia de los datos estructurados (tablas, números), el lenguaje natural es ambiguo, contextual y altamente variable.
🧠
Comprensión (NLU)
Entender el significado de texto o voz: ¿qué quiso decir el usuario?
✍️
Generación (NLG)
Producir texto coherente: resúmenes, respuestas, traducciones.
💬
Interacción (NLI)
Diálogo bidireccional: chatbots, asistentes de voz.
El texto crudo pasa por etapas antes de ser analizado:
Entrada de texto
Texto raw: reseña, email, tweet, documento.
Tokenización
Divide el texto en unidades (tokens): palabras, subpalabras o caracteres.
Normalización
Minúsculas, eliminación de puntuación, stopwords, stemming/lemmatization.
Feature extraction
Representar texto como vectores numéricos (TF-IDF, word embeddings, BERT).
Modelo / Tarea NLP
Aplicar el modelo entrenado para la tarea específica (clasificación, NER, etc.).
Salida estructurada
Resultado: etiqueta, entidades, traducción, respuesta generada.
Dividir texto en unidades mínimas llamadas tokens. Puede ser a nivel de palabra, subpalabra o carácter.
// Input
"El gato duerme."
// Word tokens
["El", "gato", "duerme", "."]
// Subword tokens (BPE)
["El", "▁gat", "o", "▁duer", "me", "."]
Para el examen
Los LLMs modernos usan tokenización por subpalabras. "ChatGPT" puede ser varios tokens. El límite de contexto se mide en tokens, no en palabras.
Stopwords
Palabras frecuentes sin significado semántico relevante: "el", "la", "de", "y". Se eliminan en tareas como búsqueda.
Stemming
Reduce palabras a su raíz cortando sufijos: "corriendo" → "corr". Rápido pero impreciso.
Lemmatization
Reduce a la forma base (lema) con contexto gramatical: "corriendo" → "correr". Más preciso que stemming.
Lowercase / normalización
Unificar mayúsculas/minúsculas, quitar acentos, caracteres especiales para reducir variabilidad.
Determina si un texto expresa una opinión positiva, negativa o neutral. También puede identificar el sentimiento por aspecto (opinión sobre aspectos específicos).
Ejemplo práctico
"El envío fue rápido pero el producto llegó dañado." → positivo en envío, negativo en producto.
Trampa de examen
Análisis de sentimiento detecta OPINIÓN, no emoción. Para detectar emociones específicas (enojo, alegría) se usa análisis de emociones, un subconjunto diferente.
En Azure: Azure AI Language → Sentiment Analysis. Devuelve scores (0-1) para positive/negative/neutral y mining de opiniones por aspecto.
Identifica y clasifica entidades nombradas en texto: personas, organizaciones, lugares, fechas, cantidades, eventos, productos.
Ejemplo práctico
"Microsoft anunció el 14 de mayo en Seattle que Azure superó $50B en ingresos." → Microsoft (ORG), 14 de mayo (DATE), Seattle (LOC), $50B (MONEY).
Trampa de examen
NER identifica entidades en texto no estructurado. NO es lo mismo que extracción de campos de documentos (eso es Document Intelligence).
En Azure: Azure AI Language → Named Entity Recognition. También disponible: Entity Linking (vincula entidades a Wikipedia/Bing).
Identifica los conceptos y temas principales de un texto, extrayendo las frases más relevantes sin clasificarlas como entidades.
Ejemplo práctico
"El servicio al cliente fue excelente y la entrega llegó antes de lo esperado." → frases clave: "servicio al cliente", "excelente", "entrega", "antes de lo esperado".
Trampa de examen
Key Phrase Extraction ≠ NER. Key phrases son temas/conceptos importantes; NER son entidades con tipo específico (persona, lugar, fecha). Un resumen de temas usa key phrases; identificar personas nombradas usa NER.
En Azure: Azure AI Language → Key Phrase Extraction. Soporta múltiples idiomas automáticamente.
Identifica el idioma en que está escrito un texto y devuelve un código ISO (ej: "es" para español) junto con un score de confianza.
Ejemplo práctico
"Bonjour, comment allez-vous?" → fr (French), confianza: 0.99.
Trampa de examen
Detección de idioma ≠ Traducción. Solo identifica el idioma; para traducir se usa Azure Translator. Se usa típicamente como primer paso en pipelines multilingüe.
En Azure: Azure AI Language → Language Detection. También integrado en Translator como paso automático.
Asigna una o más categorías predefinidas a un texto. Es una de las tareas de NLP más comunes en producción.
Cada texto recibe exactamente una categoría. Ejemplo: soporte técnico → categorías "Facturación", "Bug", "Solicitud de función".
Un texto puede pertenecer a múltiples categorías simultáneamente. Ejemplo: artículo de noticias → ["Tecnología", "Negocios", "IA"].
Casos de uso típicos
En Azure: Azure AI Language → Custom Text Classification. Permite entrenar con tus propias etiquetas sin experiencia en ML.
Traducción automática neuronal (NMT)
Los modelos modernos de traducción usan transformers que traducen considerando el contexto completo de la oración, no palabra por palabra. Producen traducciones mucho más fluidas y precisas que los enfoques estadísticos anteriores.
Detección de idioma automática
No necesitas indicar el idioma de origen. El modelo lo detecta automáticamente antes de traducir.
Transliteración
Convierte texto entre sistemas de escritura sin traducir el significado: árabe → caracteres latinos para pronunciación.
Trampa de examen
Azure Translator ≠ Azure Language Service. Translator es solo para traducción. Language Service hace sentiment, NER, key phrases, etc.
En Azure: Azure Translator — soporta 100+ idiomas, traducción en tiempo real, Custom Translator para terminología de dominio específico.
Speech-to-Text (STT)
Convierte audio de voz en texto escrito. También conocido como Automatic Speech Recognition (ASR).
Text-to-Speech (TTS)
Convierte texto escrito en voz sintetizada. Los modelos modernos generan voz neural casi indistinguible de la humana.
Trampa de examen: Speech Translation
Azure Speech Service incluye Speech Translation: STT + Traducción + TTS en una sola llamada. Esto es distinto de llamar Translator API separadamente. La pregunta puede especificar traducción en tiempo real de voz — la respuesta es Azure Speech Service, no Azure Translator.
En Azure: Azure AI Speech — unifica STT, TTS, Speech Translation, Speaker Recognition y Custom Keyword en un servicio.
❓ ¿Key Phrase Extraction y NER hacen lo mismo?
No. Key Phrase Extraction identifica los temas/conceptos más importantes del texto (sin tipo específico). NER identifica entidades con una categoría concreta: persona, organización, lugar, fecha. Usa NER cuando necesitas saber QUÉ TIPO de entidad es; usa Key Phrases cuando solo necesitas los temas principales.
❓ ¿Análisis de sentimiento detecta emociones?
No exactamente. Sentiment Analysis clasifica opinión (positivo/negativo/neutral). La detección de emociones específicas (enojo, sorpresa, miedo) es una tarea diferente más granular. Para el examen: si la pregunta habla de "positivo/negativo" → Sentiment Analysis; si habla de emociones específicas → busca Emotion Detection.
❓ ¿Azure Translator hace análisis de texto?
No. Azure Translator solo traduce entre idiomas. Para sentiment, NER, key phrases o clasificación se usa Azure AI Language Service. Son servicios separados con propósitos distintos.
❓ ¿Speech-to-Text y Language Detection son lo mismo?
No. STT convierte audio en texto. Language Detection identifica el idioma de un texto ya escrito. Para audio en un idioma desconocido: primero STT (audio → texto), luego Language Detection (texto → idioma identificado).
¿Entendiste este tema?
Pon a prueba lo que acabas de aprender
Una empresa recibe miles de tickets de soporte al día en múltiples idiomas. Quieren: (1) identificar automáticamente el idioma de cada ticket, (2) extraer el nombre del producto mencionado, y (3) determinar si el cliente está frustrado o satisfecho. ¿Qué combinación de tareas de NLP se necesita?