Daily programming #0040

言語処理100本ノック 2015の#38をやっていく。

第4章: 形態素解析の前提

夏目漱石の小説『吾輩は猫である』の文章(neko.txt)をMeCabを使って形態素解析し,その結果をneko.txt.mecabというファイルに保存せよ.このファイルを用いて,以下の問に対応するプログラムを実装せよ.

なお,問題37, 38, 39はmatplotlibもしくはGnuplotを用いるとよい.

このあたりの記述を参考にMeCab、およびmecab-ipadic-NEologdをインストールし、neko.txt.mecabを作成する。

neko.txt.mecabのサイズが大きいためglot.ioではそのまま実行できないため、第4章は実行結果を記載する方針とする。

38. ヒストグラム[Golang]

Question

単語の出現頻度のヒストグラム(横軸に出現頻度,縦軸に出現頻度をとる単語の種類数を棒グラフで表したもの)を描け.

Code

100knock #38

Output

f:id:re3turn:20210209002819p:plain

階級幅20で出力しているが単語の出現頻度の大部分が1〜50回あたりなので分かりづらいグラフになっている。

f:id:re3turn:20210209002851p:plain

思い切って出現頻度100回以下の単語を除外してみたが少しはヒストグラムらしいグラフになった。

Comment

問題の意図が読み取れなくて難儀した。

日本語は難しい。

形態素解析が細かすぎるのかこれをヒストグラムにする意味はあるのだろうかと思いながらコード書いてました。

Gonum Plotヒストグラムにはplotutil.Color効かないんですかね?