Частотний аналіз тексту рахує, скільки разів кожне слово чи символ трапляється в тексті. Задача звучить просто, але застосування — від SEO до криптографії — доволі несподівані.
Частота слів
Підрахунок частоти слів показує, які терміни домінують у тексті. Це основа для «хмар слів» (word cloud), базового SEO-аналізу (чи не занадто часто повторюється ключове слово — «keyword stuffing») і швидкого розуміння теми великого масиву тексту без повного прочитання.
Частота літер і класичний криптоаналіз
У природних мовах літери трапляються з нерівномірною частотою — наприклад, в англійському тексті «E» зустрічається значно частіше за «Z». Прості шифри підстановки (як ROT13 чи класичний шифр Цезаря) не змінюють цей розподіл частот, лише переставляють, які літери яким відповідають. Порівнявши частотний розподіл зашифрованого тексту з відомим розподілом мови оригіналу, можна відновити відповідність символів і зламати шифр без перебору всіх можливих ключів.
Обмеження частотного аналізу
Метод працює надійно лише на достатньо довгому тексті — на короткому уривку випадкові відхилення від типового розподілу можуть переважити закономірність. Сучасні криптографічні алгоритми спеціально проєктуються так, щоб не мати такого вразливого розподілу частот.
Навіщо це потрібно
- Швидко зрозуміти основні теми довгого документа за найчастішими словами.
- Перевірити текст на природність розподілу літер (навчальні задачі з криптографії).
- Проаналізувати повторюваність слів для SEO-оптимізації тексту сторінки.
Закон Ципфа
У природних мовах частота слова обернено пропорційна його рангу в списку за спаданням частоти: найчастіше слово трапляється приблизно вдвічі частіше за друге за частотою, утричі частіше за третє, і так далі. Ця закономірність (закон Ципфа) настільки стійка для звичайного тексту, що суттєве відхилення від неї — сигнал: текст може бути штучно згенерованим, сильно спамним за ключовими словами чи написаним іншою мовою, ніж очікувалось.