Репозиторий представляет из себя реализацию метода оценки "нормальности" текста в заданном алфавите на основании датасета с частотами употребления квадраграм (квадграм? тетраграм?). В статье, на которую я ориентировался, автор утверждает, что данный вариант метода работает качественнее обычного частотного анализа из-за т.н. "нормализации". Так же, для избежания ошибок округления при суммировании ЧПТ, вероятности логарифмируются, а сумма заменяется на произведение. Для показательности я дополнительно возвожу результат функции в степень < 10.
Как и автору статьи расчет "нормальности" текста мне нужен был для криптоанализа шифра простой замены. Метод довольно хорошо работает на небольших текстах и даже коротких предложениях. Тем не менее, следует понимать, что не существует критерия, по которому можно однозначно было бы однозначно определить "человечность" текста, так как даже люди не всегда понимают написанное другими людьми, да и частотная природа метода способствует сбоям.
Проект с примером демонстрирует работу с несколькими языками на выбор, источник датасетов указан в конце. Много где рекомендуют выбирать только N самых распространённых n-грам, что в принципе верно, так как частоты убывают по очень стремительной гиперболе, и для английского алфавита, например, не имеет смысла брать в топ больше 10-20% возможных вариантов.