ストップワード
検索やテキスト分析で除外される頻出語。「の」「は」「a」「the」など意味的に重要度の低い語。
ストップワード (stop word) は、テキスト分析や検索エンジンのインデックス作成で除外される頻出語です。日本語では「の」「は」「が」「を」「に」「で」「と」などの助詞、英語では "a" "the" "is" "in" "and" "of" などの冠詞・前置詞・be 動詞が該当します。これらの語は出現頻度が極めて高い一方、単独では意味的な情報をほとんど持たないため、テキスト分析のノイズとなります。
ストップワードを除外する主な目的は、検索精度の向上とインデックスサイズの削減です。全文検索エンジンでは、ストップワードをインデックスから除外することで、インデックスのサイズを 20 から 30% 削減できるとされています。テキストマイニングでは、ストップワードを除外した後に TF-IDF (Term Frequency-Inverse Document Frequency) を計算することで、文書の特徴を表すキーワードをより正確に抽出できます。検索エンジンの仕組みの書籍でストップワードの扱いを学べます。
ストップワードリストは言語ごとに異なり、用途によっても変わります。NLTK (Python の自然言語処理ライブラリ) には英語で 179 語のストップワードリストが含まれています。日本語のストップワードリストは形態素解析の結果に基づいて構築され、助詞・助動詞・接続詞が中心です。ドメイン固有のストップワード (医療分野での「患者」、法律分野での「条項」など) を追加することで、分析精度をさらに向上させることもあります。
ただし、ストップワードの一律除外には注意が必要です。"to be or not to be" のようにストップワードが意味の核心を担うケースや、"The Who" (バンド名) のように固有名詞にストップワードが含まれるケースでは、除外すると情報が失われます。フレーズ検索 ("New York" など) でもストップワードの位置情報が重要になるため、完全な除外は適切ではありません。
近年の検索エンジンや LLM はストップワードを除外せず、文脈全体を考慮する傾向にあります。Google も現在はストップワードを完全には無視せず、クエリの意図を理解するために活用しています。BERT などのトランスフォーマーモデルは、ストップワードを含む文全体から文脈を学習するため、前処理でのストップワード除外が逆効果になることもあります。
文字数カウントとの関連では、ストップワードはテキスト全体の文字数に占める割合が大きいという特徴があります。英語テキストではストップワードが全単語の 25 から 30% を占めるとされ、日本語でも助詞は文字数の相当な割合を占めます。文字数制限のあるコンテンツ (ツイート、メタディスクリプションなど) では、ストップワードを意識的に削減することで、限られた文字数の中により多くの情報を詰め込むことができます。テキストマイニング入門の書籍で前処理の手法を習得できます。