トライグラム(トリグラム、)とは、ある文章の文字列を連続する三要素ごとに分割する自然言語処理の手法である。これは任意のn要素に分割するにおける "n" を "3" としたものである。トライグラムは自然言語処理の分野では文書の統計分析のために、また暗号理論では暗号や符号の制御と解析のために利用されている。
出現頻度 様々なサンプルサイズ、または著者、詩、SF、技術文書のような様々な文書形式、および書き手のレベル(子供向けと大人向けの物語、軍事命令、レシピ)から連続する文字列を抽出することで、これらの分析によって簡単に順位付けと頻度を求めることが出来るため、コンテキストは重要である。
最も単純な暗号解読頻度分析により、英語における最も一般的な文字レベルのトライグラムは以下の通りである:
順位 トライグラム 出現頻度1the1.81%2and0.73%3tha0.33%4ent0.42%5ing0.72%6ion0.42%7tio0.31%8for0.34%9nde10has11nce12edt13tis14oft0.22%15sth0.21%16men
電報で送信される暗号化されたメッセージではしばしば句読点や空白が省略されるため、このようなメッセージに対する暗号学的頻度分析には単語レベルでのトライグラムが行われる。トライグラムの実行により、記号などの省略によって実際には意味をなさないような文字列の "edt" が頻繁に出現することとなる。
例 次の文章 "the quick red fox jumps over the lazy brown dog" を単語レベルでトライグラムを行った例が以下の通りである:
the quick red quick red fox red fox jumps fox jumps over jumps over the over the lazy the lazy brown lazy brown dog
また、上記の文章の単語レベルでのトライグラムの一要素 "the quick red" を文字レベルでのトライグラムを行った例は以下の通りとなる。ただし、"_" は空白記号を表す。 the he_ e_q _qu qui uic ick ck_ k_r _re red
脚注
関連項目 バイグラム