Este proyecto está diseñado para ayudar a profesionales e investigadores a aprender y trabajar con Procesamiento de Lenguaje Natural (NLP). Proporciona tutoriales prácticos y ejemplos que abarcan desde la comparación de documentos hasta la evaluación de texto utilizando métricas estándar en la industria. Además, se incluyen herramientas modernas para la gestión de datos, generación de embeddings y análisis reproducible.
- Comparación de documentos utilizando:
- Similitud coseno.
- Distancia euclidiana.
- Distancia de Jaccard.
- Evaluación de texto con métricas como:
- BLEU (evaluación de texto generado).
- ROUGE (evaluación estructural de texto).
- SacreBLEU (evaluación reproducible de texto generado).
- Uso de embeddings pre-entrenados con Sentence-Transformers.
- Manejo y evaluación de datasets grandes como los disponibles en BEIR.
- Hugging Face Transformers: Manejo de modelos pre-entrenados.
- FAISS: Búsqueda vectorial eficiente para tareas de recuperación de información.
- Matplotlib y Seaborn: Visualización de métricas y resultados.
Este proyecto ha sido probado en el siguiente entorno, pero puede adaptarse a otros sistemas operativos y configuraciones:
- Sistema Operativo: MacOS Ventura 13.5 (22G74).
- Chip: Apple M2 Max.
- RAM: 64 GB.
- Python: 3.10 o superior.
- Miniconda: Para la creación y gestión de ambientes virtuales.
- Familiaridad con Python y bibliotecas para procesamiento de datos.
- Conceptos básicos de NLP (embeddings, métricas de similitud).
- Uso de Jupyter Notebooks para ejecutar los tutoriales.
Ejecuta el siguiente comando en la consola para crear un ambiente virtual llamado nlp_tutorials
:
conda create --name nlp_tutorials python=3.10 -y
Activa el ambiente recién creado con:
conda activate nlp_tutorials
Ejecuta los siguientes comandos para instalar todas las dependencias necesarias:
-
Instalar Pandas:
conda install -c conda-forge pandas -y
-
Instalar FAISS, Sentence-Transformers y Scikit-Learn:
conda install -c conda-forge faiss sentence-transformers scikit-learn -y
-
Instalar Matplotlib y Seaborn:
conda install -c conda-forge matplotlib seaborn -y
-
Instalar Hugging Face Hub:
conda install -c conda-forge huggingface_hub -y
-
Instalar SentencePiece:
conda install -c conda-forge sentencepiece -y
-
Instalar BEIR:
pip install beir
-
Instalar Rouge-Score:
pip install rouge-score
-
Instalar SacreBLEU:
pip install sacrebleu
-
Instalar Hugging Face Evaluate:
pip install evaluate
-
Instalar Ipywidgets:
conda install -c conda-forge ipywidgets -y
-
Instalar JupyterLab y Notebook:
conda install -c conda-forge notebook jupyterlab -y
Ejecuta los siguientes comandos para asegurarte de que las bibliotecas adicionales están instaladas:
pip install transformers
pip install datasets
pip install numpy pandas
-
Ejecutar JupyterLab o Notebook:
jupyter lab
o
jupyter notebook
-
Cargar los tutoriales: Abre los notebooks incluidos en el directorio
notebooks/
para explorar ejemplos prácticos. -
Ejecutar el pipeline: Sigue las instrucciones en cada notebook para realizar tareas específicas de NLP.
nlp_tutorials/
│
├── notebooks/
│ ├── tutorial1_similarity_metrics.ipynb # Comparación de documentos
│ ├── tutorial2_embeddings.ipynb # Uso de embeddings
│ └── tutorial3_evaluation_metrics.ipynb # Evaluación con BLEU, ROUGE, etc.
│
├── requirements.txt # Lista de dependencias
├── README.md # Documentación del proyecto
└── data/ # Datasets utilizados en los tutoriales
Si deseas contribuir al proyecto:
- Realiza un fork del repositorio.
- Crea un branch para tus cambios:
git checkout -b feature/nueva_funcionalidad
- Realiza un pull request describiendo tus cambios.
Si tienes problemas o preguntas, abre un issue en el repositorio o contacta a los colaboradores principales.
Este proyecto está bajo la Licencia MIT. Consulta el archivo LICENSE
para más detalles.
- Este proyecto está diseñado para sistemas macOS, pero puede adaptarse fácilmente a otros sistemas operativos.
- La configuración está optimizada para hardware con alto rendimiento.