在自然語言處理 (NLP) 中,詞幹提取是指將字詞縮減為詞根或詞幹,但產生的結果不一定是有效字詞。舉例來說,「arguing」和「argued」經過詞幹提取後,有時可能會變成「argu」,但這並非正確的字詞。詞幹提取的主要做法是移除字尾。移除字尾可將同一字詞的不同形式歸為一組,有助於電腦更有效率地處理這些字詞。這項程序會減少需要考量的不重複字詞數量,進而提高各種自然語言處理任務的準確率與效率。
詞幹提取的主要目的是減少機器必須處理的字詞變化。機器可將字詞縮減為基本形式,將同一字詞的不同形式視為單一實體。例如,「running」、「runs」和「runner」都會縮減為詞幹「run」。這樣的簡化有助於提升各種自然語言處理任務的準確率與效率。
詞幹提取的幾個主要用途包括:
詞幹提取演算法會使用一組規則,找出並移除字詞的字尾。這些規則通常以語言模式或大量文字的統計分析為依據。演算法通常會依序執行一系列步驟,每個步驟都會移除特定類型的字尾。舉例來說,簡單的詞幹提取規則可能是從結尾為「-ing」的字詞中移除字尾「-ing」。這項程序通常相當快速,且運算成本不高,因此適合處理大量文字資料。
詞幹提取的重要概念之一是「合併」,也就是將不同字詞或詞組視為語意相符,因為它們都指涉同一個核心概念。舉例來說,「decided」和「decidable」可能不是同義詞,但在某些情境下可視為相似,例如:分析與決策過程相關的主題時。詞幹提取可視為一種合併,著重於減少字詞的屈折變化。
詞幹提取在字詞合併中扮演重要角色,這是一種更廣義的程序,可減少文字中的詞彙變化。字詞合併的目的是減少字詞的不同形式 (如詞幹提取與詞形還原),以及語意、文法或拼字上的變化。詞幹提取可減少這些差異,讓文字分析與資訊搜尋更具成效。
1968 年,Julie Beth Lovins 開發出第一個公開的詞幹提取器,奠定了詞幹提取演算法的基礎。自此以後,出現了許多不同的詞幹提取演算法,各有優缺點:
Porter 詞幹提取器是歷史最悠久且最廣泛使用的詞幹提取演算法之一,由 Martin Porter 於 1980 年開發。這項演算法會使用一系列規則,移除英文單字的字尾。這項技術以簡單快速著稱,但有時會過度縮減字詞,導致結果不準確,而且可能不適用於英文以外的語言。舉例來說,Porter 詞幹提取器可能會將「university」、「universal」和「universities」都縮減為相同的詞幹「univers」。這清楚展現了該演算法縮減幅度較大的特性,以及可能造成的語意流失。
Snowball 詞幹提取器是 Porter 詞幹提取器的改良版。支援多種語言 (不只英文),一般認為準確率較高。不過,不一定能避免過度詞幹提取。這項演算法更精細,能掌握更多語言細微差異,產生更多語意有意義的詞幹,並在準確率和速度之間取得更好的平衡。這項技術在資訊檢索和機器翻譯等應用中相當實用,因為這些應用必須保留字詞的脈絡和意義。
Lancaster 詞幹提取器是另一個熱門演算法,以更積極地減少字詞而聞名。雖然這麼做可以加快處理速度,但與 Porter 或 Snowball 詞幹提取器相比,通常會導致更多詞幹提取錯誤。雖然速度提升在某些情況下很有幫助,例如處理大量文字時,時間至關重要。但在許多應用中,速度提升可能無法彌補準確率下降的損失。
詞幹提取和詞形還原都是將字詞簡化為基本形式的方法,但兩者並不相同。詞形還原是詞幹提取的進階版,會考量字詞的脈絡和文法。這項技術會使用字典和構詞學分析,找出字詞的字典形式,也就是詞目。詞形還原通常會產生有效的字詞 (詞目),但詞幹提取可能不會。雖然詞形還原通常比詞幹提取更準確,但需要更多時間和精力,因此運算成本較高。
功能 | 詞幹提取 | 詞形還原 |
複雜度 | 較低 | 較高 |
準確率 | 較低 | 較高 |
速度 | 較快 | 稍慢 |
輸出內容 | 可能不是有效字詞 | 一律為有效字詞 |
功能
詞幹提取
詞形還原
複雜度
較低
較高
準確率
較低
較高
速度
較快
稍慢
輸出內容
可能不是有效字詞
一律為有效字詞
詞幹提取可用於各種自然語言處理工作:
詞幹提取可大幅提升資訊檢索系統的效能,例如搜尋引擎、桌面搜尋工具、檢索增強生成 (RAG) 和文件管理系統。這些系統會對搜尋字詞和待搜尋的文件進行詞幹提取,即使用字不完全相同,也能更有效地將查詢與相關內容進行比對。
詞幹提取可減少文字資料的特徵或屬性數量,並提高相關字詞歸為同一組的機率,進而改善文字分類演算法的準確率。這讓演算法更容易找出模式,並準確地分類文字。
文字摘要功能可運用詞幹提取,找出最重要的字詞並減少重複內容。詞幹提取可將相關字詞歸為一組,有助於生成更簡潔實用的摘要。
詞幹提取可將字詞縮短為主要形式,協助判斷文字是正面、負面或中性。例如,「happy」、「happily」與「happiness」都會變成「happy」。這樣一來,就能更輕鬆地看出整體正面情緒,並避免因不同字詞形式造成混淆。然而,如果詞幹提取移除重要資訊或錯誤縮短字詞,有時可能造成錯誤。不過,詞幹提取著重於字詞的核心語意,而非文法,因此通常可提升情緒分析的成效與速度。
詞幹提取可帶來多項潛在優勢:
詞幹提取可減少不重複的字詞數量,進而提升自然語言處理模型的效能。這有助於縮短訓練時間,並改善預測準確率。詞幹提取可將相關字詞分組,強化文字中模式識別的信號。因此,您可能會看到更穩健且準確的模型,特別是在文字分類與情緒分析等任務中。舉例來說,在 Gemini Enterprise Agent Platform 中,將詞幹提取作為預先處理步驟,可減少細微字詞變化造成的影響,進而改善情緒分析模型的準確率。
詞幹提取可直接減少需要處理的不重複字詞數量,進而降低資料維度。這有助於大幅減少建立字詞頻率矩陣或詞彙索引等任務所需的資源。維度降低後,也有助於提升處理速度,並減少記憶體用量。
在資訊檢索系統中,詞幹提取可大幅改善召回率。舉例來說,搜尋「hiking poles」的使用者,也可能找到包含「hikes」、「hiker」或「hiked」的文件。詞幹提取可消弭同一字詞不同形式之間的落差,確保不會因用詞略有差異而遺漏相關文件。雖然可能產生較多不相關的結果,但召回率提升有助於確保搜尋結果更全面。
詞幹提取可提升文件分群和主題建模的成效。詞幹提取可將字詞還原為詞根,根據文件的基本語意將文件分組,而非根據字詞形式的表面變化。進而產生更連貫且有意義的分群或主題。
詞幹提取可大幅簡化整體文字預先處理管道。這可減少後續步驟中需要考量的不重複字詞數量,例如:去除停用詞、特徵擷取 (TF-IDF、字詞嵌入) 和資料正規化。更清楚、精簡的資料表示法通常更容易管理與分析,有助於節省開發時間與資源。
在處理文字資料的機器學習模型中,詞幹提取可將同一字的不同形式歸為一類,有助於減少資料稀疏度。這可以避免過度配適,也就是模型記住特定字詞形式,而非學習具有可推論性的模式。
雖然詞幹提取有許多優點,但也有一些限制:
使用詞幹提取或相關文字處理技術時,可運用多項 Google Cloud 產品:

