Este repositorio contiene implementaciones y experimentos con modelos generativos profundos, enfocándose principalmente en modelos autoregresivos para procesamiento de lenguaje natural (NLP).
Este proyecto forma parte de un semillero de investigación dedicado al estudio y desarrollo de modelos generativos profundos. El enfoque principal está en:
- Modelos Autoregresivos: Implementación de arquitecturas que generan texto token por token
- Procesamiento de Lenguaje Natural: Técnicas fundamentales de NLP aplicadas a textos clásicos
- Tokenización: Desarrollo de tokenizadores personalizados para manejo de texto
Deep-generative-modeling/
├── Autoregressive Models/
│ ├── autoregresive_models.ipynb # Implementación principal de modelos autoregresivos
│ └── basic_nlp.ipynb # Fundamentos de NLP y preprocesamiento
├── Data/
│ ├── cervantes_2.txt # Texto de Don Quijote de la Mancha
│ ├── cervantes.txt # Datos adicionales de Cervantes
│ └── shakespeare.txt # Obras de Shakespeare
├── Raw_data/
│ └── Miguel de Cervantes El Ingenioso Hidalgo Don Quijote de la Mancha.pdf
├── requirements.txt # Dependencias del proyecto
└── README.md # Este archivo
- Tokenizador Personalizado: Implementación de un tokenizador simple para procesamiento de texto
- Vocabulario Dinámico: Construcción automática de vocabulario con manejo de frecuencias mínimas
- Tokens Especiales: Soporte para tokens especiales como
<UNK>,<PAD>,<SOS>,<EOS>
- Textos Clásicos: Corpus basado en obras literarias clásicas en español e inglés
- Don Quijote de la Mancha: Texto completo de Miguel de Cervantes
- Obras de Shakespeare: Colección de textos shakespearianos
- Python 3.8+
- Conda (recomendado para gestión de entornos)
- Clonar el repositorio:
git clone <url-del-repositorio>
cd Deep-generative-modeling- Crear entorno virtual con Conda:
conda create -n deep-gen python=3.8
conda activate deep-gen- Instalar dependencias:
pip install -r requirements.txt- Deep Learning: PyTorch (torch, torchvision, torchaudio)
- NLP: NLTK, spaCy, Transformers, Tokenizers
- Análisis de Datos: Pandas, NumPy, Scikit-learn
- Visualización: Matplotlib, Seaborn, WordCloud
- Desarrollo: Jupyter, IPywidgets
jupyter notebook "Autoregressive Models/basic_nlp.ipynb"jupyter notebook "Autoregressive Models/autoregresive_models.ipynb"from tokenizer import SimpleTokenizer
# Inicializar tokenizador
tokenizer = SimpleTokenizer()
# Construir vocabulario
with open("Data/cervantes_2.txt", "r", encoding="utf-8") as file:
text = file.read()
tokenizer.build_vocab(text, min_freq=2)
# Tokenizar texto
tokens = tokenizer.tokenize("En un lugar de la Mancha")
print(f"Tokens: {tokens}")- Estrategia: Tokenización a nivel de palabra
- Preprocesamiento: Normalización de texto y manejo de puntuación
- Vocabulario: Construcción automática con filtrado por frecuencia
- Redes Neuronales: Implementación con PyTorch
- Funciones de Activación: Soporte para múltiples funciones de activación
- Optimización: Algoritmos de entrenamiento personalizables
- Don Quijote de la Mancha: Obra completa de Miguel de Cervantes
- Shakespeare: Colección de obras shakespearianas
- Formato: Archivos de texto plano (.txt) en UTF-8
- Limpieza de texto
- Normalización de caracteres
- Segmentación por tokens
Este es un proyecto de investigación académica. Para contribuir:
- Forkear el repositorio
- Crear una rama para la nueva característica
- Realizar commits con mensajes descriptivos
- Enviar pull request con descripción detallada
Este proyecto es parte de un semillero de investigación académica. Consulte con los responsables del proyecto para información sobre uso y distribución.
Para preguntas sobre el proyecto o colaboraciones, contactar a través del semillero de investigación correspondiente.
- PyTorch Documentation: https://pytorch.org/docs/
- Transformers Library: https://huggingface.co/docs/transformers/
- NLTK: https://www.nltk.org/
Nota: Este proyecto está en desarrollo activo como parte de actividades de investigación académica en modelos generativos profundos.