Skip to content

lacamposm/news-clustering

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

News Clustering

Descripción

Este proyecto realiza un análisis de clustering de noticias del periódico El Tiempo de Colombia. El proceso incluye la obtención de URLs de noticias, extracción del texto completo, generación de resúmenes (con uso de LLM), creación de embeddings de los resúmenes y finalmente la aplicación de técnicas de modelado y clustering.

Requisitos

Dependencias

El proyecto utiliza las bibliotecas de Python en requirements.txt

Instalación

Clone este repositorio:

git clone https://github.com/lacamposm/news-clustering.git
cd news-clustering

Instale las dependencias:

pip install -r requirements.txt

Descargue, instale y ejecute Ollama siguiendo las instrucciones en https://ollama.com/.

Estructura del Proyecto

El proyecto consta de tres scripts principales:

  • utils/scraper.py: Contiene funciones para obtener URLs de noticias y extraer su contenido.
  • utils/llms.py: Incluye funciones para generar resúmenes y embeddings de las noticias.
  • clustering.py: (En desarrollo) Realiza el análisis de clustering utilizando técnicas como t-SNE, K-means y HDBSCAN.
  • main_news.py: Script principal que orquesta el proceso completo de obtención de datos, generación de resúmenes y embeddings.

Y un paquete:

  • model: (En desarrollo) Contiene primeras version de modelado con clustering.

Uso

Para ejecutar el proyecto completo:

python main_news.py

Este script realizará los siguientes pasos:

  • Obtendrá las noticias de El Tiempo.
  • Generará resúmenes de las noticias.
  • Creará embeddings de los resúmenes utilizando varios modelos.
  • Realizara reduccion de dimensionalidad con PCA y UMAP. Ademas de clustres con k-means y visualizacion con t-SNE y UMAP de los primeros resultados.

Notas Adicionales

  • Todos los archivos de datos se generan desde cero durante la ejecución del proyecto.
  • Asegúrese de tener suficiente espacio en disco y recursos computacionales, ya que el procesamiento de grandes cantidades de noticias puede ser intensivo.

Contribuciones

Las contribuciones a este proyecto son bienvenidas. Por favor, abra un issue para discutir cambios mayores antes de enviar un pull request.

Licencia

Este proyecto es de código abierto y está disponible para su uso y reproduccion.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages