暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

把检索语言换成 html,RAG 能力得到显著提升!

AI 搜索引擎 2024-11-26
250
今天分享的是人大和百川联合发布的一篇论文:

HtmlRAG: HTML is Better Than Plain Text for Modeling Retrieved Knowledge in RAG Systems。

HtmlRAG:在 RAG 系统中对检索知识进行建模时,HTML 优于纯文本。

论文链接:https://arxiv.org/pdf/2411.02959


01

 摘要


HtmlRAG 提出了使用 HTML 格式 来替代纯文本表示检索到的知识,以保留文档中丰富的结构化和语义信息,从而提升 RAG 系统的性能并减少幻觉现象。
主要贡献:
  1. HTML 格式优势:保留结构化信息并充分利用 LLM 对 HTML 的理解能力,同时适配多种文档格式。
  2. HTML 清理:设计了基于规则的清理算法,去除无用元素,压缩结构冗余,保留语义信息。
  3. HTML 剪枝:两阶段剪枝策略,使用嵌入模型进行粗剪枝,再用生成模型进行细剪枝,优化信息提取。
  4. 实验验证:在六个 QA 数据集上,HtmlRAG 比基于纯文本的 RAG 系统表现更优。



02

主要方法

HtmlRAG 的核心目标是在保留关键信息的前提下压缩 HTML 文档长度,以适应 LLM 的输入限制并提升性能。

1. HTML 清理

这部分的目标是去除 HTML 文档中与用户查询无关的冗余信息,同时保留语义结构,为后续处理打下基础。

其流程是首先识别并删除文档中的 CSS 样式、JavaScript 代码和注释等,这些元素虽然对人类阅读有帮助,但对 LLM 的理解和分析并无实际意义。然后移除不必要的标签属性,例如classid,这些属性在 HTML 清理阶段可以被替换为更通用的标签,例如div同时将多层嵌套的单层标签进行合并,这样既可以减少文档的长度,也可以简化结构,方便后续处理。最后删除没有内容的标签,这些标签对文档的结构和内容没有实际影响。

2. 块树构建
这部分的目标是将 DOM 树转换为块树,将文档内容划分为多个块,每个块包含一定数量的单词,为后续剪枝提供更细粒度的控制。

首先使用 HTML 解析库将 HTML 文档解析为 DOM 树,构建文档的语义结构。并根据预设的块大小阈值(例如 256 或 512 个单词),将 DOM 树中的节点进行合并,形成块节点。合并时,优先考虑合并具有相同语义的节点,例如将同一章节下的多个段落合并为一个块。合并后的块节点包含该块内的所有文本内容,以及相关的 HTML 标签。最后处理叶子节点,将无法合并的叶子节点(例如单个段落或标题)单独作为块节点,以便后续处理。

3. 剪枝算法

这部分的目标是删除与用户查询不相关的块,缩短文档长度,去除噪声,提高 LLM 的生成质量。

可以使用嵌入模型计算每个块与用户查询的嵌入相似度,将相似度较高的块视为与用户查询相关,保留下来。然后使用贪心算法删除相似度较低的块,例如从相似度最低的块开始删除,直到文档长度满足 LLM 的输入限制。还可以将嵌入模型剪枝后的块树扩展为更细粒度的块树,将每个块进一步分解为更小的块节点。再使用LLM计算每个块的路径序列概率,将其作为块的评分,评分较高的块被视为与用户查询相关,保留下来。最后使用贪心算法删除评分较低的块,例如从评分最低的块开始删除,直到文档长度满足 LLM 的输入限制。

 03

流程

流程说明

左侧:
  • 检索:通过搜索引擎获取相关 HTML 文档。
  • HTML 清理:清除冗余结构,保留语义信息。
  • 块树构建:划分文档内容为多个块。
  • 嵌入模型剪枝:基于相似度缩短文档长度。
右侧:
  • 生成模型剪枝:细粒度优化块内容。
  • 贪心剪枝:最终压缩至 LLM 可接受的长度。
  • LLM 输入:生成最终答案。

04

总结

HtmlRAG通过引入HTML格式,显著增强了RAG系统对结构化知识的建模能力。实验结果表明,这种方法不仅提升了性能,还有效减少了幻觉现象,为RAG系统的未来发展提供了新思路。

 05

 编者简介


李剑楠:华东师范大学硕士研究生,研究方向为向量检索。曾作为核心研发工程师参与向量数据库、RAG 等产品研发,代表公司参加 DTCC、WAIM 等会议进行主题分享。

文章转载自AI 搜索引擎,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论