当前位置: 首页 > 工具软件 > AllenNLP > 使用案例 >

在pytorch里可以通过AllenNLP包使用ELMo

萧飞
2023-12-01

一、环境配置

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)

 类似资料: