首页 > 解决方案 > SPACY - 关于词向量和 tok2vec 的混淆

问题描述

如果你能帮助我理解一些关于 Spacy 的基本概念,那对我真的很有帮助。

我知道一些 spacy 模型有一些预定义的静态向量,例如,对于西班牙模型,这些是由 FastText 生成的向量。我也知道有一个 tok2vec 层可以从令牌生成向量,例如,这被用作模型的 NER 组件的输入。

如果以上是正确的,那么我有一些问题:

非常感谢!

标签: pythonnlpspacyfasttext

解决方案


NER 组件是否也使用静态向量?

这在我的回答的第 2 点和第 3 点中得到解决

tok2vec 层是否已经针对预训练的下载模型进行了训练,例如西班牙语?

是的,整个模型都经过训练,tok2vec层是其中的一部分。

如果我替换预训练模型的 NER 组件,它是否保持 tok2vec 层不变,即使用学习的权重?

不,不在当前的 spaCy v2 中。该tok2vec层是模型的一部分,如果删除模型,也会删除 tok2vec 层。在即将发布的 v3 中,您将能够将它们分开,这样您实际上可以将tok2vec模型分开保存,并在组件之间共享。

我训练 NER 模型时是否也训练了 tok2vec 层?

是 - 见上文

pretrain 命令会帮助 tok2vec 层学习一些可能是 OOV 的特定领域的单词吗?

另请参阅我在https://stackoverflow.com/a/63520262/7961860上的回答

如果您还有其他问题 - 很高兴在评论中讨论!


推荐阅读