CoNLL Format Guide

    基于列的标注格式,用于命名实体识别和词性标注

    Annotation

    Specification

    CoNLL(Conference on Natural Language Learning,自然语言学习会议)格式是一系列基于列的文本标注格式,主要用于 NLP 中的序列标注任务,包括命名实体识别(NER)、词性标注(POS tagging)、句法分块和依存句法分析。该格式以每行一个词元的方式呈现,列之间用制表符或空格分隔,空行标识句子边界。不同的 CoNLL 共享任务引入了略有不同的列模式,其中 CoNLL-2003(用于 NER)和 CoNLL-U(用于通用依存关系)是目前最广泛使用的变体。

    在 CoNLL-2003 NER 格式中,每行包含四列:词元(单词)、POS 标签、句法分块标签和命名实体标签。实体标签使用 IOB2(Inside-Outside-Beginning)标注方案,其中 B-PER 标记人名实体的起始,I-PER 标记人名实体的延续,O 标记不属于任何实体的词元。其他常见的实体类型包括 ORG(组织)、LOC(地点)和 MISC(其他)。BIO 标注方案对于处理多词元实体至关重要,例如 "New York City",其中第一个词元标记为 B-LOC,后续词元标记为 I-LOC。

    CoNLL-U 是通用依存关系树库的格式,将列结构扩展为十个字段:ID、FORM(词形)、LEMMA(词元)、UPOS(通用 POS)、XPOS(语言特定 POS)、FEATS(形态特征)、HEAD(依存核心)、DEPREL(依存关系)、DEPS(增强依存)和 MISC。CoNLL-U 文件以 # 开头的注释行包含元数据,如句子 ID 和原始未分词文本。该格式已成为多语言 NLP 标注的标准,被 100 多种语言的 200 多个树库所使用。

    When to Use CoNLL

    当训练用于 NER、词性标注、分块或依存句法分析的序列标注模型时,应使用 CoNLL 格式。大多数 NLP 框架(包括 spaCy、Flair、Hugging Face Transformers(通过 datasets 库)和 Stanford NLP)都接受 CoNLL 格式的输入。如果你正在训练词元分类模型,CoNLL 很可能是期望的输入格式。它也是 NER 评估基准和共享任务的标准格式。

    当标注任务需要与空格分词文本对齐的词元级标签时,应选择 CoNLL 格式。每行一个词元的结构使得在词元级别计算标注者间一致性变得简单,便于通过目视检查发现标注错误,并能使用简单的文本处理脚本进行数据分析。当你的标注工作流使用支持 CoNLL 导出的工具(如 BRAT、Prodigy 或 Label Studio)时,CoNLL 也是天然的选择。

    CoNLL 格式不太适合需要字符级或跨度级标注且边界任意的任务(此类场景请使用离线标注格式),不适合句子边界模糊或无关紧要的文档,也不适合需要将词元标签与文档级元数据或跨句关系结合的任务。对于非常大的数据集,每行一个词元的格式会导致文件较大,相比之下使用跨度表示标注的 JSON 格式更为紧凑。

    Schema / Structure

    text
    CoNLL-2003 NER Format (4 columns):
    <token> <POS> <chunk> <NER_tag>
    
    Tagging scheme: IOB2 (BIO)
      B-XXX  = Beginning of entity type XXX
      I-XXX  = Inside (continuation) of entity type XXX
      O      = Outside any entity
    
    Common entity types:
      PER = Person, ORG = Organization
      LOC = Location, MISC = Miscellaneous
    
    CoNLL-U Format (10 columns):
    <ID> <FORM> <LEMMA> <UPOS> <XPOS> <FEATS> <HEAD> <DEPREL> <DEPS> <MISC>
    
    Sentence boundaries: blank lines
    Comment lines: start with #
    CoNLL-2003 和 CoNLL-U 格式规范,包含列定义和标注方案

    Example Data

    text
    # CoNLL-2003 NER example
    John B-NNP B-NP B-PER
    Smith I-NNP I-NP I-PER
    works VBZ B-VP O
    at IN B-PP O
    Google B-NNP B-NP B-ORG
    in IN B-PP O
    Mountain B-NNP B-NP B-LOC
    View I-NNP I-NP I-LOC
    , , O O
    California B-NNP B-NP B-LOC
    . . O O
    
    He PRP B-NP O
    joined VBD B-VP O
    in IN B-PP O
    2019 CD B-NP O
    . . O O
    
    # CoNLL-U example
    # sent_id = 1
    # text = The cat sat on the mat.
    1	The	the	DET	DT	Definite=Def	2	det	_	_
    2	cat	cat	NOUN	NN	Number=Sing	3	nsubj	_	_
    3	sat	sit	VERB	VBD	Tense=Past	0	root	_	_
    4	on	on	ADP	IN	_	6	case	_	_
    5	the	the	DET	DT	Definite=Def	6	det	_	_
    6	mat	mat	NOUN	NN	Number=Sing	3	obl	_	SpaceAfter=No
    7	.	.	PUNCT	.	_	3	punct	_	_
    CoNLL-2003 NER 标注和 CoNLL-U 依存句法分析标注示例

    Ertas Support

    Ertas Data Suite 支持 CoNLL 格式的导入和导出,适用于 NER 和序列标注训练数据。你可以导入 CoNLL 标注数据集,在实体级别进行 PII 脱敏处理(在实体被遮蔽时自动更新 BIO 标签),验证标签一致性(检查缺少前置 B 标签的 I 标签),并导出清理后的 CoNLL 格式数据集以供模型训练。数据血缘系统会追踪标注在整个数据准备流程中的变更。

    Ship AI that runs on your users' devices.

    Early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.