跳转到主要内容在线学习在运行时进行。随着被处理的文档越来越多,系统会收集其中一部分,并将其放入该 Skill 的训练集和测试集中。随后,Skill 会在这些数据集上实时持续改进。
在线学习适用于 Document skill 和 分类 Skill。
注意: 在线学习不适用于用于处理结构化文档的 Skill。在这些情况下,Collect documents and learn 选项将被禁用。文档仍会被收集,但不会进行在线学习。
注意: 本节假定你的 Process 技能包含一个人工校验阶段,并且已启用 Online learning 功能。
Online learning 流程可概括如下:
- 收集新文档,并将其归入训练集或测试集。
- 使用训练集启动学习会话。
- 测试该 Skill。
文档将按如下方式收集:
- 一旦 Online learning 收到人工校验人员提交的第一份已更正文档,就会开始收集文档。
- 对于 Document skill,这将是第一份至少有一个 field 的区域被更正的文档。
- 对于 分类 Skill,这将是第一份其类型已被更改的文档。
- 在获得第一份文档之后,随后将按如下方式收集文档:
- 所有已经经过人工校验的文档。
- 部分尚未经过人工校验的文档(它们在训练集和测试集中文档总数(合计)中的占比不会超过 33%)。
- 当收集到新文档时,它们将被放入训练集或测试集。
- 训练集中最多包含 10,000 份文档,测试集中最多包含 1,000 份文档。
注意: 如果在 Online learning 开始收集新文档时,训练集中已经包含超过 10,000 份文档,则这些限制可能会被超过。在这种情况下,添加到已超限集合中的每一份新文档都会替换该集合中最早的一份现有文档。
- 在训练集中的文档数量达到 30 之前,新文档只会被放入训练集。一旦达到该数量,新文档将被放入训练集或测试集。
- 在两个集合都未满之前,每一份新文档有 80% 的概率进入训练集,20% 的概率进入测试集。
- 当其中一个集合已满时,新文档将被放入另一个集合,直到该集合也变满。
- 当两个集合都已满时,新文档仍可以被放入任一集合中,替换其中最早的文档。
- 当两个集合都已满时,每一份新文档有 20% 的概率进入其中一个集合,有 80% 的概率被丢弃。
- 当两个集合都已满时,每一份未被丢弃的新文档有 80% 的概率进入训练集,20% 的概率进入测试集,并替换任一集合中最早的文档。
- 如果这是 Skill 版本发布后的首个学习会话,当文档集新增文档达到 10% 时将启动。例如,若文档集中共有 95 个文档,则在新增 10 个文档后会启动新的学习会话。
- 如果上一次学习会话成功且已更新该 Skill,则新会话将按与首次会话相同的条件启动。
- 如果上一次学习会话未成功且未更新该 Skill,则当文档集新增文档达到 5% 时将启动新的学习会话。例如,若文档集中共有 95 个文档,则在新增 5 个文档后会启动新的学习会话。
当在线学习使准确率至少提升 1% 时,将更新该 Skill。
将按以下方式测试 Skill 的准确率:
- 如果测试集中至少有 20 份文档,则在测试集上测试该 Skill。
- 如果测试集少于 20 份文档:
- 将在训练集和测试集上测试 Document skill。
- 对于分类 Skill,若文档集中样本不足(每个类别少于 5 份文档),则将在训练集和测试集上测试该 Skill;若样本充足,则使用交叉验证评估准确率。
随后,将收集更多文档,并启动新的学习会话。
注意: 在线学习不会创建该 Skill 的新版本。版本仅在发布 Skill 时变更。参见 Publishing a skill。