大模型数据采集和预处理:把所有数据格式,word、excel、ppt、jpg、pdf、表格等转为数据

大模型数据采集和预处理:把所有数据格式,word、excel、ppt、jpg、pdf、表格等转为数据

    • 文本/图片/表格,分别提取处理
    • 工具选择
    • 不同格式文件,使用不同工具处理
      • 1. 确认目标
      • 2. 分析过程(目标-手段分析法)
      • 3. 实现步骤
      • 4. 代码封装
      • 效果展示
      • 金手指
    • 训练 OCR,提升识别准确率

 


数据采集和预处理:文档格式统一化、图表数据结构化、文本化处理。

 


文本/图片/表格,分别提取处理

在这里插入图片描述
核心做法

  1. 将 Word / PPT / PDF 等不同类型的文档,统一转成 HTML 或者 Markdown 格式。
  2. 基于统一后的格式,从文档中分离出 文本内容图片(含图表截图)表格
  3. 对拆分出来的图片和表格做进一步的 OCR / 表格解析等处理,将其转换为文本(或结构化数据),最后与原有的文本合并或建立关联。

优点

  1. 保留文档内容结构:因为先转为 HTML 或 Markdown,可以较好地保留文档的层级结构、段落、样式等。
  2. 灵活处理:可以针对文字、图片、表格分别采取适合的处理方式。例如:
    • 文本直接拿来做 NLP 预处理;
    • 图片和图表用专门的 OCR 或结构化表格提取工具。
  3. 精细度较高:文字和图表一分为二,可以更精细地进行后续处理,便于标注、检索或微调(Finetune / RAG)。

缺点

  1. 开发成本相对较高:要编写或调用各种解析、转换脚本(doc -> html,pdf -> html 等),还要对拆出来的图片、表格做分别提取。
  2. 依赖工具链:对于 PPT 等复杂文档,直接转 HTML/Markdown 可能并非一帆风顺,需依赖商业或开源工具,可能会遇到兼容性问题。
  3. 图片+表格的后处理:对图表进行 OCR 或表格解析,需要依赖额外的处理模块,处理效果也取决于 OCR / 表格解析工具的准确率。

适用场景

  • 需要保留文档原有的层级结构、目录、章节等信息,并对文本和图表进行精细化处理的场景。
  • 数据源多样(Word、PPT、PDF、扫描件),且对最终提取精度要求较高。
  • 团队可以投入一些时间精力,编写、整合比较完整的抽取工具链。

 


工具选择

链接:https://lightpdf.cn/api-pricing

如果数量不大,一个月会员 30 块就够了。

如果很大,就需要 API,89 块可以识别 500 张图。

识别效果,还可以,有格式保留:

在这里插入图片描述
识别后:

一、最常用的快捷键:
F5刷新	DELETE射除	TAB改变焦点
CTRL.C复制	CTRL+X剪切	CTRL+V粘贴
CTRL"全选	CTRL+Z撤精	CTRL+S 碗
ALT+F4关闭	CTRL+Y恢复	ALT+TAB 切换
CTRL+F5强制刷新	CTRL+W关闭	CTRL+F杳找
SHIFT+DELETE永久剧除	CTRL+ALT+DEL任务管理	SHIFT+TAB反向切换
CTRL♦空格中英文*!入切换	CTRL+Shrtt输入法切换	CTRL+ESC开始菜单
CTRL.ALT.ZQQ快速提取 消息	CTRL+ALT+AQQ破图工具	CTRL+ENTERQQ 发消息
【窗口】+D显示桌面	【限口】+R打开“运行	r窗口】+L解暮候定
[«11] *E打开“我的电脑”	【窗口】+F搜索文件或文件 夹	[«□] “AB项H切换
cmd…(MD命令提示符

也可以自己部署 Github 的开源项目:

  • https://github.com/Unstructured-IO/unstructured

我发现这个 Unstructured 开源项目,准确率比 付费 OCR 还要高。

Unstructured-IO:

  1. 更像是一个文档处理的全功能工具箱:
    • 可以处理多种格式文档(PDF、Word、Excel、HTML等)
    • 内部集成了多种处理能力(包括但不限于OCR)
    • 提供统一的API接口
  2. 主要优势是:
    • 部署简单(Docker一键部署)
    • API调用方便
    • 处理格式全面
  3. 适用场景:
    • 企业内部搭建统一的文档处理服务
    • 需要处理多种格式混合的场景
    • 对部署和维护要求不高的场景

 


不同格式文件,使用不同工具处理

1. 确认目标

主要目标:如何将不同格式的企业文档(Word/Excel/PPT等)高效转换为适用于RAG或模型微调的结构化数据集?

2. 分析过程(目标-手段分析法)

  1. 如何处理多种格式文档?
    • 问题:如何统一处理不同格式的文件?

    • 解决手段:使用智能分类系统,自动识别文件类型并选择相应处理流程

    • 具体实现:

# 文件处理配置参数
parsing_output = my_lib.add_files(temp_dir,                   # 临时目录路径,存放待处理的文件chunk_size=400,             # 文本块的目标大小(tokens),用于分割长文本max_chunk_size=600,         # 文本块的最大大小限制,防止块过大smart_chunking=1,           # 启用智能分块,会在自然断句处分割文本get_tables=True,            # 是否提取文档中的表格get_images=True             # 是否提取文档中的图片
)对提取的内容(包括文本、表格、图像)及其元数据进行整合,生成一个结构化的 JSON 格式。这个 JSON 文件包含了诸如文本内容、文档源、创建日期、修改日期等信息。该 JSON 格式可以存储丰富的文档信息,便于后续的检索和生成任务。
  1. 如何处理文档中的不同类型内容?
    • 问题:如何提取和处理文本、表格、图片等不同内容?
    • 解决手段:
      • 文本:智能分块(400-600 tokens)
      • 表格:转换为CSV格式
      • 图片:使用OCR技术提取文本
    • 具体实现:
文档格式分类:文本(如 Word):直接提取文本内容。
表格(如 Excel):提取表格数据并存储为 CSV 格式。
图像(如 PPT):使用 OCR(光学字符识别)提取图像中的文本。文档的处理方式根据内容类型分类,文本部分直接提取,表格部分转换为 CSV 格式,图像部分使用 OCR 技术提取文本。对文本进行智能化分块,以便适应模型的输入限制。例如,将每个块限制为 400-600 个 tokens。# 表格处理
extracted_tables = Query(lib).export_all_tables(output_fp=lib.output_path)# OCR处理
lib.run_ocr_on_images(add_to_library=True, chunk_size=400, min_size=10)OCR 用于从图片中提取文本。在处理图像时,会设置一些参数,例如:最小尺寸、实时进度显示等,以确保 OCR 过程的高效性和精度。
  1. 如何保证数据的结构化和关联性?
    • 问题:如何将不同来源的内容整合为统一格式?
    • 解决手段:使用JSON格式存储,包含完整元数据
    • 具体实现:
# JSON输出数据结构
{"block_ID": 0,                    // 文本块唯一ID  "doc_ID": 1,                      // 文档ID"content_type": "text",           // 内容类型"file_type": "docx",             // 文件类型"text_search": "实际文本内容...",  // 文本内容"external_files": "",            // 关联文件"header_text": "",               // 标题文本"modified_date": "",             // 修改日期"created_date": ""               // 创建日期
}
  1. 如何准备训练数据集?
    • 问题:如何将处理后的数据转换为训练集?
    • 解决手段:自动分割训练/测试/验证集
    • 具体实现:
ds = Datasets(library=lib,                   # 输入的文档库实例,包含所有处理后的文档数据testing_split=0.10,            # 测试集占比10%,用于评估模型性能validation_split=0.10,         # 验证集占比10%,用于模型调优,防止过拟合ds_id_mode="random_number"     # 使用随机数作为数据集样本ID的生成方式
)

3. 实现步骤

  1. 环境准备:

    • Python 3.10
    • conda环境
    • 必要依赖安装
  2. 数据处理流程:

    • 文档解压与预处理
    • 内容智能分类
    • 分类处理(文本/表格/图片)
    • JSON格式整合
    • 数据集生成
  3. 数据集创建:

    • 设置分割比例(80/10/10)
    • 设置token限制(100-500)
    • 生成最终数据集

4. 代码封装

效果展示

  • 输入:各种格式的企业文档(Word/Excel/PPT)
  • 过程:自动化处理流程,无需人工干预
  • 方法:智能分类 + 专项处理 + 数据整合
  • 结果:结构化的JSON格式数据集
  • 数字:
    • 文本块大小:400-600 tokens
    • 训练集分割:80/10/10
    • 最小token数:100
    • 最大token数:500

金手指

这个系统的金手指是"智能化处理机制":

  1. 智能分类:自动识别文档类型和内容类型
  2. 专门处理:针对不同类型内容使用最适合的处理方法
  3. 统一输出:所有处理结果都转换为统一的JSON格式

应用案例:

  1. 企业财报自动化处理
  2. 产品文档库建设
  3. 技术文档管理系统
  4. 企业知识库建设
  5. 多语言文档处理

这个框架可以帮助任何需要将非结构化文档转换为结构化数据的场景,特别适合企业级应用。

 


训练 OCR,提升识别准确率

如果是特殊的医疗表格、艺术字体、手写公式,基本上要自己 OCR 模型(YOLOX)训练。

 


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/66152.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

三甲医院等级评审八维数据分析应用(五)--数据集成与共享篇

一、引言 1.1 研究背景与意义 随着医疗卫生体制改革的不断深化以及信息技术的飞速发展,三甲医院评审作为衡量医院综合实力与服务水平的重要标准,对数据集成与共享提出了更为严苛的要求。在传统医疗模式下,医院内部各业务系统往往各自为政,形成诸多“信息孤岛”,使得数据…

ELK 使用教程采集系统日志 Elasticsearch、Logstash、Kibana

前言 你知道对于一个系统的上线考察,必备的几样东西是什么吗?其实这也是面试中考察求职者,是否真的做过系统开发和上线的必备问题。包括:服务治理(熔断/限流) (opens new window)、监控 (opens new window)和日志,如果…

STM32G0B1 can Error_Handler 解决方法

问题现象 MCU上电,发送0x13帧数据固定进入 Error_Handler 硬件介绍 MCU :STM32G0B1 can:NSI1042 tx 接TX RX 接RX 折腾了一下午,无解,问题依旧; 对比测试 STM32G431 手头有块G431 官方评估版CAN 模块; 同样的…

Redis 实现分布式锁

文章目录 引言一、Redis的两种原子操作1.1 Redis 的原子性1.2 单命令1.3 Lua 脚本1.4 对比单命令与 Lua 脚本 二、Redis 实现分布式锁2.1 分布式锁的概念与需求2.1.1 什么是分布式锁?2.1.2 分布式锁的常见应用场景 2.2 基于 Redis 的分布式锁实现2.2.1 锁的获取与释…

SAP MM物料管理模块常见BAPI函数清单

【SAP系统研究】 #SAP #MM #物料管理 #函数 #BAPI 1、物料主数据 BAPI_MATERIAL_SAVEDATA 创建/更改物料主数据 BAPI_MATERIAL_SAVEREPLICA 物料主数据视图扩充 BAPI_MATERIAL_EXISTENCECHECK 检查物料主数据是否存在 BAPI_MATERIAL_GETLIST 显示物料主数据明细 BAPI_MATERIALG…

104周六复盘 (188)UI

1、早上继续看二手书的一个章节,程序开发流程、引擎、AI等内容, 内容很浅,基本上没啥用,算是复习。 最大感触就是N年前看同类书的里程碑、AI相关章节时,会感觉跟自己没啥关系, 而如今则密切相关&#xf…

(leetcode算法题)382. 链表随机节点

如果给你一个 智能记录 k行内容的小笔记本,从一本你也不知道有多少行的 C Primer 中进行摘抄,你应该怎么做才能让抄写的时候能让书中的每一行都等概率的出现在小笔记本中? 答:准备好一个公平的轮盘和一个巨大的摇奖机&#xff0c…

腾讯云智能结构化 OCR:驱动多行业数字化转型的核心引擎

在当今数字化时代的汹涌浪潮中,数据已跃升为企业发展的关键要素,其高效、精准的处理成为企业在激烈市场竞争中脱颖而出的核心竞争力。腾讯云智能结构化 OCR 技术凭借其前沿的科技架构与卓越的功能特性,宛如一颗璀璨的明星,在交通、…

2025-01-04 Unity插件 YodaSheet2 —— 基础用法

文章目录 环境配置1 创建 YadeSheetData2 读取方式2.1 表格读取2.2 列表读取 3 自定义设置3.1 修改代码生成位置3.2 添加列表支持3.2.1 修改 DataTypeMapper.cs3.2.2 修改 SheetDataExtensions.cs3.2.3 修改 CodeGeneratorEditor.cs3.2.4 测试 ​ 官方文档: Unity …

matlab时频分析库

time frequency gallery

『 Linux 』高级IO (三) - Epoll模型的封装与EpollEchoServer服务器

文章目录 前情提要Epoll 的封装Epoll封装完整代码(供参考) Epoll Echo ServerEpoll Echo Server 测试及完整代码 前情提要 在上一篇博客『 Linux 』高级IO (二) - 多路转接介绍并完成了两种多路转接方案的介绍以及对应多路转接方案代码的编写,分别为SelectServer服务器与PollSe…

PDF预览插件

PDF预览插件 可用于当前页面弹窗形式查看,可增加一些自定义功能 pdf预览插件 代码块: pdfobject.js <div class="pdfwrap"><div class="item"><h3>笑场</h3><div class="tags"><p>李诞</p><i&…

【Java项目】基于SpringBoot的【新生宿舍管理系统】

【Java项目】基于SpringBoot的【新生宿舍管理系统】 技术简介&#xff1a;本系统使用采用B/S架构、Spring Boot框架、MYSQL数据库进行开发设计。 系统简介&#xff1a;管理员登录进入新生宿舍管理系统可以查看首页、个人中心、公告信息管理、院系管理、班级管理、学生管理、宿舍…

Huginn - 构建代理、执行自动化任务

文章目录 一、关于 Huginn什么是Huginn&#xff1f;Huginn 功能加入Huginn展示 二、安装1、Docker2、本地安装3、开发 三、使用Huginn代理gems四、部署1、Heroku2、OpenShiftOpenShift 在线 3、在任何服务器上手动安装4、可选设置4.1 私人开发设置4.2 启用WeatherAgent4.3 禁用…

电子应用设计方案86:智能 AI背景墙系统设计

智能 AI 背景墙系统设计 一、引言 智能 AI 背景墙系统旨在为用户创造一个动态、个性化且具有交互性的空间装饰体验&#xff0c;通过融合先进的技术和创意设计&#xff0c;提升室内环境的美观度和功能性。 二、系统概述 1. 系统目标 - 提供多种主题和风格的背景墙显示效果&…

基于Spring Boot的IT技术交流和分享平台的设计与实现源码

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的IT技术交流和分享平台的设计与实现。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 项目简介&#xff1a; 基于S…

单元测试3.0+ @RunWith(JMockit.class)+mock+injectable+Expectations

Jmockit使用笔记_基本功能使用Tested_Injectable_Mocked_Expectations_jmockit.class-CSDN博客 静态变量直接赋值就好&#xff0c;没必要mock了 测试框架Jmockit集合junit使用 RunWith(JMockit.class) 写在测试案例类上的注解 Tested 在测试案例中,写在我们要测试的类上…

PADS Logic原理图中有很多页原理图,如何(怎样)删除其中一页或者多页

我们在进行PADS Logic进行原理图设计的时候&#xff0c;有时候可能遇到一次性设计了很多页的原理图&#xff0c;比如说十几页的原理图。那么我们在进行PADS Layout的时候&#xff0c;可能将这些原理图绘制两块板或者多块PCB板&#xff0c;那么这时候我们需要将其中的一张原理图…

Elasticsearch 创建索引 Mapping映射属性 索引库操作 增删改查

Mapping Type映射属性 mapping是对索引库中文档的约束&#xff0c;有以下类型。 text&#xff1a;用于分析和全文搜索&#xff0c;通常适用于长文本字段。keyword&#xff1a;用于精确匹配&#xff0c;不会进行分析&#xff0c;适用于标签、ID 等精确匹配场景。integer、long…

《GICv3_Software_Overview_Official_Release_B》学习笔记

1.不同版本的 GIC 架构及其主要功能如下图所示&#xff1a; 2.GICv2m&#xff08;Generic Interrupt Controller Virtualization Model&#xff09;是针对ARM架构的GIC&#xff08;通用中断控制器&#xff09;的一种扩展&#xff0c; GICv2m扩展为虚拟化环境中的中断管理提供了…