n-gram・とは?初心者でもすぐわかる基本と実例解説共起語・同意語・対義語も併せて解説!

  • このエントリーをはてなブックマークに追加
n-gram・とは?初心者でもすぐわかる基本と実例解説共起語・同意語・対義語も併せて解説!
この記事を書いた人

岡田 康介

名前:岡田 康介(おかだ こうすけ) ニックネーム:コウ、または「こうちゃん」 年齢:28歳 性別:男性 職業:ブロガー(SEOやライフスタイル系を中心に活動) 居住地:東京都(都心のワンルームマンション) 出身地:千葉県船橋市 身長:175cm 血液型:O型 誕生日:1997年4月3日 趣味:カフェ巡り、写真撮影、ランニング、読書(自己啓発やエッセイ)、映画鑑賞、ガジェット収集 性格:ポジティブでフランク、人見知りはしないタイプ。好奇心旺盛で新しいものにすぐ飛びつく性格。計画性がある一方で、思いついたらすぐ行動するフットワークの軽さもある。 1日(平日)のタイムスケジュール 7:00 起床:軽くストレッチして朝のニュースをチェック。ブラックコーヒーで目を覚ます。 7:30 朝ラン:近所の公園を30分ほどランニング。頭をリセットして新しいアイデアを考える時間。 8:30 朝食&SNSチェック:トーストやヨーグルトを食べながら、TwitterやInstagramでトレンドを確認。 9:30 ブログ執筆スタート:カフェに移動してノートPCで記事を書いたり、リサーチを進める。 12:30 昼食:お気に入りのカフェや定食屋でランチ。食事をしながら読書やネタ探し。 14:00 取材・撮影・リサーチ:街歩きをしながら写真を撮ったり、新しいお店を開拓してネタにする。 16:00 執筆&編集作業:帰宅して集中モードで記事を仕上げ、SEOチェックやアイキャッチ作成も行う。 19:00 夕食:自炊か外食。たまに友人と飲みに行って情報交換。 21:00 ブログのアクセス解析・改善点チェック:Googleアナリティクスやサーチコンソールを見て数字を分析。 22:00 映画鑑賞や趣味の時間:Amazonプライムで映画やドラマを楽しむ。 24:00 就寝:明日のアイデアをメモしてから眠りにつく。


n-gramとは何か

n-gramとは、文章の中で連続するnの要素の並びを指します。要素は文字や単語など、扱う対象によって変わります。初めて聞く人には「似た言葉の並びを数える道具」として理解すると分かりやすいです。

1-gram・2-gram・3-gramの違い

1-gramは連続する1文字(または1語)を指します。例として「猫」が1-gramの代表です。2-gramは隣り合う2つの文字・語の組み合わせで、文章のリズムやつながりを見やすくします。3-gramは3つの連続した要素を見ます。

使い方の例として、日本語の例文「私は猫が好きです」を使ってみましょう。文字ベースのn-gramを作ると、1-gramは私 / は / 猫 / が / 好 / き / で / す、2-gramは 私は / は猫 / 猫が / が好 / 好き / きで / です、3-gramは 私は猫 / は猫が / 猫が好 / が好き / 好きです となります。これらはすべて連続するものの列です。

実用的な活用例

学習データを使って言語モデルを作るとき、n-gramを使って次に来る語を予測します。大きなnを使いすぎるとデータが不足してうまく予測できなくなる「データの希少性」が起きやすく、nの選び方が重要です。一般に小さなnから始め、データ量が増えればnを徐々に大きくします。

表で見るn-gramの例

以下は「私は猫が好きです」という文字列から作った例です。表の左が種類、右が実際のn-gramです。

<th>種類
1-gram私 / は / 猫 / が / 好 / き / で / す
2-gram私は / は猫 / 猫が / が好 / 好き / きで / です
3-gram私は猫 / は猫が / 猫が好 / が好き / 好きです

実務での注意点

データの前処理として、句読点の扱い記号の除去、空白の扱いを揃えることが大切です。日本語では単語境界の定義が難しいため、形態素解析を使って単語レベルのn-gramを作る方法もあります。

まとめ

n-gramは連続するn個の要素の並びを指す基本的な考え方です。文字ベースでも語ベースでも作成でき、言語モデルや検索の補助、テキスト分類など幅広く使われます。小さなnから始めてデータ量に合わせて適切なnを選ぶことが成功のコツです。


n-gramの同意語

N-gram
テキストを連続したn個の語または文字の列として扱い、頻度や共起などを分析する基本的な単位。
n-gram
テキストを連続したn個の語または文字の列として扱う同義の表現。英語表記の小文字版も同義。
Nグラム
Nを日本語表記した言い方で、n個の連続した語または文字の列を指す用語。
nグラム
小文字の表記で、n個の連続した語または文字の列を指す表現。
単語Nグラム
単語をn個連続して並べた語の列で、単語レベルのn-gramを指します。
単語n-グラム
単語をn個連続させた列として表現する語彙レベルのn-gram。
語Nグラム
語(単語)をn個連続させた列を指す表現。
語n-gram
語をn個連続して取り出す列で、語レベルのn-gramを意味します。
文字Nグラム
文字をn個連続して並べた列、文字レベルのn-gramを指します。
文字n-グラム
文字をn個連続させた列として表現する文字レベルのn-gram。
トークンNグラム
トークン(最小語彙単位)をn個連続させた列を意味します。
トークンn-gram
トークンをn個連続させた列としてのn-gram。
連続語列
n個の連続した語の列を指す表現で、語レベルのn-gramの説明として使われます。

n-gramの対義語・反対語

ユニグラム
n=1の語を連続させたもの。n-gramの最小単位で、語順の情報を最も少なく保持します。対義語というよりは、n-gram の最も基本的な対極として捉えられる概念です。
スキップグラム
連続を前提とせず、間の語を飛ばして語の組み合わせを作る手法。n-gram の“連続性”を崩す対概念として、非連続パターンを捉える際に用いられます。
Bag-of-Words (BoW)
語順を無視して語の出現頻度だけを特徴量とする表現。n-gram が語順情報を扱うのに対し、BoW は語順情報を意図的に捨てる点で対照的です。
文全体表現
単語の連なりを小さな単位として扱うn-gram に対して、文全体を一つの意味ユニットとして扱う表現。局所的パターンよりも全体的意味を重視します。
文字n-グラム
文字単位の連続語列を扱う場合の対概念。語ベースのn-gramと異なる粒度で情報を捉えるための対比として用いられます。
非連続n-gram(ギャップ付き/スキップn-gram)
連続ではなく、ギャップを挟んだ語の組み合わせを対象とする考え方。n-gram の連続性を前提としない対比として使われます。

n-gramの共起語

単語n-gram
テキストを単語ごとに連続して取り出すn個の語の並びを指す
文字n-gram
文字を連続してn個取り出すn-gram。文字レベルの連続を分析する際に使われる
バイグラム
n=2のn-gram。2語の連なりを表す略称
トライグラム
n=3のn-gram。3語の連なりを表す略称
トークン
n-gramの最小単位となる語・文字の粒度の総称。語・文字など、データを分割した要素
コーパス
分析・学習に用いる大規模なテキスト集合
出現頻度
あるn-gramがコーパス内に現れた回数
頻度
出現頻度の同義語。統計の基本指標
カウント
n-gramの出現回数を数えること
語彙
n-gramを構成する語の集合
語彙サイズ
コーパス中の固有語の数。n-gram分析の土台となる規模指標
確率
n-gramが出現する確率。言語モデルの根幹
条件付き確率
前の語列に続く語が出現する確率。n-gramモデルの中核
平滑化
データ不足時に未出現のn-gramにも非ゼロ確率を割り当てる手法
スムージン
平滑化の別称。代表的な手法には加法平滑化など
最大尤度推定
MLE。コーパスから確率を推定する基本手法
バックオフモデル
未知のn-gramを短いn-gramで置換して確率を推定する手法
前処理
n-gram分析の前に行うデータ整形。正規化・トークン化など
正規化
大文字小文字の統一、記号整理、数値の標準化などの処理
トークン化
テキストを語や文字などのトークンに分割する工程
形態素解析
日本語などの語句・品詞を特定する処理。トークン化を補助
文脈
n-gramは前後の文脈情報を活用して意味を推定する要素
言語モデル
文章の出現確率を扱う枠組み。n-gramモデルはその一種
特徴量
機械学習の入力として用いるn-gramの値。特徴量として機能
テキストデータ
n-gramを抽出する対象となる生テキスト
n-gram分析
n-gramの抽出・統計を行う分析手法全般
パープレキシティ
言語モデルの予測性能を測る評価指標の一つ

n-gramの関連用語

n-gram
テキスト中の連続するn個の要素(単語や文字など)を取り出したもの。文の特徴を捉える基本的な単位です。
ユニグラム
n=1のn-gram。1語または1文字の基本単位として頻度や確率を算出します。
ビグラム
n=2のn-gram。連続する2語/2文字の組み合わせを表します。
トライグラム
n=3のn-gram。連続する3語/3文字の組み合わせを表します。
単語n-gram
単語ベースのn-gram。テキストを単語の連続として扱います。
文字n-gram
文字ベースのn-gram。テキストを文字の連続として扱います。
スライディングウィンドウ
n-gramを生成する際、テキストの先頭から窓を1単位ずつ動かして抽出します。
トークナイゼーション
テキストを意味のある単位(トークン)に分割する処理です。
正規化
大文字・小文字の統一、句読点の処理など前処理。
ステミング
語を語幹に還元する処理。
レンマタイゼーション
語を基本形(原形)に戻す処理。
語彙
テキスト内で出現する全トークンの集合。
コーパス
分析や学習用の大規模なテキスト集合。
頻度
特定のn-gramが出現する回数。
確率
n-gramが出現する確率。
条件付き確率
前のn-1語が分かるときの、現在の語の出現確率。
言語モデル
文全体の語の並びの確率を推定するモデル。
マルコフモデル
現在の語が前の語のみに依存するという前提のモデル。
平滑化
未知のn-gramにも非ゼロ確率を与える工夫。
ラプラス平滑
すべてのn-gramに1を加える簡易平滑化。
Kneser-Ney平滑化
語の出現頻度と連結情報を重視する高度な平滑化手法。
Witten-Bell平滑化
データ量に応じた平滑化手法の一つ。
バックオフ
高次のn-gramが見つからないとき低次のn-gramで推定する方法。
補間
複数のオーダーの確率を組み合わせて推定する方法。
パープレキシティ
言語モデルの予測性能を測る指標。低いほど良い。
共起
同じ文脈でn-gramの語が一緒に現れる現象。
連語(コロケーション
頻繁に一緒に現れる語の組み合わせ。意味の塊として機能します。
フレーズ検出
意味のある語句をn-gramから見つけ出す作業。
ストップワード
意味が薄く除外対象になりやすい語。
情報検索
情報の検索・取得の分野。n-gramは検索精度を上げるために使われます。
TF
Term Frequency。文書内のn-gramの出現頻度を表します。
TF-IDF
頻度と希少性を組み合わせた重み付け。n-gramにも適用可能。
Bag-of-words(BoW)
文を単語の集合として扱うモデル。n-gramを加えるとBag-of-N-gramsになります。
逆引きインデックス
検索で使うデータ構造。n-gramをキーにして文書を素早く探せます。
n-gramを用いたテキスト分類
n-gramを特徴量として使い、文章のカテゴリを推定します。
n-gramによるテキスト生成
前のn-1語を条件にして次の語を順次選び、文章を生成します。
BLEUスコア
翻訳などの出力と正解のn-gram重複を基に評価する指標。
n-gramグラフ
n-gramをノード、連結をエッジにしたグラフ表現。語の連結関係を分析します。
サブワードn-gram
語の一部(サブワード)のn-gram。形態素が豊富な言語で効果的

n-gramのおすすめ参考サイト


学問の人気記事

t値・とは?を徹底解説!初心者に優しい統計入門ガイド共起語・同意語・対義語も併せて解説!
1748viws
言葉の変遷・とは?初心者にやさしい言葉の歴史解説共起語・同意語・対義語も併せて解説!
1695viws
検量線・とは?初心者でもわかる測定の基礎と使い方共起語・同意語・対義語も併せて解説!
1630viws
apa方式・とは?初心者向けに解説するAPAスタイルの基本と使い方共起語・同意語・対義語も併せて解説!
1628viws
シオニズムとは?基礎知識からよくある誤解まで徹底解説共起語・同意語・対義語も併せて解説!
1550viws
ppm・とは?初心者でもわかる ppm の意味と測定のコツ共起語・同意語・対義語も併せて解説!
1448viws
unpaidとは?初心者向けに使い方と注意点を徹底解説共起語・同意語・対義語も併せて解説!
1227viws
定格電圧・とは?初心者にも分かる電気の基礎解説共起語・同意語・対義語も併せて解説!
1126viws
閾値(閾値)・とは?初心者向けにわかりやすく解説する基本ガイド共起語・同意語・対義語も併せて解説!
1070viws
データ標準化とは?初心者にもわかる基礎と実務での活用法共起語・同意語・対義語も併せて解説!
1056viws
十進数・とは?初心者でも分かる基本のしくみと使い方共起語・同意語・対義語も併せて解説!
946viws
慰安婦問題とは?初心者でも分かる歴史と現在をやさしく解説共起語・同意語・対義語も併せて解説!
945viws
色差計とは? 色の差を数値で測る仕組みと使い方を初心者向けに解説共起語・同意語・対義語も併せて解説!
930viws
スラスト荷重とは?初心者向けに解説する基本と実務での使われ方共起語・同意語・対義語も併せて解説!
892viws
剥離強度とは?初心者にも分かる測定方法と実務での活用ガイド共起語・同意語・対義語も併せて解説!
880viws
変動係数・とは?初心者にもわかる使い方と計算の基礎共起語・同意語・対義語も併せて解説!
853viws
デルタ結線・とは?初心者にもわかる基本と3相回路のしくみ共起語・同意語・対義語も併せて解説!
840viws
θ・とは?初心者向けガイド:意味から使いどころまで共起語・同意語・対義語も併せて解説!
807viws
所管・とは?初心者にも分かる意味と使い方ガイド共起語・同意語・対義語も併せて解説!
801viws
集水とは?初心者にもわかる集水の基礎と身近な例共起語・同意語・対義語も併せて解説!
782viws

新着記事

学問の関連記事