RAG文档处理中的数值图表和流程图如何解析?从表示方式到代表解决方案
创作时间:
作者:
@小白创作中心
RAG文档处理中的数值图表和流程图如何解析?从表示方式到代表解决方案
引用
1
来源
1.
https://53ai.com/news/RAG/2024111128510.html
本文主要围绕文档中的图表解析这一工作展开介绍,分别讨论了数值图表和流程图的解析方法。文章内容具有较高的技术价值,对于从事AI、大数据和软件开发等领域的读者具有参考意义。
一、数值图表的解析
在文档处理中,经常会遇到各种类型的图表,包括流程图、柱状图等数值图表以及其他图片。其中,对于柱状图等数值图,目前已经有了很多将柱状图转换为底层json_dict的方案,比如onechart和unichart。其核心是通过构造<数值图表, json_dict>的输入输出对,然后丢入多模态模型进行sft微调。
关键点在于微调数据的生成,主要是靠反向渲染(通过生成json_dict数据,然后送入matplotlib、echarts或者pyecharts进行渲染)。这种思路其实就是在拟合数据集,很容易因为数据的多样性不足,表现并不稳定,很容易出现幻觉。将这些数据转写之后,可以再进行分析,以及类型转换等。
二、流程图的解析
流程图(FlowChart)是描述我们进行某一项活动所遵循顺序的一种图示方法,能通过图形符号形象地表示解决问题的步骤和程序。
1. flowchart的表示方法
flowchart其实有很多种表示方式,例如:
- 使用mermaid表示流程图:
flowchart LR
A[下单] --> B{库存检查}
B - 有货 --> C[支付]
B - 无货 --> D[提示缺货]
C --> E{支付成功?}
E - 是 --> F[发货]
E - 否 --> G[支付失败]
G --> A
- 使用UML表示流程图
- 使用networkx来表示:
import networkx as nx
import matplotlib.pyplot as plt
data_dict = {
1:[{'left':20, 'right':21}],
20:[{'left':30, 'right':31}],
21:[{'left':40, 'right':41}],
30:[],
31:[],
40:[],
41:[]
}
G = nx.DiGraph()
# step 1: add edges
for key in data_dict:
print(key)
for source in data_dict[key]:
if 'left' in source:
print('left [%d]' % (source['left']))
if source['left'] in data_dict:
G.add_edge(key, source['left'])
if 'right' in source:
print('right [%d]' % (source['right']))
if source['right'] in data_dict:
G.add_edge(key, source['right'])
# nx.draw_networkx(G)
# plt.show()
print(G.edges())
- 使用知识图谱三元组的表示形式
- 用视觉的方式进行表示,标注对应的boundingbox以及位置信息等。
2. 如何解析流程图
核心难点是流程图中节点的识别、线的识别以及ocr识别。目前主要有两种主流方法:
- 多模态方法:如《FlowLearn: Evaluating Large Vision-Language Models on Flowchart Understanding》
- 传统深度学习CV处理方案:如《Flowmind2Digital: The First Comprehensive Flowmind Recognition and Conversion Approach》
Flowmind2digital方法包括两个主要部分:对象和关键点检测,以及后处理。首先是对象和关键点检测,使用Mask-RCNN进行对象检测。其次后处理,包括形状生成、连接确定、文本内容提取和自动排版。
总结
本文主要围绕文档中的图表解析这一工作作了介绍,分别介绍了数值图表的解析、流程图表解析两个任务的一些代表方案。整个大的潮流,其实都是往多模态的方向做,但受限于图片分辨率、OCR效果以及多样性,所以,但多模态大模型已经有了初步这样的能力。
热门推荐
血脂检查全攻略:七项指标解读与健康管理建议
尺骨近端骨折伴桡骨小头脱位:病因、症状与治疗全解析
关于喝水的几个真相——你真的会喝水吗?
如何进行有效的财富管理?财富管理中需要注意哪些风险?
气压与钓鱼:揭秘最佳钓鱼时机
旅行车和SUV的区别及优缺点有哪些?
股市用语详解:什么是做空?
HPLC智能电表远程抄表工作原理详解
储能设计丨光伏+储能系统方案说明
十二指肠球炎怎么治
【出行安全】隧道行车隐患多,这些安全要点请牢记→
帝国时代2人口上限75怎么发展
科普:DO-178B
市场洞察:如何撰写吸引人的分店文案?
实验室通风系统维护方案
通风管道检测项目有哪些(项目一览)
激光切割机操作的十大安全要点
二阶微分方程的通解公式
第七代天籁自吸加92还是95?
人体行为检测与识别
甲亢的症状、诊断、治疗及预防全解析
三千年从头说,再述南京人文史
安卓车机Secure boot原理与实现
使用scikit-learn进行糖尿病预测:一个线性回归实战案例
邮件服务行业中的商业模式与盈利模式
起居有常,养生也要遵从“四时变化”
体检报告怎么看?超实用,建议收藏
Return to Home Page
防弹衣普及的时代,解放军苦练拼刺刀还有用吗?
英雄联盟奇亚娜背景故事一览