3

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

我的问题是:就每部小说的句子数量而言,随机样本的理想大小是多少?目前,我在每部小说中随机使用了 100 个句子,但这会导致一个包含近 21626 行的相当大的随机样本(手动注释很多,并且会导致小子的工作环境变慢)。

4

2 回答 2

2

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

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

于 2016-11-23T07:57:13.780 回答
1

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

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

作为一个指标,交叉验证被认为是一种标准的方法论,它通常使用 10% 的语料库进行评估(但评估进行了 10 次)。

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

于 2016-11-23T10:44:05.933 回答