python - 差异 spacy 的“--base-model”和“--vectors”参数用于为 NER 使用自定义嵌入?
问题描述
我训练了 fasttext 嵌入并将它们保存为.vec
文件。我想将这些用于我的 spacy NER 模型。有没有区别
python -m spacy train en [new_model] [train_data] [dev_data] --pipeline ner --base-model embeddings.vec
和
python -m spacy train en [new_model] [train_data] [dev_data] --pipeline ner --vectors embeddings.vec
?
两种方法产生几乎相同的训练损失、F 分数等。
解决方案
如果您需要使用向量初始化 spacy 模型,请spacy init-model
像这样使用lg
语言代码在哪里:
spacy init-model lg model_dir -v embeddings.vec -vn my_custom_vectors
将向量保存为 spacy 模型的一部分后:
--vectors
从提供的模型加载向量,所以初始模型是spacy.blank("lg")
+ 向量--base-model
从提供的模型中加载所有内容(标记器、管道组件、向量),因此初始模型是spacy.load(model)
如果提供的模型中没有任何管道组件,唯一的潜在区别是产生的标记器设置spacy.blank("lg")
可能会在各个 spacy 版本之间略有不同。
推荐阅读
- python - 当“param”和“df1”对应变量的组合匹配时,替换旨在将 df['value'] 乘以 param['factor'] 的 FOR 循环
- python - 将带有条形图的样式化 pandas df 导出为 png
- java - 查找整数数组的平均值
- python - 理解 [] 符号
- python - 将python转换为SML
- eclipse - 无法在 Eclipse Git Remote Tracking 中为一台机器获取新分支
- excel - VBA:带双引号的公式
- vb.net - 使用 ExcelPackage 类库在工作表中结束行
- android - 有没有办法从 Play 商店的即时应用程序中删除“试用”按钮
- javascript - 如何使用 datepicker 过滤 chart.js?