3.5 决定要包含的标注层

发布的语料库中所包含的信息的丰富性差别很大。语料库最低限度通常会包含至少一个声音或字形符号的序列。事情的另一面,一个语料库可以包含大量的信息,如句法结构、形态、韵律、每个句子的语义、加上段落关系或对话行为的标注。标注的这些额外的层可能正是有人执行一个特定的数据分析任务所需要的。例如,如果我们可以搜索特定的句法结构,找到一个给定的语言模式就更容易;如果每个词都标注了意义,为语言模式归类就更容易。这里提供一些常用的标注层:

  • 分词:文本的书写形式不能明确地识别它的词符。分词和规范化的版本作为常规的正式版本的补充可能是一个非常方便的资源。
  • 断句:正如我们在3中看到的,断句比它看上去的似乎更加困难。因此,一些语料库使用明确的标注来断句。
  • 分段:段和其他结构元素(标题,章节等)可能会明确注明。
  • 词性:文档中的每个单词的词类。
  • 句法结构:一个树状结构,显示一个句子的组成结构。
  • 浅层语义:命名实体和共指标注,语义角色标签。
  • 对话与段落:对话行为标记,修辞结构

不幸的是,现有的语料库之间在如何表示标注上并没有多少一致性。然而,两个大类的标注表示应加以区别。内联标注通过插入带有标注信息的特殊符号或控制序列修改原始文档。例如,为文档标注词性时,字符串"fly"可能被替换为字符串"fly/NN"来表示词 fly 在文中是名词。相比之下,对峙标注不修改原始文档,而是创建一个新的文档,通过使用指针引用原始文档来增加标注信息。例如,这个新的文档可能包含字符串"<token id=8 pos='NN'/>",表示 8 号词符是一个名词。(我们希望可以确保的分词本身不会变化,因为它会导致默默损坏这种引用。)