PeterWolf
摘要
PEP622(後改併到 PEP634) 提出的 Structural Pattern Matching (以下簡稱 SPM) 結構讓人乍看之下以為 Python 終於在 3.10 向 case 投降。然而,歹誌並不是表面上一個 case 的保留字所呈現得這麼簡單! 本講題將從解析「意圖」的角度出發,說明解析程式碼的「意圖」和解析自然語言的「意圖」兩項任務之間,透過語言學的眼光來看,其實有異曲同工之妙。藉由目前世界上唯一利用 SPM 來做 NLU 的 Loki 意圖分析系統和 Python 3.10 在 PEP622 提出的新功能,我們將來回穿梭「自然語言」和「程式語言」兩個平行宇宙說明兩個重點: 1. 為什麼 Structure Pattern Matching 解析語言是個好主意。 2. Structure Pattern Matching 這招,程式語言用,好;自然語言用,更好。 理解了 PEP622 的運作後,更會發現它是對 PEP20: The zen of Python 中的 "Readibility counts." 這句話非常強烈的支持與實現。它讓程式語言不只是在表層的可讀性獲得了提升,更在底層的運作原理也更接近人類的自然語言。 最後,不論是程式語言還是自然語言,你終究還是要用語言學來做 NLP 的!
說明
影片