← M07 NLP / CV / 多模態 M07 NLP / CV / 多模態

M07.01|自然語言處理 NLP 概覽:讓 AI 讀懂人話

人類語言充滿了歧義、俚語和言外之意 — NLP 的挑戰就在這裡

L1-AI基礎知識-NLP基礎 L2-AI技術應用-自然語言處理
NLP 自然語言處理 分詞 詞性標記 命名實體辨識 情緒分析 機器翻譯 Transformer
📋

本講學習重點

NLP 的核心挑戰是什麼?
分詞對中文有何特殊困難?
NER 和 POS tagging 有什麼不同?
規則式 NLP 和神經網路 NLP 各有何優缺點?
Transformer 架構如何改變了 NLP 的發展?

NLP:讓電腦能夠理解、生成和操作人類語言的 AI 技術領域

主要任務:分詞、POS、NER、情緒分析、機器翻譯、問答、摘要

中文分詞難點:沒有空格分隔,需依語意切分(「研究生命科學」的多種斷法)

NER:從文字中找出人名、地名、組織名、時間等具名實體

規則式 NLP:精確但耗時、難以擴充;神經網路 NLP:自動學習但需大量資料

Transformer(2017)→ BERT(2018)→ GPT 系列 → ChatGPT(2022):NLP 的革命

語言歧義的三層次:詞彙歧義、句法歧義、語用歧義

📌 NLP(自然語言處理)是讓電腦理解和生成人類語言的技術領域,涵蓋分詞、詞性標記、命名實體辨識、情緒分析、機器翻譯等核心任務。語言本身的歧義性、俚語、文化語境使 NLP 極具挑戰性。從規則式系統演進到基於 Transformer 的大型語言模型,NLP 在近年已達到接近人類水準的語言理解和生成能力。
自然語言處理 NLP 概覽:讓 AI 讀懂人話

🎙️ Podcast(中文)

0:00 / 0:00

一句話搞懂

NLP(自然語言處理)就是「教 AI 讀懂人話、聽懂言外之意」的技術 — 從最基礎的把句子切開,到理解一段話背後的情緒和意圖,都是 NLP 在解決的問題。


白話解說

語言,是人類最複雜的發明

當你打開手機對 Siri 說「明天早上九點提醒我帶傘」,Siri 要在一秒內完成一連串的理解工作:先把這段語音轉成文字、再辨識「明天早上九點」是時間、「提醒我」是一個動作指令、「帶傘」是提醒的內容。這聽起來很平常,但對電腦來說,這是一個極其困難的問題。

人類語言和電腦語言最根本的差異在於:程式語言是精確且無歧義的,每一條指令只有一種解讀方式;而人類語言天生充滿歧義、隱喻、省略和文化語境。「我快受不了他了」可以是憤怒、可以是玩笑;「這個菜有點鹹」可能是稱讚(濃郁)也可能是抱怨。這種模糊性讓語言理解成為 AI 領域最困難的挑戰之一。

NLP 的核心任務圖譜

NLP 不是單一技術,而是一個涵蓋多種任務的技術群。理解這些任務的層次關係,有助於掌握整個領域的架構:

最底層是分詞(Tokenization):把連續的文字切割成有意義的最小單位(token)。英文按空格就能切開,但中文沒有空格,「研究生命科學」可以切成「研究/生命科學」或「研究生/命/科學」,如何正確斷詞直接影響後續所有任務的品質。在此之上是詞性標記(POS Tagging):標記每個詞的語法角色(名詞、動詞、形容詞等)。再往上是命名實體辨識(NER, Named Entity Recognition):從文字中找出具有特定類別的名詞,例如人名(馬斯克)、地名(台北市)、組織名(台積電)、時間(2024年第三季)。

中層任務包含情緒分析(Sentiment Analysis):判斷文字所表達的情感傾向(正面/負面/中性);關係抽取(Relation Extraction):找出實體之間的關係(「台積電的創辦人是張忠謀」→ 台積電 —創辦人→ 張忠謀);以及指代消解(Coreference Resolution):確定文中「他/她/它」指的是誰。高層任務則包含機器翻譯(Machine Translation)問答系統(Question Answering)文本摘要(Text Summarization),以及當前大型語言模型(LLM)核心的文本生成(Text Generation)

從規則到神經網路的演化

NLP 的技術發展可以分為三個時代。規則式時代(1950s–1990s):語言學家手工編寫文法規則和詞典,讓電腦按照規則解析語言。這種方式在特定領域(如法律文件)精確度高,但規則龐大難以維護,遇到新詞、新句型就會失效。

統計學習時代(1990s–2010s):轉向機器學習,讓系統從大量文字資料中統計詞語的共現模式。詞向量(Word2Vec、GloVe)的出現是重大突破:把每個詞表示成一個向量,使得「國王 - 男性 + 女性 ≈ 女王」的語義運算成為可能。這時期的代表技術包括隱馬可夫模型(HMM)、條件隨機場(CRF)和早期的 RNN 系列。

預訓練大模型時代(2017至今):2017 年 Google 提出的 Transformer 架構徹底改變了 NLP 的面貌。Transformer 的注意力機制(Attention Mechanism)讓模型能夠捕捉句子中遠距離詞語之間的關係,克服了 RNN 的「遠期記憶衰退」問題。2018 年 Google 的 BERT 和 OpenAI 的 GPT 相繼問世,用大量文字資料「預訓練」通用語言模型,再用少量標注資料「微調」到特定任務——這種「預訓練 + 微調」的範式一舉提升了幾乎所有 NLP 任務的效果,開啟了大型語言模型(LLM)時代。

為什麼語言那麼難?

理解 NLP 的挑戰,最好從語言歧義的三個層次出發。詞彙歧義(Lexical Ambiguity):同一個詞有多種意思,「蘋果」可以是水果或科技公司,「行」可以是動詞(可以)、名詞(一行字)或形容詞(真行)。句法歧義(Syntactic Ambiguity):同一個句子有多種解析方式,「我看見戴望遠鏡的人」——是「我」在用望遠鏡看,還是我看見了「戴著望遠鏡的人」?語用歧義(Pragmatic Ambiguity):說話的真實意圖和字面意思不同,「能不能把鹽遞給我?」的字面是問「能力」,實際是「請求動作」。

除了歧義,還有語言多樣性(全球有 7,000 多種語言,各有獨特語法)、知識依賴(「他把蠟燭吹熄了」需要知道吹氣的物理效果)、常識推理(「瑪麗餓了,她打開冰箱」——誰打開冰箱的?顯然是瑪麗,但電腦需要推理才知道),以及台灣特有的台語華語夾雜、繁簡差異等挑戰。現代大型語言模型在這些問題上已取得驚人進展,但在特定語言、特定領域仍有不足。


應用場景

行業 / 場景 應用任務 使用的 NLP 技術 實際效益
電商客服 自動回覆常見問題、分類客訴工單 文本分類、意圖辨識 60–80% 工單無需人工介入
金融研究 自動閱讀新聞、財報,提取關鍵事件 NER、關係抽取、情緒分析 分析師生產力提升 3–5 倍
醫療病歷 從非結構化病歷中抽取診斷、用藥資訊 NER、結構化資訊抽取 降低人工摘錄錯誤率
法律合約 自動審閱合約,標示風險條款 文件分類、NER、文本比對 合約審閱時間從數日縮短至分鐘
跨語言客戶服務 即時翻譯多語言客戶詢問 機器翻譯(Neural MT) 跨國企業支援成本降低
內容平台 自動生成文章摘要,節省閱讀時間 自動摘要(Abstractive/Extractive) 用戶閱讀效率提升
輿情監測 每日自動分析數萬則社群媒體貼文的品牌情緒 情緒分析、主題分群 危機即時偵測

常見誤區

誤區 1:「NLP 就是關鍵字比對,看到特定詞就觸發對應回應」

許多早期的聊天機器人和關鍵字篩選系統確實是這樣設計的,但這和真正的 NLP 之間有本質差異。關鍵字比對完全不理解語意——它無法區分「這個產品不錯」和「這個產品算不錯,但有點貴」的細微差別;它無法處理同義詞(「取消訂單」和「退訂」);也無法應對否定語句(「我不需要這個服務」可能被關鍵字系統誤判為對「服務」感興趣)。真正的 NLP 系統理解的是語意(Semantics),而不只是表面的字符序列。評估一個系統是「真 NLP」還是「假 NLP」,最好的方法是測試它能否正確處理同義表達、否定句,以及包含否定意圖的正面用詞。

誤區 2:「大型語言模型已經完全解決了 NLP 問題,所有語言任務都可以用 GPT 搞定」

GPT-4、Claude 等大型語言模型在通用語言理解和生成上確實令人驚豔,但這並不意味著所有 NLP 問題都已解決。LLM 在特定領域仍有顯著弱點:一是幻覺(Hallucination)問題——LLM 會以高度自信的語氣生成不正確的事實;二是低資源語言的能力差距仍然巨大(台語、客語等就遠比英文、普通話薄弱);三是高精確度的結構化抽取任務(例如從合約精確抽取每一個日期和金額,不容許任何遺漏)往往需要結合傳統 NLP 管線才能達到生產級可靠性。LLM 是強大的通才,但在企業生產環境中,針對特定任務設計的專用 NLP 系統往往更穩定、更可控、成本更低。

誤區 3:「英文 NLP 的技術直接套用在中文上效果一樣好」

這個誤解導致了許多台灣企業在導入 NLP 時踩坑。中文 NLP 面臨英文沒有的特殊挑戰:分詞本身就是一個非平凡問題(英文按空格切即可);繁體字和簡體字的差異(不只是字形,有時連詞彙和用法都不同,如「軟件/軟體」、「程序/程式」);台灣本土的特殊詞彙(政府機關名稱、地名、人名命名慣例、台式用語)在訓練自英文或中國大陸語料的模型上表現往往不理想;還有台語夾雜(「母湯」「哪賀」等口語拼音)的特殊挑戰。選擇專門針對繁體中文訓練的模型(如 CKIP Tagger、繁體微調的 BERT),或使用含台灣語料的預訓練模型,對實際應用效果有顯著影響。


小練習

練習 1:識別 NLP 任務類型

下面列出五個具體的 AI 功能描述,請指出每個功能主要對應哪一種 NLP 任務(分詞、POS 標記、NER、情緒分析、機器翻譯、問答系統、文本摘要):

功能描述 主要 NLP 任務
A. 客服系統自動把「台積電 2024 年第三季營收創新高」中的「台積電」、「2024 年第三季」標記出來
B. 自動把一篇 2000 字的新聞報導縮短成 100 字的重點摘要
C. 電商平台把用戶評論「包裝很精美,但產品質量讓我失望」判斷為負評
D. 把英文使用說明自動轉換成繁體中文
E. 搜尋引擎根據「愛因斯坦出生在哪裡?」直接給出「德國烏爾姆」的答案
查看答案 **A. 命名實體辨識(NER)** — 從文字中找出並分類具有特定類型的名詞:「台積電」是組織名,「2024 年第三季」是時間實體。NER 是資訊抽取管線的核心步驟,也是金融、法律、醫療等領域 NLP 應用的基礎。 **B. 文本摘要(Text Summarization)** — 將長文壓縮為簡短摘要,分為「抽取式(Extractive)」(從原文挑選關鍵句)和「生成式(Abstractive)」(重新用語言概括內容)。現代 LLM 在生成式摘要上效果優異。 **C. 情緒分析(Sentiment Analysis)** — 判斷文字的情感傾向。這個例子還涉及「面向情緒分析(Aspect-Based Sentiment Analysis)」:對「包裝」是正面評價,對「產品質量」是負面評價,兩個面向情感不同,整體卻被判為負評,展示了情緒分析的複雜性。 **D. 機器翻譯(Machine Translation)** — 將源語言文字轉換為目標語言。現代機器翻譯基於 Transformer 架構的神經機器翻譯(NMT),如 DeepL、Google Translate,質量已遠超早期的統計翻譯系統。 **E. 問答系統(Question Answering, QA)** — 針對自然語言問句給出精確答案。與搜尋引擎「傳回相關文件」不同,QA 系統直接給出答案。這是 Siri、Google 語音搜尋、ChatGPT 等應用的核心能力之一。

練習 2:語言歧義分析

以下三個中文句子各有歧義,請說明每個句子有哪兩種(或以上)合理的解讀方式,並指出這屬於哪種歧義類型(詞彙歧義、句法歧義或語用歧義):

  1. 「我想去美國留學的人不多」
  2. 「他的頭髮非常難剪」
  3. 「你今天穿這件衣服來開會,真的很勇」
查看答案 **句子 1:「我想去美國留學的人不多」— 句法歧義** 解讀 A:「我」想去的,是「去美國留學的人」不多 → 我覺得想去美國留學的人數量少。 解讀 B:「想去美國留學的人」是主語,「我」只是標記句子開頭的語氣詞 → 想去美國留學的那些人,大多不想讓我也去(勉強解釋)。 最自然解讀是 A,但因為「我想去美國留學」和「想去美國留學的人不多」兩個成分在句法上可以不同組合,電腦在解析時需要語境資訊才能判斷。這是**句法歧義**的典型例子(修飾語附著歧義)。 **句子 2:「他的頭髮非常難剪」— 詞彙歧義(隱含語用歧義)** 解讀 A:他的頭髮在物理上難以修剪(例如非常茂密、捲曲) → 字面意思。 解讀 B:他很難預約到願意替他剪頭髮的設計師,或他本人很難搞,不好配合 → 說話者暗示的諷刺意涵。 這兼具**詞彙歧義**(「難」的修飾對象是頭髮本身的物理性質,還是剪髮情境的社會性困難)和**語用歧義**(字面意思 vs. 言外之意)。 **句子 3:「你今天穿這件衣服來開會,真的很勇」— 語用歧義(反諷)** 解讀 A:字面直讀 → 說話者讚美穿衣服的人很有勇氣或很有個性。 解讀 B:反話(反諷)→ 說話者實際上認為穿這件衣服來開會非常不合適,用「很勇」來諷刺。 這是**語用歧義**,特別是反諷(Irony/Sarcasm)的案例。反諷是 NLP 中最難處理的語言現象之一,因為理解它需要知道「社會規範」(開會的著裝禮儀)以及語氣語調(文字無法呈現)。情緒分析系統若不能處理反諷,就會把這句話誤判為正面評價。

關鍵字自我檢核

✅ NLP ✅ 自然語言處理 ✅ 分詞 ✅ POS tagging ✅ 命名實體辨識 ✅ NER ✅ 情緒分析 ✅ 機器翻譯 ✅ 問答系統 ✅ 文本摘要 ✅ 規則式NLP ✅ 神經網路NLP ✅ BERT ✅ GPT