LoginSignup
1
3

More than 3 years have passed since last update.

Jupyter notebookでsisterを使った自然言語処理の開発環境をDockerで構築する

Last updated at Posted at 2020-06-07

概要

コマンド2行で、jupyter notebookと自然言語処理のライブラリsisterを使っての開発環境が起動します。

普通に設定すると、Docker起動毎に、sisterの辞書ダウンロードが発生するので、辞書データを 永続化 する設定を加えた docker-compose.yml を書きました。

きっかけ

ふだんはRubyメインの開発で、pythonは自然言語処理をする時にしか触らない。
開発環境の構築で楽をしたいので、すぐに使えるrepositoryをつくりました。

コード

使い方

  • dockerをインストール

  • dockerのメモリを増加

    • これしないとsisterが使えません。
    • Docker preferences -> Resources
    • >= 6.00 GB to Memory.
    • image.png
  • ダウンロード

好きなところでレポジトリをクローンします。

git clone https://github.com/junara/docker_sister_jupyter.git

フォルダに移動します。

cd docker_sister_jupyter
  • 始める
docker-compose build
docker-compose up -d
  • 終了する
docker-compose down

いやー、Dockerだと簡単ですね。

確認

http://localhost:8888/?token=jupyter にアクセスしてください。

image.png

sampleは以下です。 http://localhost:8888/notebooks/work/SampleEnglish.ipynb

      import sister

      sentence_embedding = sister.MeanEmbedding(lang="ja") # Need long time to download data at first time.

      sentence = "私はうさぎです。"
      vector = sentence_embedding(sentence)

      print(vector)

こんなかんじ
image.png

解説

sisterのcahceを以下でlocalに volumesで永続化しています。これで、docker環境作り直し毎の辞書のダウンロードが発生しなくなります。

docker-compose.yml
    volumes:
      - ./cache/.sister:/home/jovyan/.sister:delegated

Dockerfileはこんなかんじ。 jupyter/scipy-notebook をベースにして require.txt でライブラリを追加できるようにしています。

FROM jupyter/scipy-notebook
COPY requirements.txt /home/jovyan
RUN pip install -r /home/jovyan/requirements.txt

require.txtにsisterを追加してインストールされるようにしています。追加のライブラリがありましたらこちらにいれてください。 docker-compose exec jupyter pip install -r /home/jovyan/requirements.txt をすれば追加のライブラリをインストールされます。

require.txt
sister

以上。

1
3
0

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