LoginSignup
3
7

More than 5 years have passed since last update.

heroku-buildpack-mecabで独自辞書を使う

Posted at

tl;dr

Procfileに良い感じに書くとok

環境

HerokuにおけるProcfile

Procfileは1行しか書けませんが、bashを起動することによって複数コマンドを実行することができます。

$ cat Procfile
bot: bash heroku_exec.sh

$ cat heroku_exec.sh
/app/vendor/mecab/libexec/mecab/mecab-dict-index -d /app/vendor/mecab/lib/mecab/dic/ipadic -u original.dic -f utf-8 -t utf-8 dic.csv
mv original.dic /app/vendor/mecab/lib/mecab/dic/ipadic/

echo "userdic = /app/vendor/mecab/lib/mecab/dic/ipadic/original.dic" >> /app/vendor/mecab/lib/mecab/dic/ipadic/dicrc

/app/vendor/bundle/ruby/2.4.0/bin/bundle exec ruboty

※最後の1行は皆さんの環境に合わせて変更してください

このように書いてユーザー辞書をdic.csvとしてリポジトリに含んでおくと、勝手にユーザー辞書として反映されます。

実際に動いているリポジトリはこちらです。

利点

Herokuに辞書を置く

辞書作成は意外とコマンドが長くて面倒なのですが、この辺の扱いを気にせずCSVを書けば良いだけなので非常に楽です。

gitで管理できる

GitHubなどのgitホスティングサービスを使って管理していると、Pull Requestベースで管理出来たりと便利です。

実際にはこのようなPRが飛んでくる想定です。

まとめ

  • Procfileはshellを開けばなんでも書ける
  • MeCab独自辞書をHerokuで管理するの結構楽
  • 良い形態素解析ライフを
3
7
2

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
3
7