​​​​​​总结一下,工作上最近使用大模型提取PDF的关键词和对应值。
PDF提取关键词(文献的关键词,overpotential, Tafel_slope, TOF等等)
最终目的:帮助研究人员快速进行数据对比和进行实验验证,得到最优参数。

1. 思路:PDF转文本+关键词+提示词+询问AI

这是最漫长的一步,天天跟老师对答案(因为不懂)。难度降低,排除图片的关键词的对应值。

  1. 提示词分为模型提示词(系统,用户提示词),对于文献关键词也增加了约束范围,提供了正确例子和错误例子,结果 80%。
  2. 推翻之前的代码逻辑:使用Latex标准格式 + 轮询关键词 + 对比表-差异表-值范围表 + 第一次询问AI(系统,用户提示词) + 第二次询问AI +  第三次比较,前两次一样保存,不一致再从文章中对比。
  3. 从文本提取开始修改,文本提取里面的一些化学公式的,有些全部变形,像是δ和𝛿,-和—。为了合并,使用Latex标准格式转换,专门提取这些化学公式。 (截图)


  1. 更换模型:从开源dp的到闭源doubao,闭源更加厉害。
  2. 提示词优化:更新了对比表,差异表,值范围表。
  3. 业务逻辑沟通:这个每次都要问实验人员,每次沟通都能发现一些问题,一部分是老师提取逻辑没理解,总是说一眼就能看出来。而我每次都要问怎么看出来,怎么算的,来源在哪里。

结果终于95%,代码不算难,主要是大模型有没有那样训练的科研数据,有没有逻辑推理和数学计算的能力。

  1. 后续稳定性情况下,可能要考虑模型训练(ds-R1),或者更换其他模型确保稳定性。
  2. 还有就是老师认为正确,模型不一定正确,得按照模型逻辑去理解(模型训练逻辑)。

2. 参数提取流程(目标正确率≥85%)7.21

一、文档预处理:PaddleOCR 转换与清洗

  1. 格式转换:使用 PaddleOCR 识别 PDF 或图像格式的学术论文,输出 Markdown(.md)文本,保留化学公式、数据和结构信息的文本化表达。

  2. 文本清洗:去除 Markdown 冗余格式(如无效符号、乱码),修正 OCR 识别误差(如化学符号错漏),确保文本逻辑连贯。

二、提取参数策略定义

  1. 参数范围:聚焦 25 类核心参数,分为:

    • 通用 OER 参数(12 项):包括催化剂化学结构、纳米结构、粒径、过电势、塔菲尔斜率等。

    • 参数命名的提示词模版-few shot:

      "Tafel Slope (mV/dec)": {
          "Category": "",
          "Description": "",
          "Extraction Strategy": [],
          "Examples": [
            {
              "Text": "The Tafel slope was calculated to be 54 mV/dec in the range of 1.4–1.5 V vs RHE.",
              "Extracted Value": "54 mV/dec (1.4–1.5 V)"
            }
          ]
        },
    • MEA/PEMWE 参数(13 项):包括膜厚度、催化剂载量、电池稳定性等(仅适用于含全电池实验的论文)。

  2. 提取逻辑

    • 优先从催化剂直接关联上下文提取结构参数(如 “催化剂化学结构”“粒径”)。

    • 其他参数通过动态关键词(如 “过电势 + 10 mA/cm²”“Tafel slope”)全局检索相关文本片段。

    • 缺失参数标记为 “未提及”,模糊值标注 “近似” 并附理由。

三、智能体策略:分阶段优化提取

阶段 1:催化剂列表审查与优化(评论器 AI)

  1. 审查指标

    • 完整性:检查是否遗漏论文提及的催化剂。

    • 命名一致性:统一同一催化剂的不同别名(如 “IrO₂” 与 “Iridium oxide”)。

    • 冗余性:删除非 OER 催化剂(如仅作为对比的 HER 催化剂)。

    • 精确性:验证催化剂名称的化学合理性(如排除格式错误的表达式)。

  2. 优化输出:生成去重、命名统一、覆盖完整的催化剂列表。

阶段 2:参数提取与 MEA 特殊处理

  1. 批量提取:基于优化后的催化剂列表,调用提取器 AI 逐个提取 25 项参数。

  2. MEA 参数处理

    • 若论文无 “MEA”“膜电极”“全电池” 等相关内容,自动标记所有 MEA 参数为 “无 MEA 内容”。

    • 若涉及 MEA 实验,按正常逻辑提取其 13 项参数。

阶段 3:结果校验与修正

  1. 交叉验证:对比同一催化剂不同参数的关联性(如 “粒径” 与 “纳米结构” 是否匹配)。

  2. 数值修正:统一单位格式(如 “mV”“A/cm²”),修正明显误差(如小数点错位)。

  3. 置信度标注:对高确定性结果标 “高”,模糊结果标 “中 / 低” 并附验证建议。

四、输出结果

生成结构化表格或 JSON 文件,包含:

  • 催化剂名称(含标准化别名);
  • 25 项参数的提取值、来源上下文、置信度;
  • MEA 参数专项标记(适用时)。
     

3. pdf转为markdown真的对模型很重要吗?7.22

重要,表格格式需要markdown格式,图中信息也需要总结。

4. 总结 100 篇 稳定 95%以上 

  1. paddleOCR v5 和 pp structure 识别 pdf 转为 markdown格式。

  2. 寻找文本中分子结构式,把分子结构式上下文文字提取,从上下文的范围中寻找对应值。

  3. 得到结果有 置信度,文章原文,提取值。

  4. 提取逻辑编排采用 生成者-评审者-仲裁者 三级链,多模型投票 + 交叉验证两种方法。

  5. 因模型只有deepseek/Qwen,选择生成者-评审者-仲裁者 三级链 + 置信度 + self-refine。

  6. 专业书籍放入知识库,参数的提取值、来源上下文、置信度对比评审知识库检索的片段,引入外部来源降低幻觉。

  7. 输出都需要反复验证迭代,根据置信度值或是评审值进行迭代。
  8. 目前不涉及模型微调,微调对于该项目是调整这段话提取值的准确度。不是重新训练一个推理 + 多模态 + 格式的模型。
  9. 跌破95%策略:
  10. 指令微调:提取值的准确度。

总结 : 重要的是文章markdown格式 + 提示词工程 + 较好的大模型 + 迭代 ,提取文章中提取信息。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐