Fernando Pereira 如何把語言理解、有限狀態模型與知識抽取接到可靠 LLM?從解析到可驗證代理
大型語言模型看起來像是一個會續寫文字的黑盒子,但可靠的語言系統從來不只靠生成能力。它還要知道句子裡有哪些實體、事件和關係,能在不同語境下保持一致,能把不確定性傳給下游工具,也能在錯誤發生時說明自己依據了什麼。Fernando Pereira 的研究與工程生涯,正好串起這些問題:從計算語言學、機器學習與邏輯程式,到 Google 的自然語言理解、資訊擷取與大規模語言產品。
他的Google Research 人物頁記載,Pereira 曾在 Google 領導自然語言理解與機器學習專案,研究範圍涵蓋計算語言學、語音、基因資訊與邏輯程式;他的官方個人網站則把研究興趣整理為 Language AI、機器學習與計算生物學。這種跨領域背景提醒我們,LLM 的「理解」不該只用下一個 token 的機率衡量,也要看它能否建立可檢查、可重用的語意結構。

從規則與統計之間找到可擴展的語言表示
早期自然語言處理常被描述成規則系統與統計模型的二選一。Pereira 參與的工作更像是一座橋:用形式化結構限制不合理的解,用資料學習語境中的偏好。這個取向對今天的 LLM 仍然有價值,因為純粹依賴參數記憶容易在長文本、稀有實體和工具呼叫中失去約束,而純粹硬編規則又難以涵蓋語言的變化。
例如,一個抽取「誰在什麼時間對哪個系統做了什麼」的任務,可以先用句法或語意框架產生候選,再讓模型對候選排序,最後由型別與時間一致性規則做驗證。這不是把 LLM 降級成規則引擎,而是把生成模型放在它擅長的模糊判斷位置,並為關鍵欄位保留一條可檢查的結構化路徑。當答案需要寫入資料庫、觸發付款或修改權限時,這條路徑尤其重要。
有限狀態模型與現代 token 管線的共同語言
Pereira 與同事在語音和文字處理中推動的加權有限狀態轉換器(WFST),展示如何把字串、詞彙、發音、語法和權重組合成可計算的圖。今天的 tokenizer、拼寫正規化、路由規則與安全過濾,看似使用不同工具,實際上也都在處理「一串符號能否沿著合法路徑轉換」的問題。把這種圖形思維帶回 LLM,可讓資料預處理和輸出驗證更容易重放、測試與審計。
Google 的自然語言理解團隊頁列出語意解析、SyntaxNet 與 Cloud Natural Language 等工作,反映了語言技術從研究圖模型走到服務介面的過程。對一個現代代理而言,工具名稱、參數格式、權限範圍與回傳型別都可以被看成一張有限狀態圖。模型可以提出候選呼叫,但只有通過圖上的型別、權限與狀態轉移,呼叫才會真的送出。
這種設計還能降低提示詞注入的影響。提示詞可以改變模型的文字判斷,卻不能直接新增一條不存在的權限邊,也不能把一個字串悄悄變成另一種高風險型別。當工具輸出回到上下文時,系統同樣應先把它包裝成已標記來源、範圍和新鮮度的資料,而不是把外部文字當成無條件可信的指令。
序列標註與「先結構、後生成」
條件隨機場(CRF)和序列標註的核心問題,是在一整段輸入中同時決定每個位置的標籤,並讓相鄰標籤保持合理關係。LLM 可以完成命名實體、事件角色和段落分類,但在高風險流程裡,最好把這些結果視為帶分數的候選,而不是直接視為事實。先用結構模型指出人名、組織、日期與產品,再由生成模型把結構解釋成讀者可理解的段落,往往比讓模型從零自由敘述更容易追查。
序列標註也提供一套清楚的錯誤指標。除了整體準確率,團隊可以分別量測實體邊界、型別、關係配對與否定詞的錯誤;對長文件,還要觀察跨段落共指是否把兩個同名人物混在一起。這些細粒度結果可以反饋到資料標註、檢索切片和提示模板,而不必把所有問題都歸咎於「模型不夠大」。
語意解析:把句子連到可查詢的世界
自然語言理解的價值,不只在於回答一個問題,而在於把語句映射到可查詢的世界模型。對企業知識庫,這可能是把「哪一版政策在何時對哪一類客戶生效」轉成帶有主體、條件、時間與來源的查詢;對代理系統,則是把「比較兩個方案並保留原始依據」拆成檢索、計算、引用和輸出的步驟。
LLM 在這裡可以負責語意消歧與候選生成,但必須保留來源鏈。每個結論都應記錄觸發它的文件片段、文件版本、檢索時間與轉換規則;若模型選擇了一個同名實體,也要把候選與排除理由留在事件紀錄中。這樣的 lineage 讓人可以重現一次回答,也讓系統在文件更新後知道哪些答案需要重新評估。
SLING、框架語意與工具呼叫
SLING 框架語意解析把文字轉成 frame、角色與實體連結,提供一個很適合與 LLM 互補的中間層。模型可以先產生自然語言草稿,再交給框架解析器檢查「誰是施事者、誰是受事者、事件何時發生」。如果角色缺失、時間矛盾或實體不在允許的知識範圍,系統就應要求澄清、降級成搜尋結果,或把回答標記為待審查。
對工具呼叫而言,frame 的角色可以直接對應參數語意。例如「把報表寄給財務主管」至少包含文件、收件人與傳送動作;「把這筆資料刪掉」還需要確認資料範圍、保留政策與使用者權限。把這些角色明確化後,LLM 產生的 JSON 不再只是格式正確就算通過,而要經過語意與權限兩層驗證。
從 SyntaxNet 到多語言、長上下文的品質控制
Google 的SyntaxNet 開源文章展示了把解析技術提供給開發者的路徑。現代 LLM 雖然能在多語言和長上下文中產生流暢文字,但流暢不代表結構正確。系統仍應針對不同語言、領域和文本長度建立分層評估:句法一致性、實體連結、引用覆蓋、否定與數字正確性,以及工具步驟是否符合預期。
長上下文尤其容易造成「看似引用、實際錯配」。模型可能讀到文件中的兩個相似段落,卻把日期或適用條件交叉混合。可以用段落級的結構標籤和來源 ID 讓模型輸出保留對齊資訊,再用獨立檢查器驗證引用片段是否真的支持句子。這種雙通道評估把生成品質與證據品質分開,避免一篇文筆漂亮的回答掩蓋事實錯誤。
把機器學習的分數轉成可理解的不確定性
模型分數本身不是人類可直接使用的信心。不同資料分布、不同長度和不同實體類型的分數不能直接比較。可靠的 LLM 應在評估集上校準不確定性,為「需要更多資料」「有多個同等候選」「來源互相矛盾」分別設計訊號。當分數低於門檻時,系統可以提出澄清問題;當來源衝突時,則應列出衝突而不是用語氣掩飾。
這些訊號還要進入產品的 SLO。除了回應時間與可用率,語言服務應追蹤引用缺失率、結構解析失敗率、未授權工具嘗試、人工覆核比例和回退模型比例。把它們和版本、資料快照、提示模板綁在一起,團隊才能知道一個微調是否改善了真正的任務,或只是讓文字更像人。
一套給可靠 LLM 的語言理解檢查表
把 Pereira 的研究脈絡轉成工程決策,可以用九個問題檢查一個 LLM 語言管線:
- 輸入文字是否保留語言、來源、時間與文件版本?
- 實體、事件和關係是否有可重放的中間表示?
- 模型產生的工具參數是否通過型別、權限與狀態圖檢查?
- 序列標註與語意解析的錯誤是否分開量測,而不是只看 BLEU 或整體分數?
- 引用片段是否真的支持輸出的每個關鍵主張?
- 同名人物、否定詞、數字和時間條件是否有專門的對抗測試?
- 不確定性是否能觸發澄清、回退或人工覆核?
- 資料、模型、提示與解析器版本是否透過同一個事件 ID 串接?
- 使用者能否看見來源、限制和系統採取的下一步?
這些原則並不要求每個產品都重新實作一套傳統 NLP 管線,而是要求 LLM 把自由生成放在正確的位置。Pereira 代表的語言理解傳統告訴我們,結構、分數、來源與可重放性不是創新的負擔,而是讓語言技術能進入真實流程的支架。當模型可以用這些支架與檢索、資料庫和工具協作,它的能力才會從「寫出一段話」提升到「在可驗證的世界裡完成一件事」。
檢索評估、資料偏差與可回溯發布
語言理解系統的錯誤常常不是發生在生成那一刻,而是發生在檢索沒有找到正確上下文。評估集應把查詢意圖、同義詞、拼寫變體、跨語言名稱和時間條件分開標記,並同時量測召回率與排序位置。對企業文件,還要測試權限過濾是否在檢索階段就生效;如果先把機密段落送進模型,再在輸出端刪除,敏感資訊已經進入不該看見它的上下文。
資料偏差也需要結構化診斷。不同方言、專業領域、姓名格式和書寫系統可能有不同的標註品質與實體連結錯誤。團隊可以用分層混淆矩陣和錯誤樣本佇列追蹤差異,並把每次修正的資料版本、標註指南和模型版本一起保存。這讓公平性與準確率不再是一次性的報告,而是可以在每次發布時重跑的工程測試。
最後,語言服務的發布要能回溯到可讀的變更說明。一次模型更新若改變了 tokenizer、檢索索引、實體詞典或解析器,應在同一個版本卡中說明預期影響、已知限制和回退方式。線上流量以小比例逐步放量,並監測引用支持率、工具拒絕率、不同語言的錯誤差距與人工申訴。當指標偏離門檻,系統先停止擴大流量,再把事件連回資料、模型和規則的確切版本。這樣的發布紀律,正是把計算語言學的可解釋性帶進生成式 AI 產品的方法。
延伸閱讀:Google Research Fernando Pereira 人物頁、Google NLU 團隊、SLING 框架語意解析、SyntaxNet 開源說明。
把「Fernando Pereira如何把語言理解、有限狀態模型與知識抽取接到可靠LLM?從解析到可驗證代理」拆成可驗證的系統問題
這篇文章的主題不只是一個名詞或產品名稱,而是一套由資料、流程、資源與限制共同組成的系統。讀完主要敘述後,可以把焦點往前推一步:系統邊界在哪裡、關鍵機制如何運作、指標改善是否伴隨新的成本,以及哪些說法仍需要原始資料核對。
| 分析面向 | 要追問什麼 | 可查找的證據 |
|---|---|---|
| 系統邊界 | 本文的主題由哪些元件、角色與外部條件共同構成? | 架構圖、供應鏈、時間線與官方規格 |
| 運作機制 | 結果是由哪個流程、模型、設計或制度選擇造成? | 流程步驟、參數、介面、測試與案例 |
| 指標與代價 | 效率、速度或規模提升後,哪種成本或風險被轉移? | 功耗、延遲、可靠性、價格、勞動與環境資料 |
| 可驗證性 | 哪些結論可以重現,哪些仍只是公司說法或推測? | 原始文件、版本、第三方測試與反例 |
用這四個問題閱讀,能把技術敘事從「看起來很強」轉成可比較的證據鏈,也能看見一個系統真正改變的是什麼。
KEEP READING
接著讀什麼?
從同一主題繼續閱讀,或回到 YOLO LAB 的完整文章索引,找到下一個值得投入時間的問題。


發表迴響