TTechSpecs

實戰背景

在本範例中,我們將使用 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 等場景

    ✓ 核心論文知識已加入圖譜!


── 第 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+ 篇論文)

    1. 張明 - 5 篇,研究方向:Code Generation
    2. 李華 - 4 篇,研究方向:Testing
    3. 王偉 - 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:

    根據圖譜分析,以下是研究缺口:

    未被充分研究的交叉領域

    1. LLM + Security Testing - 只有 1 篇論文
    2. LLM + Performance Optimization - 沒有專門研究
    3. LLM + Legacy Code Migration - 只有 1 篇論文

    建議研究方向

    • 「LLM 在安全測試中的應用」是相對空白的領域
    • 「LLM 輔助效能優化」尚未被系統性研究
    • 「遺留程式碼遷移」的 LLM 應用有實際需求但研究不足

── 第 7 輪:識別潛在合作 ──

  • You:
    graphify query "哪些研究群組有相似的研究方向?"
  • AI:

    根據圖譜分析,以下是潛在合作機會:

    研究方向相似群組

    1. Code Generation 群組

      • 張明(清華大學)
      • Sarah Chen(MIT)
      • 合作潛力:高(都專注 Code Generation)
    2. 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(引用關係圖)

    主要發現

    1. 研究形成了三個主要聚羣:Code Generation、Testing、Documentation
    2. 作者合作網絡呈現明確的學派分佈
    3. 引用關係顯示研究從 Code Generation 擴展到其他應用場景

程式碼與設計亮點

  • 自動研究趨勢分析:透過圖譜聚合自動識別研究熱點
  • 潛在合作推薦:基於研究相似度推薦合作機會
  • 研究缺口發現:自動識別未被充分探討的交叉領域

後續改進

  1. 持續更新:每週新增新論文到圖譜
  2. 會議追蹤:從頂級會議(ICSE, FSE, ASE)提取論文
  3. 跨領域擴展:加入相關領域(如 NLP、SE)的論文

這個範例展示了 Graphify 如何幫助研究者快速掌握研究領域全貌,並發現研究機會!