詞形還原 是什麼?

Lemmatization:詞形還原 的完整解釋

詞形還原是自然語言處理中將單詞還原為其基本形式(詞元)的過程,考慮了單詞的語法和上下文。

容易混淆

詞形還原 vs 詞幹提取 詞形還原會查字典,詞幹提取只把尾巴砍掉。 一個重視正確詞形,一個重視速度。

詞形還原 vs 分詞 分詞是把句子切成詞,詞形還原是把詞變回基本形式。 一個在切開文字,一個在整理文字。

最關鍵的區別: 切詞和還原不是同一件事。

記住這句就好

先看懂詞,再把詞變回字典型。

實際案例

英文搜尋引擎 使用者搜 running 時,也能找到 run、runs、ran 相關文件,召回率通常會更好。

客服意圖分類 把 likes、liked、liking 都整理到同一語義底下,分類器比較不容易被詞形干擾。

深入了解

詞形還原通常需要詞典或語言規則,處理英文時會搭配詞性標註一起看。 它比詞幹提取準確,但速度較慢,也比較依賴語言工具品質。 對英文 NLP 很重要,對其他語言則要看詞形變化有多複雜。

中英對照與常見說法

說法 出現場合
詞形還原 台灣與中國大陸通用譯名
词形还原 簡體寫法
Lemmatization 英文原名
詞元化、詞條還原 常見變體
Lemma(詞元、詞條) 還原後的那個標準形式

跟詞幹提取的差別,這是最常一起被問的

詞幹提取(Stemming,词干提取) 詞形還原(Lemmatization)
做法 依規則砍掉字尾 查詞典並判斷詞性
產出 不一定是真的單字 一定是字典裡的詞
速度 慢,需要查詞典與詞性標註
例子 studies studi study
例子 better better(規則砍不動) good
例子 running run run

兩者的目的相同:把同一個詞的不同變形歸到一起,讓「study、studies、studying」被視為同一個東西。差別在手段與品質的取捨。

選擇準則:只是要做檢索或分群,詞幹提取夠用而且快;要做語意分析、要把結果拿給人看、或要跟詞典與知識庫對接,就得用詞形還原。

詞形還原一定要先做詞性標註。同樣的字在不同詞性下還原結果不同:meeting 當名詞還原成 meeting,當動詞則還原成 meet。沒有給詞性的詞形還原工具,預設多半當名詞處理,錯誤率會明顯上升。

中文需要這一步嗎

中文沒有動詞變位與名詞複數,所以傳統意義的詞形還原在中文幾乎用不到。中文的對應問題是斷詞(把連續字串切成詞)與同義詞正規化(「計程車」與「出租車」、「網路」與「网络」)。

這也是為什麼中文自然語言處理的前處理流程跟英文長得很不一樣:英文是斷詞加詞形還原加停用詞移除,中文是斷詞加繁簡與全半形正規化加同義詞對應。

現在還需要做嗎

用詞袋模型、TF-IDF、BM25 這類基於字面比對的方法時,詞形還原仍然重要,因為字面對不上就是比不到。

子詞切分加上嵌入模型時通常不需要,甚至有害。現代模型的斷詞器會把 studies 切成子詞,嵌入空間裡它跟 study 本來就靠得很近,額外的還原反而可能丟掉時態與單複數這些有用的訊息。

判斷準則很簡單:下游是字面比對就做,下游是語意向量就別做。

情境判斷

Q1(直覺題): 如果你要做英文搜尋,想把不同詞形一起查到,該先考慮什麼?

→ 詞形還原,因為它能把不同變化收回同一詞元。

Q2(判斷題): 所有語言都適合用同一套詞形還原工具嗎?

→ 不一定,不同語言的詞形規則差很多,工具要跟語言配套。

相關術語

常見問題

詞形還原一定比詞幹提取好嗎?

不一定。詞形還原更準,但更慢;如果只是快速索引,詞幹提取也可能夠用。

詞形還原會不會把意思變錯?

如果詞典或詞性標註不準,確實可能還原錯,所以工具品質很重要。

什麼情況最需要詞形還原?

英文搜尋、文本分類、資訊檢索這類需要合併詞形的任務最常見。