🔗 Try it: https://knowledge-mapping.heig-vd.ch/
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.
-
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
git clone [email protected]:mediacomem/knowledge-mapping.git
Move to the created repo
cd knowledge-mapping
- Create the
.env
file in./front
(then fill it with the correct values)
cp ./front/.env.example ./front/.env
- 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
- Make sure Docker daemon is running
docker
- Build the docker image
docker compose build
- Run the docker-compose
docker compose up -d
Note: you can run the docker-compose in the background by adding the -d
(detached) flag
- Run a bash shell in the container
docker exec -it kmap bash
- 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
- 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
- The script execution ran successfully ? You should now be able to access it through http://localhost:8000
- Admin view is available at http://localhost:8000/login
- Enjoy 🎉
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.
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.
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
This project is licensed under the Mozilla Public License 2.0 - see the LICENSE.md file for details.