{NLP}O’REILLY2.8_4単語の出現回数グラフの生成

O’reilly NTP with Python演習問題2.8_4

TODO

  • NLTKコーパスstate_union(『State of the Union addresses(一般教書演説)』)について、’men’,’women’,’people’の出現回数を数える。
  • 上記3単語について、時代による変化のグラフを生成する。


  • テキスト中の特定語の出現回数を調べる


    出力結果:

    1945-Truman.txt / men: 2 , women: 2 , people: 10
    1946-Truman.txt / men: 12 , women: 7 , people: 49
    1947-Truman.txt / men: 7 , women: 2 , people: 12
    (...)
    2004-GWBush.txt / men: 7 , women: 8 , people: 21
    2005-GWBush.txt / men: 8 , women: 11 , people: 18
    2006-GWBush.txt / men: 7 , women: 7 , people: 22
    



    グラフ生成(NLTKのplot())

    plot()というNLTKのモジュールを使用した場合の出力です。

    出力結果:

    勝手に整形されて出力されているんですが、正直このConditionalFreqDist()とplot()について理解が不十分です……。
    要勉強。


    グラフ生成(matplotlibのplot())

    追加的にmatplotlibを使って同じようなグラフも出力してみました。
    NLTK plot()のコードは出現回数を調べたときのコードを継承して使っていますが、matplotlibのplot()で行う場合は、NLTKのplot()とは異なるデータを用意する必要があったので、fileidを取得するところからすべて書き直しましたものです。

    出力結果:

    以上!
    1994年クリントン大統領の演説(66回)、1995年同大統領の演説(73回)にて、’people’を使った回数が突出していること、1994年頃から’women’という単語の出現回数が増加傾向にあることがわかりますね!


    参考(matplotlibの整形):[python][matplotlib]matplotlibのグラフの体裁を整える│たこ焼き食べた.net

    Leave a Reply

    Your email address will not be published. Required fields are marked *