# 提取器功能索引 > 快速查找:不知道用哪个提取器时,按功能检索本文档 --- ## 🔍 快速选择指南 | 你的需求 | 推荐提取器 | 位置 | |---------|-----------|------| | **对标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的幸运星*