ramenjunitiメモ

自分なりに調べたものをまとめたり、文章を書く練習したり

Julia + MeCabのDockerfile書いた

これです

hub.docker.com

github.com

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のライブラリを利用することも可能です