Lei de Zipf
A lei de Zipf afirma que no conjunto de dados de uma linguagem, a frequência de uma palavra é inversamente proporcional a sua posição na lista global de palavras depois de classificadas por sua frequência de forma descendente. Este exemplo demonstra a lei com um conjunto de palavras do livro de Miguel de Cervantes, Don Quixote, usando as novas funções WordCount e WordCounts.
ExampleData contém o texto em espanhol do primeiro volume de Don Quixote.
textSpanish = ExampleData[{"Text", "DonQuixoteISpanish"}];A amostra considerada aqui é composta por mais de 180.000 palavras.
WordCount[textSpanish]As contagens de cada palavra distinta são dadas em uma associação por WordCounts. O resultado já é classificado por contagens decrescentes.
association = WordCounts[textSpanish];Take[association, 10]Considere a contagem das primeiras 1.000 palavras mais frequentes.
counts = Take[Values@association, 1000];Para aproximar tais contagens com uma lei poderosa, pegue algoritmos para usar um ajuste linear. A lei de Zipf afirma que o expoente deve ser aproximadamente
, e o resultado é um valor próximo.
f[x_] = Fit[Log[Transpose[{Range[1000], counts}]], {1, x}, x]Visualize o ajuste junto com os dados atuais.

A lei de Zipf é aplicável em qualquer linguagem, assim o mesmo cálculo pode ser realizado com a versão em inglês de Don Quixote.
textEnglish = ExampleData[{"Text", "DonQuixoteIEnglish"}];associationEnglish = WordCounts[textEnglish];
countsEnglish = Take[Values@associationEnglish, 1000];Take[associationEnglish, 10]De novo, o expoente encontrado é próximo de
.
Fit[Log[Transpose[{Range[1000], countsEnglish}]], {1, x}, x]