形態素解析器 kagome v2の依存関係を見直して v2.1.0 をリリースしました

2 min読了の目安(約1400字TECH技術記事

概要

形態素解析器 kagome v2 のモジュール構成がいろいろ間違っていたので修正して v2.1.0 をリリースしました。

相互に依存するモジュールを管理するの無理

kagome v2 では解析部分と辞書と分離して辞書を管理しやすくしてみたのですが、解析部分のコードも辞書に張り付いているため、解析部分のバージョンと辞書のバージョンを同時に更新しないとずるずると古いモジュールを参照してしまうという問題がありました

コードを書きながら切に思ったのですが、依存関係にある2つのモジュールのバージョンを同時に上げるのはやはり無理があります。というのも、手元で go mod tidy して依存関係を解決するとき、Go は GitHub 上のモジュールを参照するので、go mod tidy を利用してモジュールを管理できなくなってしまいます。

やはり人類には閉路を含むグラフははやすぎたんだ・・・という気分になります。

結局、依存関係が非巡回グラフになるように辞書部分を切り分けるようにモジュール構成を変更し v2.1.0 をリリースしました。v2系でこれより古いのを利用していたら切り替えて頂けるといいかなと思います。

依存関係

依存関係もスッキリしました

おまけ

kagome用の Neologd辞書と韓国語辞書も更新してあります。

Dictionaris

dict source package
MeCab IPADIC mecab-ipadic-2.7.0-20070801 github.com/ikawaha/kagome-dict/ipa
UniDIC unidic-mecab-2.1.2_src github.com/ikawaha/kagome-dict/uni

Experimental Features

dict source package
mecab-ipadic-NEologd mecab-ipadic-neologd github.com/ikawaha/kagome-ipa-neologd
Korean MeCab mecab-ko-dic-2.1.1-20180720 github.com/ikawaha/kagome-dict-ko

Happy hacking!