# 章節包:自然語言處理(NLP)W1(9/10)第 03 章「NLP 層次、語言模型與發展史」
影片 0:34:06–0:48:49,YouTube ID EEbwXXoVQPY。Notion 章節頁 https://app.notion.com/p/3e7fc631b03081f5bf0bf5126d7f9472(頁 ID 3e7fc631-b030-81f5-bf0b-f5126d7f9472),頁面標題「03 NLP 層次、語言模型與發展史(0:34–0:48)」。
## 1. 第一行(直接照抄,不要改)
[自然語言處理](https://app.notion.com/p/3e6fc631b03081b4a9e8f91f3411f61f) › [W1(9/10)](https://app.notion.com/p/3e7fc631b0308199953aef38ee86b0ae) › 03|影片 [0:34:06–0:48:49](https://www.youtube.com/watch?v=EEbwXXoVQPY&t=2046s)|投影片 Syllabus p.25–33|上一章 [02 生成式 AI 帶來的改變(0:17–0:34)](https://app.notion.com/p/3e7fc631b03081b2aaf1c69c5df0bfaf)|下一章 [04 課程安排、評分與同學問答(0:48–1:13)](https://app.notion.com/p/3e7fc631b0308153ba81da585f28e341)
## 1b. 最後一行(直接照抄,放在 Self-check 後面,當全頁最後一行)
讀完了嗎?下一章:[04 課程安排、評分與同學問答(0:48–1:13)](https://app.notion.com/p/3e7fc631b0308153ba81da585f28e341)|回到週頁:[W1(9/10)](https://app.notion.com/p/3e7fc631b0308199953aef38ee86b0ae)
## 2. 各段標題(照順序;每段一個 ## 標題,直接照抄連結)
- `## [0:34:06](https://www.youtube.com/watch?v=EEbwXXoVQPY&t=2046s) NLP 的四個分析層次` 老師講什麼:構詞(字首字尾、stemming)、句法(詞性、剖析樹)、語意(命名實體辨識、關係擷取)、語用(摘要等)。以前是一步一步教電腦像人一樣讀句子,老師說現在不需要講這麼細。
- `## [0:35:59](https://www.youtube.com/watch?v=EEbwXXoVQPY&t=2159s) 2017 閱讀理解比賽的瓶頸` 老師講什麼:2017 年「科技大擂台」要電腦答中文閱讀測驗並解釋理由,當時做法只是拿選項去比對文章算相似度,首獎從缺。現在隨便一個 Transformer decoder 都答得出來。
- `## [0:38:51](https://www.youtube.com/watch?v=EEbwXXoVQPY&t=2331s) LLM 的精神就是語言模型` 老師講什麼:進步是跳躍的,不是連續成長。ChatGPT 之前就有語言模型,LLM 就是把它變大;Markov 與 Shannon 是語言模型的先驅。
- `## [0:39:59](https://www.youtube.com/watch?v=EEbwXXoVQPY&t=2399s) 語言模型=接龍與條件機率` 老師講什麼:語言模型就是猜「前面是這些字,下一個字最可能是什麼」,也就是 N-gram 的條件機率。老師用周杰倫歌詞示範,並點出兩個問題:資料量太大、沒出現過的組合機率是 0。
- `## [0:42:30](https://www.youtube.com/watch?v=EEbwXXoVQPY&t=2550s) NLP 發展史:從 Turing 到 TF-IDF` 老師講什麼:1950–60 年代 Turing、Chomsky 開始想用運算處理語言;2000 年搜尋引擎時代,TF-IDF 是萬用的 baseline。
- `## [0:44:17](https://www.youtube.com/watch?v=EEbwXXoVQPY&t=2657s) 神經語言模型、word2vec、BERT` 老師講什麼:Bengio 用神經網路做語言模型;2013 年 word2vec 讓電腦知道狗跟貓比較像、跟卡車不像。2018 年 BERT(Encoder)與 GPT(Decoder)同時出現,之後應用大起飛。
- `## [0:45:59](https://www.youtube.com/watch?v=EEbwXXoVQPY&t=2759s) GPT-3 到 ChatGPT` 老師講什麼:GPT 走 Decoder 路線,GPT-3 花了巨額成本,讓大家第一次覺得電腦寫文章可行;之後有 InstructGPT,2022 年推出 ChatGPT。近幾年加速跟硬體和資料量成長有關。
## 3. 老師強調/會考/不考的地方(原句已驗證;寫進筆記時 ASR 錯字要改正)
- (0:34:24) [不考] 「不過我們並沒有講這些這麼細的東西因為現在不需要」 → NLP 四個層次(構詞、句法、語意、語用)不會講得很細
- (0:47:12) [強調] 「其實這個年代大家可能可以記一下」 → GPT-3 出現的年代:大家開始覺得讓電腦寫人類文章是可行的
## 3b. 數學段候選(程式抓的,只是提示;寫「跳過提示」行用)
0 段候選(門檻 3.0 字/30 秒)
## 4. 這章摘要與重要度
介紹傳統 NLP 的四個分析層次與閱讀理解的瓶頸,說明語言模型就是算「下一個詞」的條件機率,再從 Turing、TF-IDF、word2vec 一路講到 BERT、GPT 與 ChatGPT。(核心)
## 5. 整堂課的提醒(ASR 錯字、老師口誤、投影片缺公式等;只用跟這章有關的)
- 0:00:00–0:01:25 還沒開始上課;0:00:36 那串「志願自由生涯、紅色教堂…」是語音辨識幻覺,不是老師講的。
- 下課在 1:07:53,錄影裡只剩約 1 分半(1:07:53–1:09:19),老師說休息 10 分鐘,實際休息時段應該沒錄進去(推測,沒看影片確認)。
- 老師講 Syllabus-115.pdf 不是照頁碼順序:先講 p.1–33,接著跳到 p.43–51(課程內容、評分)和 Slido 問答,下課後才回頭講 p.34–42。所以第 04 章是 p.43–51、第 05 章是 p.34–42。
- 本週投影片是 Syllabus-115.pdf,加上 1:47:14 起的 W1_NLP_brief_v2.pdf p.1–3(檔名的 W1 不等於上課週)。brief p.3 那張「NLP 四階段」圖,W2 一開頭又講了一次。
- Slido 上有幾則助教的文字回覆,影片裡沒講到:考試可以用英文作答;作業有 2–3 週可以交;各校考試由 TAICA 在各校安排考場;清大實體教室在台達館 103;問問題可寄助教信箱 nthuikmlab@gmail.com;「會講 PEFT(LoRA),但 RL 不會講」。
- 第 06 章是下課後第二輪 Slido 問答,裡面有幾則行政回答(可重複提交、遲交扣分、作業調分),因為時間在第 04 章之後,所以留在第 06 章,不併進第 04 章。
- ASR 錯字對照:高鴻宇→高宏宇;自然源處理→自然語言處理;Edward Harvey→Eduard Hovy;LockedIn→Rocling;TradeGPT/TrackGP/ChangeGPT/ChangeBee/trekGPT/checkgpt→ChatGPT;Cloud→Claude;Entropy→Anthropic;Media→NVIDIA;game/GAME→GAN;Tronsky、Transcript 的 hierarchy→Chomsky(hierarchy);Benji→Bengio;Wall-to-Vector/Vault to Vector/what vector/water vector→word2vec;Transformer Learning→Transfer Learning;Transformer Scratch→from scratch;Sleep/Sleepless→Syllabus;slide/SIDEL(指問答平台時)→Slido;Tica/臺卡/Tiger→TAICA;ntu庫/NTU酷→NTU COOL;摩克斯→MOOCs;持交→遲交;RIL→RL;Prong/PROM→prompt;勸/Chain/圈(指訓練時)→train;PFT→PEFT;Numeration→Normalization(Named Entity Normalization);構制→構詞;Passing Tree→Parsing tree;Stop War→Stop word;One-Half Vector→One-hot vector;科技大學(0:38:25)→科技大擂台;國客會→國科會;黃淑駿→黃舒駿;regret→reject;deskregent→desk reject;dispution→distribution;Garantee→guarantee。
- 不確定的 ASR:0:50:37「Bloodbath的一系列的東西」推測是 BERT 家族(對照 Syllabus p.44 W9 BERT and its Family);1:18:49「像中國大陸一樣用針灸的方式」推測是「蒸餾」(distillation);1:18:00「Tide/Breeze/白龍」應是台灣模型 TAIDE、Breeze、Bailong;0:48:33「K3」不確定是哪個模型;1:34:55「Income」推測是 in-context learning。
- 考試名稱不一致:老師口頭說「期末考」,Syllabus p.44–45 寫 Exam/Midterm Exam(week 14, tentative)。是同一場,排在 W14,不在期末考週。
- 評分舊資料:Slido 同學提到 9/7 郵件寫「作業 70%+Term Project 30%」,老師 0:59:29 說那是舊資料,現在是作業 75%+考試 25%,沒有期末專題;p.45 另寫每份作業比重會微調 -3%~+3%。
- 考試算式:W1 老師 1:44:22 說「也許會有一題叫你們算一下 TFIDF」但隨即說好像沒意義;課程頁已寫「不考算式(例如 BM25 公式)」(來自之後的週次)。以課程頁較新的說法為準,筆記不要寫成「會考 TF-IDF 計算」。
- RL 說法不一致:老師 1:42:02 說 RL 設計「會提到啦但是不太會叫你們做」,Slido 助教回覆「會講 PEFT (LoRA), 但 RL 不會講」。理解成:不會有 RL 作業,最多概念帶過。
- 作業時間:老師 1:45:35 說作業「通常是一個月前會公佈」,Slido 助教回覆「作業會有 2~3 個禮拜的時間可以繳交」;兩者說的是不同事(公布時間 vs 繳交期限),寫筆記時不要混在一起。
- 投影片錯字:Syllabus p.38 寫「TD-IDF」,應為 TF-IDF(老師 1:23:49 口頭也說「這打錯了」);p.7「Ger explanations」應為 Get explanations。
- 修課人數:老師口頭說往年 300–500 人,Syllabus p.3 寫班級人數 1200 人(今年上限),兩者不衝突。
- Syllabus p.47(TAICA 運算資源:100/500 運算元帳號)老師說「有一張投影片我沒有放」,只口頭說會當作業 bonus 發給前十名;投影片上的名額與金額以公告為準(p.47 寫 Wait for announcement)。
## 6. 投影片文字(這章範圍)
**這幾頁的公式或內容只在圖裡(文字檔抓不到),寫 Exam-ready 與公式前先用 Read 看這幾張圖:**
- Syllabus p.25 → C:\D槽\TAICA課程\_work\notes-v2\nlp-w1\img\brief_Syllabus_p025.png
- Syllabus p.28 → C:\D槽\TAICA課程\_work\notes-v2\nlp-w1\img\brief_Syllabus_p028.png
- Syllabus p.29 → C:\D槽\TAICA課程\_work\notes-v2\nlp-w1\img\brief_Syllabus_p029.png
- Syllabus p.32 → C:\D槽\TAICA課程\_work\notes-v2\nlp-w1\img\brief_Syllabus_p032.png
--- Syllabus p.25 ---
How about text?
25
[IMAGE-ONLY]
--- Syllabus p.26 ---
NLP Levels
26
• Prefix / Suffix
• Lemmatization / Stemming
• Spelling Checking
Morphology
• Part-of-Speech Tagging
• Syntax trees
• Dependency Trees
Syntax
• Named Entity Recognition / Normalization
• Relation Extraction
• Word Sense Disambiguation
Semantics
• Co-reference resolution
• Topic Segmentation
• Summarization
Pragmatics
--- Syllabus p.27 ---
How teach computer to understand this?
Q:曾有一項調查發現,很多員工生病的時候不敢請假,因為他們擔心
老闆會不高興,覺得他們沒有責任感。有人認為,員工會這麼想是公司
的責任。一個好的公司應該能照顧員工,而不是讓他們拿健康去換錢。
因此,讓員工有幸福感,應該是未來企業努力的方向。
這篇文章說了什麼內容?
1.老闆應該給員工多一點兒假
2.常關心別人的人更有責任感
3.對公司有意見要勇敢說出來
4.照顧身體比認真工作更重要
27
科技大擂台, 2017
--- Syllabus p.28 ---
語言模型(Language Model)
28
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
--- Syllabus p.29 ---
Language Model
29
[IMAGE-ONLY]
--- Syllabus p.30 ---
30
童年的紙飛機現在終於飛回我
手裡
天青色等煙雨而我在
等妳
怎麼這樣子
雨還沒停妳就撐
傘要走
妳說這一句
很有夏天的感覺
我用幾行字形容妳是我
的誰
為妳翹課的那一天
花落的
那一天
消失的下雨天
--- Syllabus p.31 ---
31
童年的紙飛機現在終於飛回我
手裡
天青色等煙雨而
在
等
怎麼這樣子
雨還沒停妳
就撐
傘要走
說這一句
很有夏天的感覺
用幾行字形容
翹課的那一天
花落
消失的下
天
為
是
的誰
P (b | a)
P (c | ab)
.
.
.
P (説 | 妳) = 1/4
P (説 | 沒停妳) = 0
--- Syllabus p.32 ---
NLP is not NLP before
[IMAGE-ONLY]
--- Syllabus p.33 ---
History of Language Science (AI view)
33
## 7. 逐字稿(0:34:06 前後各多 1 分鐘,原始行)
[00:33:06] 病人醫院的資料就是那十筆
[00:33:09] 我怎麼樣去做一個很厲害的判斷的模型
[00:33:13] 所以你一定要有一個
[00:33:15] 可以產生更多有用的訓練資料方法
[00:33:18] 所以這GAI就在這些需求下就蓬勃發展這樣子
[00:33:23] 這個都比較是影像的應用
[00:33:25] 所以這個
[00:33:27] 大家可以想像一下這個東西
[00:33:30] 你可以想像這是2016年NIPS的一個tutorial講的東西
[00:33:34] 到現在十年了
[00:33:36] 雖然
[00:33:38] 現在大家不太用GAME來做生成
[00:33:41] 有更好的技術在做
[00:33:44] 所以其實你可以想像這件事情他的
[00:33:47] 他不只是幫你做一個很
[00:33:49] 要報告的圖片
[00:33:51] 做一個什麼東西的
[00:33:53] 文章
[00:33:54] 他可以
[00:33:55] 輔助到很多層面甚至他可以自己幫助自己在訓練的更好
[00:34:00] 所以GENERATION這件事情你不要太侷限
[00:34:03] 他的範疇
[00:34:04] 就是這樣子
[00:34:06] 但是在文字上
[00:34:07] 其實
[00:34:08] 這個時間軸可能要再拉更早以前
[00:34:11] 在文字上其實沒有
[00:34:13] 這麼聰明
[00:34:15] 沒有那影像當然是後面
[00:34:17] 但
[00:34:19] 做NLP大概會從這四個
[00:34:21] 四個軸開始
[00:34:23] 大家可以看一下
[00:34:24] 不過我們
[00:34:25] 並沒有講這些這麼細的東西因為現在不需要
[00:34:29] 我們會從最上面的Morphology構制
[00:34:32] 所以你會談到字的
[00:34:34] 前綴後綴這些東西
[00:34:36] 這個當然在中文是沒有
[00:34:39] 但是在任何拉丁語系都有
[00:34:43] 大家如果學過去考過
[00:34:45] 這個GRE英文就要背什麼
[00:34:47] 什麼前綴詞後綴詞這些東西
[00:34:51] 那甚至你要學所謂的stemming
[00:34:53] 段字甚至後面的syntax你要學會
[00:34:57] 這個詞性
[00:34:58] 就是你要知道動詞主詞受詞這些東西
[00:35:01] 所以NLP的技術的發展是這樣的
[00:35:04] 每一個
[00:35:05] 每一個階段它都可以是一個非常重要的主題
[00:35:09] 所以
[00:35:09] 像以前
[00:35:10] 做Name Entity Recognition就是一篇文章裡面我如何知道
[00:35:15] 國立清華大學這六個字是在講一個學校的名字
[00:35:21] 如何去判斷一些詞之間是有關係的
[00:35:25] 國立清華大學跟清大
[00:35:27] 是
[00:35:28] 同樣講同樣的東西的
[00:35:30] 這個就是一個Numeration的問題
[00:35:33] 所以你會發現以前在
[00:35:34] 看NLP的問題的思考點就非常細
[00:35:39] 就是有點像你一步一步教會電腦去看這個句子
[00:35:44] 我們人是怎麼理解的我們人
[00:35:46] 學會文章是怎麼理解我現在就一步一步教會電腦去做這些事情
[00:35:52] 那以前的做法是這樣
[00:35:54] 但是到後來就
[00:35:56] 極限了遇到一個瓶頸
[00:35:59] 那
[00:36:00] 我都會舉這個例子就是在2017年應該也是10年前
[00:36:04] 就是國科衛辦了一個比賽
[00:36:07] 講了這件事情
[00:36:08] 你如何讓電腦去做閱讀理解
[00:36:11] 就是給他一個問題
[00:36:13] 然後給他選項
[00:36:14] 電腦能不能回答出這個答案
[00:36:18] 那以前的做法呢就是把選項呢去比對
[00:36:22] 比對文章算相似度這樣子
[00:36:25] 但是你會覺得這個很笨啊就是把它丟到checkgpt問一下
[00:36:29] 然後給他選項他就會回答
[00:36:31] 沒錯
[00:36:31] 但是你有沒有思考
[00:36:33] 這些模型是怎麼
[00:36:34] 怎麼做到這件事情
[00:36:37] 以前我們就只停留在說我要把每一個選項
[00:36:41] 去比對關鍵字
[00:36:43] 或者是把它轉換成一個項鍊
[00:36:46] 用一堆數字來表示這些文字
[00:36:49] 但是一樣在算相似度
[00:36:53] 那這個相似度呢就是在不同的Domain
[00:36:55] 可能是你把它轉換成某一個
[00:36:58] Megaspaces的Domain去算相似度
[00:37:01] 你並沒有真正去理解說這個
[00:37:04] 他
[00:37:04] 前因後果是什麼這樣子
[00:37:07] 對
[00:37:08] 那
[00:37:11] 我們還是不要問
[00:37:12] 這個
[00:37:13] 這一題的答案其實不見得會固定
[00:37:16] 就是大家的idea
[00:37:18] 覺得
[00:37:19] 這個是什麼
[00:37:20] 這個是從
[00:37:22] 這個國語文能力測驗出來的
[00:37:24] 大概是
[00:37:26] 中年級小學中年級的程度
[00:37:30] 那也會拿來去考外國人說他到底看得懂中文沒有這樣子
[00:37:35] 那當然以一般我們這個native speaker中文的native speaker來講
[00:37:39] 這應該蠻簡單但是
[00:37:41] 你可以回去讀一下
[00:37:42] 好像不是這麼容易
[00:37:46] 這是在2017年辦的比賽
[00:37:48] 然後
[00:37:49] 第一名獎金有1000萬
[00:37:51] 辦了兩屆這樣子
[00:37:53] 那
[00:37:53] 據說
[00:37:55] 第一名獎金都沒有發出去
[00:37:57] 不知道是國客會
[00:37:59] 沒有誠意還是
[00:38:00] 怎麼樣
[00:38:01] 這個好像有錄影
[00:38:03] 就是後來
[00:38:05] 後來那個
[00:38:05] 那個
[00:38:07] 那個
[00:38:08] 審查委員那個裁判
[00:38:10] 說的說大家都
[00:38:13] 都沒有做好
[00:38:14] 意思是這樣
[00:38:15] 就沒有做很好這樣所以第一名從缺這樣子
[00:38:17] anyway
[00:38:19] 然後這是問CHATGPT的
[00:38:21] 他會告訴你答案
[00:38:22] 重點是大概可以解釋
[00:38:25] 科技大學當初分兩個階段
[00:38:27] 第一個是回答選擇題
[00:38:29] 第二個是你要告訴我為什麼
[00:38:32] 那你要能夠解釋這件事情是
[00:38:34] 在2017年是
[00:38:35] 大家覺得這根本是
[00:38:37] 聖盃啊根本是做不到的事情
[00:38:40] 但是你現在隨便拿一個
[00:38:42] 拿一個transformer decoder
[00:38:44] 餵給他他就會
[00:38:46] 告訴你這些東西雖然不見得這麼好
[00:38:48] OK
[00:38:51] 所以
[00:38:51] 你可以想像這個gap是
[00:38:53] 一個
[00:38:55] 非常discrete的jump上去
[00:38:57] 並不是一個很
[00:38:59] 連續的成長
[00:39:02] 那其實這件事情
[00:39:04] 以前啊就是
[00:39:05] 就是
[00:39:05] CHATGPT還沒出來之前
[00:39:08] 就有language model
[00:39:11] 只是說老師這個就是我們現在把language model變大而已嘛
[00:39:15] 就是LLM
[00:39:16] 沒錯的確他的精神是一樣的
[00:39:19] 是language model
[00:39:20] 那以前我們在做NLP的人
[00:39:23] 不見得都會用到language model因為他
[00:39:27] 第一個是
[00:39:27] based on 機率的模型去講
[00:39:29] 而且通常我們訓練的語料也沒有很多
[00:39:32] 所以
[00:39:34] 這件事情
[00:39:35] 大家就
[00:39:36] 覺得他是理論的基礎
[00:39:38] 但是當初跟
[00:39:39] 語言模型有關的這兩位
[00:39:41] 可能在座如果以後要做speech或是做
[00:39:45] 治安的
[00:39:46] 同學你都會遇到這樣子
[00:39:48] 這非常有名的
[00:39:49] 尤其是
[00:39:50] Claude Shannon
[00:39:50] 你看這個名字就知道
[00:39:52] 為什麼他有名
[00:39:54] 為了紀念他所以那個模型
[00:39:56] 就用他的名字
[00:39:58] OK
[00:39:59] 好他們都有提到跟language model有關的東西
[00:40:02] language model其實
[00:40:04] 大家都知道啦就是
[00:40:06] 這種接龍遊戲
[00:40:08] TrackGP出來之後為什麼大家說要接龍遊戲就是這樣子
[00:40:10] 什麼東西前面是什麼
[00:40:12] 後面出來的機率
[00:40:14] 會不太一樣
[00:40:16] 那你就會去猜最好的
[00:40:17] 雖然這個我用Google當例子
[00:40:19] 不是很好
[00:40:20] 因為Google他其實會拿那個查詢詞的分佈去做統計
[00:40:24] 並不是所有文獻去做統計
[00:40:27] 不然你以為你可以發現不同地方臺南新竹臺中
[00:40:31] 好吃的
[00:40:31] 後面的排序是不太一樣的
[00:40:34] 對
[00:40:35] 所以
[00:40:36] 這個
[00:40:37] 你可以想像大家常常查的東西是什麼
[00:40:41] 所以他有個probability model
[00:40:42] 所以大家知道language model
[00:40:45] 就是一堆詞的關係
[00:40:47] 我這邊拿
[00:40:50] 周杰倫的
[00:40:51] 周杰倫的歌詞
[00:40:52] 應該沒有版權
[00:40:53] 我再舉個例子這樣子就是
[00:40:55] 他的詞之間的關係
[00:40:58] 那但是做完之後發現
[00:41:00] 例子不是很好不過居然都做了就把他擺出來這樣子
[00:41:04] 因為
[00:41:05] 那個
[00:41:06] 周杰倫的詞都
[00:41:07] 很跳
[00:41:08] 所以那個機率不太好算這樣子
[00:41:11] 那我當然有試過
[00:41:13] 這個用
[00:41:14] 黃淑駿的
[00:41:17] 在座我們聽過黃淑駿這一位
[00:41:19] 歌手
[00:41:20] 聽過舉手一下
[00:41:24] 不入你們年紀這樣子
[00:41:26] 我用黃淑駿來做那黃淑駿其實也不太好做
[00:41:30] 因為他他的詞非常多沒錯但是他的
[00:41:34] 他的
[00:41:35] 他的詞也是很特別就是所以
[00:41:37] Probability也不太好算
[00:41:38] 不過anyway
[00:41:40] 語言模型他其實就在算這些N-gram之間的發生的條件機率
[00:41:46] 就是你看到這個詞之後
[00:41:48] 看到這個詞的Probability
[00:41:50] 這個條件機率你都會算
[00:41:51] 其實這個就是基礎的Language Model
[00:41:54] 只是說你可以想像你如果只知道這件事情
[00:41:58] 你現在就回去想說
[00:42:00] 老師給我一大堆的文獻
[00:42:03] 我自己要算這些機率會發生什麼問題
[00:42:05] 第一個這要量太大
[00:42:08] 第二個可能有些東西沒有發生過啊
[00:42:11] 那機率是不是0
[00:42:12] 機率是0要怎麼算這樣子
[00:42:14] 所以
[00:42:15] 你可以先
[00:42:16] 不用先看答案自己先
[00:42:18] 試著做一下你就知道說原來
[00:42:21] 我想得到這些問題都已經有人解過這樣子
[00:42:24] 所以你就可以成長得很快這樣子
[00:42:29] 好
[00:42:30] 不過anyway現在我們探討NLP不是用這樣的角度去看
[00:42:35] 這張圖
[00:42:36] AI位也很濃沒錯
[00:42:39] 這其實是我自己手工畫了一下之後
[00:42:42] 然後再叫AI幫我把它美化一下
[00:42:45] 就是我們看到的NLP的歷史
[00:42:48] 從AI的角度來看
[00:42:52] 那個站著的同學就不好意思
[00:42:54] 我也很快
[00:42:56] 第一階段就會講完了這樣子
[00:42:58] 你們就可以看怎麼樣
[00:43:00] 就這個歷史其實跟NLP有關的發展
[00:43:03] 其實
[00:43:05] 當然後面很快
[00:43:06] 但你會發現其實前面我們在講這些事情
[00:43:09] 這一位大家應該都知道
[00:43:11] 這個Turing
[00:43:13] 他
[00:43:15] 做Turing本訓之後去
[00:43:18] 探討說這個language之間
[00:43:20] 什麼樣language
[00:43:22] 不同的type
[00:43:22] 當然跟Transcript的
[00:43:24] 這樣的hierarchy有關
[00:43:27] 所以在那個年代在
[00:43:29] 這個19501960年代
[00:43:31] 其實就希望能夠那時候
[00:43:34] 其實電腦還沒出來喔
[00:43:35] 你可以想像
[00:43:36] Turing那時候是沒有computer的
[00:43:39] 大家就有這樣的想法
[00:43:40] 需要讓
[00:43:43] 電腦用
[00:43:44] 運算的方式去處理這種
[00:43:47] 這種sequential的東西
[00:43:48] 然後去理解裡面的一些pattern
[00:43:52] 所以其實
[00:43:54] 在Chomsky那個年代就有一個chipboard
[00:43:57] 就有一個chipboard出來這樣子
[00:43:59] 但是真正跟我們比較有關的
[00:44:01] 你可以想像說
[00:44:03] 在網路泡沫化起來的時候
[00:44:05] 那時候有很多的網路泡沫化起來的時候
[00:44:06] 那時候有很多的網路泡沫化起來的時候
[00:44:07] 在2000年時候有搜尋引擎
[00:44:09] 但是那時候大家做的是什麼
[00:44:11] TFIDF
[00:44:13] 這個萬用的非常厲害的Baseline的做法
[00:44:17] 然後到後來大家覺得
[00:44:19] 這個Benji有說
[00:44:20] 我們可以用
[00:44:21] 模型的角度
[00:44:22] 用NN的角度來看這件事情
[00:44:25] 來做language model
[00:44:28] 我們不是在算剛才的機率
[00:44:29] 我們用Chain的方式來做
[00:44:31] 從這邊
[00:44:32] 就整個蓬勃發展一直到
[00:44:34] 最明顯大家可能現在用
[00:44:36] 用NLP的人會想到說
[00:44:39] 我有一個叫Wall-to-Vector的東西
[00:44:41] 大概在
[00:44:43] 14年前2013年出來的東西
[00:44:46] 這個階段就整個起來了
[00:44:50] 整個
[00:44:51] 重要性跟他的
[00:44:54] 一大堆人就進來做這件事
[00:44:55] 因為發現有Wall-to-Vector
[00:44:57] 我可以知道說
[00:44:59] 狗跟貓其實是比較像的
[00:45:01] 狗跟卡車其實比較不像的
[00:45:03] 利用這種演算法的東西之後
[00:45:05] 我就可以
[00:45:06] 做非常多事情
[00:45:07] 有很多應用就往上跳一階
[00:45:10] 但是到真正改變這個歷史的是在2018年
[00:45:15] 就是Bert跟GPT
[00:45:17] 那個年
[00:45:17] 那個
[00:45:18] 年份同時出來
[00:45:20] 但是當時GPT出來之後大家
[00:45:22] 不看好他
[00:45:24] 因為他就是一個Decoder的模型
[00:45:26] 但是Bert呢是Basic on
[00:45:28] 這兩個都是Basic on Transformer
[00:45:29] 但是Bert是一個Encoder模型
[00:45:32] 所以大家覺得Bert很好用啊
[00:45:35] 他可以取代以前的Wall-to-Vector
[00:45:36] 做的很好
[00:45:38] 所以你可以發現2018年之後
[00:45:40] 就一大堆Bert-based的應用
[00:45:42] 就是全部都用Bert
[00:45:44] 所以
[00:45:45] 這個
[00:45:46] 2018年之後就是整個的
[00:45:48] 整個的Annual-Pair應用就大起飛
[00:45:51] 因為發現這個
[00:45:53] 以前笨笨的Chadbot
[00:45:55] 都可以變得非常聰明
[00:45:57] 但是呢
[00:45:59] 這邊要秀的是GPT他也是默默的發展
[00:46:03] 這樣講好像他是一個弱者
[00:46:05] 其實他不是
[00:46:05] 只是說他就
[00:46:06] 朝著他的Decoder路線繼續做
[00:46:09] 那
[00:46:11] GPT-2出來之後大家也覺得
[00:46:13] 好像比較厲害一點
[00:46:15] 因為他GPT-1
[00:46:16] 第一代實在不怎麼厲害
[00:46:18] 那2出來之後好像
[00:46:20] 值得做下去了
[00:46:21] 一直到他3
[00:46:23] 他3出來之後是
[00:46:25] 非常厲害一個轟動的
[00:46:27] 的產品
[00:46:28] 那個Paper列出來之後
[00:46:30] 大家覺得原來可以
[00:46:32] 不是他的模型
[00:46:33] 他的模型的確很厲害但是大家驚訝的是
[00:46:35] 他是
[00:46:36] OpenAI花了這麼多錢
[00:46:38] 花了這麼多錢來做這樣子
[00:46:41] 他們甚至有一個
[00:46:42] 那個paper如果大家有興趣去download那個paper
[00:46:46] 裡面那個作者寫一句話說
[00:46:48] 他們知道這個實驗的過程
[00:46:51] 有一個DSA用錯了
[00:46:53] 那個使用方式錯誤這樣子
[00:46:56] 但是呢
[00:46:57] 實驗已經跑下去了
[00:46:58] 如果要重新跑又要花
[00:47:01] 多少錢他們就不跑了這樣子
[00:47:03] 所以
[00:47:04] 你就可以知道他們花了
[00:47:05] 成本有多少這樣子
[00:47:07] 那個一次性
[00:47:08] 要做的
[00:47:09] 成本有多少
[00:47:11] 那
[00:47:12] 其實這個年代大家可能可以記一下就是這個年代大家也是確GPT快出來的時候
[00:47:18] 那
[00:47:19] GB3出來之後大家就突然覺得
[00:47:21] 讓電腦去
[00:47:23] 寫人類的文章是可行的這件事情
[00:47:27] 大家突然
[00:47:28] 覺得
[00:47:29] 可以做
[00:47:29] 以前都不行以前就覺得這個一看就是AI寫電腦寫
[00:47:33] 那GB3之後就
[00:47:35] 突然一袋一堆
[00:47:37] 有一堆公司去專門包裝GPT3
[00:47:40] 然後去做一些
[00:47:41] 這個
[00:47:42] 文章的service這樣子
[00:47:45] 那當然後面就所謂的InstructGPT跟
[00:47:49] 它後面的
[00:47:51] 包裝後的ChatGPT
[00:47:53] 所以這個2022年的時候ChatGB出來之後後面就就是大家所熟知的故事
[00:47:59] 就是
[00:47:59] 大概發展是這樣
[00:48:01] 當然你會覺得說這個
[00:48:02] 後面這個四五年
[00:48:04] 發展的很快
[00:48:05] 前面怎麼那麼慢
[00:48:07] 前面
[00:48:08] 都很混嗎
[00:48:08] 沒有其實
[00:48:10] 當然跟硬體的成長有關係
[00:48:12] 當然也跟所有
[00:48:13] 資料量變多了
[00:48:15] 所有運算能力變強也有關係這樣子
[00:48:18] 但是以前
[00:48:18] 這些技術發展其實也是很多
[00:48:21] 這邊有很多的模型大家可以
[00:48:23] 可以看一下如果你都可以知道
[00:48:26] 每一個icon是什麼樣模型那表示你還蠻熟的這樣子
[00:48:30] 我還
[00:48:31] 放一個新的這個
[00:48:33] K3的東西
[00:48:35] 這個AI位很濃的圖
[00:48:39] 我們就看一看就好了
[00:48:40] 從以前到現在這樣子
[00:48:42] 這個比較像給小朋友看的
[00:48:45] 那
[00:48:49] 這個我等一下再回過頭
[00:48:54] 我先秀一下我們這堂課
[00:48:56] 這堂課會教的東西
[00:48:58] 我們會有助教課
[00:49:01] 在助教課大概就是
[00:49:03] maybe是
[00:49:04] 三到六個小時
[00:49:06] 其實也是教大家
[00:49:08] 呃
[00:49:08] 怎麼用Python做NLP的東西
[00:49:12] 或是
[00:49:13] 像後面RAG的東西會教一些
[00:49:15] Hugging face上或是
[00:49:18] 這個怎麼呼叫模型的部分這樣子
[00:49:21] 或是教你用這些
[00:49:23] RAG的一些
[00:49:25] 一些framework這樣子
[00:49:27] 那基本上我們會從
[00:49:28] 基礎的NLP開始講起
[00:49:30] 然後從Square model
[00:49:34] 從基本上的類成金網路Square model從
[00:49:38] RNN LSTM
[00:49:40] 雖然你們現在也不太用這些模型
[00:49:41] 但是我們會從那邊開始講起
[00:49:43] 然後一直到
[00:49:44] Transformer然後到Transformer現在的LM
[00:49:47] 大家都會介紹這樣子
[00:49:48] 那
[00:49:49] 這學期我是希望能夠增加一些reasoning的部分
## 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 節那行,原樣照抄。
- 第二行起(有數學段才寫):**跳過提示**,每段一行,讓主理人看影片時知道從哪跳到哪。用章節包第 3b 節的候選當提示,對照第 7 節逐字稿確認(只標老師連續講公式、推導、矩陣、微積分、機率計算、程式細節超過約 1 分鐘的段落;概念講解和比喻不算):
`跳過提示:(1:31:02–1:35:40) 老師在推導梯度公式,聽不懂可以直接跳到 [1:35:40](YouTube 連結),接著講「步長 α 怎麼選」。`
- `## 重點`:三點中文,每點一到兩句。
- `## 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)
- 中文:爬山法只記住「現在這一個狀態」,每一輪都移到分數最高的鄰居。白話:一直往比較高的地方走一步。
```
中文要先把句子意思講清楚,再補一句白話;最後用「英文(中文)」列出這句裡 1–3 個難字,例:sparse(稀疏)、distinct terms(不重複的字)。
**一行只放一句投影片原句**。同一頁有多句要考就拆成多行,每行各接一行中文;不要用分號串三句以上,不要把計算量 O(...) 塞進去。
- 章節包第 2 節的每一段:`## [h:mm:ss](連結) 標題`(照抄),下面 2–4 句白話摘要,其餘全部收進摺疊:
```
問句(例:用生活例子講,BFS 在做什麼?)
內容
```
摺疊種類(需要才放):用生活例子講?/它到底怎麼運作?/要先懂什麼?(老師假設你會的數學或概念,短版教學)/老師原話是什麼?(「原話」(h:mm:ss),只放重要的,最多 5 句)。
- 「它到底怎麼運作?」要用一組小數字把這段的演算法**真的跑 1–3 步**(例:算出梯度、更新一次、比較兩個 α),不是只示範定義的加減乘除。全章盡量沿用同一組數字,讓前一段的答案能在下一段被驗證。
- 每段正文要回答讀者最可能卡住的一個「為什麼」。投影片公式方向跟題目相反、或投影片說「解不出來」時,用一兩句講出原因,自己補的標(我補充)。
- 投影片句子停在公式前(公式在圖裡)時:Exam-ready 在粗體詞條上補公式、引號內保持原句;正文寫出同一條式子。公式圖看章節包第 6 節列出的 PNG。
- `## Self-check`:2–4 題英文考題,答案收摺疊。**至少一題考老師強調的內容**;只出 explain/why/compare 這類問答題,**不出要代數字計算的題目**(考試不考算式);不出「老師和投影片哪裡不同」這類不會考的題目。每題格式:
```
Q1. English question?(中文:中文題目)
**Answer**: English answer.
中文:把答案完整講一遍(不是只翻一句),讓看不懂英文的人也知道要怎麼答。
```
- **最後一行**:章節包第 1b 節那行(下一章連結),原樣照抄。讓讀完的人直接點下一章。
- 不要把章節包或這份規則裡的指示句寫進筆記(例如「寫筆記時照投影片寫」「已改正 ASR 錯字」)。
- 長度:全文不超過 16,000 字元(跟 check_note.py 同一個數字)。**不要為了壓字數反覆刪改**(實測一章最多花 12 輪在刪字);超過時只刪進階摺疊裡的第二組算例,比喻、比較表、圖說、「老師說不用背」的提醒都不刪。
- 預設看得到的正文不放計算量 O(...)、代號對照(例如 SMART 字母)、課本出處考據,一律移進進階摺疊。
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 一次),檢查後集中修改。