6
2

AI、Pythonの知識が無くても大丈夫!UiPathでAIによる予測業務を簡単に自動化する方法【UiPath AI Center】

Last updated at Posted at 2023-08-21

元気しとーと? 博多に住んどうUiPathプリシェールス @ManabuTechばい。
(お元気でしょうか? 博多に在住しておりますUiPathプリセールス ManabuTech です)

今回は、Pythonの知識が無くてもAIを業務に適用できるAI Centerを利用した方法を解説します。

今回の予測業務に使用するデータの解説は、AIを業務で利用するポイントと合わせてこちらで解説しています。

作成したサンプルワークフローはGithubで公開しています

AI Centerとは?

AI Centerは業務を知らないAIエンジニアとAIを知らない業務担当者を結びつけるためのツールです。すぐに使えるAIモデルが用意されており、AI Centerで作成したAIモデルはRPA(UiPath Studio)からAIの知識が無くても簡単に呼び出すことができます。AI Centerを用いることでAIモデルの管理と再学習が可能になります。
image.png

AIモデルの作成方法

AI Centerを使用するには、AI Unitライセンスが必要です。

UiPath Studioから呼び出すには、MLスキルを作成する必要があります。
MLはMachineLearning(機械学習)の略です。

AI Center側の操作として、大きく分けて6つのステップがあります。

  1. AI Centerサービスの有効化
  2. AI Centerプロジェクトの作成
  3. MLパッケージ作成
  4. データセット登録
  5. パイプライン実行
  6. MLスキル作成

1. AI Centerのサービス有効化

Automation Cloudの管理画面からテナントのAI Centerサービスを有効化します。

image.png

2. AI Centerのプロジェクト作成

Automation Cloudの有効化したAI Centerからプロジェクトを作成します。

image.png

3. MLパッケージ作成

MLパッケージはAIモデルです。
UiPathが開発したものですぐに使えるものが用意されています。
カスタムモデルとして自作したAIモデルをアップロードすることもできます。

image.png

今回はOpen-Source Packagesの中にあるTablar Data、回帰を行うためのTPOTAutoMLRegressionを使用します。
image.png

image.png

TPOTAutoMLとは、複数のAIモデルに対してトレーニングして精度の高いモデルを自動的に採用してくれるものです。
image.png

パッケージ作成時、名前は重複しなければ何でも大丈夫です。
image.png

4. データセットの登録

ボストンの住宅価格が管理されたCSVファイルを登録します。

約500件のデータは、トレーニング用、検証用、テスト用の3つに分けます。
image.png

この2つをAI Centerにアップロードします。
・boston_training.csv(300件)
・boston_validate.csv(100件)

フォルダをアップロードからCSVファイルをアップロードします。
image.png

image.png

5. パイプラインでトレーニング

パイプラインからトレーニングすることができます。

image.png

TPOTAutoMLではターゲットとなる目標変数の列名を指定する必要があります。
環境変数で変数名「target_column」に「MEDV」を設定します。
image.png

先ほどのパッケージとバージョンを指定します。
入力データセットと評価データセットには、アップロードしたデータセットを指定します。
image.png

トレーニング用と検証用のデータを分けておくとどれくらいの精度が出るかスコアが出ます。
この精度は、トレーニングのデータ数が足りているかの1つの指標になります。

image.png

ログを見ると、GradientBoostingRegressionが一番精度が高いモデルとして採用された様です。

2023-08-XX XX:51:50,131 - uipath_core.trainer_run:write:11 - INFO:
2023-08-XX XX:51:50,548 - uipath_core.trainer_run:write:11 - INFO:
2023-08-XX XX:51:50,548 - uipath_core.trainer_run:write:11 - INFO: Best pipeline:
2023-08-XX XX:51:50,548 - uipath_core.trainer_run:write:11 - INFO:
2023-08-XX XX:51:50,548 - uipath_core.trainer_run:write:11 - INFO: GradientBoostingRegressor(RidgeCV(input_matrix), alpha=0.95, learning_rate=0.1, loss=huber, max_depth=4, max_features=0.4, min_samples_leaf=2, min_samples_split=19, n_estimators=100, subsample=0.8)
2023-08-XX XX:51:51,350 - uipath_core.training_plugin:train_model:134 - INFO: Model trained successfully with response None
2023-08-XX XX:51:51,351 - uipath_core.training_plugin:save_model:157 - INFO: Start model save...

6. MLスキル化

UiPath StudioでAIモデルを使えるようにMLスキル化します。
パイプラインでトレーニングが完了したパッケージバージョンを指定します。

image.png

MLスキルを公開すると、APIキーとURLが発行されます。
image.png

20分程度でMLスキルが「利用可能」ステータスになります。
APIキーとURLは後で使用します。
image.png

AIモデルの呼び出し方法

ここからUiPath Studio側でAI Centerで作成した処理を呼び出してExcelに格納する方法を解説していきます。

3つのステップが必要です。

  1. MLスキルの入力変換
  2. MLスキル呼び出し
  3. MLスキルの出力変換

1. MLスキルの入力変換

今回使用するTPOTAutoMLRegressionモデルは入力がjson形式です。
このため、CSVファイルをjson形式に変換してやる必要があります。

この処理はTPOTAutoMLRegressionを使用するワークフローで流用できますので、一度作っておきましょう。

CSVファイルを読み込んで、CSV各列の値をDictionary型の変数にキーと値を設定します。
Newtonsoft.Json.JsonConvert.SerializeObject関数でjson形式の変数に変換して格納します。

CSVを読込、csvdataという名前の変数に保存します。
image.png

データテーブルにpredictという列を追加します。
image.png

dictというDictionary型の変数を作成して初期化します。
image.png

CSVデータで繰り返しDictionary型の変数に保存します。
image.png

jsonはString型の変数です
image.png

2. MLスキルの呼び出し

MLスキルの公開したURLとAPIキーを設定します。
image.png

3. MLスキルの出力変換

AI Centerのレスポンスには括弧があるため、Replace関数で取り除いています。
image.png

最後に

今回はAI Centerを使用してAIで予測する方法を解説しました。
UiPathで公開されているTPOTAutoMLモデルを利用することで、Pythonの知識が無くてもAIを使うことができました。
AIはモデルのチューニングなど必要なイメージですが、TPOTAutoMLであれば、複数のAIモデルで検証して一番良いモデルを選ぶため、精度もPythonで作ったよりも高くなりました。
トレーニングデータも業務で使用したCSVファイルを再度データセットに格納してパイプラインを実行することで再度、Pythonの知識無くトレーニングを行うことができます。
今回は簡単なデモのため、前段階のデータ処理を行っていませんが、CSVファイルの前段階で外れ値を除外したりすることによって、さらに精度を高めていくことができます。

AI Centerの無料トライアル

AI Centerを試してみたいという方は、無料トライアルがも可能です。
60日間と期間が決まっていますが無料でAI Centerの試用が可能ですので、興味のある方はこちらから申し込んでみてください。

6
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2