ai尺寸标注工具 图片中关键信息提取的AI模型微调

默认分类1年前 (2024)发布 admin
537 0
ChatGPT国内版

概述

信息抽取通俗地说就是从给定的文本/图片等输入数据中抽取出结构化信息的过程。本文利用信息抽取应用UIE统一建模的思想,提供了文档信息抽取产业级应用方案,支持文档/图片/表格和纯文本场景下实体、关系、事件、观点等不同任务信息抽取。该应用不限定行业领域和抽取目标,关键信息提取是数据结构化非常重要的一环,基于自然语言的阅读理解,目前llm大模型已经能较好的解决这类问题,笔者基于qwen通过行业领域的数据集进行训练,通过文本分类后,可有效提取短文(不含富文本)中的关键信息,如从简单的一串快递描述中提取姓名,手机号,地址,区号等,到金融领域的一级报价,ncd报价识别等,本文主要讲解图片信息中的关键信息提取,如各类证件照,票据,发票,单据等,基于最新版的和,目前百度线上文档因为版本更新问题,存在些许纰漏。

实例介绍

这是一份关于服装的详细信息表,包括颜色、尺寸、数量和供应商信息等。涉及无线表格,复杂表头等,结构相对固定,但要能准确无误提取整个表单信息还是存在一定难度的,并且要告知原文坐标,我们通过标注要抽取的实体要素,交由训练完成,准确率基本百分百。

标注工具

百度虽然有自带的标注工具,但不够好用,我们这里选用更强大的label ,安装非常简单,这里不作介绍,进入系统后,不论是图片中的关键信息提取,还是图片中的关系提取,我们都应该在新建标注项目选用 with Boxes,如下图:

标注标签可以在【】-> 【 】中增减,官方建议标注300张图片左右,但笔者发现对于格式相对固定的图片只需要标注十来张图片,即可达到不错的效果。整个标注非常简单,如下图:

对图片中进行label标注外,也可标注label与label之间的关系标注,就是选定一个label后点击这个图标即可:

ai尺寸标注工具 图片中关键信息提取的AI模型微调

注:关系抽取可以说明数据与数据之间的关系,比如表格里的一行数据,主体和客体的关系,如产品名对应的数量等,关系抽取目前label 没有提供可视化界面,必须切换到code通过xml文件里增加关系即可。

 
    <Relation value="xxx"/>
    <Relation value="xxx"/>
    ……
  

通过本平台,可标注AI中涉及中分类问题,实体收取问题,文档标注,问答等,几乎涵盖了所有AI领域的标注问题,强烈推荐。

训练与推理训练前准备

我们需要安装环境(安装最新的,,),准备一台单卡gpu电脑,操作系统随意。

数据集准备

非常简单,通过label 的导出功能即可,我们在平台标注完数据后,如下图:

打开源码项目,切换到目录on:获取json文件,执行一下命令:

python label_studio.py --label_studio_file 导出json跟目录/label.json --save_dir 指定导出路径/data --splits 0.8 0.1 0.1  --task_type ext

注:图片文件名不能有中文和英文空格

ai尺寸标注工具 图片中关键信息提取的AI模型微调

开始训练

单卡训练:把上面生成的data目录放在:on下,切换到该目录下执行:

python finetune.py  --device gpu --logging_steps 5 --save_steps 25 --eval_steps 25 --seed 42 --model_name_or_path uie-x-base --output_dir ./checkpoint/模型名 --train_path data/train.txt --dev_path data/dev.txt  --max_seq_len 512  --per_device_train_batch_size  8 --per_device_eval_batch_size 8  --num_train_epochs 10 --learning_rate 1e-5 --do_train --do_eval --do_export --export_model_dir ./checkpoint/模型名 --overwrite_output_dir --disable_tqdm True --metric_for_best_model eval_f1 --load_best_model_at_end  True --save_total_limit 1 --report_to all

训练后,训练时间取决于你的样本量和gpu配置,接下来,可以使用以下命令进行模型评估:

# 模型评估
python evaluate.py --model_path ./checkpoint/模型名 --test_path ./data/dev.txt  --device gpu --max_seq_len 512 --output_dir=./result

接着,我们就可以进行推理了。

推理

代码非常简单,如下:

from pprint import pprint
from paddlenlp import Taskflow
# 我们测试下,指定图片下的这些关键信息的提取
schema = ["OrderNo","PTProdNo","ProductDescription","TypeofConstruction"]
ie = Taskflow("information_extraction", schema=schema, task_path="./checkpoint/模型名")
pprint(ie({"doc": r"图片所在路径"}))

结束语

这是一篇实用型很强的文章,通过标注平台和的结合,我们可以解决系列针对图片或文本段中的关键信息提取问题,不仅如此,还可以支持文档问答等。更详细的案例可参考官方网站。

© 版权声明
广告也精彩

相关文章

暂无评论

暂无评论...