[自然語言處理](https://app.notion.com/p/3e6fc631b03081b4a9e8f91f3411f61f) › [W2(9/17)](https://app.notion.com/p/3e6fc631b03081a18b13fad72a8874fd) › 01|影片 [0:04:39–0:21:17](https://www.youtube.com/watch?v=MnA5KUETSg4&t=279s)|投影片 W1_NLP_brief_v2 p.3–7|上一章 無|下一章 [02 語言的歧義與理解難題(0:21–0:41)](https://app.notion.com/p/3e6fc631b030815e805aead9c729a0d1) ## 重點 - 這門課教的是「深度學習時代的 NLP」。以前靠人寫文法規則和知識庫,現在靠大量資料訓練模型;模型越大效果越好,但人越看不懂它裡面的數字代表什麼。 - NLP(自然語言處理,讓電腦用計算的方式處理人類語言)被看成機器學習的一個分支。拿到一批新聞可以做八件事:索引搜尋、分類、事件偵測、影響力、摘要、文章關聯、情緒,以及把新聞當成「沒有人工標註的訓練語料」。LLM 能變強,靠的就是這種海量的無標註文字。 - LLM 出現前,要自己串一條流水線:斷詞與詞性 → 專有名詞辨識 → 關鍵字權重 → 摘要 → 情緒 → 主題分群。前面一步錯,後面幾乎全沒用。現在 LLM 一次做完,但要懂這條流程,才知道它可能錯在哪。 ## Exam-ready - **NLP**: "Natural language processing (NLP) is the use of human languages by a computer and is viewed as a branch of machine learning."(W1_NLP_brief p.4) - **NLP applications**: "Translation / Information Retrieval / Chatbot / Information Verification"(W1_NLP_brief p.4) - **An example (news)**: "Indexing / Search, Classification, Event detection, News influence, Summarization, Article relationship, Sentiment, Unsupervised Training Corpus"(W1_NLP_brief p.5) - **Symboledge (linguistics)**: "Modern grammar (Linguistics) theory proposed in 1950s has been introduced in NLP but cannot well cover complex language usage."(W1_NLP_brief p.3 圖中文字) - **Symboledge (expert system)**: "An expert system represents facts and rules with the knowledge base, and conducts inference based on the knowledge base."(W1_NLP_brief p.3 圖中文字) - **Modeledge (statistical models)**: "The data-driven statistical models proposed in 1990s take advantages of shallow lexical information."(W1_NLP_brief p.3 圖中文字) - **Modeledge (neural models)**: "Neural models are introduced in NLP in 2000s but challenged by deep understanding with structured knowledge."(W1_NLP_brief p.3 圖中文字) - **Traditional NLP pipeline**: "Raw Financial News → 1. Tokenization & POS Tagging → 2. Named Entity Recognition (NER) → 3. Keyword Weighting → 4. Extractive Summarization → 5. Sentiment Analysis → 6. Topic Modeling & Clustering → Clean Financial Insights"(W1_NLP_brief p.7 圖中文字)【老師強調】(0:16:55) ## [0:04:39](https://www.youtube.com/watch?v=MnA5KUETSg4&t=279s) 開場:三小時濃縮半學期 今天這堂是整門課的「簡介」。老師把以前這門課大約一半的內容壓成三小時帶過:目標是讓你聽過這些名詞、知道以前怎麼做,不要求每個細節都會做。三節課連著上,照原本的課堂時間下課。 **注意:老師說今天以介紹為主,看以前的做法和一些歷史故事,不會牽涉太多技術細節 (0:09:21)。**
現在都用 LLM 了,為什麼還要學舊方法? 老師給了兩個理由。第一,名詞和概念要知道:現在你可能不需要自己這樣做,但後面講深度學習時,會一直拿這些舊步驟當對照。第二,有些技術現在還在用。老師舉例:用自己架的本地模型做 RAG(retrieval-augmented generation,先從文件庫找出相關資料,再交給 LLM 回答)時,就可能用到今天講的檢索技術,例如第 5–7 章的索引、TF-IDF、BM25。 **注意:逐字稿把這個詞辨識成「IG」,依上下文推測是 RAG(不確定)。**
老師原話是什麼? 「不過你大概要知道這些東西」(0:06:05) 「讓大家看看以前的做法然後看看一些歷史一些故事」(0:09:21)
## [0:06:29](https://www.youtube.com/watch?v=MnA5KUETSg4&t=389s) 課程定位:深度學習時代的 NLP 這門課的設計像 Stanford 把 NLP 和深度學習結合的那門課(老師沒說課號,對應的是 [CS224N: Natural Language Processing with Deep Learning](https://web.stanford.edu/class/cs224n/)),會直接跳進深度學習,而不是純講傳統 NLP。p.3 這張圖把「讓機器理解語言的知識」分成兩類:上半是人寫給機器的符號知識(Symboledge:文法樹、專家系統),下半是機器從資料學到的模型知識(Modeledge:統計模型、神經網路)。越往下越靠資料、效果越好,但人越難看懂。 [[IMG: C:\D槽\TAICA課程\_work\notes-v2\nlp-w2\img\nlp_w2_ch01_brief_p003.png | p.3 語言理解的知識:上半 Symboledge(人看得懂),下半 Modeledge(機器好用),中間是 1960–2010 的時間軸]]
這張圖的四格各在講什麼? - 左上,文法理論(Linguistics,1950 年代提出):人用文法規則把句子拆成一棵樹,例如 S(句子)= NP(名詞片語)+ VP(動詞片語)。問題是 "cannot well cover complex language usage":真實語言例外太多,規則寫不完。 - 右上,專家系統(expert system,約 1980 年代):人把事實和規則寫進知識庫,例如「COVID-19 是一種傳染病」「COVID-19 的症狀是咳嗽、發燒、頭痛」,再照規則推論。 - 左下,統計模型(statistical models,1990 年代):不再手寫規則,改從大量文字算統計。圖裡 COVID-19 和 fever、cough、headache 在空間中靠得很近,因為它們常一起出現。但只用到 "shallow lexical information"(淺層的字詞資訊:哪些字常一起出現),不懂深層意思。 - 右下,神經網路模型(neural models,2000 年代起):把整句 "Tom coughs today and may get infected by COVID-19" 丟進模型,讓模型自己學。挑戰是需要結構化知識的深層理解。 - 縱軸:上方 Human-Friendly(人看得懂),下方 Machine-Friendly(機器好算)。Symboledge、Modeledge 是 symbol/model 和 knowledge 拼起來的字。
用生活例子講,「靠規則」和「靠資料」差在哪? 想像你要教外國朋友判斷一句中文客不客氣。 靠規則:你寫一本手冊,「有『請』=禮貌」「句尾加『喔』=比較軟」。每條規則你都看得懂,但真實對話例外太多,手冊永遠寫不完。 靠資料:讓他在台灣住三年,聽幾萬次對話。他最後判斷得很準,但你問他「為什麼覺得這句不客氣」,他常說不出一條明確的規則。 LLM 就是後者:很準,但它腦中幾十億個數字,人很難一個一個解釋。所以對你的影響是:考題問 rule-based 和 data-driven 的差別時,答「可解釋、但涵蓋不了複雜用法」對上「效果好、但難解釋」這組取捨。
要先懂什麼?參數、Transformer、BERT、word embedding - 參數(parameter):模型裡可以被訓練調整的數字。老師說的幾 B、幾十 B,B 是 billion(十億),70B=700 億個數字。 - Transformer:2017 年提出的神經網路架構,現在幾乎所有 LLM 的骨架,一層一層疊起來,每層都有大量參數。 - BERT:Google 在 2018 年用 Transformer 做的語言模型。 - word embedding(詞向量):把每個字變成一串數字,例如「貓」=[0.21, −0.53, 0.08, …],意思相近的字,數字也相近。本週第 8 章和下週會細講。 老師的問題是:你打開 BERT 某一層的參數,或拿出「貓」的向量裡第 37 個數字,能說出它代表什麼嗎?大多數時候不行。這就是圖上「越往下越不 human-friendly」的意思。
老師原話是什麼? 「在Deep Learning時代的自然語言處理該怎麼做」(0:06:37) 「讓模型去理解這些東西,而不是我們告訴他一些規則」(0:07:52) 「你能夠把word embedding的每一個字的向量的數字拿出來解釋嗎?其實是不太行的」(0:08:39)
## [0:09:31](https://www.youtube.com/watch?v=MnA5KUETSg4&t=571s) 什麼是 NLP:拿到一批新聞能做什麼 NLP 就是讓電腦用計算(computational)的方式處理人類語言:從語言學(linguistics)切入,再靠大量運算讓應用真正落地。p.4 的定義把它看成機器學習的一個分支,典型應用是翻譯、資訊檢索(information retrieval,像搜尋引擎,管理並找出大量文字)、聊天機器人、資訊查核。老師拿「一大批新聞」當例子(p.5),列出 NLP 能對它做的八件事。
這八件事各在做什麼?
投影片用詞白話放在新聞上的例子
**Indexing / Search**建索引,讓人搜得到記下每篇新聞包含哪些字,之後打「台積電」立刻找出相關新聞,不用每篇重翻
**Classification**分類這篇是財經、政治還是體育
**Event detection**事件偵測現在發生了什麼、今天最重要的事是什麼
**News influence**新聞影響力這則新聞發出去造成多大影響。老師說快選舉了大家很想做,通常要加上社群(social)分析
**Summarization**摘要一篇長文用三句話講完,或幫你畫重點。老師說大約五年前還是重要研究題目
**Article relationship**文章之間的關聯這兩篇在不在講同一件事、是不是後續報導
**Sentiment**情緒分析這篇是正面還是負面。老師提到有研究從犯罪者事前的貼文偵測特殊情緒,也會用在醫學領域
**Unsupervised Training Corpus**非監督式訓練語料把新聞本身當成沒有人工標註的訓練資料(下一段講)
老師原話是什麼? 「大概在五年前還是一個重要題目」(0:11:52)(講摘要)
## [0:12:59](https://www.youtube.com/watch?v=MnA5KUETSg4&t=779s) 非監督式訓練語料:LLM 怎麼學會語言 傳統機器學習靠監督式資料:每一筆都要有人標好「輸入 → 正確答案」,成本很高,標錯(雜訊)效果就變差。LLM 不可能請人把全世界的文字都標完,所以先用大量沒有標註的語料,讓模型自己吸收人類的語言和知識。老師的比喻:學英文不要背文法,一直聽,聽久了自然就會。
要先懂什麼?監督式和非監督式差在哪? - 監督式學習(supervised learning):資料成對,有 input 也有人標的 output。例:「這部電影爛透了」→ 負面。模型學的是「看到輸入,猜出人標的答案」。 - 非監督式學習(unsupervised learning):只有 input,沒有答案,模型自己找規律。例:把一堆新聞自動分成幾群(下面流水線第 6 步的主題分群就是這種)。 - LLM 的預訓練(pre-training)常被叫做 self-supervised(自監督):資料沒有人工標註,但模型從文字本身自己出題,遮住下一個字去猜。 手算一次:「I love natural language processing」這句 5 個字,可以自動做出 4 組題目:I → love;I love → natural;I love natural → language;I love natural language → processing。沒有任何人標註,卻得到 4 筆「輸入 → 答案」。網路上有幾兆個字,就有幾兆筆免費的練習題。 **注意:投影片寫的是 "Unsupervised Training Corpus",意思是「沒有人工標註的大量文字」。考卷問 LLM 怎麼用這種語料時,可以補一句 self-supervised: predict the next word。**
用生活例子講?老師的學英文比喻 背文法=監督式:每句話都有人告訴你「這是主詞、這是動詞、這句意思是……」,等於有人幫你標註資料。 一直聽=非監督式:沒有人解釋,但聽久了你就知道「這個語言就是這樣講」。 老師引用前陣子一位臺大英語系教授的說法:學英語不能背文法,用聽的就對了。所以對你的影響是:LLM 變強的第一步不是有人教它文法,而是讓它「聽」(讀)了海量的文字。
以前「查字典、寫規則」的做法為什麼撐不住? 老師在這段順帶提到靠字典的做法有三個問題 (0:14:34): 1. 新說法一直冒出來(例如網路新詞),字典很快就過時(out of date)。 2. 換一種語言怎麼辦?每種語言都要重做一本。 3. 同一個意思有很多種寫法(「台積電」「TSMC」「護國神山」),字典很難涵蓋。 從資料學習的模型比較跟得上這些變化。這段逐字稿辨識得不太清楚,以上是依上下文整理。
老師原話是什麼? 「沒有人告訴你那句話是什麼意思」(0:14:22) 「用聽的就對了」(0:14:15) 「你不管你聽得懂聽不懂,你用聽的,聽久你就會這個語言」(0:14:17)
## [0:14:55](https://www.youtube.com/watch?v=MnA5KUETSg4&t=895s) 示範:叫 Claude 整理股市報表 老師請 Claude 做一件事(p.6):「收集今天台灣股市法人與外資買賣超差距最大的前10名,並列出這十家公司這個月相關財經新聞,並整理報表給我」。這對現在的 AI 很容易:它會自己上網找資料、讀網頁、跑程式、排序、整理成報表(截圖上寫著 searched the web, read 11 pages, ran 9 commands)。以前沒有 LLM,這條流程要自己一步一步串,只要一步做不好,後面幾乎都免談。 **注意:老師口頭簡化成外資買賣超前 10 名,投影片上的指令是法人與外資買賣超「差距」最大的前 10 名。**
既然 AI 會做,為什麼還要知道它怎麼做? 老師的回答是:要知道它怎麼做,才知道哪裡可能出問題 (0:16:39)。你也可以控制它的每個動作(action),讓它一步一步做,看清楚過程。 投影片截圖裡就有一個例子:AI 回覆說查詢當下,證交所的「三大法人買賣超日報」還沒公布今天的資料,所以改用最近一個完整公布的交易日 2026/09/15。沒看到這行,你會以為報表是「今天」的資料。 老師也說他沒有逐一驗證結果好壞,但這種數字型、有資料可以對照(reference)的任務,錯誤機率蠻低。
一句話背後,被拆成哪些步驟? 1. 上網抓資料(crawl):找到證交所的買賣超頁面。以前光是讓程式「自己判斷買超、賣超的數字在網頁哪裡」就很難,通常要人告訴它去抓哪一欄。 2. 計算差距、排序,取前 10 家。 3. 拿這 10 家公司去抓新聞。 4. 每一篇新聞都要跑下一段的傳統流程:斷詞、專有名詞辨識、權重、摘要、情緒、分群。 5. 彙整成報表。
## [0:16:43](https://www.youtube.com/watch?v=MnA5KUETSg4&t=1003s) 傳統 NLP 的一條龍流程 p.7(老師請 AI 畫的圖)是 LLM 之前處理新聞的標準流程:先斷詞與標詞性、找出專有名詞、算關鍵字權重,之後才做摘要、情緒分析、主題分群,最後做成 BI 報表(business intelligence,給決策者看的商業分析儀表板)。前三步在 BERT 出來之前、甚至出來後一兩年都還很重要,老師說大約四年前還是標準 SOP。這是一條龍:前面一步沒做好,後面幾乎沒用;LLM 則把中間這些理解步驟一次做掉。【老師強調】(0:16:55)
步驟(p.7)在做什麼用一則新聞走一次:「台積電宣布在美國建廠,股價上漲」
**1. Tokenization & POS Tagging**(斷詞與詞性標記)把句子切成詞,並標出每個詞的詞性(名詞、動詞……),找出主詞在哪、形容詞是什麼台積電〔名詞〕/宣布〔動詞〕/在〔介詞〕/美國〔名詞〕/建廠〔動詞〕/股價〔名詞〕/上漲〔動詞〕
**2. Named Entity Recognition (NER)**(專有名詞辨識)找出人名、公司、地點、時間這類「有名字的東西」台積電=公司、美國=地點。要把「台積電」整個切出來,不能切成「積電」,因為「積電」本身出現頻率也很高
**3. Keyword Weighting**(關鍵字權重)一篇文章字很多,算出哪些字才重要「台積電」「建廠」權重高;「在」「宣布」到處都有,權重低。第 6 章的 TF-IDF 就是在算這個
**4. Extractive Summarization**(擷取式摘要)從原文挑出最重要的句子整篇報導只留下第一句「台積電宣布在美國建廠」
**5. Sentiment Analysis**(情緒分析)判斷正面或負面(polarity)「股價上漲」→ 偏正面
**6. Topic Modeling & Clustering**(主題建模與分群)把很多篇新聞自動分成幾群主題今天所有台積電新聞分成「財務報表」一群、「海外建廠」一群,再看兩群各造成什麼影響
為什麼「一步錯、後面全錯」?手算一次 流水線的每一步都拿上一步的輸出當輸入,所以錯誤會一路往下傳(error propagation)。 用一個簡化假設來算:6 個步驟每步都有 90% 正確,而且錯誤彼此獨立。整條都對的機率是 0.9^6 ≈ 0.531,只剩大約一半。每步提高到 95%,整條也只有 0.95^6 ≈ 0.735。 老師的例子:新聞裡的公司沒 tag 好、時間也沒 tag 出來,後面的摘要、分群、報表幾乎沒有用。所以以前的做法是把每個模組一個一個做好,再串起來。 **注意:90%、95% 是為了說明自己設的數字,不是老師給的。**
摘要有哪兩種? 老師講到 p.7 這一格時說「這邊沒有改到」,接著補充摘要一般分兩種。 - Extractive summarization(擷取式摘要):從原文「挑」句子,像畫重點。輸出的每一句都是原文原句。 - Abstractive summarization(生成式摘要):讀懂後用自己的話重寫,例如濃縮成三句話,句子可能是原文沒有的。 例子:一篇五句的報導,第一句是「台積電宣布在美國建廠」。擷取式會直接輸出第一句和第四句原文;生成式會寫出「台積電擴大海外布局,市場反應正面」這種原文沒有的新句子。老師說以前有一些方法,但現在 LLM 做這種摘要做得非常好。 **注意:投影片 p.7 寫的是 Extractive Summarization,考試寫流程時照投影片寫;問「摘要有哪幾種」時兩種都要寫。**
老師最後留了什麼問題給你想? 這一整串步驟是「人類理解的應該要這樣做」,不見得是最佳解。LLM 只靠幾十個 billion(幾百億)的參數,就一次把整件事做到位,中間的過程是什麼?老師說後面的課會看一看,但你可能還是不會完全知道它為什麼這麼厲害,因為這不容易理解。他要你想想:它只是運氣好,還是真的有它的道理。
老師原話是什麼? 「有時候的確你要知道他怎麼做,你才知道說哪邊他可能會出問題」(0:16:39) 「現階段你大概要先了解一下,才知道說原來大語言模型其實幫我做掉哪些部分」(0:16:55) 「這三個步驟其實還是一個標準的動作SOP」(0:18:34) 「我必須把臺積電切出來」(0:18:07) 「有一個步驟沒做好,後面就很爛」(0:19:57) 「你這個新聞根本沒把公司都tag好,時間也沒tag出來」(0:20:01) 「他就是把中間的這些整個做掉了」(0:20:21) 「原來他只是運氣好,還是真的有他的道理」(0:21:12)
## Self-check
Q1. Define natural language processing (NLP) as given in the lecture, and name four typical applications. **Answer**: NLP is the use of human languages by a computer and is viewed as a branch of machine learning. Typical applications include translation, information retrieval (e.g., search engines), chatbots, and information verification. 中文重點:NLP=電腦使用人類語言,是機器學習的一個分支;應用記翻譯、資訊檢索、聊天機器人、資訊查核。
Q2. Contrast "Symboledge" and "Modeledge" in NLP. What is the main trade-off? **Answer**: Symboledge is human-friendly symbolic knowledge written by people, such as grammar (linguistics) theory and expert systems that store facts and rules in a knowledge base and conduct inference on it; it is interpretable but cannot well cover complex language usage. Modeledge is machine-friendly knowledge learned from data, such as data-driven statistical models (which only use shallow lexical information) and neural models; they perform better but are hard for humans to interpret (e.g., the numbers in BERT's layers or in word embeddings). 中文重點:人寫的規則好懂但寫不完;從資料學的模型效果好但難解釋。
Q3. List the six steps of the traditional NLP pipeline in order, and explain why an error in an early step is costly. **Answer**: (1) Tokenization & POS tagging, (2) Named Entity Recognition (NER), (3) Keyword weighting, (4) Extractive summarization, (5) Sentiment analysis, (6) Topic modeling & clustering. Each module takes the previous module's output as input, so errors propagate: if company names or dates are not tagged correctly in step 1–2, the later steps are almost useless. With six steps that are each 90% correct (independent errors), the whole pipeline is correct only about 0.9^6 ≈ 53% of the time. An LLM does these steps end to end in one model. 中文重點:斷詞詞性 → NER → 關鍵字權重 → 摘要 → 情緒 → 主題分群;錯誤會一路往下傳。
Q4. Why can large language models be trained without large amounts of labeled data? **Answer**: Labeled (supervised) data needs input–output pairs annotated by people, which is expensive and noisy. LLMs are first trained on a huge unsupervised training corpus (raw text without annotation). The text itself provides the targets: the model predicts the next word (self-supervised learning), e.g., "I love natural language" → "processing". This lets the model learn language patterns and human knowledge from raw text, like learning English by listening instead of memorizing grammar rules. 中文重點:人工標註貴又有雜訊;LLM 用沒標註的海量文字,自己猜下一個字來學。