JupyterLabによる分析環境の構築こんにちは、分析チームの門脇です。日頃クリエイターに関するデータ分析業務を行う際、環境ごとのライブラリの管理が面倒だったり、形態素解析エンジンの導入、notebookの設定をやり直す必要があるなど何かと不便でした。そこで今回は、Dockerを利用して、簡単にクリエイター分析環境を構築してみました。DockerについてDockerはコンテナ型の仮想化環境のことで、Dockerfileに仮想環境に取り入れたいものの処理を記述することで、簡単に同一環境を再現でき、環境ごとに設定をやり直さなくて済むといったメリットがあります。Dockerによる環境構築ついて詳しく知りたい方はこちらにわかりやすくまとめられています。今回は記事の中でも紹介されているKaggleが提供しているDockerイメージをベースにDokerfileを作成していきます。MeCabについてクリエイターについて分析を行う際に、テキストデータを単語ごとに分割して関連ワードを取得したいことがあります。MeCabは日本語の形態素解析エンジンの中では最もよく使用されていて、mecab-ipadic-NEologdというシステム辞書があり、新語・固有表現に強い単語を分割する際に有効です。ハローYouTube、どうもヒカキンです!』を調べてみます。MeCab標準辞書のとき『ブンブンハローYouTube』についてブンブンハローYouTubeそれぞれ別の単語として認識されてしまいます。mecab-ipadic-NEologdのとき『ブンブンハローYouTube』として固有名詞として分割でき、『ヒカキン』も固有名詞として認識されます。日々新しい用語が生まれるYouTubeにおいて、mecab-ipadic-NEologdを使うことで、簡単に対応することができます。notebook』の後継機のIDEで、オープンソースとして公開されています。notebook』をより使いやすくしたものであり、こちらで便利機能が詳しく紹介されています。自分好みに拡張機能を追加することができ、作業効率を上げることができます。実際にDockerfileへ拡張機能の導入を取り入れてみました。jupyterlab_code_formatterKaggleが提供しているDockerイメージは最新のものを指定しています。(2019/10/17時点)また、こちらから適宜最新のイメージを確認していただければと思います。mecab-ipadic-NEologdのインストールはこちらに記載されているライブラリを入れます。mecab-python3もインストールします。JupyterLabの拡張機能の利用についてはNode.jsが必要となるのでインストールします。今回は個人的に便利だと思ったものを拡張機能としてインストールしています。labが起動するよう設定しています。下記コマンドで、コンテナを作成して、起動します。--buildを指定することで事前にイメージを作成してくれます。--buildするとコンソール上に結果が表示されます。あとはホスト名をlocalhostにして、ブラウザでログインするだけです。MeCabをPythonで使うとき辞書のインストール先はJupyterLab上で下記コマンドにより確認できます。--dicdir`"/mecab-ipadic-neologd"今回は、/usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologdにインストールされたことが確認できたのでコードを書く際は、インストール先を指定します。/usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd')print(tagger.parse('ブンブンハローYouTube、どうもヒカキンです!'))すると、先ほど示した例のようなmecab-ipadic-NEologdを使用したときの結果が出力されます。まとめDockerを利用することで自分好みの分析環境をサクッと作れちゃいます。Design(デザインブログ)はてなブログをはじめよう!uuum-staffさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。