Skip to content
Go to file


Failed to load latest commit information.

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 [1]: 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). 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

BioSentVec [2]: 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; 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.


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.


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.

You can’t perform that action at this time.