Skip to content

Wintregogo/academic

Repository files navigation

arXiv Insight

一个面向科研人员的智能论文分析工具,自动解析 arXiv 预印本 PDF,结合大语言模型(LLM)生成深度摘要、创新点提炼与研究趋势洞察。


🎯 1. 项目目的与已实现功能

目的

在信息爆炸的科研环境中,帮助研究者快速理解论文核心价值,减少阅读负担,提升文献调研效率。
本项目聚焦 arXiv 预印本,通过自动化 PDF 解析 + LLM 智能分析,提供超越传统摘要的“高维洞察”。

已实现功能

  • 自动抓取 arXiv 论文元数据(标题、作者、摘要、分类、PDF 链接)
  • 双模 PDF 解析
    • 优先使用 Grobid 提取结构化全文(含章节、参考文献)
    • 自动降级至 pdfplumber 提取原始文本(容错机制)
  • 解析结果缓存:避免重复解析同一 PDF,显著提升响应速度
  • LLM 驱动的深度分析(支持 Qwen、OpenAI 等):
    • 生成简洁中文摘要
    • 提炼 3 项核心创新点
    • 判断研究类型(理论/实验/综述等)
    • 识别关键技术术语
  • Streamlit Web 界面:支持关键词搜索、论文列表浏览、一键分析
  • 本地化部署:所有数据存储于本地,无需依赖外部数据库服务

🧩 2. 子模块详解与关键技术点

子模块 功能描述 关键技术点 近期可落地的改进点
ArXiv Fetcher 从 arXiv API 获取最新/指定论文元数据 - 使用 arxiv Python 包
- 支持按关键词、作者、时间范围查询
- 自动下载 PDF 到本地缓存目录
平台扩展:增加 bioRxiv/medRxiv 支持,及正式发布刊物
增量同步:记录最后抓取时间,避免重复拉取
元数据增强:提取 DOI、引用数(通过 Semantic Scholar API)
使用统一查询方法:可以考虑使用 PaperScrapper 统一查询多个平台的论文
PDF Parser 从 PDF 中提取可读文本 - 双后端策略
  • 主路径:Grobid REST API
  • 备用路径:pdfplumber
- 智能缓存
  • Grobid → .xml
  • pdfplumber → .json
结构化增强:提取图表、公式、算法伪代码
多模态融合:整合文本、表格、图表信息
段落结构保留:Grobid 返回 TEI XML 中提取章节标题+段落
OCR fallback:对扫描版 PDF 调用 Tesseract(需用户安装)
错误日志细化:区分“PDF损坏” vs “Grobid 服务不可用”
LLM Analyzer 调用大模型生成结构化洞察 - Jinja2 模板构建 prompt
- 支持 Qwen/OpenAI/Ollama
- 强制 JSON Schema 输出
- 自动截断长文本(≤12k 字符)
多维度评分:科学价值(30%) + 实用价值(25%) + 影响力(20%) + 可靠性(15%) + 可读性(10%)
上下文感知:根据用户类型动态调整评分权重
Chain-of-Thought:分步骤推理提升分析深度
Ensemble评价:多模型集成降低偏差
领域自适应 Prompt:根据 arXiv 分类(cs.CL / cs.CV)切换提示词
结果缓存:对相同 full_text 缓存 LLM 响应(节省 token)
置信度评分:让 LLM 自评分析可靠性(如“高/中/低”)
Cache Manager 统一管理各类缓存(PDF、解析结果、LLM 响应) - 所有缓存存放于 ./cache/
- 缓存键含文件指纹确保一致性
自动清理:启动时删除 >30 天未访问的缓存
磁盘用量监控:显示 cache/ 目录大小,提供“清除缓存”按钮
缓存命中统计:日志记录 Grobid/pdfplumber/LLM 缓存命中率
Web UI (Streamlit) 提供交互式分析界面 - 动态加载论文卡片
- 支持“使用 Grobid”开关
- 实时显示 LLM 分析结果
结果对比视图:并排显示 Grobid vs pdfplumber 提取效果
用户反馈入口:“有用/无用” 按钮收集 LLM 质量反馈
导出功能:一键保存分析结果为 Markdown 或 JSON

🌍 3. 扩展至其他预印本与正式期刊的改进路线

当前系统仅支持 arXiv。若要扩展至 其他预印本平台(如 bioRxiv, medRxiv, ACL Anthology)或 正式出版物(如 IEEE, Springer, Nature),各子模块需做如下改进:

子模块 当前限制 所需改进 难度
ArXiv Fetcher 仅调用 arXiv API - 为每个平台实现独立 fetcher:
  • bioRxiv/medRxiv:使用其 REST API
  • ACL Anthology:解析 XML 元数据或 scrape HTML
  • IEEE/Springer:需处理付费墙(仅限开放获取论文)或集成机构权限
- 统一抽象接口 PaperFetcher
⭐⭐
PDF Parser 假设 PDF 来自 arXiv(LaTeX 生成,文本可选) - 无需重大修改!Grobid 和 pdfplumber 对通用学术 PDF 兼容性良好
- 但需注意:
  • 扫描版 PDF(常见于老期刊)需先 OCR(如 Tesseract)
  • 某些出版社 PDF 加密 → 需解密(如 qpdf --decrypt
LLM Analyzer Prompt 针对 arXiv 论文风格优化 - 微调 prompt 以适应不同领域风格:
  • 生物医学论文强调“方法/患者队列”
  • 工程类强调“指标/对比 SOTA”
- 可引入领域适配器(Domain Adapter)
Cache Manager 缓存键基于本地 PDF 路径 - 保持不变即可,因最终输入仍是 PDF 文件
Web UI 仅展示 arXiv ID 和分类 - 增加来源字段(如 “Source: bioRxiv”)
- 支持按来源平台筛选

补充说明

  • 正式期刊的最大挑战PDF 获取而非解析。多数出版社不提供公开 PDF 下载链接。
    • 解决方案:
      1. 仅支持 开放获取(Open Access) 论文
      2. 集成 Unpaywall APILibGen(法律风险需评估)
      3. 用户手动上传 PDF(当前已支持!)
  • 推荐策略:初期可优先扩展 bioRxiv / medRxiv / ACL Anthology,因其:
    • 提供标准 API
    • PDF 质量高(文本可选)
    • 社区开放

🚀 快速开始

# 1. 启动 Grobid(推荐 Docker)
docker run -t --rm -p 8070:8070 lfoppiano/grobid:latest-crf

# 2. 安装依赖
pip install -r requirements.txt

# 3. 启动 Web 应用
streamlit run app.py

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages