11
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【kagome】形態素解析のラティスをグラフで表示できるようにしてみた

Last updated at Posted at 2014-10-10

概要

Pure Go な形態素解析器 kagome で,形態素解析過程で利用しているラティスを graphviz の dot format で出力できるようにしてみました.辞書同梱なので,バイナリ1つででちょこちょこ遊べます.解析器をリファクタリングする際に内部状態を表示するのに作ってみました.kagome はリファクタリングして v0.2.0 になりました.速度向上,テスト重点なので機能的には特に変化なしですが,全面的に書き換わっているのでもしよければ遊んでみてください.
ラティスの表示には graphviz が必要です.

インストール

go get github.com/ikawaha/kagome/...

ソース

使い方

入力のエンコードはは utf8 である必要があります.引数にテキストを与えてやると,graphviz の dot fromat でグラフを出力するので,それを dot コマンドに喰わせて画像に変換します.

$ lattice -v すもももももももものうち | dot -Tpng -o a.png
すもも	名詞,一般,*,*,*,*,すもも,スモモ,スモモ
も	助詞,係助詞,*,*,*,*,も,モ,モ
もも	名詞,一般,*,*,*,*,もも,モモ,モモ
も	助詞,係助詞,*,*,*,*,も,モ,モ
もも	名詞,一般,*,*,*,*,もも,モモ,モモ
の	助詞,連体化,*,*,*,*,の,ノ,ノ
うち	名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ
EOS

a.png

色がついているパスが Viterbi アルゴリズムで選択された最善パスです.
短い文でも結構複雑なグラフになりますね.グラフ化することで形態素解析器のバグもいくつかとれました :octocat:

11
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?