【えぬぐらむ】

n-gram とは?

最終更新:
💡 言葉を決まった窓幅でスライスする

テキストから連続するn個の要素を取り出したもの。1個ならユニグラム、2個ならバイグラム、3個ならトライグラムと呼ぶ。検索やNLPの基本手法。

📌 このページのポイント
n-gram:連続するn個の要素 入力「あいうえお」/1文字ずつずらす あ い う え お 1-gram 5個 あ い う え お 2-gram 4個 あい いう うえ えお 3-gram 3個 あいう いうえ うえお 隣の並びと重なる(2文字ずつ区切らない) 端に記号を足さない、この5文字の例
文字を単位にした例です。単語を単位にすると切り出す並びも変わります。
ひよこ ひよこ
n-gramってなに?nは何の数字?
ペンギン先生 ペンギン先生
nは並びに含む要素の個数だよ。「あいうえお」の文字2-gramなら「あい」「いう」「うえ」「えお」。1文字ずつずらすので、隣の並びと文字が重なる。2文字ごとに区切る方法とは違うんだ
ひよこ ひよこ
単語単位でもできるの?
ペンギン先生 ペンギン先生
できるよ。I・love・catsの3単語を単位にしたバイグラムなら「I love」「love cats」になる。文字や単語など何を1要素とするかを決めてから、連続するn要素を取り出すんだ
ひよこ ひよこ
何に使うの?
ペンギン先生 ペンギン先生
検索や文書の特徴量などだよ。文字n-gramなら、単語辞書に頼らず連続した文字を切り出せる。スペースで単語を分けない言語の検索にも役立つ。ただし自然な単語の境界や意味を見つける形態素解析と、同じ結果になるわけではないよ
ひよこ ひよこ
nはいくつが一番いいの?
ペンギン先生 ペンギン先生
目的とデータで選ぶよ。短い並びは広く一致し、長い並びは一致条件が具体的になる。文字か単語か、境界や空白をどう扱うかでも結果が変わるので、検索の結果やモデルの評価で確かめよう
ひよこ ひよこ
nが大きいほど、切り出す数は増えるの?
ペンギン先生 ペンギン先生
同じ入力を1要素ずつずらし、端に記号を足さないなら、長さLからはL−n+1個になるよ(1以上のnがL以下の場合)。5文字なら1-gramは5個、2-gramは4個、3-gramは3個。切り出す数と、多くの文書から集めた異なる並びの種類数は区別しよう
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「n-gram」って出てきたら「単語や文字など、連続するn個の要素の並び」と思えばだいたいOK!
📖 おまけ:英語の意味
「n-gram」 = n個の連続要素
💬 nは並びに含む要素の個数だよ。1個・2個・3個なら、ユニグラム・バイグラム・トライグラムと呼ぶんだ

参考資料

← 用語集にもどる