Daily programming #0038
言語処理100本ノック 2015の#36をやっていく。
第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章は実行結果を記載する方針とする。
36. 単語の出現頻度[Golang]
Question
文章中に出現する単語とその出現頻度を求め,出現頻度の高い順に並べよ.
Code
Output
$ ./main ../neko.txt.mecab 9107 の 7484 。 6772 、 6698 て 6384 は 6159 に 6068 を 5476 と 5259 が 3916 た 3775 で
出力結果は大量に出力されるため、例として最初から10個分を出力した。
Comment
単語をすべて1つのスライスに格納し、#19とほぼ同様の手順で重複要素をカウントして、出現頻度と文字列をスライスに格納。
あとはそれをsort.SliceStable
でソートして出力した。