glp1002 / JCR_Impact_Factor

Repositorio para el TFG "JCR Impact Factor"

Home Page:https://paperrank.herokuapp.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

JCR_Impact_Factor

🔗 Página web: https://paperrank.herokuapp.com/

Logo de Paperrank

Índice

  1. Descripción
  2. Participantes 👨‍👩‍👧
  3. Contenido 📦
  4. Instrucciones para el lanzamiento en local 👨‍💻
  5. Licencia

Descripción

El presente proyecto se centra en la extracción de datos bibliográficos con el fin de calcular y predecir el Factor de Impacto. Esta métrica se utiliza para evaluar la importancia de una revista en un campo científico determinado. Se mide a través de la frecuencia con la que los artículos de la misma han sido citados en un año específico. Se trata de un criterio importante en la evaluación de la calidad del trabajo científico y puede ser de gran ayuda en la selección de la revista adecuada para publicar un nuevo trabajo.

Se extraen los datos históricos disponibles en la web (tales como Google Scholar, Crossref, Web of Science, Scopus...) empleando técnicas de web scrapping sobre las distintas fuentes. Estos datos se utilizan como entradas para los algoritmos de aprendizaje automático, que serán supervisados y se utilizarán para estimar el valor del Índice de Impacto de las revistas indexadas en el JCR (Journal Citation Reports).

El producto final es una aplicación web accesible y de fácil uso para la comunidad científica, que permita predecir la importancia de las revistas científicas en tiempo real.

Participantes

  • Virginia Ahedo García (tutora)
  • Álvar Arnaiz González (co-tutor)
  • Gadea Lucas Pérez (alumna: glp1002@alu.ubu.es)

Contenido

Carpetas:

  • calculate_jcr: contiene los módulos necesarios para el cálculo del JCR
  • data_extraction: contiene los modelos desarrollados para la fase de extracción de datos
  • doc: contiene la documentación del proyecto (memoria y anexos) en formato LaTex y PDF
  • prediction_models: contiene los modelos de aprendizaje automático de predicción del JCR
  • web_application/paperrank: contiene el código y los recursos de la aplicación web

Ficheros:

  • LICENSE: licencia GNU General Public License en formato Markdown
  • Procfile: fichero de configuración de Heroku. Contiene los comandos iniciales para la ejecución de la aplicación
  • requirements.txt: fichero de requisitos (utilidades y librerías)
  • runtime.txt: fichero para indicar a Heroku la versión de Python que se está usando.
  • README.md: fichero actual

Instrucciones para el lanzamiento en local

Durante la etapa de desarrollo, se deberá lanzar la aplicación de forma local en el servidor de Flask. Los pasos a seguir son los siguientes:

Base de datos

Para poder ejecutar la aplicación en local, será necesario crear una base de datos PostgreSQL y conectarla al código de la aplicación.

  • Descargar e instalar PostgreSQL desde el sitio web oficial: https://www.postgresql.org/download/.
  • Seguir las instrucciones de instalación para su sistema operativo específico.
  • Durante la instalación, será preciso asegurarse de recordar la contraseña del usuario postgres (usuario predeterminado), ya que será necesaria más adelante. Un detalle a tener en cuenta es que en Linux, el usuario postgres, no requiere una contraseña inicial. Sin embargo, en nuestro caso es preciso configurar una contraseña para poder establecer conexiones a través de Flask (para ello se puede usar, desde la consola psql, el comando ALTER USER postgres with password 'contraseña').
  • Abrir un terminal y comprobar que el servidor PostgreSQL esté en funcionamiento.
  • Ejecutar el siguiente comando para acceder a la interfaz de línea de comandos de PostgreSQL: psql -U postgres
  • Se solicitará la contraseña del usuario postgres.
  • Una vez en la interfaz de PostgreSQL, ejecutar el siguiente comando para crear una nueva base de datos: CREATE DATABASE nombre_basedatos;
  • Se puede verificar que la base de datos se haya creado correctamente ejecutando el comando \l, que mostrará una lista de todas las bases de datos disponibles.

Después, bastará con descomentar en el fichero de configuración de la aplicación (app.py) la opción para conectar con la base de datos local e incluir ahí las credenciales de la base de datos nueva.

Instalación de Flask y dependencias

Una vez configurado el entorno virtual (si se ha decidido utilizar uno), el siguiente paso es instalar Flask y las dependencias necesarias para la ejecución de la aplicación. Será preciso navegar hasta la carpeta raíz del proyecto. Después, se deberá seguir los siguientes pasos:

  • Ejecutar el siguiente comando para instalar las dependencias especificadas en el archivo requirements.txt (se recomienda usar la versión de Python 3.11 para asegurar la compatibilidad de versiones con los requerimentos): pip install -r requirements.txt Si diese algún problema al instalar el paquete psycopg2 (driver Python para Postgres), se puede instalar directamente el binario con la instrucción: pip install psycopg2-binary
  • En la carpeta web_application/paperrank hay dos ficheros de procesamiento por lotes, uno para Windows y otro para Linux.
    • En Windows: win_start.cmd
    • En Linux:
      • Asignar permisos de ejecución con chmod u+x lin_start.sh
      • Ejecutarlo con ./lin_start.sh
  • El servidor se abrirá en http://localhost:5000.

Credenciales del administrador

  • Nombre de usuario: Admin
  • Contraseña: p@ssw0rd

Licencia

The GNU General Public License


License: GPL v3


Proyecto financiado con una Beca de Colaboración del Ministerio de Educación y Formación Profesional

About

Repositorio para el TFG "JCR Impact Factor"

https://paperrank.herokuapp.com/

License:GNU General Public License v3.0


Languages

Language:Jupyter Notebook 47.7%Language:Python 32.1%Language:HTML 10.9%Language:JavaScript 6.7%Language:CSS 2.5%Language:Shell 0.0%Language:Batchfile 0.0%Language:Procfile 0.0%