当前位置: 首页 > news >正文

Datawhale AI夏令营 第三期 task2 稍微改进

在打造基于大语言模型(LLM)+文档检索的问答系统中,财经研报类文档是最具挑战的场景之一。它包含图文混排、精细定位需求(页码、文件名)、问题措辞高度多样化等一系列复杂性。
下面的内容是大模型辅助整理的:
本项目围绕一个目标:给定一个用户问题,从数百份PDF财经报告中找出相关信息并生成准确答案,并给出其出处(文件名和页码),通过逐步优化 chunk 策略、向量检索和 LLM 提示工程

在train数据集上的得分为0.663,测试集目前为0.29679(排名第三)

更新:加入了文档来源的大模型输出和元数据的比对,切换大模型为Qwen3-32B,目前分数:0.36493(排名第一)

在这里插入图片描述

评分标准分三部分,总分 1:

维度 权重 说明
文件名匹配度 0.25 答案中的文件名是否与参考答案一致
页码匹配度 0.25 答案中页码是否准确
答案内容相似度 0.5 使用字符级 Jaccard 相似度度量回答文本差异

🏁 初始方案:页面粒度chunk(Baseline)
做法:
每一页作为一个chunk

用FAISS构建向量索引

每次检索返回最相似的几页

问题:
粒度太大,LLM难以定位具体内容

过度信息干扰答案质量

无法定位到确切页码和文件名

📉 得分:0.002

🔧 改进一:递归Chunk + 直接向量检索
每页文本递归分块

每个chunk保留其来源元数据 {filename, page_number}

用文本嵌入直接构建向量索引

📈 得分显著提升

🧩 页码匹配精度优化
一个核心挑战是:如何让LLM生成答案时,引用准确的页码?

采取的策略:

从文档解析阶段开始,全程保留元数据:
每一段文本、每张图片都保留 {filename, page_number}

在提示中引导 LLM 输出来源信息

请用如下格式回答:
{“answer”: “…”, “filename”: “…”, “page”: …}
🔁 检索优化策略
多路召回:
双路召回:将检索向量划分为两种策略:全文语义 vs. 精准短句(如问句特征)

重排(Re-ranking)策略:
采用 RRF(Reciprocal Rank Fusion):

多路召回的结果融合排序

提高相关 chunk 的综合得分,提升命中率

🔍 LLM输出页码不准的问题
即使检索相关 chunk 的元数据正确,LLM有时也会:

忽略页码

捏造页码或文件名

输出格式错误(影响JSON解析)

解决:
构建严格提示模板,限制输出格式

增加后处理逻辑,验证输出格式合法性,出错回退使用 chunk 元数据

引入 _safe_parse() 工具,对返回结果进行强健解析

🧱 持续挑战

  1. 格式输出不稳定
    LLM容易输出错 JSON,或 hallucinate 来源信息
    强化提示模板
    后处理校验修复

  2. 问题表达方式高度自由
    用户问法与文档表达方式差距大

优化嵌入模型选择(支持中文财经语料)

其实分数还可以再高,因为现在的文件名是提取的大模型的回答,只用8B的大模型,会有很多错误,比如本来正确的名字输出为繁体,或者汉字输出为字母等,所以这个地方需要大模型+元数据同时判断,还没有用mineru或者其他的文档结构化转换工具,现在分块方法还是太朴素了,也还没用引入多模态(表格解析和图像解析)

http://www.dtcms.com/a/316434.html

相关文章:

  • P1026 [NOIP 2001 提高组] 统计单词个数
  • 计算机网络:详解路由器如何转发子网数据包
  • Java JDBC连接池深度解析与实战指南
  • SAP PP CK466
  • 解决docker load加载tar镜像报json no such file or directory的错误
  • jQuery中Ajax返回字符串处理技巧
  • Window.structuredClone() 指南
  • 基于深度学习钢铁表面缺陷检测系统(yolov8/yolov5)
  • 《算法导论》第 3 章 - 函数的增长
  • 本地配置运行https协议
  • Spring依赖注入:从原理到实践的自学指南
  • Linux 调度器函数sched_*系统调用及示例
  • 【数据结构入门】单链表和数组的OJ题(1)
  • 基于ARM+FPGA光栅数据采集卡设计
  • OpenCV学习 day5
  • 从「同步」到「异步」:用 aiohttp 把 Python 网络 I/O 榨到极致
  • Python--OCR(2)
  • 微算法科技(NASDAQ:MLGO)基于量子重加密技术构建区块链数据共享解决方案
  • 算法438. 找到字符串中所有字母异位词
  • 算法第31天|动态规划:最后一块石头的重量Ⅱ、目标和、一和零
  • 二分查找
  • 算法训练营day41 动态规划⑧ 121. 122.123.买卖股票的最佳时机1.2.3
  • 常用技术资料链接
  • Spring小细节
  • oelove奥壹新版v11.7旗舰版婚恋系统微信原生小程序源码上架容易遇到的几个坑,避免遗漏参数白屏显示等问题
  • Electron-updater + Electron-builder + IIS + NSIS + Blockmap 完整增量更新方案
  • 物联网后端系统架构:从基础到AI驱动的未来 - 第十章:AI促进IOT领域发生革命式发展
  • WebRTC采集模块技术详解
  • 阿里云百炼平台创建智能体-上传文档
  • Mysql使用Canal服务同步数据->ElasticSearch