WEB+DB PRESS (ウェブDBプレス) Vol.100「第2章 自然言語処理」(P.24)をやってみた

WEB+DB PRESS Vol.100(技術評論社)の「第2章 自然言語処理」(P.24)をやってみました。

  • 記事の内容や、操作を理解するための概念などは、このページには書きません。上のリンクから雑誌を購入してご覧ください。

Dockerコンテナの準備

「第2章 自然言語処理」(P.24)では、1ページの半分程度(約30行)の内容で、具体的な手順は省略されています。そこで、Docker for Windowsを使用する場合の手順をまとめてみたら、印刷して20ページ弱の大作になりました。

せっかくの内容にもかかわらず、準備でつまづくのは残念すぎますので、この記事で具体的な操作を紹介します。みなさんの自然言語処理の足掛かりになることを祈ります。

Docker for Windowsのインストール

Docker(ドッカー)についてざっくりとした説明もありますので、一読すると良いかもしれません。

Docker(ドッカー)を勉強して説明してみた

まずは、Windows 10にDocker for Windowsをインストールしましょう。

  1. https://docs.docker.com/docker-for-windows/install/#download-docker-for-windowsにアクセスします。
  2. 「Get Docker for Windows (Stable)」をクリックします。

    「Docker for Windows Installer.exe」がダウンロードされます。
  3. ダウンロードされた「Docker for Windows Installer.exe」をダブルクリックします。

    Docker for Windowsのインストールが始まります。
  4. インストールが終了したら「Close」をクリックします。
  5. デスクトップに作成された「Docker for Windows」をダブルクリックします。

    Windows 10のHyper-Vが無効になっている場合は、以下のメッセージが表示されます。
  6. メッセージを確認して「Ok」をクリックします。

    Windows 10が再起動して、Hyper-Vが有効になります。なお、Hyper-Vを有効にすると、VirtualBoxが動作しなくなりますので注意してください。
    VirtualBox

    VirtualBox

    はてブ数
    VirtualBox is a powerful x86 and AMD64/Intel64 virtualization product for enterprise as well as home use.
  7. 再起動後、タスクバーの通知領域に「」が表示されていることを確認します。
    マウスポインタを合わせて、「Docker is running」と表示されていれば、次に進みましょう。

雑誌記事のソースコードのダウンロード

次に、WEB+DB PRESS Vol.100 サポートページから、ソースコードをダウンロードしましょう。

  1. WEB+DB PRESS Vol.100 サポートページにアクセスします。
  2. 「ソースコード」をクリックします。

    「WDB100-toku1-AI.zip」がダウンロードされます。
  3. 「WDB100-toku1-AI.zip」を任意のフォルダに解凍します。
    ここでは、「D:\WDB100-toku1-AI」フォルダに解凍しました。
    解凍ツールによっては、「02\wikipedia_言語.txt」など全角文字を含むファイルの名前が文字化けする場合があります。その場合は、CubeICEのように文字化けのトラブルが起こりにくいツールを使うと良いでしょう。
    無料 圧縮・解凍ソフト CubeICE

    無料 圧縮・解凍ソフト CubeICE

    はてブ数
    Mac等の他のOSで作成された圧縮ファイルを 解凍する時に起こりがちな「文字化け」のトラブルも減少し、わずらわしさを感じる事なくデータを扱う事...

Dockerコンテナからホストのフォルダにアクセスするための準備

次に、「D:\WDB100-toku1-AI」フォルダにDockerコンテナからアクセスできるようにするための準備をします。具体的には、ファイアウォール(ここでは、ノートンインターネットセキュリティ)の設定と、Docker for Windowsの設定を変更します。

  1. ノートンインターネットセキュリティを表示し、「設定」をクリックします。
  2. 「ファイアウォール」をクリックします。
  3. 「トラフィックルール」をクリックします。
  4. 「追加する」をクリックします。
  5. 「許可:このルールに一致する接続を許可します。」をクリックし、「次へ」をクリックします。
  6. 「その他のコンピュータからの接続」をクリックし、「次へ」をクリックします。
  7. 「下記のリストにあるコンピュータとサイトのみ」をクリックし、「追加する」をクリックします。
  8. 「ネットワークアドレスを使う」をクリックし、「ネットワークアドレス」に「10.0.75.0」、「サブネットマスク」に「255.255.255.0」を入力して、「OK」をクリックします。
  9. 「次へ」をクリックします。
  10. 「許可したいプロトコル」で「TCPとUDP」を選択し、「下記のリストにあるすべてのポートに一致する場合にのみルールを適用する」をクリックして、「追加する」をクリックします。
  11. 「リストにある既知のポート」と「ローカル」をクリックし、「445」の□をクリックして×を表示して、「OK」をクリックします。
  12. 「次へ」をクリックします。
  13. 「次へ」をクリックします。
  14. ルールの名前を入力し、「次へ」をクリックします。
  15. 「完了」をクリックします。
  16. 作成したルールをクリックし、「上に移動する」をクリックします。

    1回クリックすると、作成したルールが上に移動します。「上に移動する」を繰り返しクリックして、トラフィックルールの最上位に移動してください。
  17. 「適用する」をクリックします。

    これで、ノートンインターネットセキュリティの設定は終了です。続けて、Docker for Windowsの設定を変更します。
  18. タスクバーの通知領域に表示されている「」を右クリックし、「Settings」をクリックします。
  19. 「Shared Drives」をクリックします。
  20. 「D」の□をクリックし、チェックを付けて、「Apply」をクリックします。

    左下の●がオレンジ色になり、「Updating Drivers」と表示されます。

    設定が終了すると、●が緑色に戻り、「Docker is running」と表示されます。

Dockerコンテナのビルドと起動(および接続)

さて、ようやく、Dockerコンテナをビルドし、起動(および接続)します。

  1. 」をクリックし、「Windows PowerShell」→「Windows PowerShell」の順番にクリックします。
  2. 「cd D:\WDB100-toku1-AI」と入力し、Enterキーを押します。
  3. WEB+DB PRESS (ウェブDBプレス) Vol.100の「Dockerコンテナのビルドと起動」に記載されているコマンドの1行目を入力し、Enterキーを押します。
    なお、記載されているコマンドの先頭にある「$」は、入力しません。

    Dockerコンテナのビルドが始まります。

    ビルドが終了するまでしばらく待ちましょう。以下のようにときどき赤い文字が表示されるので、不安になります。
  4. Dockerコンテナのビルドが終了したら、WEB+DB PRESS (ウェブDBプレス) Vol.100の「Dockerコンテナのビルドと起動」に記載されているコマンドの2行目の「`pwd`」を「D:\WDB100-toku1-AI」に置き換えて入力し、Enterキーを押します。
    なお、記載されているコマンドの先頭にある「$」は、入力しません。

    Dockerコンテナが起動して接続され、以下のように表示されます。Python 3.6が使えそうな雰囲気ですね。

もし、Dockerコンテナのビルド中、以下のように「One of the configured repositories failed (Unknown),」と表示された場合は、Dockerコンテナのビルド中のyum updateに失敗しています。

この場合は、以下の記事を参考に対処してみてください。

Docker for Windowsのdocker buildでyumに失敗した場合の対処

Dockerコンテナの停止

Dockerコンテナを停止する操作も確認しておきましょう。

  1. 「exit」と入力し、Enterキーを押します。

    Dockerコンテナが停止し、以下のように表示されます。
  2. もう一度「exit」と入力し、Enterキーを押すと、Windows PowerShellが終了します。

Dockerコンテナの再開と接続

そして、停止したDockerコンテナを再開して、Python 3.6が使えそうな雰囲気に戻す操作も紹介します。

  1. 」をクリックし、「Windows PowerShell」→「Windows PowerShell」の順番にクリックします。
  2. 「docker ps -a」と入力し、Enterキーを押します。

    Dockerコンテナの動作状況が表示されます。
  3. Dockerコンテナの名前を確認します。
    ここでは、「wonderful_gates」が名前です。
  4. 「docker start wonderful_gates」と入力し、Enterキーを押します。
  5. 「docker attach wonderful_gates」と入力し、Enterキーを押します。

    再び、Python 3.6が使えそうな雰囲気になりました。

Dockerコンテナが不要になったときは

最後に、Dockerコンテナが不要になった(=この記事を利用しなくなった)ときのために、DockerコンテナとDockerイメージを削除する操作も紹介しておきましょう。ここでは、画面は割愛しますね。

  1. Windows PowerShellを起動し、「docker rm wonderful_gates」と入力して、Enterキーを押します。
    Dockerコンテナ「wonderful_gates」が削除されます。
  2. 「docker ps -a」と入力し、Enterキーを押します。
    Dockerコンテナ「wonderful_gates」が表示されないことが確認できます。
  3. 「docker images」と入力し、Enterキーを押します。
    Dockerイメージ「webdb100」が表示されることが確認できます。
  4. 「docker rmi webdb100」と入力し、Enterキーを押します。
    Dockerイメージ「webdb100」が削除されます。
  5. 「docker images」と入力し、Enterキーを押します。
    Dockerイメージ「webdb100」が表示されないことが確認できます。

以上で、DockerコンテナとDockerイメージが削除されました。Docker for Windowsも不要な場合はアンインストールします。Hyper-Vを無効にするのも忘れずに。

雑誌記事は、形態素解析に続きます。

WEB+DB PRESS (ウェブDBプレス) Vol.100「形態素解析」(P.26)をやってみた

1 Trackback / Pingback

  1. tx2xで機械学習用のデータを準備する – 有限会社ビートラスト

Comments are closed.