G検定(ジェネラリスト検定)
えぬぐらむ
Nグラム
N-gram
n-gramとは、テキストから連続するn個の文字や単語を切り出す手法です。語の並び順や文脈を考慮できる一方で、nを大きくするとデータが疎になる性質を持ちます。
詳しい説明
1. 定義
n-gramとは、任意のテキストを連続するn個の文字または単語のまとまりとして順番に切り出す分割手法です。
たとえば「自然言語処理」という文を文字単位の2-gram(バイグラム)で分割する場合、「自然」「然言」「言語」「語処」「処理」のように、1文字ずつずらしながら2文字ずつのペアを抽出します。単語単体では失われがちな前後の並び順や局所的な文脈を、簡単なルールで固定長のデータとして扱える点が大きな特徴です。
実務においては、形態素解析辞書に登録されていない新語や未知語を含むテキストを検索するインデックス作成や、軽量な言語モデルの構築に利用されます。ただし、nの値を大きく設定するほど、表現できる組み合わせが爆発的に増加して計算資源を圧迫し、テキスト内に一度も出現しない未知の組み合わせが増加するデータのスパース性という問題が生じます。現代の自然言語処理の実務では深層学習に基づく大規模言語モデルが主流ですが、n-gramは機械学習の前処理や統計的言語処理における基準モデルとして現在も重要な役割を担っています。
2. 内訳
n-gramは、切り出す要素の種類と、一度に束ねる要素数nの組み合わせによって分類されます。
1. 要素の種類による分類
- 文字n-gram:文字列を1文字ずつスライドさせてn文字ごとに区切る手法です。形態素解析を行わずに機械的に分割できるため、辞書にない未知語や表記揺れに強い検索インデックスを作成できます。
- 単語n-gram:形態素解析などで文章を単語に分割した後に、n個の単語の並びとして区切る手法です。単語同士の自然な接続関係を把握できるため、文章の統計的な特徴抽出や言語モデルの構築に適しています。
2. 要素数nによる分類
- ユニグラム(n=1):要素を1個ずつ単体で取り出します。並び順の情報は保持されず、単語や文字の出現頻度のみを扱います。
- バイグラム(n=2):隣り合う2個の要素をペアとして取り出します。直前の要素が直後の要素に与える局所的な影響を考慮できます。
- トライグラム(n=3):連続する3個の要素をひとまとまりとして取り出します。より広い文脈情報を捉えられますが、組み合わせの総数が急増します。
試験で問われること
G検定
- テキストから連続するn個の文字または単語を取り出して文章を分割する手法です。
- 単語の並び順や文脈情報を保持できるため、Bag-of-Wordsの欠点を補う特徴抽出に用いられます。
- nの値を大きくすると文脈を広く考慮できますが、組み合わせが爆発的に増えてデータが疎になるトレードオフがあります。
- 文章を連続するn個の単位で区切る手法という基本定義が問われます。nの値によってユニグラム、バイグラム、トライグラムと呼ばれる点や、文字単位と単語単位の切り分け方の違いが出題されます。Bag-of-Wordsとの対比として、単語の出現順序や文脈情報を保持できる利点と、nを大きくすると次元の呪いやスパース性の問題が発生するというトレードオフの関係が頻出のポイントです。
最終更新日: 2026/09/23