一个基于 LLM 的学术论文批量智能分析工具,自动从 PDF 论文中提取结构化信息,生成"论文身份卡",并提供多场景权重自适应评分系统,帮助研究者快速掌握领域研究热点、按需求筛选精读文献。
| 能力 | 说明 |
|---|---|
| 📄 自动提取 | 从PDF中自动提取论文元数据、5维评分 |
| 🎯 场景化推荐 | 按应用导向/理论突破/教学应用等场景推荐论文 |
| 📊 多维评分 | 学术严谨度、创新程度、实用价值、影响范围、可读性 |
| 🔄 权重自适应 | 同一论文在不同场景下的评分动态调整 |
| 📈 关联分析 | 发现论文间的相似性和聚类关系(后续功能) |
| 🎨 可视化 | 生成排序表、对比表、分析报告(后续功能) |
- 备考复试:快速了解目标专业的研究热点和核心议题
- 文献综述:批量处理大量论文,提取关键信息建立文献库
- 研究选题:发现领域趋势,识别研究空白
- 日常阅读:建立个人论文知识库,高效管理文献
- 场景化筛选:根据不同需求(应用导向/理论研究/教学应用)快速定位合适论文
| 模块 | 状态 | 说明 |
|---|---|---|
| P0 基础提取 | ✅ 完成 | LLM智能分析 + 5维评分 + 结构化输出 |
| P1.1 权重自适应 | ✅ 完成 | 3个场景(应用导向型/理论突破型/综合均衡型)权重评分 |
| P1.2 数据清洁 | ✅ 完成 | 编号优化、字段结构调整、领域标签重设 |
| P2 关联分析 | ⏳ 进行中 | 论文聚类、相似度计算、话题标注、纵向对比 |
| P3 可视化 | ⏳ 待启动 | 静态报告 / 交互式Web应用 |
MyPaperAutoSummarize/
├── 📜 Core Scripts
│ ├── auto_runner.py # P0 主处理脚本
│ ├── scenario_rescoring.py # P1.1 权重重算脚本
│ ├── prompt_paper_extraction.md # LLM Prompt 模板
│ ├── theme_buckets.md # 主题桶配置
│ └── scenario_weights.json # P1.1 权重场景配置
│
├── 📁 Input
│ └── 00_inbox_pdfs/ # PDF输入目录
│ ├── 教育数智化与智能治理/
│ └── ... (其他主题文件夹)
│
├── 📁 Output
│ ├── 01_extracted_json/ # JSON 论文身份卡
│ │ └── 教育数智化与智能治理/
│ │ └── 01_论文.json
│ │
│ └── 02_summary_csv/ # CSV 汇总表
│ ├── _all_papers.csv # P0+P1.2:更新编号、表头、字段结构
│ ├── 教育数智化与智能治理.csv # 分主题表(同上更新)
│ ├── _all_papers_多场景对比表.csv # P1.1:对比表(3个场景)
│ ├── scenario_rankings/ # P1.1:排序表
│ │ ├── 排序表_应用导向型.csv # 应用导向排序
│ │ ├── 排序表_理论突破型.csv # 理论突破排序
│ │ └── 排序表_综合均衡型.csv # 综合均衡排序
│ ├── _similarity_matrix.csv # P2:论文相似度矩阵(待生成)
│ ├── _clustering_results.csv # P2:聚类结果(待生成)
│ └── analysis_charts/ # P2/P3:分析图表(待生成)
│
├── 📋 Documentation
│ ├── README.md # 项目概览(本文件)
│ ├── scenario_rescoring.py工作原理详细指南.md
│ └── Feedback and suggestions/
│ └── EXECUTION_PLAN.md # 下一步执行计划(P1.2+)
│
└── 📚 Auxiliary
├── error_log.txt # 错误日志
└── ... (其他配置文件)
# 安装依赖
pip install openai pymupdf
# 设置 API Key(以 DeepSeek 为例)
# Windows CMD
set DEEPSEEK_API_KEY=your_api_key_here
# Windows PowerShell
$env:DEEPSEEK_API_KEY="your_api_key_here"
# Linux / macOS
export DEEPSEEK_API_KEY="your_api_key_here"编辑 theme_buckets.md,定义你的研究主题分类:
## 你的主题1
- 次级标签A
- 次级标签B
## 你的主题2
- 次级标签C
- 次级标签Dpython auto_runner.py============================================================
📚 论文身份卡自动提取工具 v2.0
============================================================
📁 检查配置文件...
✅ Prompt模板: prompt_paper_extraction.md
✅ 主题桶配置: theme_buckets.md
✅ PDF目录: 00_inbox_pdfs
📂 同步文件夹结构...
从主题桶配置中解析到 10 个主题
✅ 新建: 教育政策与行政执行
⏩ 已存在: 9 个文件夹(跳过)
同步完成
🔑 测试API连接...
✅ API连接成功
📊 扫描PDF文件...
┌──────┬──────────────────────────────────┬────────┬────────┬────────┐
│ 序号 │ 文件夹名称 │ PDF总数│ 已处理 │ 待处理 │
├──────┼──────────────────────────────────┼────────┼────────┼────────┤
│ [1] │ 教育数智化与智能治理 │ 40 │ 30 │ 10 │
│ [2] │ 教育治理与治理体系现代化 │ 25 │ 0 │ 25 │
├──────┼──────────────────────────────────┼────────┼────────┼────────┤
│ 合计 │ │ 65 │ 30 │ 35 │
└──────┴──────────────────────────────────┴────────┴────────┴────────┘
请选择操作模式:
[A] 全部执行 - 处理所有待处理的PDF(跳过已处理)
[R] 全部重跑 - 重新处理所有PDF(覆盖已有结果)
[S] 选择执行 - 选择特定文件夹处理
[Q] 退出
{
"title": "区块链赋能区域教育治理:逻辑、框架与路径",
"authors": "郑旭东, 狄璇, 岳婷燕",
"year": 2022,
"venue": "现代远程教育研究",
"doi": "10.3969/j.issn.1009-5195.2022.01.004",
"keywords": ["区域教育治理", "教育数据治理", "区块链技术"],
"domain_tags": ["教育数智化与智能治理", "区块链", "教育治理体系"],
"paper_type": "理论研究",
"problem": "区域教育治理存在理念缺失、结构失衡等问题",
"research_object": "区域(省域)教育治理体系",
"methodology": "文献分析、逻辑推演与框架构建",
"conclusion": "区块链技术可通过四层框架实现数据驱动的教育善治",
"contribution": "构建了数据源层-平台层-组织层-场景层的四层实践框架",
"abstract": "区域教育治理现代化是国家教育现代化的重要组成部分...",
"source_folder": "教育数智化与智能治理"
}| 字段 | 说明 |
|---|---|
| 标题 | 论文标题 |
| 作者 | 前三位作者(逗号分隔) |
| 年份 | 发表年份 |
| 期刊 | 发表刊物 |
| DOI | 数字对象标识符 |
| 关键词 | 作者标注的关键词 |
| 领域标签 | 主题桶 + 次级标签 |
| 论文类型 | 综述/实证研究/理论研究/案例研究/政策分析/方法研究 |
| 研究问题 | 论文要解决的核心问题 |
| 研究对象 | 研究的对象是谁/什么 |
| 研究方法 | 采用的研究方法 |
| 核心结论 | 主要发现(1-2句话) |
| 主要贡献 | 创新点(1句话) |
| 来源文件夹 | PDF所在的主题文件夹 |
建议使用数字前缀命名,确保处理顺序与CSV行顺序一致:
01_区块链赋能教育治理_郑旭东.pdf
02_人工智能赋能教育评价_王某某.pdf
03_大数据驱动教育决策_李某某.pdf
...
09_智慧教育平台建设_张某某.pdf
10_教育数字化转型_陈某某.pdf
⚠️ 注意:使用两位数字前缀(01, 02, ..., 09, 10),避免排序问题
编辑 auto_runner.py 中的配置区域:
# DeepSeek(默认)
API_KEY = os.environ.get("DEEPSEEK_API_KEY", "")
BASE_URL = "https://api.deepseek.com"
MODEL_NAME = "deepseek-chat"
# OpenAI
# API_KEY = os.environ.get("OPENAI_API_KEY", "")
# BASE_URL = "https://api.openai.com/v1"
# MODEL_NAME = "gpt-4o"
# 其他兼容 OpenAI 接口的服务商
# BASE_URL = "https://your-api-endpoint.com/v1"REQUEST_TIMEOUT = 180.0 # API超时时间(秒)
REQUEST_INTERVAL = 5 # 请求间隔(秒),避免频率限制
MAX_PDF_CHARS = 30000 # PDF文本最大字符数,超出截断- 检查环境变量是否正确设置
- 检查 API Key 是否有效
- 检查网络连接是否正常
可能原因:
- 模型返回格式不规范
- PDF 内容提取不完整
解决方法:
- 检查
error_log.txt查看具体错误 - 重新运行,使用覆盖模式处理失败的文件
Python 3.8+ 对中文路径支持良好,如遇问题:
- 确保使用 UTF-8 编码
- 避免路径中包含特殊字符
直接将新 PDF 放入对应主题文件夹,重新运行脚本选择 [A] 全部执行,已处理的文件会自动跳过。
权重配置:practicality 40% | rigor 25% | innovation 15% | impact 15% | readability 5%
适用场景:找可直接指导实践的论文
- 学校想引入AI辅助教学,需要找有成熟案例的论文
- 企业想优化流程,需要找有具体工具/方法的研究
- 教师设计新课程,需要找可直接借鉴的教学方案
权重配置:innovation 40% | impact 20% | rigor 25% | practicality 10% | readability 5%
适用场景:找有创新思想的学术研究基础
- 博士生需要找学位论文的理论基础
- 新技术领域研究员想了解最前沿的思想框架
- 学科评估时需要找代表性的创新论文
权重配置:rigor 30% | innovation 25% | practicality 25% | impact 15% | readability 5%
适用场景:全面了解领域研究现状
- 教学设计师为新课程找综合支撑材料
- 学科主任想了解本领域当前整体研究水平
- 综述论文作者选择代表性文献
# 确保P0生成的CSV已就位,然后运行
uv run scenario_rescoring.py
# 输出文件:
# - _all_papers_多场景对比表.csv (对比表:查看同一论文在3个场景下的评分差异)
# - 排序表_应用导向型.csv (按应用导向排序,TOP 10高亮)
# - 排序表_理论突破型.csv (按理论突破排序,TOP 10高亮)
# - 排序表_综合均衡型.csv (按综合均衡排序,TOP 10高亮)编辑 scenario_weights.json,添加新场景定义,然后重新运行 scenario_rescoring.py,自动生成对应的排序表。
详见:scenario_rescoring.py工作原理详细指南.md
拿到 CSV 汇总表后,可以进行以下分析:
| 分析类型 | 方法 |
|---|---|
| 场景化筛选 | 打开 排序表_应用导向型.csv / 排序表_理论突破型.csv 找适合的论文 |
| 多场景对比 | 打开 _all_papers_多场景对比表.csv 观察同一论文在不同场景的评分变化 |
| 关键词词频 | 统计 关键词 列,发现高频主题 |
| 年份趋势 | 按 年份 分组,观察主题热度变化 |
| 方法分布 | 统计 论文类型,了解领域研究范式 |
| 作者网络 | 分析 作者 列,识别核心研究者 |
| 精读筛选 | 按 论文类型=综述 筛选,快速建立领域认知 |
MIT License