<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Machine Translation on YennJ12 Engineering Blog</title><link>https://yennj12.js.org/yennj12_blog_V4/tags/machine-translation/</link><description>Recent content in Machine Translation on YennJ12 Engineering Blog</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Sun, 21 Jun 2026 14:00:00 +0800</lastBuildDate><atom:link href="https://yennj12.js.org/yennj12_blog_V4/tags/machine-translation/feed.xml" rel="self" type="application/rss+xml"/><item><title>AI 工程從零開始｜Phase 5 Part 3：進階 NLP — BERT、問答系統與語言理解</title><link>https://yennj12.js.org/yennj12_blog_V4/posts/ai-eng-from-scratch-phase5-part3-advanced-nlp-zh/</link><pubDate>Sun, 21 Jun 2026 14:00:00 +0800</pubDate><guid>https://yennj12.js.org/yennj12_blog_V4/posts/ai-eng-from-scratch-phase5-part3-advanced-nlp-zh/</guid><description>大多數人以為 NLP 就是把文字丟進模型等答案； 真正的工程師知道語言理解需要雙向上下文、任務特化微調、以及在延遲與準確率間反覆取捨。 問題不是「用哪個模型」，而是「這個系統在 P99 500ms 內能可靠回答什麼問題」。 從 BERT 到問答系統，進階 NLP 的核心是：為正確的任務選擇正確的架構。
面試情境： 你的團隊正在為一個法律文件平台建構問答系統。文件平均 50 頁，用戶問題如「這份合約的違約金條款是什麼？」。系統需在 2 秒內回答，準確率要求 &amp;gt; 90%，每月處理 50 萬筆查詢。請設計整體架構，並說明為何選擇 Extractive QA 而非 Generative QA，以及如何在規模下維持品質。
一、核心問題：語言理解 vs 語言生成的本質差異 NLP 工程中最常見的誤解是把「理解」和「生成」混為一談。這兩個任務在模型架構、訓練目標、推論策略上有根本差異。
語言理解（Understanding）的本質：
任務：分類、命名實體識別、關係抽取、問答中的答案定位 需要：雙向上下文（左邊和右邊的詞都重要） 代表架構：BERT（Encoder-only Transformer） 輸出：分類標籤、span 位置、相似度分數 語言生成（Generation）的本質：
任務：文字摘要、機器翻譯、對話回覆、程式碼生成 需要：自回歸解碼（autoregressive decoding） 代表架構：GPT 系列（Decoder-only）、T5（Encoder-Decoder） 輸出：Token 序列 為什麼這個差異在工程上很重要？
面向 理解任務 生成任務 推論延遲 10–50ms（一次 forward pass） 200ms–5s（逐 token 生成） 輸出確定性 高（span 位置或分類） 低（temperature 影響大） 可審計性 高（可追蹤到原文哪句話） 低（hallucination 風險） GPU 記憶體 BERT-base: 440MB GPT-3.</description></item></channel></rss>