RDash - Quickstart Guide
RDash is a recommendation system that captures the opportunities for pursuing external research funds through grants, contracts, and subcontracts based on the scholar’s research profile. RDash-Grants entails analyzing a massive set of solicitations and funding opportunities and selecting the most appropriate one or group of relevant grants by considering the scholar’s preferences and research profile.
- Like most of the projects, RDash consists of two main components :
A webapp (frontend)
Backend
This page will provide details on the backend component of RDash which uses Natural Language Processing for recommendation.
Setup
Before using the code you should first clone the repository (currently available only to Taugroup members) and install all the required libraries. This can be done through the below snippet from your command line.
git clone https://github.com/taugroup/RDASH.git
pip install -r requirements.txt
Usage
End-to-end recommendation system can be broken down to 7 steps. Each of the steps and their corresponding code are given below.
Step 1 : Create a list of Scholars (with demographic details and list of publications)
python user_profile_creation.py --univ_name='TAMU'
Step 2 : Create publication database - extract the information from all publications of each user
python extract_publications.py --n_cores=20
Step 3 : Create Analytical database - with representative keywords for each user
python create_analytical_data.py --n_cores=20
Step 4 : Compile list of Grants
python extract_proposals.py
Step 5 : Extract grant details
python main_extractor.py --n_cores=20 --a 'National Science Foundation' 'National Institutes of Health'
Step 6 : Recommend scholars for a Proposal / grant
python recommend_scholars.py --top_k=20 --proposal_id='PD-18-1263' --n_cores=20 --agency='NSF'
Step 7 : Extract proposals to a json for searching
python extract_proposals_titles_db.py
Features
The tool extracts and creates user/scholar profile using the TAMU scholars library using APIs
Matches and recommends user profile to research proposals
Identify similar research profiles for each scholar
Advance Oppurtunities for Intelligent Research
Recommend latest relevant articles/publications for literature searcha and advancement
Workflow
Modules
Below is the documentation for various python modules used in this project.