做了一个纯视觉路线的解析功能,不知道有没有搞头?

发布于

现在的 agent 解析文件,大都是先把文档解析成文字,再让 Agent 阅读解析结果。就像 PAGE-INDEX、MinerU 等方案一样,走的都是这条路。

但在实际处理各类手册、方案、研报、图纸和复杂表格时,我发现了一个 bug:它的解析不是 100% 准确的,尤其是面对复杂的扫描件、又宽又密的表格、千奇百怪的排版、还有各种零碎的印章、批注、图片和跨页内容等,再好的解析方法也一定会出错。而一旦出错,这些错误会持续停留在数据库(知识库)中被 Agent 反复消费。就算再怎么训练解析模型,对于真实的复杂场景来说,边际收益已经趋近于 0 。

这么说吧,现在主要的提取器都在想尽办法给文件画素描,那么就少不了一定会失真。

所以,我搞了一条纯视觉页面理解驱动的路线:不再解析文本内容,而是理解、组织、标注页面,让 Agent 直接看到无损的原页面。相比素描,它是给文件拍照和写标注,是高度保真的。

具体操作就是:不再默认用重度提取把一页内容改写成文字替身,而是把原始页面作为最完整、最接近源文件的信息基准保留下来,再按照文档原生的章节、主题和内容关系,将页面组织成可以跨文档导航的层级图谱与关系网络。

为了让页面能够被快速找到,系统会轻量提取其中的核心文字,并结合视觉模型为页面补充章节归属、主题和内容标注;其中的表格、图表和重要配图,依然会按需独立提取,成为可以搜索、引用和复用的资产。

当 Agent 需要使用这些资料时,它会先在页面图谱中检索和导航,找到相关页面后,再把原页交给视觉模型,根据当前问题按需读取金额、条款、图表或版式关系,并将结果追溯到具体页面和源文件。

当然,也不是把之前的文本解析就抛弃了,或者在文本解析和视觉理解之间搞二选一,而是同时拥有两条轨道。

第一条是文本轨。它把文档解析成段落、表格等结构化内容,适合排版干净、文字容易提取的文件,这条线路主要支持 DOCX/XLSX/MD/JSON 等非页面格式的数据。

第二条是视觉轨,我称之为 VISION-MAP 。它把完整页面作为理解对象,适合扫描件、图纸、复杂表格以及版式本身就包含信息的文件,主要支持 PDF/PPT 等有显著页面的数据。

我还精心设计了知识库的 schema ,两条轨道最后进入的是同一张文档地图。Agent 找路的方法没有变,区别只是它找到内容以后,拿到的是一段文字,还是一张原始页面。

![视觉解析示例](https://i.imgur.com/RKHgGlA.png)

有了视觉轨之后,照片、扫描材料、工程图纸、带有大量图表的报告、页面设计复杂的演示文稿,都可以成为文档记忆的一部分。能处理的资料更多元,能进入的业务场景也更广了。

我之前对接客户的时候就发现了,像工业、工程、金融、法律、医疗等对于解析要求严苛的行业,是不能接受一个没有源文件可回溯的结果的。

举个例子:一份扫描合同里写的是 5300 万,经过解析以后,数字变成了 530 万。少了一个零。

一旦这份解析结果进入知识库,后面的检索、计算和回答就可能都建立在 530 万这个基数上。虽说这在普通场景里是小错误,但在工程行业,这偶尔一次的小错误可能会沿着整条链路传下去,还容易造成级联错误(cascading effect)。

所以这些行业不仅要求系统给出结果,还要求结果能够复核、能够审计、能够追溯。

但如果原始页面没有被保留下来,或者已经退化成一个很难找到的附件,系统就会连回头核对的机会都没有。你只能看到机器转写后的二手结果,而不是当时真正进入系统的那个证据。

因此,保留源文件,其实就是一份兜底的保险。以后无论是 Agent 回答问题,还是用户复核结果,都可以沿着引用直接回到原始文件和具体页图,看看原本的数字是不是这个,版本是不是对的,让错误可被发现、可被复核,也让整条处理链路有据可查。

项目地址: [https://knowhereto.ai/github?utm_source=v2ex](https://knowhereto.ai/github?utm_source=v2ex)

我知道,很多同行老哥可能会质疑视觉解析的识别水平,所以这里我先解释一下:之前早期的视觉模型确实看不稳复杂页面,一次能处理的图片也有限,速度和成本更谈不上适合大规模文档。那时把所有页面都交给模型现看,体验并不好。

但现在,多模态模型已经能同时理解多张图片,也能处理更长的页面序列。表格、图形、排版和文字不必先被拆成彼此孤立的部分,模型可以结合整页关系一起判断。

另一方面,像 ColPali 这类以整页图像为检索对象的研究,也说明“先找到页面,再理解页面”是一条可行的路线。

技术成熟到这里,我们才有机会把视觉理解从一个演示能力,变成 Knowhere 文档系统里真正可用的一条轨道。

而且就目前的实践而言,个人认为它是更适合 Agent 的。因为 Agent 不只是搜索一个关键词,然后拿回几段文字就行了。它需要理解任务、判断方向、进入对应章节,再决定读文字还是看原页,最后把证据连同来源一起交回来。

所以有一个直接靠谱的证据提供给它,它出错或者幻觉的概率就会小一点。

大家觉得呢?欢迎赐教。

---

原文链接:[点击查看](https://www.v2ex.com/t/1235394)

评论

暂无评论。

0.044360s