З цим поняттям ви не раз зустрічалися в житті, якщо вам доводилося працювати з текстами. Зокрема, ви могли звертатися до онлайн-калькуляторів, здійснює саме частотний аналіз тексту. Ці зручні інструменти показують, скільки разів той чи інший символ або літера зустрічалися в якому-небудь уривку тексту. Нерідко показується і процентне співвідношення. Навіщо це потрібно? Як частотний аналіз тексту сприяє “злому” простих шифрів? У чому його суть, хто його винайшов? На ці та інші важливі питання по темі ми відповімо по ходу статті.
Визначення
Частотний аналіз виступає однією з різновидів криптоаналізу. Він ґрунтується на припущенні вчених про існування статистичного нетривіального розподілу окремих символів та їх закономірних послідовностей як у відкритому, так і шифрованому видах тексту.
Вважається, що подібний розподіл з точністю до заміни окремих символів буде зберігатися також у процесах шифрування/дешифрування.
Характеристка процесу
Розберемо тепер частотний аналіз простою мовою. Тут мається на увазі, що кількість появ одного і того ж символу алфавіту в текстах достатньої довжини одне і те ж у різних текстах, написаних на одному і тому ж мовою.
І що тепер з моноалфавитным шифруванням? Передбачається, що якщо на ділянці з шифрованим текстом буде символ з такою аналогічної ймовірністю появи, то реально припустити, що саме він і є та зашифрована літера.
Такі ж міркування послідовники частотного аналізу тексту застосовують і щодо биграммам (послідовності з двох літер). Триграммам – це для випадку вже полиалфавитных шифрів.
Історія методу
Частотний аналіз слів не є знахідкою сучасності. Науковому світові він відомий ще з 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-грамі (“шубу норкову купити”).
Але сьогодні пошукові алгоритми навчилися визначати переоптімізацію так само ефективно, як і переспам – перенасиченість тексту ключовими словами, тегами, які впливають на ранжирування результатів на сторінці пошуку. Надмірно оптимізовані сторінки тепер, навпаки, отримують більш низьке положення за запитом користувача. Та й самі люди не прагнуть читати безглуздий, перенасичений тегами текст, віддаючи йому корисну інформацію на іншому ресурсі.
Допомога частнотного аналізу СЕО-фахівців
Таким чином, сучасні текстові фільтри пошукових систем сьогодні віддають перевагу тим інтернет-сторінки, інформація на яких не тільки зручно читається, але і корисна відвідувачам. Щоб оптимізувати свою роботу під нові стандарти, СЕО-спеціалісти і звертаються до частотного аналізу тексту. Його надають сьогодні багато популярні сервіси.
Частотний аналіз допомагає переглянути готується до публікації текст на інформативність. Виключити непотрібну надмірність тегів і ключових фраз. Дозволяє також звернути увагу автора і на неприродні сполучення слів, які викликають підозру у текстових фільтрів пошукових систем.
Частотний аналіз тексту, таким чином, допомагає визначити частоту згадування того чи іншого символу в джерелі. Метод сьогодні застосовується для оцінки перенасиченість тексту тегами, неприродними перестановками слів.