Daily programming #0037

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

第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章は実行結果を記載する方針とする。

35. 名詞の連接[Golang]

Question

名詞の連接(連続して出現する名詞)を最長一致で抽出せよ.

Code

100knock #35

Output

$ ./main ../neko.txt.mecab
[した所 人間中 一番獰悪 時妙 一毛 その後猫 一度 邸内 書生以外 四五遍]

出力結果は大量に出力されるため、例として最初から10個分を出力した。

Comment

名詞が連続している間スライスに格納し、2つ以上連続していれば結合して保存用のスライスに格納していった。

今思えば結合せずにスライスごと格納したほうが後々使いやすい気がした。