9.7 KiB
子赛题四 · 科研场景应用报告
提交要求覆盖:方案技术实现(第三章)· 科研赋能价值(第四章)· 落地效果(第五章)。 核心两功能:① 科研热点分析与知识图谱(
gitlink-research-graph,S2)、② 科研仓库画像(gitlink-research-insight,S1),与《使用文档》一致。 配图:科研知识图谱.png/科研知识图谱.drawio、科研S1-S6流程与知识图谱.png。
一、方案概述
依托 gitlink-cli 的数据获取能力 + Python 数据分析 + 知识图谱 + AI 挖掘,面向科研工作者/课题组,把 GitLink 平台的代码托管与协作数据转化为科研创新支撑。方案按科研全生命周期设计 S1–S5 五场景,其中热点分析与科研画像是两个核心功能(已独立成 Skill 并在真实仓库验证):
| 场景 | Skill | 脚本 | 核心输出 |
|---|---|---|---|
| S2 科研热点分析(核心) | gitlink-research-graph |
graph_build.py + hotspot.py |
热度榜 + 飙升项目 + 主题热度 + 核心学者/团队 + 「仓库–学者–主题」知识图谱 |
| S1 科研仓库画像(核心) | gitlink-research-insight |
lineage.py + 四维评分 |
谱系(提交/PR/文档/实验/创新点)+ 四维评分 + 巴士因子 + fork 检测 |
| S3 合规/复现 | gitlink-compliance |
repro.py |
许可证/隐私/复现性评估报告 |
| S4 进度预警 | gitlink-research-progress |
report.py |
进度周报 + 风险预警 |
| S5 可视化 | gitlink-research-visual |
visual.py |
时间线/热力/甘特交互图 |
二、方法论
- 参考开源社区指标体系 CHAOSS(社区健康度评分标准)。
- 借鉴 GitHub 热门项目 TrendRadar(star 60.3K)的「飙升项目」思路。
- 复用 GitLink 平台自带的项目分类与周/月热门排行榜作为参考指标与精选数据源。
- 热点分析流程:选大方向 → 取候选仓库 → 算热度/建图谱 → 提取飙升项目/热门主题/活跃学者 → 报告。
三、方案技术实现
3.1 总体架构:Go 出数据 + Python 做算法(取数与计算分离)
gitlink-cli(Go)──collect.py──▶ 原始数据(JSON envelope 解析 + 分页)
│
┌─────────────┴─────────────┐
▼ ▼
graph_build.py / hotspot.py lineage.py
(热点分析:建图 + 热度) (画像:谱系 + 评分)
│ │
▼ ▼
graph.json/mmd/dot + report lineage.json/mmd + report
(纯函数,离线可单测) (纯函数,离线可单测)
取数(collect.py)与算法(compute/build)严格分离:在线取数只负责拉数据,算法全是不联网的纯函数,可用 mock 数据离线单测——保证可复现、可回归。
3.2 数据采集层
统一经 collect.py 薄封装 gitlink-cli(subprocess + envelope 解析 + 分页):
- 热点分析:
search +repos(关键词去重 top N)→ 逐仓repo +info / +contributors / +languages / +readme;hotspot.py另支持explore +pinned --category官方精选源(自带 visits/praises/forked/topics)。 - 科研画像:
repo_info(默认分支)、commits(ref=默认分支)、prs(state=merged)、tree+tree(path='docs')、readme。
3.3 热点分析算法(核心一)
① 知识图谱构建 build_graph()(networkx.MultiDiGraph,纯函数):
- 3 类节点:
repo:owner/name(含 language/stars/forks/desc)、scholar:login(contributors,过滤 bot/i-robot)、topic:x(topics.py词典在 description+readme 抽取)。 - 5 类边:
contributes_to(scholar→repo,权重=contribution_perc 0~1)、owns、covers_topic(repo→topic)、collaborates_with(scholar↔scholar 共贡献)、related_to(topic↔topic 共现)。
② 热度评分(hotspot.py,纯函数):
综合热度 = stars + forks×2 + visits//10 + 近期更新加成
(≤7天+30 / ≤30天+20 / ≤90天+10 / ≤180天+5)
飙升识别 = compute_velocity = stars / updated_days_ago (日均星标增速)
3.4 科研画像算法(核心二)
① 谱系分析 lineage.py(6 个纯函数,已单测):
| 函数 | 产出 |
|---|---|
is_experiment_file / is_doc_file |
识别 benchmark/eval/tests/data 等科研产物与 docs 文档 |
build_branch_map |
分支演进(name/commits/last_active/is_default) |
pr_merge_patterns |
合并 PR 按时间升序(number/title/merged_time/changed_files) |
doc_evolution |
docs/*.md 演进(file/last_date) |
innovation_points |
高影响合并 → 创新点(描述+证据+类别,如「大规模重构/新特性」) |
② 四维评分体系(回答「值不值得引用/复现」):
| 维度 | 满分 | 判定 |
|---|---|---|
| 🔁 可复现性(科研核心) | 10 | CI(+2)/依赖锁定(+2)/数据说明(+2)/运行文档(+2)/版本归档(+2);工程类「数据项」N/A |
| 📈 活跃度 | 10 | 近 3 月提交频率 + Issue/PR 活跃 + 贡献者趋势 |
| 📑 引用价值 | 10 | LICENSE + 版本归档 + 文档完整 + 社区关注 |
| 🤝 协作健康 | 10 | Issue 响应 + PR 合并率 + 巴士因子(核心贡献者占比,>50% 单点风险) |
关键设计:fork 检测(Step 0)——若是 fork,引用价值自动改评 upstream,避免「评了半天是别人的项目」。
3.5 工程质量
- 确定性、可复现:算法为纯函数,同输入同输出(非「AI 心情」);热点图谱对同一关键词集合产出同构 graph.json。
- 可测试:
test_graph_build.py(17 用例)、test_lineage.py等均离线 mock 通过,不联网、不调 gitlink-cli。 - Skill 化:两个核心功能各对应一个 SKILL.md(遵循 frontmatter + CRITICAL 三连 + 引用 gitlink-shared),兼容 Claude Code,AI 读 SKILL.md 即可编排。
- 零云依赖:所有场景命令行独立运行(
python graph_build.py / lineage.py),不强依赖云端网页。
四、科研赋能价值
4.1 热点分析:从「散落仓库」到「可决策的热度情报」
- 选题/综述:按关键词/学科一键得到主题热度榜 Top10 + 飙升项目,回答「这个方向在升温吗」。
- 找人合作:知识图谱的
core_scholars/core_teams直接给出某方向的活跃学者与团队,支撑跨团队协作匹配。 - 知识图谱:构建「仓库–学者–主题」领域图谱(呼应课程「知识图谱」要求),把零散仓库元数据升格为可视化的领域全景。
4.2 科研画像:从「看不懂」到「敢引用/能复现」
- 引用决策:四维评分 + fork 检测直接回答「这个仓库值不值得写进论文、引哪个版本/上游」。
- 复现评估:可复现性维度逐项检查 CI/依赖锁定/数据/文档/版本归档,判断能否独立复现。
- 风险预警:巴士因子揭示核心人员单点风险;谱系的创新点提炼研究脉络,辅助科研复盘与新 Idea 生成。
4.3 打通开源生态与学术科研
把 GitLink 的代码托管与协作数据(stars/forks/contributors/commits/PR/Issue/readme)自动转化为科研分析输入,降低科研工作者使用开源协作数据的门槛,形成「热点找方向 → 画像评估具体仓库 → 合规/进度/可视化跟进」的全链路。
五、落地效果(真实仓库验证)
5.1 热点分析 · 真实验证
在真实科研仓库生态 mindspore-Ecosystem/mindspore 验证(关键词 mindspore):
- 知识图谱正确识别 deep_learning / scientific_computing / nlp / computer_vision 等主题节点;
covers_topic权重落在 (0,1];contributes_to正确解析 contribution_perc("60%"→0.6);- bot(i-robot)账号被过滤;Mermaid 输出按 repo/scholar/topic 三色着色、节点截断到 ≤40 防爆炸。
- 产物:
graph.json+report.md(主题热度榜 + 核心学者)+graph.mmd+graph.dot。
5.2 科研画像 · 真实验证
mindspore-Ecosystem/mindspore(default_branch=master;issue≈20346;PR=9;贡献者=6):提交时间线、合并 PR 演进、docs 清单、benchmark/tests 实验文件均正确识别;高影响合并被标为「大规模重构/新特性」创新点。whale_hihihi/gitlink-cli(四维评分端到端验证):fork 检测识别为Gitlink/gitlink-cli的 fork → 引用价值改评 upstream;四维评分 可复现性 8/10、活跃度 7、引用价值 8、协作健康 10;巴士因子 17%(低风险)。报告原件demo/research-insight-report-whale_gitlink-cli.md,三层证据(命令层/编排层/输出层)齐备。
5.3 可复现的运行
# 热点分析(独立运行)
python scripts/research/graph_build.py --keywords "deep learning,nlp" --repos-limit 20 --out ./out
python scripts/research/hotspot.py --category 深度学习 --limit 30 --out ./out
# 科研画像(独立运行)
python scripts/research/lineage.py --owner whale_hihihi --repo gitlink-cli --out ./out
# 或在 Claude Code 用自然语言触发(读对应 SKILL.md)
单测:test_graph_build.py(17)、test_lineage.py 等离线全过。
本报告对应子赛题四「应用 GitLink 辅助科研」,覆盖方案技术实现、科研赋能价值与落地效果三项要求;两个核心功能(热点分析、科研画像)均在 GitLink 真实科研类仓库上完成验证。