Spacy 在训练自定义模型时使用哪种深度学习算法?
Which Deep Learning Algorithm does Spacy uses when we train Custom model?
当我们训练自定义模型时,我确实看到我们有 dropout 和 n_iter 参数需要调整,但是 Spacy 使用哪种深度学习算法来训练自定义模型?另外,在添加新的实体类型时,是创建空白还是在现有模型上训练它好?
spaCy 使用哪种学习算法?
spaCy 有自己的名为 thinc 的深度学习库,用于不同的 NLP 模型。对于大多数(如果不是全部)任务,spaCy 使用基于 CNN 的深度神经网络并进行了一些调整。专门针对命名实体识别,spacy使用:
一种基于转换的方法 借鉴了 shift-reduce 解析器,Lample 等人在论文Neural Architectures for Named Entity Recognition 中对此进行了描述。
Matthew Honnibal 描述了 spaCy 如何在 YouTube video.
上使用它
一个名为 "Embed.Encode.Attend.Predict" 的框架(开始 here on the video), slides here.
嵌入:使用布隆过滤器嵌入单词,这意味着单词哈希值作为关键字保留在嵌入字典中,而不是单词本身。这维护了一个更紧凑的嵌入字典,单词可能会发生冲突并以相同的向量表示结束。
Encode:将单词列表编码成句子矩阵,以考虑上下文。 spaCy 使用 CNN 进行编码。
参加:确定给定查询哪些部分信息量更大,并获得问题的具体表示。
Predict: spaCy 使用多层感知器进行推理。
根据 Honnibal 的说法,此框架的优点是:
- 大部分等同于序列标记(spaCy 提供的另一任务模型)
- 与解析器共享代码
- 轻松排除无效序列
- 轻松定义任意特征
为了获得完整的概述,Matthew Honnibal 在 this YouTube video. Slides could be found here 中描述了该模型的工作原理。
注意:此信息基于 2017 年的幻灯片。此后引擎可能已更改。
添加新实体类型时,我们应该创建空白模型还是训练现有模型?
理论上,在使用新实体微调 spaCy 模型时,您必须确保模型不会忘记先前学习的实体的表示。如果可能的话,最好的办法是从头开始训练模型,但由于缺乏数据或资源,这可能并不容易或不可能。
2021 年 2 月编辑:spaCy 版本 3 现在使用 Transformer 架构作为其深度学习模型。
当我们训练自定义模型时,我确实看到我们有 dropout 和 n_iter 参数需要调整,但是 Spacy 使用哪种深度学习算法来训练自定义模型?另外,在添加新的实体类型时,是创建空白还是在现有模型上训练它好?
spaCy 使用哪种学习算法?
spaCy 有自己的名为 thinc 的深度学习库,用于不同的 NLP 模型。对于大多数(如果不是全部)任务,spaCy 使用基于 CNN 的深度神经网络并进行了一些调整。专门针对命名实体识别,spacy使用:
一种基于转换的方法 借鉴了 shift-reduce 解析器,Lample 等人在论文Neural Architectures for Named Entity Recognition 中对此进行了描述。 Matthew Honnibal 描述了 spaCy 如何在 YouTube video.
上使用它一个名为 "Embed.Encode.Attend.Predict" 的框架(开始 here on the video), slides here.
嵌入:使用布隆过滤器嵌入单词,这意味着单词哈希值作为关键字保留在嵌入字典中,而不是单词本身。这维护了一个更紧凑的嵌入字典,单词可能会发生冲突并以相同的向量表示结束。
Encode:将单词列表编码成句子矩阵,以考虑上下文。 spaCy 使用 CNN 进行编码。
参加:确定给定查询哪些部分信息量更大,并获得问题的具体表示。
Predict: spaCy 使用多层感知器进行推理。
根据 Honnibal 的说法,此框架的优点是:
- 大部分等同于序列标记(spaCy 提供的另一任务模型)
- 与解析器共享代码
- 轻松排除无效序列
- 轻松定义任意特征
为了获得完整的概述,Matthew Honnibal 在 this YouTube video. Slides could be found here 中描述了该模型的工作原理。
注意:此信息基于 2017 年的幻灯片。此后引擎可能已更改。
添加新实体类型时,我们应该创建空白模型还是训练现有模型?
理论上,在使用新实体微调 spaCy 模型时,您必须确保模型不会忘记先前学习的实体的表示。如果可能的话,最好的办法是从头开始训练模型,但由于缺乏数据或资源,这可能并不容易或不可能。
2021 年 2 月编辑:spaCy 版本 3 现在使用 Transformer 架构作为其深度学习模型。