一般に、メモリを備えたソースのエントロピーレートを推定することは難しい問題であり、(自然言語のように)長距離の依存関係がたくさんある場合は特に困難です。基本的には、サンプルに基づいて言語の文法を作成し、その文法のエントロピーレートを計算する必要があります。その文法を抽出するときに行う特定の仮定は、最終的なエントロピーレートに大きな違いをもたらすため、実際のエントロピーレートのかなり弱い境界を推定することが最善の方法です。ソース。
Cosma Shaliziが指摘しているように、これはひどい考えですが、一般的な方法は、gzipなどの標準的な圧縮プログラムを使用して大きなサンプルを圧縮するだけでエントロピーレートを推定することです。一般的なデータ圧縮アルゴリズムを使用する場合は、LZ76の方が適しています。FermínMoscosodelPradoは、いくつかの代替案を検討している論文を発表しています。
圧縮アルゴリズムは一種の文法を提供しますが、言語の長距離依存関係を正確にキャプチャする文法を使用することをお勧めします。残念ながら、生のテキストのサンプルから現実的な自然言語の文法を学ぶことは、非常に未解決の研究課題です。しかし、自然言語への有限状態近似を学習する上でいくつかの有望な研究があり、それを使用して優れたエントロピーレートの推定値を生成することができます。これらの方針に沿って問題に取り組む1つの方法については、CSSRを確認してください。