# 章節包:自然語言處理(NLP)W3(9/24)第 01 章「詞向量的起源與類比」
影片 0:02:31–0:36:38,YouTube ID g0QE6O17BWE。Notion 章節頁 https://app.notion.com/p/3e6fc631b0308169a5ebc6aa047ff58d(頁 ID 3e6fc631b0308169a5ebc6aa047ff58d),頁面標題「01 詞向量的起源與類比(0:02–0:36)」。
## 1. 第一行(直接照抄,不要改)
[自然語言處理](https://app.notion.com/p/3e6fc631b03081b4a9e8f91f3411f61f) › [W3(9/24)](https://app.notion.com/p/3e6fc631b03081ff9776f36fab3e6e50) › 01|影片 [0:02:31–0:36:38](https://www.youtube.com/watch?v=g0QE6O17BWE&t=151s)|投影片 W1_NLP_brief_v2 p.64–69|上一章 無|下一章 [02 分布假說與 LSA/LSI(0:36–0:53)](https://app.notion.com/p/3e6fc631b030815a90adc80645bf2668)
## 1b. 最後一行(直接照抄,放在 Self-check 後面,當全頁最後一行)
讀完了嗎?下一章:[02 分布假說與 LSA/LSI(0:36–0:53)](https://app.notion.com/p/3e6fc631b030815a90adc80645bf2668)|回到週頁:[W3(9/24)](https://app.notion.com/p/3e6fc631b03081ff9776f36fab3e6e50)
## 2. 各段標題(照順序;每段一個 ## 標題,直接照抄連結)
- `## [0:02:31](https://www.youtube.com/watch?v=g0QE6O17BWE&t=151s) 開場與回顧:one-hot 分不出貓狗卡車` 老師講什麼:今天要講完 intro 投影片並公布作業一。回顧上週:one-hot 和 TF-IDF 只能比對一模一樣的字,所以要做出帶語意的向量(embedding)。老師先預告,做作業時會發現「貓」附近的向量常常不是貓。
- `## [0:06:01](https://www.youtube.com/watch?v=g0QE6O17BWE&t=361s) 從數數改成用學的:Bengio 2003` 老師講什麼:以前靠數 n-gram 和共現機率,成本高、效果也不好。2000 年後資料和算力都變多,就改成用神經網路把語料裡的知識「內化」成模型參數。順帶聊 Bengio、LeCun、Hinton 拿圖靈獎,以及 AAAI 2019 的照片。
- `## [0:12:07](https://www.youtube.com/watch?v=g0QE6O17BWE&t=727s) 語言模型的源頭:Markov` 老師講什麼:在宗教主導的年代,Markov 親手統計母音和子音的前後關係,得出「下一步只看目前的狀態」。老師用作弊賭徒偷換骰子的例子講 hidden state(藏起來看不到的狀態),再延伸到 DNA 序列,以及「文字換成看不懂的符號也能分析」的想法。
- `## [0:21:08](https://www.youtube.com/watch?v=g0QE6O17BWE&t=1268s) Shannon 與資訊熵` 老師講什麼:越少見、越出乎意料的字,帶的資訊量越高,可以用 entropy(熵)來量化。這跟後面算語言模型機率和困惑度有關。
- `## [0:23:20](https://www.youtube.com/watch?v=g0QE6O17BWE&t=1400s) 為什麼向量表示行得通` 老師講什麼:貓和狗都會跳、會吃、會咬,卡車不會,所以字跟哪些字一起出現是有規律的。老師用「描述學生的特徵向量」來比喻 representation,並希望向量空間是平滑的:小貓、大貓都要靠近貓。
- `## [0:26:48](https://www.youtube.com/watch?v=g0QE6O17BWE&t=1608s) 詞向量的類比:man:woman=king:queen` 老師講什麼:把向量畫到 2D 平面,重點是字與字之間的相對關係:方向要一致。直接做向量運算就能推出 Queen,這就是作業一要做的事,不過 Queen 不一定排第一。另外也有公司對 CEO、比較級對最高級的例子。
- `## [0:32:59](https://www.youtube.com/watch?v=g0QE6O17BWE&t=1979s) 題外話:有了大語言模型還要學這些嗎` 老師講什麼:老師認為要回頭看以前的人怎麼做、遇到什麼痛點,才能建立「痛點對解法」的對應。凡事都問 AI 的話,表現會停在某個程度。
- `## [0:35:08](https://www.youtube.com/watch?v=g0QE6O17BWE&t=2108s) 更多類比與跨語言對應` 老師講什麼:首都、公司名稱也能這樣對應。英文和西班牙文的詞向量分布形狀很像,所以可以拿來做翻譯;不過跨語系(例如對中文)分布可能就不一樣。
## 3. 老師強調/會考/不考的地方(原句已驗證;寫進筆記時 ASR 錯字要改正)
- (0:05:37) [強調] 「所以這個就可以讓你反思,當你在做assignment,我們會問你這些問題」 → 作業一會要你反思:「貓」附近的向量常常不是貓,詞向量到底有沒有用(0:25:54 又講一次)
- (0:31:12) [強調] 「這個就是在你們assignment1要做的事情,但是你可能會發現你的Queen並不會在這個數字的附近的第一個選項」 → 作業一做的就是 king−man+woman 的類比,正確答案常常不在第一名,可以拿來討論
## 4. 這章摘要與重要度
為什麼要把字變成帶語意的向量:從 Bengio 2003、Markov、Shannon 講起,最後看詞向量怎麼做出 king−man+woman 這種類比。(核心)
## 5. 整堂課的提醒(ASR 錯字、老師口誤、投影片缺公式等;只用跟這章有關的)
- 0:00:00 那句「有任何疑問或感想,歡迎留言…點讚、訂閱、分享」是語音辨識幻覺,不是老師講的;0:01:21–0:02:30 是設定畫面,0:02:31 才開始上課。
- 0:42:31–0:43:48 疑似麥克風干擾(老師先問「有帶電池嗎」,接著說「為什麼幹擾」),逐字稿變成重複的「這個是電」加亂碼,約 1 分多鐘的內容遺失,大約是 brief p.74 的前半段。
- 作業一說明(1:46:39–2:02:06)用的是 NLP_HW1_word_emb.pdf,不在兩份投影片文字檔裡。本機有原檔(自然語言處理\NTHU_Natural_Language_Processing\2026\Assignments\Assignment1\),也有整理好的 自然語言處理\HW1\HW1_Word_Analogy_規定.md。
- W2 投影片這堂實際講到 p.17(困惑度),不只「開頭幾頁」;W2 p.4 跟 brief p.66(Markov/Shannon)是同一張,老師 2:16:45 自己說兩份投影片有重疊。
- YouTube 影片標題寫「Fall 2025」,實際是 2026-09-24 這堂(以網址為準)。
- brief p.68、p.69、p.89 是純圖頁(只有標題或 [IMAGE-ONLY]),0:26:48–0:36:38 那幾張類比圖各在 p.68 還是 p.69,從文字檔確認不了,寫章節時要轉成 PNG 看圖。
- 0:42:31–0:43:48 逐字稿是亂碼(重複「這個是電」加日文、俄文字元),約 1 分多鐘內容遺失,大概是老師在講 p.74「有出現不見得是相關」的前半;需要的話回去看影片。
- 作業一說明 PDF(NLP_HW1_word_emb.pdf)沒有 _text 文字版,第 5 章的 slides 欄無法標頁碼;需要的話先跑 slides_to_text.py。
- SOP 第 1 節寫 NLP-W3 用 W2 投影片的「開頭幾頁」,實際講到 W2 p.17(困惑度),建議改成 W2 p.1–17。
- 老師兩次說詞向量預設「700 多維」(1:04:34、1:22:11),可能跟 BERT 的 768 維混在一起;就我所知,Gensim word2vec 預設 vector_size 是 100,Google News 預訓練向量是 300 維。寫筆記前要再查證。
- 1:28:38 老師先說 GloVe 是 2013 年、又改口說 2014;投影片 p.91 寫 2014,考試照投影片寫。1:32:25 老師說「一般認為 GloVe 比 word2vec 好」,但投影片 p.93 寫「It depends」,Exam-ready 照投影片寫。
- 逐字稿裡 property/priority/publicity 大多是 probability(例:2:34:56「一串字的priority」),但 0:23:03「在算publicity的時候」比較像 perplexity,要看上下文,不能一律取代。
- 新發現的語音辨識錯字(建議加進 fix_transcript.py):WATTO VECTOR/what-to-vector/Wall-to-back/VoltoVector/waterbath/photo vector=word2vec;GrowVac/grow back=GloVe;Fosting=WordSim;Categor Label=character level;angry/engram=n-gram;CBUS=syllabus;基礎學習跟深入學習=機器學習跟深度學習;GPT ISO=GPTZero;turn in=Turnitin;Tica=TAICA;biblicoding=vibe coding;Contactual=contextual;Cross Entry=cross entropy;Wall-Embedded=word embedding;ntu庫=NTU COOL;Chanon=Shannon;Markup=Markov;annual p=NLP;Geno=genome;多利養=Dolly 羊;絞交=繳交;超習=抄襲;1:06:15「到Fur以後」可能是 BERT(不確定)。
## 6. 投影片文字(這章範圍)
**這幾頁的公式或內容只在圖裡(文字檔抓不到),寫 Exam-ready 與公式前先用 Read 看這幾張圖:**
- W1_NLP_brief p.66 → C:\D槽\TAICA課程\_work\notes-v2\nlp-w3\img\brief_W1_NLP_brief_p066.png
- W1_NLP_brief p.67 → C:\D槽\TAICA課程\_work\notes-v2\nlp-w3\img\brief_W1_NLP_brief_p067.png
- W1_NLP_brief p.69 → C:\D槽\TAICA課程\_work\notes-v2\nlp-w3\img\brief_W1_NLP_brief_p069.png
--- W1_NLP_brief p.64 ---
Solution: Continuous, Distributed Representations
By continuous we mean real-valued
Distributed means a vector in a space, like
dog
cat
dog
cat
truck
64
--- W1_NLP_brief p.65 ---
Breakthrough Paper: Bengio et al. 2003: A Neural
Probabilistic Language Model
We can also pre-train our vectors with encoded world knowledge (e.g. similarity)
http://www.jmlr.org/papers/volume3/bengio03a/bengio03a.pdf
65
3 Gods @AAAI 2019
--- W1_NLP_brief p.66 ---
語言模型 (Language Model)
66
Claude Shannon
1916 – 2001
Andrey Markov
1856 - 1922
[1913] The chance
of a letter appearing
depends on the
letter before it.
[1951] Prediction
and Entropy of
Printed English
If a character was a vowel, the probability of the next being a
consonant was roughly 87%; if it was a consonant, a vowel followed
66% of the time.
Markov demonstrated that the next step depends only on your
current state, not your entire past history.
He coined Information Entropy: the more
surprising or unpredictable a message is, the
more information it carries.
--- W1_NLP_brief p.67 ---
Why Does This Work?
1. Similar words are expected to have similar vector representations (and be
closer in vector space)
2. The probability function is a smooth function of feature values
○
Small changes in the feature values will induce a small change in the value of the
function
○
This is not true for unorganized discrete spaces, where small changes in input can lead
to large changes in the function value
3. Therefore, the presence of one sentence in the training set can effectively
distribute probability density in the vector space for a combinatorial
number of unseen sentences
67
--- W1_NLP_brief p.68 ---
Learning Vector Representation of Words
68
--- W1_NLP_brief p.69 ---
Representation Vector Usage
69
[IMAGE-ONLY]
## 7. 逐字稿(0:02:31 前後各多 1 分鐘,原始行)
[00:01:31] 這個PBT
[00:01:33] 這樣應該
[00:01:37] 這樣可以吧
[00:01:38] 這樣這個畫面
[00:01:39] 好
[00:01:40] 然後
[00:01:41] 跳回那個PBT
[00:01:43] 然後
[00:01:44] 這樣
[00:01:45] 好
[00:01:46] 謝謝
[00:02:16] 這也好了
[00:02:17] 工具列了
[00:02:19] 上次什麼還有
[00:02:20] 那個
[00:02:22] 網路有點問題
[00:02:24] 所以我們不要再一下
[00:02:26] 那
[00:02:27] 現在開始
[00:02:28] 現在有streaming
[00:02:29] 有
[00:02:30] 那
[00:02:31] 今天呢
[00:02:32] 我們會把這個
[00:02:34] introduction的影片的內容講一下
[00:02:37] 然後
[00:02:38] 會介紹第一個assignment
[00:02:41] 第一個assignment
[00:02:43] 是會跟
[00:02:44] week2的
[00:02:45] W2的投影片有點關係
[00:02:47] 不過
[00:02:48] 裡面上也是可以做的
[00:02:49] 那我們今天會announce
[00:02:51] 這個assignment1的樣子
[00:02:54] 好
[00:02:56] 那
[00:02:57] 剛才看到slide有些問題
[00:03:00] 不過也許等一下我們快下課的時候
[00:03:02] 我們再一起看一起回覆了
[00:03:04] 那我們就接著我們上禮拜
[00:03:07] 提到的這一個部分
[00:03:09] 那
[00:03:10] 上次我們
[00:03:14] 從
[00:03:15] one-hot vector的方式
[00:03:17] 講到vector space model
[00:03:18] TFIDF的概念
[00:03:20] 但是我們發現說
[00:03:22] 我們沒辦法讓電腦去比對說
[00:03:25] 字的
[00:03:26] 字的相似度
[00:03:28] 就是要完全一模一樣
[00:03:29] 它才能夠去知道說這是一樣的
[00:03:32] 所以它不太知道
[00:03:34] 貓狗卡車這三個東西的區分
[00:03:37] 所以我們是說
[00:03:38] 我們能不能建構一個表示的方式
[00:03:42] 所謂表示在電腦裡面就是一堆數字
[00:03:45] 你可以想象它就是一個
[00:03:47] 一個array或是一個vector
[00:03:49] 我們能不能建構一個表示的方式裡面有
[00:03:53] 含有這個字的一些
[00:03:56] 語義
[00:03:57] 或是它的
[00:03:58] 本身的這種knowledge
[00:03:59] 或者是概念在裡面
[00:04:01] 所以
[00:04:02] 為什麼後面我們都叫做這個叫embedding
[00:04:05] 所以
[00:04:06] 理解上你可以說
[00:04:07] 我們是有把這個字的concept
[00:04:10] embed在這個數字裡面
[00:04:11] 當然我們可以用這個數字來表示這些
[00:04:14] 字詞的意思
[00:04:16] 那
[00:04:17] 雖然這個好像是一個蠻trivial的concept
[00:04:19] 但是其實我們是希望說
[00:04:22] 在我的空間裡面
[00:04:24] 我這些東西是
[00:04:26] 能夠一個連續的
[00:04:28] 而且是均勻分佈
[00:04:31] 這件事情你可能
[00:04:32] 現在可能沒有感覺
[00:04:34] 當你在做第一個assignment的時候
[00:04:36] 你做一做就會知道說
[00:04:39] 這個
[00:04:40] 其實
[00:04:42] 不太有用這樣子
[00:04:43] 就是你做出來的東西
[00:04:45] 會有一點問題
[00:04:47] 不是一點問題
[00:04:48] 非常多問題
[00:04:49] 就是說如果把所有的字呢
[00:04:51] 都映射在一個空間裡面
[00:04:53] 那我是希望說像這個例子
[00:04:55] 貓跟狗很接近
[00:04:57] 所以它們的
[00:04:58] 上面這個數字應該
[00:05:00] 應該在算相似度的時候是非常接近
[00:05:02] 所以它的cosine夾角很低
[00:05:04] 這樣子
[00:05:05] 但是當你做完
[00:05:07] 你做photo vector
[00:05:08] 或是你自己用
[00:05:10] 這個已經圈好的embedding
[00:05:12] 去看你所熟知的字的
[00:05:15] 意義的時候
[00:05:16] 當然你可以發現貓跟狗也許很接近
[00:05:20] 但是你可能可以發現
[00:05:21] 貓附近的向量
[00:05:23] 就是跟它很接近的向量
[00:05:25] 其實不是貓
[00:05:27] 可能是一些跟貓一點關係都沒有的東西
[00:05:31] 那這個東西到底有沒有用
[00:05:33] 能不能拿來做我們
[00:05:35] 讓電腦理解語義的東西
[00:05:37] 所以這個就可以讓你反思
[00:05:40] 當你在做assignment
[00:05:41] 我們會問你這些問題
[00:05:43] 就是好像挺怪的這樣子
[00:05:46] 但是的確
[00:05:48] 我們可以做出一個這樣的vector
[00:05:50] 去區分貓跟狗跟卡車的差別
[00:05:53] 那
[00:05:55] 所以我們就先來看
[00:05:57] 怎麼至少做出這些概念
[00:05:59] 我可以把它拉開來
[00:06:01] 那這個東西其實一直有發展
[00:06:04] 一直有發展
[00:06:05] 只是到之前
[00:06:07] 我們都希望用統計的方式
[00:06:09] 用去看以前人類的語料
[00:06:11] 去算engram
[00:06:13] 給一些sliding window
[00:06:14] 算一些co-occurrence的probability
[00:06:18] 去算這些東西
[00:06:20] 但是後來發現這個成本相當的高
[00:06:23] 而且
[00:06:25] 效果也不太好
[00:06:28] 那到後來我們就希望說
[00:06:30] 我們不要算probability
[00:06:32] 這個我們能不能
[00:06:34] 我們還是based on probability的概念
[00:06:36] 但是我們能不能用訓練
[00:06:39] 所謂訓練的方式
[00:06:41] 大家如果學過機器學習就知道說
[00:06:44] 有training data沒錯
[00:06:46] 但是我們如果用一個model去train
[00:06:48] 去看這些training data
[00:06:50] 我學到這些模型的闡述
[00:06:53] 其實是有點像是去內化
[00:06:55] 這些訓練資料所帶來的knowledge
[00:06:58] 也就是說我們能不能透過模型學習的方式
[00:07:01] 去內化看到的文章
[00:07:04] 然後以後我就可以用這些模型的參數
[00:07:07] 來表示文字的意思
[00:07:10] 所以在2000年後
[00:07:13] 就因為資料變多了嘛
[00:07:15] 然後電腦算力也慢慢的開始增加的時候
[00:07:19] 大家就可以希望就覺得
[00:07:21] 我們可以train這些東西
[00:07:23] 那其實在這個年份
[00:07:24] 大概機器學習慢慢起來
[00:07:26] 就是AI的這個浪潮開始
[00:07:29] 覺得好像有點用的東西慢慢出來了
[00:07:32] 那當然這篇paper其實當然不是唯一的
[00:07:36] 只是說這篇paper其實有點也是觸發說
[00:07:39] 好吧那我們可以用NN的方式來train
[00:07:42] 這樣的一個embedding
[00:07:45] 來學所謂的文字的feature vector
[00:07:49] 那這篇paper我沒有要細講
[00:07:52] 不過這個圖是從paper裡面site出來的
[00:07:55] 你可以想象
[00:07:56] 就跟這個這個長相跟現在的有點像
[00:07:59] 反正就是每一個字的
[00:08:01] 從tablelookup出來的embedding之後呢
[00:08:05] 他去把它做一些
[00:08:07] integration
[00:08:09] 看用什麼樣的方式
[00:08:10] 然後最後再去用perplexity的方式
[00:08:13] 去train這樣的一個supervised的model
[00:08:15] 然後去得到這樣的embedding的東西
[00:08:18] 這樣的架構其實在很多後面我們提到的
[00:08:21] wall embedding的計算都不外乎是長這樣
[00:08:26] 它的差別就在於是說
[00:08:28] 有些架構會不太一樣一點
[00:08:30] 然後訓練資料怎麼給
[00:08:33] 大概有些差別就會在這裡
[00:08:36] 所以大概從這樣的一個年份開始
[00:08:39] 大家就覺得哇這個很有用
[00:08:41] 我們可以給他資料可以用模型
[00:08:43] 可以訓練出這些東西
[00:08:45] 我們不用再用找一大堆的人去標
[00:08:48] 所謂的wall feature vector
[00:08:50] 就是好啊這個動物
[00:08:52] 這個哺乳類
[00:08:53] 第一個feature應該是標yes
[00:08:55] 然後什麼什麼什麼
[00:08:56] 我們不用這樣的東西來描述文字太累了
[00:08:59] 這個成本高而且quad也不好這樣子
[00:09:02] 我們就不管
[00:09:04] 反正我就給你這個700多維度的東西
[00:09:07] 你自己去學
[00:09:08] 你自己去學裡面應該要長什麼樣子
[00:09:11] 所以就是也是人類偷懶的一個象徵
[00:09:16] 反正學不會
[00:09:18] 人學不會就讓電腦自己去學
[00:09:20] 好那這一篇當然就是這個
[00:09:23] 為什麼Bengio這麼有名
[00:09:26] 其實大家應該都知道這個人
[00:09:29] 那不過其實你在網路上搜尋Bengio
[00:09:32] 可能會搜尋到另外一個
[00:09:35] 因為他們是兄弟黨
[00:09:37] 他的好像這是哥哥
[00:09:40] 好像他的弟弟也是很有名
[00:09:42] 不過他弟弟好像比較多一點
[00:09:44] 在業界一點
[00:09:45] 就是也有做研究
[00:09:47] 但是有些contribution比較在業界
[00:09:49] 所以你可能可以看到Bengio
[00:09:52] 然後他們的這個
[00:09:54] 他們的名字是不一樣的
[00:09:56] 但是其實兄弟黨都很有名
[00:09:58] 這樣子
[00:09:59] 然後Bengio大家可能知道說
[00:10:01] 反正他當初跟LeCun跟hinton
[00:10:05] 拿到這個Turing Award
[00:10:07] 就是一個劃時代的點
[00:10:11] 就是告訴我們說
[00:10:12] 他們這三個人的貢獻
[00:10:14] 就是讓這整個AI起飛的一個這樣的一個trip point
[00:10:19] 所以大家如果可以拜讀他的論文
[00:10:24] 其實是多看一下這樣子
[00:10:29] 所以他們是希望用學的方式
[00:10:33] 而不是用統計的方式去計算
[00:10:37] 這樣的過程
[00:10:39] 我放這個圖
[00:10:41] 這個是當年這個2019年
[00:10:45] 所以其實也蠻久的
[00:10:47] 就是他們在拿到
[00:10:49] 拿到Turing Award那一年的AAAI的conference
[00:10:54] 那其實我並沒有跟他們合照
[00:10:57] 其實因為他們在討論事情
[00:10:59] 感覺每個人表情都很嚴肅
[00:11:01] 我也不太過好意思過去哈啦這樣子
[00:11:04] 他就是在一個早餐的地方
[00:11:07] 看到他們三個突然覺得背後能量很高
[00:11:11] 這樣子對
[00:11:13] 這個畫面有點小
[00:11:15] 這hinton
[00:11:17] 其實hinton蠻喜歡站著
[00:11:19] 我也不知道為什麼
[00:11:20] 之前他在
[00:11:21] 他在一些keynote場合
[00:11:23] 或者是panel場合
[00:11:24] 大家都坐在那邊談
[00:11:25] 然後他就看他自己就站起來
[00:11:27] 他也沒有要幹什麼
[00:11:31] 他就站起來這樣子
[00:11:32] 不過這種厲害人
[00:11:34] 總是有一些不一樣的動作
[00:11:36] 這樣子
[00:11:37] ok好這個
[00:11:39] 這個是
[00:11:40] 所以其實你發現
[00:11:42] 你在paper看到非常有名的人
[00:11:44] 或是這些
[00:11:47] 得過什麼很厲害的獎
[00:11:49] 甚至他們幾個都拿到
[00:11:51] 後面都拿到都沒有獎
[00:11:53] 你就覺得
[00:11:54] 如果你去參加這些會議
[00:11:55] 好像都可以很近距離的接觸到他們
[00:11:59] 這樣子
[00:12:00] 所以這個參加會議也是不錯的
[00:12:05] 好
[00:12:07] 那當然其實這件事情並不是他們想的
[00:12:11] 不是啊
[00:12:12] 應該是說很早以前就有很多這樣的概念下來
[00:12:16] 使得到這樣2000年之後
[00:12:20] 我們覺得說
[00:12:21] 這個其實語言的精神
[00:12:23] 我們可以靠計算的方式來做的
[00:12:26] 但是很早以前其實就有了提這樣語言模型
[00:12:31] language model
[00:12:32] 其實以前在做NLP的人
[00:12:34] 不見得一定要用language model
[00:12:36] 因為以前language model其實
[00:12:39] 做做理論
[00:12:41] 就是算算紀律這種做做理論
[00:12:43] 論文看起來比較炫一點
[00:12:45] 但是
[00:12:46] 不見得非常的Practical
[00:12:48] 但是它其實是有一個很長的發展歷史
[00:12:53] 那這兩位呢
[00:12:54] 其實非常重要
[00:12:57] 尤其在電子領域
[00:12:59] 不見得是資訊
[00:13:01] 像第一個這個Markup
[00:13:04] 其實如果你看中文
[00:13:06] 馬可夫練這樣子
[00:13:07] 你有聽過這個Markup Chain這樣的東西
[00:13:10] 如果你做語音的做訊號的
[00:13:12] 你一定會用到他寫的東西
[00:13:15] 這樣子
[00:13:16] 那他非常有名的一個學者
[00:13:21] 那年份非常早
[00:13:24] 那其實他當初是在做language
[00:13:29] 這樣的一個想法
[00:13:30] 其實是這樣
[00:13:31] 就是說他有一個故事
[00:13:33] 就是當初大概這個
[00:13:35] 這種年份
[00:13:37] 你可以看看這個年份
[00:13:39] 大概全世界都在幹什麼
[00:13:41] 這樣子
[00:13:42] 其實文明還不是很open
[00:13:45] 大家還是在那邊打來打去
[00:13:48] 那大家
[00:13:49] 尤其是宗教
[00:13:51] 宗教對於人的想法
[00:13:53] 人的意念這些事
[00:13:55] 其實是很大的控制力
[00:13:59] 所以有很多
[00:14:01] 他們叫神學家
[00:14:02] 但其實也一般像科學家這樣子
[00:14:04] 這些人就會覺得說
[00:14:05] 有很多的科學的現象
[00:14:07] 什麼都是跟神的旨意有關這樣子
[00:14:11] 所以就會有人說這個文字
[00:14:13] 文字的分佈
[00:14:15] 基本上它就是來自於神告訴我們的一些事情
[00:14:19] 大家如果有興趣可以去看
[00:14:21] Markov當初在做這件事情的背景
[00:14:25] 然後Markov他就覺得怎麼可能
[00:14:28] 這種科學家應該要這個實證的精神
[00:14:32] 所以他就覺得不會是這樣
[00:14:35] 所以他就拿一本書
[00:14:37] 你可以想象那個年代
[00:14:39] 其實沒有什麼電腦
[00:14:40] 沒有什麼calculator這樣子
[00:14:43] 他就拿一本書自己去說
[00:14:45] 他就算字的出現的frequency
[00:14:49] 他就去看這個前後字的關係
[00:14:52] 什麼什麼
[00:14:53] 他就做了一大堆統計
[00:14:55] 那統計了多少次
[00:14:59] 你可以去查一下
[00:15:01] 他得到一個規則
[00:15:04] 就是母音跟子音之間
[00:15:07] 出現字的頻率是不一樣的
[00:15:09] 當然你可能看他的結論
[00:15:11] 你會覺得說
[00:15:12] 這好像common sense
[00:15:14] 但是呢
[00:15:15] 當你身處在一個
[00:15:17] 大家都會用神的旨意
[00:15:19] 來解釋一些科學現象的時候
[00:15:22] 你很難去想象
[00:15:23] 你要怎麼去做這樣的實驗
[00:15:25] 去得到一個這樣的結論
[00:15:27] 所以你就要回復到
[00:15:30] 當年那個科學家的情境
[00:15:32] 然後說
[00:15:33] 原來他會有這樣的不一樣的想法
[00:15:36] 去做這樣的一個
[00:15:38] 非常耗時間
[00:15:40] 還是用人去count
[00:15:41] 所以你可以把這樣的經驗
[00:15:44] 我覺得做研究就是這樣
[00:15:46] 你就要把這樣精神
[00:15:48] 用在你現在在做的東西
[00:15:50] 老師現在沒有神的旨意
[00:15:53] 沒有
[00:15:54] 老師告訴你就是神的旨意
[00:15:56] 然後你就會說
[00:15:57] 老師這個不太對
[00:15:58] 老師都胡亂
[00:16:00] 那你就會自己去思考說
[00:16:02] 可能有什麼不一樣的地方
[00:16:04] 然後你自己就會
[00:16:05] 很苦功的去設計一些實驗
[00:16:07] 很多很厲害的東西
[00:16:09] 就是這樣出來的
[00:16:11] 那大家可能不知道
[00:16:12] 這個母音子音人物
[00:16:14] 這個關係到底有什麼
[00:16:16] 他當時的一個東西
[00:16:18] 其實是假設是
[00:16:20] 我現在我的這種event
[00:16:24] 或是我的case
[00:16:25] 我要產生的這種訊號
[00:16:27] 或是什麼
[00:16:28] 我的下一步
[00:16:30] 都會depend on我目前的state
[00:16:33] 這個state這件事情
[00:16:35] 是一個virtual的東西
[00:16:39] 那我舉一個例子
[00:16:40] 你大概知道
[00:16:41] 這個markov這個概念是
[00:16:44] 做什麼
[00:16:45] 就是以前我們會教的時候
[00:16:47] 會用這樣的例子
[00:16:48] 就是說
[00:16:50] 有一個賭徒
[00:16:52] 就是有一個騙人家錢的賭徒
[00:16:54] 他就拿了一個骰子
[00:16:56] 他有兩個骰子
[00:16:57] 一個是正常的骰子
[00:16:58] 正常骰子
[00:16:59] 骰出的點的機率
[00:17:01] 就是六分之一
[00:17:02] 每個點都是一樣
[00:17:03] 但是有一個特別的骰子
[00:17:05] 骰出六的機率非常高
[00:17:08] 二分之一
[00:17:09] 但是因為它鎖法很好
[00:17:11] 你其實不太知道
[00:17:12] 它什麼時候有對調的
[00:17:14] 這個骰子
[00:17:16] 那這個骰子呢
[00:17:17] 使用這個骰子
[00:17:18] 就是這邊的state
[00:17:20] 然後你就跟他賭
[00:17:21] 你跟他賭的時候就發現
[00:17:23] 你怎麼每次都丟出兩點三點這樣
[00:17:25] 然後他每次
[00:17:26] 他丟都是六點這樣子
[00:17:28] 因為你不知道
[00:17:29] 他什麼時候換掉這個骰子
[00:17:32] 那你能做的是
[00:17:33] 你能做
[00:17:34] 你只能觀察說
[00:17:36] 我丟的pattern
[00:17:37] 跟他丟的pattern的差異的分佈
[00:17:41] 所以有點像是說
[00:17:43] 這個骰子就是我的hidden state
[00:17:46] 那因為我的hidden state不同
[00:17:48] 所以我emint
[00:17:50] 我的出去的event
[00:17:52] 我丟出去的訊號也會不一樣
[00:17:55] 所以
[00:17:57] 所以我們就可以知道說
[00:17:58] 當我現在看到很多六出現的時候
[00:18:00] 表示它應該有用到它特殊的骰子
[00:18:03] 它的state就從正常的骰子
[00:18:05] 調到特殊的骰子
[00:18:07] 那這個
[00:18:08] 這樣的東西
[00:18:10] 它其實可以用在很多地方
[00:18:13] 比如說以前在做人類的DNA序列的判斷
[00:18:17] 因為人類DNA序列不是很有規則
[00:18:20] 因為中間有很多的mutation
[00:18:22] 很多的這種串來串去的
[00:18:24] 但是它會有一些規則來出現
[00:18:27] 比如說C跟G C跟G
[00:18:30] 這邊的pattern
[00:18:31] 高頻的pattern相當的高
[00:18:33] 但是因為它中間有mutation
[00:18:35] 所以它中間可能會插了其他的這些DNA進來
[00:18:40] 但是你可以統計一下說
[00:18:43] 我已經進入到一個C跟G
[00:18:46] 發生的頻率比較高的地方
[00:18:48] 那個在生物上是有一些意義
[00:18:51] 所以他們就用這種概念的
[00:18:54] 這種probability的概念
[00:18:56] 去做了很多
[00:18:58] 它其實可以導引出相當多很有用的技術
[00:19:01] 這是markup chain
[00:19:03] 但是它研究的東西不只是markup chain
[00:19:07] 只是說你可以想像這件事情
[00:19:09] 然後把剛才的骰子這件事情想到
[00:19:13] 這個字的時候
[00:19:14] 你就可以知道說
[00:19:15] 當我們再講一句話
[00:19:17] 下一個字
[00:19:18] 它的出現的機率不是uniform
[00:19:23] 不是隨便都會有可能接的上去
[00:19:26] 一定會有些字
[00:19:27] 會跟隨著我前面字的pattern
[00:19:30] 而機率比較高
[00:19:32] 那這樣的概念
[00:19:33] 其實跟language model其實是一致的
[00:19:36] 其實就是用這種方式
[00:19:38] 來定義所謂的語言
[00:19:40] 那你可以想像
[00:19:42] 你如果用一般你講的語言
[00:19:44] 來講這件事情的時候
[00:19:46] 你可能感受比較沒那麼高
[00:19:49] 但是你可以回去做一件事情
[00:19:52] 你回去把英文或是中文
[00:19:55] 你透過一個hash function
[00:19:57] 不管怎麼樣設計的hash function
[00:19:59] 把它轉換成一個怪怪的語言
[00:20:02] 把它轉成一個特殊的symbol
[00:20:06] 但是這個mapping
[00:20:08] 你可以一開始用比較簡單的mapping
[00:20:10] 就是至少是一對一的
[00:20:12] 轉換過去之後
[00:20:15] 你其實就看不懂你在寫什麼
[00:20:17] 因為它就變成一個特殊的symbol
[00:20:19] 但是它對應的pattern其實還是一樣
[00:20:23] 那你可以在你完全看不懂
[00:20:26] 那個什麼字的情況下
[00:20:28] 你就可以用這樣的language model
[00:20:30] 去了解那句話的意思
[00:20:33] 這樣你就比較有感覺說
[00:20:35] 那我做這件事情到底用意是什麼
[00:20:38] 當然也不是這麼容易
[00:20:40] 也不是這麼容易
[00:20:41] 就是我如果不知道每一個token
[00:20:43] 每一個character它的概念的時候
[00:20:45] 其實這個也很難做
[00:20:48] 但是以前在破解一些像什麼希臘文字
[00:20:54] 古埃及文字
[00:20:56] 什麼羅索塔的
[00:20:59] 反正就是那個古文碑文
[00:21:01] 其實也大概用這種方式
[00:21:02] 也是用統計頻率的方式來做這件事情
[00:21:06] OK
[00:21:08] 那之後當然這個Chanon呢
[00:21:10] 它其實它年份比較更後面的
[00:21:13] 你可以發現它其實是based on
[00:21:16] 這個這樣的markup的精神
[00:21:18] 繼續去做
[00:21:19] 但是Chanon其實有很多貢獻是在於
[00:21:22] 所謂的資訊理論
[00:21:24] 那當然它的意思
[00:21:27] 跟我們後面會講所謂的語言的困惑
[00:21:36] 或者是語言的對應的機率
[00:21:38] 生成的分佈是有一定的道理的
[00:21:42] 那他的想法是說
[00:21:45] 當我的語言
[00:21:47] 我要去產生一個更稀少的字的時候
[00:21:51] 就是比如說
[00:21:52] 我寫出這個字字
[00:21:54] 大家不太會用的
[00:21:56] 這幾乎是我很愛用
[00:21:58] 但是其他一般人來講
[00:22:01] 都不會用到這個字的時候
[00:22:03] 我這個句子所帶有的資訊量是很高的
[00:22:09] 所謂資訊量很高
[00:22:10] 你可以想象
[00:22:12] 你白話一點來講
[00:22:14] 你常常聽到一個人講一堆東西
[00:22:16] 但是好像沒有什麼重點
[00:22:19] 聽的跟沒有聽一樣這樣子
[00:22:21] 那個就是資訊量很低的意思
[00:22:23] 那所謂資訊量很高
[00:22:25] 就是說你聽到那個關鍵字
[00:22:27] 你聽到一個什麼東西
[00:22:28] 就知道他想講什麼
[00:22:30] 那表示那個字所帶來的information
[00:22:33] 是很unique
[00:22:35] 很獨一無二的
[00:22:36] 這是白話的說法
[00:22:38] 但是他可以用計算的方式來度量說
[00:22:41] 整個東西的information
[00:22:43] 整個句子的information
[00:22:45] 或者是整個event的information
[00:22:47] 我可以用這種方式來度量它的能量
[00:22:50] 用entropy代表能量
[00:22:52] 來看說它的含義
[00:22:57] 所以用這樣的角度
[00:22:59] 我們可以量化一些東西
[00:23:01] 跟我們之後在算
[00:23:03] 甚至在算publicity的時候
[00:23:05] 其實都有點關係
[00:23:07] 這是兩個在language model非常重要的問題
[00:23:11] 這是我一個這樣的學者
[00:23:13] 當然不止
[00:23:14] 當然是不止
[00:23:15] 所以只是說他們因為也比較有名
[00:23:18] 所以就把它放在這裡
[00:23:20] 那這個東西其實
[00:23:22] 剛才講那麼多的過程
[00:23:24] 大家也想象說
[00:23:25] 其實好像得到一個結論
[00:23:28] 就是我現在的字
[00:23:32] 貓狗都會跳
[00:23:34] 會吃會咬這樣
[00:23:35] 但是卡車不會
[00:23:37] 卡車不會吃
[00:23:39] 也不會咬
[00:23:40] 所以
[00:23:41] 這些字的關係
[00:23:42] 共同出現的這種關係
[00:23:44] 其實是有一些現象可循
[00:23:49] 然後相似的字
[00:23:51] 他們其實理論上
[00:23:53] 我可以用這種方式來表示說
[00:23:55] 他們的表示應該一樣
[00:23:57] 但這個representation
[00:23:59] 其實可能有點抽象
[00:24:01] 但是你可以想象
[00:24:02] 它有點像你在機器學習
[00:24:04] 做的東西的feature vector
[00:24:06] 比如說我要去定義
[00:24:09] 我要去算班上同學的學習
[00:24:11] 表現的時候
[00:24:12] 我會拉出一個feature vector
[00:24:14] 說我要用什麼樣數據來描述
[00:24:17] 一個學生的好壞
[00:24:21] 可能是他的出席率
[00:24:23] 或者是他的作業的分數
[00:24:26] 或者是說他可能
[00:24:28] 比如說每天來教室
[00:24:31] 坐的第幾排的位置
[00:24:33] 或是家裡住哪裡什麼
[00:24:35] 我就拉出一個feature vector
[00:24:37] 然後這些feature vector
[00:24:38] 我就可以用一些訓練的方式
[00:24:40] 來說原來這個出席率
[00:24:42] 其實跟他的學習表現
[00:24:44] 會有一個正比的關係
[00:24:46] 這個feature vector
[00:24:47] 你在做機器學習的時候
[00:24:49] 你比較覺得這好像是一個很trivial的東西
[00:24:52] 但是其實它其實就是
[00:24:54] 這個feature vector
[00:24:55] 其實就是這一筆資料的一種representation
[00:24:58] 就是我用這樣的資料
[00:25:00] 量化資料來描述這一個case
[00:25:03] 這一個instance
[00:25:04] 我們現在要做的就是說
[00:25:06] 我希望能夠有一個feature vector
[00:25:08] 來描述所有的
[00:25:10] 文字所有的token
[00:25:12] 所以我們都會用所謂的representation
[00:25:16] 來講這件事情
[00:25:18] ok
[00:25:19] 那當然我們也希望
[00:25:21] 這個這樣的vector
[00:25:25] 我可以透過計算
[00:25:27] 把別的方式去呈現
[00:25:29] 然後我們也希望
[00:25:30] 他這樣的轉換的過程
[00:25:32] 是一個smooth
[00:25:34] 所謂smooth的意思是說
[00:25:36] 如果貓長這樣
[00:25:38] 那我如果有一個token
[00:25:40] 叫做小貓
[00:25:41] 叫大貓
[00:25:42] 那它的表示是不是要跟貓也很接近
[00:25:47] 是不是可以透過一個轉換的
[00:25:49] 透過變成是一個很平滑的這樣的過程
[00:25:53] 這是目標
[00:25:54] 但是當你做完第一個assignment之後
[00:25:57] 你就發現好像不是這麼一回事
[00:26:00] 就是這個向量貓的旁邊的向量字
[00:26:04] 都不是貓這樣子
[00:26:05] 都不知道是什麼東西
[00:26:07] ok
[00:26:08] 那所以
[00:26:10] 如果當你可以把這件事情
[00:26:13] 做得越smooth的時候
[00:26:15] 讓這些量化資料
[00:26:17] 給電腦
[00:26:19] 它越能夠知道這些詞之間的關係
[00:26:22] ok
[00:26:24] 那不過我們現在能做的就是
[00:26:26] 好吧
[00:26:27] 那我們就拿人類的語料
[00:26:28] 給讓他知道說
[00:26:29] 這些字啊
[00:26:30] 都在貓狗啊
[00:26:32] 常常出現的字是什麼
[00:26:33] 你可以根據這些關係
[00:26:35] 然後去去算出
[00:26:37] 這個所謂的向量表示
[00:26:39] 就是這個訓練資料的東西
[00:26:41] 其實是會影響到這個representation的東西
[00:26:48] 接下來投影片呢
[00:26:49] 我是有些是用這個
[00:26:51] 當初做VoltoVector
[00:26:54] 或是GloVe的一些圖吧
[00:26:56] 那這個其實一進來這個
[00:26:59] 你可能會有點跳
[00:27:00] 就是說好吧
[00:27:01] 如果我們現在已經有一些方法
[00:27:03] 可以讓你算出字的表示
[00:27:05] 透過一個向量算出字的表示
[00:27:08] 然後這些圖呢
[00:27:09] 就是把這些向量呢
[00:27:11] 映射在一個可視化的空間
[00:27:15] 這個現在大家應該都有會
[00:27:17] 看用線性非線性的方式
[00:27:19] 把它map在這個2D的空間中去比對
[00:27:23] 這些字呢
[00:27:25] 你可以看到
[00:27:26] 就是說
[00:27:27] 不同的圖
[00:27:28] 其實是當中paper舉的例子
[00:27:31] 就是這個paper
[00:27:32] 其實當初出來之後
[00:27:33] 大家做annualpattern
[00:27:35] 其實下巴都有點掉下來
[00:27:37] 這樣子
[00:27:38] 哇 怎麼這麼神奇
[00:27:40] 大家會覺得很神奇這樣子
[00:27:42] 就是映射出來之後呢
[00:27:44] 這是每一個字所對應到的Vector
[00:27:51] 所對應到的Vector
[00:27:53] 那其實你會發現
[00:27:56] 我們看的並不是
[00:27:58] 字的向量的
[00:28:00] 絕對的向量的東西
[00:28:02] 而是一種對比的關係
[00:28:05] 像它這邊圖
[00:28:06] 常常都有些虛線
[00:28:07] 這些虛線的意思就是說
[00:28:09] 它把這樣一個Touple的關係做出來
[00:28:13] 那比如說
[00:28:16] 最常講的例子就是這個
[00:28:18] 這個man跟woman
[00:28:20] 它的關係是這樣
[00:28:22] 然後另外一個Vector
[00:28:24] King跟Queen在這裡
[00:28:26] 那你會發現
[00:28:27] 它們之間Touple的relation
[00:28:29] 這個relation
[00:28:31] 其實是很一致的
[00:28:33] 這個說
[00:28:34] 老師你這講的很牽強
[00:28:36] 我認為是怎樣一致的
[00:28:38] 至少方向斜率有點強
[00:28:41] 然後呢
[00:28:42] 我可以把這樣的Touple的關係
[00:28:44] 也可以對應到
[00:28:45] 其他的這樣的一個Pair
[00:28:48] 這樣的一個Pair
[00:28:50] 那你會發現這樣的Pair對照起來
[00:28:52] 它好像都是
[00:28:54] 男性跟女性之間的一種
[00:28:56] 對應的關係
[00:28:59] 所以這個就是一個對比關係
[00:29:02] 所以如果我可以用計算方式
[00:29:06] 呈現出這些字的表示
[00:29:09] 然後可以讓它呈現出這樣關係的時候
[00:29:12] 電腦就可以靠著這些計算這些東西
[00:29:14] 就可以知道說
[00:29:16] 原來這個man跟woman
[00:29:18] 其實同等於Queen跟King
[00:29:20] 這樣的一個關係
[00:29:22] 但是如果你做出來的向量
[00:29:24] 你的Queen在這裡
[00:29:26] King在這裡
[00:29:27] 那可能就是不太對的東西
[00:29:29] 或者是說
[00:29:30] 它其實是一個
[00:29:31] King在這裡 Queen在這裡
[00:29:34] 那意義就不對了
[00:29:36] 然後呈現出這樣的一個圖出來
[00:29:39] 為什麼當初做NLP的人下巴都掉了
[00:29:42] 就是說這實在太厲害了
[00:29:44] 就是我可以靠著計算
[00:29:46] 沒有任何的supervised的Data
[00:29:48] 完全靠它做Unsupervised的方式的訓練
[00:29:51] 可以學會這些向量的表示
[00:29:54] 呈現出這樣的relation
[00:29:56] 這個非常神奇
[00:29:59] 那我前面一直在問的就是說
[00:30:02] 那這個是相對的關係
[00:30:04] 但是絕對的關係是
[00:30:06] 這樣的Vector的表示
[00:30:08] 比如說
[00:30:09] 這個比如說好
[00:30:10] 國王
[00:30:11] 這個King這個字
[00:30:12] 它附近的向量是不是都跟King有關
[00:30:15] 其實不盡然
[00:30:16] 其實不盡然
[00:30:18] 所以有時候比如說
[00:30:20] 你用這個wall embedding
[00:30:22] 去apply在做大語言模型
[00:30:25] 用reg
[00:30:26] 然後去算這個token
[00:30:28] 然後算相似度
[00:30:29] 然後你想找King
[00:30:31] 但是你就會發現你找到King
[00:30:33] 都是這個King旁邊的字
[00:30:35] 這些字可能都跟King一點關係都沒有
[00:30:38] 這樣子
[00:30:39] 不過這個當然我們在做reg比對的時候
[00:30:43] 不會用這麼簡單的dense vector在做
[00:30:46] 好
[00:30:47] 這是一個例子
[00:30:48] 所以這樣就是一個對比的過程
[00:30:50] 所以你可以看到這個
[00:30:51] 我可以直接在Vector上
[00:30:53] 直接做operation
[00:30:55] 直接做量化的運算
[00:30:57] 我就可以推出是什麼
[00:30:59] 所謂推出就是說
[00:31:01] 當我告訴你這個這樣的關係的時候
[00:31:04] 我給你這個King
[00:31:06] 你告訴我一個什麼字
[00:31:08] 然後電腦轉一轉發現
[00:31:10] 嗯
[00:31:11] Queen這樣子
[00:31:12] 這個就是在你們assignment1要做的事情
[00:31:16] 但是你可能會發現
[00:31:18] 你的Queen
[00:31:19] 並不會在這個數字的附近的第一個選項
[00:31:24] 也許他可能在前三名的
[00:31:26] 或是什麼
[00:31:27] 所以這個你可以去探討這樣子
[00:31:30] 好
[00:31:32] 另外還有一些關係
[00:31:33] 大家可以看一下
[00:31:34] 或是你自己從這個paper
[00:31:35] 他其實有相相當多的這種anology的圖
[00:31:39] 他比如說
[00:31:41] 這個是
[00:31:44] 公司名稱跟CEO
[00:31:47] 我記得是人名
[00:31:49] 就是這個公司跟人名之間的relation
[00:31:53] 然後還有這種
[00:31:54] 比較語法上的
[00:31:56] 就是原型比較級最高級之間的關係
[00:32:01] 其實當然你會覺得
[00:32:02] 哎
[00:32:03] 還是不是這麼exactly是一樣的pattern
[00:32:05] 但是趨勢非常的close
[00:32:08] 這個已經相當厲害了
[00:32:10] 就是以現在的角度來看
[00:32:12] 用這麼粗略的計算就可以這樣
[00:32:15] 已經非常厲害了
[00:32:18] 那這個我記得是GrowVac的圖
[00:32:21] 就是說他可以算這種特別的
[00:32:24] 這其實你可能平常也不知道那是什麼字的
[00:32:26] 但是他就是
[00:32:28] 靠著統計上
[00:32:30] 他可以算出這幾個字的vector很接近
[00:32:33] 好
[00:32:35] 所以
[00:32:37] 我們希望我們有一個機制
[00:32:39] 可以靠著
[00:32:41] On Supervise的方式去訓練
[00:32:44] 讓電腦學會這些東西
[00:32:47] 我們今天不要管怎麼學
[00:32:48] 但是你想想看
[00:32:49] 當我學會這些東西的時候
[00:32:51] 電腦厲害了
[00:32:53] 當我要搜尋什麼東西的時候
[00:32:55] 他可以自動幫我語意延伸
[00:32:57] 這樣子
[00:32:59] 但是我覺得現在你們可能會覺得說
[00:33:02] 老師這有什麼了不起
[00:33:04] 大語言模型都會
[00:33:05] 幹嘛看這些東西
[00:33:08] 其實現在會有一些問題
[00:33:10] 其實也是現在教育界常常在困擾的一個問題
[00:33:15] 就是說
[00:33:16] 大語言模型GAI都這麼厲害
[00:33:18] 我們還要教學生寫程式嗎
[00:33:21] 當然要教他做這些判斷
[00:33:25] 甚至你做研究
[00:33:26] 其實你都可以跟AI共同寫
[00:33:29] 共同做了
[00:33:30] 然後
[00:33:31] 其實我不知道作者名字要不要放上
[00:33:33] 或者AI這樣子
[00:33:35] 這件事情一直在發生
[00:33:38] 而且發生的case越來越特別
[00:33:42] 但是你可能要思考一下
[00:33:44] 其實
[00:33:45] 我覺得這個會到一個棒
[00:33:47] 就是說人類
[00:33:48] 就是學生完全沒有任何的contribution
[00:33:53] 就是學生唯一的contribution
[00:33:56] 就是下plunk這樣子
[00:33:58] 他已經沒有任何的knowledge是
[00:34:01] 大語言模型沒有的部分
[00:34:04] 這部分這樣是有點恐怖
[00:34:06] 這樣是有點恐怖
[00:34:07] 因為
[00:34:08] 我覺得到後來會形成一個close的loop
[00:34:11] 這樣子
[00:34:12] 因為大語言模型
[00:34:13] 你沒給他任何的新的想法
[00:34:15] 他就是這樣子而已
[00:34:18] 那
[00:34:19] 所以我常會說
[00:34:20] 你應該去看看說
[00:34:23] 這樣的問題
[00:34:24] 如果不是用LM
[00:34:26] 如果不是用這麼大的transformer在做的時候
[00:34:29] 以前人是怎麼做的
[00:34:31] 那為什麼他要這樣做
[00:34:33] 那當時他做遇到什麼問題
[00:34:35] 你才能知道說
[00:34:37] OK
[00:34:38] 那我能不能用已經pre-trained好的transformer
[00:34:42] pre-trained好的language model
[00:34:44] 我可以來這邊做的更好
[00:34:46] 你才會有這種
[00:34:49] 痛點跟solution之間的mapping
[00:34:51] 有了這樣的mapping之後
[00:34:53] 你才能自己生出
[00:34:55] 其他的痛點跟solution的mapping
[00:34:58] 不然always
[00:35:00] 凡事就問AI
[00:35:02] 你永遠就是
[00:35:03] 雖然你可以到達一定的表現
[00:35:05] 但是你的表現
[00:35:06] 就會停留在那裡
[00:35:08] 好
[00:35:09] 這邊再舉一些例子
[00:35:10] 就是其實也是paper上
[00:35:12] 舉的這些analogy的例子
[00:35:14] 就是這個是
[00:35:16] 可能
[00:35:18] 像什麼公司的名稱
[00:35:21] 首都的名稱
[00:35:22] 其實都可以對照出來
[00:35:24] 那另外一點更神奇的就是
[00:35:26] 因為他有做不同語言
[00:35:28] 所以
[00:35:29] 英文的分佈
[00:35:31] 這是另外一種語言
[00:35:34] 是西班牙語
[00:35:36] 反正就是另外一種語言的分佈
[00:35:38] 然後這是對應的
[00:35:39] 他的translation
[00:35:41] 就是
[00:35:43] 同樣這些字
[00:35:44] 在另外一種語言的
[00:35:45] 這種relation
[00:35:47] 所算出來的這種embedding
[00:35:49] 其實分佈其實是一樣
[00:35:52] 所以為什麼我們可以做
[00:35:54] 做這個translation
[00:35:55] 就是當我看完英文字典之後
[00:35:57] 我就可以去
[00:35:58] 講法文的這樣子
[00:36:00] anyway就是
[00:36:01] 他的mapping
[00:36:03] 因為詞的用法
[00:36:04] 不會有太大的改變
[00:36:05] 尤其是
[00:36:06] 同樣語系的
[00:36:08] 應該說同樣語系的
[00:36:10] 這個可能對應到中文
[00:36:12] 或者是其他的不同
[00:36:14] 可能分佈會有點不太一樣
[00:36:16] 這樣子
[00:36:18] 好
[00:36:19] 所以這件事情我們當然是
[00:36:22] 能夠做到這樣
[00:36:23] 其實是我們的目標
[00:36:24] 但的確在
[00:36:25] 在那個年份
[00:36:26] 其實就一大堆人在做
[00:36:28] 然後一直做到一個
[00:36:29] 非常pratical的
[00:36:30] waterbath出來之後
[00:36:31] 有grow back
[00:36:32] 有fast text之後
[00:36:33] 大家就覺得這一塊
[00:36:35] 就底定是這個樣子
[00:36:38] 但前期他其實有很多的想法
[00:36:40] 就是說
[00:36:41] 為什麼可以這樣做
[00:36:44] 我要用什麼方式訓練
[00:36:46] 然後我的訓練資料在哪裡
[00:36:48] 什麼什麼
[00:36:49] 這些東西都用
[00:36:51] 以前有很多語言學的想法
[00:36:54] 在做這件事情
[00:36:56] 這句話其實是
[00:36:58] 可能大家也都知道
[00:36:59] 但是他更早的一個
[00:37:02] 其實點或是他的citation
[00:37:05] 應該是來自於這個
[00:37:07] 語言學家講的這個東西
[00:37:09] 就是一個字
[00:37:11] 是跟隨著
[00:37:12] 是用他周邊的字
[00:37:15] 所表現出來
[00:37:16] 就這個字的意思
[00:37:17] 你不知道
[00:37:19] 就是有點像
[00:37:20] 你去讀一個英文句子
[00:37:22] 這個字你不知道
[00:37:23] 但是你可以看出
[00:37:24] 前後文在講
[00:37:25] 這個字大概是什麼意思
[00:37:27] 你大概就猜出來這樣子
[00:37:29] 也就是說
[00:37:30] 如果這兩個字
[00:37:31] keg跟dog
[00:37:32] 他的周邊的字
[00:37:33] 幾乎都一樣
[00:37:34] 在我眾多語料裡面
[00:37:36] 他們旁邊發生的字都一樣
[00:37:38] 你大概可以猜出
## 8. 寫作規則
(這是 `_筆記SOP.md` 第 3.1、4、5、6 節的濃縮版。兩者衝突時以 SOP 為準。)
讀者:碩士生,兩門課期末是英文考試。要只看筆記就能學會,講得比老師好懂。畫面要簡潔。
**概念優先(2026-09-26 主理人)**:主理人只想懂概念,不想補數學、不想看程式碼和座標圖。兩門課的考試也都是問答題、不考算式(AI W1 1:16:52;NLP W3 1:47:41、2:48:36)。所以:
- 每段預設看得到的只有:白話摘要(2–4 句)+**一句生活比喻**(例:模擬退火像投資理財,年輕時敢冒險、越老越保守)+「考試可能怎麼問」一句。
- 數學推導、公式、手算、程式碼、座標圖,全部收進標題寫「(進階,可跳過)」的摺疊,例如「它到底怎麼運作?(進階,可跳過)」。每段最多一個進階摺疊,不要寫長篇計算。
- 演算法要能「用文字說出步驟」(考試可能要你描述),這一點放在預設看得到的地方,不用數字。
- **重心比例**:白話理論與概念模式(它在解決什麼問題、核心想法、跟別的方法差在哪、優缺點、生活比喻)占主要篇幅;數學與程式細節只用一兩句帶過,細節收進進階摺疊。
**圖文並茂(2026-09-26 主理人:不要只有文字)**:
- 每章至少 2–3 個圖,放在**預設看得到**的地方,每個圖前後各用一兩句白話說明「這張圖在看什麼」。
- 流程、步驟、因果、比較 → 用 mermaid 流程圖(```mermaid,flowchart LR 或 TD;節點文字用中文、加雙引號;一張圖不超過 10 個節點)。
- 投影片上的示意圖、架構圖 → 用 [[IMG: …]] 放投影片圖。
- 仍守「每個 ## 段落最多一種視覺元素」。
### 輸出兩個檔
1. `chNN.md`(Notion 寫法,不含頁面標題),結構固定:
- 第一行:章節包第 1 節那行,原樣照抄。
- `## 重點`:三點中文,每點一到兩句。
- `## Exam-ready`:3–10 行英文,**從章節包的投影片文字逐字抄**,每行 `- **Term**: "原句"(Ch3 p.14)`。老師有明確證據才在行尾加 `【老師強調】(h:mm:ss)`。
**每一行下面一定要有一行縮排的中文解釋**(主理人英文不好,看不懂的英文等於沒用):
```
- **Hill climbing**: "It keeps track of one current state and on each iteration moves to the neighboring state with highest value."(Ch4 p.5)
- 中文:爬山法只記住「現在這一個狀態」,每一輪都移到分數最高的鄰居。白話:一直往比較高的地方走一步。
```
中文要先把句子意思講清楚,再補一句白話;難的英文單字括號附中文(例:neighboring state(鄰近狀態))。
- 章節包第 2 節的每一段:`## [h:mm:ss](連結) 標題`(照抄),下面 2–4 句白話摘要,其餘全部收進摺疊:
```
問句(例:用生活例子講,BFS 在做什麼?)
內容
```
摺疊種類(需要才放):用生活例子講?/它到底怎麼運作?/要先懂什麼?(老師假設你會的數學或概念,短版教學)/老師原話是什麼?(「原話」(h:mm:ss),只放重要的,最多 5 句)。
- 「它到底怎麼運作?」要用一組小數字把這段的演算法**真的跑 1–3 步**(例:算出梯度、更新一次、比較兩個 α),不是只示範定義的加減乘除。全章盡量沿用同一組數字,讓前一段的答案能在下一段被驗證。
- 每段正文要回答讀者最可能卡住的一個「為什麼」。投影片公式方向跟題目相反、或投影片說「解不出來」時,用一兩句講出原因,自己補的標(我補充)。
- 投影片句子停在公式前(公式在圖裡)時:Exam-ready 在粗體詞條上補公式、引號內保持原句;正文寫出同一條式子。公式圖看章節包第 6 節列出的 PNG。
- `## Self-check`:2–4 題英文考題,答案收摺疊。**至少一題考老師強調的內容**;不出「老師和投影片哪裡不同」這類不會考的題目。每題格式:
```
Q1. English question?(中文:中文題目)
**Answer**: English answer.
中文:把答案完整講一遍(不是只翻一句),讓看不懂英文的人也知道要怎麼答。
```
- **最後一行**:章節包第 1b 節那行(下一章連結),原樣照抄。讓讀完的人直接點下一章。
- 不要把章節包或這份規則裡的指示句寫進筆記(例如「寫筆記時照投影片寫」「已改正 ASR 錯字」)。
- 長度 8,000–14,000 字元。
2. `chNN.concepts.json`:JSON 陣列,4–12 個考試可能問的術語,每個物件:
`name`(英文)、`zh`、`type`(概念/演算法/公式/人物事件/前置知識/行政)、`signal`("老師說會考"/"老師強調"/"核心(我判斷)"/"")、`evidence`(有 signal 前兩種時必填:原句+時間)、`definition_en`(投影片原句;沒有就註明 (textbook)/(lecture)/(my wording))、`plain`(一句中文)、`a4`(≤150 字元英文,可夾極短中文;期末拼貼用的小方塊)、`time`、`slides`、`prereq`(英文名陣列)。
### 風格鐵律
- 不用 emoji 或裝飾符號(✓✗★⚠ 都不要;→ 可以)。不用 callout。不用 `$`。時間不要用 code 樣式。
- 每個 `##` 段落最多一種視覺元素:一張圖、或一個表格、或一個 mermaid。
- 摺疊標題是問句,前面不加符號。
- 圖片最多 3 張,只放文字取代不了的圖。放法:單獨一行 `[[IMG: | 中文圖說]]`,PNG 用 `slides_to_png.py <圖片資料夾> <頁> --dpi=110` 產生。
- 考試訊號只在老師明確說時標。老師只說「不用背」「不講」就寫「注意:……」。
- 老師口誤或跟投影片不同:照投影片寫,加「注意:老師口頭說的是……」。
- 引用老師的話時,ASR 錯字改成正確的字。
### 沒有投影片時
不要憑記憶逐字重現課本段落或數值表。英文定義用自己的話寫、句尾標 (my wording);Exam-ready 每行標「(自擬,投影片待補)」。例子只用老師講的。
### 寫完之後(只做一次)
跑檢查:
`C:\Users\user\.cache\meeting-record\venv\Scripts\python.exe C:\Users\user\.claude\scripts\check_note.py --transcript <逐字稿> --slides <投影片 txt …> --start <起> --end <訖> --vid <影片 ID>`
- STYLE/VISUAL/TIME/FORMAT:全部改掉。
- QUOTE:確認是不是你改正了 ASR 錯字(是就保留),不是就改成原文或拿掉引號。
- ENGLISH:確認是不是投影片斷行造成的(是就保留),不是就改成投影片原句。
**省額度守則**:章節包裡已經有你需要的全部資料。不要再去讀整份逐字稿、整份投影片、segments.json 或手冊。一次寫好整個檔(Write 一次),檢查後集中修改。