Machine learning 使用spaCy进行额外命名实体识别所需的训练数据量是多少?

Machine learning 使用spaCy进行额外命名实体识别所需的训练数据量是多少?,machine-learning,nlp,spacy,ner,Machine Learning,Nlp,Spacy,Ner,我正在使用spaCy模块查找输入文本的名称实体。我正在训练模型预测医学术语。我现在有200万份医学笔记,我写了一个程序来注释笔记 我将医学注释与用于注释任务的约9万个术语的预定义列表进行交叉引用。按照目前的注释速度,注释10000个注释大约需要一个半小时。按照注释目前的工作方式,我最终发现大约90%的注释没有注释(我目前正在努力获得一个更好的交叉引用术语列表),因此我使用~1000条注释注释并对模型进行这些方面的训练 我已经检查过了,模型对它所看到的已知注释术语做出了某种响应(例如,术语心动过速

我正在使用spaCy模块查找输入文本的名称实体。我正在训练模型预测医学术语。我现在有200万份医学笔记,我写了一个程序来注释笔记

我将医学注释与用于注释任务的约9万个术语的预定义列表进行交叉引用。按照目前的注释速度,注释10000个注释大约需要一个半小时。按照注释目前的工作方式,我最终发现大约90%的注释没有注释(我目前正在努力获得一个更好的交叉引用术语列表),因此我使用~1000条注释注释并对模型进行这些方面的训练

我已经检查过了,模型对它所看到的已知注释术语做出了某种响应(例如,术语<代码>心动过速以前从注释中看到过,有时会在文本中出现该术语时拾取)

这个背景可能与我的特定问题不太相关,但我想我会为我目前的职位提供一点背景

我想知道是否有人成功地在spaCy培训了一个新的实体,可以让我了解他们在培训量方面的个人经验,这对于获得至少某种程度上可靠的实体识别是必要的


谢谢

我从无到有地训练了希腊语言的命名实体识别器,因为没有可用的数据,所以我会尝试给你一个我在案例中注意到的事情的摘要

我用注释工具训练了NER。 根据我个人的经验,你的问题的答案取决于以下几点:

  • 您希望识别器能够预测的标签数量。当标签数量(可能的输出)增加时,神经网络更难区分它们,因此需要的数据量增加,这是有道理的
  • 标签有多不同。例如,GPE和LOC标记非常接近,并且经常在同一个上下文中使用,因此神经网络在一开始就把它们弄糊涂了。建议提供更多与彼此接近的标签相关的数据
  • 训练的方式。这里几乎有两种可能性:
    • 完整注释的句子。这意味着你告诉你的神经网络,你的注释中没有缺失的标签
    • 部分注释的句子。这意味着你告诉你的神经网络你的注释是正确的,但可能有一些标签丢失了。这使得网络更难依赖您的数据,因此需要提供更多数据
  • 超参数。为了最大限度地利用数据集,对网络进行微调非常重要
  • 数据集的质量。这意味着,如果数据集代表您将要求网络预测的内容,则需要更少的数据。然而,如果你正在构建一个更通用的神经网络(在不同的环境下都能正确回答),那么需要更多的数据
对于希腊模式,我试图预测6个足够清晰的标签,我提供了大约2000个完整的注释句子,我花了大量时间进行微调

结果:70%的F-measure,这对于任务的复杂性是相当好的

希望有帮助