AIを業務利用する際の3つのポイント！予測業務をRPAとAIで自動化する2つのパターンを具体例で解説【UiPath Python連携 / AI Center】

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

みなさん、AIは使ってますか？
私は使ったことないという人も知らず知らずの内にAIに触れているはずです。
2010年は消費者にAIが拡大した年代と言われています。
Amazonで商品を購入したことはありますか？
Amazonで購入した際に、他の商品を提案してくれるのもAIの機能です。
NETFLIXで動画を見たことはありますか？サンクチュアリやFirst Loveなど、オリジナルコンテンツがおもしろいと話題になっていますが、NETFLIXでは視聴者がどこで視聴をやめたのかなどのデータをAIで解析して、より良いコンテンツを作っています。
では、日々の業務でAIを使ったことがありますか？
調査会社によれば、2020年代にはAIが業務効率化に使われていくと言われています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2577004/f79572a6-fa32-cc82-2132-8c044709cda3.png)

今回はAIを業務で使う上での重要なポイントと、具体的にAIで自動化する方法を解説したいと思います。

## AIを業務に使う上での重要な3つのポイント

AIを業務に使う上で認識しておかなければならないポイントが3つあります。
・PythonでAIモデルを作成する人材が不足している
・Pythonで作成されたAIモデルを業務担当者が使うことは難しい
・AIモデルの精度は100%になることは無く、継続的な学習が必要

### PythonでAIモデルを作成する人材が不足している
AIはGoogleやAmazonが提供しているAIサービスを使用することもありますが、業務で使用する際には自社のデータを学習させる必要があります。
自社のデータを学習させていくとなると、PythonでAIモデルを作成していく方法が一般的です。このPythonでAIモデルを作成するAIエンジニアが不足しているため、多くの企業ではAIの導入が遅れています。

### Pythonで作成されたAIモデルを業務担当者が使うことは難しい
また、「AIエンジニアは業務のことを知らず、業務担当者はAIのことを知らず」という状況もAIの導入を遅らせている要因の1つです。
AIエンジニアは業務のことを知らないため、Pythonで業務の処理を作ることはできません。業務担当者がPythonを書くことはできませんし、実行環境を整えることも難しく、Pythonから予測されたデータを取得することも難しいという現状があります。

### AIモデルの精度は100%になることは無く、継続的な学習が必要
AIモデル開発はプログラミング開発と異なり、入力と出力データを与えてモデルを作っていきます。このためデータが網羅できていないと精度が落ちますし、データが偏っていると特定のデータに特化したモデルとなり過学習という状態になってしまい、精度が落ちてしまいます。
このため、自社の業務データを継続的に学習していき精度を向上させる必要があります。これを人がやろうとすると、大変です。業務を楽にしたくてAIを導入したいのにAIの学習で業務担当者が忙しくなってしまっては本末転倒です。 このため、AIを業務で使おうとすれば学習の自動化が重要なテーマになります。

## AIを業務で使う（自動化する）2パターン

AIを業務で使う上で重要なポイントから、以下のことが言えます。
・AIモデルを簡単に作成できる
・AIモデルを業務担当者が簡単に利用できる
・AIモデルの学習を自動化する

2つの作成パターンを紹介したいと思います。
・パターン1：Pythonで作成したAIモデルをRPAで呼び出す方法
・パターン2：UiPath AI CenterにあるAIモデルをRPAで呼び出す方法

|項目|パターン1.Python連携|パターン2.AICenter利用|
|-|-|-|
|モデルケース|AIエンジニアが社内にいる*|AIエンジニアが社内にいない|
|AIモデルの作成|AIエンジニアがPythonで作成|担当者がAI Centerで作成**|
|AIモデルの利用|業務担当者がRPAから利用|業務担当者がRPAから利用|
|AIモデルの再学習|AIエンジニアが業務データからPythonで再学習|担当者がAI Centerに業務データをアップロードして再学習|

*ChatGPTのCode Interpreter機能で今後敷居が下がるかもしれません
*AIエンジニアの作成したAIモデルを利用することも可能です

パターン1は、PythonでAIモデルを開発できるAIエンジニアがいる場合を想定しています。
パターン2は、AIエンジニアが社内にいない場合を想定した方法です。
AI Centerは有償ですが、AIエンジニアがいないのでAIの利用をあきらめていた企業でも、AIを業務に利用することができます。

### AI Centerって何？

AI Centerは業務を知らないAIエンジニアとAIを知らない業務担当者を結びつけるためのツールです。すぐに使えるAIモデルが用意されており、AI Centerで作成したAIモデルはRPA（UiPath Studio）からAIの知識が無くても簡単に呼び出すことができます。AI Centerを用いることでAIモデルの管理と再学習が可能になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2577004/0532570c-7989-bfcb-497d-8d178ab6be34.png)

AI Centerについては、Youtubeにデモイメージ動画があります。
(音声は英語ですが、Youtubeで動画を見ると日本語音声が表示されます)
<iframe width="1280" height="720" src="https://www.youtube.com/embed/Od4-X5hrRUE?list=TLGGP-BBOsmlWB0yMDA4MjAyMw" title="UiPath AI Center 製品紹介ビデオ" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>

## 予測業務をRPAとAIで自動化してみよう

皆さん、日頃の業務で何かを予測するようなものって無いですか？
例えば生産量の予測であったり、電力などの消費量予測などなど。
売上の予測、来店者の予測など、今はやっていないけれどできたら良さそうなものもあるのでは無いでしょうか？

「え？そんなの簡単にできるの？」と思った人、安心してください。
想像しているよりも簡単に実現することができます。

### 例題：ボストンの住宅価格予測
今回は例として、Excelで管理しているデータからボストンの住宅価格を予測したいと思います。あるデータから何かを予測する「回帰」というAIの分野になります。

あなたはボストンの不動産会社で働いているとします。
高く売れそうな物件を入手する必要があります。住宅価格は立地や築年数、部屋数などにより決まりますし、地区の犯罪率なども関係してきます。このような過去の物件のデータは住宅価格と合わせて全てExcelで管理しているものとします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2577004/120b67ff-b0e2-b72d-ad0b-81c0a7661445.png)

各列のデータは以下の通りです。
|データ列名|説明|
|-|-|
|CRIM|町別の犯罪率|
|ZN|「広い家の割合」|
|INDUS|町別の「非小売業の割合」|
|CHAS|川の隣に面するか否か|
|NOX|一酸化窒素濃度|
|RM|1戸当たりの「平均部屋数」|
|AGE|「古い家の割合」|
|DIS|「主要施設への距離」|
|RAD|「主要高速道路へのアクセス性」の指数|
|TAX|10,000ドル当たりの「固定資産税率」|
|PTRATIO|町別の「生徒と先生の比率」|
|B|町ごとの黒人の割合|
|MEDV|住宅価格（単位：1000ドル）|

:::note warn
ボストンの住宅価格データは回帰予測する有名なデータですが、黒人の割合が入っていることからデータセットが倫理的な問題から非推奨となっており、scikit-learnのバージョン1.2からは削除されています。
:::

過去のデータと比較して物件購入すべきか今までKKD法（勘・経験・度胸）で先輩達は切り抜けてきましたが、AIを使用して予測してみましょう。

### AIで予測する2つの具体的な方法

具体的な方法をこの記事で説明すると長くなってしまうため別の記事にしています。技術的な実装方法は、各記事をご覧ください。

・パターン1：Pythonで作成したAIモデルをRPAで呼び出す方法

https://qiita.com/ManabuTech/items/6f31f1c22f7cf6ed1df6

・パターン2：UiPath AI CenterにあるAIモデルをRPAで呼び出す方法

https://qiita.com/ManabuTech/items/6a6e0f454446787f639d

### 予測精度の比較

AIモデルの予測精度の指標にはいくつかありますが、簡単なMSEを使用して、Pythonで作成したモデルとAI CenterのAIモデルを比較しました。

MSEは予測値と実際の値の差を2乗した平均値で、小さい方が優れたAIモデルとなります。

Pythonで作成した AIモデルは「LinearRegression」という回帰モデルを使用していますが、
トレーニング後の実際のテストではMSEが36.362という結果となりました。

AI CenterのAIモデルはTPOTAutoMLというモデルを使用しましたが、これは複数のAIモデルで検証して精度の高いモデルを選ぶものです。トレーニングした際にGradientBoostingRegressorというモデルが採用されました。
テストではMSEが18.032という結果となりました。

結果としてAI Centerで作成したAIモデルの方が精度が高くなりました。
熟練したAIエンジニアであれば、AI Centerと同じAIモデルを選んで同等以上のAIモデルを作成することはできるでしょう。AIエンジニアがいなくても、AI Centerを利用することで精度の高いAIモデルを業務に利用することができることは、AI Centerの強みでしょう。

## AI自動化の効果

業務自動化の効果としては、人がやっていた作業時間に時給を掛けることで算出することができますが、予測業務をAIで代替するメリットは作業時間だけではありません。例えば、AIによって精度の高い生産量予測ができるようなれば廃棄ロスの削減、運用や保管コストの削減にもつながります。

予測業務は多くの企業で存在すると思います。
予測業務を今回紹介した方法で、AIとRPAで自動化してみてはいかがでしょうか？