NASA DT Hackathon
By the Vizzies (GVIS)
Challenge: Develop an intelligent literature search and analysis application that reads NASA-relevant scientific articles using natural language processing and text mining, returns knowledge analysis and relevant scientific findings, and reveals knowledge gaps and multi-disciplinary research opportunities.
Time Frame: about 15 hours
- Clone the entire repository
$ git clone https://github.com/vizzies/NASA-Semantic-Search-Engine-for-Scientific-Literature.git
$ cd NASA-Semantic-Search-Engine-for-Scientific-Literature
- Open a Google Colab Environment and import
semantic-search.ipynb
- Go into
edit
>notebook settings
underhardware accelerator
and selectGPU
- To run each cell, press
SHIFT
+Return
- Under the heading
BERT Sentence Transformer Semantic Search
, in thequeries
list, add your scientific query of choice - Run that cell to recieve searched literature documents
Figma Mockup - Clickable Prototype
- Create a background frame
#F3F3F3
for web application - Add in search bar for semantic query search
- Add title and hackathon team logo into the pseudo-navigation bar
- create footer similarly
- Add placeholder for advanced search (future implementation?)
- Create data cards for returned results of publications. Metadata received on card preview includes:
- publish dates
- abstract character length
- relevancy score
- main author(s)
- Place pagination function buttons
previous
andnext
at the bottom- emphasize current page navigation number at bottom of page
- Export CSS code from each object mentioned above for Flask front-end implementation
- select object > go to
code
in side menu >CRTL
+c
- select object > go to
A microservice written in Python with the Flask micro framework. Source code located at https://github.com/vizzies/bertsearch.
- Clone the repo
git clone https://github.com/vizzies/bertsearch.git
cd
into the new directory
cd bertsearch
- Initiate a new virtual environment and store in the project's
env
directory
python -m virtualenv env
- Activate the new virtual environment
source env/bin/activate
- Install dependencies in new environment
pip install -r requirements.txt
- Clone the repo
git clone https://github.com/vizzies/bertsearch.git
cd
into the new directory
cd bertsearch
- Create a new conda environment in the project's
env
directory
conda create python=3.8.3 --prefix ./env
- Activate the new environment
conda activate ./env
- Install dependencies in new environment
pip install -r requirements.txt
- Initialize the app database
flask db init
- Generate the first database migration
flask db migrate
- Run database the migration
upgrade
script
flask db upgrade
- Run the flask app
flask run
- You should now be able to make a call to your API. Paste this URL into your browser and check for a valid response
http://127.0.0.1:8080/api/v1/results
- Herb Schilling, GRC, Computer Scientist, [email protected]
- Calvin Robinson, GRC, Data Architect, [email protected]
- Evan "Taylor" Yates, MSFC, Software Engineer, [email protected]
- Gulsum Oz, ARC, Information Tech Specialist, [email protected]
- Blake Lafuente, GRC, AST Data Systems, [email protected]
- Shruti Janardhanan, GRC, Intern, [email protected]
- Kelci Mensah, GRC, Intern, [email protected]
- Samantha "Sam" Stesch, GRC, Intern, [email protected]
- Heather Sulier, GRC, Intern, [email protected]