Skip to content

Оценка естественности текста в заданном алфавите

Notifications You must be signed in to change notification settings

SmorcIRL/TextFitnessCalculator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TextFitnessCalculator

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

Как и автору статьи расчет "нормальности" текста мне нужен был для криптоанализа шифра простой замены. Метод довольно хорошо работает на небольших текстах и даже коротких предложениях. Тем не менее, следует понимать, что не существует критерия, по которому можно однозначно было бы однозначно определить "человечность" текста, так как даже люди не всегда понимают написанное другими людьми, да и частотная природа метода способствует сбоям.

Проект с примером демонстрирует работу с несколькими языками на выбор, источник датасетов указан в конце. Много где рекомендуют выбирать только N самых распространённых n-грам, что в принципе верно, так как частоты убывают по очень стремительной гиперболе, и для английского алфавита, например, не имеет смысла брать в топ больше 10-20% возможных вариантов.

Полезные ссылки:

About

Оценка естественности текста в заданном алфавите

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages