首页 > 其他分享 >数据标注工具 Label-Studio

数据标注工具 Label-Studio

时间:2023-07-18 17:23:05浏览次数:40  
标签:标签 默认 label studio Studio Label data 标注

文档抽取任务Label Studio使用指南

目录

Label-Studio导出数据后可通过label_studio.py脚本轻松将数据转换为输入模型时需要的形式,实现无缝衔接。

1. 安装

以下标注示例用到的环境配置:

  • Python 3.8+
  • label-studio == 1.6.0
  • paddleocr >= 2.6.0.1

在终端(terminal)使用pip安装label-studio:

pip install label-studio==1.6.0 -i https://pypi.tuna.tsinghua.edu.cn/simplelabel

安装完成后,运行以下命令行:

label-studio start
如报:sqlite3.OperationalError: no such function: JSON_VALID => https://www.cnblogs.com/vipsoft/p/17562196.html

image

在浏览器打开http://localhost:8080/,输入用户名和密码登录,开始使用label-studio进行标注。
用邮箱注册一个帐号
image

2. 文档抽取任务标注

2.1 项目创建

点击创建(Create)开始创建一个新的项目,填写项目名称、描述,然后选择Object Detection with Bounding Boxes

  • 填写项目名称、描述
  • 命名实体识别、关系抽取、事件抽取、实体/评价维度分类任务选择``Object Detection with Bounding Boxes`
  • 文档分类任务选择``Image Classification`
  • 添加标签(也可跳过后续在Setting/Labeling Interface中添加)

图中展示了Span实体类型标签的构建,其他类型标签的构建可参考2.3标签构建

2.2 数据上传

先从本地或HTTP链接上传图片,然后选择导入本项目。

2.3 标签构建

  • Span实体类型标签
  • Relation关系类型标签
    Relation XML模板:
  <Relations>
    <Relation value="单位"/>
    <Relation value="数量"/>
    <Relation value="金额"/>
  </Relations>
  • 分类类别标签

2.4 任务标注

  • 实体抽取

    • 标注示例:

    • 该标注示例对应的schema为:

      schema = ['开票日期', '名称', '纳税人识别号', '地址、电话', '开户行及账号', '金额', '税额', '价税合计', 'No', '税率']
      
  • 关系抽取

    • 进入标签

    • Step 1. 标注主体(Subject)及客体(Object)

    • Step 2. 关系连线,箭头方向由主体(Subject)指向客体(Object)

    • Step 3. 添加对应关系类型标签

    • Step 4. 完成标注

    • 该标注示例对应的schema为:

      schema = {
          '名称及规格': [
              '金额',
              '单位',
              '数量'
          ]
      }
      
  • 文档分类

    • 标注示例

    • 该标注示例对应的schema为:

      schema = '文档类别[发票,报关单]'
      

2.5 数据导出

勾选已标注图片ID,选择导出的文件类型为JSON,导出数据:

2.6 数据转换

image
image
image

将导出的文件重命名为label_studio.json后,放入./document/data目录下,并将对应的标注图片放入./document/data/images目录下(图片的文件名需与上传到label studio时的命名一致)。通过label_studio.py脚本可转为UIE的数据格式。

  • 路径示例
./document/data/
├── images # 图片目录
│   ├── b0.jpg # 原始图片(文件名需与上传到label studio时的命名一致)
│   └── b1.jpg
└── label_studio.json # 从label studio导出的标注文件
  • 抽取式任务
python label_studio.py \
    --label_studio_file ./document/data/label_studio.json \
    --save_dir ./document/data \
    --splits 0.8 0.1 0.1\
    --task_type ext
  • 文档分类任务
python label_studio.py \
    --label_studio_file ./document/data/label_studio.json \
    --save_dir ./document/data \
    --splits 0.8 0.1 0.1 \
    --task_type cls \
    --prompt_prefix "文档类别" \
    --options "发票" "报关单"

2.7 更多配置

  • label_studio_file: 从label studio导出的数据标注文件。
  • save_dir: 训练数据的保存目录,默认存储在data目录下。
  • negative_ratio: 最大负例比例,该参数只对抽取类型任务有效,适当构造负例可提升模型效果。负例数量和实际的标签数量有关,最大负例数量 = negative_ratio * 正例数量。该参数只对训练集有效,默认为5。为了保证评估指标的准确性,验证集和测试集默认构造全负例。
  • splits: 划分数据集时训练集、验证集所占的比例。默认为[0.8, 0.1, 0.1]表示按照8:1:1的比例将数据划分为训练集、验证集和测试集。
  • task_type: 选择任务类型,可选有抽取和分类两种类型的任务。
  • options: 指定分类任务的类别标签,该参数只对分类类型任务有效。默认为["正向", "负向"]。
  • prompt_prefix: 声明分类任务的prompt前缀信息,该参数只对分类类型任务有效。默认为"情感倾向"。
  • is_shuffle: 是否对数据集进行随机打散,默认为True。
  • seed: 随机种子,默认为1000.
  • separator: 实体类别/评价维度与分类标签的分隔符,该参数只对实体/评价维度分类任务有效。默认为"##"。
  • schema_lang:选择schema的语言,将会应该训练数据prompt的构造方式,可选有chen。默认为ch
  • ocr_lang:选择OCR的语言,可选有chen。默认为ch
  • layout_analysis:是否使用PPStructure对文档进行布局分析,该参数只对文档类型标注任务有效。默认为False。

备注:

  • 默认情况下 label_studio.py 脚本会按照比例将数据划分为 train/dev/test 数据集
  • 每次执行 label_studio.py 脚本,将会覆盖已有的同名数据文件
  • 在模型训练阶段我们推荐构造一些负例以提升模型效果,在数据转换阶段我们内置了这一功能。可通过negative_ratio控制自动构造的负样本比例;负样本数量 = negative_ratio * 正样本数量。
  • 对于从label_studio导出的文件,默认文件中的每条数据都是经过人工正确标注的。

References

https://gitee.com/PaddlePaddle/PaddleNLP/blob/develop/applications/information_extraction/label_studio_doc.md

注意

我用的 NLP是 V2.5.0 、 label_studio v1.6.0 ,可能版本问题,运行 label_studio.py 时报
python paddlenlp\utils\tools.py items["text"] = line["data"]["text"]
解决方法:
在 Label_Studio 导出的 json 里,找到 data 块,加上 text ,不知道为啥导出来的没这个 text
image

标签:标签,默认,label,studio,Studio,Label,data,标注
From: https://www.cnblogs.com/vipsoft/p/17562200.html

相关文章

  • 数据标注丨智能驾驶的进阶之路
    本周,北京市高级别自动驾驶示范区工作办公室开放智能网联乘用车“车内无人”商业化试点的行动,标志着无人驾驶出租车进入商业化试点的新阶段。据悉,本次试点共出动116台测试车,累计行驶近200公里,无人驾驶出租车的订单量已达150万人次,用户好评率高达95%以上。此次开放后,根据《北京市......
  • Visual Studio 中,Release、Debug、x86和x64 四个不同的概念
    Release和Debug是编译的不同配置,用于控制编译器生成的代码和符号信息的方式。Release配置用于生成最终发布版本的代码。在Release模式下,编译器会进行各种优化,以提高程序的性能和执行效率。此外,Release模式下会禁用一些调试相关的功能,如断言和运行时错误检查。它适用于最......
  • 用android studio如何反编译
    使用AndroidStudio进行反编译在Android开发中,有时我们需要查看或修改其他应用的源代码,这就需要使用反编译工具来还原APK文件的Java源代码。AndroidStudio是一个功能强大的集成开发环境,它提供了反编译工具,可以帮助我们实现这一目的。问题背景假设我们想要查看某个应用的源代码,......
  • visual studio在运行ashx文件时 出现 Failed to load resource: the server responde
     报错详细信息如下“/”应用程序中的服务器错误。分析器错误说明: 在分析向此请求提供服务所需资源时出错。请检查下列特定分析错误详细信息并适当地修改源文件。分析器错误消息: 未能创建类型“WebApp.FileUploadHandler”。源错误:行1:<%@WebHandlerLanguage=......
  • DBConvert Studio - 数据库迁移和同步
    概述DBConvertStudio是一款强大的跨数据库迁移和同步软件,可以在不同数据库格式之间转换数据库结构和数据。它将成熟、稳定、久经考验的DBConvert和DBSync核心与改进的现代UX设计相结合。 数据库迁移场景 支持所有流行的数据库-从旧的基于文件的格式到现代的本......
  • 会声会影2023旗舰版Corel VideoStudio Ultimate 2023 V26.0.0.136整合盘版本
    会声会影2023旗舰版CorelVideoStudioUltimate2023V26.0.0.136整合盘版本是一款有趣且直观的视频编辑器,包含高级工具和高级效果,智能功能和最佳性能的高级视频编辑软件,将您最美好的时刻和生活体验变成令人惊叹的电影。会声会影2023下载地址:https://souurl.cn/kdsHII会声会影2022......
  • VS(VisualStudio) 远程调试 (RemoteDebugger)
    VS远程调试方法,下面用一张图说明:参考:https://blog.csdn.net/qq_33538554/article/details/98957450,下面是详情操作:注意:另一篇博文可以参考:https://mp.weixin.qq.com/s/G4m5v7l4kCwvM9LtKu0zVQ......
  • 华为云MetaStudio全新升级,盘古数字人大模型助力数字人自由
    摘要:基于盘古大模型能力,华为云MetaStudio数字内容生产线全新升级,推出数字人模型生成服务和模型驱动服务。近日,华为开发者大会2023(Cloud)在东莞拉开帷幕。基于盘古大模型能力,华为云MetaStudio数字内容生产线全新升级,推出数字人模型生成服务和模型驱动服务,旨在通过数字人服务......
  • 【1】 android jdk环境安装和 开发工具androidStudio 安装[ mac+windows版本]
    工具jdk1.8 +as3.1.4jdk安装mac安装jdk tp windows安装jdk 一、下载:        http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html      我的电脑是64位的,所以下载版本是jdk-8u121-windows-x64.exe二、安装:     ......
  • Visual Studio Code 远程调试 Twemproxy
    要使用VisualStudioCode远程调试Twemproxy,请按照以下步骤操作:安装所需扩展和软件在VSCode中安装 Remote-SSH 扩展。确保远程主机上已安装 gcc、make 和 gdb 等编译和调试工具。配置SSH连接打开VSCode,并点击左侧边栏"RemoteExplorer"图标。选择......