Skip to content

ncbi-nlp/BioSentVec

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BioWordVec & BioSentVec:
pre-trained embeddings for biomedical words and sentences

Table of contents

Text corpora

We created biomedical word and sentence embeddings using PubMed and the clinical notes from MIMIC-III Clinical Database. Both PubMed and MIMIC-III texts were split and tokenized using NLTK. We also lowercased all the words. The statistics of the two corpora are shown below.

Sources Documents Sentences Tokens
PubMed 28,714,373 181,634,210 4,354,171,148
MIMIC III Clinical notes 2,083,180 41,674,775 539,006,967

We applied fastText to compute 200-dimensional word embeddings. We set the window size to be 20, learning rate 0.05, sampling threshold 1e-4, and negative examples 10. Both the word vectors and the model with hyperparameters are available for download below. The model file can be used to compute word vectors that are not in the dictionary (i.e. out-of-vocabulary terms). This work extends the original BioWordVec which provides fastText word embeddings trained using PubMed and MeSH. We used the same parameters as the original BioWordVec which has been thoroughly evaluated in a range of applications.

We evaluated BioWordVec for medical word pair similarity. We used the MayoSRS (101 medical term pairs; download here) and UMNSRS_similarity (566 UMLS concept pairs; download here) datasets.

Model MayoSRS UMNSRS_similarity
word2vec 0.513 0.626
BioWordVec model 0.552 0.660

We applied sent2vec to compute the 700-dimensional sentence embeddings. We used the bigram model and set window size to be 20 and negative examples 10.

We evaluated BioSentVec for clinical sentence pair similarity tasks. We used the BIOSSES (100 sentence pairs; download here) and the MedSTS (1068 sentence pairs; download here) datasets.

BIOSSES MEDSTS
Unsupervised methods
    doc2vec 0.787 -
    Levenshtein Distance - 0.680
    Averaged word embeddings 0.694 0.747
    Universal Sentence Encoder 0.345 0.714
    BioSentVec (PubMed) 0.817 0.750
    BioSentVec (MIMIC-III) 0.350 0.759
    BioSentVec (PubMed + MIMIC-III) 0.795 0.767
Supervised methods
    Linear Regression 0.836 -
    Random Forest - 0.818
    Deep learning + Averaged word embeddings 0.703 0.784
    Deep learning + Universal Sentence Encoder 0.401 0.774
    Deep learning + BioSentVec (PubMed) 0.824 0.819
    Deep learning + BioSentVec (MIMIC-III) 0.353 0.805
    Deep learning + BioSentVec (PubMed + MIMIC-III) 0.848 0.836

FAQ

You can find answers to frequently asked questions on our Wiki; e.g., you can find the instructions on how to load these models.

You can also find this tutorial on how to use BioSentVec for a quick start.

References

When using some of our pre-trained models for your application, please cite the following papers:

  1. Zhang Y, Chen Q, Yang Z, Lin H, Lu Z. BioWordVec, improving biomedical word embeddings with subword information and MeSH. Scientific Data. 2019.
  2. Chen Q, Peng Y, Lu Z. BioSentVec: creating sentence embeddings for biomedical texts. The 7th IEEE International Conference on Healthcare Informatics. 2019.

Acknowledgments

This work was supported by the Intramural Research Programs of the National Institutes of Health, National Library of Medicine. We are grateful to the authors of fastText, sent2vec, MayoSRS, UMNSRS, BIOSSES, and MedSTS for making their software and data publicly available.