ステミングとは
ステミング(Stemming)とは、単語の語尾を機械的なルールに従って切り落とし、語幹(ステム)を抽出する自然言語処理の前処理手法です。異なる活用形や派生形を共通の形に統一することで、テキスト検索やテキスト分析の精度を向上させます。
代表的なステミングアルゴリズム
Porter Stemmerは1980年に提案された英語のステミングアルゴリズムで、最も広く知られています。Snowball Stemmerはporter stemmerの改良版で、多言語に対応しています。Lancaster StemmerはPorterよりも攻撃的に語尾を除去します。
ステミングの例
「running」「runner」「runs」はすべて「run」にステミングされます。ただし、「studies」が「studi」になったり、「university」と「universe」が同じ「univers」にステミングされるなど、不正確な結果が生じることもあります。
レンマ化との使い分け
ステミングは高速でシンプルな反面、言語学的な正確さに欠けることがあります。レンマ化は辞書と品詞情報を利用して正確な基本形を返しますが、処理速度は遅くなります。大量のテキストを高速に処理する情報検索ではステミング、精度が重要なタスクではレンマ化が適しています。