13 報告第 6 題+怎麼交出去

結論:第 6 題(AI 使用說明)一定要寫,沒寫扣 10 分。最後把 .ipynb 和 requirements.txt 壓成 zip,檔名照規定,上傳 NTU COOL。

第 6 題:生成式 AI 使用說明怎麼寫

要寫清楚三件事:用了哪個 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

requirements.txt

列出你用的套件和版本,一行一個。我的長這樣:

⟦R:requirements⟧

你自己做的時候,在終端機跑 .venv\Scripts\python.exe -m pip freeze,把用到的那幾行抄下來。

打包上傳

  1. 確認筆記本每一格下面都有輸出(數字、表格、圖)。這最重要,沒有輸出 → 實驗分數全部拿不到。
  2. 筆記本存檔,檔名改成 NLP_HW1_學校_學號.ipynb。
  3. 把它和 requirements.txt 一起壓縮,壓縮檔叫 NLP_HW1_學校_學號.zip。
  4. 上傳 NTU COOL。
還沒確認的事
檔名裡「學校」要填什麼(CYUT?)還沒有官方說法,交之前去 NTU COOL 看公告或問助教。截止時間也要去 NTU COOL 確認。

15 換你自己做一次:步驟清單

結論:照下面的順序做,大部分時間是電腦自己在跑。不要直接交我的示範版——每一格都要自己打過、自己看懂,報告要用自己的話寫自己的結果。

為什麼不能直接交示範版

建議你做得跟我不一樣的地方(讓作業變成你的)

地方我選的你可以換成
報告第 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 節
2TODO1、TODO2、TODO3(用 GloVe)1 小時(含下載 GloVe)第 3、4 節
3下載維基百科電腦自己跑約 15 分鐘第 5 節
4TODO4 抽樣電腦自己跑約 ⟦R:todo4_time⟧第 5 節
5TODO5 前處理+訓練電腦自己跑約 ⟦R:todo5_time⟧第 6 節
6TODO6、TODO710 分鐘第 7 節
7報告第 2~5 題的實驗電腦自己跑 1~2 小時第 9~12 節
8寫報告(6 題)2~3 小時(這段最花腦力)第 8~13 節
9檢查、打包、上傳15 分鐘第 13 節+前一份介紹的檢查清單

趁電腦在跑的時候讀這份文件對應的那一節,等結果出來時你就知道要看什麼。

16 我實際做的時候遇到的問題(你可能也會遇到)

結論:真的會卡住的地方都不是演算法,而是「環境」和「資料」:下載、舊程式不相容、Windows 指令不同。每一個都有簡單的解法。

#遇到什麼為什麼怎麼解決
1模板的 !wget、!cat、!gunzip、!head 在 Windows 上不能跑這些是 Linux 指令,Colab 是 Linux 所以能跑改成 Python 寫法(urllib、gzip)。屬於「載入資料」,規定允許改。
2GloVe 下載很慢(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。先看檔案大小再估。