M07.01|自然語言處理 NLP 概覽:讓 AI 讀懂人話
人類語言充滿了歧義、俚語和言外之意 — NLP 的挑戰就在這裡
本講學習重點
NLP:讓電腦能夠理解、生成和操作人類語言的 AI 技術領域
主要任務:分詞、POS、NER、情緒分析、機器翻譯、問答、摘要
中文分詞難點:沒有空格分隔,需依語意切分(「研究生命科學」的多種斷法)
NER:從文字中找出人名、地名、組織名、時間等具名實體
規則式 NLP:精確但耗時、難以擴充;神經網路 NLP:自動學習但需大量資料
Transformer(2017)→ BERT(2018)→ GPT 系列 → ChatGPT(2022):NLP 的革命
語言歧義的三層次:詞彙歧義、句法歧義、語用歧義
🎙️ Podcast(中文)
一句話搞懂
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:語言歧義分析
以下三個中文句子各有歧義,請說明每個句子有哪兩種(或以上)合理的解讀方式,並指出這屬於哪種歧義類型(詞彙歧義、句法歧義或語用歧義):
- 「我想去美國留學的人不多」
- 「他的頭髮非常難剪」
- 「你今天穿這件衣服來開會,真的很勇」