Repositorio para el Trabajo de Fin de Máster de Inteligencia Artificial por la UNIR (SIDRD - Sistema Inteligente de Detección de Reportes Duplicados)
Se requiere tener instalado al menos python3.8
, pipenv
, docker
, docker-compose
, git
y git-lfs
-
Clonar el repositorio:
git clone https://github.com/Alburrito/sidrd-project.git
-
Levantar la base de datos en una terminal:
sidrd-project/$ docker-compose up
Esta base de datos es ahora accesible en la direcciónhttp://localhost:27017/
-
Instalar los paquetes necesarios, estando en
backend/
:
sidrd-project/backend/$ pipenv install
- Abrir una shell
sidrd-project/backend/$ pipenv shell
- Ejecutar el script de carga de datos
(sidrd-project) sidrd-project/backend/$ python3 load_data.py
Para obtener un mensaje de ayuda, ejecutar, estando en backend/
:
(backend)sidrd-project/backend/$ python3 main.py -h
Rellenar un fichero .csv con la configuración del scraper (ver scraper_config.csv.example para un ejemplo).
Teniendo la base de datos levantada, ejecutar:
sidrd-project/backend/$ pipenv shell
(backend)sidrd-project/backend/$ python3 main.py -s <nombre_del_fichero>
Este fichero debe encontrarse en la carpeta backend/scraper/config/
Se guardarán los reportes en la base de datos y aparecerán los resultados de cada lote en un fichero .csv nuevo. en la misma carpeta
Teniendo la base de datos levantada, ejecutar:
Ejecutar el siguiente comando:
sidrd-project/backend/$ pipenv shell
(backend)sidrd-project/backend/$ python3 main.py -c
El propio script te guiará por el proceso de creación de un nuevo reporte, pidiendo componente, resumen y descripción del reporte.
Proporcionará el SIDRD por defecto (utiliza stemming y resumen+componente) pero ofrece también el último SIDRD entrenado.
Al final del proceso se puede elegir si guardar el reporte en la base de datos o no, además de marcar un duplicado o no.
Rellenar un fichero .json con la configuración del reentreno (ver sidrd_retrain_config.json.sample para un ejemplo).
Teniendo la base de datos levantada, ejecutar:
Ejecutar el siguiente comando:
sidrd-project/backend/$ pipenv shell
(backend)sidrd-project/backend/$ python3 main.py -r <fichero_de_configuración>
El propio script te guiará por el proceso de reentrenamiento del SIDRD, pidiendo el fichero de configuración, ofreciendo un modo verboso para seguir el reentreno.
Para ejecutar los tests:
sidrd-project/backend/$ pipenv shell
(sidrd-project) sidrd-project/backend/$ pytest -v