L04|中文 F3 學生的學習紀錄
L04|中文 F3 學生的學習紀錄
角色設定:我是中三學生,只看得懂中文。Python 學過變數、for 迴圈和 list,數學讀到一元二次方程。我靠中文課程筆記、YouTube 自動翻譯字幕和查字典來學。Kaggle 筆記本的操作步驟,是依官方 notebook 流程寫下的練習紀錄。
我讀懂了什麼(用自己的話)
- NLP 就是讓電腦讀文字,可以做分類、找相似、摘要。
- 文字要先切成小塊(token),再變成數字編號,模型才看得懂。
- 英文會切成子詞,例如 unhappiness 可能切成 un、happi、ness;中文沒有空格,切詞更麻煩。
- 過擬合就像只背考古題,題目一換就不會;所以要用沒看過的題目(驗證集)測試。
- 測試集要藏到最後,不然改來改去也會不小心「背」到驗證集。
我卡住的地方,和我怎麼解決
| 卡住的地方 | 我怎麼解決 |
|---|---|
| 專利比賽的資料是全英文,很多字不懂 | 先不管每個字的意思,只看欄位結構:anchor、target、context、score,知道要預測 score 就夠開始了。 |
| 不懂為什麼要把三個欄位接成一句 | 想通了:模型只會讀一段文字,所以把要比較的東西放進同一段,讓模型自己看。 |
| Pearson 相關係數的公式看不懂 | 課程也說不用背公式,我看了幾張散佈圖:點越接近一條斜線,r 越接近 1 或 −1。 |
練習作答
Q1. 神經網路只能處理數字。一句英文要經過哪兩個步驟才能送進模型?各做什麼?
第一步是 tokenization:把句子切成 token(單字或子詞)。第二步是 numericalization:把每個 token 換成詞彙表裡的編號,變成一串數字。
Q2. 用自己的話解釋過擬合和欠擬合,並各舉一個「考試溫習」的例子。
過擬合:只把老師給的 20 題練習題答案背起來,考試換了數字就不會。欠擬合:只看了課本目錄就去考試,連基本題都不會。好的溫習是理解方法,新題目也能做。
Q3. 你要預測下個月的商店銷售額,手上有過去三年的資料。驗證集應該怎麼選?為什麼不能隨機抽?
應該用最近的幾個月(例如最後 2 至 3 個月)當驗證集,前面的資料當訓練集。因為真正要預測的是未來,如果隨機抽,模型會偷看到「未來」的資料,驗證成績會比真實情況好看。
Q4. 有驗證集了,為什麼還需要測試集?
因為我們會根據驗證集的成績一直調整模型,調多了,模型就變得特別適合這份驗證集,等於間接背到它。測試集完全沒用來調整,最後用一次,才能知道真正的實力。
Q5. Pearson r = 0.9、0.1、−0.8 各代表什麼?為什麼課程說一定要畫圖,不能只看數字?
0.9:兩組數字有很強的正相關,一個變大另一個也變大。0.1:幾乎沒關係。−0.8:很強的負相關,一個變大另一個變小。要畫圖是因為 r 對極端值很敏感,少數幾個奇怪的點就能讓 r 大幅改變,只看數字會被騙。
我的卡片盒筆記
卡片|把陌生問題改寫成熟悉的問題,就能用現成工具解決
遇到新問題時,先想辦法把它變成已經會解的問題。專利片語相似度看起來很難,但只要把兩個片語和背景接成一段文字,它就變成普通的文字分類,可以直接用現成的預訓練模型。
這讓我想到數學課做應用題。以前看到一長段文字題我就慌,後來老師教我們先把文字改寫成方程式,題目就變成我會解的一元一次方程。這課的做法一模一樣,關鍵在改寫那一步。不過我覺得改寫也可能丟掉資訊,例如把三個欄位接在一起,模型可能分不清哪一段是 context,課程用 TEXT1、TEXT2 這種標記來解決,說明改寫時要想清楚怎麼保留結構。這次我真正體會到,改寫題目本身就是一種能力。
下次我遇到不會的程式題,我要先寫一句話:「這其實是一個 ___ 問題」,再決定用什麼方法。
🔗 推薦產生關聯的筆記: → 解題方法類:「先問這題像哪一題我做過的」 → 語言類:「電腦讀中文比讀英文多一道切詞的難關」 → 考試類:「刷考古題的分數會騙人」
回到課程筆記:L04_自然語言處理_202611041526