oneWEXの操作メモ_分類器⑴

#はじめに

こちらは、oneWEXの主要機能の一つ、分類器についての記事です。

#分類器とは

事前に定義されたクラスに自動的に文書を分類（クラス分け）する機能です。

以下、分類器を適用していないコレクションと適用したコレクションのContent Miner画面です。
適用したコレクションでは「分類」欄が表示されていることがわかります。

・適用していないコレクション
![スクリーンショット 2019-11-07 16.50.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/cddd691b-9568-efbb-847c-972de43a7cd0.png)

・適用したコレクション
![スクリーンショット 2019-11-07 16.50.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/6debe648-200a-f9f8-af3f-4fb7b52f014f.png)

#分類器の操作概略

1. 分類器の作成
あらかじめユーザーは教師データを用意し分類器に読みこませます。分類器内ではトレーニングが行われ文書の分類方法（クラス）を定義したモデルが作成されます。
このトレーニングはユーザーにはブラックボックスです。

2. 分類器の適用
ユーザーが、クラス分けが必要な新たなデータを読み込ませてコレクションを作成します。
分類器作成の際に作成されたコレクション・テンプレートを適用させることで、コレクション作成時に文書にクラス分けが適用されます。

![スクリーンショット 2019-11-07 16.56.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/02106e4f-5c08-4289-e57f-8f7af0e10f63.png)

#分類器の操作手順

以下、分類器の操作手順を説明します。

#### 分類器の作成
1.データのインポート

今回は、以下のような国土交通省のデータを教師データとして使用します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/beb87d2b-db70-ed76-8e6a-7f0cb753a8f5.png)

Admin Consoleをのリソースタブから分類器の「種別の追加」ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/49608552-2f28-3d58-5b5c-f242fd8d8b54.png)

分類器の名前を入力し「次へ」ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/69a47076-835e-ae9c-1689-a17d0323c8f0.png)

あらかじめ教師データとして準備したCSVファイルをインポートします。
ここでインポートしたデータは自動的にデータ・セットとして保存されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/814653dc-b790-8007-6110-a65e86d0c042.png)

各種設定を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/eb872bb4-8c47-4ec8-b759-6a0969ab4ef9.png)

下画面にスクロールし、プレビュー画面でデータが正常に読み込まれていることを確認し「次へ」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/333301d4-6430-2554-d07e-6ea0dd359df3.png)

インポートする列のデータのタイプを確認します（例えばreception dateは日付タイプ）。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/05c15481-3b48-e228-5a77-3ace657459ec.png)

インポートを開始し保存します（インポート完了まで数分かかることがあります）。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/f034a00d-087a-b01c-1200-352b520f23ed.png)

正解フィールドを「defective_device」に設定し「次へ」をクリックします。
この時作成されたコレクションテンプレートは、後のコレクション作成の際に使用します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/0f043202-29f5-792b-1ff3-06a26622a53b.png)

以下のように各フィールドを設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/91d9d41a-223e-c21e-0cc6-b3637fc58cf0.png)

下画面にスクロールし、トレーニング用のファセットとして使用するフィールドを選択します。
トレーニングにおいて学習させる必要のないデータはフィールドから外します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/545a716b-1ba4-6a92-9c69-0c3cb463db7c.png)

利用するアノテーターを選択し「次へ」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/41d4ccaa-e02f-94a9-d90f-4e6e9b9648e3.png)

分析用ファセットを確認します（ここでは初期値のままにしておきます）。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/d8e823dc-150d-2b34-ceb1-c2c8f9a031e3.png)

各種設定を確認し「保存」ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/083831eb-5a55-0f62-9308-76a6d3b5a0cf.png)


2.学習モデルの作成

以下のような画面に遷移します。「新規モデル」ボタンをクリックし学習を開始します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/a415eacb-f2f1-4993-0440-36b806c7abd8.png)

以下の画面では「データ・セットを比率で分割」を選択します。
学習データ・セットの割合も変更できますが、ここでは初期値のままで「次へ」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/9484938c-855f-8ec0-d10a-b6cf985e7e51.png)

データ・セットが作成されるまで数分かかります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/bb9985d4-626d-19a8-eada-bfbcff38f4d7.png)

データ・セットが作成されると、以下のように分類器についての情報が表示されます。
精度：分類したラベルがどれだけ正しかったかの割合
再現率：正解データのうちどれだけ正しく分類できたかの割合
F1スコア：精度と再現率の調和平均
F1=（2*精度*再現率)/(精度+再現率)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/a5dc1673-0c32-4b05-7347-72fbf0c70059.png)


3.学習モデルのデプロイ

「モデルのデプロイ」を選択します。
これにより、このモデルがコレクションに適用できるようになります。
デプロイをしないと、コレクション作成時に分類器選択画面で今回作成した分類器が表示されません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/0ffc47c8-10b3-17f8-f553-fb3c858a964f.png)

内容を確認し、「配布」をクリックします。
「確率しきい値」で予測ラベルを表示する確率（確信度）の閾値を変更できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/0eb6c91e-2985-8f62-17f2-aa3b37b9d23a.png)

Admin Consoleのリソース表示画面に、作成した分類器が表示されていることを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/7794abd8-013a-d586-f111-408a5cefa5ca.png)



#### 分類器を適用させたコレクションの作成
Admin ConsoleもしくはContent Minerにおいて「コレクションを作成」ボタンをクリックし、コレクションの作成を開始します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/aee8906f-85e7-b45f-0ea4-c7fc3fa62861.png)

分類器の作成時に作成されたコレクション・テンプレートを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/f049a8f2-7123-3578-e631-f3c9223cd75e.png)

コレクション名を記入し「次へ」ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/da94119a-e56f-347f-7a46-2068d2df624a.png)

分析用データとして用意したCSVファイルをインポートします。
ここでインポートしたファイルは、自動的にデータ・セットとして保存されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/52cf6037-6562-e75b-ac16-351ce5199cad.png)

各設定を行います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/2ada7bd1-1b1c-3627-f6db-6c6cb45ff862.png)

下画面にスクロールし、CSVファイルが正常に読み込まれているか確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/25488869-6d2d-1ca6-e5d3-ebeb7aa6a5e3.png)

インポートする列を選択します（日付データがある場合は、タイプを日付に設定します）。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/d3165b20-423a-700f-7b5f-a9501e929104.png)

（参考）日付データがある場合は、データ内の日付のフォーマットに従って日付形式を設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/5a2b5488-36b5-06c3-a659-e2488c8cff65.png)

ファイルのインポートを開始し保存します（完了までに数分かかることがあります）。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/69c587aa-2c6f-a40d-9638-7b4a99494632.png)

各フィールドを設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/68cc5567-77af-2c2d-0fff-5ef541958065.png)

適切なアノテーターを選択し、今回作成した分類器を選択して「次へ」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/be312312-9bdd-d35d-4185-82933af8be67.png)

ファセットを確認し、「次へ」をクリックします。
defective_device_predictedに、分類器により予測されるラベルの値が入ります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/f9532096-da75-aa62-847a-352b921a6b57.png)

「今すぐ索引付けを実行」を選択し、コレクションを保存してください（索引付けには数分かかることがあります）。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/29402e43-7925-0119-db44-79c199be4d1d.png)

索引付けが完了するまで表示画面には「0%索引付き」と表示されますが、内部で索引付けは進んでいます。完了したら「100%索引付き」と表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/bcc7f512-6eda-0141-38c6-d2ddfb3fa87e.png)

Admin ConsoleまたはContent Minerにおいて作成したコレクションが表示されていることを確認してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/8ca33ee4-8f1c-f2e6-5225-af90eedce62d.png)

Content Minerで作成したコレクションの「文書の表示」を選択し「分類」欄に予測ラベルの値が入っていることを確認してください。
予測されたラベルが正しくない場合は、分類器の精度向上を図り、再索引付けを実施する必要があります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/75e04e45-ee8d-64be-bce5-db23e7e5fd81.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/6b42bca7-eb24-71c6-7ac0-e5850e901fba.png)


#### 分類器の精度の向上
学習データを追加して精度向上を試みる場合に行う操作を以下で説明します。

Admin Consoleのリソース画面から作成した分類器を選択し、詳細画面の右下の「学習データ・セットの更新」欄の「CSVのアップロード」をクリックしてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/39fe6f12-e5ab-9244-a71d-f550725aeeed.png)

以下の画面で「開く」ボタンをクリックし、追加の教師データとして用意したCSVファイルをインポートします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/1660ce61-1c74-9c9b-fc18-6cc60abc782a.png)

新規モデル（v0.2）が追加されたことを確認し、デプロイしたい場合は「モデルのデプロイ」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/019f0001-557d-e000-519c-3a66227f33e2.png)

以下の画面で「配布」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/818494e7-f2b9-32da-a9f2-8f4272c036b8.png)

モデル(v0.2)がデプロイされたことを確認します。
分類器を適用する際、現在デプロイされているモデルのバージョンだけが適用可能です。
古いバージョンのモデルを適用したい場合は古いバージョンのモデルを再デプロイします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/5272219c-348f-d3ef-8cae-22ee5bc5e262.png)

精度が向上したモデル（v0.2）をコレクションに適用させるため、コレクション画面で索引の再作成を行います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/529440/bb7a5ad8-caff-d268-c683-4216d48e6352.png)