読者です 読者をやめる 読者になる 読者になる

CabochaとComainuをDockerで動かす

下の記事を見て、研究とかで使われるツールでちょっとインストールとかが複雑なものはもうDockerで配布したほうがいいのかなと思った。
専門用語を自動抽出するTermExtractをDockerで簡単に使えるようにしました - CreateField Blog

なので、試しにCabochaとComainuをDockerで動かせるようにしてみた。

Cabocha(日本語構文解析器)

Cabochaのインストールはそんなに複雑じゃないけど、--enable-utf8-only(CabochaというかMeCabだけど) みたいなの毎回気にしなくて良くなくなる。
今回は辞書にはUnidicを利用

docker pullして

$ docker pull skozawa/cabocha-unidic

docker runすればCabochaが使えるようになる。

$ echo "太郎は花子が読んでいる本を次郎に渡した" | docker run -i skozawa/cabocha-unidic cabocha
    太郎は---------D
      花子が-D     |
    読んでいる-D   |
            本を---D
            次郎に-D
              渡した
EOS

MeCabも入ってるからMeCabも使える

$ echo "太郎は花子が読んでいる本を次郎に渡した" | sudo docker run -i skozawa/cabocha-unidic mecab   
太郎	タロー	タロウ	タロウ	名詞-固有名詞-人名-名		
は	ワ	ハ	は	助詞-係助詞		
花子	ハナコ	ハナコ	ハナコ	名詞-固有名詞-人名-名		
が	ガ	ガ	が	助詞-格助詞		
読ん	ヨン	ヨム	読む	動詞-一般	五段-マ行	連用形-撥音便
で	デ	テ	て	助詞-接続助詞		
いる	イル	イル	居る	動詞-非自立可能	上一段-ア行	連体形-一般
本	ホン	ホン	本	名詞-普通名詞-一般		
を	オ	ヲ	を	助詞-格助詞		
次郎	ジロー	ジロウ	ジロウ	名詞-固有名詞-人名-名		
に	ニ	ニ	に	助詞-格助詞		
渡し	ワタシ	ワタス	渡す	動詞-一般	五段-サ行	連用形-一般
た	タ	タ	た	助動詞	助動詞-タ	終止形-一般
EOS

https://registry.hub.docker.com/u/skozawa/cabocha-unidic/

Comainu(中・長単位解析器)

Comainuは依存ツールが結構あってインストールするの面倒なので、Dockerで使えると便利な気がする。

こっちもdocker pullしてrunすれば使える。

$ docker pull skozawa/comainu

XML版のUnidic2がまだ公開されてない影響で標準エラーにメッセージだしてるので、-a stdin -a stdout だけ指定して、stderrは出力しないようにしてる。

$ echo "固有名詞に関する論文を執筆した" | docker run -i -a stdin -a stdout skozawa/comainu comainu plain2longout
B    固有    コユー     コユウ  固有    名詞-普通名詞-形状詞可能                        名詞-普通名詞-一般      *       *       コユウメイシ    固有名詞        固有名詞
        名詞    メーシ  メイシ  名詞    名詞-普通名詞-一般                      *       *       *       *       *       *
        に      ニ      ニ      に      助詞-格助詞                     助詞-格助詞     *       *       ニカンスル      に関する        に関する
        関する  カンスル        カンスル        関する  動詞-一般       サ行変格        連体形-一般     *       *       *       *       *       *
        論文    ロンブン        ロンブン        論文    名詞-普通名詞-一般                      名詞-普通名詞-一般      *       *       ロンブン        論文    論文
        を      オ      ヲ      を      助詞-格助詞                     助詞-格助詞     *       *       ヲ      を      を
        執筆    シッピツ        シッピツ        執筆    名詞-普通名詞-サ変可能                  動詞-一般       サ行変格        連用形-一般     シッピツスル    執筆する        執筆し
        し      シ      スル    為る    動詞-非自立可能 サ行変格        連用形-一般     *       *       *       *       *       *
        た      タ      タ      た      助動詞  助動詞-タ       終止形-一般     助動詞  助動詞-タ       終止形-一般     タ      た      た
EOS

https://registry.hub.docker.com/u/skozawa/comainu/


ちょっとインストールとか設定が面倒なツールとかはDockerにして配ればちょっと試したいくらいのときにも気軽に使えるしよさそう。ツール使いたいだけなのに、インストールに手間取って時間とられるのは不毛だし、どんどんDockerでも配布されるようになればいいんじゃないかと思った。まあ、ディスクサイズとられるのがちょっと辛いけど。