Azure Machine Learningで自然言語解析をやってみた - 環境構築

#はじめに

本記事では、[Azure Machine Learning][AzureML] を利用して自然言語解析を行うために必要となる、Notebook 環境の構築を行います。
*※Azure Machine Learning Services の話ではありません。*

#Azure Machine Learning とは

Azure Machine Learning については、こちらの資料が参考になると思います。
[Azure Machine Learning アップデートセミナー 20191127](https://www.slideshare.net/keitaonabuta/azure-machine-learning-20191127) - SlideShare

![Azure Machine Learning アップデートセミナー 20191127][Azure_Machine_Learning_アップデートセミナー_20191127]


##旧 Azure Machine Learning Studio について

こちらは、2020/1/28 現在でも、これまで同様、利用可能となっています。
ただし、名称については **Azure Machine Learning Studio (classic)** へ変更になっているため、注意してください。
\(クラシックと聞くと、昔の Azure を思い出してしまいますね...\)

[Azure Machine Learning Studio (classic)](https://studio.azureml.net/)

#環境情報

本記事に記載の作業については、以下の環境にて実施しています。

```:OS環境
- OS: macOS Catalina 10.15.2
- ブラウザ: Google Chrome Version 79.0.3945.130 （Official Build） （64 bit）
```


#開発環境構築

Azure Machine Learning の環境を作成します。

##リソースの作成

Azure Portal より、\[リソースの作成\] を選択します。
![azure_portal_20200127.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/348116/212bfb12-53df-096b-58c6-b4c7a3ca4319.png)

Azure Marketplace のカテゴリより、\[AI + Machine Learning\] を選択します。
\[Machine Learning\] を選択します。

![azure_create_hub.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/348116/761d3605-ebfc-31d3-0014-1315c39f0cb9.png)

\[メイン\] タブにて、以下の情報を入力します。
入力後、\[確認および作成\] を選択します。

```:入力
- ワークスペース名: <任意のワークスペース名>
- サブスクリプション: <任意のサブスクリプション>
- リソースグループ: <任意のリソースグループ>
- 場所: <任意のリージョン>
- ワークスペースのエディション: Basic または Enterprise
```

![azure_ami_create_main.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/348116/b179a258-69c0-c7bc-e8b1-ade7c17c42a2.png)

ワークスペースのエディションに Basic と Enterprise の違いについては、[Azure Machine Learning の価格][AzureMLCost] を参照してください。
Basic エディションでは Automated ML や Designer は利用できません。逆に Notebook のみ利用の場合は Basic を選択でも問題ありません。

<img width="1196" alt="diff_ami_edition_basic_enterprise.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/348116/61e5a660-560e-17a5-6802-7b7339e95dbe.png">


\[レビュー\] タブにて、入力内容を確認します。
問題なければ、\[作成\] を選択し、リソースを作成します。

![azure_ami_create_review.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/348116/9d85d64f-d120-8c77-9c3a-6b56f9e5919c.png)

デプロイが完了したら、\[リソースに移動\] を選択します。

![azure_ami_deployed.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/348116/35638a54-98d1-424d-7ffa-4261fd1f27d3.png)

デプロイしたリソースの \[概要\] ページにある \[新しい Azure Machine Learning Studio を試す\] 欄より、\[今すぐ起動する\] を選択します。

![azure_ami_overview.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/348116/da2c22e7-7e9f-d29b-b0db-dcec2b7871fb.png)

新しい Azure Machine Learning Studio のホーム画面が開くことを確認します。

![aml_studio_home.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/348116/31417d78-5756-dc84-decd-653f9a208a85.png)


## Notebook 用 VM の作成

Notebook 上で Python コードを動かすための 専用 VM を作成します。
VM を作成すると、課金が発生します。これは、Basic/Enterprise 共通の内容です。
VM の料金については、[Azure Machine Learning の価格][AzureMLCost] を参照してください。

メニューより、\[管理\] -> \[コンピューティング\] を選択します。
\[コンピューティング\] 画面にて、\[Notebook VM\] タブを選択し、\[新規\] を選択します。

![ami_studio_computing_notebookvm.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/348116/ad77e7ca-2667-b41e-bfa9-eba8adae7cfa.png)

\[新しいノードブック VM\] ウインドウが開きます。
以下の情報を入力し、\[作成\] を選択します。

```:入力
- ノートブック VM 名: <任意のノートブック VM 名>
- VM の種類: <作成する VM のサイズ>
```

![ami_studio_computing_notebookvm_new.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/348116/8cd0b1e2-89cd-a795-96c6-aa05e13e26d5.png)

VM のデプロイ完了後、状態が \[実行中\] になっていることを確認します。

![ami_studio_computing_notebookvm_created.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/348116/416e51ca-a585-06c0-077e-423e5320878b.png)

### 2020/02/04 追記

現時点で Notebook VM を以下のリージョン以外で作成した場合、画面上に \[レガシ\] という表示が出ます。

- North Central US
- East US 2
- North Europe
- UK South

これは、Notebook VM が新しく、**Azure Machine Learning コンピューティングインスタンス** にサービス内容を変更していっていることが原因です。日本リージョンでは、現時点ではまだコンピューティングインスタンスに対応していないため、\[レガシ\] の表示が出る模様です。

![ami_studio_computing_notebookvm_legacy.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/348116/8c9d930e-13c5-430e-b092-84da1fa09fce.png)

詳細については、[Microsoft Docs][AzureMachineLearningConceptComputeInstance] を参照してください。


## 稼働確認

メニューより、\[ノートブック\] を選択します。
フォルダのアイコンを選択し、新しくディレクトリを作成します。

![ami_notebook_home.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/348116/999ebfb7-299d-4295-bcd7-b09ddfda4b22.png)

\[ユーザー ファイル\]のルートディレクトリが作成されていると思いますので、その直下に \[Samples\] フォルダを作成します。

![ami_notebook_create_folder.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/348116/721e7ee2-2558-8474-7214-91fd3c819c85.png)

ファイルのアイコンを選択し、新しい Python Notebook を作成します。
以下の情報を入力し、\[作成\] を選択します。

```:入力
- ファイル名: <任意のファイル名>.ipynb
- ファイルの種類: Python Notebook
- ターゲットディレクトリの選択: 先ほど作成した Samples フォルダを選択
```

![ami_notebook_create_file_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/348116/ab6901e4-1dd5-2c70-80e0-825b4154a2bf.png)

![ami_notebook_create_file_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/348116/476092c7-44db-fa63-8ae6-523c570245be.png)

作成した Python Notebook のファイルが開くことを確認します。
Jupyter Notebook のセルと同じ画面が表示されます。

![ami_notebook_newbook.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/348116/3556a5e7-4cc0-ab45-c6a7-11572bef96bd.png)

セルに以下のコードを入力し、実行後、正常に動作することを確認します。

```python:operation-confirmation.ipynb
print("Hello Azure Machine Learning Notebook!")
```

![ami_notebook_demo.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/348116/50b10de9-7756-f581-a614-63ad54e18111.png)


# 終わりに

今回は、Azure Machine Learning 上に Notebook VM を作成して、自然言語解析を行うための Notebook 環境を作成しました。次回は、作成した Notebook 環境を使って、自然言語解析を行うためのデータ収集を行いたいと思います。


#参考情報

## Microsoft

- [Azure Machine Learning][AzureML]
- [Azure Machine Learning の価格][AzureMLCost]
- [Azure Machine Learning とは][AboutAzureMachineLearning] - Microsoft Docs
- [Azure Machine Learning コンピューティング インスタンスとは][AzureMachineLearningConceptComputeInstance] - Microsoft Docs

## SlideShare

- [Azure Machine Learning アップデートセミナー 20191127][Azure_Machine_Learning_アップデートセミナー_20191127]





[AzureML]:https://azure.microsoft.com/ja-jp/services/machine-learning/
[AzureMLCost]:https://azure.microsoft.com/ja-jp/pricing/details/machine-learning/
[AboutAzureMachineLearning]:https://docs.microsoft.com/ja-jp/azure/machine-learning/overview-what-is-azure-ml
[AzureMachineLearningConceptComputeInstance]:https://docs.microsoft.com/ja-jp/azure/machine-learning/concept-compute-instance

[Azure_Machine_Learning_アップデートセミナー_20191127]:https://image.slidesharecdn.com/azuremlserviceigniteupdatev1-191127063328/95/azure-machine-learning-20191127-1-638.jpg?cb=1574836481