NorELMo: Embeddings from Language Models for Norwegian
NorELMo is a set of bidirectional recurrent ELMo language models trained from scratch on Norwegian Wikipedia, trained as part of the ongoing NorLM initiative. ELMo was the first contextualized architecture to become well-known in the NLP community. [Peters et al 2018] describing it got the Best Paper award at the NAACL 2018 conference.
NorELMO models can be used to achieve state-of-the-art results for various Norwegian natural language processing tasks. In many cases, they may be a viable alternative to NorBERT, especially if computational resources are scarce.
Download from the NLPL Vector repository:
- ID 210: trained on lemmatized Norwegian Wikipedia Dump of September 2020 (download)
- ID 211: trained on tokenized Norwegian Wikipedia Dump of September 2020 (download)
- ID 217: trained on the NorBERT training corpus (Wikipedia and Norsk Aviskorpus) with 30 000 words in the target vocabulary
- ID 218: trained on the NorBERT training corpus (Wikipedia and Norsk Aviskorpus) with 100 000 words in the target vocabulary
- Norwegian Bokmål Wikipedia dump from September 2020; 160 million words;
Both models were trained on the corpus tokenized using UDPipe. The lemmatized model is trained on the version of the corpus where raw word forms were replaced with their lemmas (`kontorer' --> `kontor'). For different tasks, different models can be better.
Both models were trained with vocabularies comprising 100 000 most frequent words in the corresponding training corpus. The vocabularies are published together with the models in the archives linked above.
Each models was trained for 3 epochs with batch size 192. We employed a version of the original ELMo training code updated to work better with the recent TensorFlow versions. All the hyperparameters were left at their default values, except LSTM dimensionality reduced to 2048 from the default 4096.
The NorELMO models are published in two formats:
1. TensorFlow checkpoints
2. HDF5 model files
We recommend to use our simple-elmo Python library to do stuff with NorELMo models.