一、环境配置
1.在conda中创建allennlp环境:
conda create -n allennlp python=3.6
2.安装allennlp
pip install allennlp
二、下载训练好的参数和模型
参数下载:
链接: weights.hdf5
模型下载:options.json
三、获得词向量
from allennlp.modules.elmo import Elmo, batch_to_ids
options_file = "options.json" # 配置文件地址
weight_file = "weights.hdf5" # 权重文件地址
# 这里的1表示产生一组线性加权的词向量。
# 如果改成2 即产生两组不同的线性加权的词向量。
elmo = Elmo(options_file, weight_file, 1, dropout=0)
# use batch_to_ids to convert sentences to character ids
sentence_lists = ["I have a dog", "How are you , today is Monday","I am fine thanks"]
character_ids = batch_to_ids(sentence_lists)
embeddings = elmo(character_ids)['elmo_representations']
# use batch_to_ids to convert sentences to character ids
context_tokens = [['I', 'love', 'you', '.'], ['Sorry', ',', 'I', 'don', "'t", 'love', 'you', '.']] #references
elmo_embedding, elmo_mask = elmo.batch_to_embeddings(context_tokens)
print(embeddings)