|
# Knowledge-Rich Self-Supervision (KRISS) for Biomedical Entity Linking |
|
|
|
Usage code for the entity linking approach described in the following paper: |
|
```bibtex |
|
@article{kriss, |
|
author = {Sheng Zhang, Hao Cheng, Shikhar Vashishth, Cliff Wong, Jinfeng Xiao, Xiaodong Liu, Tristan Naumann, Jianfeng Gao, Hoifung Poon}, |
|
title = {Knowledge-Rich Self-Supervision for Biomedical Entity Linking}, |
|
year = {2021}, |
|
url = {https://arxiv.org/abs/2112.07887}, |
|
eprinttype = {arXiv}, |
|
eprint = {2112.07887}, |
|
} |
|
``` |
|
[https://arxiv.org/pdf/2112.07887.pdf](https://arxiv.org/pdf/2112.07887.pdf) |
|
|
|
## Usage of KRISS for Entity Linking |
|
|
|
Here, we use the [MedMentions](https://github.com/chanzuckerberg/MedMentions) data to show you how to 1) generate prototype embeddings, and 2) run entity linking. |
|
|
|
(We are currently unable to release the self-supervised mention examples, because they requires UMLS and PubMed licenses.) |
|
|
|
|
|
### 1. Create conda environment and install requirements |
|
```bash |
|
conda create -n kriss -y python=3.8 && conda activate kriss |
|
pip install -r requirements.txt |
|
``` |
|
|
|
### 2. Download the MedMentions dataset |
|
|
|
```bash |
|
git clone https://github.com/chanzuckerberg/MedMentions.git |
|
``` |
|
|
|
### 3. Generate prototype embeddings |
|
```bash |
|
python generate_prototypes.py |
|
``` |
|
|
|
### 4. Run entity linking |
|
```bash |
|
python run_entity_linking.py |
|
``` |