ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

Label Studio OCR 发票预标注模板实战教程:从 OCR 框到 BIO NER 训练数据只需 3 步

Label Studio OCR 发票预标注模板实战教程:从 OCR 框到 BIO NER 训练数据只需 3 步 Label Studio OCR 发票预标注模板实战教程从 OCR 框到 BIO NER 训练数据只需 3 步【免费下载链接】label-studioLabel Studio is a multi-type data labeling and annotation tool with standardized output format项目地址: https://gitcode.com/GitHub_Trending/la/label-studio手头有一批发票图片OCR 模型已经能跑出文本框和识别文字但识别结果有错、框选不够准没法直接当 NER 训练数据用。Label Studio 的 OCR Invoices Pre-NER BIO Format 模板正好补上这段把发票上每个 OCR 框变成图片里的矩形人工逐个校对框内文字导出后即得到带「坐标 文本 类别」的 token 序列可直接进入 BIO 实体标注。照下面的步骤走半小时能搭起一条「发票图片 → 预标注语料」的完整管线。先建立心智模型这条流水线分几步OCR 出草稿OCR 模型对发票图片做文本检测输出一组带坐标的 text token——发票号、金额、日期各是一个 token。人工校对本模板干的事每个 token 在界面里呈现为一个矩形标注者核对框选区域、修正框内 OCR 转写的文字同时所有 token 先统一归到O类。BIO 约定里 O 代表 Outside实体外含义是这个 token 暂时不属于任何实体。实体标注把校对后的 token 序列按阅读顺序排好在其上按 BIO 约定B-前缀标实体开头、I-标实体内部、O标实体外打标签产出发票字段抽取模型的训练数据。Pre-NER 这个名字说的就是第 2 步的定位它不直接产出 B-xxx / I-xxx 实体标签只负责把 token 边界和文字收拾干净。全部 token 从O起步意味着下一轮 NER 标注面对的是干净起点。仓库里还有一个后接模板 ner-tagging-invoices-bio-format专门负责在文字序列上打 BIO 标签两者前后衔接。最小可用配置贴进去就能跑View !-- 待标注的发票图片取任务数据 $image 字段可缩放 -- Image nameimage value$image zoomControltrue/ !-- 矩形框选初期只定义 O实体外一个类别后续可随意扩充 -- RectangleLabels namelabel toNameimage choicesingle Label valueO background#FFA500/ /RectangleLabels !-- 逐区域转写框perRegion 让每个矩形各绑定一个输入框 -- TextArea nametranscription toNameimage perRegiontrue editabletrue rows1 requiredtrue placeholderType or correct OCR text…/ /View新项目在 Labeling Setup 里选 Custom template把这段粘进去保存就可以导数据开工了。思路是先跑通、再扩展。带示例数据注释的完整可运行配置在仓库 config.yml想核对细节可去比对。三个控件各管一件事按标注者的真实操作顺序讲先看图片 → 再画框 → 最后改字。1️⃣ Image看图它做什么展示待标注发票value$image从任务data的image字段取图支持 HTTP(S) 链接、本地路径、base64。关键参数zoomControltrue打开缩放发票号、金额这类小字号看得清。为什么这样设导出时矩形坐标存的是相对原图尺寸的百分比0–100不是像素值。不同分辨率的发票混在一起不会出现坐标系混乱原图像素尺寸由结果里的original_width/original_height单独记录需要时随时换算回像素。2️⃣ RectangleLabels画框参数默认值本配置取值说明name—label控件名对应结果的from_nametoName—image绑定的图片控件choicesinglesingle一个矩形只允许选一个类别opacity0.6未设置矩形填充透明度strokeWidth1未设置边框粗细canRotatetrue未设置是否显示旋转控制为什么只有一个OPre-NER 阶段只关心每个框里到底是什么字实体归类留给下一步。O橙色 #FFA500 背景就是 BIO 里的 Outside 标记。想提前归类也不用动结构直接往RectangleLabels里加Label即可见文末改法。3️⃣ TextArea改字参数默认值本配置取值说明name—transcription控件名对应结果的from_nametoName—image绑定的图片控件perRegion—true核心参数每个矩形各生成一个输入框一一对应editablefalsetrue已提交的文字还能再编辑rows11单行输入requiredfalsetrue每个框的转写内容必填placeholder—Type or correct OCR text…输入提示文案perRegiontrue是这套组合的精髓标注者点选某个矩形输入框就自动对应这个区域切换选中框时内容跟着切换天然实现一个框一段文字。rows1还有个提速效果——单行输入框直接按 Enter 就能提交省掉点 Addrows 大于 1 时必须点 Add 或按 ShiftEnter。官方 textarea 文档里还展示了displayModeregion-list变体所有输入框集中显示在 Regions 面板里适合整图批量回看。从建项目到导出完整走一遍建项目、贴配置新建项目Labeling Setup 选 Custom template粘贴上面的配置。导入任务数据每个任务的data只需要一个键image值是图片 URL 或 base64。支持 JSON/CSV 上传、API 上传以及 S3/GCS/Azure Blob/本地目录等存储后端若你已有 OCR 草稿结果可以作为预检测结果预填进任务标注者只需校对。标注操作序列在发票字段上拖出一个矩形比如发票号框自动带上O标记在自动关联的输入框里核对、修正该 token 的 OCR 转写按 Enter 提交移向下一个框requiredtrue保证漏填时提交会被拦住重复以上动作直到整张发票的 token 全部框完校对完。导出项目页用 Export 功能导出标注结果格式见下一节。导出的 JSON 怎么读每个矩形区域对应两条成对出现的记录靠同一个区域 id 关联{ id: annotation-id, result: [ { id: region-1, type: rectanglelabels, from_name: label, to_name: image, original_width: 1920, original_height: 1280, image_rotation: 0, value: { x: 3.1, y: 8.2, width: 20, height: 16, rectanglelabels: [O], rotation: 0 } }, { id: region-1, type: textarea, from_name: transcription, to_name: image, value: { text: [Invoice No. 1024] } } ] }rectanglelabels 那条给坐标x、y是旋转前左上角、width、height均为 0–100 百分比和类别textarea 那条给转写文本。处理逻辑很简单按区域 id 分组聚合再按阅读顺序排序就得到「坐标 文本 标签(O)」的 token 列表——这正是 BIO 序列标注要的输入形态可以直接接进下一阶段的 NER 模板。想更进一步常见改法预标注阶段直接归类在RectangleLabels里追加实体类别如Label valueB-Vendor background#4CAF50/、Label valueB-Amount background#F44336/导出时部分 token 直接带上实体类型省掉中间转换。一个框允许多类别把choice改成multiple适合字段类型 是否实体需要同时标记的场景。Regions 面板批量校对给 TextArea 加displayModeregion-list所有区域输入框集中进 Regions 面板收尾时整图过一遍更方便。防止重复录入TextArea 加skipDuplicatestrue重复提交相同文本会弹窗拦截。喂给多模态模型导出结果带百分比坐标和原图尺寸可还原出像素位置配合转写文本训练「文字 版面」的文档抽取模型。这套配置的价值在于把最费人力的OCR 结果校对固化成标准化流水线且输出天然对齐 BIO 约定不需要额外的格式转换。下一步可以挑几张发票跑通完整标注然后把导出的 token 序列直接接进 ner-tagging-invoices-bio-format 模板体验一遍 Pre-NER → 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创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表