python - SPACY - 关于词向量和 tok2vec 的混淆
问题描述
如果你能帮助我理解一些关于 Spacy 的基本概念,那对我真的很有帮助。
我知道一些 spacy 模型有一些预定义的静态向量,例如,对于西班牙模型,这些是由 FastText 生成的向量。我也知道有一个 tok2vec 层可以从令牌生成向量,例如,这被用作模型的 NER 组件的输入。
如果以上是正确的,那么我有一些问题:
- NER 组件是否也使用静态向量?
- 如果是,那么 tok2vec 层在哪里发挥作用?
- 如果不是,那么如果您只打算将模型用于 NER 组件,那么使用 lg 或 md 模型有什么优势吗?
- tok2vec 层是否已经针对预训练的下载模型进行了训练,例如西班牙语?
- 如果我替换预训练模型的 NER 组件,它是否保持 tok2vec 层不变,即使用学习的权重?
- 我训练 NER 模型时是否也训练了 tok2vec 层?
- pretrain 命令会帮助 tok2vec 层学习一些可能是 OOV 的特定领域的单词吗?
非常感谢!
解决方案
NER 组件是否也使用静态向量?
这在我的回答的第 2 点和第 3 点中得到解决。
tok2vec 层是否已经针对预训练的下载模型进行了训练,例如西班牙语?
是的,整个模型都经过训练,tok2vec
层是其中的一部分。
如果我替换预训练模型的 NER 组件,它是否保持 tok2vec 层不变,即使用学习的权重?
不,不在当前的 spaCy v2 中。该tok2vec
层是模型的一部分,如果删除模型,也会删除 tok2vec 层。在即将发布的 v3 中,您将能够将它们分开,这样您实际上可以将tok2vec
模型分开保存,并在组件之间共享。
我训练 NER 模型时是否也训练了 tok2vec 层?
是 - 见上文
pretrain 命令会帮助 tok2vec 层学习一些可能是 OOV 的特定领域的单词吗?
另请参阅我在https://stackoverflow.com/a/63520262/7961860上的回答
如果您还有其他问题 - 很高兴在评论中讨论!
推荐阅读
- r - 使用 kable 根据值对一行元素进行着色
- pandas - 如何根据熊猫中的匹配条目将特定列值从一个数据帧复制到另一个数据帧
- awk - 如何从制表符分隔的文件创建 GMT 文件?
- triggers - 如何使用谷歌标签管理器在服务器端设置按钮点击?
- angular - 以角度扩展组件和视图
- cassandra - 'cassandra' 未被识别为内部或外部命令
- python - Pandas Merge ValueError:操作数无法与形状一起广播(323,)(324,)()
- influxdb - 包含子串的 InfluxdB 通量查询测量
- javascript - Chart.js 中具有线性时间刻度的折线图
- python - 我如何与苹果同事分享 kivy 应用程序