11-10-2018 18:30

Частотный анализ текста: особенности и примеры

С этим понятием вы не раз встречались в жизни, если вам приходилось работать с текстами. В частности, вы могли обращаться к онлайн-калькуляторам, осуществляющим именно частотный анализ текста. Эти удобные инструменты показывают, сколько раз тот или иной символ или буква встречались в каком-либо отрывке текста. Нередко показывается и процентное соотношение. Зачем это нужно? Как частотный анализ текста способствует "взлому" простых шифров? В чем его суть, кто его изобрел? На эти и другие важные вопросы по теме мы ответим по ходу статьи.

Определение

Формулы ускорения в физике: линейное и центростремительное ускорениеВам будет интересно:Формулы ускорения в физике: линейное и центростремительное ускорение

Частотный анализ выступает одной из разновидностей криптоанализа. Он основывается на предположении ученых о существовании статистического нетривиального распределения отдельных символов и их закономерных последовательностей как в открытом, так и шифрованном видах текста.

Считается, что подобное распределение с точностью до замены отдельных символов будет сохраняться также в процессах шифрования/дешифрования.

Характеристка процесса

Разберем теперь частотный анализ простым языком. Здесь подразумевается, что количество появлений одного и того же символа алфавита в текстах достаточной длины одно и то же в различных текстах, написанных на одном и том же языке.

Как правильно: ЗАКС или ЗАГС?Вам будет интересно:Как правильно: ЗАКС или ЗАГС?

И что теперь с моноалфавитным шифрованием? Предполагается, что если в участке с шифрованным текстом будет символ с такой аналогичной вероятностью появления, то реально предположить, что именно он и есть та зашифрованная буква.

Такие же рассуждения последователи частотного анализа текста применяют и по отношении к биграммам (последовательностям из двух букв). Триграммам - это для случая уже полиалфавитных шифров.

История метода

Частотный анализ слов не является находкой современности. Научному миру он известен еще с IX века. Его создание связывают с именем Ал-Кинди.

Но известные случаи применения метода частотного анализа относятся к гораздо более позднему периоду. Самым ярким примером здесь можно назвать дешифровку египетских иероглифов, произведенную в 1822 году Ж.-Ф. Шампольоном.

Если мы обратимся к художественной литературе, то можем найти немало любопытных отсылов к подобному методу дешифровки:

  • Конан Дойль - "Плящущие человечки".
  • Жюль Верн - "Дети капитана Гранта".
  • Эдгар По - "Золотой жук".

Однако начиная с середины прошлого века большинство используемых алгоритмов в шифровании разрабатывается с учетом их устойчивости к подобному частотному криптоанализу. Поэтому его сегодня применяют чаще всего лишь для обучения будущих криптографов.

Азбука – это начало всех знанийВам будет интересно:Азбука – это начало всех знаний

Основа метода

Представим теперь анализ частотных характеристик детально. Эта разновидность анализа прямо базируется на том, что тест состоит из слов, а те, в свою очередь, из букв. Количество букв, наполняющих национальные алфавиты, ограничено. Буквы могут быть тут просто перечислены.

Важнейшими характеристиками подобного текста будет как повторяемость букв, различных биграмм, триграмм и n-грамм, так и сочетаемость различных букв друг с другом, чередование согласных/гласных и других разновидностей данных символов.

Главная идея методов - в подсчете вхождений из возможных n-грамм (обозначается nm) в достаточно длинных для анализа открытых текстах (обозначаются T=t1t2…tl), составленных из букв национального алфавита (обозначаются {a1, a2, ..., an}). Все вышеперечисленное обуславливает некоторые идущие подряд m-граммы текста:

t1t2...tm, t2t3... tm+1, ..., ti-m+1tl-m+2...tl.

Если это – количество появлений m-граммы ai1ai2...aim в определенном тексте T, а L – общее число проанализированных исследователем m-грамм, то опытным путем возможно установить, что при достаточно больших L частоты для такой m-граммы будут мало чем отличаться друг от друга.

Часто встречающиеся буквы русского алфавита

А вот частотно-временной анализ, несмотря на похожее название, к теме нашего разговора никакого отношения не имеет. Такого рода анализ осуществляется в отношении сигналов малозаметных радиолокационных станций при помощи специального вейвлет-преобразования.

Вернемся теперь к главной теме. При проведении частотного анализа можно выяснить, какие буквы русского алфавита встречаются в достаточно объемных текстах чаще всего (процентное отношение от 0,062 до 0,018):

  • А.
  • В.
  • Д.
  • Ж.
  • И.
  • К.
  • М.
  • О.
  • Р.
  • Т.
  • Ф.
  • Ц.
  • Ш.
  • Ь.
  • Э.
  • Я.

Введено даже специальное мнемоническое правило, которое помогает усвоить самые распространенные буквы русского алфавита. Для этого достаточно запомнить всего одно слово - "сеновалитр".

В общих случаях частота использования букв в процентном выражении устанавливается просто: специалист подсчитывает, сколько раз буква встречается в тексте, затем делит получившееся значение на общее количество символов в тексте. А для выражения данной величины в процентах достаточно умножить ее на 100.

Важно учитывать, что частотность будет зависит не только от объема текста, но также и от его характера. К примеру, в технических источниках буква "Ф" фигурирует гораздо чаще, нежели в художественных. Поэтому для объективных результатов специалист должен набирать для исследования тексты различного характера и стилистики.

Би-, три-, четырехграммы

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

Что касается русского, то частотный анализ систем объемных осмысленных текстов позволил установить самые распространенные биграммы и триграммы:

  • ЕН.
  • СТ.
  • НО.
  • НИ.
  • НА.
  • РА.
  • ОВ.
  • КО.
  • ВО.
  • СТО.
  • НОВ.
  • ЕНО.
  • ТОВ.
  • ОВА.
  • ОВО.

Предпочтительные связи букв друг с другом

И это еще не все возможности, которые может предоставить частотный анализ исследователям текста. Систематизировав информацию из подобных таблиц биграмм и триграмм, реально извлечь данные о самых распространенных сочетаниях букв. Или, другими словами, их предпочтительных связях между собой.

Такое обширное исследование уже было проведено специалистами. Его результатом стала таблица, где вместе с каждой буквой алфавита были указаны ее соседи. Притом те символы, которые часто встречаются как непосредственно перед ней, так и после нее. Буквы в таблице прописаны не случайно. Ближе к символу обозначены самые частые соседи, дальше - более редкие.

Рассмотрим примеры:

  • Буква "А". Тут выделяются следующие предпочтительные связи: л-д-к-т-в-р-н-А-л-н-с-т-р-в-к-м. Отсюда мы видим, что чаще всего перед "А" в текстах идет "Н" ("НА"). А после "А" чаще всего в текстах на русском языке мы можем встретить "Л" ("АЛ").
  • Буква "М". Специалисты выделили такие предпочтительные связи: "я-ы-а-и-е-о-М-и-е-о-у-а-н-п-ы".
  • Буква "Ь". Предпочтительные связи следующие: "н-с-т-л-Ь-н-к-в-п-с-е-о-и".
  • Буква "Щ". Предпочтительные связи: "е-б-а-я-ю-Щ-е-и-а".
  • Буква "П". Предпочтительные связи с данным символом русского алфавита: "в-с-у-а-и-е-о-П-о-р-е-а-у-и-л".

Что определяет анализ?

Современные программы частотного анализа текста помогают изучить большие объемы самых разнообразных статей, сочинений, отрывков и проч. Исследователю стандартно предоставляется следующая информация:

  • Общее количество символов в тексте.
  • Число использованных автором пробелов.
  • Количество цифр.
  • Информация об использованных знаках препинания - точках, запятых и проч.
  • Количество букв каждого из имеющихся алфавитов - кириллицы, латиницы и проч.
  • Информация о частоте использования каждой буквы и символа в тексте - количество упоминаний и процентная величина в сравнении со всем текстом.

Борьба с переоптимизацией и перенасыщенностью

Зачем проводится частотный анализ текста? Только ли с целью любопытства - установить, какие символы в написанном тексте оказались часто встречаемыми? Нет, главное применение анализа - практическое, и оно заключается в другом.

К N-граммам относятся не только устойчивые биграммы и триграммы. К этой же категории можно отнести ключевые слова (теги), коллокации. То есть устойчивые сочетания, состоящие из двух и более слов. Их отличает факт, что такие композиции встречаются в тексте вместе и при этом несут определенную смысловую нагрузку.

Это на руку недобросовестным СЕО-специалистам. В своей работе они порой злоупотребляют повторением в тексте тегов, ключевых слов, чтобы искусственно повысить релевантность той или иной интернет-страницы. Они стараются обмануть систему и таким "фокусом": превращая естественное сочетание с обычным, традиционным для русского языка сочетанием слов ("купить норковую шубу") в несогласованное. То есть, полученное перестановкой слов в такой естественной N-грамме ("шубу норковую купить").

Но сегодня поисковые алгоритмы научились определять переоптимизацию так же эффективно, как и переспам - перенасыщенность текста ключевыми словами, тегами, влияющими на ранжирование результатов на странице поиска. Чрезмерно оптимизированные страницы теперь, напротив, получают более низкое положение по запросу пользователя. Да и сами люди не стремятся читать бессмысленный, перенасыщенный тегами текст, предпочитая ему полезную информацию на другом ресурсе.

Помощь частнотного анализа СЕО-специалистам

Таким образом, современные текстовые фильтры поисковиков отдают сегодня предпочтение тем интернет-страницам, информация на которых не только удобно читаема, но и полезна посетителям. Чтобы оптимизировать свою работу под новые стандарты, СЕО-специалисты и обращаются к частотному анализу текста. Его предоставляют сегодня многие популярные сервисы.

Частотный анализ помогает пересмотреть готовящийся к публикации текст на информативность. Исключить ненужную избыточность тегов и ключевых фраз. Позволяет также обратить внимание автора и на неестественные сочетания слов, которые вызывают подозрение у текстовых фильтров поисковых систем.

Частотный анализ текста, таким образом, помогает определить частоту упоминания того или иного символа в источнике. Метод сегодня применяется для оценки перенасыщенности текста тегами, неестественными перестановками слов.