把 5 万条中文文本标注从两周压到两天:Chinese-Annotator 实战教程

📅 2026/8/24 5:00:05
把 5 万条中文文本标注从两周压到两天:Chinese-Annotator 实战教程
把 5 万条中文文本标注从两周压到两天Chinese-Annotator 实战教程【免费下载链接】Chinese-AnnotatorAnnotator for Chinese Text Corpus (UNDER DEVELOPMENT) 中文文本标注工具项目地址: https://gitcode.com/gh_mirrors/ch/Chinese-Annotator周五要交料5 万条中文文本还在待办里命名实体识别、文本分类、关系抽取排在一起。我放弃拉人海战术直接搭了 Chinese-Annotator——一个把主动学习标注做进工作流的中文文本标注工具标得越多模型越准。下面按我实际的跑法走一遍。3 分钟跑起来中文文本标注工具启动环境四件套Python 3.6 虚拟环境、MongoDB、Node LTS、yarn。克隆仓库装依赖起 MongoDB执行数据库初始化脚本会自动建好ca库、管理账号和一批样例数据再起后端 API。前端在web/目录下装依赖后跑yarn start。git clone https://gitcode.com/gh_mirrors/ch/Chinese-Annotator cd Chinese-Annotator pip install -r requirements.txt bash scripts/init_db.sh bash scripts/run_webui.sh浏览器打开前端页面能看到样例语料就说明链路通了。它凭什么越标越准主动学习标注流程把它想成一位边批改边更新题库的老师。你每确认一条标注online 模型SVM 这类快而轻的传统方法马上吸收这条反馈不用等攒够数据标到一定量offline 模型深度学习再进场做精细训练把边界样本算得更准。关键在为什么不用标完才训练如果标完才学前 90% 的重复样本全是人工硬扛。主动学习反过来模型只把置信度最低的那几条推给你确认确信度高的直接自动通过。你实际是在教模型而不是在抄题库——这正是它比纯人工标注省时间的根本原因。跑一遍完整 NER 任务命名实体识别标注工作流数据导入准备 JSON 语料chi_annotator/data/files/下有样例格式可参考按模板整理后导入数据落到 MongoDB 的 dataset 表冷启动时全部处于未标注状态。首批评注手动标 100200 条实体。这步别跳过online 模型冷启动全靠这批种子标太少推荐质量会很差。模型推荐每确认一条后台就重算置信度把最拿不准的样本排在队列最前面推给你你只处理边界样本。迭代标注循环确认/否决/跳过操作history 表自动留痕数据量攒到阈值后 offline 模型自动重训整条流水线如组件链所示依次流转。导出结果标注收工后从数据库导出标注数据与模型产物即可MongoDB 直接导出标注集合mongodump --db ca --collection annotation_raw_data -o ./exports换任务只改一处配置标注任务配置对比每个任务对应chi_annotator/user_instance/下的一份实例配置核心是model_type、labels、pipeline三个字段改这一处即可切换任务类型任务model_typepipeline 核心组合数据形态文本分类classificationfeature_extractor online/offline_svm_classifier_sklearn每行一句标签如 spam / notspam命名实体识别ner分词jieba 字向量char2vec 在线/离线模型词序列 实体区间词性标注pos_tagger同上分词管线逐词输出标签词序列 词性标签关系抽取re分词 实体特征 在线/离线分类器实体对 关系类型分类任务的配置片段长这样其余任务照抄字段骨架再填自己的标签model_type: classification, pipeline: [feature_extractor, online_svm_classifier_sklearn, offline_svm_classifier_sklearn], labels: [spam, notspam]提醒一句当前仓库里 ner / pos_tagger / re 的样例配置还是占位状态实际要照分类模板补齐字段。预处理、在线、离线算法都在chi_annotator/algo_factory/下按目录分好配 pipeline 时按名取用即可。踩坑 调优常见问题与修正方法前端起来但接口全挂→ MongoDB 没先启动init_db.sh和run_webui.sh都依赖本地 mongod顺序别反。推荐队列里同一类样本反复出现→ 置信度阈值太保守把配置里的confidence_threshold从 0.95 往下调一档同时用inference_num控制每轮推送量别一次推太多。行业术语识别不到→ 在 jieba 分词预处理阶段灌入领域词典再叠加正则规则兜底固定模式比死磕模型快得多。多人标注质量参差→ 所有操作都落在 history 表定期按时间戳抽查对照 dataset 表对不一致的标注按留痕回滚修正这就是现成的标注一致性检查通道。想知道要标多少才够→ 粗参考简单分类 100500 条NER 5001000 条复杂关系抽取 1000 条起步之后看验证集表现再决定停不停。从单人标注到团队协作增量标注与规则库人多的时候流程比工具更重要。冷启动阶段先让一两个专家标 100200 条高质量种子训出初始模型然后把大批量语料交给模型过置信度人只收边界样本重复预测—标注—重训的增量循环直到验证集指标达标。领域规则沉淀到规则库里复用行业术语走词典固定句式走正则规则命中直接跳过模型判定泛化靠模型补。所有成员的标注历史统一进 history 表谁在什么时候改了什么一查便知质量抽检和交接都有了依据。任务结束前让 offline 模型在全量标注数据上重训一次交付的模型才是最终形态。Chinese-Annotator 是 Apache 2.0 协议的开源中文文本标注工具主动学习工作流开箱即用。有建议、issue 或想加的功能欢迎直接进来共建。【免费下载链接】Chinese-AnnotatorAnnotator for Chinese Text Corpus (UNDER DEVELOPMENT) 中文文本标注工具项目地址: https://gitcode.com/gh_mirrors/ch/Chinese-Annotator创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考