Закон Ципфа: аналіз тексту та перевірка онлайн
Закон Ципфа — емпірична закономірність: у природному тексті частота слова обернено пропорційна його місцю в рейтингу частот. Найчастіше слово трапляється приблизно вдвічі частіше за друге, втричі частіше за третє і так далі. Аналіз тексту за законом Ципфа показує, наскільки розподіл слів у вашому тексті схожий на природний. Перевірити свій текст онлайн можна безкоштовно в інструменті «Аналіз тексту за законом Ципфа онлайн»: він будує графік log-log і рахує нахил, R² та індекс відповідності. Ще один варіант — метрика «Закон Ципфа» в AI-детекторі PromoPilot. Нижче — як вони рахуються, як читати результат і як перевірити текст вручну.
Формула закону Ципфа
У загальному вигляді закон записують так: f(r) = C / rα, де f — частота слова, r — його ранг (місце в списку за спаданням частоти), C — константа, приблизно рівна частоті найчастішого слова, а показник α для природної мови близький до одиниці. Звідси простий наслідок: добуток рангу на частоту r × f приблизно сталий.
| Ранг слова | Очікувана частота при α = 1 | Ранг × частота |
|---|---|---|
| 1 | 120 | 120 |
| 2 | 60 | 120 |
| 3 | 40 | 120 |
| 4 | 30 | 120 |
| 10 | 12 | 120 |
Якщо побудувати графік у логарифмічних осях — логарифм рангу по горизонталі, логарифм частоти по вертикалі, — точки природного тексту ляжуть майже на пряму з нахилом близько −1.
Як перевірити текст за законом Ципфа онлайн
Спосіб 1: аналізатор закону Ципфа
- Відкрийте аналіз тексту за законом Ципфа. Реєстрація не потрібна, а розрахунок відбувається у вашому браузері — текст на сервер не надсилається.
- Вставте текст (до 50 000 символів). Мінімум — 50 слів, але для осмисленого результату беріть від 300 слів, краще 1000+.
- За потреби ввімкніть «Виключити стоп-слова» (ru, uk, en, pl) і натисніть «Аналізувати».
- Подивіться результат: графік «ранг — частота» в логарифмічному масштабі з ідеальною прямою Ципфа (нахил −1) і регресією за вашим текстом, нахил, R², індекс відповідності 0–100 і таблицю топ-30 слів, де факт порівнюється з очікуваним за законом Ципфа, а слова, що трапляються частіше за норму, позначено окремо.
Індекс відповідності складається на 60% з того, наскільки нахил близький до −1, і на 40% з того, наскільки точно точки лягають на пряму (R²). 80+ — висока відповідність, 60–79 — помірна, нижче 60 — низька. Для українських текстів у кілька тисяч слів пологий нахил −0,6…−0,8 — звична річ: різні форми одного слова рахуються окремо.
Спосіб 2: метрика в AI-детекторі
- Відкрийте AI-детектор. Реєстрація не потрібна.
- Вставте текст або вкажіть адресу сторінки — інструмент сам витягне з неї текст. Беріть не менше 100 слів, а краще 200 і більше: на короткому фрагменті метрика малоінформативна.
- Виберіть мову або залиште автовизначення й натисніть «Перевірити».
- У блоці «Метрики детектора» знайдіть рядок «Закон Ципфа» (в українському інтерфейсі — «Закон Ціпфа») з підказкою «Розподіл частот слів». Якщо відхилення помітне, у блоці «Пояснення» з'явиться рядок «Відхилення частот слів від природного розподілу».
Та сама метрика є в розширеній версії детектора, де вона відображається на радарній діаграмі разом з іншими показниками й розбором тексту за реченнями.
Як рахується метрика в детекторі
- Текст ділиться на слова за пробілами, слова зводяться до нижнього регістру, розділові знаки відкидаються. Лематизації немає: «посилання», «посиланням» і «посилань» вважаються різними словами.
- Частоти сортуються за спаданням, і для перших 50 рангів фактична частота порівнюється з теоретичною
f(1) / r. Рахується середнє відносне відхилення. - Окремо оцінюється «хвіст» — рідкісні слова в нижній третині списку: надто однорідний хвіст теж вважається відхиленням.
- Обидві оцінки складаються порівну. Якщо в тексті менше 50 слів, метрика повертає нейтральні 50%; повної сили вона набуває на текстах від 200 слів, а на проміжній довжині результат підтягується до 50%.
Як читати результат детектора
| Значення | Колір смуги | Що означає |
|---|---|---|
| до 40% | зелений | Розподіл частот близький до природного |
| 40–70% | жовтий | Помітне відхилення; на текстах до 200 слів — часто просто через довжину |
| понад 70% | червоний | Сильне відхилення: переспам, шаблонність або одноманітний словник |
Що вищий відсоток, то далі текст від кривої Ципфа. Водночас у підсумковій імовірності ШІ-генерації вага цієї метрики невелика — близько 3%: на коротких текстах вона ненадійна, і детектор спирається насамперед на інші ознаки. Як читати весь звіт — у статті про перевірку тексту на ШІ.
Ручна перевірка: частотний словник і графік log-log
Якщо хочете розібратися з кривою самостійно, її легко побудувати вручну.
- Очистіть текст: нижній регістр, без розділових знаків і цифр. Для української мови результат точніший, якщо звести слова до початкової форми (лематизувати).
- Порахуйте, скільки разів трапляється кожне слово, і відсортуйте список за спаданням. Номер рядка — ранг.
- Додайте два стовпці:
=LOG10(ранг)і=LOG10(частота). - Побудуйте точкову діаграму за цими стовпцями й порахуйте нахил: в Excel і Google Таблицях — функцією
SLOPE(нахил).
Те саме на Python:
import re, math
from collections import Counter
text = open("text.txt", encoding="utf-8").read().lower()
words = re.findall(r"[а-яіїєґ'a-z]+", text)
freqs = sorted(Counter(words).values(), reverse=True)
xs = [math.log10(r) for r in range(1, len(freqs) + 1)]
ys = [math.log10(f) for f in freqs]
n = len(xs); mx = sum(xs) / n; my = sum(ys) / n
slope = sum((x - mx) * (y - my) for x, y in zip(xs, ys)) / sum((x - mx) ** 2 for x in xs)
print("нахил:", round(slope, 2)) # для природного тексту близько -1
Приклад: звичайний і переспамлений текст
Умовний приклад на статті приблизно у 600 слів про ремонт ноутбуків. У звичайній версії верх частотного списку виглядає так: «в», «і», «на», «не», «ноутбук», «з» — службові слова вгорі, тематичне слово на п'ятому місці, частоти спадають плавно. У переспамленій версії, де автор вставляв «ремонт ноутбуків» у кожне речення, картина інша:
| Ранг | Звичайний текст | Переспамлений текст |
|---|---|---|
| 1 | в — 31 | ремонт — 34 |
| 2 | і — 17 | ноутбуків — 33 |
| 3 | на — 11 | в — 29 |
| 4 | не — 8 | і — 15 |
| 5 | ноутбук — 6 | на — 10 |
У першому стовпці частоти поводяться як 31 / r, у другому перші два ранги майже рівні — це і є відхилення від закону Ципфа, помітне без жодних інструментів. Аналізатор і детектор фіксують його автоматично, а на графіку log-log такі слова виглядають як «полиця» на початку кривої.
Як інтерпретувати відхилення
| Що видно на графіку | Можлива причина |
|---|---|
| Тематичне слово стоїть у першій трійці поруч із прийменниками й сполучниками | Переспам ключовим словом — перевірте щільність ключових слів |
| Нахил помітно крутіший за −1 | Бідний словник, багато повторів тих самих слів |
| Нахил помітно пологіший за −1 | Переліки термінів, таблиці, списки назв |
| Довгий рівний хвіст зі слів із частотою 1 | Короткий текст — це норма, а не ознака проблеми |
Навіщо закон Ципфа в SEO
- Діагностика переспаму: якщо ключове слово вибивається з розподілу, воно повторюється надто часто.
- Оцінка багатства словника: плаский чи надто крутий розподіл свідчить про бідну мову.
- Порівняння з конкурентами: корисніше за абстрактні норми — подивіться, як виглядають тексти з топу за вашим запитом.
- Одна з ознак машинного тексту: відхилення — непрямий сигнал, що текст зібрали із шаблонів або згенерували.
Другий закон Ципфа
Іноді в аналізі тексту згадують і другий закон Ципфа. Він описує інший бік розподілу: скільки різних слів мають ту саму частоту. Що нижча частота, то більше таких слів: слів, що трапляються в тексті один раз, найбільше — у типовому тексті це значна частина словника. Саме ця частина і становить «хвіст», який детектор оцінює окремо: у природного тексту він неоднорідний, у шаблонного — підозріло рівний.
Звідки взявся закон
Закономірність описав американський лінгвіст Джордж Ципф у 1930–1940-х роках, хоча схожі спостереження щодо частот слів робили й раніше. Пізніше її знайшли далеко за межами мови — у розмірах міст, доходах, відвідуваності сайтів. Для текстів вона тримається напрочуд стійко: на будь-якому досить великому природному тексті розподіл частот лягає на ту саму криву. Верхні ранги майже завжди посідають службові слова — прийменники, сполучники, займенники, — а значущі слова теми розташовуються нижче, і саме їхня частка показує, про що текст.