2.4 语料库的规模
既然你已经知道想要寻找何种类型的数据以及如何表现它,那么你还需要决定实际需要收集与标注多少数据。如果你计划使用一个已有的语料库,那么语料库的总规模已经确定,但是你可能仍然需要决定对语料库的多少内容进行标注。
一般而言,无论标注目标是什么,收集与标注的数据越多,就离达成目标越近。然而,在多数情况下,在讨论语言标注任务时“越大越好”并不是切实可行的——时间、金钱、有限的资源以及精力都可能是限制你和你的标注人员能完成标注规模的因素。
注意: 如果这是你收集数据工作的第一轮,那么最重要的事情是产生一个包含与任务有关的所有现象例子的样本语料库。
也就是说,我们建议在第一次进行文档标注时从较小的规模开始——首先为标注人员选择少量的文档,看看标注任务与标注指南是否合适(标注指南将在第6章中讨论)。一旦你已经解决了一些问题,就可以返回到前面的步骤中并在需要时增加语料库。
不幸的是,我们无法给你一个具体的数字来决定语料库需要达到多大规模才能取得好的结果,这种魔幻数字并不存在。语料库规模的大小很大程度上取决于标注任务的复杂程度,但是即使有办法量化标注方案中的“复杂度”也不能解决所有问题。然而,已在使用中的语料库可以为我们提供一些经验法则帮助判断应该计划构建多大的语
料库。
2.4.1 现有语料库
在决定语料库规模时一个简单的经验法则是考察正在类似任务中使用的现有语料库。表2-2显示了到现在为止我们已经讨论的一些语料库的规模。如你所见,它们并没有全部使用相同的标准来衡量语料库规模。这在很大程度上取决于语料库的目标——用于文档级评价的语料库(比如自然语言处理工具箱(Natural Language Toolkit, NLTK)中的电影评论)一般提供文档数作为参考,而以单词或者短语为基本单位的标注任务则通常将报告单词或短语的数量作为衡量标准。
表2-2:依据估计的大小排序的现有语料库
语料库 估计的大小
ClueWeb09 1 040 809 705个网页
英国国家语料库 1亿个单词
美国国家语料库 2200万个单词(截至本书写作时)
TempEval2(SemEval2010的一部分) 每种语言数据集包含1万~6万个词例
宾州话语树库 100万个单词
i2b2 2008竞赛——吸烟状态 502份医院治疗报告
TimeBank 1.2 183份文档;61 000个词例
情感歧义形容词消歧(中文数据,SemEval 2010 4 000个句子
的一个部分)
你可能已注意到,后面3个语料库的规模比其他语料库小——这是因为这3个语料库主要用于自然语言处理竞赛中,竞赛的内容是在有限时间内执行某个自然语言处理机器学习任务。这个限制也包括用于构建训练和测试数据集的时间。为保证标注工作的可行性,语料库的规模就不可能太大,而且有时候标注方案也可能会简化。但是,这些竞赛的结果常常没有将更多时间用于构建规模更大、标注质量更高语料库情况下的结果好。
2.4.2 语料库内部的分布
前面我们曾经提到过,为了增加信息量应将多种类型的数据收入语料库中。这里我们将展示一些例子来说明已有语料库中不同来源数据的分布。
例如,TimeBank是一个包含183篇新闻文章的集合,所有文章均标注了时间和事件信息。然而,TimeBank中的所有文章并不是以同样的方式产生的:有些是广播转写文本,有些是日报文章,还有一些是为新闻专线广播而写的文章。类型分布的情况如图2-2所示。
如你所见,虽然语料库大量收录了日报文章,但也体现了其他数据来源。包含这些不同来源的数据可以帮助我们了解在类似但并不相同的媒介中如何表示时间和事件。
图2-2:TimeBank数据来源分布
英国国家语料库(BNC)是另一个包含多源数据的语料库——数据来源的差异比TimeBank还要大。图2-3显示了BNC中的文本类型的分布,与BNC的参考指南中所描述的一样。
图2-3:BNC中的文本类型的分布
自然地,在评价一个语料库的平衡性时还可以考虑其他的分布角度。BNC还提供了基于出版日期、领域、媒介以及包括作者信息和预期听众在内的子类分析的语料库分析(如图2-4所示)。
图2-4:BNC中的出版日期
对于语料库来说,不太可能考虑覆盖所有这些可能类型的代表样本。换言之,使可能带来差异的影响降至最低是一个好的策略,尤其是当你刚刚开始从事标注工作时。比如,确定所有文本均来自同一时期,或者核实所有的说话者均是你要求他们所说语言的母语者都是你可能需要考虑的事情,即使你最终决定在你的语料库中不包括这种差异。
总结
本章讨论了创建好的目标定义时需要考虑的关键因素,以及目标怎样影响数据集。具体地,我们考察了以下要点:
对标注任务的目标给出清晰的定义有助于使你在开始创建任务定义和撰写标注指南时行驶在正确的轨道上。
在标注任务中往往需要在信息量与正确性之间寻求平衡——请注意,一定不能为了迎合某一方面而过多地牺牲另一方面。
清晰地定义标注任务的范围将使语料库来源的选择变得更加容易,在以后还将使确定标签集和撰写标注指南变得更加容易。
进行一些背景研究能帮助你在进行自己的标注任务时避免重复已有的工作。
利用现有语料库作为数据集会使其他必要的分析变得更加简单。
如果现有语料库不能适应你的需要,那么可以自行构建一个新的语料库,但请仔细考虑到底需要什么样的数据以及哪些因素可能使任务变得复杂?
现有的各种工具和编程语言能帮助你从因特网上收集数据。
你打算呈现给标注人员的信息将是影响标注的一个重要因素,尤其是在那些比较依赖标注人员的主观意见或者是对文本的主观解读而非客观事实的任务中。