ELMo employs a bidirectional [[LSTM]] and was one of the first models to generate contextualized [[word embeddings]] (e.g., "river bank" and "financial bank"). It is an improvement on [[word2vec]] and [[GloVe]] which produce static embeddings. ELMo was overshadowed within a matter of months following the publicization of [[transformer]] models like [[BERT]].