在RAG文档处理中——怎么处理噪音问题 原创

发布于 2025-9-5 06:36
浏览
0收藏

“ RAG文档处理的原则是找出有效数据,剔除无效数据,而不是为了大而全整一堆没用的数据。”

在RAG增强检索中,文档处理是重中之重,但是很多人的文档处理做的很粗糙,然后还奇怪为什么我的RAG质量不好,召回率太低,原因就在于你的文档处理真的不咋地。

虽然说现在的文档处理是大模型应用中的一个难点,但既然用了那就要想办法把它做好,因此我们现在需要考虑的不是文档处理有多复杂,而是应该考虑怎么提升文档的处理质量,减少噪音,提升召回率和准确率。

处理文档中的噪音

文档处理的原则

首先,我们要弄明白一个核心问题,那就是文档处理的目的是为了提升召回率和准确率,而不是把文档处理得大而全;简单来说就是,如果文档中的某些内容很难处理或者没什么用,那就把这部分变换一下格式或者直接给删了;而不是为了文档的完整性,整了一堆没用的数据,最后不但没有达到全的目的,反而给文档增加了很多噪音数据导致召回率下降。

在RAG文档处理中——怎么处理噪音问题-AI.x社区

处理格式的选择

其次,在不同的业务场景中,选择合适的文档结构;比如说不论是word,pdf,还是excel等格式的数据,全部处理成markdown的格式;这样格式统一之后,也方便统一管理和后续处理。而不是同时使用多种格式,然后召回的时候需要经过各种乱七八糟的处理流程,然后还没达到预期效果。

噪音的处理

一般情况下文档在初步处理时会存在很多噪音数据,比如说orc读取文档之后,很多结构图,流程图变成了没有任何意义的文字描述;这部分数据就可以直接删除,因为留着不但没什么用,可能还会影响到处理比较好的完整数据。

其次,还有一些文档处理无法处理图片等格式,然后处理之后的文档出现大量的图片地址引用,类似于这种图片地址也可以直接删除,原因和上述的一样。

在RAG文档处理中——怎么处理噪音问题-AI.x社区

还有,把没有意义的数字转换成文字描述;比如说可能用0和1代表男女,对错等;这时直接在文档中显示0和1,没有任何意义,鬼知道0和1表示什么意思,最好的方式就是直接把这些无意义的表示转换成文字描述。

再有,删除文档中大量的空格和无用分割符;比如说word中的表格转换成markdown之后,会有大量的空格和| 作为分割符;这时这些无用字符除了会占用大量空间导致文档分离之外,没有任何用处,因此这种多余的无用字符最好也都给删掉。

在RAG文档处理中——怎么处理噪音问题-AI.x社区

在文档处理中,类似于以上所述的情况还有很多,因此我们需要根据自己的具体情况进行处理;而不是一股脑的把文档切片,嵌入再入库就行了。

还有就是我们在文档处理中,我们需要选择有用的高质量的数据,而不是把数据一股脑的全部塞到知识库中;以数据库表为例,有时候我们可能需要数据库中的数据作为知识库,但数据库中的很多字段可能是为了方便管理和区分业务用的,在实际的业务场景中没有任何意义;比如说is_deleted这种字段,用来标识数据是否被删除;这种字段在大部分业务场景中都是无效数据;当然也不否认其在某些场景下会有用。

因此,我们文档处理的原则就是,找到一种数据格式,然后把有效,且能够处理的数据入库;把哪些无效和无法处理的数据给剔除掉;这样才能打造一个高质量的知识库。


本文转载自​AI探索时代​ 作者:DFires

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2025-9-5 06:36:02修改
收藏
回复
举报
回复
相关推荐