自然语言处理:第八十四章 Markdown文档如何切分?

本人项目地址大全:Victor94-king/NLP__ManVictor: 优快云 of ManVictor


写在前面: 笔者更新不易,希望走过路过点个关注和赞,笔芯!!!

写在前面: 笔者更新不易,希望走过路过点个关注和赞,笔芯!!!

写在前面: 笔者更新不易,希望走过路过点个关注和赞,笔芯!!!


1 概述

解析(1)使用MinerU将PDF转换为Markdown中我们提到了将各种文档解析为Markdown的好处,本文我们接着上一篇文章处理后的Markdown,讲解如何对Markdown文档进行切分。

在很多文档中,标题都是非常重要的信息,例如企业内部的办理流程,稍微规范点的文档,标题里面都会体现重点信息的。

既然转成了Markdown,标题肯定是保留下来了,本文将首先介绍基于Markdown标题的切分方法,以及另外一种常规的Markdown切分方法。Langchain中对于Markdown文档专用的切分器,其实也只有两类:

  • 普通的Markdown切分方法(Langchain中的MarkdownTextSplitter),效果和使用PyPDFLoader加载解析PDF的效果是一致的
  • 基于标题的切分方法(Langchain中的MarkdownHeaderTextSplitter类),与直觉理解还不太一样,直接-使用langchain的Markdown标题切分类,效果并不好,我们将通过对结果的简单分析,尝试发现问题,并进行优化,下图是经过2次优化后的结果,效果答复提升,最终效果基本上是与基础流程打平了

图片

本文将介绍这两种切分方法,并介绍如何通过对基于标题的切分结果进行简单的数据分析,尝试发现问题并进行解决。

2 效果对比

下图是效果对比,从结果上来看,并没有体现出将PDF使用MinerU转换成Markdown的优势,可能的原因有以下两点:

  • 我们示例所使用的文档,转成Markdown后只有一级标题,标题的层级不够丰富,意味着转Markdown后,标题所能发挥的作用有限
  • 由于最初在使用RAG技术构建企业级文档问答系统之QA抽取构造的测试集是使用PyPDFLoader加载解析PDF并直接切分构造的,从这个角度讲,基础流程是与测试集更加契合的
  • 0.71相比0.72只低了1个点,并没有显著得低,这个结果未必置信

图片

3 核心代码

3.1 基于标题切分

3.1.1 直接使用MarkdownHeaderTextSplitter

这部分完整代码在:

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

曼城周杰伦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值