結局色々問題があってVPSに移しました。他の用途でNEologd入りの環境があったのでそこで動かしています。しばらくこれで様子をみます。
(追記ここまで)
mastodon上で俳句を検出するbotを作ったのでHerokuで動かしています(@find575@theboss.tech、GitHub)。動かす際にMeCabを使うので、このあたりを参考にして入れました。
しかしどうも語彙が足りないようなので、いつもお世話になっているmecab-ipadic-NEologdをなんとか入れたので覚え書きを。
ググってみるとknjcode/heroku-buildpack-mecab-ipadic-neologdというのが見つかったのでbuildpacksに追加してデプロイしました。が、どうもうまく入らなかったのでforkされたリポジトリのうちで最も新しかったcalled-d/heroku-buildpack-mecab-ipadic-neologdを使ってみたところ、表示がおかしかったりしましたがなぜかちゃんと入りました。
mecab gemとか使う場合は-d /app/.linuxbrew/lib/mecab/dic/mecab-ipadic-neologd
とか渡してやれば良いのですが、今回使ったのはnattoだったのでよく分からず、mecabrcを書き換えることにしましたが、Herokuではファイルを変更しても戻ってしまうのでdynosで実行する際に毎度変更することにしました。
Procfileは1行しか書けないですがbashを起動すれば複数のコマンドを実行できるようです。以下のように書きました。参考程度に
bot: bash start.sh
sed -i -e 's/ipadic/mecab-ipadic-neologd/g' .linuxbrew/etc/mecabrc
bundle exec ruby main.rb
以上でmecab-ipadic-NEologdが使えるようになりました。おかげでbotの語彙力が増えました。
しかし、「古池や蛙飛び込む水の音」が「フルイケ, ヤ, カエル, トビコミ, ムスイ, ノ, オト」になってしまったりで575と認識されなくなってしまったので、文字数を数えるにはどうかなぁ🤔という感じです。
うーん🤔何かいい方法をご存知の方は教えてください。