Daily programming #0046

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

第5章: 係り受け解析

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

このあたりの記述を参考にCaboChaをインストールし、neko.txt.cabochaを作成する。

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

44. 係り受け木の可視化[Golang]

Question

与えられた文の係り受け木を有向グラフとして可視化せよ.可視化には,係り受け木をDOT言語に変換し,Graphvizを用いるとよい.また,Pythonから有向グラフを直接的に可視化するには,pydotを使うとよい.

Code

100knock #44

Output

$ ./main ../neko.txt.cabocha
$ dot -T png diGraph.dot -o 44.png

f:id:re3turn:20210209002629p:plain

例として10文目をDOT言語に変換し表示させた

Comment

事前準備としてGraphvizawalterschulze/gographvizパッケージをインストールする。

go get github.com/awalterschulze/gographviz

GraphvizはそれぞれのOSでインストール方法が異なるがubuntuの場合は以下を実行

sudo apt install graphviz

コードについては、先人のコードを参考にした