Julia + MeCabのDockerfile書いた
これです
Dockerfileの中身はこんな感じ
FROM julia:latest RUN apt-get update \ && apt-get install -y mecab \ && apt-get install -y libmecab-dev \ && apt-get install -y mecab-ipadic-utf8\ && apt-get install -y git\ && apt-get install -y make\ && apt-get install -y curl\ && apt-get install -y xz-utils\ && apt-get install -y file\ && apt-get install -y sudo\ && apt-get install -y wget RUN git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git\ && cd mecab-ipadic-neologd\ && bin/install-mecab-ipadic-neologd -n -y\ && cd ..\ && rm -r mecab-ipadic-neologd RUN julia -e 'using Pkg; Pkg.add("PyCall")' RUN julia -e 'ENV["PYTHON"]="/root/.julia/conda/3/bin/python"' ENV PATH="/root/.julia/conda/3/bin:$PATH:${PATH}" RUN pip install mecab-python3
辞書はmecab-ipadic-neologdを利用できるようにしました
以下のJuliaを食わせると
using PyCall MeCab = pyimport("MeCab") mecab = MeCab.Tagger("-d /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd -Owakati") println(mecab.parse("私はラーメンを食べたい。"))
ちゃんと分かち書きしてくれます
私 は ラーメン を 食べ たい 。
MeCab以外でもPyCall
が入っているのでpip
で何か欲しいものを入れてあげれば、Julia側でPythonのライブラリを利用することも可能です