NLP Academy · Lección

N-gramas de caracteres para mayor robustez

Gestionar errores tipográficos y palabras poco frecuentes

Lección 2 de 413 pasos

N-gramas de caracteres para mayor robustez es una lección gratuita de NLP Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de NLP Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de NLP Academy incluye 4 lecciones en total.

Las características de palabras son frágiles

Las características basadas en palabras fallan con los errores tipográficos y las grafías poco frecuentes. El modelo ve runnning como una palabra completamente nueva, por lo que un solo error puede hacerle perder toda su señal.

Baje al nivel de los caracteres

En lugar de palabras completas, dividimos el texto en fragmentos cortos de letras. Estas piezas superpuestas se denominan n-gramas de caracteres.

Cómo es un 3-grama

Para la palabra cat, los 3-gramas de caracteres son simples grupos de tres letras. Se desplazan por el texto una posición cada vez para formar fragmentos superpuestos.

word = "happy"
grams = [word[i:i+3] for i in range(len(word)-2)]

Por qué sobreviven a los errores tipográficos

Las palabras run y runn comparten la mayoría de sus n-gramas de caracteres. Por eso, un error tipográfico solo cambia unas pocas características en lugar de borrar la palabra completa.

Detectar familias de palabras

play, playing y player comparten el n-grama pla. Los n-gramas de caracteres relacionan discretamente formas relacionadas sin ningún paso de stemming.

Ideales para texto desordenado

Las redes sociales, los nombres de usuario y los códigos de productos están llenos de grafías extrañas. Los n-gramas de caracteres siguen siendo robustos cuando las características de palabras dejan de funcionar.

Activar el modo de caracteres

scikit-learn convierte esto en un solo parámetro. Establezca analyzer en char y elija un ngram_range para extraer n-gramas de caracteres en lugar de palabras.

from sklearn.feature_extraction.text import TfidfVectorizer
vec = TfidfVectorizer(analyzer="char", ngram_range=(3, 5))

char_wb respeta las palabras

El analizador char_wb solo crea n-gramas dentro de los límites de cada palabra y añade relleno a cada una. Mantiene la robustez y evita los n-gramas que abarcan dos palabras.

vec = TfidfVectorizer(analyzer="char_wb", ngram_range=(2, 4))

Útiles para otros idiomas

Los idiomas que unen las palabras o tienen terminaciones muy variadas resultan difíciles para los tokenizadores de palabras. Los n-gramas de caracteres evitan ese problema y son adecuados para distintos idiomas.

El coste: más características

Los n-gramas de caracteres crean muchas más características que las palabras. Esa dimensionalidad adicional requiere más memoria, así que mantenga el intervalo reducido.

Mejor como complemento

Los n-gramas de caracteres destacan cuando se combinan con características de palabras, no cuando las sustituyen. Juntos cubren tanto el significado como la robustez. 💪

Comprobación rápida

¿Por qué los n-gramas de caracteres gestionan tan bien los errores tipográficos?

Resumen

Los n-gramas de caracteres dividen el texto en fragmentos de letras, sobreviven a los errores tipográficos y relacionan familias de palabras. Use analyzer char en scikit-learn junto con las características de palabras. ✅

Gratis para empezar

Aprende Python con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
30
Lecciones
120

Preguntas frecuentes

¿La lección «N-gramas de caracteres para mayor robustez» es gratis?

Sí — el texto completo de «N-gramas de caracteres para mayor robustez» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de NLP Academy, actualiza a CoddyKit PRO. El curso de NLP Academy incluye 4 lecciones en total.

¿Qué aprenderé en «N-gramas de caracteres para mayor robustez»?

Gestionar errores tipográficos y palabras poco frecuentes Practicas NLP Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar NLP Academy?

No se requiere experiencia previa. NLP Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «N-gramas de caracteres para mayor robustez»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de NLP Academy?

Sí. Cada lección de NLP Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Más allá de la bolsa de palabras
  2. N-gramas de caracteres para mayor robustez
  3. Combinación de varios tipos de características
  4. Escalado y selección de características
← Volver a NLP Academy