Files

253 lines
8.4 KiB
Markdown
Raw Permalink Normal View History

2026-07-10 17:59:59 +08:00
# 提取器功能索引
> 快速查找:不知道用哪个提取器时,按功能检索本文档
---
## 🔍 快速选择指南
| 你的需求 | 推荐提取器 | 位置 |
|---------|-----------|------|
| **对标PC项目,8种实体** | extractor_fusion_complete.py | extractors/current/fusion/ |
| **完整提取(附表+章节)** | extract_v12_final.py | src/rag/extractors/ |
| **附表处理(Excel)** | extract_v10_with_supplementary.py | scripts/extractors/ |
| **GEO数据下载** | geo_extractor.py | src/rag/extractors/ |
| **附表自动下载** | supplementary_downloader.py | src/rag/extractors/ |
| **实体消歧** | entity_disambiguation_system.py | 根目录 |
| **快速测试** | extract_v12_1_fixed.py | src/rag/extractors/ |
---
## 📂 按位置分类
### 1. 当前推荐提取器 (extractors/current/)
#### fusion/ - PC融合版
| 文件名 | 功能 | 特点 |
|--------|------|------|
| **extractor_fusion_complete.py** | **主提取器** | 8种实体,7种关系,PC规则库,推荐用于对标PC |
| extractor_fusion_v1.py | 融合版v1 | 备份版本 |
#### llm/ - LLM提取器
| 文件名 | 功能 | 特点 |
|--------|------|------|
| **llm_extractor_dashscope.py** | LLM实体提取 | 百炼API,dashscope |
| llm_extractor_simple.py | 简单LLM提取 | 基础版 |
| llm_extractor_v2.py | LLM提取v2 | 旧版 |
| llm_relation_extractor.py | LLM关系提取 | 专用关系抽取 |
| universal_extractor_v2.py | 通用提取器v2 | 通用版 |
---
### 2. RAG集成提取器 (src/rag/extractors/)
#### 核心提取器
| 文件名 | 版本 | 功能 | 特点 |
|--------|------|------|------|
| **extract_v12_final.py** | **v12** | **完整提取** | 附表下载+章节识别+实体过滤,推荐 |
| extract_v12_1_fixed.py | v12.1 | 修复版 | 保存章节文本,可用 |
| extract_v12_1_complete.py | v12.1 | 完整版 | 待验证 |
| extract_v12_1_improved.py | v12.1 | 改进版 | 待验证 |
| extract_v12_1_curl.py | v12.1 | curl版 | 工具 |
| extract_v11_final.py | v11 | v11最终 | 旧版 |
#### 附表/数据相关
| 文件名 | 功能 | 特点 |
|--------|------|------|
| **supplementary_downloader.py** | **附表下载器** | Europe PMC自动下载,核心工具 |
| **geo_extractor.py** | **GEO数据提取** | NCBI GEO数据下载 |
| data_availability_extractor.py | 数据可用性提取 | 检测数据可用性声明 |
| multi_db_extractor.py | 多数据库提取 | 支持多数据库查询 |
| unified_data_extractor.py | 统一数据提取 | 整合多数据源 |
#### 章节处理
| 文件名 | 功能 | 特点 |
|--------|------|------|
| section_supplementer.py | 章节补充器 | PyMuPDF章节补充 |
| section_trigger.py | 章节触发器 | 触发章节补充 |
| marker_section_chunker.py | marker章节切分 | marker-pdf章节识别 |
| hybrid_section_chunker.py | 混合章节切分 | 混合策略 |
#### 实体处理
| 文件名 | 功能 | 特点 |
|--------|------|------|
| **gene_entity_filter.py** | **基因实体过滤** | 过滤有效基因实体 |
| **gene_centric_chunker.py** | **gene-centric chunks** | 以基因为中心的文本块 |
| complete_gene_extractor.py | 完整基因提取 | 专用基因提取 |
| universal_gene_family_extractor.py | 通用基因家族提取 | 通用版 |
| smart_gene_family_extractor.py | 智能提取器 | 智能版v1 |
| smart_gene_family_extractor_v2.py | 智能提取器v2 | 智能版v2 |
#### PDF/文档处理
| 文件名 | 功能 | 特点 |
|--------|------|------|
| enhanced_pdf_extractor.py | 增强PDF提取 | 旧版 |
| enhanced_pdf_extractor_v2.py | 增强PDF提取v2 | 旧版 |
| expression_relation_extractor.py | 表达关系提取 | 专用表达关系 |
| compare_extractors.py | 提取器对比 | 工具 |
---
### 3. 脚本提取器 (scripts/extractors/)
#### v10系列(附表支持)
| 文件名 | 功能 | 特点 |
|--------|------|------|
| **extract_v10_with_supplementary.py** | **v10附表增强** | 自动检测附表目录,Excel解析,推荐 |
| extract_v10_final.py | v10最终 | 旧版 |
| extract_v10_final_v2.py | v10最终v2 | 旧版 |
| extract_v10_revised.py | v10修订 | 旧版 |
| extract_v10_integrated.py | v10集成 | 旧版 |
| extract_v10_chromosome_complete.py | v10染色体完整 | 专用染色体 |
#### v7-v9系列
| 文件名 | 功能 | 特点 |
|--------|------|------|
| extract_v9_complete.py | v9完整 | 归档 |
| extract_v8_rag.py | v8 RAG | 归档 |
| extract_v7_complete.py | v7完整 | 归档 |
| extract_v7_final.py | v7最终 | 归档 |
| extract_v7_full_simple.py | v7简单 | 归档 |
| extract_v7_with_supp.py | v7附表 | 归档 |
#### 系统发育专用
| 文件名 | 功能 | 特点 |
|--------|------|------|
| extract_phylogeny_v7_revised.py | v7修订 | 归档 |
| extract_phylogeny_v7_full.py | v7完整 | 归档 |
| extract_phylogeny_v7.py | v7 | 归档 |
| extract_phylogeny_v6_2_universal.py | v6.2通用 | 归档 |
| extract_phylogeny_v6_full.py | v6完整 | 归档 |
| extract_phylogeny_v6.py | v6 | 归档 |
| extract_phylogeny_v5_universal_v3.py | v5.3通用 | 归档 |
---
### 4. 归档提取器 (extractors/archive/)
| 类别 | 文件 | 说明 |
|------|------|------|
| SUC5 | extractor_suc5*.py (6个) | 早期SUC5实验 |
| PC实验 | extractor_pc_*.py (8个) | PC实验版 |
| 旧版 | extractor_complete_v1.py 等 | 旧版提取器 |
---
### 5. 根目录保留
| 文件名 | 功能 | 保留原因 |
|--------|------|----------|
| **extractor_pc_based.py** | PC规则提取器 | 有硬编码路径依赖 |
| **entity_disambiguation_system.py** | 实体消歧系统 | 核心功能 |
| extract_complete_sentence.py | 句子提取 | 工具 |
---
## 🎯 按功能分类
### 实体提取
| 功能 | 推荐文件 | 位置 |
|------|---------|------|
| 8种实体(PC风格) | extractor_fusion_complete.py | extractors/current/fusion/ |
| 基因实体过滤 | gene_entity_filter.py | src/rag/extractors/ |
| LLM实体提取 | llm_extractor_dashscope.py | extractors/current/llm/ |
### 关系抽取
| 功能 | 推荐文件 | 位置 |
|------|---------|------|
| 7种关系(PC风格) | extractor_fusion_complete.py | extractors/current/fusion/ |
| LLM关系提取 | llm_relation_extractor.py | extractors/current/llm/ |
| 表达关系 | expression_relation_extractor.py | src/rag/extractors/ |
### 附表处理
| 功能 | 推荐文件 | 位置 |
|------|---------|------|
| 附表自动下载 | supplementary_downloader.py | src/rag/extractors/ |
| 附表Excel解析 | extract_v10_with_supplementary.py | scripts/extractors/ |
| 完整流程(含附表) | extract_v12_final.py | src/rag/extractors/ |
### 章节处理
| 功能 | 推荐文件 | 位置 |
|------|---------|------|
| 章节识别(marker) | marker_section_chunker.py | src/rag/extractors/ |
| 章节补充 | section_supplementer.py | src/rag/extractors/ |
### 数据下载
| 功能 | 推荐文件 | 位置 |
|------|---------|------|
| GEO数据 | geo_extractor.py | src/rag/extractors/ |
| 附表下载 | supplementary_downloader.py | src/rag/extractors/ |
| 多数据库 | multi_db_extractor.py | src/rag/extractors/ |
### 消歧
| 功能 | 推荐文件 | 位置 |
|------|---------|------|
| 实体消歧 | entity_disambiguation_system.py | 根目录 |
---
## 📊 版本对比
| 版本 | 附表下载 | 附表解析 | 章节识别 | 关系抽取 | 消歧 | 推荐度 |
|------|---------|---------|---------|---------|------|--------|
| **v12** | ✅ | ✅ | ✅ | ⚠️ | ❌ | ⭐⭐⭐⭐ |
| **v10** | ❌ | ✅ | ⚠️ | ✅ | ❌ | ⭐⭐⭐ |
| **fusion** | ❌ | ❌ | ❌ | ✅ | ❌ | ⭐⭐⭐⭐ |
| **PC** | ❌ | ❌ | ❌ | ❌ | ✅ | 参考 |
---
## 🔧 使用示例
### 示例1:完整提取(推荐)
```python
from src.rag.extractors.extract_v12_final import V12FinalExtractor
extractor = V12FinalExtractor()
result = extractor.extract("paper.pdf")
# 包含:章节识别、附表下载、实体提取、关系抽取
```
### 示例2:PC风格提取
```python
from extractors.current.fusion.extractor_fusion_complete import FusionExtractor
extractor = FusionExtractor()
result = extractor.extract(Path("paper.pdf"))
# 包含:8种实体、7种关系、PC规则库
```
### 示例3:附表下载
```python
from src.rag.extractors.supplementary_downloader import SupplementaryDownloader
downloader = SupplementaryDownloader()
paths = downloader.download_supplementary("10.1234/example", "./output/")
```
---
## 📝 更新记录
- 2026-04-12: 创建功能索引
---
*维护者:xialab的幸运星*