バイグラム(ダイグラムとも呼ばれる)は、典型的には文字、音節、または単語であるトークンの文字列から抽出された、隣接する2つの要素の連続です。形式的には、バイグラムはnが2に等しいn-gramです。与えられた文字列内のすべてのバイグラムの頻度分布は、計算言語学、暗号学、音声認識など、多くのアプリケーションにわたるテキストの単純な統計分析に一般的に使用されます。
バイグラムは、自然言語の理解と処理における基礎的な構成要素として機能します。隣接する項目の共起を調べることにより、研究者やエンジニアはテキスト内の局所的な関係を捉えることができ、これはシーケンス内の次の単語を予測するタスクから文書の言語を識別するタスクまで役立ちます。バイグラムは、単一文字または単一単語の分析とより長いn-gramモデルの中間的な位置を表し、計算効率と記述力のバランスを取ります。
応用
バイグラムは、テキストの統計的特性が関連するさまざまな領域で使用されます。計算言語学および自然言語処理では、バイグラムは多くの言語モデル、特に自動音声認識で使用されるモデルに不可欠です。これらのモデルは、前の単語が与えられたときの単語の確率(バイグラム頻度の直接的な応用)に依存して、可能な音声解釈間の曖昧さを解消し、転写精度を向上させます。
暗号学では、バイグラム頻度攻撃は、単純な置換暗号を含む暗号文を解読するために使用される古典的な手法です。暗号化されたテキスト内の文字ペアの頻度を、疑わしい言語の既知の分布と比較することにより、暗号解析者は可能性の高い文字マッピングを推測できます。この方法は、自然言語における文字とその組み合わせの非一様分布を利用する、より広範な頻度分析に該当します。
統計的言語識別では、バイグラム頻度は簡単なアプローチを提供します。異なる言語の特徴的なバイグラム分布のプロファイルを構築することにより、システムは未知のテキストサンプルのバイグラム頻度が各プロファイルにどれだけ近いかを測定して分類できます。この手法は、比較的短いテキスト断片でも効果的です。
娯楽言語学(ロゴロジー)では、バイグラムは遊び心のある探求の対象です。愛好家は、すべての可能なバイグラムで始まる英語の単語を探したり、'logogogue' のような繰り返されるバイグラムの文字列を含む単語を発見しようと試みます。これらの活動は、英語における単語形成の好奇心をそそるパターンと限界を浮き彫りにします。
さらに、ギャッピーバイグラム(スキッピングバイグラムとも呼ばれる)は、構成単語間のギャップを許容する単語ペアです。この変種は、接続語を避けることや、依存文法におけるものと同様の構文関係をシミュレートすることなど、より広範な依存関係のモデリングを可能にします。このようなバイグラムは、文内のより遠い相互作用を捉えるために基本概念を拡張します。
英語におけるバイグラム頻度
大規模な英語コーパスにおける最も一般的な文字バイグラムの頻度は、明確な分布に従います。最も頻繁なバイグラムは 'th' で、全バイグラム出現の3.56%を占め、次いで 'he' が3.07%、'in' が2.43%、'er' が2.05%、'an' が1.99%です。他の頻繁なバイグラムには、're' が1.85%、'on' が1.76%、'at' が1.49%が含まれます。
分布は続き、'en' が1.45%、'nd' が1.35%、'ti' が1.34%、'es' が1.34%、'or' が1.28%、'te' が1.20%です。バイグラム 'of' は1.17%で出現し、'ed' も1.17%です。低いが依然として注目に値する頻度には、'is' が1.13%、'it' が1.12%、'al' が1.09%、'ar' が1.07%、'st' が1.05%、'to' が1.05%が含まれます。
リストのさらに下では、'nt' の頻度は1.04%、'ng' は0.95%、'se' は0.93%、'ha' は0.93%、'as' は0.87%、'ou' は0.87%、'io' は0.83%、'le' は0.83%、've' は0.83%です。バイグラム 'co' と 'me' はそれぞれ0.79%で発生し、次いで 'de' と 'hi' がそれぞれ0.76%です。他の小さなパーセンテージには、'ri' が0.73%、'ro' が0.73%、'ic' が0.70%、'ne' が0.69%、'ea' が0.69%、'ra' が0.69%、'ce' が0.65%が含まれます。
この頻度データは、最も一般的なペアを特定することが暗号解読に役立つ暗号学や、キーボードレイアウトやテキスト圧縮アルゴリズムの最適化などのアプリケーションにとって重要です。
他のN-gramとの関係
バイグラムは、nがシーケンス内の要素数を示す一般的なn-gram手法の特定のケースです。ユニグラム(n=1)は個々のトークンを考慮し、トライグラム(n=3)および高次のn-gramはより長いコンテキストを捉えます。nの選択にはトレードオフが伴います。より大きなn値はより複雑な依存関係をモデル化できますが、データスパース性のために信頼性の高い推定には指数関数的に多くのデータが必要です。
現代のMachine learningアプリケーション、特にNatural language processingパイプラインでは、n-gram統計はTransformer (architecture)アーキテクチャなどのNeural networkモデルに大部分が取って代わられています。しかし、バイグラムは基礎的なlanguage model研究や、計算リソースが限られている、または解釈可能性の必要性が高いシナリオでは依然として関連性があります。
計算的側面
バイグラム頻度の計算は簡単で効率的です。与えられたトークンの文字列に対して、シーケンスを反復処理し、隣接するトークンの各ペアを数えることができます。結果のカウントは正規化して確率を生成できます。このプロセスは、次のトークンの確率が現在のトークンに条件付けられるマルコフモデルの基礎を形成します。
バイグラムはまた、Data Augmentation技術や特定のタスクのLoss Functionsでも使用されますが、これらの使用は伝統的な統計的方法ほど一般的ではありません。シーケンス生成におけるBeam Searchの概念は、n-gramモデルからの確率推定に依存することがよくありますが、現代のシステムは通常、より高度なNeural networkベースのスコアリングを使用します。
関連項目
- ダイグラフ(正書法)
- 文字頻度
- N-gram
- 頻度分析