先这样答
核心策略是按数据格式分治处理,最后统一Schema。工程现实中,解析层的代码量通常超过RAG本体。解析质量直接决定最终效果的上限。
开发人员需要针对不同数据源编写专门的解析逻辑。PDF文件使用结构化解析库处理。解析库专门处理复杂的表格和双栏排版。网页文件含有大量无关噪音。程序执行去噪操作并抽取网页正文。扫描件属于纯图像数据。系统先走OCR流程提取文字。程序随后叠加版面恢复技术还原文档结构。工单是半结构化数据。程序直接按预设字段抽取内容。
程序将初步提取的数据统一转换为标准中间格式。标准中间格式包含标题、段落、表格和元数据。系统将所有异构内容映射到这个统一Schema中。数据完成标准化后,再进入后续的切分和索引环节。
面试官会怎么追问
-
「为什么说解析质量决定了系统的上限?」 企业知识库包含PDF、网页和扫描件等繁杂格式。解析阶段如果处理不当,后续的切分和索引就会接收大量错误数据。工程现实中解析层的代码量常超过RAG本体。开发团队必须投入大量工程精力保障解析质量。
-
「不同格式的数据如何进入同一个索引库?」 系统先按格式分治提取内容。程序将异构数据统一转换为标准中间格式。这个中间格式固定包含标题、段落、表格和元数据。标准化后的数据再统一进入切分和索引环节。
-
「扫描件和工单的处理逻辑有什么区别?」 扫描件属于非结构化图像。系统必须走OCR流程提取文字。程序随后叠加版面恢复技术还原文档的原始结构。工单本身是半结构化数据。程序不需要复杂的视觉解析,直接按字段抽取内容即可。
回答的坑
脱离工程现实,不清楚解析层代码量常超过RAG本体的事实。
同系列的题