Skip to content

The Field of Science classifier of SciNoBo. The algorithm provides classifications for publications. SciNoBo, a novel classification system of publications to predefined FoS taxonomies, leveraging the structural properties of a publication and its citations and references organized in a multilayer network.

License

Notifications You must be signed in to change notification settings

iNoBo/scinobo-fos-classification

Repository files navigation

SciNoBo Field of Science classification

This repository contains the code and the dockerfile for building the image and container responsible for the Field of Science classification of scientific publications. SciNoBo FoS is a novel classification system of publications to predefined Field of Science (FoS) taxonomies, leveraging the structural properties of a publication (citations, references) organized in a multilayer network. It offers a dynamically constructed FoS taxonomy, which can help ​​identify research trends of interest.

The classifier works with a dynamic hierarchical taxonomy. The taxonomy has 6 Levels (L1-L6). We classify each publications to Fields of Science labels from these labels. The levels from L1-L3 are static and stem from the OECD and ScienceMetrix taxonomy. The rest of the levels are algorithmically constructed utilizing publication-to-publications and venue-to-venue citation graph as well as clustering and topic modelling algorithms. To view all the FoS labels, please visit: OpenAIRE FoS. A snapshot of the taxonomy is visible below:

Snapshot of the FoS taxonomy.

image

Publications:

Commands to build and run the docker

Create docker image

Use the following command to create a docker image. The flag -t specifies the name of the image that will be created with an optional tag (for example its version).

docker build --tag scinobo-fos:latest .

  • The name of the image in this case is scinobo-fos:latest.
  • The location of the Dockerfile is the current directory.

Run the FastAPI server for FoS

docker run --rm --gpus all --name scinobo-fos-api -p 1997:1997 scinobo-fos uvicorn fos.server.api:app --host 0.0.0.0 --port 1997

  • NOTE: scinobo-fos-api is the name of the container
  • NOTE: the docker is exposing only the port 1997

Run image container for bulk inference

To run a container with the bulk inference, the following command is needed:

docker run <--rm> --gpus all -i <--name CONTAINER-NAME> -v path/to/input/local/data:/input_files -v path/to/output/local/data:/output_files IMAGE-NAME python -m fos.pipeline.inference <args>

Flags:

  • --rm: remove the container when execution ends. (optional)
  • -i: set interactive mode. (optional)
  • --name: a name for the container. (optional)
  • v: volume binding. It maps a local directory to a directory inside the container so that local files can be accessed from it. The format is: /absolute/path/to/local/dir:/absolute/path/to/container/dir. You need to also specify a local directory where the docker will save the output

Reminder: If you want to test the docker, you need to use the following path as an input path --> -v path/to/input_files

Miscellaneous

  • If you want to connect to the docker --> docker exec -it <container_name> /bin/bash
  • If you want to see the logs of the docker --> docker logs <container_name>
  • Copy the results of the docker to the host destination folder --> docker cp <container_name>: ./output_test_files ./

About

The Field of Science classifier of SciNoBo. The algorithm provides classifications for publications. SciNoBo, a novel classification system of publications to predefined FoS taxonomies, leveraging the structural properties of a publication and its citations and references organized in a multilayer network.

Resources

License

Stars

Watchers

Forks

Packages

No packages published