【えぬぐらむ】
n-gram とは?
💡 言葉を決まった窓幅でスライスする
📌 このページのポイント
n-gramってなに?nは何の数字?
nは切り出す要素の個数だよ。テキストの上を窓をスライドさせながらn個ずつ取り出す手法なんだ。「あいうえお」を2-gram(バイグラム)にすると「あい」「いう」「うえ」「えお」の4つになるよ
単語単位でもできるの?
もちろんできるよ。文字n-gramと単語n-gramの2種類があるんだ。「I love cats」を単語バイグラムにすると「I love」「love cats」になる。文字単位か単語単位かは目的に応じて使い分けるよ
何に使うの?
nはいくつが一番いいの?
用途によるけど、文字n-gramならn=2か3、単語n-gramならn=1〜3がよく使われるよ。nが大きいほど文脈情報が増えるけど、組み合わせが爆発的に増えてメモリを食う。昔の言語モデルはn-gramの出現頻度で次の単語を予測していたんだけど、今のLLMはTransformerに置き換わった。それでもn-gramは計算が軽くて解釈しやすいから、検索やログ分析の現場では今でも現役だよ
まとめ:ざっくりこれだけ覚えればOK!
n-gramって出てきたら「テキストをn個ずつスライドしながら切り出したもの」と思えればだいたいOK!
📖 おまけ:英語の意味
「n-gram」 = n個の連続要素
💬 gramはギリシャ語のgramma(文字・書かれたもの)が由来で、n個の文字や単語の並びをひとまとめにしたものという意味だよ