詞幹提取 (Stemming)

更新於 發佈於 閱讀時間約 5 分鐘

「詞幹提取 (Stemming)」是文本前處理 (Text Preprocessing) 的一個步驟,旨在將詞語還原為它們的基本形式或詞幹 (stem)。這個過程通常通過移除詞語的詞綴(例如,後綴、前綴)來實現,目的是將具有相同詞根的不同詞形歸為一類,從而減少詞語的變異性,並提高後續 NLP 模型處理的效率。

你可以將詞幹提取想像成一種簡化的歸類方法,它不一定追求語法上的正確性,而是更注重找到詞語的核心部分。

詞幹提取的工作方式:

詞幹提取算法通常基於一套簡單的規則,這些規則定義了如何移除詞語的詞綴。這些規則通常是語言相關的。例如,對於英文,一些常見的詞幹提取規則可能包括:

  • 移除名詞複數的 "s" 或 "es" (例如,"dogs" -> "dog", "boxes" -> "box")
  • 移除進行時態的 "ing" (例如,"running" -> "run")
  • 移除過去式或過去分詞的 "ed" (例如,"walked" -> "walk")
  • 移除副詞後綴 "ly" (例如,"happily" -> "happy")

詞幹提取的例子 (英文):

  • running -> run
  • runs -> run
  • ran -> ran (有些詞幹提取器可能不會處理這種不規則形式)
  • walked -> walk
  • walking -> walk
  • walks -> walk
  • happiness -> happi (這裡可以看到,詞幹提取並不總是產生一個有意義的單詞)
  • happily -> happi
  • cats -> cat
  • foxes -> fox

詞幹提取的優點:

  • 降低數據維度: 將不同的詞形歸為同一個詞幹可以減少詞彙表的大小,從而降低後續模型處理的數據維度。
  • 提高模型泛化能力: 模型可能會將 "running" 和 "run" 視為不同的詞語,但實際上它們的語義是相關的。詞幹提取可以幫助模型將它們視為同一概念的不同形式,提高模型的泛化能力。
  • 提高檢索效率: 在信息檢索中,搜索 "run" 這個詞也可能希望找到包含 "running" 或 "ran" 的文檔。詞幹提取可以幫助實現這種模糊匹配。

詞幹提取的缺點和局限性:

  • 過度提取 (Over-stemming): 有時詞幹提取會過度簡化詞語,導致不同的詞語被提取到相同的詞幹,即使它們的含義並不相關 (例如,"universe" 和 "university" 可能都被提取為 "univers")。
  • 提取不足 (Under-stemming): 有些詞語的不同形式可能無法被成功地提取到相同的詞幹 (例如,"ran" 可能不會被提取為 "run")。
  • 可能產生無意義的詞幹: 詞幹提取的結果可能不是一個實際存在的單詞 (例如,"happiness" -> "happi"),這可能會影響模型的可解釋性。
  • 語言依賴性強: 詞幹提取規則是高度依賴於語言的,需要為不同的語言設計不同的提取算法。

常見的詞幹提取算法:

  • Porter Stemmer: 一種非常流行且被廣泛使用的英文詞幹提取算法,它基於一系列的規則來移除常見的英文詞綴。
  • Snowball Stemmer (Porter2 Stemmer): Porter Stemmer 的改進版本,通常被認為比 Porter Stemmer 更精確。
  • Lancaster Stemmer: 一種更激進的詞幹提取算法,可能會導致更嚴重的過度提取。

詞幹提取 vs. 詞形還原 (Stemming vs. Lemmatization):

詞幹提取和詞形還原都是將詞語還原為其基本形式的方法,但它們之間存在一些關鍵區別:

  • 詞幹提取 (Stemming): 是一種基於規則的簡化過程,旨在快速地將詞語歸為詞幹,不一定保證詞幹是語法上正確的詞語。
  • 詞形還原 (Lemmatization): 是一種更複雜的過程,它利用詞彙知識庫(例如 WordNet)來將詞語還原為它們的詞根形式(詞元或詞典形式),通常會考慮詞語的詞性,並產生語法上正確的詞語。

在選擇使用詞幹提取還是詞形還原時,需要根據具體的 NLP 任務需求來決定。如果任務對詞語的語義準確性要求不高,並且需要快速處理大量文本,則詞幹提取可能是一個更簡單有效的選擇。如果任務更注重詞語的語義和語法正確性,則詞形還原可能更適合。

留言
avatar-img
留言分享你的想法!
avatar-img
郝信華 iPAS AI應用規劃師 學習筆記
1會員
149內容數
現職 : 富邦建設資訊副理 經濟部 iPAS AI應用規劃師
2025/05/25
「停用詞移除 (Stop Word Removal)」是文本前處理 (Text Preprocessing) 的一個常見步驟,指的是將文本中一些常見的、但通常被認為對文本的語義理解沒有太大貢獻的詞語(即「停用詞」)從文本中移除的過程。 什麼是停用詞? 停用詞通常是指在文本中頻繁出現,但本身並不包
2025/05/25
「停用詞移除 (Stop Word Removal)」是文本前處理 (Text Preprocessing) 的一個常見步驟,指的是將文本中一些常見的、但通常被認為對文本的語義理解沒有太大貢獻的詞語(即「停用詞」)從文本中移除的過程。 什麼是停用詞? 停用詞通常是指在文本中頻繁出現,但本身並不包
2025/05/25
「斷詞 (Tokenization)」是文本前處理 (Text Preprocessing) 中的一個關鍵步驟,指的是將一段文本(例如一個句子、一個段落或一篇文章)分割成更小的單元,這些單元通常被稱為「詞語 (tokens)」。這些 tokens 是後續 NLP 模型進行分析和處理的基本單位。 你
2025/05/25
「斷詞 (Tokenization)」是文本前處理 (Text Preprocessing) 中的一個關鍵步驟,指的是將一段文本(例如一個句子、一個段落或一篇文章)分割成更小的單元,這些單元通常被稱為「詞語 (tokens)」。這些 tokens 是後續 NLP 模型進行分析和處理的基本單位。 你
2025/05/25
「文本前處理 (Text Preprocessing)」是指在將原始文本數據用於 NLP 模型或分析之前,對文本進行的一系列清理、標準化和轉換操作。其目的是將原始文本轉換成更適合模型處理和分析的格式,從而提高模型的性能和效果。 你可以將文本前處理想像成廚師在烹飪之前對食材進行清洗、切菜等準備工作。
2025/05/25
「文本前處理 (Text Preprocessing)」是指在將原始文本數據用於 NLP 模型或分析之前,對文本進行的一系列清理、標準化和轉換操作。其目的是將原始文本轉換成更適合模型處理和分析的格式,從而提高模型的性能和效果。 你可以將文本前處理想像成廚師在烹飪之前對食材進行清洗、切菜等準備工作。
看更多
你可能也想看
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
「欸!這是在哪裡買的?求連結 🥺」 誰叫你太有品味,一發就讓大家跟著剁手手? 讓你回購再回購的生活好物,是時候該介紹出場了吧! 「開箱你的美好生活」現正召喚各路好物的開箱使者 🤩
Thumbnail
介紹朋友新開的蝦皮選物店『10樓2選物店』,並分享方格子與蝦皮合作的分潤計畫,註冊流程簡單,0成本、無綁約,推薦給想增加收入的讀者。
Thumbnail
介紹朋友新開的蝦皮選物店『10樓2選物店』,並分享方格子與蝦皮合作的分潤計畫,註冊流程簡單,0成本、無綁約,推薦給想增加收入的讀者。
Thumbnail
當你邊吃粽子邊看龍舟競賽直播的時候,可能會順道悼念一下2300多年前投江的屈原。但你知道端午節及其活動原先都與屈原毫無關係嗎?這是怎麼回事呢? 本文深入探討端午節設立初衷、粽子、龍舟競渡與屈原自沉四者。看完這篇文章,你就會對端午、粽子、龍舟和屈原的四角關係有新的認識喔。那就讓我們一起解開謎團吧!
Thumbnail
當你邊吃粽子邊看龍舟競賽直播的時候,可能會順道悼念一下2300多年前投江的屈原。但你知道端午節及其活動原先都與屈原毫無關係嗎?這是怎麼回事呢? 本文深入探討端午節設立初衷、粽子、龍舟競渡與屈原自沉四者。看完這篇文章,你就會對端午、粽子、龍舟和屈原的四角關係有新的認識喔。那就讓我們一起解開謎團吧!
Thumbnail
特徵工程是機器學習中的核心技術,通過將原始數據轉換為有意義的特徵,以提升模型的準確性和穩定性。常見的特徵工程方法包括異常值檢測、特徵轉換、特徵縮放、特徵表示、特徵選擇和特徵提取。本文將深入探討這些方法的適用情況及具體實施流程,以幫助讀者有效利用特徵工程來優化機器學習模型表現。
Thumbnail
特徵工程是機器學習中的核心技術,通過將原始數據轉換為有意義的特徵,以提升模型的準確性和穩定性。常見的特徵工程方法包括異常值檢測、特徵轉換、特徵縮放、特徵表示、特徵選擇和特徵提取。本文將深入探討這些方法的適用情況及具體實施流程,以幫助讀者有效利用特徵工程來優化機器學習模型表現。
Thumbnail
最近AI的産圖越來越多,是時候開始整理了,隨機生成的廢圖基本上都清除了,剩下一堆感覺不差的挑一挑,只是數量有點多。
Thumbnail
最近AI的産圖越來越多,是時候開始整理了,隨機生成的廢圖基本上都清除了,剩下一堆感覺不差的挑一挑,只是數量有點多。
Thumbnail
前言 讀了許多理論,是時候實際動手做做看了,以下是我的模型訓練初體驗,有點糟就是了XD。 正文 def conv(filters, kernel_size, strides=1): return Conv2D(filters, kernel_size,
Thumbnail
前言 讀了許多理論,是時候實際動手做做看了,以下是我的模型訓練初體驗,有點糟就是了XD。 正文 def conv(filters, kernel_size, strides=1): return Conv2D(filters, kernel_size,
Thumbnail
要做會議記錄或課程筆記,想做逐字稿卻苦於打字速度不夠快嗎?錄音再慢慢回放浪費時間又容易恍神?這篇文章包你滿意,不用再浪費時間爬文了,你需要的逐字稿神器在這裡,保母級教學!
Thumbnail
要做會議記錄或課程筆記,想做逐字稿卻苦於打字速度不夠快嗎?錄音再慢慢回放浪費時間又容易恍神?這篇文章包你滿意,不用再浪費時間爬文了,你需要的逐字稿神器在這裡,保母級教學!
Thumbnail
最近在嘗試使用不同的AI生圖方式混合出圖的方式,採用A平台的優點,並用B平台後製的手法截長補短,創造出自己更想要的小說場景,效果不錯,現在以這張圖為例,來講一下我的製作步驟。
Thumbnail
最近在嘗試使用不同的AI生圖方式混合出圖的方式,採用A平台的優點,並用B平台後製的手法截長補短,創造出自己更想要的小說場景,效果不錯,現在以這張圖為例,來講一下我的製作步驟。
Thumbnail
我們前面幾篇已經講完TTS技術的一大半架構了,知道了如何將聲學特徵重建回音訊波形,也從中可以知道要是聲學特徵不完善,最終取得的結果也會不自然,剩下要探討該如何將文字轉換成聲學特徵,且能夠自然地表現停頓及細節變化,讓我們開始吧。
Thumbnail
我們前面幾篇已經講完TTS技術的一大半架構了,知道了如何將聲學特徵重建回音訊波形,也從中可以知道要是聲學特徵不完善,最終取得的結果也會不自然,剩下要探討該如何將文字轉換成聲學特徵,且能夠自然地表現停頓及細節變化,讓我們開始吧。
Thumbnail
事前聲明: 我先說明我的筆記製作流程: 在YT下載 >> 生成逐字稿 >> 利用 AI 整理條列式筆記 >> 人工整理 我已經將逐字稿放上來分享在<<1+1罐罐 | 股癌筆記 + 股癌未校稿逐字稿>>,不過逐字稿多少會有錯,如果要使用請多注意。 <<1+1罐罐 | 股癌筆記 + 股癌未校稿逐
Thumbnail
事前聲明: 我先說明我的筆記製作流程: 在YT下載 >> 生成逐字稿 >> 利用 AI 整理條列式筆記 >> 人工整理 我已經將逐字稿放上來分享在<<1+1罐罐 | 股癌筆記 + 股癌未校稿逐字稿>>,不過逐字稿多少會有錯,如果要使用請多注意。 <<1+1罐罐 | 股癌筆記 + 股癌未校稿逐
Thumbnail
  最近遇到一些人想做音訊的合成,我回答他或許可以從圖像風格轉換中找到些靈感,我才突然想起我對於這部分的認知只止於知道他能做什麼及結果大概如何,對於內部訓練邏輯及結構並沒有認真的去了解,現在剛好趁此機會好好的學習一下。
Thumbnail
  最近遇到一些人想做音訊的合成,我回答他或許可以從圖像風格轉換中找到些靈感,我才突然想起我對於這部分的認知只止於知道他能做什麼及結果大概如何,對於內部訓練邏輯及結構並沒有認真的去了解,現在剛好趁此機會好好的學習一下。
Thumbnail
針對辨識物的不同,流程就會不一樣,在依照現實狀況進行刪減,以下說明為個人常用的流程。 基本流程: 讀圖 灰階 濾波 (看圖片雜訊多不多) 二值化 連通區域 特徵篩選 特徵資訊 辨識 - (OCR,量測,瑕疵檢測等。) 名詞介紹 Gray 灰階 將原始的彩色圖像轉換為灰階圖
Thumbnail
針對辨識物的不同,流程就會不一樣,在依照現實狀況進行刪減,以下說明為個人常用的流程。 基本流程: 讀圖 灰階 濾波 (看圖片雜訊多不多) 二值化 連通區域 特徵篩選 特徵資訊 辨識 - (OCR,量測,瑕疵檢測等。) 名詞介紹 Gray 灰階 將原始的彩色圖像轉換為灰階圖
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News