Все статьи

Частотный анализ текста: зачем считать повторения слов

Частотный анализ текста считает, сколько раз каждое слово или символ встречается в тексте. В русском языке это особенно интересно из-за буквы «о» — самой частой буквы алфавита — и вопроса, как считать «ё», которую почти никто не набирает на клавиатуре.

Буква «о» и русский алфавит

В русских текстах буква «о» встречается чаще любой другой — это следствие фонетики и грамматики языка, где окончания и служебные слова насыщены этим звуком. Для сравнения, самая редкая буква обычного алфавита — «ъ» или «ф», встречающиеся почти исключительно в заимствованных словах или на стыке приставки и корня.

«Ё» как отдельная буква — только в теории

Формально в русском алфавите 33 буквы, включая «ё», но в реальном тексте она почти всегда заменена на «е» — это давняя типографская привычка, которая тянется ещё с советских печатных машинок без отдельной клавиши. При режиме «без учёта регистра» частотный анализ объединяет «е» и «ё» лишь по регистру, но не устраняет эту путаницу — большинство текстов просто не содержат «ё» там, где она должна быть по правилам.

Частотный анализ и взлом простых шифров

Простые шифры подстановки не меняют распределение частот букв — они лишь переставляют соответствия. Сравнив частоты зашифрованного русского текста с известным распределением («о» на первом месте, дальше «е», «а», «и») можно восстановить исходный алфавит без перебора ключей — именно так исторически ломали шифры до появления машинного шифрования.

Зачем это нужно

  • Быстро понять основные темы длинного документа по самым частым словам.
  • Проверить текст на естественность распределения букв (учебные задачи по криптографии).
  • Проанализировать повторяемость слов для SEO-оптимизации текста страницы.

Закон Ципфа

В естественных языках частота слова обратно пропорциональна его рангу в списке по убыванию частоты: самое частое слово встречается примерно вдвое чаще второго по частоте, втрое чаще третьего и так далее. Эта закономерность (закон Ципфа) настолько устойчива для обычного текста, что существенное отклонение от неё — сигнал: текст может быть искусственно сгенерирован, сильно заспамлен ключевыми словами или написан на другом языке, чем ожидалось.

Попробовать инструмент