[自然語言處理](https://app.notion.com/p/3e6fc631b03081b4a9e8f91f3411f61f) › [W2(9/17)](https://app.notion.com/p/3e6fc631b03081a18b13fad72a8874fd) › 03|影片 [0:41:29–0:58:52](https://www.youtube.com/watch?v=MnA5KUETSg4&t=2489s)|投影片 W1_NLP_brief_v2 p.20–32|上一章 [02 語言的歧義與理解難題(0:21–0:41)](https://app.notion.com/p/3e6fc631b030815e805aead9c729a0d1)|下一章 [04 語法層次與深度學習時代(1:08–1:20)](https://app.notion.com/p/3e6fc631b03081768161d6716089043a)
## 重點
- LLM 出現以前,NLP 已經做出很多應用:聊天機器人(小冰)、情緒探勘、假新聞偵測、資訊擷取、Deep Web Mining。當時要把斷詞、詞性、NER 一站一站串起來,現在一個 LLM 就包辦。
- 社群上的文字可以預測真實世界:颱風路徑、民調、流感,甚至從臉書按讚猜出宗教和性別。這些應用都在處理「非結構化資料」:沒有欄位、不能直接用 SQL 查,所以要靠 NLP。
- NLP 分成幾個層次:構詞 → 語法 → 語意 → 語用。深度學習把每一層都用神經網路重做,例如 Luong(2013)把每個詞素變成向量再組合。很好用,但人說不出那些數字代表什麼。
## Exam-ready
- **NLP-based applications (before LLM)**: "Siri, 小冰 … Sentiment Mining: Depression detection… Deep Web Mining: Auto ticketing… Information Extraction: Price comparisons… Fake News Detection … UGC based predication e.g., stock, voting, …"(W1_NLP_brief p.20)
- 中文:LLM 以前的應用:聊天機器人、情緒探勘(如偵測憂鬱)、深網探勘(如自動訂票)、資訊擷取(如比價)、假新聞偵測、用網友發文(UGC)預測股票和選舉。predication 是 prediction(預測)拼錯。
- **Facebook PNAS paper**: "Private traits and attributes are predictable from digital records of human behavior"(W1_NLP_brief p.24)
- 中文:一個人的私密特質(宗教、政黨、性傾向等),可以從他在網路上的行為紀錄(例如按讚)預測出來。
- **Medical text mining**: "Follow chains of causal implication to discover a relationship between migraines and biochemical levels." Data: "medical research papers, medical news (unstructured text information)"; key concept types: "symptoms, drugs, diseases, chemicals"(W1_NLP_brief p.25)
- 中文:順著一環扣一環的因果鏈,找出偏頭痛和體內生化指標的關係。資料是醫學論文、醫療新聞(非結構化文字);要抽出症狀、藥物、疾病、化學物質。
- **Swanson's chain**: "migraine patients have high platelet aggregability … magnesium can suppress platelet aggregability" (Swanson and Smalheiser, 1994)(W1_NLP_brief p.26)
- 中文:偏頭痛病人血小板容易凝集;鎂能抑制血小板凝集。兩句來自不同文獻,串起來得到新假設:鎂可能跟偏頭痛有關。
- **Unstructured Data Management**: "Natural language processing is a subset of Unstructured Data Management." "UDM can be broken down into: Content and Document Management, Search and Retrieval, XML database and tools, Categorization, Classification, and Visualization" … "80%-90% of Data is Unstructured"(W1_NLP_brief p.27)
- 中文:NLP 是非結構化資料管理(UDM)的一部分;UDM 包含內容與文件管理、搜尋與檢索、XML 資料庫與工具、分類與視覺化。八到九成的資料是非結構化的。
- **Data vs. document warehouse**: data warehouse "Who, what, when, where, how much" … "Internally focused" … "Rarely include external information"; document warehouse "Why" … "Often integrate external information"(W1_NLP_brief p.28)
- 中文:資料倉儲回答誰、什麼、何時、何地、多少,看公司內部,很少放外部資料;文件倉儲回答「為什麼」,常整合外部資訊。
- **NLP Levels**: Morphology "Prefix / Suffix, Lemmatization / Stemming, Spelling Checking"; Syntax "Part-of-Speech Tagging, Syntax trees, Dependency Trees"; Semantics "Named Entity Recognition / Normalization, Relation Extraction, Word Sense Disambiguation"; Pragmatics "Co-reference resolution, Topic Segmentation, Summarization"(W1_NLP_brief p.29)
- 中文:構詞層:字首字尾、詞形還原/詞幹擷取、拼字檢查。語法層:詞性標註、句法樹、依存樹。語意層:命名實體辨識與正規化、關係擷取、詞義消歧。語用層:共指消解(找出 they 指誰)、主題切分、摘要。
- **Building blocks of language**: "Morphology: the study of the structure and form of words. Syntax: the study of how words and phrases form sentences. Semantics: relates to the meaning of words and statements. Phonology: the study of sounds in the language. Pragmatics: the study of idiomatic phrases that cannot be analyzed with strict semantic analysis"(W1_NLP_brief p.30)
- 中文:構詞學研究字的結構和形狀;語法學研究字詞怎麼組成句子;語意學研究字和句子的意思;音韻學(phonology)研究聲音;語用學研究無法用嚴格語意分析處理的慣用語(例如 break a leg 是祝好運)。
- **Morphology**: "Understanding words: Stems, Affixes (Prefix, Suffix), Inflectional elements"; "Reducing complexity of analysis, Reduces complexity of representation, Supports text mining"(W1_NLP_brief p.31)
- 中文:理解一個字要看詞幹、詞綴(字首、字尾)和屈折成分(例如複數 -s、過去式 -ed)。拆開看能降低分析和表示的複雜度,也幫助文字探勘。
- **Morphology level representation**: "Traditional: Words are made of morphemes. "unfortunately" = un + fortunate + ly (prefix + stem + suffix). In DL (Luong, 2013): every morpheme is a vector; A neural network combines two vectors into one vector"; "Extend to word, parsing, semantics level representations"(W1_NLP_brief p.32)
- 中文:傳統看法是字由詞素(最小有意義的單位)組成。深度學習(Luong 2013)讓每個詞素都是一個向量,用神經網路把兩個向量合成一個;同樣做法可延伸到詞、句法剖析、語意層。
## [0:41:29](https://www.youtube.com/watch?v=MnA5KUETSg4&t=2489s) Siri 與小冰
LLM 以前也有很會聊天的機器人,代表是 Siri 和微軟的小冰。老師說小冰大約十年前很紅,被選為大學生最佳讀書伴侶,晚上 10 點到半夜 2 點最多人找它聊功課、聊感情。它靠大量網路對話語料訓練。記者問它「這輩子最期待什麼」,它回答「活著」;比較可能的解釋是網路上本來就有這樣的一問一答。以前做到這樣很難,現在用 LLM 接一個 API(讓程式呼叫別人的模型)就做好了。
生活比喻:小冰像背了幾百萬組對話範本的客服,找最像的範本回答,很貼心,其實沒在思考。
考試可能怎麼問:LLM 之前的聊天機器人靠什麼做出來?跟現在用 LLM 做差在哪?
語料(corpus)是拿來訓練的大量文字;小冰用的是網路上大量的一問一答。
下面收起來的算法在做什麼(白話):電腦怎麼從幾百萬組舊對話裡挑出要回哪一句。做法是數「新問句和舊問句有幾個詞一樣」,得到 0 到 1 的相似度分數,越高代表越像,就回那句舊問句的答案。不看算法也沒關係,記得「它是找最像的舊對話來回,不是自己想」就夠了。
檢索式聊天機器人怎麼挑答案?(進階,可跳過)
(我補充)1. 收集大量「問句 → 回答」配對。2. 使用者一說話,就跟每個舊問句比相似度。3. 回最像那句的答案。
例:「你這輩子最期待的事是什麼」跟舊問句「人這輩子最重要的是什麼 → 活著」共用 5 個詞、合起來 10 個不同的詞,Jaccard 相似度 5 ÷ 10 = 0.5,最高,所以回「活著」。第 5–7 章的資訊檢索是同一個想法。
老師原話是什麼?
「晚上 10 點到半夜 2 點這之間使用率非常高」(0:42:13)
「期待的事情是什麼,然後小冰就回答,活著」(0:43:04)
「猜測都是說因為網路上有這樣的 Q 跟 A 的的對應」(0:43:17)
## [0:43:51](https://www.youtube.com/watch?v=MnA5KUETSg4&t=2631s) LLM 之前的應用清單
p.20 把 LLM 之前的應用畫成一張地圖。老師點了幾個:假新聞偵測、情緒偵測、翻譯、醫療建議、股票、摘要、Deep Web Mining、資訊擷取(從新聞抽出公司名稱、數字這類欄位)。這些現在用 LLM 隨便就做得出來,因為整個模型一次做掉。老師說,回頭看這些應用「就像去博物館看看以前這些人都在幹什麼」。
下圖上排是以前的生產線(pipeline),下排是 LLM 直接吃整段文字。
```mermaid
flowchart LR
A["一段新聞"] --> B["斷詞"] --> C["詞性標註"] --> D["NER:找出公司、地名"] --> E["NEN:統一寫法"] --> F["擷取結果"]
A --> G["LLM 一次做完"] --> F
```
上排前一站錯,後面全錯(NEN 是把不同寫法對到同一名稱,如台積電=TSMC);下排沒有中間站。
圖上前幾站在做什麼:斷詞是把一串中文切成一個個詞(今天天氣很好 → 今天/天氣/很好);詞性標註是幫每個詞標上名詞、動詞;NER(命名實體辨識)是找出人名、地名、公司名。(第 1 週學過:傳統 NLP 把讀懂一句話拆成構詞、句法、語意、語用四層,一層一層教電腦,這幾站就是其中的步驟,見 [W1 第 03 章](https://app.notion.com/p/3e7fc631b03081f5bf0bf5126d7f9472)。)
生活比喻:舊做法像接力賽,前一棒掉棒,後面跑再快也沒用;LLM 像一個人跑完全程。
考試可能怎麼問:舉兩個 LLM 之前的 NLP 應用,說明為什麼現在用 LLM 容易很多。
Deep Web Mining 是什麼?跟暗網一樣嗎?
Deep web(深網)是搜尋引擎爬不到、要填表單查詢才看得到的網頁。Deep Web Mining 用爬蟲(crawling)自動送出大量查詢,把網站後面的資料庫撈出來,例如連假寫程式搶高鐵票。它跟暗網(dark web,要特殊瀏覽器才進得去的匿名網站)不同。
老師原話是什麼?
「你可以自動下一堆查詢啊,然後去把整個資料庫撈出來」(0:44:29)
「因為我們不太需要像以前從斷字、詞性,然後做 NER、NEN 這個步驟做下來」(0:44:57)
## [0:45:10](https://www.youtube.com/watch?v=MnA5KUETSg4&t=2710s) Twitter 文字探勘
推文帶有時間和地點,很適合做 text mining(文字探勘,從大量文字挖出規律),拿來推測真實世界:颱風走到哪、民調、星期幾心情最差、股票、流感。老師說,有了文字資料,「要做什麼事情是你的想像」。台灣當年比較難做,因為範圍小、用 Twitter 的人少(很多人用噗浪,後來也消失了);現在可改用 IG、Threads。
下圖是 p.21 的例子拼貼,先看左上颱風路徑和中間民調曲線。

圖上重點:
- 標題 Text mining in Twitter:從推特的推文裡挖出資訊。
- 左上地圖:real path(紅虛線,颱風真實路徑)、estimated path by particle filter(綠線,用粒子濾波估出的路徑)、estimated path by weighted ave.(藍點線,用加權平均估出的路徑)。
- 中上曲線:一條是民調、一條是推文情緒;window = 15 是把 15 天平均起來讓線變平順(我判斷),r = 0.804 代表兩條線的漲跌很同步。
- 下方曲線:橫軸 HOUR 是一天 0–24 點,縱軸 PA 是正面情緒的多寡(我判斷:positive affect),每條線是一週裡的一天(Wed、Thu、Fri、Sat…),清晨最低。
- 右邊:Sentiment 7.67%(推文情緒上升)、Prediction $582.31(預測的蘋果股價);Twitter Talk on AAPL 是推文在討論蘋果公司的哪些面向(營運、財務、併購等)。
這張圖在講:同一批推文,可以拿來追颱風、對照民調、看一天的心情起伏、預測股價。
颱風的做法:找出描述風雨的推文 → 取時間和地點 → 按時間連成路徑。估計路徑在陸地上跟真實路徑一致;海上沒人發推文,追不到。
生活比喻:看到街上的人一路陸續撐起傘,就知道雨雲飄到哪了;推文就是全世界的撐傘訊號。
考試可能怎麼問:舉一個用社群文字預測真實世界的例子,並說一個限制(例如發文的人不等於全體)。
情緒分析(sentiment analysis)是讓電腦判斷一段文字是正面、負面還是中性,例如「今天好開心」是正面;這段的民調、心情、股票例子都靠它。
下面「推文情緒怎麼跟民調比?」那段算法在做什麼(白話):把每天推文的正負情緒變成一個數字,再看它跟民調是不是一起漲、一起跌。算出來的 r 越接近 1,代表兩條曲線越同步;p.21 的 0.804 代表推文情緒和民調走勢很接近。不看算法也沒關係。
p.21、p.22 的例子分別在做什麼?
- 颱風:推文像「外面風很大、雨開始下很大」,要先判斷是在描述風雨。綠線、藍點線是兩種估計方法(粒子濾波、加權平均)。
- 民調:推文情緒和蓋洛普(Gallup)電話民調對得起來。老師提醒台灣可能不準,很多人不喜歡還是投。
- 心情:Science 論文發現星期一心情最差(Monday blue),不同人種、地區都一樣。
- 股票:情緒加財報做股價分析。
- 流感(p.22):日本的推文流感地圖。老師補充 Google 用搜尋趨勢偵測流感,比疾管單位公告還早。(我補充)Google Flu Trends 後來嚴重高估,2015 年停止公布。
推文情緒怎麼跟民調比?(進階,可跳過)
(我補充)1. 每天算情緒比=正面推文數 ÷ 負面推文數。2. 跟同一天民調排成兩條曲線。3. 算相關係數 r(一起漲跌的程度,−1 到 1)。例:四天情緒比 1.2、1.5、0.9、1.8,民調 44、47、43、46,r ≈ 0.85;p.21 圖上的 r = 0.804 就是這個。相關不等於因果。
老師原話是什麼?
「誰在發布說現在目前外面風很大、雨開始下很大,就知道說颱風中心目前到他那邊了」(0:45:32)
「他們用 Twitter 的 Sentiment 跟蓋洛普調查做個 align」(0:47:43)
「其實大家都知道結論,星期一大家心情都不太好,因為要上班這樣子」(0:48:28)
「這件事情的公告比真的這個疾病管制局公告的還要早」(0:50:14)
## [0:50:26](https://www.youtube.com/watch?v=MnA5KUETSg4&t=3026s) 美食評論與臉書按讚
p.23 是日本的 FOODMOOD:用推文分析大家對食物的情緒,框起來的是咖哩、拉麵、壽司。p.24 是 2013 年刊在 PNAS 的研究:只看一個人在臉書按了哪些讚,就能用監督式學習(拿有標準答案的資料訓練)預測宗教、政黨、性別、性傾向,很多項到八成以上。老師看完論文就去亂按讚,故意讓系統搞不懂他:走過必留下痕跡。
生活比喻:看一個人的購物車,就能猜出他幾歲、有沒有養貓;按讚紀錄就是你的網路購物車。
考試可能怎麼問:PNAS 臉書研究證明了什麼?對隱私有什麼啟示?
下表是 p.24 圖上的數字,越接近 1 猜得越準。
| AUC | p.24 圖上的特質 |
| 0.90 以上 | 種族(白人 vs. 非裔)0.95、性別 0.93 |
| 0.80–0.89 | 男同志 0.88、政黨(民主 vs. 共和)0.85、宗教(基督教 vs. 伊斯蘭)0.82 |
| 0.70–0.79 | 女同志 0.75、抽菸 0.73、喝酒 0.70 |
| 0.60–0.69 | 單身或交往中 0.67、用藥 0.65、21 歲時父母是否仍在一起 0.60 |
**注意:圖上的數字是 AUC,不是準確率。老師口頭說「大概 14、15 年」,投影片網址是 2013 年 3 月,以 2013 為準。**
下面收起來的 AUC 說明在做什麼(白話):AUC 是替「猜得準不準」打分數的方法。它問的是:隨便拿一個真的「是」、一個真的「不是」的人給模型看,模型能不能把「是」的人排在前面。0.5 等於丟銅板,1 是每次都排對;所以表上性別 0.93,代表模型幾乎都分得出來。
AUC 是什麼?(進階,可跳過)
AUC(area under the ROC curve)=隨便抽一個「是」的人、一個「不是」的人,模型給「是」的人分數比較高的機率。0.5 等於亂猜,1 是完美。
例:三個民主黨員得 0.9、0.7、0.4 分,三個共和黨員得 0.6、0.3、0.2 分。一對一配成 9 組,民主黨員較高的有 8 組,AUC = 8 ÷ 9 ≈ 0.89。
老師原話是什麼?
「在這種 Big Data 情況底下,這些東西其實可以做的蠻準,其實很多都到八成以上」(0:51:45)
「當年我看完這篇 Paper 的時候,我就去網路上隨便按讚」(0:52:04)
## [0:52:24](https://www.youtube.com/watch?v=MnA5KUETSg4&t=3144s) 醫療文字探勘
醫療文字探勘可以輔助醫生判讀病歷、預測診斷、檢查醫生寫的有沒有錯。老師提到以前的比賽:給一位新病人的描述,要從舊病歷找出相關病患。最難的是同一個症狀、醫學名詞有很多種寫法,要把它們對起來;現在 LLM 對醫學名詞已經懂得不少。
p.25–26 另有一個經典例子(老師沒講):只讀文獻、不做實驗就找到新假設。下圖中間三個概念 B,左邊連偏頭痛論文,右邊連鎂的論文。
```mermaid
flowchart LR
A["A:偏頭痛"] --- B1["壓力"] --- C["C:鎂"]
A --- B2["鈣離子通道阻斷"] --- C
A --- B3["血小板凝集"] --- C
```
步驟:抽出症狀、藥物、化學物質等概念 → 找「A 連 B、B 連 C,但 A、C 沒直接連」的組合 → 提出 A、C 有關的假設。兩堆文獻很少互相引用,透過 B 就串出「缺鎂可能跟偏頭痛有關」。這叫 literature-based discovery(從文獻找新知識),常說成 ABC 模型。
生活比喻:同一個人有本名、小名、英文名,要先知道都是同一人,才串得起他的事;醫學名詞也一樣。
考試可能怎麼問:醫療文字探勘最難的是什麼?用偏頭痛與鎂說明怎麼從文獻找出新關係。
同一個症狀有很多寫法,要怎麼對起來?
heart attack、myocardial infarction、MI、心肌梗塞是同一件事,把它們對到同一個標準代碼叫 normalization(正規化)。反過來,MI 也可能是二尖瓣閉鎖不全,要靠上下文分辨,這就是 p.29 的 Word Sense Disambiguation。
p.26 的句子怎麼兩兩配對?
左邊來自偏頭痛論文,右邊來自鎂的論文:
- 壓力和偏頭痛有關;壓力會讓鎂流失
- 鈣離子通道阻斷劑能預防某些偏頭痛;鎂是天然的鈣離子通道阻斷劑
- 擴散性皮質抑制(SCD)和某些偏頭痛有關;高濃度的鎂能抑制 SCD
- 偏頭痛病人血小板容易凝集;鎂能抑制血小板凝集
老師原話是什麼?
「最難的地方就是這些專有名詞、這些症狀、這些醫學上名詞,他其實有很多種寫法,然後你要怎麼對得起來這樣子」(0:53:09)
## [0:53:30](https://www.youtube.com/watch?v=MnA5KUETSg4&t=3210s) 非結構化資料
前面的應用都在管理非結構化資料(沒有固定欄位的文字、圖片等)。結構化資料每個欄位意思清楚,可以直接下 SQL(資料庫查詢語言)查;非結構化資料沒有 metadata(描述資料的欄位資訊),同一句話還有「千奇百怪的解釋」,沒辦法直接查。要讓文字也能被查詢和統計,就要先做 NLP。
生活比喻:結構化資料像填好的 Excel 名冊;非結構化資料像一疊週記,資訊都在裡面,但要先讀懂才找得到。
考試可能怎麼問:為什麼說 NLP 是非結構化資料管理的一部分?比較 data warehouse 和 document warehouse。
下表是 p.28 的比較:資料倉儲放結構化數字,文件倉儲放文件。
| Data warehouse(資料倉儲) | Document warehouse(文件倉儲) |
| 回答什麼 | Who, what, when, where, how much | Why |
| 焦點 | Internally focused(公司內部) | May not be internally focused |
| 內容 | Operational information(營運數字) | May contain a range of information |
| 外部資訊 | Rarely include external information | Often integrate external information |
用生活例子講,結構化和非結構化差在哪?
老師的例子:名冊有「縣市」欄位,找住臺北市的人,一行 SQL 就查到。同樣資訊寫在週記:「我上個月從台中搬上來,現在住大安區。」電腦要先認出「大安區」是地名(NER),再知道它在臺北市。NLP 就是把週記變回名冊。
老師原話是什麼?
「並不是說他沒切好而已,是說他有千奇百怪的解釋」(0:53:53)
「你就可以用 SQL 的方式去查出這些東西」(0:54:41)
## [0:55:02](https://www.youtube.com/watch?v=MnA5KUETSg4&t=3302s) NLP 的分析層次
傳統 NLP 一層一層往上分析:構詞(字怎麼由詞素組成)→ 語法(字怎麼組成句子)→ 語意(意思)→ 語用。詞性標註(POS tagging)和剖析樹(parsing tree)屬於語法層。深度學習出來後還是這幾層,但每一步都用新方法重做(NER、關係擷取、標註);後來發現語言模型(LM)其實不太需要詞性標註。老師自己也在 ACL 2023 發表了用語言模型做中文斷詞的論文。
生活比喻:讀一句話像過四道關卡:先認字(構詞)、再看句型(語法)、再懂意思(語意)、最後聽出弦外之音(語用)。
考試可能怎麼問:列出 NLP 的四個層次,各舉兩個任務;詞性標註屬於哪一層?
下圖由左到右是從最基礎到最高的四層,每層附兩個代表任務。
```mermaid
flowchart LR
M["構詞:字首字尾、詞幹"] --> S["語法:詞性標註、句法樹"] --> SE["語意:NER、詞義消歧"] --> P["語用:共指消解、摘要"]
```
例句 "Apple's unhappy engineers moved to Taipei. They said it was just great.":構詞拆出 un + happy;語法標出 engineers 是主詞;語意認出 Apple 是公司不是水果;語用知道 They 指 engineers,just great 可能是反話。
這段用到的名詞:語言模型(LM)就是「看前面的字,猜下一個字」的接龍模型,LLM 是把它做得非常大。(第 1 週學過:語言模型=接龍與條件機率,見 [W1 第 03 章](https://app.notion.com/p/3e7fc631b03081f5bf0bf5126d7f9472)。)
剖析樹(parsing tree)是把句子結構畫成一棵樹,看出誰是主詞、誰修飾誰。p.29 構詞層的 lemmatization(詞形還原)是查字典還原原形,studies → study;stemming(詞幹擷取)是照規則砍字尾,studies → studi。
**注意:p.30 還多一層 Phonology(研究聲音)。p.30 把 pragmatics 定義成「無法用嚴格語意分析處理的慣用語」,一般說法是「語言在情境中的使用」(我補充);考試寫投影片的版本。**
老師的斷詞論文在做什麼?
不同語料庫的中文斷詞標準不一樣(multi-criteria):「不要用壞了」可以切成「用壞/了」,也可以切成「用/壞/了」(p.29 右下小圖)。(我補充)模型在輸入加提示說明照哪套標準,再加去雜訊(denoising)訓練目標,讓新詞更容易切對。
論文:[Advancing Multi-Criteria Chinese Word Segmentation Through Criterion Classification and Denoising(ACL 2023)](https://aclanthology.org/2023.acl-long.356/)
老師原話是什麼?
「甚至 Tagging 也重做一遍,但是後來做的時候發現 LM 其實不太需要 Tagging」(0:55:49)
「在兩年前也有發表一個斷字的,用這種 LM 的概念來做」(0:56:01)
## [0:56:08](https://www.youtube.com/watch?v=MnA5KUETSg4&t=3368s) 深度學習把每一層重做:構詞
老師說,真正讓研究者覺得「差很大」的不是 LLM,而是深度學習:大家如獲至寶,把每個問題都用大型神經網路重做一遍。以構詞為例,傳統做法是建字首、字尾的統計表,例如看到 -able 多半是形容詞(p.31:in- + dispute + -able)。Luong(2013)改成把每個詞素都變成向量,再用神經網路兩兩組合。學完之後,加上 un- 的向量,字就帶有反向的意思,但沒人說得出那些數字為什麼做得到;這也需要大量算力,所以 NVIDIA 股價這麼高。
要先懂什麼?向量、神經網路、權重是什麼?
- 向量(vector):一串排好順序的數字,例如 (0.8, 0.6)。NLP 用一串數字代表一個字或詞素的意思,意思接近的字,數字也接近。(第 1 週學過:word2vec 把每個字變成一串數字,像幫字在地圖上找座標,見 [W1 第 03 章](https://app.notion.com/p/3e7fc631b03081f5bf0bf5126d7f9472)。)
- 神經網路(neural network):一種看大量例子、自己調整內部數字來學會規律的程式,不用人寫規則。
- 權重(weights):神經網路裡那些可以調整的數字,圖上的 W_m、b_m 就是。「訓練」就是一直調這些數字,讓結果越來越準。
- tanh:一個把任何數字壓到 −1 到 1 之間的函數,讓數字不會越算越大。
下圖由下往上看,就是它的步驟:1. 把字拆成詞素 un + fortunate + ly,每個詞素是一個學來的向量。2. 神經網路把 un 和 fortunate 合成 unfortunate。3. 用同一個網路再把 unfortunate 和 ly 合成 unfortunately。

圖上重點:
- 上方文字:Traditional: Words are made of morphemes(傳統看法:字由詞素組成),unfortunately = un + fortunate + ly(字首+詞幹+字尾)。
- In DL (Luong, 2013):every morpheme is a vector(每個詞素都是一個向量),A neural network combines two vectors into one vector(神經網路把兩個向量合成一個)。
- 右圖的小字:PRE=prefix(字首)、STM=stem(詞幹)、SUF=suffix(字尾);每個字上面那排小圓點就是它的向量。
- 箭頭旁的 W_m, b_m:神經網路裡可以調整的數字(權重),兩次合成用的是同一組。
- Extend to word, parsing, semantics level representations:同樣做法可以延伸到詞、句法剖析、語意層。
這張圖在講:先把字拆成小積木,每塊是一串數字,再用同一台「合成機」兩兩合起來,得到整個字的數字表示。
每一步都用同一組權重,所以學會的「加上 un 就反轉」可以套到別的字。
生活比喻:像拼樂高,每個詞素是一塊積木,用同一種接法兩兩拼出整個字;很好用,卻說不出每個凸點代表什麼。
考試可能怎麼問:Luong(2013)怎麼表示 unfortunately?跟傳統字首字尾統計表比,好處和壞處是什麼?
下面收起來的算法在做什麼(白話):用只有兩個數字的小向量,實際跑一次「un + fortunate → unfortunate」和「unfortunate + ly → unfortunately」。算出來第一個數字從正變負(意思變負面),第二個數字從正變負(從形容詞變副詞);這就是「加上 un 就反轉、加上 ly 就變副詞」在數字上的樣子。不看算法也沒關係。
它到底怎麼運作?(進階,可跳過)
(我補充,出自 Luong 論文)p = tanh(W_m [x_stem; x_affix] + b_m):[x; y] 是把兩個向量頭尾接起來,tanh 把數字壓到 −1 到 1,所有組合共用同一組 W_m、b_m。
2 維例子(數字我編的,第 1 維=正面程度,第 2 維=形容詞正、副詞負):x(fortunate) = (0.8, 0.6)、x(un) = (1.0, 0.0)、x(ly) = (0.0, −1.5);W_m 兩列為 (1, 0, −1.5, 0)、(0, 1, 0, 1),b_m = 0。
- unfortunate:tanh(0.8 − 1.5, 0.6) ≈ (−0.60, 0.54),變負面,仍是形容詞
- unfortunately:tanh(−0.60, 0.54 − 1.5) ≈ (−0.54, −0.74),仍負面,變副詞
老師說這呼應「投影片的第一頁那個例子」,我判斷是 p.3:模型越強,越難解釋。
老師原話是什麼?
「大家就突然如獲至寶,就覺得這個工具非常厲害」(0:56:26)
「通常帶有所謂的負面或者是反向的意思的時候,那我就學會了這個 UN 的表示應該是要怎麼做」(0:57:50)
「我們不知道說這些數字為什麼可以讓它變成一個反向的概念」(0:58:17)
## Self-check
Q1. List the four NLP levels and give two tasks for each. Which level does part-of-speech tagging belong to?(中文:列出四個 NLP 層次,各舉兩個任務;詞性標註屬於哪一層?)
**Answer**: Morphology (prefix / suffix, lemmatization / stemming); Syntax (part-of-speech tagging, syntax trees, dependency trees); Semantics (named entity recognition / normalization, relation extraction, word sense disambiguation); Pragmatics (co-reference resolution, topic segmentation, summarization). POS tagging belongs to the syntax level.
中文:由下往上是構詞(字首字尾、詞形還原)、語法(詞性標註、句法樹、依存樹)、語意(命名實體辨識、關係擷取、詞義消歧)、語用(共指消解、主題切分、摘要)。詞性標註在語法層。
Q2. Why is NLP described as a subset of Unstructured Data Management? Contrast a data warehouse with a document warehouse.(中文:為什麼 NLP 是非結構化資料管理的一部分?比較資料倉儲和文件倉儲。)
**Answer**: 80%–90% of data is unstructured text without metadata, so it cannot be queried by fields; NLP turns it into structured information. A data warehouse answers who, what, when, where, how much and is internally focused; a document warehouse answers why and often integrates external information.
中文:八到九成的資料是沒有欄位的文字,不能直接用 SQL 查,要先靠 NLP 變成有結構的資訊。資料倉儲回答誰、何時、多少,看公司內部;文件倉儲回答「為什麼」,常整合外部資訊。
Q3. How does Luong (2013) represent the word "unfortunately"? Give one advantage and one drawback.(中文:Luong(2013)怎麼表示 unfortunately?說出一個好處和一個壞處。)
**Answer**: "unfortunately" = un + fortunate + ly (prefix + stem + suffix). Every morpheme is a vector, and a neural network combines two vectors into one: p = f(W_m [x_stem; x_affix] + b_m), f = tanh, with W_m, b_m shared. un + fortunate → "unfortunate", then + ly → "unfortunately". Rare words can be composed, but the dimensions are hard to interpret.
中文:把字拆成 un、fortunate、ly 三個詞素,每個都是向量。神經網路用同一組權重,先合出 unfortunate,再和 ly 合出 unfortunately。好處是罕見字也能由詞素組出來;壞處是說不出向量裡的數字代表什麼。
Q4. What did the Facebook PNAS paper show, and why are its results reported as AUC rather than accuracy?(中文:臉書 PNAS 論文證明了什麼?為什麼用 AUC 而不是準確率?)
**Answer**: Private traits such as gender, religion, party and sexual orientation are predictable from Facebook Likes; many AUCs exceed 0.8 (gender 0.93). AUC is the probability that a random positive is ranked above a random negative (0.5 = random, 1.0 = perfect), so it is not fooled by imbalanced classes.
中文:只用按讚紀錄就能預測性別、宗教、政黨、性傾向,很多項 AUC 超過 0.8。AUC 是「隨機抽一正一負,正的分數比較高」的機率,0.5 等於亂猜。大多數人不抽菸時,全猜「不抽」準確率也很高卻沒用,AUC 不會被這種比例騙。
讀完了嗎?下一章:[04 語法層次與深度學習時代(1:08–1:20)](https://app.notion.com/p/3e6fc631b03081768161d6716089043a)|回到週頁:[W2(9/17)](https://app.notion.com/p/3e6fc631b03081a18b13fad72a8874fd)