iT邦幫忙

2025 iThome 鐵人賽

DAY 14
0
生成式 AI

30 天 Vibe Coding:全端 × 機器學習的實作挑戰系列 第 14

Day 14|30 天 Vibe Coding:心情自己都搞不清楚,交給情緒分析吧

  • 分享至 

  • xImage
  •  

昨天我們做完了日記的 CRUD(編輯與刪除),現在至少可以把內容寫下來、改掉或刪掉
但問題來了:有時候打開清單一看,幾百字的日記,自己都懶得讀,更別說回顧當時的心情

所以今天要加上文字情緒分析
讓每篇日記能自動標上「正向/中立/負向」,甚至附帶分數。這樣就能一眼看出,最近到底是在 emo,還是很 chill


今日目標

  1. 新增情緒分析功能,將日記文字丟進 本地 mock 分析器
  2. 每篇日記新增一個欄位 sentiment(包含 label 與 score)
  • label:positive / neutral / negative
  • score:0 ~ 1 的浮點數,表示置信度
  1. 清單中每篇日記右側顯示情緒標籤(例如:😊 正向、😐 中立、☹️ 負向)
  2. 新增/編輯日記時,自動跑一次分析並寫回 Firestore

Prompt

幫我加入文字情緒分析功能(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)


今日驗收 ✅

  1. 新增日記 → Firestore 文件多一個 sentiment 欄位
    https://ithelp.ithome.com.tw/upload/images/20250907/20140998Q5XiY3HPHo.png
  2. 清單顯示正確的情緒標籤(emoji + label)
    https://ithelp.ithome.com.tw/upload/images/20250907/20140998eW6pHdQreY.png
  3. 編輯日記後,情緒標籤會自動重新分析並更新

明日預告

Day 15 要開始做「情緒統計」!
我們會用圖表把情緒分佈視覺化,例如:這個月有 10 篇日記,其中 6 篇正向、3 篇中立、1 篇負向。
這樣就不只是流水帳,而是一個可以追蹤心情趨勢的工具了 🌈。


上一篇
Day 13|30 天 Vibe Coding:覺得舊日記太恥,可以刪除或編輯
系列文
30 天 Vibe Coding:全端 × 機器學習的實作挑戰14
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言