诺贝尔奖跨学科知识图谱¶
通过知识图谱揭示百年科学中的跨学科启发脉络
概述¶
本项目以诺贝尔奖得主及其核心论文为锚点,构建一个跨学科技术概念知识图谱(Knowledge Graph),将过去 100 年自然科学的关键发展脉络可视化,重点揭示不同领域之间的交叉启发与技术迁移路径。
核心产出¶
一个可查询、可可视化的知识图谱,其中:
- 节点 = 关键技术概念(如 SGD、Transformer、X射线晶体学、PCR……)
- 边 = 概念之间的演化关系(衍生、应用迁移、融合)
- 每个概念节点关联对应的诺奖得主、代表性论文、所属学科领域和时间坐标
核心特性¶
| 特性 | 说明 |
|---|---|
| 多源数据整合 | 整合 757 位得主、245K+ 篇论文、900万+ 引用记录 |
| LLM 驱动的概念抽取 | 使用 GPT-4o 从论文中提取结构化技术概念 |
| 跨学科检测 | 自动识别科学领域间的概念迁移 |
| 交互式可视化 | 时间轴、网络图、热力图三种可视化方式 |
| 洞见报告 | 自动生成枢纽概念和领域交互分析报告 |
快速开始¶
# 安装依赖
uv add polars pandas pyarrow networkx pyvis plotly requests openai pyyaml python-dotenv tqdm scikit-learn
# 运行完整流水线
uv run python main.py
# 或运行特定阶段
uv run python main.py --phase 1 # 仅数据加载
uv run python main.py --skip-llm # 跳过 LLM 抽取
详细设置说明请参阅快速开始。
架构一览¶
flowchart LR
A[原始数据<br>CSV/JSON] --> B[阶段 1<br>数据加载]
B --> C[阶段 1.5<br>内容富化]
C --> D[阶段 2<br>概念抽取]
D --> E[阶段 3+4<br>图谱构建]
E --> F[阶段 5<br>可视化]
E --> G[阶段 6<br>洞见分析]
style A fill:#f9f,stroke:#333
style E fill:#bbf,stroke:#333
style F fill:#bfb,stroke:#333
style G fill:#bfb,stroke:#333
项目结构¶
nobel/
├── main.py # 流水线入口
├── config/
│ └── settings.yaml # 项目配置
├── src/
│ ├── data_loader.py # 阶段 1:数据加载与清洗
│ ├── content_enricher.py # 阶段 1.5:内容富化
│ ├── openalex_enricher.py# 阶段 2a:OpenAlex 概念富化
│ ├── concept_extractor.py# 阶段 2b:LLM 概念抽取
│ ├── graph_builder.py # 阶段 3+4:知识图谱构建
│ ├── visualize.py # 阶段 5:交互式可视化
│ └── insight_analyzer.py # 阶段 6:洞见分析与报告
├── data/ # 源数据(CSV + JSON)
├── output/ # 生成的输出
│ ├── clean_data/ # 清洗后的 Parquet 文件
│ ├── concepts/ # 抽取的概念
│ ├── graph/ # 知识图谱(JSON/GraphML)
│ ├── viz/ # HTML 可视化文件
│ └── reports/ # 分析报告
└── docs/ # 本文档
文档导航¶
| 章节 | 说明 |
|---|---|
| 快速开始 | 安装、前置条件和首次运行 |
| 系统架构 | 系统设计和数据流 |
| 配置指南 | 详细配置参考 |
| 数据流水线 | 逐步流水线文档 |
| API 参考 | 模块级函数文档 |
| 数据 | 数据来源和知识图谱 Schema |
| 贡献指南 | 如何参与项目贡献 |
许可证¶
本项目仅用于研究和教育目的。