結論:第 6 題(AI 使用說明)一定要寫,沒寫扣 10 分。最後把 .ipynb 和 requirements.txt 壓成 zip,檔名照規定,上傳 NTU COOL。
要寫清楚三件事:用了哪個 AI、用在哪裡、你自己做了什麼。程式裡 AI 寫的那幾格,也要加註解標明(我的示範每一格開頭都有一行 # [Generative AI] ...,就是在示範這個)。
以你的情況(先看了 AI 的示範、再自己重做),可以這樣寫(換成你自己的話):
I used Claude (Anthropic) to study the assignment: it produced a reference implementation and an explanation document, which I read to understand each step. I then rewrote the code myself. Parts where I reused or adapted AI-generated code are marked with comments in the notebook (cells …). All experiments were run by me, and the analysis in this report is written in my own words based on my results.
要誠實:哪幾格是你照著改的,就寫哪幾格。老師說允許用 AI,只扣「用了沒說」。
如果你也在自己電腦跑,可以照這樣寫(數字是我這台跑出來的,你跑完看筆記本最後一格「Running environment」的輸出照抄):
Running environment: Local — Windows 11, CPU: Intel Core i7-11800H (8 cores / 16 threads), RAM 16 GB
Python version: 3.12.3
列出你用的套件和版本,一行一個。我的長這樣:
⟦R:requirements⟧
你自己做的時候,在終端機跑 .venv\Scripts\python.exe -m pip freeze,把用到的那幾行抄下來。
NLP_HW1_學校_學號.ipynb。requirements.txt 一起壓縮,壓縮檔叫 NLP_HW1_學校_學號.zip。結論:照下面的順序做,大部分時間是電腦自己在跑。不要直接交我的示範版——每一格都要自己打過、自己看懂,報告要用自己的話寫自己的結果。
| 地方 | 我選的 | 你可以換成 |
|---|---|---|
| 報告第 3 題的語料 | 卡達論壇問答 | gensim 的 fake-news(新聞)、20-newsgroups,或自己找電影評論、小說、論文摘要。選一個你有興趣、能解釋「它跟維基百科差在哪」的。 |
| 第 4 題挑的字 | king、cat、apple、bank、good、taiwan、computer | 挑你自己好奇的字,例如有兩種意思的字(bat、python)、你的科系相關的字。 |
| 第 5 題的加分實驗 | 停用詞、CBOW、window、向量長度、3CosMul、PCA | 挑 2~3 個你最想知道答案的做就好,重點是「解釋為什麼」。 |
| # | 做什麼 | 大概多久 | 參考第幾節 |
|---|---|---|---|
| 1 | 建環境、下載模板 | 15 分鐘 | 第 2 節 |
| 2 | TODO1、TODO2、TODO3(用 GloVe) | 1 小時(含下載 GloVe) | 第 3、4 節 |
| 3 | 下載維基百科 | 電腦自己跑約 15 分鐘 | 第 5 節 |
| 4 | TODO4 抽樣 | 電腦自己跑約 ⟦R:todo4_time⟧ | 第 5 節 |
| 5 | TODO5 前處理+訓練 | 電腦自己跑約 ⟦R:todo5_time⟧ | 第 6 節 |
| 6 | TODO6、TODO7 | 10 分鐘 | 第 7 節 |
| 7 | 報告第 2~5 題的實驗 | 電腦自己跑 1~2 小時 | 第 9~12 節 |
| 8 | 寫報告(6 題) | 2~3 小時(這段最花腦力) | 第 8~13 節 |
| 9 | 檢查、打包、上傳 | 15 分鐘 | 第 13 節+前一份介紹的檢查清單 |
趁電腦在跑的時候讀這份文件對應的那一節,等結果出來時你就知道要看什麼。
結論:真的會卡住的地方都不是演算法,而是「環境」和「資料」:下載、舊程式不相容、Windows 指令不同。每一個都有簡單的解法。
| # | 遇到什麼 | 為什麼 | 怎麼解決 |
|---|---|---|---|
| 1 | 模板的 !wget、!cat、!gunzip、!head 在 Windows 上不能跑 | 這些是 Linux 指令,Colab 是 Linux 所以能跑 | 改成 Python 寫法(urllib、gzip)。屬於「載入資料」,規定允許改。 |
| 2 | GloVe 下載很慢(128 MB 下載了 20 幾分鐘) | Gensim 從 GitHub 下載,那時我同時在下載維基百科,搶網路 | 耐心等;或先下載 GloVe,再下載維基百科。下載過一次就會存在 gensim-data 資料夾,之後秒開。 |
| 3 | 最後一個維基檔只有 2.8 KB,以為下載壞了 | 不是壞了,它本來就只有 5 篇文章 | 用 gzip -t 檢查壓縮檔是否完整。模板註解也有寫「except the last file」。 |
| 4 | 論壇語料讀取時 ImportError: cannot import name 'smart_open' | 那份資料附的讀檔程式是幾年前寫的,用到的套件後來改名了 | 只用 Gensim 下載(return_path=True),自己用 gzip+json 讀。老師上課也提到 Gensim 有些東西沒在更新。 |
| 5 | 論壇資料裡有使用者名稱、日期、網址、網頁語法 | 原始資料就是網頁 | 只取發問標題、內容、留言三個欄位,再用正規表示式刪掉網址和 HTML。 |
| 6 | 硬碟空間估太多 | 以為 11 個檔每個都 1.4 GB,其實後面的檔小很多 | 實際只有 6.93 GB。先看檔案大小再估。 |