3.5 導入加權風險評分機制
此部分主要用於量化分析使用者的成癮風險,讓語言模型的判斷結果更具臨床參考價值。 系統設計五個主要層面:「頻率、強度、失控程度、影響程度、情緒依附」,每個層面以 0–5 分制表示嚴重程度, 並依照臨床邏輯設定權重,反映其對成癮風險的相對重要性。而後模型根據使用者的語意輸入進行推理,計算加權總分, 並判定風險等級為高/中/低/無法判定。
首先,系統以提示詞(prompt)明確定義五個層面的評分方式與臨床權重,讓模型在生成回覆時能根據固定結構進行評估, 此設計能確保評分標準一致,避免模型依語境出現不穩定的主觀判斷。
scoring_prompt = """
你是一位具臨床經驗的成癮輔導員,請根據使用者的描述,
以以下五個層面分別評估 0–4 分,並依照臨床邏輯推理。
評分時請同時考慮「臨床權重」的重要性:
- 失控程度(權重 1.6):無法控制行為是成癮核心指標。
- 影響程度(權重 1.4):若行為干擾生活、人際、健康,屬高危訊號。
- 情緒依附(權重 1.3):強烈依附行為代表心理依賴風險。
- 強度(權重 1.1):高使用量或時間過長會增加身體依賴風險。
- 頻率(權重 1.0):頻繁使用雖不等於成癮,但為早期警訊。
加權總分計算方式(模型需自行推理):
加權總分 = 頻率×1.0 + 強度×1.1 + 失控程度×1.6 + 影響程度×1.4 + 情緒依附×1.3
並依以下區間判定風險:
≥14 → 高風險
10–13.9 → 中風險
<10 → 低風險
"""
在實作部分,系統會根據模型的回傳內容自動進行解析。若模型能正確輸出 JSON 格式,系統會直接讀取, 若出現非結構化文字(如「頻率:3」),則透過正則表達式自動擷取分數。此外,若模型完全未提供數值, 系統會自動以零補齊,避免程式中斷。
以下為加權總分的運算則根據各層面權重計算出整體風險,並在最後輸出對應等級。
# 計算加權總分
total = (
scores[0]*1.0 + # 頻率
scores[1]*1.1 + # 強度
scores[2]*1.6 + # 失控程度
scores[3]*1.4 + # 影響程度
scores[4]*1.3 # 情緒依附
)
# 判定風險等級
if total >= 14:
level = "高風險"
elif total >= 10:
level = "中風險"
elif total > 0:
level = "低風險"
else:
level = "無法判定"
return {
"頻率": scores[0],
"強度": scores[1],
"失控程度": scores[2],
"影響程度": scores[3],
"情緒依附": scores[4],
"加權總分": round(total, 1),
"風險等級": level
}