在日常生活中常會遇到事情太多、太雜,或是沉浸在遊戲、影集裡忘記時間,而忽略了睡眠,導致睡眠時間不是很規律。雖然知道自己有這些問題,但如果只是把資料記錄下來,好像也很難真的有所改變。
因此我開始想,如果可以讓程式自動讀取這些生活資料,整理並分析最近的狀況,再根據分析結果提供提醒或建議,應該會比單純記錄更有實際用途。
由於自己的程式能力十分薄弱,僅僅有使用 VS Code 和 Java 寫過一些程式,但對於資料如何被程式讀取、整理以及處理,其實沒有很完整的概念。所以這 30 天,我想先從最基礎的 Java 資料處理開始,逐步學習如何讀取、整理及分析資料,再嘗試加入資料視覺化與生成式 AI,看看 AI 能不能根據分析結果進一步產生說明與建議。
最後,如果前面的功能可以順利完成,我希望可以嘗試把這些功能整合到 LINE Bot 中,這樣就可以直接透過 LINE 收到提醒與建議。
在真正開始寫分析程式之前,我想先列出大致要分析的內容。
目前的想法是讓程式可以觀察睡眠和每日任務的狀況,所以我先決定記錄以下幾種資料:
這些資料之後可以用來記錄自己的睡眠狀況和每天要做的事情,再試著進一步比較睡眠時間和任務完成狀況之間有沒有一些變化。
CCSV(Comma-Separated Values)是一種用來儲存表格資料的文字檔案,常用在資料匯入、匯出或不同程式之間交換資料。它的格式相對簡單、容易閱讀,而且檔案通常不會太大。不過 CSV 的格式比較單純,能儲存的主要就是文字和數值資料,也不像 Excel 一樣可以直接設定公式、顏色或不同的格式。
決定好要記錄的資料之後,我打算先使用 CSV 來建立測試資料。
目前這些資料只是為了後續實作所建立的測試資料,希望之後能透過它們來回答一些我想知道的問題,例如:
「我最近平均睡多久?一個月內的睡眠時間有什麼變化?」
「如果隔天的任務比較多或難度比較高,能不能提早提醒我睡覺?」
「如果連續幾天睡眠不足,程式能不能發現並主動提醒我?」
今天還沒有真正開始進行資料分析,而是先完成分析之前的準備工作:決定要分析哪些資料,並建立第一份 CSV 測試資料。
雖然目前只是一份很簡單的資料,但至少先把原本「想做一個可以分析生活狀況並提醒我的程式」這個想法,轉換成之後程式可以實際處理的資料。
下一步,就是想辦法讓 Java 把這份 CSV 讀進來。