命名实体识别金标准语料库

时间:2016-11-22 13:56:38

标签: python nlp named-entity-recognition sample-size brat

我有170本荷兰文学小说的语料库,我将在其中应用命名实体识别。为了评估荷兰语的现有NER标记符,我想在该语料库的随机样本中手动注释命名实体 - 为此,我使用brat。手动注释的随机样本将作为黄金标准'在我对NER标记器的评估中。我写了一个Python脚本,在句子级别输出我的语料库的随机样本。

我的问题是:根据每部小说的句子数量,随机样本的理想大小是多少?现在,我每篇小说都使用了一个随机的100个句子,但是这会产生一个非常大的随机样本,其中包含近21626行(这对于手动注释来说很多,这导致了小孩的工作环境变慢)。

2 个答案:

答案 0 :(得分:2)

注意,在实际答案之前:我看到的最大问题是你只能评估工具。那170本书。因此,它最多会告诉您评估的NER工具对这些书籍或类似文本的效果如何。但我想这很明显......

关于样本量,我猜你每本书需要不超过十几个随机句子。这里有一个简单的方法来检查你的样本量是否足够大:随机选择一半的句子(每本书分层!)你注释并评估该子集上的所有工具。这样做几次,看看同一工具的结果是否在运行之间变化很大(例如,如果你使用F-score,则超过+/- 0.1) - 主要取决于你必须检测到的“精确”程度工具之间的差异)。如果方差非常大,则继续注释更多随机句子。如果数字开始稳定,那么你很好并且可以停止注释。

答案 1 :(得分:1)

事实上,“理想”的大小将是......整个语料库:)

结果将与类型学的详细程度相关联:只需要PERS,LOC,ORG需要最小尺寸,但是细粒度类型学甚至完全消歧(链接)呢?我怀疑良好的性能不需要太多数据(足以验证),而低性能则需要更多数据才能更详细地查看错误。

作为指标,交叉验证被视为标准方法,它通常使用10%的语料库进行评估(但评估完成10次)。

此外,如果与古代小说合作,你可能会面临词汇覆盖问题:许多旧的专有名称将不包含在可用的软件词汇资源中,这对于NER准确性来说是一个严重的缺点。因此,根据几十年/几个世纪分割语料库并进行多重评估以衡量这种麻烦对表现的影响可能是个好主意。