在RAG智能问答项目中,最基础也是最重要的事情是文档解析,文档解析的好,才能更好的按照语义进行chunk,从而更好的进行向量匹配和内容召回。
由于PDF的格式和板式非常复杂多变,尤其是PPT转的PDF,情况更加复杂。下面说下PDF的处理步骤。
第一步:PDF字符串提取
利用PDF内容提取工具pdfplumber 提取出pdf字符
第一步:进行OCR内容提取
对每页的内容进行ocr提取,推荐使用paddleocr 效果不错。
提取出文字块,效果如下图:
第三步:板式识别
利用目标识别模型进行识别,我用的yolov8,数据集大概5000张,训练300轮即可。
识别的类别包括:
文本
标题
配图
配图标题
表格
表格标题
页头
页尾
参考引用
公式
第四步:获取板式识别框里面的内容
把前面获取的坐标区域和坐标内的文字,和板式区域坐标对比,如果在这个板式区域内,说明是属于这个板式。最后把相同板式编号的内容聚合在一起。就获取到这个板式区域内的所有内容。
关于PPT 版本的PDF
如果想做的更好,建议使用多模态大模型进行处理,推荐使用qwen-vl系列。
我的创业项目-破浪问答上线了,欢迎合作交流。
都说RAG demo三天,做好半年,果然不假,因为我真的做了半年。
做不起来,就开源hhh