Label Studio OCR 发票 Pre-NER 模板实战:从图片校对到 BIO 标注数据
Label Studio OCR 发票 Pre-NER 模板实战从图片校对到 BIO 标注数据【免费下载链接】label-studioLabel Studio is a multi-type data labeling and annotation tool with standardized output format项目地址: https://gitcode.com/GitHub_Trending/la/label-studioLabel Studio 的社区模板「OCR Invoices Pre-NER BIO Format」解决一个具体问题把发票图片上 OCR 检测出的文本框逐个人工校对产出干净、带坐标的 token 序列作为 BIO 格式 NER 标注的输入。整套配置只有三个标签Image展示图片、RectangleLabels框选 token、TextArea perRegiontrue逐框转写校对。读完本文你拿到一套可直接粘贴的配置、关键参数表以及导出 JSON 到 BIO 训练输入的字段映射。场景还原发票图片到 BIO token 序列中间缺一段人工校对你手上有一批餐厅发票扫描件OCR 模型已经跑出带坐标的文本框但转写文本错漏不少也没人标过哪些 token 是发票号、金额、日期。NER 模型要的是 token 序列上的 BIO 标签——直接喂带噪声的原始 OCR 文本模型学到的就是噪声。正确顺序是两段式第一段把 token 边界和转写内容校对干净所有 token 统一以OOutside实体外状态入库第二段再在 token 序列上打 B-xxx / I-xxx 实体标签。这个模板就是第一段它不直接产出实体标签只负责「框 文本」的清洗同目录下另有 ner-tagging-invoices-bio-format 模板负责第二段用Text granularityword配Labels给校对后的文本逐词标 B-NIF、I-VALORconfig.yml。配置与用法按数据流三段拆开看完整配置与仓库 config.xml 一致粘贴后只需确认value$image与你的任务数据字段名对齐View Image nameimage value$image zoomControltrue/ !-- 每个矩形只选一个标签O 即 BIO 的 Outside -- RectangleLabels namelabel toNameimage choicesingle Label valueO background#FFA500/ /RectangleLabels !-- perRegion每个矩形框绑定一个独立输入框 -- TextArea nametranscription toNameimage perRegiontrue editabletrue rows1 requiredtrue placeholderType or correct OCR text…/ /View原始输入一个 image 字段加可选的 OCR 预标注任务数据只需data.image一个键值可以是 HTTP(S) 链接、本地文件路径或 base64 数据config.yml 的注释里附了示例任务。zoomControltrue打开缩放发票上的小字号字段才看得清。OCR 模型的预检测结果若有以 rectanglelabels 形式预填进界面标注者从校对而非重画框开始。中间标注O 标签框选 逐框转写RectangleLabels把矩形框和标签绑在一起toNameimage指定绑定的图片控件TextArea perRegiontrue是精髓——它不与整图绑定而是和每个矩形一一配对标注者选中哪个框输入框就切换显示哪个框的转写文本。参数类型默认值本文取值一句话作用说明namestring—label/transcription标注结果的from_name导出时靠它区分两类记录choicesingle / multiplesinglesingle每个矩形只允许一个标签匹配「token 只属一类」的 BIO 约定perRegionbooleanfalsetrue让 TextArea 按矩形区域生成一个框一个输入框editablebooleanfalsetrue提交后仍可改文本OCR 校对场景几乎必开rowsnumber11单行输入框直接按 Enter 提交不用点 Addrequiredbooleanfalsetrue强制每个区域填写转写防止漏框displayModetag / region-listtag未设置tagtag 模式输入框紧贴标注区region-list 模式集中显示在 Regions 面板参数出处rectanglelabels.md、textarea.md。 模板注释明确写了「You only emit the generic O class, but feel free to add more labels」——如果发票字段类型固定可以直接在RectangleLabels里加 B-Vendor、B-Amount 等标签Pre-NER 阶段就产出带实体类型的 token省掉一次中间转换。标注交互框选 → 校对 → Enter 提交标注者的操作序列框出一个 token已有 OCR 预标注时直接选中→ 在输入框里核对、修正文本 → 按 Enter 提交rows1时 Enter 即提交textarea.md→ 下一个框。一张 20 个 token 的发票熟练后一分钟左右过完。数据流转与导出形态从任务 JSON 到 BIO 训练输入第一段导入的任务{ data: { image: media/invoices/1024.png // URL、本地路径或 base64 均可 } }第二段导出的标注一个矩形对应一对记录region_id相同{ result: [ { id: r1, region_id: r1, from_name: label, to_name: image, original_width: 1920, original_height: 1280, value: { x: 12.4, y: 8.2, width: 18.3, height: 3.1, rectanglelabels: [O], rotation: 0 } }, { id: t1, region_id: r1, from_name: transcription, to_name: image, value: { text: [Invoice No. 1024] } } ] }字段要点value.x/y是矩形左上角坐标、width/height是宽高全部是原始图片尺寸的百分比0–100而非像素image.mdoriginal_width/height记录像素尺寸专供换算rectanglelabels.md。第三段聚合成 BIO 训练输入。按region_id把坐标和文本拼起来得到 token 列表{ token_index: 3, text: Invoice No. 1024, label: O, bbox_pct: { x: 12.4, y: 8.2, width: 18.3, height: 3.1 }, bbox_px: [238, 105, 586, 40] }哪些字段直接可用、哪些要二次处理text和label可直接进 BIO 序列label 全为 O是 NER 阶段的起点bbox_pct训「文本 版面」多模态模型时直接可用bbox_px需自己按x * original_width / 100换算示例 12.4 × 1920/100 ≈ 238。阅读顺序token_index导出里没有现成字段按 y 再按 x 排序即可近似还原发票版面顺序。实战细节与高频坑⚠️ 改了配置但没生效已提交的标注按提交时点的配置渲染改配置只影响新打开的标注页。发现「加了 region-list 但 Regions 面板没输入框」九成是标注在改配置前提交——拿新配置标一张新任务验证别在旧标注里找效果。预标注框不显示OCR 模型输出的 prediction JSON 必须与from_namelabel、to_nameimage严格一致对不上就静默不显示界面里只有空白图片没有任何报错。requiredtrue挡不住历史数据必填校验发生在提交时旧标注里value.text为空串的 textarea 记录仍会导出后处理时按空文本过滤兜底。百分比坐标别反复换算bbox_pct相对原图归一化不同 DPI 的发票混在训练集里也不会漂移自己先转像素再归一只会引入误差。它是两阶段管线的上半段token 以 O 状态入库后交给同目录的 ner-tagging-invoices-bio-format 模板打 B-/I- 标签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),仅供参考

相关新闻

工控入门到进阶全路线:从电气基础到PLC编程与自动化实战

工控入门到进阶全路线:从电气基础到PLC编程与自动化实战

老有人来问我:想做工控,到底该从哪下手?是不是先啃PLC?要不要把模电数电学一遍?考哪些证书管用?问的人多了,我发现大家其实是被工控这行的“知识面太杂”吓住了。工控入门并不难,难的…

2026/9/13 18:29:36 阅读更多 →
FunASR ONNX Runtime 运行时中的 gflags 依赖:二进制安装、CMake 构建与集成实践

FunASR ONNX Runtime 运行时中的 gflags 依赖:二进制安装、CMake 构建与集成实践

FunASR ONNX Runtime 运行时中的 gflags 依赖:二进制安装、CMake 构建与集成实践 【免费下载链接】FunASR Open-source speech recognition toolkit for training, inference, streaming ASR, VAD, punctuation, speaker diarization pipelines, and OpenAI-compati…

2026/9/13 18:29:36 阅读更多 →
FunASR 运行时:自行生成 SSL 证书并启用 WSS 加密的流式语音识别服务

FunASR 运行时:自行生成 SSL 证书并启用 WSS 加密的流式语音识别服务

FunASR 运行时:自行生成 SSL 证书并启用 WSS 加密的流式语音识别服务 【免费下载链接】FunASR Open-source speech recognition toolkit for training, inference, streaming ASR, VAD, punctuation, speaker diarization pipelines, and OpenAI-compatible/MCP ser…

2026/9/13 18:29:36 阅读更多 →

最新新闻

基于MATLAB的数字图像处理仿真:从图像预处理到滤波验证的完整指南

基于MATLAB的数字图像处理仿真:从图像预处理到滤波验证的完整指南

简介:基于数字图像处理的MATLAB仿真项目包,专为高校课程设计与期末大作业场景打造,适合正在学习MATLAB图像处理技术或需要完成相关课题的本科生、研究生直接使用。压缩包大小约11.76MB,内部包含MATLAB源码文件与配套数据集&#x…

2026/9/13 19:15:57 阅读更多 →
将一段由空格分隔的十六进制或十进制字符串(这里看数值是 ASCII 字符对应的数值或者直接是文本数值

将一段由空格分隔的十六进制或十进制字符串(这里看数值是 ASCII 字符对应的数值或者直接是文本数值

将一段由空格分隔的十六进制或十进制字符串(这里看数值是 ASCII 字符对应的数值或者直接是文本数值,依据图2输入 5463 4565...,第一个提取出 54 转换为数字为 54 吗?不,看图2:54 是子字符串,实际上代码用了 String Subset(String Subset 节点:参数是 offset 和 length…

2026/9/13 19:15:57 阅读更多 →
Paddle PHI Kernel 体系深度解析:注册、分派、代码生成与组合算子机制

Paddle PHI Kernel 体系深度解析:注册、分派、代码生成与组合算子机制

Paddle PHI Kernel 体系深度解析:注册、分派、代码生成与组合算子机制 【免费下载链接】Paddle PArallel Distributed Deep LEarning: Machine Learning Framework from Industrial Practice (『飞桨』核心框架,深度学习&机器学习高性能单…

2026/9/13 19:15:57 阅读更多 →
Hurl 入门指南:用纯文本文件运行与测试 HTTP 请求

Hurl 入门指南:用纯文本文件运行与测试 HTTP 请求

Hurl 入门指南:用纯文本文件运行与测试 HTTP 请求 【免费下载链接】hurl Hurl, run and test HTTP requests with plain text. 项目地址: https://gitcode.com/GitHub_Trending/hu/hurl Hurl 是一个用 Rust 编写的命令行工具,能以简单纯文本格式定…

2026/9/13 19:15:57 阅读更多 →
WeKan 设计演进史:与 Trello、Jira 的功能借鉴对比与技术溯源

WeKan 设计演进史:与 Trello、Jira 的功能借鉴对比与技术溯源

WeKan 设计演进史:与 Trello、Jira 的功能借鉴对比与技术溯源 【免费下载链接】wekan The Open Source kanban, built with Meteor. GitHub issues/PRs are only for FLOSS Developers, not for support, support is at https://wekan.fi/commercial-support/ . PR …

2026/9/13 19:15:57 阅读更多 →
LunaTranslator上手指南:日文视觉小说实时翻译,从下载会用到三步

LunaTranslator上手指南:日文视觉小说实时翻译,从下载会用到三步

LunaTranslator上手指南:日文视觉小说实时翻译,从下载会用到三步 【免费下载链接】LunaTranslator 视觉小说翻译器 / Visual Novel Translator 项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTranslator 你正打到关键剧情,屏…

2026/9/13 19:14:57 阅读更多 →

日新闻

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验 【免费下载链接】ai The AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and ag…

2026/9/13 0:00:24 阅读更多 →
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化 【免费下载链接】refine A React Framework for building internal tools, admin panels, dashboards & B2B apps with unmatched flexibility. 项目地址: https://gitcode.com/GitH…

2026/9/13 0:00:24 阅读更多 →
Flutter应用改名全指南:从Android到iOS的配置与工具实践

Flutter应用改名全指南:从Android到iOS的配置与工具实践

刚接一个外包项目时,甲方要求把工程里临时用的应用名改成正式产品名。我本来觉得“改名”这种小事,打开配置文件改一行不就完了?结果真动手才发现,Flutter项目里“应用名称”根本不是一处配置,而是一整套散落在 Androi…

2026/9/13 0:00:24 阅读更多 →

周新闻

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验 【免费下载链接】ai The AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and ag…

2026/9/13 0:00:24 阅读更多 →
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化 【免费下载链接】refine A React Framework for building internal tools, admin panels, dashboards & B2B apps with unmatched flexibility. 项目地址: https://gitcode.com/GitH…

2026/9/13 0:00:24 阅读更多 →
Flutter应用改名全指南:从Android到iOS的配置与工具实践

Flutter应用改名全指南:从Android到iOS的配置与工具实践

刚接一个外包项目时,甲方要求把工程里临时用的应用名改成正式产品名。我本来觉得“改名”这种小事,打开配置文件改一行不就完了?结果真动手才发现,Flutter项目里“应用名称”根本不是一处配置,而是一整套散落在 Androi…

2026/9/13 0:00:24 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/13 16:51:11 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/12 18:29:34 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/12 19:02:44 阅读更多 →