kagomeでNeologdを無理矢理つかう

概要

サポートしてるわけでもないし,テストしてるわけでもないんだけど,Hackしてくれるひとがいるみたいだからメモ.なにかあったらフィードバックしてくれるとうれしいです.

個人的な考えですけど,今時点でneologdをサポートするのはちょっと躊躇してます.

理由は

  • Neologdに含まれてるエントリーは英アルファベットがいわゆる半角に寄せられてて mecab 用の辞書と統一が取れてない
  • 短めのエントリーが割とあって,精度に影響が出そうな気がする.適当な長さで切った方がよさそうだけど実験出来てないし,よくわからない
  • カテゴリ分けされてないので地名だけ加えるとかできない
  • めっちゃ長いエントリーとか,断片的な年月日とか不要そうなエントリーが結構ある(解析的な悪さはしないかもだけど

といったところです.でも世の中的には使いたい人も結構いるみたいだからやっぱり対応は考えていきたい.

いいかげんな手順

準備

  • kagome を go get する
  • kagome/cmd/_dictool というディレクトリがあるのでそこで以下を作業する
    • mecab の辞書を持ってきて解凍しておく(以下,フォルダ名は mecab-ipadic-2.7.0-20070801 と仮定)
    • neologd のリポジトリを clone する
    • neologd/seed/mecab-user-dict-seed.YYYYMMDD.csv.xz というファイルがあるので解凍しておく

ビルド

$ go run main.go ipa -mecab mecab-ipadic-2.7.0-20070801 -neologd mecab-ipadic-neologd/seed/mecab-user-dict-seed.20160418.csv

フォルダに ipa.dic というファイルが出来ます(手元では140MBくらいでした). コマンドではファイル名が決め打ちになってしまっているので,適当に名前を変えて下さい.

使う

$ kagome -dic ipa.dic

覚え書き

neologd/seed の中にはいくつかファイルがあるけど,user-dict-seed しか想定してない.適当にマージしてひとつのファイルにしておけばツールに食わせられると思う.

Happy Hacking!

追記

ということなので、mecab-ipadic の方にNeologdのパッチを当ててから辞書をビルドするのが良さそう。(未検証)