Capstone Project - Text Prediction App

Alejandra A.
2025-08-17

Introducción

  • Este proyecto es parte del Data Science Capstone (Johns Hopkins / Coursera).
  • Objetivo: construir un algoritmo de predicción de texto.
  • Producto final:
    • Una Shiny App para predecir la siguiente palabra.
    • Una presentación corta (este archivo).

Exploración de Datos

  • Se usaron los corpus de blogs, noticias y Twitter en inglés.
  • Estadísticas básicas (ejemplo):
    • Blogs: ~900,000 líneas.
    • Noticias: ~1,000,000 líneas.
    • Twitter: ~2,300,000 líneas.
  • Distribución de palabras (frecuencias, histogramas).
  • Se utilizó muestreo para reducir tamaño y acelerar el procesamiento.

El Algoritmo

  • Basado en N-gramas (unigramas, bigramas, trigramas).
  • Proceso:
    1. Tokenización y limpieza de texto (minúsculas, sin puntuación).
    2. Construcción de tablas de frecuencias (con tidytext).
    3. Predicción usando backoff model:
      • Si existe trigram → usarlo.
      • Si no, buscar bigram.
      • Si no, unigram más frecuente.

La Shiny App

  • Entrada: un cuadro de texto donde el usuario escribe una frase.
  • Salida: la palabra más probable que sigue.
  • Implementación:
    • Librerías: shiny, dplyr, tidytext.
    • Tablas de n-gramas preprocesadas (.Rds).
  • La app está publicada en shinyapps.io.

Conclusiones

  • El modelo funciona razonablemente bien con un enfoque simple de n-gramas.
  • Limitaciones: tamaño del corpus y precisión frente a modelos más complejos (ej. redes neuronales).
  • Próximos pasos:
    • Optimizar memoria y velocidad.
    • Mejorar exactitud con técnicas de NLP modernas.
  • Entrega:
    • Shiny App en shinyapps.io.
    • Presentación publicada en RPubs.