Thanks Driven Life

日々是感謝

日本語係り受け解析結果を Graphviz で表示してみたかった

Yet Another Ruby Graphviz Interfaceを作ったからみんなで大量のグラフを作って遊ぼうよ! を読んで とても手軽な grapvhiz への道と思ったので、何か表示させてみたいなって思いました。 その結果、最近いろいろあって触ってる「日本語係り受け解析」を使って 係り元→係り先の遷移を graphviz でほげほげするのを試しに作ってみました。

gongo/dadot · GitHub

README のままやればいけると思います。

$ bundle install --path vendor/bundle
$ cp config.yml.sample config.yml
$ emacs -Q config.yml
   # Yahoo! JAPAN Web API の アプリケーションID を設定します。

では試しにいろいろやってみましょう。

$ bundle exec ruby dadot.rb run "戦うと元気になるなあ、ローラ。死を意識するから、生きることが実感できる"

example1

御大将の言葉が非常にわかりやすい例題になってる。さすが御大将。 ちなみにデフォルトの出力ファイルは #{Time.now.strftime("%Y%m%d%H%M%S")}.png です。

$ bundle exec ruby dadot.rb help run           
Usage:
  dadot.rb run [TEXT]

Options:
  -f, [--format=FORMAT]  # Output format
                         # Default: png
  -o, [--output=OUTPUT]  # Output file name prefix
                         # Default: 20121002210455

dependency analyzer TEXT

続いて、解析に失敗する事例。たとえばアプリケーションIDが正しくない場合

$ cat config.yml
yahoo_api: failure id
$ bundle exec ruby dadot.rb run "hoge" -o error

example2

こんな感じで、エラーメッセージだけ表示されます。

こんな長文も問題無いんですよ!!

$ bundle exec ruby dadot.rb run "結論だけ、書く。失敗した失敗した失敗した失敗した失敗した失敗した失敗した失敗した失敗した失敗した失敗した失敗した失敗した失敗した失敗した失敗した失敗した失敗した失敗した失敗したあたしは失敗した失敗した失敗した失敗した失敗した失敗した失敗した失敗した失敗した失敗した失敗した失敗したあたしは失敗" -o suzuha -f svg

example3

gviz、とても扱いやすくて素晴しいですね