DeepSeek本地RAG知识库(18):数据结构化清洗详细讲解(小白也能懂

时间:2025-05-07 10:50:17 来源:淘折扣  阅读:(36) 收藏
转载:

通过这么多期的讲解,很多粉丝已经对RAG知识库有了了解,但是对如何提高准确率还是感觉无从下手,我们今天就给大家分享一下数据结构化清洗的详细讲解,通过这个清洗和结构化工作,可以让知识库的准确率提升一个大的台阶。

大家好!我是程序员寒山。

通过这么多期的讲解,很多粉丝已经对RAG知识库有了了解,但是对如何提高准确率还是感觉无从下手,我们今天就给大家分享一下数据结构化清洗的详细讲解,通过这个清洗结构化工作,可以让知识库的准确率提升一个大的台阶

DeepSeek本地RAG知识库(18):数据结构化清洗详细讲解(小白也能懂)

引言:为什么RAG需要结构化数据?

当然这里的结构化是和数据内容本身有关系的,应该说是有限的结构化清洗。

RAG(Retrieval-Augmented Generation)是一种增强检索与生成能力的AI技术,通过从知识库中检索相关内容辅助生成更准确的答案。

然而,知识库的数据质量直接决定RAG的效果。非结构化数据(如杂乱文本)会导致检索噪声大、语义理解偏差等问题,而结构化数据则能显著提升检索精度。

就像我们的图书馆一样,里面很多书都是按门类整齐摆放的,如果所有的书都堆在一起,那就只能称为废品站了,因为没有人去看书,压根就找不到,再牛的图书管理员,也只能自叹:“臣妾真的做不到啊”。

本文以菜谱和Dify为例(其它工具需要根据其自身特点处理),解析数据结构化方法及实操演示结构化和清洗的详细过程,结构化后的数据如何导入,并演示结构化前和结构化后的实际效果


一、数据结构化的核心目的

1.1 解决杂乱数据知识库回答不准的痛点

  • 关键词依赖性强:非结构化文本依赖关键词匹配,容易遗漏语义关联,如图中的关键词提取,从这段内容中提取了这么多,然后对这些词进行向量化,如果遗漏就会丢失一些特征。
DeepSeek本地RAG知识库(18):数据结构化清洗详细讲解(小白也能懂)

  • 冗余信息干扰:菜谱中的图片、图表、无关描述会干扰检索结果。
DeepSeek本地RAG知识库(18):数据结构化清洗详细讲解(小白也能懂)

我们目前只处理文本,所以无关的信息要删除,比如上面菜谱的图片,也包括“图片”文字等,这就是冗余信息的清理。

  • 上下文割裂:步骤、食材、技巧混杂,导致模型难以精准定位信息。
DeepSeek本地RAG知识库(18):数据结构化清洗详细讲解(小白也能懂)

一道菜的信息被分成了多段,每段都进行独立向量化,最后检索的时候想把一个菜的分开的几段都找齐是很难的。

比如:就像把两个完全不同的拼图,打散后混在了一起,再拼起来那就相当困难了。

1.2 结构化数据的优势

  • 精准语义理解:通过标签化、分类字段,模型能理解数据的深层含义。
DeepSeek本地RAG知识库(18):数据结构化清洗详细讲解(小白也能懂)

  • 高效检索:支持多维度过滤(如食材、烹饪时间),提升召回率。
DeepSeek本地RAG知识库(18):数据结构化清洗详细讲解(小白也能懂)

  • 可控生成:结构化的知识单元完整,同类同组数据不分割(如一个菜的完整数据)。
DeepSeek本地RAG知识库(18):数据结构化清洗详细讲解(小白也能懂)

可以看出每个菜都是完整的一个分段,在Dify里面父分段是完整检索输出的。也可以使用通用分段,区别不是特别大。


二、结构化方法

这里结构化就像前面提到的,是有限的结构化,需要和使用的工具结合使用,如果工具不支持,那么做了也没有作用,这里以工具Dify为例,文件以PDF菜谱为例,结构化流程可分为三步:

2.1 PDF文件清洗

由于PDF文件中有表格和图片,第一步进行识别,把表格转化为文本,图片去除(因为是菜品,上面没有文字信息,如果有的话进行OCR处理)。

DeepSeek本地RAG知识库(18):数据结构化清洗详细讲解(小白也能懂)

2.2 打标签

给上一步转化后的数据,增加菜系,冷热菜,菜名等标签。

DeepSeek本地RAG知识库(18):数据结构化清洗详细讲解(小白也能懂)

让每一个菜的属性更全面,这样它的向量信息就更准确,检索的准确度自然就高了。

所有的菜处理完后就是这样的一个效果:

DeepSeek本地RAG知识库(18):数据结构化清洗详细讲解(小白也能懂)

2.3 分块

目标:文本拆分时,尽量不要把同一个主题,同一个完整内容拆开,比如一道菜不能拆成几块。

我们这里结合Dify的分块功能,进行对文档进行处理。

DeepSeek本地RAG知识库(18):数据结构化清洗详细讲解(小白也能懂)

Dify提供了自定义分段标识符的功能,我们要好好的利用这一点,我们使用“####”进行分割菜谱。

DeepSeek本地RAG知识库(18):数据结构化清洗详细讲解(小白也能懂)

同时分块的最大长度是4000tokens,我们就按字简单估计就行了。拆分后检查一下,看看是否每个菜谱都是完整的。

DeepSeek本地RAG知识库(18):数据结构化清洗详细讲解(小白也能懂)


三、结构化前后数据对比

  • 非结构化示例

PDF菜谱中一个一个菜品的图表和图片介绍:

DeepSeek本地RAG知识库(18):数据结构化清洗详细讲解(小白也能懂)

  • 结构化示例

结构化后的数据,是清洗、打标签、分段后的数据。

DeepSeek本地RAG知识库(18):数据结构化清洗详细讲解(小白也能懂)


四、实战案例:菜谱库结构化提升60%准确率

4.1 菜谱设计

  • 数据集:30种菜品,川菜、鲁菜、粤菜个10种,冷热菜都有的非结构化菜谱PDF文件。
  • 工具链:Dify + Python脚本 + LLM。
  • 评估指标:检索准确率。

4.2 结果对比

场景

检索准确率

用户满意度

非结构化数据

38%

低(答案冗余)

结构化数据

95%

高(答案精准)

4.3 典型问答示例

  • 提问:“推荐一道川菜中的凉菜?”
  • 结构化前

这是思考的过程,思考了一大堆。

DeepSeek本地RAG知识库(18):数据结构化清洗详细讲解(小白也能懂)


我们看看回答的结果是什么:

DeepSeek本地RAG知识库(18):数据结构化清洗详细讲解(小白也能懂)

可以看到找到2个,推荐一个都不正确,关键推荐的是个鲁菜,准确率相当地,有30%不错了。

  • 结构化后

同样的问题,我们使用结构化之后的数据,返回的结果如下:

DeepSeek本地RAG知识库(18):数据结构化清洗详细讲解(小白也能懂)

基本上每次都是正确的,95%以上,这就是数据的有限结构化给RAG带来的改变。


五、结论:结构化是RAG技术的重要前提和基石

数据结构化是优化RAG系统的基石。通过入库前将非结构化文本转化为结构化数据,可显著提升检索准确率与生成质量

对于垂直领域(如菜谱、医疗、法律),结构化不仅能改善问答效果,还能支持复杂查询,释放数据的深层价值。

DeepSeek本地RAG知识库(18):数据结构化清洗详细讲解(小白也能懂)

如:“推荐一个含花生的凉菜”,回答是:老醋花生,相当的Nice。

那么现在你知道怎么进行数据结构化了么?有问题欢迎留言讨论!

标签:

热门排行

猜你喜欢

热门标签

扫描二维码打开

周一至周六

9:00-22:00                  

淘折扣  滇ICP备2023000592号-3  滇公网安备53230102000530号   统一社会信用代码:91532300MAC2D0R706 Copyright © 2010 - 2025 https://www.bgaw.cn/ All Rights Reserved