You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JSON转CONLL2003格式转换工具/脚本求助:适配Hugging Face BERT NER训练

标注格式转CONLL2003的实现方案
  • 自定义Python脚本(最灵活可控)
    你可以编写一段轻量Python代码完成转换,核心是将文本的每个字符与标签对齐,再按CONLL2003的「token 标签」格式输出(非实体标注为O,实体起始位用B-XXX,中间位用I-XXX)。

    示例代码:

    def convert_to_conll(text, labels):
        # 初始化所有字符的标签为O
        char_labels = ["O"] * len(text)
        # 标记每个实体的起始和中间位置
        for label_item in labels:
            start_idx = label_item["start"]
            end_idx = label_item["end"]
            entity_label = label_item["label"]
            # 实体第一个字符标记为B-前缀
            char_labels[start_idx] = f"B-{entity_label}"
            # 实体后续字符标记为I-前缀
            for idx in range(start_idx + 1, end_idx):
                char_labels[idx] = f"I-{entity_label}"
        # 按空格拆分token,对齐标签
        tokens = text.split()
        conll_output = []
        current_pos = 0
        for token in tokens:
            # 取token第一个字符对应的标签作为该token的标签
            token_label = char_labels[current_pos]
            conll_output.append(f"{token} {token_label}")
            # 移动指针:token长度 + 1个空格
            current_pos += len(token) + 1
        # 每个样本间用空行分隔
        return "\n".join(conll_output) + "\n\n"
    
    # 测试你的示例数据
    sample_data = {
        "text": "I am a boy and I come from New York",
        "labels": [{"start": 20, "end": 28, "label": "Location"}]
    }
    print(convert_to_conll(sample_data["text"], sample_data["labels"]))
    

    运行后输出的CONLL格式如下:

    I O
    am O
    a O
    boy O
    and O
    I O
    come O
    from O
    New B-Location
    York I-Location

  • 基于Hugging Face Datasets库处理
    如果你正在使用Hugging Face生态,可借助datasets库完成转换,同时能直接适配BERT的子词分词逻辑(避免子词分割导致标签错位):

    1. 将你的标注数据整理为列表格式,用datasets.Dataset.from_list()加载为Dataset对象
    2. 加载BERT对应的tokenizer,使用tokenizer(text, return_offsets_mapping=True)获取子词与原始文本的位置映射
    3. 遍历每个子词,根据偏移映射匹配原始标签,生成子词对应的标签序列(子词起始位用B-XXX,后续用I-XXX,无匹配则为O)
    4. 可直接用处理后的Dataset训练模型,或通过datasets.Dataset.save_to_disk()导出,再转换为CONLL格式

内容的提问来源于stack exchange,提问作者MLCoder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 04:10:35