實戰背景
在本範例中,我們將使用 Graphify 分析學術論文,建立研究領域知識圖譜。假設你正在研究「大型語言模型(LLM)在軟體工程中的應用」,已經收集了 20 篇相關論文。
我們將從這些論文中提取:
- 研究方向與主題
- 作者與機構
- 論文之間的引用關係
- 研究方法與結果
規格定義
本次研究知識圖譜包含:
- 實體類型:Paper(論文)、Author(作者)、Institution(機構)、Method(方法)、Application(應用場景)
- 關係類型:CITES(引用)、WRITTEN_BY(撰寫)、AFFILIATED_WITH(隸屬)、USES_METHOD(使用方法)、APPLIES_TO(應用於)
端到端 8 輪 AI 協作紀錄
── 第 1 輪:初始化研究圖譜 ──
- You:
graphify init --name="llm-se-research" --backend=neo4j - AI:
正在初始化研究圖譜…
✓ 建立目錄:
.graphify/✓ 使用 Neo4j 後端✓ 研究「llm-se-research」圖譜初始化完成!
── 第 2 輪:提取核心論文 ──
- You:
graphify extract papers/core-survey.pdf --namespace="survey" - AI:
正在從核心調查論文提取…
提取摘要:
- 實體:28 個
- Paper: 1 篇(調查論文本身)
- Paper: 15 篇(論文中引用的相關研究)
- Method: 5 種(Code Generation, Testing, Debugging 等)
- Application: 7 個(Documentation, Refactoring 等)
- 關係:42 個
識別的研究關係:
- 調查論文 → CITES → 15 篇相關研究
- 各論文 → USES_METHOD → Code Generation, Testing, Debugging
- 各方法 → APPLIES_TO → Documentation, Refactoring 等場景
✓ 核心論文知識已加入圖譜!
- 實體:28 個
── 第 3 輪:批量提取論文 ──
- You:
# 建立論文清單 ls papers/*.pdf > paper-list.txt # 批量提取 graphify extract --batch=paper-list.txt --namespace="papers" - AI:
正在批量提取論文…
提取進度: [########## ] 50% (10/20 論文)
目前統計:
- 處理論文:10 篇
- 識別實體:156 個
- 建立關係:234 個
✓ 批量提取完成!
── 第 4 輪:分析作者網絡 ──
- You:
graphify query "列出所有作者及其合作關係" - AI:
根據圖譜查詢結果,研究社羣包含以下作者:
核心作者群(3+ 篇論文):
- 張明 - 5 篇,研究方向:Code Generation
- 李華 - 4 篇,研究方向:Testing
- 王偉 - 3 篇,研究方向:Documentation
合作關係:
- 張明 ↔ 李華:合作 2 篇
- 張明 ↔ 王偉:合作 1 篇
- 李華 ↔ 王偉:合作 1 篇
發現:這三位作者形成了緊密的合作網絡,共同推進 LLM 在軟體工程的研究。
── 第 5 輪:追蹤研究趨勢 ──
- You:
graphify query “這個領域的研究趨勢是什麼?”
* **AI**:
> 根據圖譜分析,研究趨勢如下:
>
> **熱門研究方向(按論文數量)**:
> 1. **Code Generation** - 8 篇(40%)
> 2. **Automated Testing** - 5 篇(25%)
> 3. **Bug Detection** - 4 篇(20%)
> 4. **Documentation Generation** - 3 篇(15%)
>
> **趨勢分析**:
> - Code Generation 是最熱門的主題,佔近半數研究
> - Testing 相關研究(Automated Testing + Bug Detection)佔 45%
> - Documentation Generation 是新興主題(2023 年後才出現)
>
> **建議**:若要進入此領域,Code Generation 或 Testing 是較成熟的切入點;Documentation Generation 則有較大的創新空間。
---
### ── 第 6 輪:發現研究缺口 ──
* **You**:
```bash
graphify query "哪些研究主題還未被充分探討?"
- AI:
根據圖譜分析,以下是研究缺口:
未被充分研究的交叉領域:
- LLM + Security Testing - 只有 1 篇論文
- LLM + Performance Optimization - 沒有專門研究
- LLM + Legacy Code Migration - 只有 1 篇論文
建議研究方向:
- 「LLM 在安全測試中的應用」是相對空白的領域
- 「LLM 輔助效能優化」尚未被系統性研究
- 「遺留程式碼遷移」的 LLM 應用有實際需求但研究不足
── 第 7 輪:識別潛在合作 ──
- You:
graphify query "哪些研究群組有相似的研究方向?" - AI:
根據圖譜分析,以下是潛在合作機會:
研究方向相似群組:
-
Code Generation 群組
- 張明(清華大學)
- Sarah Chen(MIT)
- 合作潛力:高(都專注 Code Generation)
-
Testing 群組
- 李華(北京大學)
- Mike Johnson(Stanford)
- 合作潛力:高(都專注 Testing)
跨領域合作機會:
- 張明(Code Generation)與 李華(Testing)可以合作研究「生成程式碼的自動測試」
- 這將是兩個熱門方向的交叉創新
-
── 第 8 輪:視覺化研究地圖 ──
- You:
# 生成多個視角 graphify visualize --output=research-map.html --layout=force graphify visualize --filter="type:Author" --output=author-network.html graphify visualize --filter="relationship:CITES" --output=citation-graph.html - AI:
正在生成研究地圖…
視覺化完成:
- research-map.html(完整研究地圖)
- author-network.html(作者合作網絡)
- citation-graph.html(引用關係圖)
主要發現:
- 研究形成了三個主要聚羣:Code Generation、Testing、Documentation
- 作者合作網絡呈現明確的學派分佈
- 引用關係顯示研究從 Code Generation 擴展到其他應用場景
程式碼與設計亮點
- 自動研究趨勢分析:透過圖譜聚合自動識別研究熱點
- 潛在合作推薦:基於研究相似度推薦合作機會
- 研究缺口發現:自動識別未被充分探討的交叉領域
後續改進
- 持續更新:每週新增新論文到圖譜
- 會議追蹤:從頂級會議(ICSE, FSE, ASE)提取論文
- 跨領域擴展:加入相關領域(如 NLP、SE)的論文
這個範例展示了 Graphify 如何幫助研究者快速掌握研究領域全貌,並發現研究機會!