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效果以及多样性,所以,但多模态大模型已经有了初步这样的能力。
热门推荐
深度剖析:混声背后的科学原理 |像林俊杰一样的高音是如何炼成的?
郑州出发,这些地方火车一晚卧铺直达!
数据库如何减少IO
《柳叶刀》:含糖饮料对健康影响到底有多大?
VGA接口转HDMI转换器的使用指南(从VGA到HDMI)
B族维生素的作用与缺乏症状
纳兰性德经典诗词赏析全
普洱茶的历史渊源与简单来历详解:从古至今的茶文化探索
数字电子技术基础:信息与编码、二进制的简介以及二进制的转换
有哪些汤能帮助孕妇缓解孕吐?缓解孕吐的有效汤品推荐
襄阳:历史与现代交织,文化与自然融合的魅力之城
我国下一代工业生物技术(NGIB)研发势头强劲 极端微生物为其底盘细胞
海洋资源保护与现代捕捞技术结合,探索可持续渔业未来之路
肩痛就是肩周炎?带你了解肩关节最痛的疾病——肩钙化性肌腱炎
辣椒蟹:一种来自亚洲的迷你泥蟹
辣椒蟹:一种来自亚洲河口的迷你蟹类
不容忽视的血氧,关乎生命健康的关键指标
Android Framework层介绍
解锁英语疑问词之谜:让交流更流畅自如
走近明星“龙”董氏中华猛龙骨架化石标本
孩子"啃指甲"怎么办?医生教你科学应对方法
痛风患者要怎么控制饮食
如何确保项目绩效评价报告的准确性与客观性?
嵌入式测试工程师发展前景
债市供需 | 债券市场供需分析框架与特例解析
如何高效地与客户打交道?看完本文让你事半功倍
最好看的20部古装剧推荐
手机恢复出厂设置前如何备份数据?不同品牌手机备份方法详解
宠物掉毛防治全攻略(15种有效方法让你的爱宠不再掉毛)
来自佛教的十个智慧成语,令人大彻大悟