literature-explorer

📁 gqy20/cc_plugins 📅 5 days ago
1
总安装量
1
周安装量
#41357
全站排名
安装命令
npx skills add https://github.com/gqy20/cc_plugins --skill literature-explorer

Agent 安装分布

replit 1
opencode 1
claude-code 1

Skill 文档

生命科学文献探索与可视化

任务目标

  • 本 Skill 用于:从 PubMed 和 Europe PMC 数据库搜索生命科学领域的开放获取学术文献,并提取 PDF 下载链接
  • 能力包含:
    • 双数据源支持:
      • PubMed API(默认):适合进化生物学、生态学、遗传学等非临床医学领域
      • Europe PMC API(--use-europepmc):适合临床医学、药学、生物医学等临床领域
    • 高级检索:支持 MeSH 主题词检索、精确短语搜索、上下文感知检索
    • PMC 过滤:确保 100% 可下载(通过 pubmed pmc[sb] 过滤器)
    • 并行多检索:同时执行多个检索式,自动合并去重
    • 智能分类报告:根据全文/摘要可用性自动分组,生成 HTML 可视化报告
  • 适用领域:进化生物学、生态学、遗传学、生物医学、临床医学、药学、生物学、公共卫生等生命科学相关学科
  • 触发条件:用户需要搜索生命科学领域的学术文献,获取 PDF 下载链接,并生成可视化报告时

默认规范

  • 全文链接过滤(重要):默认只返回有全文下载链接的文献,确保所有结果可直接下载
    • 默认行为:自动过滤掉没有 PDF/TGZ 下载链接的文献
    • 包含无全文:如需包含无全文链接的文献,使用 --include-no-fulltext 参数
    • 过滤提示:脚本会显示过滤掉的文献数量,便于了解检索情况
  • MeSH 检索(推荐):优先使用 MeSH(Medical Subject Headings)主题词检索,提升检索精度和全面性
    • MeSH 优势:专业术语标准化、自动扩展同义词、精确匹配医学概念、避免关键词歧义
    • MeSH 语法:"Neoplasms"[MeSH](主题词)、"Neoplasms/drug therapy"[MeSH](副主题词)
    • 查找 MeSH:使用 MeSH Browser(https://www.ncbi.nlm.nih.gov/mesh/)查询标准术语
  • 时间范围(默认10年):默认获取近 10 年内的文献,从当前年份向前推算(如当前年份 2026 年,默认检索范围是 2016-2026 年)
    • 默认行为:所有检索式自动添加 2016:2026[pd] 年份限制(根据当前年份动态计算)
    • 自定义时间范围:如需其他时间范围,用户明确指定后才调整
    • 年份格式:使用 [pd] 字段限定,格式为 起始年:结束年[pd]
  • 检索模式:默认使用较为宽泛的检索模式,多用 OR 连接关键词,获取更广的结果范围;避免过度使用 AND,提高检索覆盖面
  • 文献类型过滤:默认排除会议论文(conference proceedings),专注于期刊论文;使用 NOT conference NOT proceedings 过滤
  • 筛选策略:先宽泛检索获取更多结果,后续在 HTML 报告中使用筛选功能缩小范围
  • PMC 过滤:默认使用 pubmed pmc[sb] 过滤器,确保 100% 可下载
  • 检索数量:单次检索默认返回 100 篇文献,多检索式合并后不超过 300 篇

前置准备

  • 依赖说明:本 Skill 使用以下 Python 包,请使用虚拟环境安装
    # 创建并激活虚拟环境
    python -m venv venv
    source venv/bin/activate  # Linux/macOS
    # 或 venv\Scripts\activate  # Windows
    
    # 安装依赖
    pip install requests>=2.31.0
    
  • 输出说明:
    • links.json:包含文献信息和 PDF 链接的 JSON 文件
    • pdf_links.txt:纯文本格式的 PDF 下载链接列表
    • literature_report.html:美化的 HTML 报告,展示文献列表和链接
  • 可选配置:

操作步骤

  • 标准流程:

    1. 理解需求并整理关键词

      • 分析用户的输入(可能是中文、英文或混合)
      • 将中文关键词翻译为规范的英文检索词(PubMed 标准术语)
      • 识别关键概念:疾病名称、药物、治疗方式、生物标志物、技术方法等
      • 扩展相关词汇:同义词、缩写、变体、专业术语
      • MeSH 术语查询:使用 MeSH Browser(https://www.ncbi.nlm.nih.gov/mesh/)获取标准主题词,参见默认规范中的 MeSH 检索说明
    2. 构建多组检索式

      • 重要:构建检索式时必须遵循默认规范
        • 时间范围:默认获取近 10 年内的文献(当前年份 – 10 至当前年份)
        • 动态计算:使用 datetime.now().year 获取系统时间,自动计算年份范围
        • 示例:如当前 2026 年,默认年份限制为 2016:2026[pd]
        • 默认行为:所有检索式必须添加近10年的年份限制,除非用户明确要求其他时间范围
        • 优先使用 MeSH 术语,提升检索精度(参见 MeSH 检索说明)
        • 使用 OR 连接关键词,获取更广的结果(后续可在 HTML 报告中筛选)
        • 默认排除会议论文,使用 NOT conference NOT proceedings 专注于期刊论文
        • 避免过度使用 AND,提高检索覆盖面
      • 基于整理的关键词,构建 2-4 组不同的检索式
      • 检索式 A(默认宽泛检索 – 推荐 MeSH 模式):使用 MeSH 术语 + PMC 过滤 + 排除会议 + 近 10 å¹´
        • 示例(当前年份 2026):"Neoplasms/drug therapy"[MeSH] AND pubmed pmc[sb] NOT conference NOT proceedings 2016:2026[pd]
        • 检索内容:所有癌症药物治疗的期刊论文(MeSH 自动扩展同义词)
      • 检索式 B(多概念宽泛检索):使用 OR 连接多个 MeSH 术语 + PMC 过滤 + 排除会议 + 近 10 å¹´
        • 示例:("Neoplasms"[MeSH] OR "Diabetes Mellitus"[MeSH]) AND pubmed pmc[sb] NOT conference NOT proceedings 2016:2026[pd]
        • 检索内容:癌症或糖尿病相关文献
      • 检索式 C(普通关键词宽泛检索):使用 OR 连接普通关键词 + PMC 过滤 + 排除会议 + 近 10 å¹´
        • 示例:("cancer OR tumor OR neoplasm") AND pubmed pmc[sb] NOT conference NOT proceedings 2016:2026[pd]
        • 检索内容:使用同义词检索,但不如 MeSH 精确
      • 检索式 D(可选精确检索):仅在用户明确要求精确检索时使用 AND 连接(如 title: 字段限定)
        • 示例:title:"specific term" AND pubmed pmc[sb] 2016:2026[pd]
      • 检索式 E(可选排除检索):排除无关文献 + PMC 过滤 + 排除会议 + 近 10 年(仅在用户需要排除某些类型时使用)
        • 示例:("topic1"[MeSH] OR "topic2"[MeSH]) AND pubmed pmc[sb] NOT conference NOT proceedings NOT review 2016:2026[pd]
    3. 获取 PDF 链接

      • 使用 get_pdf_links.py 搜索文献并获取 PDF 下载链接
      • 重要:执行搜索前确认检索式已包含:
        • 近 10 年的年份限制
        • NOT conference NOT proceedings 排除会议论文
        • PMC 过滤器 pubmed pmc[sb]
      • 单次检索模式:
        python scripts/get_pdf_links.py --search "(cancer OR tumor) AND pubmed pmc[sb] NOT conference NOT proceedings 2016:2026[pd]" --limit 100 --output links.json
        
      • 并行多检索模式:
        python scripts/get_pdf_links.py --search-multi "(cancer OR tumor) AND pubmed pmc[sb] NOT conference NOT proceedings 2016:2026[pd]";"(Alzheimer OR dementia) AND pubmed pmc[sb] NOT conference NOT proceedings 2016:2026[pd]" --limit 50 --max-workers 3 --output links.json
        
      • 输出结果:links.json 包含文献信息和 PDF 链接
    4. 提取 PDF 下载链接

      • 使用 extract_pdf_links.py 提取 PDF 下载链接
      python scripts/extract_pdf_links.py --json links.json --output pdf_links.txt
      

      输出:pdf_links.txt 包含所有可用的 HTTP 下载链接,用户可以自行选择下载方式(如 wget、IDM 等)

    5. 生成美化的 HTML 报告

      • 使用 generate_html_report.py 脚本直接从 links.json 生成 HTML 报告
      • 脚本会自动:
        • 获取当前年份(动态获取,无需手动指定)
        • 根据全文和摘要可用性对文献进行四级分类和排序
        • 生成包含分组展示、统计信息、响应式设计的完整 HTML 页面
      • 执行命令:
        python scripts/generate_html_report.py --json links.json --output literature_report.html
        
      • 报告包含:文献标题、作者、发表信息、摘要、PDF 下载链接
      • 排序规则:优先展示有全文和摘要的文献,将无全文/无摘要的文献放在最下面
        • 第一优先级:有全文 + 有摘要(高亮展示,绿色边框)
        • 第二优先级:有全文 + 无摘要(正常展示,蓝色边框)
        • 第三优先级:无全文 + 有摘要(次要展示,浅色样式)
        • 第四优先级:无全文 + 无摘要(置底,灰色显示)
      • 报告样式:卡片式布局、响应式设计、分组标题显示各优先级文献数量
      • 智能体使用场景:当需要自定义 HTML 样式或添加额外功能时,智能体可以基于模板生成定制化 HTML
    6. 验证结果

      • 检查生成的 HTML 报告是否正确展示文献信息
      • 确认 PDF 链接是否有效
      • 查看链接提取统计和成功率
      • 验证年份显示是否为当前年份(动态获取)
  • 可选分支:

    • 当用户明确要求其他时间范围:按用户指定的时间范围检索,否则默认使用近10å¹´
    • 当用户需要更精确的检索:使用字段限定(如 title:、author:)缩小范围
    • 当用户需要排除某些类型:使用 NOT 操作符排除无关文献
    • 当检索结果过多:进一步增加年份限制或添加更多关键词限定
    • 当 API 请求受限:配置 NCBI API 邮箱和密钥
    • 当需要快速浏览文献列表:生成 HTML 报告并使用搜索/筛选功能

资源索引

  • 必要脚本:
    • scripts/get_pdf_links.py(用途:搜索文献并获取 PDF 链接;参数:–search/–search-multi/–limit/–max-workers/–output)
    • scripts/extract_pdf_links.py(用途:从 JSON/CSV/标识符提取 PDF 下载链接;参数:–json/–identifiers/–csv/–column/–output)
    • scripts/generate_html_report.py(用途:从 JSON 生成美化的 HTML 报告;参数:–json/–output/–theme;功能:自动获取当前年份、智能分类排序、响应式设计、多主题支持)
  • HTML 模板资产:
    • assets/html-templates/modern.css(用途:现代主题样式,蓝绿色系,适合在线浏览)
    • assets/html-templates/academic.css(用途:学术主题样式,黑白配色,适合打印)
    • assets/html-templates/dark.css(用途:深色主题样式,护眼配色,适合夜间阅读)
  • 领域参考:见 references/literature-usage.md(何时读取:需要了解高级检索语法、完整参数说明、PMC 过滤技巧、MeSH 检索指南时)
  • 输出资产:links.json(文献元数据)、pdf_links.txt(下载链接)、literature_report.html(美化的 HTML 报告)

注意事项

  • 虚拟环境使用:强烈建议使用 Python 虚拟环境安装依赖,避免权限冲突和系统包污染
  • 适用领域:本 Skill 专门用于生命科学领域(生物医学、临床医学、药学、生物学、公共卫生等)的文献搜索
  • 数据源说明:PubMed 和 Europe PMC 主要收录生物医学和生命科学领域的文献,不适用于物理、数学、计算机等其他学科
  • PMC 过滤的重要性:默认使用 pubmed pmc[sb] 过滤器可确保 100% 可下载
  • 文献类型过滤的重要性:默认使用 NOT conference NOT proceedings 过滤会议论文,专注于期刊论文;如需检索会议论文,可移除此过滤
  • 时间范围默认规范(10年):默认获取近 10 年内的文献(当前年份 – 10 至当前年份)
    • 示例:当前 2026 å¹´ → 默认范围 2016-2026 å¹´
    • 年份格式:必须添加 2016:2026[pd] 格式的年份限制
    • 例外情况:仅在用户明确要求其他时间范围时才调整默认值
  • 检索模式默认规范:默认使用较为宽泛的检索模式,多用 OR 连接关键词,获取更广的结果范围;后续可在 HTML 报告中使用筛选功能缩小范围;仅在用户需要精确检索时才使用 AND 连接或添加字段限定
  • 分步骤执行:获取链接和下载是两个独立的步骤,可以先获取链接并审查结果,再决定是否下载
  • API 速率限制:未配置 API 密钥时,NCBI 每秒最多 3 个请求;配置后可提升至 10 个请求
  • HTML 报告设计:报告应美观、易用、功能完善,支持搜索和筛选,提升用户体验
  • 链接有效性:部分文献可能因权限或访问限制导致 PDF 链接失效,建议优先使用 PMC 过滤器
  • MeSH 检索:参见默认规范中的 MeSH 检索说明和 references/literature-usage.md 中的详细指南

使用示例

示例 1:搜索文献并获取链接(默认模式)

  • 功能说明:使用默认规范(默认10å¹´ + OR 宽泛检索 + PMC 过滤 + 排除会议)搜索文献并获取 PDF 下载链接
  • 执行方式:脚本执行
  • 关键参数:--search "检索关键词"(使用 OR 连接,排除会议,默认添加近10年时间限制)、--limit 100(默认数量)、--output links.json(输出文件)
  • 示例代码(当前年份 2026,默认10年范围 2016-2026):
    python scripts/get_pdf_links.py --search "(machine learning OR deep learning) AND pubmed pmc[sb] NOT conference NOT proceedings 2016:2026[pd]" --limit 100 --output links.json
    
    输出:links.json 包含 100 篇近10年(2016-2026)内有全文下载链接的期刊论文(已排除会议论文和无全文文献)

示例 2:并行搜索多组关键词(默认模式)

  • 功能说明:同时执行多个检索式(均使用 OR 连接,排除会议,包含默认10年时间限制),自动合并结果并获取链接
  • 执行方式:脚本执行
  • 关键参数:--search-multi(多个检索式,分号;分隔,均包含近10年限制)、--limit 50(每个检索的数量)、--max-workers 3(检索并发数)、--output links.json(输出文件)
  • 示例代码(当前年份 2026,默认10年范围 2016-2026):
    python scripts/get_pdf_links.py --search-multi "(cancer OR tumor) AND pubmed pmc[sb] NOT conference NOT proceedings 2016:2026[pd]";"(Alzheimer OR dementia) AND pubmed pmc[sb] NOT conference NOT proceedings 2016:2026[pd]";"(diabetes OR hyperglycemia) AND pubmed pmc[sb] NOT conference NOT proceedings 2016:2026[pd]" --limit 50 --max-workers 3 --output links.json
    
    输出:links.json 包含合并并去重后近10年内有全文下载链接的期刊论文(已排除会议论文和无全文文献)

示例 3:提取 PDF 下载链接

  • 功能说明:从 JSON 文件提取 PDF 下载链接,输出为文本文件
  • 执行方式:脚本执行
  • 关键参数:--json links.json(JSON 文件)、--output pdf_links.txt(输出文件)
  • 示例代码:
    python scripts/extract_pdf_links.py --json links.json --output pdf_links.txt
    
    输出:pdf_links.txt 包含所有可用的 HTTP 下载链接

示例 4:生成美化的 HTML 报告(推荐方式)

  • 功能说明:使用脚本直接从 JSON 文件生成美化的 HTML 报告,支持自动分类、智能排序、响应式设计、多主题选择
  • 执行方式:脚本执行(推荐)或智能体生成(定制化需求)
  • AI 标题生成规范:
    • 推荐方式:AI 应根据用户的中文输入生成规范的研究主题标题,使用 --title 参数指定
    • 标题格式:研究主题 + 文献检索报告 或直接使用 研究主题 + 相关文献
    • 示例标题:
      • "杂交物种形成文献检索报告"
      • "分子进化与群体遗传学相关文献"
      • "基因编辑技术在作物育种中的应用研究"
    • 英文术语映射(AI 自动处理):
      • Hybridization → 杂交
      • Speciation → 物种形成
      • Evolution, Molecular → 分子进化
      • Genetics, Population → 群体遗传学
  • 脚本执行:
    # 默认主题:modern(2025 Earth Organic 设计,蓝绿色系,适合在线浏览)
    python scripts/generate_html_report.py --json links.json --output literature_report.html --theme modern
    
    # AI 生成中文标题(推荐)
    python scripts/generate_html_report.py --json links.json --output literature_report.html --title "杂交物种形成文献检索报告"
    
    # 学术主题:academic(黑白配色,适合打印)
    python scripts/generate_html_report.py --json links.json --output literature_report.html --theme academic
    
    # 深色主题:dark(护眼配色,适合夜间阅读)
    python scripts/generate_html_report.py --json links.json --output literature_report.html --theme dark
    
  • 关键参数:
    • --json links.json:输入的文献 JSON 文件(必需)
    • --output literature_report.html:输出的 HTML 文件(默认:literature_report.html)
    • --theme modern/academic/dark:配色主题(默认:modern)
    • --title "中文标题":AI 生成的中文研究主题标题(强烈推荐)
  • 功能特性:
    • 2025 Earth Organic 设计:
      • Sage Green(#8A9A5B)+ Tech Blue(#4158D0)配色方案
      • Glassmorphism 玻璃态效果(backdrop-filter blur)
      • 4 栏网格布局,2rem 间距优化
      • 平滑悬停动画(cubic-bezier 缓动)
    • 智能分类:根据全文和摘要可用性自动分组(4 个优先级)
    • 卡片式布局:每篇文献展示完整信息(标题、作者、期刊、年份、摘要、PDF 链接)
    • 视觉区分:不同优先级使用不同卡片样式(高亮绿色/正常蓝色/浅色橙色/灰色)
    • 统计信息:显示总文献数和各组文献数量
    • 响应式设计:支持移动端(1 栏)、平板(2 栏)、桌面(4 栏)
    • 多主题支持:3 种配色方案(modern/academic/dark)
  • 输出:literature_report.html 可直接在浏览器中打开
  • 智能体使用场景:当需要自定义 HTML 样式或添加额外功能(如搜索、筛选)时

示例 5:检索自定义主题的文献

  • 功能说明:检索任意生命科学主题的文献
  • 执行方式:脚本执行
  • 关键参数:--search "检索式"(根据主题调整)、--limit(数量)、--output(输出文件)
  • 示例代码(当前年份 2026):
    # 使用 MeSH 术语检索基因编辑相关文献
    python scripts/get_pdf_links.py --search "\"Gene Editing\"[MeSH] AND pubmed pmc[sb] NOT conference NOT proceedings 2016:2026[pd]" --limit 100 --output links.json
    
    输出:links.json 包含基因编辑相关期刊论文

示例 6:从标识符直接提取链接

  • 功能说明:直接使用 PMCID/PMID/DOI 标识符获取下载链接
  • 执行方式:脚本执行
  • 关键参数:--identifiers(标识符列表,逗号分隔)、--output pdf_links.txt(输出文件)
  • 示例代码:
    python scripts/extract_pdf_links.py --identifiers "PMC5764346,38238491,10.1186/s13059-020-02147-0" --output pdf_links.txt
    
    输出:pdf_links.txt 包含所有可用的 HTTP 下载链接

示例 7:自定义时间范围检索(非默认场景)

  • 功能说明:当用户明确要求其他时间范围时,使用指定的年份限制而非默认的近10å¹´
  • 执行方式:脚本执行
  • 关键参数:--search(包含自定义年份限制的检索式)、--limit(数量)、--output(输出文件)
  • 示例代码(用户要求近5年而非默认10年,当前年份 2026):
    python scripts/get_pdf_links.py --search "(machine learning OR AI) AND pubmed pmc[sb] 2021:2026[pd]" --limit 100 --output links.json
    
  • 注意:
    • 默认规范:除非用户明确要求,否则始终使用近10年作为默认时间范围
    • 此示例为非默认场景,仅在用户明确指定其他时间范围时使用

示例 8:使用 MeSH 术语检索(推荐模式)

  • 功能说明:使用 MeSH(Medical Subject Headings)主题词检索,提升检索精度和全面性
  • 执行方式:脚本执行
  • 关键参数:--search "MeSH 术语"(使用 [MeSH] 字段)、--limit 100、--output links.json
  • 优势对比:
    • MeSH 检索:"Neoplasms/drug therapy"[MeSH] 自动扩展为所有癌症药物治疗相关文献,包含同义词、下位词
    • 普通关键词:("cancer OR tumor" AND treatment) 只检索包含特定关键词的文献,可能遗漏相关文献
  • 示例代码(当前年份 2026):
    # 检索癌症药物治疗相关文献(MeSH 自动扩展)
    python scripts/get_pdf_links.py --search "\"Neoplasms/drug therapy\"[MeSH] AND pubmed pmc[sb] NOT conference NOT proceedings 2016:2026[pd]" --limit 100 --output links.json
    
    输出:links.json 包含所有癌症药物治疗的期刊论文(MeSH 自动扩展,覆盖全面)
  • 查找 MeSH 术语:使用 MeSH Browser(https://www.ncbi.nlm.nih.gov/mesh/)查询标准术语和副主题词

示例 9:并行搜索多个 MeSH 术语(推荐模式)

  • 功能说明:同时检索多个 MeSH 主题词,获取更全面的文献覆盖
  • 执行方式:脚本执行
  • 关键参数:--search-multi(多个 MeSH 检索式)、--limit 50(每个检索的数量)、--max-workers 3(并发数)
  • 示例代码(当前年份 2026):
    # 同时检索癌症、糖尿病、阿尔茨海默病的药物治疗文献
    python scripts/get_pdf_links.py --search-multi "\"Neoplasms/drug therapy\"[MeSH] AND pubmed pmc[sb] NOT conference NOT proceedings 2016:2026[pd]";\"Diabetes Mellitus/drug therapy\"[MeSH] AND pubmed pmc[sb] NOT conference NOT proceedings 2016:2026[pd]";\"Alzheimer Disease/drug therapy\"[MeSH] AND pubmed pmc[sb] NOT conference NOT proceedings 2016:2026[pd]" --limit 50 --max-workers 3 --output links.json
    
    输出:links.json 包含三种疾病的药物治疗期刊论文(MeSH 精确检索,自动合并去重)

示例 10:检索会议论文(非默认场景)

  • 功能说明:当用户需要检索会议论文时,移除 NOT conference NOT proceedings 过滤
  • 执行方式:脚本执行
  • 关键参数:--search(不包含会议排除的检索式)、--limit(数量)、--output(输出文件)
  • 示例代码(当前年份 2026):
    python scripts/get_pdf_links.py --search "(machine learning OR AI) AND pubmed pmc[sb] 2016:2026[pd]" --limit 100 --output links.json
    
  • 注意:仅在用户明确需要会议论文时才移除此过滤,默认模式会排除会议论文

高级功能

文献智能分组和排序

根据全文和摘要的可用性自动分组排序,优先展示最有价值的文献:

  • 高优先级组(有全文 + 有摘要):彩色边框,置顶展示
  • 中优先级组(有全文 + 无摘要):正常样式,紧随其后
  • 低优先级组(无全文 + 有摘要):浅色样式,次要位置
  • 最低优先级组(无全文 + 无摘要):灰色样式,置于页面底部

详细主题说明:参见「示例 4:生成美化的 HTML 报告」,包含 3 种配色方案(modern/academic/dark)的完整介绍。

批量处理标识符

支持从 CSV 文件批量提取下载链接:

python scripts/extract_pdf_links.py --csv identifiers.csv --column pmcid --output pdf_links.txt

包含没有全文链接的文献(非默认场景)

  • 功能说明:当用户需要包含没有全文下载链接的文献时,使用 --include-no-fulltext 参数
  • 执行方式:脚本执行
  • 关键参数:--include-no-fulltext(包含无全文文献)、--search 或 --search-multi(检索式)
  • 示例代码:
    # 单次检索,包含无全文文献
    python scripts/get_pdf_links.py --search "(machine learning OR deep learning) AND pubmed pmc[sb] NOT conference NOT proceedings 2016:2026[pd]" --limit 100 --include-no-fulltext --output all_links.json
    
    # 多检索,包含无全文文献
    python scripts/get_pdf_links.py --search-multi "(cancer OR tumor) AND pubmed pmc[sb] NOT conference NOT proceedings 2016:2026[pd]";"(Alzheimer OR dementia) AND pubmed pmc[sb] NOT conference NOT proceedings 2016:2026[pd]" --limit 50 --max-workers 3 --include-no-fulltext --output all_links.json
    
    输出:all_links.json 包含所有检索到的文献(包括没有全文链接的)

检索结果排序

根据影响因子、引用次数、发表日期等维度对文献排序(需要在 HTML 报告中实现)

检索策略最佳实践(基于实际测试)

术语歧义问题

问题说明:许多生物学术语在非生物医学领域中存在歧义,导致检索结果包含无关文献。

术语 生物学含义 歧义(非生物学) 影响
speciation 物种形成 化学形态(chemical speciation) 混入化学/材料文献
hybridization 杂交/杂交物种形成 细胞杂交、分子杂交 混入癌症/细胞生物学文献
evolution 进化 演变、算法进化 混入计算机科学文献

推荐检索策略

策略 1:精确短语搜索(推荐用于核心概念)

使用双引号进行精确短语搜索,避免术语歧义:

# 杂交物种形成(最精确)
python scripts/get_pdf_links.py --search '"hybrid speciation"' --limit 100 --output links.json

# 测试结果相关性:100%
# 示例文献:
# - "Hybrid fertility and the rarity of homoploid hybrid speciation"
# - "Reticulate and Hybrid Speciation is Promoted by Environmental Instability"

策略 2:上下文感知搜索(推荐用于宽泛主题)

结合多个相关术语构建上下文,提高检索精度:

# 物种形成 + 进化语境
python scripts/get_pdf_links.py --search 'speciation AND (evolution OR "gene flow" OR introgression)' --limit 100 --output links.json

# 测试结果相关性:70-80%
# 示例文献:
# - "The latitudinal speciation gradient in freshwater fishes"
# - "Shared and Unique Patterns of Genomic Differentiation and Introgression Between Japanese Stickleback Species"

策略 3:字段限定搜索(推荐用于精确检索)

限定检索字段,缩小检索范围:

# 标题字段限定(更精确)
python scripts/get_pdf_links.py --search 'speciation[Title] AND (evolution[Title] OR genetic[Title])' --limit 100 --output links.json

# MeSH 字段限定(生物医学领域)
python scripts/get_pdf_links.py --search '"Evolution, Molecular"[MeSH] AND pubmed pmc[sb]' --limit 100 --output links.json

策略 4:排除式检索(推荐用于过滤无关文献)

使用 NOT 操作符排除非生物学领域的文献:

# 排除化学/材料科学
python scripts/get_pdf_links.py --search 'speciation NOT (chemistry OR material OR "chemical speciation")' --limit 100 --output links.json

# 排除临床/细胞生物学(保留进化生物学)
python scripts/get_pdf_links.py --search 'hybridization NOT (cell OR "in vitro" OR cancer)' --limit 100 --output links.json

不同领域的 API 选择建议

领域 推荐数据源 原因
进化生物学 PubMed(默认) Europe PMC 偏向临床医学,”hybridization” 返回细胞杂交而非物种杂交
生态学 PubMed(默认) 更广泛的生物学覆盖,不限于生物医学
临床医学 Europe PMC(--use-europepmc) 更精准的临床医学文献
药学 Europe PMC(--use-europepmc) 专注于药物开发和临床试验
# 进化生物学 - 使用 PubMed(默认)
python scripts/get_pdf_links.py --search '"hybrid speciation"' --limit 100 --output links.json

# 临床医学 - 使用 Europe PMC
python scripts/get_pdf_links.py --search 'cancer immunotherapy' --use-europepmc --limit 100 --output links.json

测试验证数据

以下检索策略已通过实际测试验证:

检索式 相关性 有全文占比 备注
"hybrid speciation" 100% 56.7% (17/30) 推荐用于杂交物种形成
speciation AND (evolution OR introgression) 70-80% 40% (12/30) 推荐用于宽泛主题
speciation[Title] 25% 33% (10/30) 不推荐(术语歧义严重)

构建检索式的决策树

是否检索核心概念(如"杂交物种形成")?
├─ 是 → 使用精确短语搜索:"hybrid speciation"
└─ 否 → 是否检索宽泛主题?
    ├─ 是 → 使用上下文感知:speciation AND (evolution OR introgression)
    └─ 否 → 是否需要极高精度?
        ├─ 是 → 使用字段限定:term[Title] OR term[MeSH]
        └─ 否 → 使用排除式:term NOT (unrelated_terms)