昨天我們做完了日記的 CRUD(編輯與刪除),現在至少可以把內容寫下來、改掉或刪掉
但問題來了:有時候打開清單一看,幾百字的日記,自己都懶得讀,更別說回顧當時的心情
所以今天要加上文字情緒分析!
讓每篇日記能自動標上「正向/中立/負向」,甚至附帶分數。這樣就能一眼看出,最近到底是在 emo,還是很 chill
幫我加入文字情緒分析功能(mock 版)
=== 功能需求 ===
1) 新欄位
sentiment: {
label: "positive" | "neutral" | "negative",
score: number
}
2) 新增/編輯日記時
- 呼叫本地函數 analyzeSentiment(content)
- 用「關鍵詞字典」判斷情緒
例如:
若包含 ['開心', '快樂', '興奮', '幸福', '讚', '爽', '好吃', '好玩', '愛'] → positive
若包含 ['累', '難過', '生氣', '煩', '討厭', '壓力', '痛苦', '失望', '不喜歡'] → negative
否則 → neutral
- 回傳 { label, score }
- 存回 Firestore 文件中
3) 清單顯示
- 每筆日記顯示 日期 | 摘要 | 情緒標籤
- 標籤用 emoji + 中文(😊 正向、😐 中立、☹️ 負向)
4) Firestore 路徑
- users/{uid}/diaries/{docId}
5) 未來升級
- 保留 sentiment 結構
- 之後把 analyzeSentiment() 換成真正的 ML API(HuggingFace / OpenAI)
Day 15 要開始做「情緒統計」!
我們會用圖表把情緒分佈視覺化,例如:這個月有 10 篇日記,其中 6 篇正向、3 篇中立、1 篇負向。
這樣就不只是流水帳,而是一個可以追蹤心情趨勢的工具了 🌈。