iT邦幫忙

2025 iThome 鐵人賽

DAY 25
0
AI & Data

ML/DL實作-「營養抗老」專題製作系列 第 25

Day 25_知識圖譜與可解釋推薦 (Explainable Recommendation)

  • 分享至 

  • xImage
  •  

🎯 目標

建立簡化版 知識圖譜 (KG),將 Food、Compound、Effect、Evidence、Drug 連結起來

API 查詢時,不只回傳推薦食物,還能附上「為何推薦」的解釋路徑

提升使用者對推薦系統的 信任度 (Trust) 與 透明度 (Transparency)

🏗️ 技術設計
1. 知識圖譜 Schema

節點 (Nodes):

Food(黑芝麻、番茄、葡萄柚…)

Compound(黑芝麻素、茄紅素、維生素 C…)

Effect(烏髮 E001、抗皺 E002)

Evidence(PMID:xxxxx, 研究等級, 劑量…)

Drug(Statins、Warfarin…)

邊 (Relations):

Food -contains-> Compound

Compound -improves-> Effect

Compound -interactsWith-> Drug

Evidence -supports-> (Food/Compound→Effect)

2. 實作方式

MySQL 版:建 kg_relations 表(簡單實作)

進階:用 Neo4j / RDF → 可視化查詢

先走 關聯查表,API 查詢時能輸出解釋

3. API 範例

/api/recommendations/explain?effectId=E002
回傳
4. 解釋方式

Evidence-based:帶出 PubMed 研究引用

Compound-based:透過成分連結效果

Risk-based:若有 DrugBank 藥物交互 → 同時輸出警示解釋

🧪 測試計畫

curl /api/recommendations/explain?effectId=E001 → 輸出烏髮推薦 + 文獻路徑

curl /api/recommendations/explain?effectId=E002 → 輸出抗皺推薦 + 成分解釋

帶 drugList → 回傳「⚠️ 因為交互作用,建議避免」

✅ 驗收標準

API 查詢結果包含 推薦 + 解釋路徑

至少兩個食材能帶出 完整 reasoning chain

使用者能清楚知道「為什麼推薦它」或「為什麼警告避免」

上一篇
Day 24_安全性檢查與使用者互動介面設計
系列文
ML/DL實作-「營養抗老」專題製作25
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言