🙆

MeCab + ipadic-NEologd + JupyterLabが動かせるDockerfileを構築する

2022/12/02に公開

1. 経緯

自学習で感情分析をしようとした際、WindowsにMeCabをインストールするのに心が折れたので、テキトーにubuntu内にMeCabとipadic-NEologdをインストールして、かつPythonも使える環境を作りました。試す程度であればこの構築で十分でした。
備忘録として残します。

2. Dockerfile

FROM ubuntu:latest

# 必要ライブラリのアップデートとインストール
RUN apt-get -y update && apt-get install -y \
    sudo \
    wget \
    vim \
    git \
    file \
    mecab \
    libmecab-dev \
    mecab-ipadic-utf8 \
    curl \
    make \
    xz-utils \
    gcc

# Anacondaのインストール
WORKDIR /opt
# download anaconda package and install anaconda
# archive -> https://repo.continuum.io/archive/
RUN wget https://repo.anaconda.com/archive/Anaconda3-2019.10-Linux-x86_64.sh && \
    sh /opt/Anaconda3-2019.10-Linux-x86_64.sh -b -p /opt/anaconda3 && \
    rm -f Anaconda3-2019.10-Linux-x86_64.sh
# パスの指定
ENV PATH /opt/anaconda3/bin:$PATH

# pipのアップグレード
RUN pip install --upgrade pip

# neologdのダウンロードとインストール
RUN git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git
RUN echo yes | mecab-ipadic-neologd/bin/install-mecab-ipadic-neologd -n && ln -s /etc/mecabrc /usr/local/etc/mecabrc

# MeCabの辞書登録に使うnkfのインストール
RUN wget 'https://ja.osdn.net/frs/redir.php?m=jaist&f=nkf%2F70406%2Fnkf-2.1.5.tar.gz' -O nkf-2.1.5.tar.gz && \
    tar -zxvf nkf-2.1.5.tar.gz && \
    cd nkf-2.1.5 && \
    make && \
    make install

WORKDIR /
RUN mkdir /work

# jupyterlabを実行
CMD ["jupyter", "lab", "--ip=0.0.0.0", "--allow-root", "--LabApp.token=''"]

3. コンテナの構築

ipynbファイルなどコンテナと共有したいファイルがあったため、マウントしています。

# docker build -t mecab-env
# docker run -d -p 8888:8888 -v [your-directory]:/work --name mecab-env mecab-env

4. その他

辞書登録したい際は以下の記事を参考にするといいと思います。とてもわかりやすかったです。
MeCab + neologd 辞書環境でユーザ辞書を追加する

5. 感想

意外に簡単に構築できてびっくり。
あと、neologd更新はもうされないのかな...(遠目)

Discussion