В общем, оценка степени энтропии источника с памятью является сложной проблемой, а когда существует много зависимостей на большие расстояния (как на естественном языке), это особенно сложно.По сути, вам нужно построить грамматику языка на основе образца, а затем вычислить коэффициент энтропии грамматики.Конкретные допущения, которые вы делаете при извлечении этой грамматики, будут иметь большое значение для скорости энтропии, с которой вы в конечном итоге окажетесь, поэтому лучшее, что вы сможете сделать, - это оценить довольно слабые границы для уровня энтропии фактическогоsource.
Обычной практикой является оценка скорости энтропии простым сжатием большой выборки с использованием стандартной программы сжатия, такой как gzip, хотя, как указывает Cosma Shalizi , это ужасная идея.Если вы собираетесь использовать общий алгоритм сжатия данных, LZ76 - лучший выбор;У Фермина Москосо дель Прадо есть бумага , в которой рассматриваются некоторые альтернативы.
Хотя алгоритмы сжатия действительно дают некоторую грамматику, было бы еще лучше использовать грамматику, котораяточно фиксирует зависимости на расстоянии в языке.К сожалению, изучение реалистичных грамматик естественного языка на основе образцов необработанного текста является большой проблемой для открытых исследований.Но есть некоторая многообещающая работа по изучению приближений конечного состояния к естественному языку, которая может быть использована для получения хороших оценок скорости энтропии.Проверьте CSSR для одного способа решения этой проблемы.