Закон Ципфа
Закон Ципфа утверждает, что при рассмотрении всего состава языка частота слова обратно пропорциональна его порядковому номеру в полном списке слов, упорядоченному по убыванию частоты их использования. Данный пример демонстрирует закон для набора слов из романа Мигеля Сервантеса "Дон Кихот" с использованием новыx функций WordCount и WordCounts.
ExampleData содержит текст первого тома "Дон Кихота" на испанском языке.
textSpanish = ExampleData[{"Text", "DonQuixoteISpanish"}];Представленный здесь пример содержит более 180000 слов.
WordCount[textSpanish]Подсчёты частоты употребления каждого определённого слова представлены в качестве ассоциации от WordCounts. Результат отсортирован по убыванию.
association = WordCounts[textSpanish];Take[association, 10]Получите подсчёт частоты употребления 1000 наиболее распространённых слов.
counts = Take[Values@association, 1000];Для нахождения приблизительных подсчётов с помощью степенного закона используйте логарифмы в линейной согласованности. Закон Ципфа утверждает, что экспонента должна быть приблизительно равна
, а результат должен быть близким этому значению.
f[x_] = Fit[Log[Transpose[{Range[1000], counts}]], {1, x}, x]Визуализируйте согласованность с фактическими данными.

Закон Ципфа имеет силу в любом языке, поэтому данные вычисления возможны и с англоязычной версией "Дон Кихота".
textEnglish = ExampleData[{"Text", "DonQuixoteIEnglish"}];associationEnglish = WordCounts[textEnglish];
countsEnglish = Take[Values@associationEnglish, 1000];Take[associationEnglish, 10]И снова найденная экспонента приближена к
.
Fit[Log[Transpose[{Range[1000], countsEnglish}]], {1, x}, x]