表格RAG语义割裂,用Pneuma+SAT增强检索准确性和效率 |最新

AITNT-国内领先的一站式人工智能新闻资讯网站
# 热门搜索 #
AITNT-国内领先的一站式人工智能新闻资讯网站 搜索
表格RAG语义割裂,用Pneuma+SAT增强检索准确性和效率 |最新
5670点击    2025-05-16 10:43
在上一篇文章中,我为大家介绍了SAT如何通过神经网络驱动的智能分段技术,解决传统文本处理中的语义割裂问题。今天,我将继续与您探讨SAT如何与Pneuma系统融合,开创表格数据检索与表示的新范式。作为SAT模型的实际应用案例,我将SAT与Pneuma(https://arxiv.org/pdf/2504.09207 下文有代码链接)相结合,将智能文本分段能力应用于表格数据处理,不仅解决了内容与上下文的双重维度问题,还显著提升了检索准确性和效率。如果您尚未阅读昨天的文章,建议先了解SAT的基本原理,这将帮助您更全面地理解Pneuma系统的技术创新和价值。


📊表格检索的困境与突破


在数据驱动的世界中,识别和提取相关表格数据已成为创造价值的首要步骤,然而这一过程却面临着前所未有的挑战。数据不仅存在于表格的内容(行和列)中,还隐藏在表格的上下文(来源、目的和使用方式)中,而这些上下文信息往往散落在EXCEL、CSV以及PDF文档或数据目录等外部资源中。


当用户需要根据采样方法查找特定表格时,他们不得不在内容和上下文之间来回切换,这种体验既繁琐又低效,尤其对于非技术用户而言,自然语言查询才是最直观的交互方式。


表格RAG语义割裂,用Pneuma+SAT增强检索准确性和效率 |最新

表格内容与上下文示例


🚀 Pneuma:行列+上下文


Pneuma系统以突破性的方式解决了表格检索的核心难题:如何同时利用表格内容和上下文进行高效检索。该系统采用检索增强生成(RAG)架构,将大型语言模型(LLM)用于表格表示和检索两个关键环节,实现了对自然语言问题的精准响应。


表格RAG语义割裂,用Pneuma+SAT增强检索准确性和效率 |最新


Pneuma的卓越性能


  • 检索质量提升高达22.95%
  • 查询速度提升31倍
  • 大幅降低存储需求


表格RAG语义割裂,用Pneuma+SAT增强检索准确性和效率 |最新

Pneuma系统架构图


🔍 理解表格检索的双重维度


在深入Pneuma系统之前,我们需要明确区分内容问题和上下文问题这两种核心查询类型:


内容问题


  • 直接从表格的列名和行值中获取答案
  • 示例:"哪个数据集包含智能手机和笔记本电脑的年度收入信息?"
  • 特点:关注表格中的具体实体和数据


上下文问题


  • 依赖表格的元数据、生成方法或预期用途等外部信息
  • 示例:"哪个数据集反映了尖端柔性显示技术在移动行业的市场影响?"
  • 特点:需要了解背景信息(如该公司在2021年发布了一款突破性的折叠智能手机)


⚙️ Pneuma架构:离线表示与线上检索


Pneuma系统分为线下和线上两个关键阶段,形成了一个完整的表格检索生态系统:


离线阶段


  1. 数据注册:用户注册表格和相关上下文
  2. 内容总结:将大型表格压缩为更小的"内容摘要",保留模式和行级信息
  3. 索引构建:将摘要与表格上下文一起索引到全文和向量索引中


线上阶段


  1. 混合检索:整合三种信号检索表格
  • 词汇信号(BM25):处理精确的词汇匹配
  • 语义信号(向量搜索):捕获语义相似性
  • LLM判断:确定候选文档是否与查询相关

2. 结果呈现:返回与检索文档关联的顶级表格


📝 表格模式表示:LLM的叙述


Pneuma在表格表示方面带来了革命性的突破,它利用LLM生成表格模式的叙述性描述,而不是仅依赖原始列名。


优势与应用


  • 术语解释:解释复杂的缩写或领域特定术语
  • 例如:将棒球统计数据中的"AB"解释为"击球手的打数"
  • 将"BABIP"解释为"击球进场的打击平均值"
  • 解决语义歧义:提供更全面的表格表示
  • 统一处理:将内容和上下文转换为文本,再编码为向量


表格RAG语义割裂,用Pneuma+SAT增强检索准确性和效率 |最新

模式摘要示例


📊 模式摘要与行摘要的双轨策略


Pneuma的表格表示策略采用了模式摘要和行摘要相结合的双轨方法,平衡检索准确性和系统效率:


模式摘要


  • 使用LLM为每个列生成有意义的描述
  • 将这些描述连接起来,形成完整的模式摘要


行摘要


  • 随机采样r行(默认为5行)
  • 为每个采样行生成摘要,将值与其各自的列名连接
  • 优点:避免存储整个表格的开销,同时保留足够的行级信息


案例:在FetaQA数据集中,许多表格共享相同的模式,行信息对于提高命中率至关重要。


表格RAG语义割裂,用Pneuma+SAT增强检索准确性和效率 |最新

行摘要示例


⚡ 动态批处理:优化LLM推理技巧


在处理大型表格集合时,LLM推理成为主要的计算瓶颈。Pneuma通过创新的动态批处理技术显著提高了推理效率:


自适应批处理


  • 通过二分搜索算法寻找最佳批处理大小
  • 内存不足时自动减小批处理大小
  • 连续成功时增加批处理大小


优化策略


  • 按大小对提示进行排序
  • 确保每个批处理包含相似数量的标记


效果提升


  • 在Adventure Works数据集上,批处理大小从14提高到50
  • 摘要时间减少了78%(从288秒减少到63秒)


🔄 混合检索方法:词汇与语义融合


Pneuma的表格检索方法创新地结合全文和向量搜索,并利用LLM作为优化排名的机制:


检索流程


  1. 从全文和向量检索器独立检索n*k个文档
  • k:用户希望检查的文档数量
  • n:乘法因子

2. 为每个唯一文档分配组合相关性分数

  • s(d) = α · s_lexical(d) + (1 - α) · s_semantic(d)
  • α:平衡因子(0到1之间)


这种评分函数整合了词汇和语义相关性的优势,确保更准确的文档排名。


🧠 LLM判断:优化检索结果的防线


LLM判断是Pneuma系统中的关键创新,为检索结果提供了最后一道质量保障:


独特方法


  • LLM的任务:判断候选文档是否与问题相关
  • 不直接回答问题或生成完整排名
  • 基于判断结果重新排序文档
  • 不相关文档移至列表末尾
  • 保留相关文档之间的相对顺序


效果展示


在一个化学领域的复杂问题上:


  • 全文和向量检索器无法在前几位返回相关文档
  • 混合搜索+LLM判断成功将相关上下文提升至第一位置


💾 高效索引构建


Pneuma在索引构建阶段引入了两项关键创新,解决大规模表格检索的存储瓶颈:


基于块的嵌入生成


  • 将同一表格同类型的文档分组到固定大小块中
  • 为每个块生成单个嵌入
  • 减少嵌入数量,加速索引过程,降低存储开销


增量维护索引


  • 模式变化时生成新的模式摘要并插入索引
  • 行更新时重新采样,可设置阈值(如20%行被更新)触发


表格RAG语义割裂,用Pneuma+SAT增强检索准确性和效率 |最新

离线运行时间与存储占用对比


📏 表格发现基准


为公平评估表格检索系统,研究者开发了全面的基准生成器,模拟真实世界中的表格发现工作负载:


现有基准的局限


  • NQ_tables、FeTaQA、QATCH:主要用于表格问答,问题往往揭示了正确答案表格
  • CMDBench:针对表格发现,但地面真相不完整导致高假阴性率
  • BIRD和Spider:专注于文本到SQL任务,忽略表格上下文


Pneuma基准生成器的优势


  • 同时生成内容问题和上下文问题
  • 通过SQL模板和LLM转换创建内容问题
  • 让LLM扮演表格创建者角色生成上下文问题
  • 确保基准的多样性和有效性
  • 更好地模拟真实世界用户查询


📊 实验结果:Pneuma的优势


在六个真实世界数据集上的评估结果展示了Pneuma的性能:


命中率优势


  • 在Adventure Works变体上,Pneuma获得71.53%的命中率(k=1时)
  • 比全文搜索高出18.71个百分点
  • 比LlamaIndex高出15.19个百分点
  • 比Solo高出22.95个百分点


效率提升


  • 使用625个数据集时:
  • 比LlamaIndex快16.6倍
  • 比Solo快5倍


  • 使用10,330个数据集时:
  • 比LlamaIndex快29.6倍
  • 比Solo快31倍


存储平衡


  • LlamaIndex:离线运行时间最快,但存储占用最大
  • Pneuma:在数据准备时间和存储效率之间取得最佳平衡


表格RAG语义割裂,用Pneuma+SAT增强检索准确性和效率 |最新

不同基准上的命中率对比


🔬 组件贡献:每个部分都至关重要


通过消融研究,研究者验证了Pneuma各组件对系统整体性能的重要贡献:


表格摘要器


  • 结合模式叙述和样本行的方法实现更高命中率
  • 显著减少所需文档数量
  • 实例:在Chicago数据集中,相比DBReader:
  • 文档数量减少281倍
  • 命中率提高5.29个百分点


混合检索


  • 词汇搜索在内容问题上表现更好
  • 向量搜索在上下文问题上更为出色
  • 混合方法利用互补性提供综合性能提升


LLM判断


  • LLM判断优于预训练的重排序模型
  • 实例:在FeTaQA内容基准上,LLM判断(Qwen):
  • 获得58.24%命中率
  • 比BGE高出22.08个百分点
  • 比Stella高出20.18个百分点


表格RAG语义割裂,用Pneuma+SAT增强检索准确性和效率 |最新

不同判断器对命中率的影响


🔎 微基准测试:细节决定成败


微基准测试揭示了系统性能的细微差别和最佳配置参数:


关键参数优化


  • α参数(词汇与语义检索的平衡):
  • 0.4到0.6之间达到最佳效果
  • 表明两种检索器大致同等重要


  • k参数(检索文档数量):
  • 增加k提高命中率
  • 从k=1到k=5的提升最大


  • n参数(k的乘法因子):
  • n=1到n=5的变化最显著
  • 此后提升有限


LLM性能比较


  • Mistral-7B-Instruct-v0.3
  • Zephyr-7b-beta
  • Qwen
  • 性能差异很小,Mistral略领先
  • Qwen更简洁,摘要生成更快


幻觉研究


  • 贪婪搜索(Temp-0)提供最准确命中率
  • 温度增加(Temp-1.5)产生词汇更广泛的摘要
  • 非指令型变体生成幻觉,命中率显著降低


表格RAG语义割裂,用Pneuma+SAT增强检索准确性和效率 |最新

α参数对命中率的影响


💡 构建自己的表格检索系统


通过深入分析Pneuma系统,我提炼出几点关键工程实践启示:


表格表示


  • 结合LLM生成的模式叙述和采样行信息
  • 平衡检索准确性和系统效率


表格检索


  • 混合词汇和语义方法
  • 使用LLM进行简单相关性判断,而非复杂排序


系统架构


  • 分为线下(索引构建)和线上(实时检索)两个阶段
  • 优化整体性能


工程优化


  • 动态批处理
  • 基于块的嵌入生成
  • 显著提高系统效率,尤其是处理大规模表格集合


🌟 SAT增强的Pneuma:文本分段驱动的表格表示与检索探索


SAT模型集成:精细文本分段的表格理解


为了进一步验证SAT模型的分段能力,我在Pneuma系统成功集成了SAT(Segment Any Text)模型,为表格数据提供更精细的文本分段能力。具体您可以看下《讨厌RAG生成幻觉?试一下SAT重构文本分块,按语义而不是Token》SAT模型通过智能地将表格描述和内容分割成语义连贯的段落,显著提升了表格表示的质量和检索的准确性。数据集用的是Pneuma研究者的开源代码https://github.com/TheDataStation/pneuma/tree/main 数据示例中的5cq6-qygt.csv,从本地加载。SAT模型已在我本地,具体可看下《精准提取数据太折磨人,试下pip install -U contextgem,自动生成提示 | 痛快


表格RAG语义割裂,用Pneuma+SAT增强检索准确性和效率 |最新


与传统方法相比,SAT增强的Pneuma系统能够更好地理解表格内容的语义结构,捕捉细微的上下文信息,从而在检索过程中提供更精准的匹配结果。代码一共1290行,周末我会分享到群里。如果您仅对Pneuma感兴趣,也可以运行一下quickstart.ipynb进行尝试。


表格RAG语义割裂,用Pneuma+SAT增强检索准确性和效率 |最新


DeepSeek+Jina LLM增强的表格理解


为进一步提升系统性能,我将DeepSeek-V3集成到Pneuma系统中,实现了从API调用到表格检索的完整流程。DeepSeek-V3在解释表格列名、生成语义丰富的表格描述以及判断查询相关性方面表现出色,特别是对于专业领域的表格数据,能够更准确地解读复杂缩写和术语。

在实际应用层面,Jina模型(jina-embeddings-v3)与SAT模型(sat-3l-sm)形成了强大的协同工作机制,大幅提升了表格数据处理的效率和精准度:


  1. 技术互补性:Jina负责将文本转化为高维语义空间中的向量表示,而SAT负责将长文本智能分段。这种配合使系统能够在保留整体语义的同时,捕捉细粒度的内容特征。
  2. 表格数据处理创新:在传统表格检索中,往往只能基于列名或简单关键词匹配,而Jina模型通过语义向量化使系统能够理解"查询意图"与"表格内容"之间的语义关联,即使它们使用不同的表述方式。
  3. 效率与精度平衡:代码中的批处理设计(batch_size参数)和分段处理策略显示了对计算资源与精度之间的精心平衡,确保在保持高质量向量表示的同时,不会消耗过多资源。


return {"data": [{"embedding": [0.0] * 512} for _ in texts]}


这种设计使Pneuma系统在处理复杂结构化数据时,能够实现从"数据匹配"到"语义理解"的质的飞跃,为用户提供更加智能和自然的表格数据检索体验。

# 表格列描述生成示例

prompt = (

f"请描述以下表格列中的数据内容和可能的含义:\n\n列名:{col}\n\n"

f"数据样例:\n{sample_data}\n\n"

f"请用简短的一段话描述这个列的内容和含义,不要超过50字。"

)

narration = self._generate_from_deepseek(prompt)


这种智能化的表格描述生成过程,结合SAT模型的精细分段能力,形成了一个强大的表格理解引擎。通过实验验证,这种方法在处理公交站表格数据时表现出色,能够正确识别站点ID、路线信息和地理位置等关键元素。


智能匹配机制:解决检索难题


SAT增强的Pneuma系统在查询处理方面引入了创新的智能匹配机制,有效解决了传统表格检索系统面临的关键难题。特别是针对表格ID不匹配、格式不统一等工程实践中常见的问题,我增加了鲁棒的ID处理,确保即使在数据不完整或格式混乱的情况下,系统仍能返回最相关的表格。


# 专门针对公交站查询的智能匹配逻辑

transit_keywords = ["transit", "bus", "train", "station", "transport", "stop",

"公交", "车站", "交通", "站点", "停靠站", "芝加哥"]

# 检查关键词匹配

is_transit_query = any(keyword in query_lower for keyword in transit_keywords)


这种基于领域知识的智能匹配逻辑,结合SAT模型提供的细粒度文本理解能力,使系统能够准确识别用户意图,即使在查询表述模糊或不完整的情况下。实验结果表明,对于"我想找出芝加哥的公交车站在哪里"和"哪些公交站停靠76路公交车?"等不同类型的查询,系统都能准确返回信息。见以上运行截图。


🔮试一试Pneuma


随着组织数据量的持续增长和数据孤岛问题的加剧,像Pneuma这样能够统一处理内容和上下文的系统将变得越来越重要,它不仅展示了大型语言模型在表格理解和检索中的潜力,还提供了一个平衡准确性、效率和可扩展性的端到端解决方案。


文章来自于“AI修猫Prompt”,作者“AI修猫Prompt”。


表格RAG语义割裂,用Pneuma+SAT增强检索准确性和效率 |最新

关键词: AI , 表格RAG , 模型训练 , Pneuma
AITNT-国内领先的一站式人工智能新闻资讯网站
AITNT资源拓展
根据文章内容,系统为您匹配了更有价值的资源信息。内容由AI生成,仅供参考
1
AI数据分析

【开源免费】DeepBI是一款AI原生的数据分析平台。DeepBI充分利用大语言模型的能力来探索、查询、可视化和共享来自任何数据源的数据。用户可以使用DeepBI洞察数据并做出数据驱动的决策。

项目地址:https://github.com/DeepInsight-AI/DeepBI?tab=readme-ov-file

本地安装:https://www.deepbi.com/

【开源免费airda(Air Data Agent)是面向数据分析的AI智能体,能够理解数据开发和数据分析需求、根据用户需要让数据可视化。

项目地址:https://github.com/hitsz-ids/airda

2
RAG

【开源免费】graphrag是微软推出的RAG项目,与传统的通过 RAG 方法使用向量相似性作为搜索技术不同,GraphRAG是使用知识图谱在推理复杂信息时大幅提高问答性能。

项目地址:https://github.com/microsoft/graphrag

【开源免费】Dify是最早一批实现RAG,Agent,模型管理等一站式AI开发的工具平台,并且项目方一直持续维护。其中在任务编排方面相对领先对手,可以帮助研发实现像字节扣子那样的功能。

项目地址:https://github.com/langgenius/dify


【开源免费】RAGFlow是和Dify类似的开源项目,该项目在大文件解析方面做的更出色,拓展编排方面相对弱一些。

项目地址:https://github.com/infiniflow/ragflow/tree/main


【开源免费】phidata是一个可以实现将数据转化成向量存储,并通过AI实现RAG功能的项目

项目地址:https://github.com/phidatahq/phidata


【开源免费】TaskingAI 是一个提供RAG,Agent,大模型管理等AI项目开发的工具平台,比LangChain更强大的中间件AI平台工具。

项目地址:https://github.com/TaskingAI/TaskingAI

3
prompt

【开源免费】LangGPT 是一个通过结构化和模板化的方法,编写高质量的AI提示词的开源项目。它可以让任何非专业的用户轻松创建高水平的提示词,进而高质量的帮助用户通过AI解决问题。

项目地址:https://github.com/langgptai/LangGPT/blob/main/README_zh.md

在线使用:https://kimi.moonshot.cn/kimiplus/conpg00t7lagbbsfqkq0