当前位置: 首页 > article >正文

Doccano自动标注实战:我用它3天搞定了一个NER项目的数据标注

Doccano自动标注实战我用它3天搞定了一个NER项目的数据标注1. 项目背景与挑战上个月接到了一个从新闻文本中抽取公司名和职位的NER任务标注量约5000条。作为独立开发者既没有专业标注团队也没有充足预算购买商业标注服务。传统人工标注效率太低而完全依赖预训练模型又担心准确率。经过技术选型最终决定采用Doccano轻量级模型的半自动方案没想到3天就完成了全部工作。这个方案的核心优势在于80%标注工作由模型自动完成人工仅需校验和修正Doccano的协同功能支持多人并行校验全流程可视化标注进度和质量实时可控关键决策点选择UIE模型而非spaCy因为前者支持zero-shot自定义实体类型更适合本项目快速启动2. 环境搭建与数据准备2.1 快速部署Doccano 1.6.2在Ubuntu 20.04服务器上部署仅需三步# 创建Python3.8虚拟环境 python -m venv doccano_env source doccano_env/bin/activate # 安装指定版本 pip install doccano1.6.2 # 初始化服务 doccano init # 设置管理员账号 doccano webserver --port 8000 # 后台运行 doccano task # 启动任务队列常见踩坑点端口冲突导致服务无法启动建议先用netstat -tulnp检查未安装SQLite3开发库导致数据库初始化失败Ubuntu需apt install libsqlite3-dev2.2 原始数据处理技巧新闻数据往往包含大量HTML标签和特殊字符需要预处理import re from bs4 import BeautifulSoup def clean_text(text): # 去除HTML标签 text BeautifulSoup(text, html.parser).get_text() # 合并连续空格 text re.sub(r\s, , text) # 过滤特殊字符 return text.encode(ascii, ignore).decode().strip()预处理后的数据按每行一条文本的格式保存为news_data.txt方便后续导入。3. 自动标注系统搭建3.1 模型选型对比模型准确率推理速度显存占用定制难度UIE-base78%15ms/条2.3GB★★☆☆☆spaCy-zh65%8ms/条1.1GB★★★★☆BERT-CRF82%45ms/条4.5GB★★★★★最终选择UIE模型因其在少样本场景下表现最佳from paddlenlp import Taskflow schema [公司名, 职位] ie Taskflow(information_extraction, schemaschema, device_id0) # 使用GPU # 测试样例 text 阿里巴巴CEO张勇宣布组织架构调整 print(ie(text)) # 输出: [{公司名: [{text: 阿里巴巴, start: 0, end: 4}], 职位: [{text: CEO, start: 4, end: 7}]}]3.2 自动化接口开发使用FastAPI构建高性能标注接口from fastapi import FastAPI from pydantic import BaseModel app FastAPI() class RequestData(BaseModel): text: str app.post(/predict) async def predict(data: RequestData): result ie(data.text) return { entities: [ { label: label, start_offset: ent[start], end_offset: ent[end], text: ent[text] } for label in result[0] for ent in result[0][label] ] }启动服务uvicorn api:app --host 0.0.0.0 --port 57394. 标注流程优化实战4.1 Doccano配置关键步骤项目创建选择Sequence Labeling类型标签设置公司名蓝色、职位红色自动标注集成// REST接口配置 { url: http://your_server_ip:5739/predict, method: POST, headers: {Content-Type: application/json}, body: {text: {{text}}} }标签映射接口返回的公司名→ Doccano标签公司名接口返回的职位→ Doccano标签职位4.2 效率提升技巧第一天完成2000条自动标注发现模型对缩写公司名识别差如阿里→阿里巴巴解决方案在接口层添加别名映射表company_alias { 阿里: 阿里巴巴, 腾讯: 腾讯控股, # ... } def normalize_company(name): return company_alias.get(name, name)第二天团队协作校验3人同时工作通过Doccano的Assign功能分配任务使用Comments功能标记有争议的标注第三天质量检查与导出随机抽样500条检查准确率达到92%导出格式选择JSONL包含原始文本和标注span5. 关键问题与解决方案5.1 典型错误案例复合职位识别错误示例高级产品经理被拆分为高级和产品经理修复方法在UIE的schema中添加复合职位类别公司名包含职位错误示例腾讯研究院被误标为公司名解决方案添加否定词表过滤5.2 性能优化当处理长文本时1000字UIE速度明显下降。采用分块处理策略def chunk_text(text, max_len500): sentences text.split(。) chunks [] current_chunk for sent in sentences: if len(current_chunk) len(sent) max_len: current_chunk sent 。 else: chunks.append(current_chunk) current_chunk sent 。 if current_chunk: chunks.append(current_chunk) return chunks6. 项目成果与经验最终获得的标注数据质量准确率91.2%人工评估覆盖率88.7%相比纯人工标注成本对比方式耗时人力成本工具成本纯人工2周60000本方案3天1500300几个实用建议自动标注前先人工标注100条作为模型微调数据设置明确的标注规范文档特别是边界案例定期导出数据备份防止意外丢失

相关文章:

Doccano自动标注实战:我用它3天搞定了一个NER项目的数据标注

Doccano自动标注实战:我用它3天搞定了一个NER项目的数据标注 1. 项目背景与挑战 上个月接到了一个从新闻文本中抽取公司名和职位的NER任务,标注量约5000条。作为独立开发者,既没有专业标注团队,也没有充足预算购买商业标注服务。传…...

MyScaleDB:基于SQL的向量数据库实战,实现混合查询与AI应用开发

1. 项目概述:当向量数据库遇见SQL如果你最近在折腾大模型应用,尤其是想给AI应用加上“长期记忆”或者实现精准的文档问答,那你大概率已经听过“向量数据库”这个词。从早期的Milvus、Pinecone,到后来各大云厂商纷纷入局&#xff0…...

如何用Python 5分钟获取同花顺问财数据?量化分析终极指南

如何用Python 5分钟获取同花顺问财数据?量化分析终极指南 【免费下载链接】pywencai 获取同花顺问财数据 项目地址: https://gitcode.com/gh_mirrors/py/pywencai 还在为获取金融数据而烦恼吗?想快速筛选股票却苦于没有合适工具?今天我…...

WordPress Puock主题深度解析:高颜值集成化设计与实战配置指南

1. 项目概述:为什么选择Puock主题?如果你正在寻找一款功能强大、颜值在线,并且能让你从繁琐的WordPress主题配置中解脱出来的产品,那么Puock主题绝对值得你花时间深入了解。我接触过不少WordPress主题,从付费到开源&am…...

AI工具导航站Awesome-AITools:社区驱动的资源聚合与高效使用指南

1. 项目概述:为什么我们需要一个AI工具导航站?如果你最近也在关注AI领域,大概率会和我有同样的感受:新工具、新模型、新应用的出现速度,已经快到了让人眼花缭乱的地步。今天刚听说一个能自动剪辑视频的AI,明…...

基于MCP协议的GitHub PR代码审查工具:自动化安全与质量分析

1. 项目概述与核心价值 最近在折腾一个挺有意思的东西,一个专门给GitHub Pull Request做代码审查的MCP服务器。简单来说,它能让你的AI助手(比如Cursor里的Claude)直接读懂GitHub上的代码变更,然后像一位经验丰富的技术…...

CH32F103C8T6 vs STM32F103C8T6:程序下载生态深度对比与国产替代实战

CH32F103C8T6与STM32F103C8T6程序下载生态全维度对比与国产化迁移指南 在嵌入式开发领域,MCU的程序下载方式往往决定了开发效率的上限。当工程师从熟悉的STM32平台转向国产CH32时,最直接的"水土不服"往往就发生在烧录环节——同样的SWD接口为何…...

ARM与中科创达物联网加速器:一站式平台如何重塑产品开发

1. 项目概述:ARM与中科创达的物联网生态加速器2015年,半导体IP巨头ARM与总部位于北京的中科创达(Thundersoft)联合宣布,将在中国建立“ARM创新生态加速器”。这个消息在当时可能只是科技新闻版块的一则快讯&#xff0c…...

GeoJSON.io:3分钟创建专业地图,地理数据可视化从未如此简单

GeoJSON.io:3分钟创建专业地图,地理数据可视化从未如此简单 【免费下载链接】geojson.io A quick, simple tool for creating, viewing, and sharing spatial data 项目地址: https://gitcode.com/gh_mirrors/ge/geojson.io 你是否曾经需要在地图…...

实测Taotoken多模型聚合服务的响应延迟与稳定性观感

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 实测Taotoken多模型聚合服务的响应延迟与稳定性观感 1. 引言 在将大模型能力集成到实际应用的过程中,开发者除了关注模…...

解决ROS的‘Done checking log file disk usage’卡顿:你的~/.bashrc里ROS_IP设对了吗?

解决ROS日志检查卡顿:环境变量配置的深层解析与实战指南 当你在终端启动roscore时,是否遇到过长时间卡在"Done checking log file disk usage"提示的尴尬?这个问题看似简单,背后却隐藏着ROS环境配置的关键细节。本文将带…...

开发AI应用时借助Taotoken模型广场快速进行模型选型与测试

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 开发AI应用时借助Taotoken模型广场快速进行模型选型与测试 在开发基于大语言模型的应用或功能时,一个常见的挑战是如何…...

保姆级教程:用Python复现红外小目标检测的LCM算法(附完整代码)

从零实现红外小目标检测:LCM算法Python实战指南 在计算机视觉领域,红外小目标检测一直是颇具挑战性的任务。不同于常规物体检测,红外图像中的目标往往只有几个像素大小,缺乏纹理和形状特征。传统基于深度学习的方法在这种场景下常…...

SwiftUI原生集成ChatGPT API:从架构设计到流式响应实战

1. 项目概述:一个原生的Swift版ChatGPT客户端最近在折腾iOS和macOS上的AI应用开发,发现了一个挺有意思的开源项目:alfianlosari/ChatGPTSwift。简单来说,这是一个用纯SwiftUI构建的、直接调用OpenAI官方API的ChatGPT客户端。它不是…...

从专利大国到专利强国:企业全球专利布局策略与实战指南

1. 从“专利大国”到“专利强国”:一场关于价值与布局的深度思考最近翻看一些行业旧闻,2016年EE Times上那篇关于中国专利“不出海”的讨论,现在读来依然很有嚼头。文章核心就一句话:根据世界知识产权组织(WIPO&#x…...

深入浅出:用Grad-CAM解锁Swin Transformer的视觉注意力

1. 为什么需要理解Swin Transformer的视觉注意力? 当你第一次看到Swin Transformer在图像分类任务中表现出色时,可能会好奇它到底"看"到了图像的哪些部分。传统的卷积神经网络(CNN)通过局部感受野逐步提取特征&#xff…...

深入解析Baichuan-7B:从GPT架构到LoRA微调的实践指南

1. 项目概述:从开源大模型到“百川”入海 最近在和朋友聊起国内大模型的开源生态时,总绕不开一个名字——“百川”。我说的不是地理上的河流,而是由百川智能公司开源的Baichuan系列大语言模型。今天想重点聊聊的,是它的起点&#…...

校企合作奖学金与实习计划:破解半导体硬件人才困境的务实路径

1. 行业人才困境的根源与一个被忽视的解法最近和几位在半导体、硬件设计领域摸爬滚打了十几年的老朋友聊天,话题不出意外地又绕回了“招人难”。从深圳的硬件创业公司,到上海的外企研发中心,再到西安的老牌研究所,几乎所有人都在抱…...

降AI率软件9平台覆盖测评:嘎嘎降自研稳定vs套壳工具单平台!

降AI率软件9平台覆盖测评:嘎嘎降自研稳定vs套壳工具单平台! 「支持知网维普」实际只能稳定降一个平台,这是怎么回事? 我是双学位本科生,毕业论文 3.5 万字。学校规定送知网做 AIGC 检测,但导师建议我自己…...

嵌入式与硬件设计前沿:IIoT、FIDO、TSN与GaN无线充电实战解析

1. 项目概述:一场面向硬件工程师的在线技术盛宴如果你是一名嵌入式系统开发者、汽车电子工程师,或者正在为你的智能硬件产品寻找无线充电方案,那么最近一段时间密集出现的线上技术研讨会,绝对值得你花时间关注。这不是泛泛而谈的理…...

MAXON 机电高压油安全切断阀 通用型摆动式闸阀 灰铸铁 8790

在工业锅炉、熔炉及加热系统中,燃料管路的安全切断是防控火灾与爆炸风险的核心环节。MAXON(麦克森)8790 机电高压油安全切断阀,作为霍尼韦尔旗下经典的通用型摆动式闸阀,以灰铸铁阀体、毫秒级切断速度与严苛安全认证&a…...

如何轻松下载B站4K大会员视频?这款开源工具让你三步搞定离线收藏

如何轻松下载B站4K大会员视频?这款开源工具让你三步搞定离线收藏 【免费下载链接】bilibili-downloader B站视频下载,支持下载大会员清晰度4K,持续更新中 项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-downloader 想象一下…...

CoPaw个人AI工作站:私有化部署与智能体集成实战指南

1. 项目概述:你的个人AI工作站 如果你正在寻找一个能真正为你所用、在你掌控之下的AI助手,而不是一个用完即走的聊天机器人,那么CoPaw的出现,可能正是你等待已久的答案。简单来说,CoPaw是一个开源的、可私有化部署的“…...

量子支持向量机原理与硬件优化实践

1. 量子支持向量机基础原理与硬件挑战量子支持向量机(QSVM)是传统支持向量机在量子计算框架下的扩展,其核心创新点在于利用量子态空间的高维特性构建核函数。与传统核方法相比,量子核映射通过量子电路将经典数据编码到希尔伯特空间…...

中国词元与世界AI元语:模力方舟和口袋龙虾的协同进化

在AI产业从技术突破转向生态竞争的今天,一个核心命题日益凸显:如何让顶尖的AI能力跨越技术鸿沟,真正触达每一个开发者与终端用户?开源中国以“模力方舟”与“口袋龙虾”为双核驱动,构建了一条从底层资源聚合到上层应用…...

【独家首发】DeepSeek-V2模型GPU利用率可视化方案:仅需3个自定义Metrics,告别盲调参数

更多请点击: https://intelliparadigm.com 第一章:DeepSeek Grafana可视化 DeepSeek 是一款高性能、低延迟的开源时序数据引擎,其原生支持 Prometheus 兼容指标暴露。将 DeepSeek 与 Grafana 集成,可实现对模型推理吞吐、GPU 显存…...

AI智能体商业化实战:x402支付技能包集成指南

1. 项目概述:为AI智能体插上商业化的翅膀最近在折腾AI智能体(Agent)的落地应用,发现了一个挺有意思的痛点:怎么让这些能写代码、能处理任务的AI,真正地“赚到钱”?或者说,我们开发者…...

别再被Excel文件‘炸’了!手把手教你用ZipSecureFile.setMinInflateRatio解决Apache POI的Zip Bomb报错

深度解析Apache POI的Zip Bomb防护机制与安全实践 当Java开发者使用Apache POI处理用户上传的Excel文件时,可能会突然遭遇"Zip bomb detected!"的报错。这个看似简单的错误背后,实际上涉及文件安全检测、内存防护和系统稳定性等多重考量。本文…...

基于AutoHotkey v2的Cursor AI编程效率工具:CapsLock快捷键方案详解

1. 项目概述:当CapsLock键成为你的AI编程副驾如果你是一名Windows用户,同时又是Cursor编辑器的深度使用者,那么你很可能和我一样,每天都在重复着一些机械操作:选中代码、复制、切换到AI聊天框、粘贴、再敲入一段提示词…...

基于Rust构建命令行任务监控与通知工具:openclaw-tui-notify实践

1. 项目概述与核心价值最近在折腾一个后台数据处理脚本,它经常一跑就是好几个小时。问题来了,我总不能一直盯着终端看它什么时候结束吧?有时候去开个会、吃个饭,回来发现脚本早就跑完了,白白浪费了时间等结果。更头疼的…...