Paper-Recommendation-System
Paper-Recommendation-System copied to clipboard
Web interface to search ArXiv papers using NLP Sentence-Transformers, Faiss and Streamlit
Paper Recommendation System
View Demo (In the Future) . Report Bug . Request Feature
About The Project
Built With
- Streamlit
- Facebook's Faiss
- Sentence Transformers
- ArXiv dataset
Getting Started
Prerequisites
For this project you will need to have installed Conda or Miniconda and have a Kaggle account.
This also requires ~20Gb of RAM to run and a GPU is recommended
Installation
- Install the dependencies
make install
This will use the environment.yml file and conda to create a new environment with all the required dependencies.
- (Optional) Download the Faiss index & Data checkpoint
make download_checkpoint
- Update the Index and Dataset
(Optional if you did step 2)
This will download the ArXiv dataset from Kaggle and create/update the Faiss index.
make update
- Run the following command to start the Streamlit app:
make run
Usage
For running the aplicattion, after following the installation steps, run the following command:
make run
If you desire to update the ArXiv dataset and the Faiss index, run the following command:
make update
Roadmap
- [X] Add Taggs to the papers
- [ ] Provide a way to add the paper to Zotero
- [ ] Add button to find similar papers
- [X] Show the categories
- [X] Show the authors
- [X] Provide a preview of the paper
- [ ] Question Answering to papers
- [X] Add "make download_checkpoint"
- [ ] Filter papers by time
Contributing
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- If you have suggestions for adding or removing projects, feel free to open an issue to discuss it, or directly create a pull request after you edit the README.md file with necessary changes.
- Please make sure you check your spelling and grammar.
- Create individual PR for each suggestion.
Creating A Pull Request
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
License
Distributed under the MIT License. See LICENSE for more information.
Authors
- Miguel Caçador Peixoto - Physics Engineering Student