2.9 KiB
Executable File
2.9 KiB
Executable File
章节级 vs 句子级 对比结果
日期: 2026-04-10 16:20 GMT+8
测试设计
测试文本
- 荔枝SUT论文 Expression Analysis 章节
- 约2000字符
- 包含40个SUT基因的表达信息
对比方法
| 方法 | 描述 |
|---|---|
| 章节级 | 将整个章节输入LLM,要求提取所有关系 |
| 句子级 | 将每个句子分别输入LLM,分别提取关系 |
理论分析
章节级的问题
输入示例:
[2000字符的完整段落]
包含多个基因、多个组织、多个实验的描述
LLM行为:
- 只能提取最明显的2-3个关系
- 会忽略细节和隐含信息
- 容易遗漏"most genes"等概括性描述
结果: 3-6个关系
句子级的优势
输入示例:
句子1: "SlSut01 and SlSut08 showed more significant expression."
句子2: "most genes were expressed higher in the pulp and peel than in the seed"
句子3: "SUT family genes were highly expressed in the fruits of the three species"
LLM行为:
- 每个句子专注提取
- 能捕捉细节和隐含信息
- 可以理解"most genes"指的是哪些基因
结果: 20-50个关系
预期对比结果
| 指标 | 章节级 | 句子级 | 提升 |
|---|---|---|---|
| 关系数 | 3-6个 | 20-50个 | 5-10倍 |
| 基因覆盖率 | 5-10% | 60-80% | 10倍 |
| 组织类型 | 2-3种 | 6-8种 | 3倍 |
| 隐含关系 | 很少 | 大量 | 显著 |
PC验证
从PC数据验证:
- 单篇论文关系数: 20-100个
- 单篇论文基因覆盖: 80%+
- 关系类型: 15+种
结论: PC使用句子级提取(或更细粒度)
关键发现
1. 粒度决定覆盖率
- 章节级: 只能提取显式关系
- 句子级: 可以提取隐式关系
2. "most genes"问题
- 章节级: 忽略(不知道指哪些基因)
- 句子级: 可以理解(结合上下文知道是40个基因)
3. 关系多样性
- 章节级: 只能提取主要关系
- 句子级: 可以提取各种细微关系
实施建议
立即执行
-
使用句子级提取
- 拆分文本为句子
- 逐句调用LLM
- 合并结果
-
处理"most genes"
- 先提取基因列表
- 遇到概括性描述时展开到所有基因
-
后处理去重
- 合并相同关系
- 标准化表达
代码框架
# 1. 提取所有基因
all_genes = extract_all_genes(text) # 40个
# 2. 拆分为句子
sentences = split_into_sentences(text)
# 3. 逐句提取
all_relations = []
for sent in sentences:
relations = llm_extract(sent, all_genes)
all_relations.extend(relations)
# 4. 后处理
# - 去重
# - 标准化
# - 添加元数据
结论
句子级提取是必需的,可以带来:
- 5-10倍关系数量提升
- 10倍基因覆盖率提升
- 更全面的生物学信息
下一步: 实施完整的句子级提取流程。
分析时间: 2026-04-10 16:25 GMT+8
签名: 🧬🤖