

岡田 康介
名前:岡田 康介(おかだ こうすけ) ニックネーム:コウ、または「こうちゃん」 年齢: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です。
| 例 | |
|---|---|
| 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のおすすめ参考サイト
- n-gramとは? 10分でわかりやすく解説 - ネットアテスト
- 自然言語処理に出てくるn-gramとはなに? - BLOG | もじとばコム
- n-gramとは? 10分でわかりやすく解説 - ネットアテスト
- Word2VecにおけるN-gramとは? - Zenn



















