您可以将预训练的词嵌入集成到自定义 spaCy 模型中吗?

Can you integrate your pre-trained word embeddings in a custom spaCy model?

目前我正在尝试为罗马尼亚法律领域的 NER 开发一个 spaCy 模型。我被建议使用以下 link 中提供的特定 WE(下载 WE 的 link 在最后几页 - 幻灯片 25、26、27):

https://www1.ids-mannheim.de/fileadmin/kl/CoRoLa_based_Word_Embeddings.pdf

我已经在没有“接触”预先实现的 WE 的情况下训练和测试了一个模型,但我不知道如何使用外部 WE 来计算新的 spaCy 模型。任何相关建议表示赞赏。虽然,最好有一个代码示例。

是的,使用 spacy init vectors 将您的向量从 word2vec 文本格式转换,然后在您的配置中将该模型指定为 [initialize.vectors] 以及相关 tok2vec 模型的 include_static_vectors = true

配置摘录:

[components.tok2vec.model.embed]
@architectures = "spacy.MultiHashEmbed.v1"
width = ${components.tok2vec.model.encode.width}
attrs = ["ORTH", "SHAPE"]
rows = [5000, 2500]
include_static_vectors = true

[initialize]
vectors = "my_vector_model"

您还可以使用 spacy init config -o accuracy config.cfg 生成示例配置,包括您可以根据需要编辑和调整的向量。

参见: