Skip to content

Latest commit

 

History

History
147 lines (106 loc) · 4.97 KB

README.md

File metadata and controls

147 lines (106 loc) · 4.97 KB

Knowledge Mapping - A source visualization tool 📚

Static Badge Static Badge Static Badge

🔗 Try it: https://knowledge-mapping.heig-vd.ch/

Introduction

The Knowledge Mapping (KMap) web tool aims to provide an experimental tool to get access to a large and extending scientific knowledge from a specific domain.

By using a range of machine learning algorithms - topic modelling, text mining and entity recognition to name a few - the platform proposes an innovative way to explore a very large and curated Zotero collection of academic papers.

Installation

Requirements

  • Git

  • Docker + Docker Compose

  • A Zotero Collection

    Disclaimer: As the processing of documents is based mainly on the content of titles, abstracts and authors entered in the Zotero collection, it is important to ensure that these have been filled in for every document.

    Note: those requirements are not enough to run python scripts since they need multiple dependencies. It is recommended to run the docker container (see below) in order to use them.

Clone the repository

Clone the repository

git clone git@gitlab.com:mediacomem/knowledge-mapping.git

Move to the created repo

cd knowledge-mapping

Adapt the environment variables

  1. Create the .env file in ./front (then fill it with the correct values)
cp ./front/.env.example ./front/.env
  1. Create the .env file in ./python (then fill it with your Zotero API key and the Zotero Group ID) You'll find a quick guide to get them here.
cp ./python/.env.example ./python/.env

Setup, build and run the docker containers

  1. Make sure Docker daemon is running
docker
  1. Build the docker image
docker compose build
  1. Run the docker-compose
docker compose up -d

Note: you can run the docker-compose in the background by adding the -d (detached) flag

  1. Run a bash shell in the container
docker exec -it kmap bash
  1. Once in the container, run the following commands:
php artisan key:generate

Note: will generate a new encryption key for the application

php artisan migrate

You can safely prompt yes and bypass the warning.

Note: will create the dayestabase tables

php artisan db:seed

Again, you can safely prompt yes and bypass the warning.

Note: will seed the database with the default data 4. Run machine learning scripts (needed at least once)

php artisan zotero:sync
  1. Wait for the machine learning scripts to finish (it can take a while). You can check the status with the following command:
php artisan zotero:status

Access the web app

  1. The script execution ran successfully ? You should now be able to access it through http://localhost:8000
  2. Admin view is available at http://localhost:8000/login
  3. Enjoy 🎉

First admin credentials

A first admin user is created in order to acces the admin dashboard for the first time. The credentials are set in the .env file with the following environment variables:

  • ADMIN_USER
  • ADMIN_EMAIL
  • ADMIN_PASSWORD

Note: we recommend changing the password after the first login.

Stack

Sources and credits 🙏

The ML part of the project is based on the LDA for author-topic modeling of the Gensim Python library : https://github.com/piskvorky/gensim/blob/develop/docs/notebooks/atmodel_tutorial.ipynb.

Initiated in 2018 by Prof. Laurent Rivier, designer Laurent Bolli, and data scientist Giovanni Colavizza the current version of the platform is its first stage of development by the Media engineering Institute at the University of Applied Sciences Western Switzerland.

Contributing

Many people have been involved in the development of this prototype. Here is a list of the main contributors:

  • Jorge Stamatio
  • Maksym Nevinchanyy
  • Gaël Paccard
  • Stéphane Lecorney
  • Jonathan Favre-Lamarine
  • Robin Zweifel

License

This project is licensed under the Mozilla Public License 2.0 - see the LICENSE.md file for details.