NLP 作業一|一條龍說明(從看懂到交出去)

2026-10-05|根據在你電腦上實際跑完的繳交版筆記本寫成,程式與報告經三輪、共 8 位獨立審查員對照老師原始資料檢查;這份說明另依教學文件規範審查|清大高宏宇老師《自然語言處理》115-1(TAICA)

一句話結論
這份作業就是「讓電腦讀文章、自己編一本字典,再考它『國王之於女王,等於男人之於__』」。
全文用一個比喻貫穿:電腦讀的文章叫教材 → 電腦自己編出一本字典(每個字查得到一串數字,叫詞向量)→ 拿考卷(19,544 題類比題)考這本字典。 我在你的電腦上完整做了一次:現成的 GloVe 字典考 63.11%,自己用 20% 維基百科訓練的字典考 ⟦R:w20_overall⟧。 這份文件把每一步「在做什麼、為什麼、結果怎麼看、報告怎麼寫、考試可能怎麼問」全部用白話講一遍。

這份文件怎麼用(三個階段)

階段做什麼讀哪幾節
1. 看懂框架作業在幹嘛、我做了什麼、整門課的邏輯、核心觀念第 0 節、用語表、第 1 節、我做了什麼、邏輯框架、課堂補充
2. 看實作一步一步看怎麼做、結果是什麼、為什麼是這樣第 2~12 節,對照筆記本
3. 看結論、交出去總結論;照實補上你做的部分;打包上傳總結論、第 13、15 節;考前讀第 14 節

示範的成果在哪裡

東西位置
繳交版筆記本(全部執行結果+報告)HW1\示範實作\NLP_HW1_submission_draft.ipynb(用 VS Code 或 Jupyter 打開;交之前改檔名)
套件清單HW1\示範實作\requirements.txt
上一份「作業介紹」(規定、扣分、說法打架、繳交檢查清單)HW1\HW1_作業介紹.html
交之前一定要知道的三件事
① 程式和報告是 Claude 做的,報告第 6 題已經照實寫出來;最後一行「你做了什麼」要你自己照實填(第 13 節)。
② 這份筆記本和報告不要給任何同學,兩份太像雙方 −100。
③ 考試是閉書、考作業的過程,所以這份文件一定要讀懂。

0 全貌:整份作業一張圖看完

結論:作業分三段:讀考卷 → 借別人的字典考試 → 自己編字典再考一次。報告的 6 題,其實是在問「字典好不好,取決於什麼」。

流程圖

Part I 讀考卷TODO1:整理成表格19,544 題、14 小類 Part II 借別人的字典TODO2 考試 → 63.11%TODO3 畫 t-SNE 圖 Part III 準備教材TODO4 維基抽 20%562 萬篇 → 112 萬篇 自己編字典TODO5 前處理+Word2Vec6.66 億字、訓練 37.9 分鐘 用自己的字典考試TODO6 考試 → ⟦R:w20_overall⟧TODO7 畫 t-SNE 圖 報告(45%):字典好不好,取決於什麼? 第 2 題 讀多少(5/10/20%)|第 3 題 讀什麼(換教材)|第 1、5 題 怎麼整理、怎麼設參數|第 4 題 字典的「像」跟人想的一樣嗎

所有實驗的成績總表

表裡的名詞(語意類、語法類、維基對照組⋯)先不用懂,用語表和第 1 節會解釋。現在只看「哪一列最高、哪一列最低」。數字都是正確率(%)。

⟦R:overview_rows⟧
字典讀了什麼教材整體語意類語法類在哪一節
進階:加分實驗的 6 列(第 12 節才會講) ⟦R:overview_rows_extra⟧
字典讀了什麼教材整體語意類語法類在哪一節

每一部分的配分與難度

部分配分難不難花最多時間的是
TODO1~320%簡單,照模板填下載 GloVe
TODO4~735%中等,要注意記憶體電腦訓練(TODO5 整格約 42 分鐘,其中訓練 37.9 分鐘)
報告 6 題45%最花腦力想原因、寫解釋
所以對你的影響是:先記住三個數字就好——GloVe 字典 63.11%、Wiki 20% 字典 48.39%、論壇字典 25.78%(同樣字數的維基對照組 41.46%)。總表其他每一列,都是「只改一個因素」的對照。

用語表:同一個東西,全文只用一個名字

結論:這份說明裡,每個概念只有一個名字。看到不懂的詞,回來這張表查。

為什麼要有這張表:課本、老師、程式碼對同一件事常常有好幾種叫法(例如「模型」「字典」「my_wv」都是同一個東西)。叫法一多,讀的人會以為是不同的東西。所以這裡先把名字定死。

先記住全文的比喻

教材(電腦讀的文章)→ 電腦自己編出一本字典(每個字一串數字)→ 拿考卷(19,544 題類比題)考這本字典。

教材、字典、考卷

全文只用這個名字英文/程式裡的叫法一句白話(照做的意思)
教材corpus(語料)拿來訓練字典的文章。例:維基百科抽 20%。
教材字數tokens教材裡一共有幾個字。例:Wiki 20% 教材 6.66 億字。
詞向量word embedding、vector一個字對應的一串數字(本作業是 100 個數字)。
字典model、model、my_wv一整組訓練好的詞向量:查一個字,拿到它的詞向量。本文主要有兩本:GloVe 字典(別人做好的)和 Wiki 20% 字典(我們用 20% 維基訓練的)。
字典收的字vocabulary(vocab)字典裡有詞向量的那些字。本作業最多收 30 萬個。
收錄門檻min_count一個字在教材裡出現至少幾次,才收進字典。程式設 5,但 gensim 會自動調高(第 6 節講為什麼)。
查不到的字(OOV)out-of-vocabulary字典沒收的字。題目只要有一個字查不到,那題直接算答錯。
考卷Google analogy 資料集19,544 題類比題。
類比題analogy question給 a、b、c 三個字,叫電腦猜第四個字 d。例:a=king、b=queen、c=man,d 應該是 woman。
語意類/語法類Semantic/Syntactic考卷的兩大類。語意類考「意思的關係」(首都、貨幣、家人);語法類考「字形變化」(比較級、過去式)。
小類SubCategory大類底下再分 14 小類,名字見下一張表。

成績怎麼算

全文只用這個名字英文一句白話
正確率accuracy答對題數 ÷ 總題數 × 100%。例(假設的整數):100 題答對 48 題 → 48%。
百分點percentage point兩個正確率直接相減。46.12% → 48.39% 是「多 2.27 個百分點」。
配分—作業每一部分佔總成績多少。例:報告第 3 題配分 15%。跟正確率是兩回事。
相似度cosine similarity兩個詞向量方向有多一致,介於 −1~1。第 1 節有手算例子。
b − a + c3CosAdd答類比題的公式:用 b 的詞向量減 a、加 c,算出一個點,再找最像的字。
前 k 名正確率top-k accuracy電腦列出最像的 k 個字,正確答案在裡面就算對。
覆蓋率coverage某小類的題目裡,「四個字全部查得到」的題數 ÷ 該小類題數。
雜訊noise教材和設定完全一樣,只換亂數種子(42、1、2、3)各訓練一次,共 4 次;4 個正確率的「最高 − 最低」。
超過雜訊beyond noise兩個結果的差(不管正負)大於雜訊,才說「真的有差」。
明顯超過—差距至少是雜訊的 1.5 倍。只超過一點點(1~1.5 倍)的,本文寫「超過,只當參考」。

訓練時的用語

全文只用這個名字英文一句白話
中心字center word訓練時正在看的那個字。
前後文的字context words中心字前後各 window 個字以內的字(作業設 5)。
鄰居nearest neighbors只用在一個意思:在字典裡跟某個字相似度最高的前幾個字(第 4 題用)。不是前後文的字。
維基對照組Wiki control (same size)從維基切出跟論壇教材一樣多字(約 7,292 萬字)的教材,用來公平比較。
基準設定baseline第 5 題所有實驗的起點:5% 維基、Skip-gram、window 5、100 維、種子 42。
壓成 2 維t-SNE、PCA為了畫圖,把 100 個數字壓成 2 個。
人工詞庫(WordNet)WordNet人手編的同義字、上下位字詞庫。叫「詞庫」是為了不跟「字典」撞名。
In [n]cell execution countJupyter 畫面左邊的編號。本文找筆記本的格子一律用它。

14 個小類的固定名字

大類小類(括號是筆記本上的英文)
語意類(5 個)常見國家首都(capital-common-countries)、全世界首都(capital-world)、貨幣(currency)、美國城市在哪州(city-in-state)、家人/性別(family)
語法類(9 個)形容詞→副詞(gram1)、反義字首(gram2)、比較級(gram3)、最高級(gram4)、-ing(gram5)、國名→國籍(gram6)、過去式(gram7)、名詞複數(gram8)、動詞第三人稱(gram9)

注意:「國名→國籍」(例 China → Chinese)雖然跟國家有關,但它考的是字形變化,所以屬於語法類。

加分實驗的編號(第 12 節)

本文編號做什麼筆記本
實驗 ①先量雜訊(換種子)第 5 題 (a),In [34]
實驗 ②刪停用詞第 5 題 (b),In [35]
實驗 ③CBOW、window、維度第 5 題 (c),In [36]
實驗 ④前 k 名正確率第 5 題 (d),In [37]
實驗 ⑤錯誤分析第 5 題 (e),In [38]
實驗 ⑥換 3CosMul 公式第 5 題 (f),In [39]
實驗 ⑦PCA 和 t-SNE 比較第 5 題 (g),In [40]
實驗 ⑧覆蓋率第 5 題 (h),In [41]
所以對你的影響是:考試寫答案時,也盡量用這張表的名字。尤其兩組最容易混:「鄰居」跟「前後文的字」是兩件事;「百分點」(正確率的差)跟「配分」(作業佔幾 %)是兩件事。