This repo provides the code and data to replicate our system "SynKB: Semantic Search for Synthetic Procedures", which is accepted to EMNLP 2022 Demo track.
@article{bai-etal-2022-synkb,
title={SynKB: Semantic Search for Synthetic Procedures},
author={Bai, Fan and Ritter, Alan and Madrid, Peter and Freitag, Dayne and Niekrasz, John},
journal={arXiv preprint arXiv:2208.07400},
year={2022}
}
SYNKB is an open-source web-based search engine that allows users, like chemists, to perform structured queries over a large corpus of synthesis procedures extracted from chemical patents.
Demo URL: https://tinyurl.com/synkb
Introduction video: https://screencast-o-matic.com/watch/c3jVQsVZwOV
git clone https://github.com/bflashcp3f/SynKB.git
cd SynKB
conda env create -f environment.yml
conda activate synkb
- Clone the Odinson repo
git clone https://github.com/bflashcp3f/odinson.git
cd odinson
git checkout synkb
- Set up indexed data path
mkdir -p extra/data/pets/
cd extra/data/pets/
- Download indexed data (index.tar.gz) and extract files
tar -xvzf index.tar.gz
- Launch Odinson (Java 11 is required)
cd ../../../
sbt backend/run
- Download Elasticsearch folder (elastic_data.tar.gz), and extract files.
tar -xvzf elastic_data.tar.gz
- Launch Elasticsearch
cd elasticsearch-6.8.19
./bin/elasticsearch
cd SynKB
python manage.py runserver YOUR_PORT_NUMBER
If you want to customize SynKB for your own data, check out this tutorial.