ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

20 分钟搭好 Label Studio OCR 发票预标注:BIO 格式 NER 数据准备实战

20 分钟搭好 Label Studio OCR 发票预标注:BIO 格式 NER 数据准备实战 20 分钟搭好 Label Studio OCR 发票预标注BIO 格式 NER 数据准备实战【免费下载链接】label-studioLabel Studio is a multi-type data labeling and annotation tool with standardized output format项目地址: https://gitcode.com/GitHub_Trending/la/label-studio给 NER 模型备料绕不开一个前置工序先让 OCR 从发票里「读」出文本再让标注人员把这些读出来的词一个个核干净。社区模板 OCR Invoices Pre-NER BIO Format 就是干这件事的 Label Studio OCR 发票预标注工具OCR 模型画好文本框后你逐框校对转写文本导出带坐标、带O标签的 token 列表直接作为 BIO 格式 NER 数据准备的原料。整套标注配置只有三个控件本文带你一次搭通。这个模板在数据管线里的位置三段分工各管一段OCR 识别上游模型对发票图片做文本检测与识别产出一组带坐标的 token——token 就是发票上的一个词条或字段比如发票号、金额、日期。Pre-NER 人工校对本模板每个 token 在图上呈现为一个矩形框标注者逐框核对、修正 OCR 转写内容这一阶段所有 token 一律记为OOutside实体之外。NER 实体标注下游把校对好的 token 按阅读顺序排成序列再按 BIO 约定打B-实体开始/I-实体内部标签进入模型训练。一句话本模板不产出实体标签它只负责把 token 边界和转写文本理干净。一份 Label Studio 标注配置看懂三个控件 ️View Image nameimage value$image zoomControltrue/ RectangleLabels namelabel toNameimage choicesingle Label valueO background#FFA500/ /RectangleLabels TextArea nametranscription toNameimage perRegiontrue editabletrue rows1 requiredtrue placeholderType or correct OCR text…/ /ViewImage负责展示票据value$image从任务数据里取图片 URL。它有个容易被忽视的设定导出结果的坐标不是像素值而是相对原图宽高的 0–100 百分比混用不同分辨率的发票图片也不用先归一化。RectangleLabels通过toNameimage绑到图片上管「框」这一半choicesingle意味着每个框只能挂一个标签模板里就定义了一个橙色O标签含义是「所有 token 默认都在实体之外」。TextArea管「文」这一半。它同样绑到image但关键在于perRegiontrue输入框不再是一张图一个而是每个矩形各一个。发票号框出来的瞬间关联输入框里就带着那段 OCR 文本你只管改字。editabletrue保证改得动rows1让单行输入框支持直接按 Enter 提交省掉点击动作。缺了就不好使的四个参数 ⚙️perRegion是全篇配置里最不能省的一个。一旦关掉TextArea 就和矩形脱钩变成「整图填一段文本」逐框校对的工作流当场失效。choicesingle决定了每个框只有一个标签位。这迫使标注者当场做出判断导出结果干净反过来如果你希望「先框选、后分类」把它改成multiple就能在后续流程里补分类。requiredtrue把漏填堵死某个 token 没写转写文本整个任务提交不了。对 OCR 转写校对来说缺一个字段比错一个字段更危险——token 序列不完整会直接污染下游 NER 语料。zoomControltrue是体验项发票字号普遍偏小开大缩放控件标注者看清细字才校得准。关掉它等于让人在缩略图上猜字。从导入发票图到导出结果 ✅新建项目进入 Labeling Setup 选 Custom template粘贴上面整段 XML 保存。导入任务每条任务的data只需一个image键值是图片地址JSON/CSV 上传与 S3、GCS 等存储后端的用法见 docs/source/guide/tasks.md。框选校对在图上框住一个 token关联输入框自动带出 OCR 文本改好按 Enter 提交接着框下一个。全部提交后从 Export 导出标注结果得到每个区域的坐标、标签与转写文本。导出的数据长什么样每个矩形产出两条id相同的记录成对出现在result数组里{ result: [ { id: r1, type: rectanglelabels, from_name: label, value: { x: 12.4, y: 8.2, width: 18.6, height: 3.1, rectanglelabels: [O] } }, { id: r1, type: textarea, from_name: transcription, value: { text: [TOTAL 66.54] } } ] }按区域 id 聚合rectanglelabels那条给出 0–100 百分比坐标与标签textarea那条给出校对后的文本。拼起来就是「坐标 文本 O」的 token 列表把它按阅读顺序排好即可送入下一阶段的 BIO 打标——仓库里的 ner-tagging-invoices-bio-format 模板正是接这一棒在词粒度上打 B/I 标签。从「全是 O」到字段级标签如果不想等到下一阶段才分类直接在RectangleLabels里加标签即可RectangleLabels namelabel toNameimage choicesingle Label valueO background#FFA500/ Label valueB-Vendor background#4CAF50/ Label valueB-InvoiceNo background#2196F3/ Label valueB-Amount background#F44336/ Label valueB-Date background#9C27B0/ /RectangleLabels取舍很清楚一步到位省掉中间转换环节但校对与分类压进同一步操作纯校对变慢且要求标签体系一开始就稳定保持只有O则把字段分类留给 NER 阶段每步都能独立质检代价是管线多走一遍。标签集不确定的团队建议先按单标签跑通再扩展。模板源码在 label_studio/annotation_templates/community-contributions/ocr-invoices-pre-ner-bio-format/config.yml控件参数与结果字段的完整定义见 docs/source/tags/rectanglelabels.md 和 docs/source/tags/textarea.md。把 Image、RectangleLabels、TextArea 三件套接上「OCR 校对 → BIO 语料」这条管线就是你的了。【免费下载链接】label-studioLabel Studio is a multi-type data labeling and annotation tool with standardized output format项目地址: https://gitcode.com/GitHub_Trending/la/label-studio创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表