BioWordVec & BioSentVec: pre-trained embeddings for biomedical words and sentences
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
LICENSE.txt Update Nov 4, 2018

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

BioWordVec: biomedical word embeddings with fastText

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).

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

BioSentVec [1]: biomedical sentence embeddings with sent2vec

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.

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


You can find answers to frequently asked questions on our Wiki.


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

  1. Chen Q, Peng Y, Lu Z. BioSentVec: creating sentence embeddings for biomedical texts. 2018. arXiv:1810.09302.


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.