自然言語処理100本ノック2020から逃げるな「39. Zipfの法則」

これは自然言語処理100本ノック2020に挑んだ、とある人間の記録
他の問題はこちら → 自然言語処理100本ノック2020から逃げるな まとめ

39. Zipfの法則

単語の出現頻度順位を横軸,その出現頻度を縦軸として,両対数グラフをプロットせよ.j

Pythonコード

import NLP100_35
import matplotlib.pyplot as plt

morpheme_freq_list = NLP100_35.get_morpheme_frequency()

words, counts = zip(*morpheme_freq_list)

plt.bar(range(1, 1001), counts[:1000])

ax = plt.gca()
ax.set_yscale('log')
ax.set_xscale('log')

plt.show()

35. 単語の出現頻度 で作成したget_morpheme関数を利用しています。

実行結果

f:id:tmls:20200525075420p:plain