我有一个包含170部荷兰文学小说的语料库,我将在其中应用命名实体识别。为了评估现有的荷兰语NER标记器,我想在这个语料库的随机样本中手动标注命名实体-为此,我使用brat。在我对NER标记器的评估中,手动注释的随机样本将作为“黄金标准”。我编写了一个Python脚本,在句子级别输出我的语料库的随机样本。
我的问题是:就每本小说的句子数量而言,随机样本的理想大小是多少?目前,我在每本小说中随机使用了100个句子,但这导致了一个相当大的随机样本,几乎包含21626行(这是大量的手动注释,这导致brat的工作环境很慢)。
发布于 2016-11-23 15:57:14
注意,在实际回答之前:我看到的最大的问题是你只能评估工具wrt。那170本书。因此,它充其量会告诉你,你评估的NER工具在这些书籍或类似文本上的效果有多好。但我想这是显而易见的..。
至于样本大小,我猜测每本书不需要超过12个随机句子。这里有一个简单的方法来检查你的样本量是否已经足够大:随机选择一半的句子(每本书分层!)您对该子集上的所有工具进行了注释和评估。这样做几次,看看同一个工具的结果在运行之间是否有很大的差异(例如,如果使用F-score,结果会超过+/- 0.1 -主要取决于您必须有多“精确”来检测工具之间的显著差异)。如果方差非常大,则继续注释更多的随机句子。如果数字开始稳定下来,你就很好,可以停止注释了。
发布于 2016-11-23 18:44:06
实际上,“理想”的尺寸应该是...整个语料库:)
结果将与类型学的细节程度相关:仅PERS、LOC、ORG就需要最小的大小,但细粒度的类型学或甚至完全消除歧义(链接)呢?我怀疑好的性能不需要太多的数据(只要足够验证),而低性能应该需要更多的数据来更详细地查看错误。
作为一种指标,交叉验证被认为是一种标准的方法,它通常使用10%的语料库进行评估(但评估要进行10次)。
此外,如果使用古代小说,您可能会面临词汇覆盖问题:许多旧的专有名称不会包含在可用的软件词汇资源中,这是NER准确性的一个严重缺陷。因此,根据十年/世纪划分语料库并进行多重评估,以衡量此问题对性能的影响可能是一个很好的想法。
https://stackoverflow.com/questions/40743759
复制相似问题