:orphan: .. _install_pygeonlp_docker: インストール手順 (Docker) ========================= ここでは Docker 環境 に pygeonlp をインストールする手順を示します。 事前準備 -------- OS に合わせて `Docker Desktop `_ または `Docker Server `_ をインストールしてください。 Docker Desktop for Windows, Docker Desktop for Mac (macOS), Docker Server for Ubuntu で動作確認済みです。 Dockerfile を作成 ----------------- 空のフォルダを作成し、その中にテキストエディタで 以下の内容を含む Dockerfile を作成します。 .. code-block:: docker FROM osgeo/gdal:ubuntu-full-3.6.3 # このイメージは "Ubuntu 22.04.2 LTS" を拡張しています。 # アクセスできなくなっているリポジトリを削除します。 RUN rm /etc/apt/sources.list.d/apache-arrow.sources # 必要なライブラリ・パッケージをインストールします。 RUN apt-get update && apt-get install -y \ libmecab-dev \ mecab-ipadic-utf8 \ libboost-all-dev \ libsqlite3-dev \ curl \ python3 \ python3-dev \ python3-pip # pygeonlp と基本辞書セットをインストールします。 RUN python3 -m pip install pygeonlp && pygeonlp setup Docker イメージを作成 --------------------- 作成した Dockerfile があるフォルダで `docker build `_ を実行し、イメージを作成します。 **-t** は作成したイメージに 名前タグを付けるオプションです。 :: % docker build -t pygeonlp_image . コンテナを生成して実行 ---------------------- `docker run `_ を実行し、作成したイメージからコンテナを作成して bash を実行します。 **--name** は作成したコンテナに名前を付けるオプションです。 **-it** はコンテナに仮想端末を割り当てます。 :: % docker run --name pygeonlp -it pygeonlp_image bash root@75243c7b8ddd:/# 動作確認のため **pygeonlp geoparse** を実行し、 地名を含む日本語テキストを入力してみてください。 :: root@75243c7b8ddd:/# pygeonlp geoparse 渋谷じゃなくて新宿に行こう。 渋谷 名詞,固有名詞,地名語,RCU4nF:渋谷駅,*,,渋谷,, 鉄道施設/鉄道駅,RCU4nF,渋谷駅,139.70258433333333,35.659098666666665 じゃ 助詞,副助詞,*,*,*,*,じゃ,ジャ,ジャ なく 助動詞,*,*,*,連用テ接続,特殊・ナイ,ない,ナク,ナク て 助詞,接続助詞,*,*,*,*,て,テ,テ 新宿 名詞,固有名詞,地名語,8A8y00:新宿駅,*,,新宿,, 鉄道施設/鉄道駅,8A8y00,新宿駅,139.70059,35.69244 に 助詞,格助詞,一般,*,*,*,に,ニ,ニ 行こ 動詞,自立,*,*,未然ウ接続,五段・カ行促音便,行く,イコ,イコ う 助動詞,*,*,*,基本形,不変化型,う,ウ,ウ 。 記号,句点,*,*,*,*,。,。,。 EOS **Ctrl+D** を押して EOF を送信するとシェルプロンプトに戻ります。 **exit** でコンテナを終了します。 :: root@75243c7b8ddd:/# exit もう一度このコンテナを実行したい場合は `docker start `_ で起動します。 :: % docker start -a -i pygeonlp root@75243c7b8ddd:/# 以上でインストール完了です。 コンテナとイメージの削除 ------------------------ コンテナが不要になった場合は `docker rm `_ コマンドで削除します。 :: % docker rm pygeonlp イメージが不要になった場合は `docker rmi `_ コマンドで削除します。 :: % docker rmi pygeonlp_image パイプ処理 ---------- pygeonlp コンテナをパイプとして利用したい場合は、次のように **docker run** に **--rm** オプションを付けて実行し、 処理が終わったコンテナを自動的に削除するようにします。 :: % echo "目黒駅は品川区にあります。" | docker run --rm -i pygeonlp_image pygeonlp geoparse > result.txt % cat result.txt 目黒駅 名詞,固有名詞,地名語,Xy26iV:目黒駅,*,*,目黒駅,, 鉄道施設/鉄道駅,Xy26iV,目黒駅,139.71566,35.632485 は 助詞,係助詞,*,*,*,*,は,ハ,ワ 品川区 名詞,固有名詞,地名語,kEAYBl:品川区,*,*,品川区,, 市区町村,kEAYBl,品川区,139.73025000,35.60906600 に 助詞,格助詞,一般,*,*,*,に,ニ,ニ あり 動詞,自立,*,*,連用形,五段・ラ行,ある,アリ,アリ ます 助動詞,*,*,*,基本形,特殊・マス,ます,マス,マス 。 記号,句点,*,*,*,*,。,。,。 EOS .. note:: Windows 環境で Docker を利用している場合、文字コードとして UTF-8 を指定しないと文字化けすることがあります。 拡張機能対応 ------------ 上記の Dockerfile は最小限の機能を持つイメージを作成します。 実際に利用する際は追加の :ref:`cli_add_dictionary` したり、 :ref:`link_jageocoder` や :ref:`link_neologd` が必要になる場合があります。 これらの機能を含めたイメージを作成するための Dockerfile のサンプルを示しますので、必要に応じてカスタマイズして ご利用ください。 .. literalinclude:: ../../Dockerfile :language: docker