N-Gramの種類

「プログラミング」及び「開発」関連用語集

カテゴリー: 全文検索エンジン  閲覧数:389 配信日:2017-03-19 13:10


3種類


ユニグラム
・1文字を元にインデックスを作成する方法

バイグラム
・2文字の並びを元にインデックスを作成する方法

トリグラム
・3文字の並びを元にインデックスを作成する方法


バイグラム方式 / 例1


2文字ごとに切り出す

14文字からなる文章だった場合
・13個のNgramを抽出
・添字はそのNgramの出現位置を表す

14文字からなる文章
私は今、日本に住んでいます。

13個のNgramを抽出
Array
(
   [0] => 私は
   [1] => は今
   [2] => 今、
   [3] => 、日
   [4] => 日本
   [5] => 本に
   [6] => に住
   [7] => 住ん
   [8] => んで
   [9] => でい
   [10] => いま
   [11] => ます
   [12] => す。
)


バイグラム方式 / 例2


「これはペンです」をNを2としてNgramで分解
・「これ れは はペ ペン ンで です」
※配列でなくても良い


何文字でも良い


n-gramで”abcd”という文字列をトークナイズする
N=1 : 'a', 'b', 'c', 'd';
N=2 : 'ab', 'bc', 'cd';
N=3 : 'abc', 'bcd';
N=4 : 'abcd';