Files
PlantAI-rag/docs/analysis/PLANTSCIENCE_AI_TECH_ANALYSIS.md
2026-07-10 17:59:59 +08:00

4.3 KiB
Executable File

PlantScience.ai 技术深度分析

如何提高提取准确度

1. 核心技术栈

组件 技术 作用
PDF解析 Grobid 将PDF转为结构化文本
知识提取 GPT-4o-mini NER + 关系提取
文本处理 滑动窗口 (1500 tokens + 200 overlap) 处理长文本
知识存储 Neo4j 知识图谱存储

2. 提高准确度的关键技术

2.1 In-Context Learning (上下文学习)

方法: 在prompt中加入5个专家手工编写的示例
作用: 让LLM理解领域特定的实体类型和关系模式
效果: 提高NER和关系提取的准确性

2.2 多轮审查机制 (Multi-round Scrutiny)

第一轮: 提取所有生物实体
第二轮: 审查问题1 - "当前提取是否覆盖了原文中所有生物实体?"
第三轮: 审查问题2 - "当前提取是否包含了原文中不存在的生物实体?"
第四轮: 提取实体间的关系

2.3 滑动窗口 + 重叠

窗口大小: 1500 tokens
重叠: 200 tokens
作用: 确保跨窗口的实体和关系不被遗漏

2.4 文本预处理

- 标准化编码
- 修正特殊字符
- 过滤换行符
- 全部转为小写

3. 知识图谱构建流程

PDF → Grobid解析 → 文本分块 → GPT-4o-mini提取 → 多轮审查 → 
实体标准化(同义词合并) → 生成描述 → 分类(预定义类别) → Neo4j存储

4. 数据规模

时间 实体数 关系数
2025年6月 120万 400万
2025年9月 180万 -

5. 评估结果

与通用LLM对比 (1770个问题,19个类别):

模型 PlantScience.ai胜率
Gemini Pro 82.3%
Gemini Flash 86.0%
Opus 4.5 87.6%
Haiku-4.5 73.1%
GPT-5 73.5%
GPT-4o-mini 86.0%

6. 关键技术对比

技术 PlantScience.ai Gene Family MAS
PDF解析 Grobid PyMuPDF
LLM提取 GPT-4o-mini (必须) 可选 (本地/远程)
In-Context Learning ✅ 5个示例 ✅ 可配置
多轮审查 ✅ 显式审查问题 ✅ 置信度评分
滑动窗口 ✅ 1500+200 ❌ 整篇处理
补充材料获取 ❌ ✅ v5 Universal
系统发育提取 ❌ ✅ 专有提取器
可追溯性 ✅ DOI链接 ✅ 来源引用

7. PlantScience.ai的优势

  1. 大规模数据: 180万实体,400万关系
  2. 领域覆盖广: 整个植物生物学
  3. 持续学习: 增量更新机制
  4. 人工反馈: 150+科学家参与测试

8. PlantScience.ai的局限

  1. 依赖OpenAI: 必须使用GPT-4o-mini,成本高
  2. 通用性强但深度不足: 无基因家族特定功能
  3. 无补充材料获取: 无法获取PMC补充材料
  4. 无系统发育提取: 无法提取系统发育分组信息

9. 可以借鉴的技术

9.1 In-Context Learning

# 在v5提取器中添加示例
EXAMPLES = [
    {
        "text": "The CYP71 clan contains 43 genes...",
        "entities": ["CYP71", "genes"],
        "groups": {"Group_71": ["CYP71D1", "CYP71D2"]}
    },
    # 更多示例...
]

9.2 多轮审查机制

# 添加审查步骤
def scrutinize_extraction(text, extraction):
    """审查提取结果"""
    questions = [
        "Does the extraction cover all phylogenetic groups?",
        "Does the extraction contain any non-existent genes?",
        "Are all gene IDs in the correct format (e.g., CYP71D1)?"
    ]
    # 使用LLM审查...

9.3 滑动窗口处理

# 添加滑动窗口
def sliding_window_extract(text, window_size=1500, overlap=200):
    """滑动窗口提取"""
    chunks = []
    for i in range(0, len(text), window_size - overlap):
        chunk = text[i:i + window_size]
        chunks.append(chunk)
    # 合并结果...

10. 结论

PlantScience.ai通过以下方式提高准确度:

  1. In-Context Learning: 领域示例引导
  2. 多轮审查: 自我纠错机制
  3. 滑动窗口: 避免长文本遗漏
  4. 大规模验证: 150+专家反馈

Gene Family MAS可以借鉴:

  • 添加In-Context Learning示例
  • 实现多轮审查机制
  • 添加滑动窗口处理长文本
  • 保持v5提取器的补充材料获取优势

Gene Family MAS的差异化优势:

  • 专精基因家族分析
  • v5系统发育提取(独有)
  • 补充材料智能获取(独有)
  • 可选本地LLM(无OpenAI依赖)