# 07b 修正驗證:《HW1_一條龍說明》對照 07a 與 teaching-doc-standard > 審查對象:`HW1\HW1_一條龍說明.html`(2026-10-06 00:11 組裝,23 節,順序 intro→g0→gt→g1→gw→gf→gk→g2…g12→gc→g13→g14→g15→g16,與 `build_guide.py` 的 `ORDER` 一致,無殘留 `⟦…⟧`) > 文字來源:`示範實作\_guide_drafts\guide_*.html`+`示範實作\build_guide.py` > 事實基準:`示範實作\_extract2\outputs.txt`;引語對照 W2/W3 逐字稿、助教說明影片逐字稿;圖對照 `_extract2\*.png` > 審查日:2026-10-06。本檔只列問題與改法,沒有改任何其他檔案。 ## 一句話結論 07a 的 12 組改名、逐節表、C1~C12、未標推論清單、引語清單、E1~E12 **幾乎全部修好**(約 95%)。 但修正過程**新增了一個跨節矛盾**:「超過雜訊」現在同時指「大於 1 倍雜訊」和「大於 1.5 倍雜訊」,而且第 9 節說「一律照同一條」,第 10、12 節卻沒照。 另外抓到 **5 個 07a 沒抓到的事實錯誤**:資料範例行號寫錯、taiwan 鄰居描述錯、t-SNE「每一對都貼得很緊」和「不是按男女分群」跟圖對不起來,還有「詞形還原有實驗證明」這句講過頭。 嚴重度統計:事實錯誤 5/矛盾 4/規範違反 10(含 13 個子項)/風格 4。 --- ## 一、07a 逐項覆蓋檢查 標記:✅ 已修/◐ 部分修/✗ 未修。 ### 〇 死碼 | 項目 | 狀態 | 證據 | |---|---|---| | 刪 `guide_new.html` 的 sec-gc、`guide_static4.html` 的 g13/g15、`guide_g12_rest.html` | ✅ | `grep "教材 → …字典 → …考卷」;gt 也重述 | | 用語表一節 | ✅ | guide_intro.html `sec-gt`,放在 g0 之後、g1 之前;含 14 小類固定名、實驗 ①~⑧ 對照表(⑧=(h) In [41] 已補) | | 「超過雜訊」定義 | ◐ | gt 定義為「差大於雜訊」,但 g9 表把「超過雜訊」改成 ≥1.5 倍——見新問題 C1 | ### 二 改名清單 #1~#12 | # | 狀態 | 證據/殘留 | |---|---|---| | #1 鄰居一詞兩義 | ✅ | guide_static.html「觀念 4:詞向量是電腦自己「看前後文」學出來的」;guide_static3.html「「前後文的字」算多遠」;guide_course.html「把「猜 30 萬選 1」改成「是不是真的前後文」」;guide_results3.html Q18「看前後幾個字當前後文」 | | #2 分 vs 百分點 vs 配分 | ✅ | guide_results4.html「正確率只多約 1 個百分點」;guide_results2.html「最高級卻贏 23.35 個百分點」;所有標題改「配分 X%」 | | #3 座標 → 詞向量 | ✅ | 全檔只剩 g1 比喻句與 PCA「畫圖的座標」兩處(皆為 07a 允許保留) | | #4 字典/模型 | ◐ | 主體已改(OVR「Wiki 20% 字典」、g7/g11 表頭)。殘留:guide_new.html「跨模型比分數」、「④ 怎麼學(模型設定)」「模型設定的影響」——見 S9 | | #5 雜訊/晃動 | ◐ | 文字全改(無「晃」「雜訊範圍」「運氣」)。殘留:圖 `noise_band.png` 標題「分不出是不是運氣」——見 S6 | | #6 3 次 vs 4 次 | ✅ | build_guide.py `OVR_EXTRA`「Wiki 5% 換種子(共 4 次,含原本的 42)」「38.45~39.72」;guide_new.html「另外換 3 個種子重跑(連同原本共 4 次,量雜訊)」 | | #7 格 → In [n] | ✅ | guide_new.html 全表改 In [2]、In [15]~In [19]、In [5]…In [24]、In [25]、In [26]~In [43];已逐一對 outputs.txt 的 exec 編號核對無誤;g7「同一格(In [23])」 | | #8 對照組/基準 | ✅ | guide_results4.html「一般名詞,當比較基準」;Q14「為什麼要做「維基對照組」?」 | | #9 教材/語料/資料 | ✅ | g7「教材少很多」;gf 表與因素圖「教材字數」「教材種類」;gc #3 #4 #6 已改 | | #10 小類名稱 | ✅ | g9 表改用 `SUB_ZH`(家人/性別);g10 公平比較「國名→國籍」;g4 結論「形容詞→副詞」;gk 9「表現最差的小類裡」 | | #11 公式小寫 | ✅ | guide_static.html「(b) (a) (c) (d)」;Q1「a 之於 b,等於 c 之於 d」 | | #12 讀者看不到的名字 | ✅ | g15「第 1 節後面三節」;g13 首次出現拍板卡時附路徑與說明;g11「印出的前 5 處前後文」 | ### 三 逐節審查表 | 節 | 狀態 | 證據/殘留 | |---|---|---| | intro | ✅ | 比喻、用語表、「三輪、共 8 位」皆到位 | | g0 | ✅ | 新增「所以對你的影響是」;總表上方提示「現在只看哪一列最高」;加分 6 列收進 `
`;時間統一「整格約 42 分鐘,其中訓練 37.9 分鐘」 | | gw | ✅ | g1 已移到 gw 之前(ORDER);「(後兩項是外部知識)」「(推論:口語問答 vs 百科;…)」「再換兩批新審查員各檢查一次」;有影響 callout | | gf | ✅ | 改成理解順序(one-hot→TF-IDF→WordNet→分布假說→Bengio→Word2Vec→GloVe→BERT);術語收進 `
`;「同參數設定(但 gensim 自動把收錄門檻調成 9/16/30 次…)」;「差異主要來自教材種類(…沒有完全排除)」 | | g1 | ✅ | 新增手算相似度、手算 b − a + c、兩個邊界情況、考試可能問;good/bad 0.70 取代 hot/cold;callout 改成「讀了什麼教材…和怎麼學」 | | gk | ◐ | 分 A~D 四組、加手算 E5/E6、各組考試題、影響 callout、時間點都已補。未做:A 組考試題沒連到 g14 題號(07a 建議連 Q5b~Q5d,現為 Q6~Q8) | | g2 | ✅ | 影響 callout;12 GB 標外部知識 | | g3 | ✅ | 「為什麼要整理成表格」、影響 callout、「考卷(Google analogy 資料集)」 | | g4 | ✅ | 主流程三小步+兩個邊界情況分開;「整題會被算成答錯」與考試題一致(C8 已解);外部知識標註;t-SNE 加圈重畫+`
` 三步。真題走一遍放在 g7(有指引),可接受 | | g5 | ✅ | 推算式、「模板註解寫的」、186 秒出處、W3 01:55:49–01:56:07、助教 00:13:26、數線圖 | | g6 | ◐ | 例外 1/2 拆出、外部知識、停用詞例改 the、of。作業規定引語只給 `HW1_Word_Analogy_規定.md` 第 79 行,沒給 PDF 頁碼(見 S7) | | g7 | ✅ | 影響 callout;「這一次畫出來的圖」「這次沒有看到」;「(推論,沒有數過)」;「(外部知識:GloVe 官方公布)」 | | g8 | ✅ | 「為什麼」附助教 00:18:56–00:19:16;min_count 註明調成 30;影響 callout | | g9 | ◐ | 手算 E4、前提小步(門檻、107 題)、14 小類全列、上升下降同一把尺都做到。但引入的 1.5 倍讀法造成新矛盾(C1) | | g10 | ✅ | 結論縮短並標單次實驗;「常常是錯字」;推論/外部知識標註;雜訊限制註記;推算式;3.2 小標;影響 callout | | g11 | ✅ | 結論一句;cat 挑字理由附 W3 時間點並寫出不利結果;34~86 次改列 7 個字;「公司或科技產品」;影響 callout | | g12 | ✅ | ① 列 4 個種子;② 補國名→國籍 +2.19、過去式 −3.21;177 題說明;④ 定義+E7;⑥ `
` 公式;⑦ PCA 三步;實驗標題附 (a)~(g) 與 In 編號;考試題與影響 callout | | gc | ✅ | #2 改 king/nangklao;#3 投影片欄補說明;#4 #5 標單次實驗 | | g13 | ◐ | 「沒寫 AI 使用說明扣 10 分(用了不扣)」、拍板卡說明已改。**但仍沒有「所以對你的影響是」**(S1) | | g14 | ✅ | Q1~Q18 連號;Q2 標推論;小寫 a、b、c。(但沒有影響 callout,見 S2) | | g15 | ✅ | 「三輪、共 8 位」;步驟 2 用讀者看得到的名字 | | g16 | ✅ | 影響 callout;`VERIFY` 改「三輪、共 8 位」 | ### 四 C1~C12 | # | 狀態 | 證據 | |---|---|---| | C1 雜訊判斷不一致 | ◐ | g9 內部已一致(上升下降都用同一條 1.5 倍讀法),但與 gt/g10/g12 不一致——見新 C1 | | C2 停用詞表漏列 | ✅ | guide_results5.html 新增 `國名→國籍78.4280.61…+2.19` 與過去式 −3.21,並註明「列了 In [35] 所有『超過雜訊』的小類」 | | C3 3 次/4 次 | ✅ | 見 #6 | | C4 完全取決於教材 | ✅ | guide_static.html「字典好不好,取決於兩件事:…讀了什麼教材…和怎麼學」 | | C5 只能來自種類/同參數 | ✅ | guide_new.html 表與 callout、Q14 都已加「沒有完全排除」 | | C6 審查員人數 | ✅ | intro、gw、g15、`VERIFY` 皆「三輪、共 8 位」 | | C7 sourpuss 三種說法 | ✅ | gc 改 king/nangklao;gk「(推論:它是冷門字,見第 11 節觀察 ①、④)」;g11 ④ 寫出 64 次與卡通前後文 | | C8 程式報錯 vs 算錯 | ✅ | guide_results1.html「不轉的話這些字查不到,整題會被算成答錯」,與考試題一致 | | C9 38/40 分鐘 | ✅ | g0 流程圖「訓練 37.9 分鐘」、配分表「整格約 42 分鐘,其中訓練 37.9 分鐘」 | | C10 全是科技 | ✅ | gf、g11、Q4、gc #8 皆「公司或科技產品」 | | C11 都是錯字 | ✅ | g10「論壇的鄰居常常是錯字」並列出哪 4 個字是、哪 3 個不是 | | C12 單張 t-SNE 下判斷 | ✅ | g4「(推論:t-SNE 每次跑可能不同,這裡只看這一次)」;g7 表頭「這一次畫出來的圖」。**但另有圖文不符問題,見 F3、F4** | ### 五 未標推論/外部知識清單(21 項) 全部 21 項 ✅,例:guide_results1.html「GloVe 字典收了 40 萬字(外部知識)」「好多州都有 Springfield,外部知識」;guide_results2.html「(這兩個字的意思是外部知識)」;guide_results4.html「nangklao(34,泰國國王,外部知識)」;guide_results5.html「(外部知識:Levy & Goldberg 2014)」。 唯一 ◐:#16「這部電影很__」在 g11 已標推論,但 **g1 的 callout 同一句仍未標**(見 S3-a)。 ### 六 引語/時間點清單(8 項) | 項目 | 狀態 | 證據(逐字稿核對) | |---|---|---| | g5 老師警告、助教影片 | ✅ | W3 01:55:49–01:56:07「你不要把百分之百的wikidump都載入 然後自己再選」;助教 00:13:26「每一行代表一篇Wikipedia的文章」 | | g6「不是每個技巧都會更好」 | ◐ | 給了 規定.md 第 79 行(已核對該行確實寫此句),沒給 PDF 頁碼 | | g8「老師說過這件事」 | ✅ | 已刪,改引助教 00:18:56–00:19:16(核對相符) | | g10「沒放這題 0 分」 | ✅ | 「作業規格 PDF p31」,與 規定.md 第 16 列一致 | | g11 cat | ✅ | W3 00:05:12–00:05:27「去看你所熟知的字…貓附近的向量…其實不是貓」 | | g12 queen 前三名 | ✅ | W3 00:31:24「也許他可能在前三名的」 | | g14 考試方向 | ✅ | W3 02:48:55–02:49:09 原話相符 | | gf insight | ✅ | 改「這就是作業要的分析」 | ### 七 手算例子 E1~E12 | # | 狀態 | 位置與核算 | |---|---|---| | E1 相似度 | ✅ | g1;24、5、0.96、0 重算正確;配圖 toy_cosine.png 正確 | | E2 b − a + c | ✅ | g1;改用另一組數字。重算:★=(3.2, 1.1),‖★‖=3.384;woman 10.70÷(3.384×3.162)=0.99996→1.000;girl 9.93÷10.202=0.973;apple −3.10÷12.201=−0.254;man 4.30÷4.785=0.899,全對。toy_analogy.png 有 ★ 與箭頭 | | E3 一題真題 | ✅ | g7;In [38] `boy girl father mother → stepmother, rank 2.0` 相符 | | E4 雜訊 | ✅ | g9;47.10−46.05=1.05、2.27>1.05、55.98−54.18=1.80>1.35,全對;noise_ruler.png 正確 | | E5 Word2Vec 查表 | ◐ | gk 4;0×…+1×(0.8,0.5)…=(0.8,0.5) 正確。07a 建議的「one-hot → V → U → 機率」配圖沒有做(S5) | | E6 負取樣 | ✅ | gk 5;g6 negative 列有連結 | | E7 前 k 名 | ✅ | g12 ④ | | E8 t-SNE | ✅ | g4 `
` 三步 | | E9 3CosMul | ✅ | g12 ⑥ `
` | | E10 PCA | ◐ | g12 ⑦ `
` 三步文字有了,07a 建議的「畫出兩條主成分線」配圖沒做(S5) | | E11 覆蓋率 | ✅ | g10「(假設的)…2 ÷ 4 = 50%」 | | E12 每 100 萬字 | ✅ | g10;27.50×72.92=2,005.3;0.96×72.92=70.0;27.50÷0.96=28.6,全對 | ### 八 「所以對你的影響是」與「考試可能問」 07a 列的 15 個缺影響段的節**全部補上**;g1、gk、g12 的考試題也補上。 新檢查(掃組好的 HTML)仍缺「所以對你的影響是」:**g13、g14**(intro 不算)。 --- ## 二、新問題(依嚴重度排序) ### A. 事實錯誤 **F1|guide_static3.html(g5)資料範例的行號錯** - 原文:`

注意上面第 0 行的「he led the united states through the ...」:數字被拿掉了(例如年份),單一字母的字也被拿掉了(例如 a)。這是助教清資料時用的工具預設會做的事。

` - 問題:「he led the united states through the ...」在 `R["wiki_head"]` 的**第 5 行**(abraham lincoln),不是第 0 行。而且引的這半句本身看不出數字被拿掉;看得出的是第 5 行的「february april」「the th president」。少了 a 的例子在第 0 行(anarchism is political philosophy)和第 3 行(alabama is state)。讀者照著找會找不到。 - 改成:`

注意上面第 5 行(abraham lincoln):「february april was」「the th president」中間的日期和數字被拿掉了;第 0 行「anarchism is political philosophy」、第 3 行「alabama is state」少了單一字母的 a。這是助教清資料時用的工具預設會做的事(筆記本 In [27] 的註解寫「WikiCorpus 的預設」)。

` **F2|guide_results4.html(g11)觀察 ⑤ taiwan 的鄰居描述錯** - 原文:`

taiwan 在兩本字典的鄰居都是中國的地名與省份(taipei、china、guangdong、fujian),可能反映教材中的地理與歷史脈絡(推論)。` - 問題:In [32]:GloVe 的 taiwan 鄰居是 mainland、china、taiwanese、taipei、hong,**沒有** guangdong、fujian;只有 Wiki 20% 字典有 guangdong、hainan、fujian。另外 taipei 不是「中國的地名與省份」。這句同時把兩本字典混在一起、又把地名分錯類。 - 改成:`

taiwan 的鄰居兩本字典都有 taipei、china;GloVe 字典另外是 mainland、taiwanese、hong,Wiki 20% 字典另外是 guangdong、hainan、fujian 三個中國沿海省份。(推論)教材常把台灣和兩岸、華南地區放在同樣的前後文裡寫,所以詞向量很近。` **F3|t-SNE「男女配對都貼在一起」跟圖不符(5 處)** - 原文與位置: - guide_results5.html(g12 ⑦):`沒有男女軸,但每一對都貼得很緊(boy/girl、groom/bride、dad/mom、king/queen),分群清楚` - guide_results1.html(g4 結論):`t-SNE 圖上,男女配對黏在一起。` - guide_results1.html(g4 bullet):`

  • 男女配對黏在一起(灰線):boy/girl、man/woman、dad/mom,還有 bride/groom、policeman/policewoman。
  • ` - guide_conclusion.html(gc #1):`t-SNE 圖上男女配對貼在一起、按角色分群` - guide_results3.html(Q17):`看「誰跟誰是一群」:男女配對黏在一起、按角色分群。` - 問題:兩張圖(cell15_0.png、cell28_0.png,已確認與加圈版位置相同)裡,brother/sister、uncle/aunt、son/daughter、nephew/niece、stepfather/stepmother 都分得很開(例:Wiki 20% 圖 brother (1.0, 1.7) vs sister (−2.8, 4.7);GloVe 圖 brother (−0.9, 5.5) vs sister (3.4, 4.4))。「每一對都貼得很緊」是錯的;「男女配對黏在一起」當成全稱也是錯的。 - 改成: - g12 ⑦:`沒有明顯的男女軸;有些配對貼得很緊(boy/girl、groom/bride、dad/mom、king/queen),但 brother/sister、uncle/aunt、stepfather/stepmother 分得很開` - g4 結論:`t-SNE 圖上,有些男女配對黏在一起(boy/girl、man/woman),也有分很開的(brother/sister)。` - g4 bullet:`
  • 有些男女配對黏在一起(灰線):boy/girl、man/woman、dad/mom,還有 bride/groom、policeman/policewoman。但 brother/sister、uncle/aunt、son/daughter 沒有黏在一起。
  • ` - gc #1:`t-SNE 圖上部分男女配對貼在一起(boy/girl、man/woman)、有幾個按角色分的群` - Q17:`看「誰跟誰是一群」:部分男女配對黏在一起、有幾個按角色分的群(但不是每一對都黏在一起)。` **F4|guide_results1.html(g4)「不是按男女分群」跟 GloVe 圖不符** - 原文:`
  • 按「角色」分群,不是按男女分群:皇室(藍圈)、「繼」字輩(綠圈)、代名詞(紅圈)、複數(褐圈)各一群。
  • ` - 問題:tsne_glove_marked.png 中間那一大塊,男性親屬(son、brother、nephew、uncle、grandson、grandfather、father,x 約 −1.8~0)在左,女性親屬(daughter、mother、sister、aunt、grandmother,x 約 1.9~3.4)在右——圖上**有**男女分邊。說「不是按男女分群」會讓讀者對著圖找不到依據。下一個 bullet 的推論「角色比性別更決定分群」也要一起軟化。 - 改成:`
  • 有按「角色」分的群:皇室(藍圈)、「繼」字輩(綠圈)、代名詞(紅圈)、複數(褐圈)各一群。中間那一大塊則大致是左邊男性(son、brother、uncle)、右邊女性(daughter、mother、aunt)。
  • `;下一個 bullet 改 `這張圖上「角色」和「性別」都看得到分群(推論:t-SNE 每次跑可能不同,這裡只看這一次)。` **F5|「詞形還原有實驗證明」講過頭(2 處)** - 原文: - guide_new.html(gw 技術決定表):`停用詞和字形變化就是考卷的答案(第 12 節有實驗證明)。` - guide_results3.html(g8 第 1 題要點):`沒做詞形還原:語法類就是考字形變化。第 12 節有實驗數據證明。` - 問題:第 12 節只有停用詞實驗(In [35]),**沒有**詞形還原實驗。這兩句讓讀者以為兩件事都有數據。考試被問「你怎麼知道詞形還原會變差」會答錯。 - 改成: - gw:`停用詞和字形變化就是考卷的答案。停用詞有實驗(第 12 節實驗 ②);詞形還原沒有做實驗,是看考卷內容推的(例:bigger 還原成 big,比較級的答案就不見了)。` - g8:`沒做詞形還原:語法類就是考字形變化(這點沒有做實驗,是看考卷推的)。停用詞的部分,第 12 節實驗 ② 有數據。` ### B. 前後矛盾 **C1|「超過雜訊」一個名字兩個意思,且第 9 節說「一律照同一條」但第 10、12 節沒照(本輪修正新造成)** - 原文: - guide_intro.html(gt):`超過雜訊beyond noise兩個結果的差(不管正負)大於雜訊,才說「真的有差」。`(=大於 1 倍) - build_guide.py `q2_judge`:`return '超過雜訊'`(只在 ≥1.5 倍時出現) - guide_results4.html(g9 表下):`判斷欄的讀法:「超過雜訊」=差距至少是雜訊的 1.5 倍;…這條 1.5 倍是本說明額外加的保守讀法,變好、變壞一律照同一條;` - guide_results5.html(g12 ②):`名詞複數…是`、`國名→國籍、名詞複數刪了反而變好(超過雜訊)`(這兩列只有 1.25、1.30 倍,照 g9 應是「只當參考」;語法類 −1.65 是 1.31 倍、過去式 −3.21 是 1.32 倍,同樣) - guide_results5.html(g12 ③):`國名→國籍 −1.81,超過雜訊`(1.07 倍) - build_guide.py `R["exam_q2"]`:`語意類的五個小類都超過雜訊但有升有降,加總互相抵消。`(照 g9 表,五個裡只有貨幣是「超過雜訊」,另四個是「只當參考」) - 問題:同一個詞在 gt 是 1 倍、在 g9 表是 1.5 倍;g9 宣稱一律適用,g10/g12 卻用 1 倍。讀者看 g9 學會「1.30 倍只當參考」,到 g12 又看到 1.30 倍被當成證據。 - 改成(推薦:保留 1 倍為正式定義,1.5 倍另取名「明顯超過」,並明說只在 g9 用): - build_guide.py:`return '超過雜訊'` → `return '明顯超過'` - g9 表下:`判斷欄的讀法:「明顯超過」=差距至少是雜訊的 1.5 倍;「超過,只當參考」=有超過雜訊,但不到 1.5 倍(雜訊只用 4 個種子、只在 5% 量過,剛好超過的不太可靠);「沒超過」=分不出來。這條 1.5 倍是本說明額外加的保守讀法,變好、變壞一律照同一條;第 10、12 節的表照筆記本的 beyond noise?,只看有沒有超過,剛好超過(不到 1.5 倍)的會在文中註明「只當參考」。數字來自 In [31]、In [34]。` - gt 加一列:`明顯超過—差距至少是雜訊的 1.5 倍。只超過一點點(1~1.5 倍)的,本文寫「超過,只當參考」。` - g12 ②:`國名→國籍、名詞複數刪了反而變好(超過雜訊)` → `國名→國籍、名詞複數刪了反而變好(超過雜訊,但不到 1.5 倍,只當參考)`;表下加一句 `語法類(1.31 倍)、名詞複數(1.25 倍)、國名→國籍(1.30 倍)、過去式(1.32 倍)只是剛好超過;家人/性別(3.13 倍)、動詞第三人稱(5.44 倍)、比較級(1.51 倍)是明顯超過。` - g12 ③:`(國名→國籍 −1.81,超過雜訊)` → `(國名→國籍 −1.81,剛好超過雜訊 1.69,只當參考)` - `R["exam_q2"]`:`語意類的五個小類都超過雜訊但有升有降,加總互相抵消。` → `語意類的五個小類都超過雜訊,但只有貨幣明顯超過(1.5 倍以上),其他四個只當參考;而且有升有降,加總後互相抵消(推論)。` **C2|邊界情況編號,第 1 節和第 4 節相反** - 原文: - guide_static.html(g1):`

    邊界情況 1:答案不能是題目自己的字

    `、`

    邊界情況 2:題目的字不在字典裡

    ` - guide_results1.html(g4):`

    邊界情況 1:題目的字查不到

    `、`

    邊界情況 2:答案不能是題目自己的字

    `、程式註解 `# 邊界 1:三個字都查得到嗎?`,以及 `原因見第 1 節「邊界情況 1」` - 問題:同一個「邊界情況 1」在兩節指不同的事。g4 的交叉引用本身正確,但讀者會被自己節裡的編號弄混(規則 13、18)。 - 改成(g4 對齊 g1 的編號,順序可以不動): - `

    邊界情況 1:題目的字查不到

    ` → `

    邊界情況 2(同第 1 節):題目的字查不到

    ` - `

    邊界情況 2:答案不能是題目自己的字

    ` → `

    邊界情況 1(同第 1 節):答案不能是題目自己的字

    ` - `# 邊界 1:三個字都查得到嗎?` → `# 邊界情況 2:三個字都查得到嗎?` **C3|guide_results4.html(g11)結論說四種,但有觀察 ⑤** - 原文:`

    結論:「最像的字」(鄰居)常常不是人想的那樣,原因可以分成四種(下面觀察 ①~④)。

    ` - 問題:本節還有「觀察 ⑤:taiwan 和 computer」,讀者會以為漏看或多算。 - 改成:`

    結論:「最像的字」(鄰居)常常不是人想的那樣,原因可以分成四種(下面觀察 ①~④);觀察 ⑤ 是兩個比較「正常」的字,當對照。

    ` **C4|guide_static.html(g1)考試題的交叉引用指錯題** - 原文:`③ 詞向量是怎麼學出來的?(觀念 4;第 14 節 Q2、Q6)` - 問題:Q2 問的是「為什麼詞向量可以做加減」,不是「怎麼學出來」。真正對應的是 Q3(Skip-gram/CBOW)、Q6(訓練資料)、Q7(詞向量在網路哪裡)、Q8(負取樣)。 - 改成:`③ 詞向量是怎麼學出來的?(觀念 4;第 14 節 Q3、Q6、Q7、Q8)` ### C. 規範違反 **S1|g13 缺「所以對你的影響是」(規則 3)** - 檔案:guide_submit.html,`sec-g13` 的 `
    ` 前。 - 原文:(無) - 改成(插在「打包上傳」`` 之後):`
    所以對你的影響是:你本人只要做兩件事——在第 6 題最後一行照實寫「What I did」,然後照上面 4 步打包上傳。其他都已經做好。
    ` **S2|g14 缺「所以對你的影響是」(規則 3)** - 檔案:guide_results3.html,`sec-g14` 的 `
    ` 前。 - 原文:(無) - 改成:`
    所以對你的影響是:考前把 18 題各自先開口答一次再打開看;答不出來的,回到題目裡標的那一節重讀。回答一律用「數字 → 觀察 → 原因」三句(第 8 節)。
    ` **S3|仍未標「推論/外部知識」的句子(規則 15)** | # | 檔案 | 原文 | 改成 | |---|---|---|---| | a | guide_static.html(g1 callout warn) | `good(好)和 bad(壞)意思相反,但前後文很像(「這部電影很__」),Wiki 20% 字典裡兩者相似度 0.70(In [33])。` | `good(好)和 bad(壞)意思相反,但前後文很像(「這部電影很__」,推論),Wiki 20% 字典裡兩者相似度 0.70(In [33])。` | | b | guide_static.html(g2 表) | `閒置太久或跑太久會被中斷,畫面上的結果會不見` | `閒置太久或跑太久會被中斷,畫面上的結果會不見(外部知識)` | | c | guide_static3.html(g6 window 列) | `(每次實際在 1~5 之間隨機取,所以近的字被看到的次數比較多)` | `(每次實際在 1~5 之間隨機取,所以近的字被看到的次數比較多;外部知識:gensim 的預設做法)` | | d | guide_results5.html(g12 ②) | `(Korea won 的 won——NLTK 把它當成 won't 的一部分)` | `(Korea won 的 won——NLTK 把它當成 won't 的一部分,外部知識)` | | e | guide_results5.html(g12 ⑤) | `Armenia → hryvnia(烏克蘭的錢)/ dram
    Cambodia → kyat(緬甸的錢)/ riel` | `Armenia → hryvnia(烏克蘭的錢,外部知識)/ dram
    Cambodia → kyat(緬甸的錢,外部知識)/ riel` | | f | guide_results5.html(g12 ⑤) | `電腦其實答對了,是考卷用另一種拼法。` | `電腦其實答對了,是考卷用另一種拼法(外部知識:兩種拼法字典都收)。` | | g | guide_results2.html(g10) | `來源:SemEval 2016/2017 Task 3 的公開資料` | `來源:SemEval 2016/2017 Task 3 的公開資料(外部知識)` | | h | guide_results2.html(g10 3.3) | `就算字有(常見國家首都覆蓋率 100%),出現次數太少、也很少出現在「首都是…」這種前後文,關係學不起來。` | `就算字有(常見國家首都覆蓋率 100%),(推論)出現次數太少、也很少出現在「首都是…」這種前後文,關係學不起來;capital 一字在論壇只有維基的 0.27 倍可以間接支持。` | | i | guide_results4.html(g11 ⑤) | `是 7 個字裡最「乖」的一組——一般名詞、用法單一時,詞向量最符合直覺。` | `是 7 個字裡最「乖」的一組(推論:一般名詞、用法單一時,詞向量比較符合直覺;這裡只看了 computer 一個字)。` | | j | guide_results4.html(g11 ③) | `goldieblox 是玩具公司` | `goldieblox 是玩具公司(外部知識)` | | k | guide_new.html(gw)、guide_static3.html(g6) | `老師建議的「只留高頻字」`/`老師建議的「只保留高頻字」` | 說法本身有依據(規定.md 第 79–84 行「老師建議的前處理…只保留最高頻的字進字典」),只缺出處:改成 `老師在作業規格裡建議的「只保留最高頻的字」(整理在 HW1_Word_Analogy_規定.md 第 84 行)` | **S4|引號內不是原話(規則 17)** - guide_static.html(g1)原文:`(老師的說法:「不是這麼 exactly 一樣,但趨勢很接近」,W3 00:32:01)` - guide_results3.html(Q2)原文:`老師說「不是這麼 exactly 一樣,但趨勢很接近」` - 問題:逐字稿 W3 00:32:03–00:32:05 是「還是不是這麼exactly是一樣的pattern 但是趨勢非常的close」。引號內應為原話。 - 改成:g1 `(老師原話:「不是這麼 exactly 是一樣的 pattern,但是趨勢非常的 close」,W3 00:32:03)`;Q2 `老師說「不是這麼 exactly 是一樣的 pattern,但是趨勢非常的 close」(W3 00:32:03)` **S5|E5、E10 的配圖沒做(規則 9)** - guide_course.html 第 4 點:只有表與算式,沒有 07a 建議的「one-hot → V →(2 個數字)→ U → 4 個字的機率」示意圖。 - guide_results5.html 實驗 ⑦ `
    `:只有文字三步,沒有畫出兩條主成分線的圖。 - 改法:用 `make_toy_figures.py` 各加一張圖(`toy_w2v.png`、`toy_pca.png`),在 `build_guide.py` 的 `IMG` 字典註冊,分別插在 `

    第 2 小步:one-hot 乘 V…` 之前與 PCA `

    ` 第 1 步之前。 **S6|圖檔殘留已廢除的用語「運氣」(規則 13)** - 檔案:`make_toy_figures.py` 第 76 行(產生 `noise_band.png`) - 原文:`ax.set_title("在粉紅帶子裡=分不出是不是運氣;在帶子外=真的有差")` - 改成:`ax.set_title("在粉紅帶子裡=沒超過雜訊,分不出來;在帶子外=超過雜訊")`(重跑腳本後重組 HTML) **S7|作業規定引語沒有 PDF 頁碼(規則 15、17)** - 檔案:guide_static3.html(g6) - 原文:`作業規定寫「不是每個技巧都會更好,你要自己試」(作業規格 PDF;整理在 HW1_Word_Analogy_規定.md 第 79 行)` - 改法:查 2026 版 PDF 的對應頁,改成 `(作業規格 PDF p.__,原文是英文,這裡是中譯;整理在 …第 79 行)`。查不到頁碼的話,至少註明「中譯」。 **S8|查證聲明提早寫了「審查兩次」(規則 18)** - 檔案:build_guide.py `VERIFY` - 原文:`這份說明另依教學文件規範審查兩次。` - 問題:組裝當下只有 07a 一次;07b(本檔)是第二次,而且本檔列的問題還沒修。照規則 21,要「修完換新審查員驗證、直到沒有新問題」才算完成。 - 改成(本檔問題修完並經下一位審查員確認後):`這份說明另依教學文件規範審查三輪(07a、07b,以及修正後的驗證)。`;在那之前改成 `這份說明另依教學文件規範審查兩次,第二次的修正尚待驗證。` **S9|改名殘留(規則 13)** | 檔案 | 原文 | 改成 | |---|---|---| | guide_new.html(gw 階段 6) | `改正 4 處講錯的觀念(apple、冷門字、跨模型比分數、min_count)` | `改正 4 處講錯的觀念(apple、冷門字、拿兩本字典的相似度互比、min_count)` | | guide_new.html(gf 因素圖、控制變因表) | `④ 怎麼學(模型設定)`、`模型設定的影響` | `④ 怎麼學(訓練設定)`、`訓練設定的影響`(gc #6 已用「訓練設定」) | | guide_results5.html(g12 ⑤) | `錯題分析把「分數低」拆成好幾種原因` | `錯題分析把「正確率低」拆成好幾種原因` | | guide_results2.html(g10 3.3) | `論壇字典只有對照組的一半大` | `論壇字典只有維基對照組字典的一半大(100,310 vs 224,050 字,In [28])` | | guide_results1.html(g4)、guide_results4.html(g9) | `

    考出來的成績

    `、`

    成績(全部 14 個小類都列出來)

    ` | `

    考出來的正確率

    `、`

    正確率(全部 14 個小類都列出來)

    ` | **S10|gk 考試題沒連到第 14 節題號(07a gk ② 的後半)** - 檔案:guide_course.html - 原文:`「Word2Vec 訓練完,詞向量在網路的哪裡?」→ 第一層權重 V 的每一列(第 4 點的查表)。
    ` - 改成:`「Word2Vec 訓練完,詞向量在網路的哪裡?」→ 第一層權重 V 的每一列(第 4 點的查表;第 14 節 Q7)。
    `;下一題後加 `(第 14 節 Q8)`。 ### D. 風格 | # | 檔案 | 原文 | 問題 | 改成 | |---|---|---|---|---| | Y1 | build_guide.py `diff_cell` | `return f' 0 else "no"}">{d:+.2f}'` | g7 表的負號是 ASCII「-」,g9 表(`q2_row`)是「−」,同一份文件兩種負號 | `return f' 0 else "no"}">{f"{d:+.2f}".replace("-", "−")}'` | | Y2 | guide_results4.html(g11 挑字表) | `king考卷裡的字,當基準` | 「基準」在用語表專指 5% 的「基準設定」 | `king考卷裡的字,當比較的起點` | | Y3 | guide_course.html(gk 6 依據) | `W3 00:27:56–00:29:34、00:04:34–00:05:43、00:25:54` | 本文寫 00:05:27,依據寫 00:05:43,範圍不一 | 統一為 `00:04:34–00:05:43`(逐字稿 00:05:43 還在講同一件事),本文同步改 | | Y4 | `make_toy_figures.py`(noise_band.png) | window=10 的菱形是綠色 | 全文綠色=變好(`.ok`),但 window=10 是變差 | window=10 改用深紅 `#A31F34` | --- ## 三、數字抽查(47 個,全部對得上) | # | 位置 | 文件數字 | outputs.txt 出處 | 結果 | |---|---|---|---|---| | 1 | g0 OVR | GloVe 63.11/65.34/61.26 | exec 13、25 | ✅ | | 2 | g0 OVR | Wiki 20% 48.39/56.70/41.48 | exec 23 | ✅ | | 3 | g0 OVR | Wiki 10% 47.15/55.60/40.13 | exec 31 | ✅ | | 4 | g0 OVR | 3.33 億、1.66 億、7,292 萬字 | exec 31 333,052,711;exec 27 166,194,401、72,920,923 | ✅ | | 5 | g0 OVR_EXTRA(新) | 換種子 46.05~47.10/54.18~55.98/38.45~39.72 | exec 34 | ✅ | | 6 | g0 OVR_EXTRA | 3CosMul 44.66/54.12/36.80 | exec 39 | ✅ | | 7 | g0 OVR_EXTRA | 300 維 57.44/68.54/48.22 | exec 36 | ✅ | | 8 | g0 流程圖 | 562 萬篇 → 112 萬篇 | exec 20 | ✅ | | 9 | g0 | 訓練 37.9 分鐘 | exec 21 | ✅ | | 10 | g1(新) | good/bad 0.70 | exec 33 | ✅ | | 11 | g1(新) | 前 3 名多 13.14 | exec 37:61.53−48.39 | ✅ | | 12 | g1(新) | 手算 E1:24、5、0.96、0 | 重算 | ✅ | | 13 | g1(新) | 手算 E2:1.000/0.973/−0.254/0.899 | 重算、`toy_cosine.txt` | ✅ | | 14 | g2 | 6.93 GB ≈ 6.45 GiB | exec 18;6.93e9÷1024³=6.454 | ✅ | | 15 | g4 | OOV 0 | exec 12 | ✅ | | 16 | g4 | 家人/性別 46 個字 | 考卷 23 對 × 2 | ✅ | | 17 | g5(新) | 5,623,655 − 10×562,365 = 5 | exec 20 | ✅ | | 18 | g5(新) | 4.16÷0.2=20.8;÷6.93≈3 | exec 20、18 | ✅ | | 19 | g6 | 0.72%、206 題、門檻 30/16/9 | exec 21、35、31 | ✅ | | 20 | g7 | 低約 15 個百分點(14.72) | 63.11−48.39 | ✅ | | 21 | g7 考試 | −38.17、−30.33、−30.03、−29.95(下降前四名) | exec 42 重算全 14 類 | ✅ | | 22 | g7(新) | stepmother 第 1、mother 第 2 | exec 38 | ✅ | | 23 | g7 | 約 9 倍(60÷6.66) | 外部 60 億+exec 21 | ✅ | | 24 | g9(新) | +1.03、+1.24 | exec 31 | ✅ | | 25 | g9(新) | 語法 +3.03/1.26、語意 +1.35/1.80 | exec 31、34 | ✅ | | 26 | g9(新) | 最高級 +7.31、反義字首 +4.19 | exec 31 | ✅ | | 27 | g9(新) | 107 題=0.55% | 107÷19,544=0.547% | ✅ | | 28 | g9 `q2_rows`(新) | 17 列判斷全部重算(動詞第三人稱 3.10 vs 1.5×2.07=3.105,落在「只當參考」,邊界但程式一致) | exec 31、34 | ✅ | | 29 | g10(新) | 592、34、9.1 | 666,053,126÷1,124,733;72,919,300÷2,118,254;666.05÷72.92 | ✅ | | 30 | g10 | 23.35、54.85 個百分點 | exec 28:40.55−17.20;76.55−21.70 | ✅ | | 31 | g10(新) | 2,005、70、28.6 倍 | exec 30 重算 | ✅ | | 32 | g10 | 家人/性別差 2.97 < 4.74 | exec 28、34 | ✅ | | 33 | g10 `q3_rows` | 14 小類「誰贏」全部重算 | exec 28、34 | ✅ | | 34 | g10 | 公平比較 42.80/32.12、52.80/22.10、37.91/37.01、18.28/42.90 等 | exec 28 | ✅ | | 35 | g10、gf | 字典 100,310 vs 224,050(「一半」) | exec 28 | ✅ | | 36 | g10 | 3.5~28.6 倍(goes 3.54、cheapest 28.64) | exec 30 | ✅ | | 37 | g11(新) | 7 個冷門字 34~86 次 | exec 33 | ✅ | | 38 | g11 | apple–banana 0.41、fruit 0.37、microsoft 0.65;bank–river 0.49、money 0.40 | exec 33 | ✅ | | 39 | g12(新) | 雜訊 1.50~4.74 | exec 34 | ✅ | | 40 | g12(新) | 206=86+62+58;284−107=177 | exec 35 | ✅ | | 41 | g12(新) | 停用詞表 7 列(含國名→國籍 +2.19、過去式 −3.21) | exec 35 | ✅ | | 42 | g12 | CBOW 有 3 類較差,國名→國籍 −1.81 vs 1.69 | exec 36 | ✅ | | 43 | g12 | 4,563÷10,087=45% | exec 38 | ✅ | | 44 | g12(新) | GloVe 前 3 名多 10.57 | exec 37 | ✅ | | 45 | g12 | 3CosMul 14 小類全部下降 | exec 39 逐列比 | ✅ | | 46 | Q15 | 論壇貨幣覆蓋率 39%;GloVe、Wiki 20% 100% | exec 28、41 | ✅ | | 47 | build `R["sample_disk"]` | 抽樣原檔 7.28 GB | exec 20:1.04+2.08+4.16 | ✅ | outputs.txt 驗證不到(來自執行紀錄或機器資訊,非錯誤):186 秒、2,512 秒、109 分鐘、GloVe 128 MB、論壇 234 MB、RAM 15.7 GB、i7-11800H。 --- ## 四、初學者最可能卡住的 3 個地方 **R1|第 1 節「觀念 2:詞向量越近,意思越像」——「近」到底是距離還是方向?** - 為什麼會卡:標題說「越近」,下一段又說相似度「看的是方向」。到了手算 b − a + c,★=(3.2, 1.1) 和 woman=(3, 1) 不在同一點,相似度卻是 1.000;man 離 ★ 有 2.2 遠,相似度還有 0.899。完全不懂的人會想「到底是看距離還是看角度?」。 - 改法:guide_static.html `

    觀念 2:詞向量越近,意思越像

    ` → `

    觀念 2:詞向量方向越一致,意思越像

    `;在「為什麼要除以長度」那段後面加一句 `

    本文說的「近」「最像」,都是指方向(夾角小),不是兩點之間的距離。所以下面手算時,★ 跟 woman 位置不完全一樣,但方向幾乎一樣,相似度就接近 1。

    `。 **R2|第 4 節 TODO2 程式的 `key_to_index` 和 `[0][0]` 沒有解釋** - 為什麼會卡:主流程表只講了轉小寫、b − a + c、找最近的字,但程式裡 `model.key_to_index`、`most_similar(...)[0][0]` 兩個寫法沒講。沒寫過 Python 的人看不懂「為什麼要 [0][0]」,而考試正好最常問這一行。 - 改法:在 guide_results1.html 主流程表 ③ 那列「為什麼」欄後面加:`most_similar 回傳一串「(字, 相似度)」,例如 [('woman', 0.71)];第一個 [0] 拿第一組,第二個 [0] 拿這一組裡的字 'woman'。`;在「邊界情況:查不到」那段加 `model.key_to_index 是字典收的所有字的清單,w in model.key_to_index 就是問「這個字查得到嗎?」`。 **R3|第 10 節連續三張表,不知道各自在回答什麼** - 為什麼會卡:3.1 成績表最後一列「查不到字的題目 169/3,510」、接著覆蓋率表(百分比)、再接「公平比較:15,684 題」。初學者分不清這三張表的關係,也不知道 15,684 是怎麼來的。 - 改法:在 guide_results2.html `

    3.1 成績

    ` 之前加一段路線圖:`

    下面三張表各回答一個問題:① 論壇字典考幾分?(3.1 成績)② 論壇字典是不是很多字根本沒收?(覆蓋率)③ 把「沒收的字」那些題拿掉,只比兩邊都考得了的 15,684 題,論壇還是輸嗎?(公平比較)③ 的答案是「還是輸」,所以差別不只是缺字。

    `。 (第 9 節三層判斷「超過雜訊/只當參考/沒超過」也是卡點,改法併入 C1。) --- ## 五、結論 **還不能直接交給學生(否)。** 07a 列的問題幾乎都修好了,數字抽查 47 個全對,手算例子也全部重算正確,整體品質比上一版好很多。但還有 5 個事實錯誤會讓讀者對著筆記本或圖找不到依據,或在考試答錯:F1 資料範例行號錯、F2 taiwan 鄰居描述錯、F3/F4 t-SNE 圖的描述跟圖不符、F5 誤稱詞形還原有實驗。另有一個本輪新造成的矛盾 C1(「超過雜訊」同時是 1 倍和 1.5 倍,第 9 節說「一律照同一條」但第 10、12 節沒照)。**先修 F1~F5 與 C1**(都是改字串+改 `build_guide.py` 一行,約 1 小時);接著補 S1/S2 兩個影響段與 C2~C4;S3~S10 和風格項可以同一批順手改。修完後照規則 21,換一位沒看過本檔的審查員驗證這些修正,沒有新問題才算可以交。 本報告的每一項判斷都來自實際查證:逐檔讀完 14 份草稿與 `build_guide.py`、掃描組好的 HTML 的節順序與殘留標記、對照 `_extract2\outputs.txt` 重算數字、查看 8 張 PNG(含與 In [14]、In [24] 原圖逐點比對),以及到 W2、W3、助教影片逐字稿核對每個時間點。