HYT MachineWorks

やったこととか思いついたことをメモしておくブログです。

自然言語処理100本ノックをWindows/Python3で 第四章を解く

自然言語処理100本ノックとは、

東北大学の乾・岡崎研究室にて公開されている自然言語処理の問題集です。

www.cl.ecei.tohoku.ac.jp

前回に引き続いて第四章をこなしました。

 

第4章: 形態素解析

github.com

コードは、私のGitHubリポジトリにアップロードしています。

四章分は下のリンクから

NLP_100/codes/chapter_04 at master · hytmachineworks/NLP_100 · GitHub

引っかかった点

MeCab形態素解析結果の順番 2017/10/14追記

MeCab公式サイトに載っていますが、

"表層形\t品詞,品詞細分類1,品詞細分類2,品詞細分類3,活用型,活用形,原形,読み,発音"

となっています。

 

WindowsでのMeCabの導入

元の出題では、MeCab形態素解析しろと言っていますが、mecab-pythonを使って処理をしています。python-mecabMeCabpythonバインディングpythonから直接MeCabを使っています。処理したデータはjsonで保存して読み出して使いました。導入の仕方は、以前の記事を参考にしてください。

hytmachineworks.hatenablog.com

 

・SeabornおよびMatplotlibでの日本語の扱い

これも、以前紹介したNotoFontを使う方法で対応すればOK。Matplotlibはネットワーク解析なんかでも使えてそこでもこの対応をしておけば日本語が表示できます。

hytmachineworks.hatenablog.com

 

ほとんど、今まで調べてたので解決できたのですんなりでした。

問題.39のZipfの法則はその通りのグラフが出てちょっと感動した。

f:id:hytmachineworks:20171013230240p:plain

そんな感じで第5章に進みます

2017/12/9 追記

解きました。

hytmachineworks.hatenablog.com