【UiPath】AI Centerですぐ使える機械学習モデル

# はじめに
UiPath AI Centerには、自らPythonで実装しなくても、すぐに使える機械学習のモデルがいくつかあります。
今回は、それらを整理してみます。

AI Centerの基本的な使い方は以前の投稿をご覧ください。

https://qiita.com/shuy/items/8f732357a1b2e8f61e06

お断り（言い訳）：AI Centerサービスそのものは日本語化されているものの、モデルの説明に関しては日本語化されておらず、ドキュメントポータルの情報もすべてそろっているわけではないので、一つ一つ英文を日本語訳して調べながらになります。私は英語が得意ではなく、さらに機械学習のエキスパートでもない（最近始めた程度）ので、間違った解釈をしている可能性があります。また、いくつかのモデルは実際に動かしてみましたが、触ったことがないモデルもあります。ご了承ください。

# つかうもの
※クラウド環境は2022年6月時点のもの
* Automation Cloud(AI Center) Enterprise版

# すぐに使えるパッケージ
AI Centerでは、すぐに使える機械学習モデルが多数存在します。
UiPath社が作成したモデルとオープンソースのモデルがあります。また、Pythonで自作したモデルをデプロイすることも可能です。
GA（一般提供）とプレビューのモデルがあります。
![すぐ使えるパッケージ1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/89445/bb002267-0e0e-eb02-97db-920758b948d3.png)

# UiPathが提供するモデル（UiPath Packages）
UiPath社が作成したモデルには、言語分析、画像分析、Doucment Understanding、Task Miningのモデルがあります。
Doucment Understanding、Task Miningについては別のサービスとなるため割愛します。

## 言語分析（Language Analysis）
言語分析のモデルには、テキスト分類、固有表現抽出、意味的類似度のモデルがあります。
![UiPath言語分析1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/89445/d6293144-51c4-06df-3d5b-c3e2e12e0e37.png)

### テキスト分類（Text Classification）
テキストデータを決められたカテゴリに分けることができます。
ライト、マルチラベル、多言語の各モデルに分かれています。
オープンソースモデルでも同じモデルがありますが、違いについてはよく分かっていません。マルチラベル、多言語は分かりますが、「ライト」とは具体的に何が違うのでしょうか。。。
マルチラベルのみプレビューのモデルです。他はGAです。

### 固有表現抽出（Named Entity Recognition）
テキストデータ内に出現する組織・地名・製品名などの固有名詞や日時・数量などを加えた固有表現を認識できます。
オープンソースモデルも同じモデルがありますが、このモデルは100の言語に対応した多言語仕様のモデルです。日本語も対応しています。
モデル利用前にトレーニングが必要です。

### 意味的類似度（Semantic Similarity）
プレビューのモデルです。
2つのテキストデータに対する類似性を予測モデルです。
オープンソースモデルも同じモデルがありますが、違いはよく分かっていません。説明文を見ると、こちらのモデルは1対Nの比較をし、ターゲットのテキストと類似したテキストをスコア順にランク付けできるようです。
再学習はできません。

## 画像分析（Image Analysis）
画像分析のモデルには、画像分類、署名比較のモデルがあります。
![UiPath画像分析1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/89445/c123a838-7629-07a4-fc70-e19fcee4b075.png)

### 画像分類（Image Classification）
プレビューのモデルです。
画像データを決められたカテゴリに分けることができます。
モデル利用前にトレーニングが必要です。

### 署名比較（Signature Comparison）
プレビューのモデルです。
2つの画像データを比較し、同じ人が署名したかどうかを判定します。
再学習はできません。

# オープンソースモデル（Open-Source Packages）
オープンソースモデルでは、テキストデータ、画像データ、表形式データに関する一般的なモデルを使用することができます。
それぞれのモデルは、再学習可能なモデルまたは、再学習できないモデルがある他、日本語に対応したモデルもあれば、対応していないモデルもあります。

## 言語認識（Language Comprehension）
言語認識のモデルには、FAQ、意味的類似度、要約のモデルがあります。
![言語理解1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/89445/002e9d2c-add8-33fe-305b-26af912e6689.png)

### FAQ（Question Answering）
問い合わせの内容のテキストデータに対して、適切な回答を選択できるモデルです。
事前トレーニング済みです。再学習はできません。
問い合わせ対応などに使用できます。

### 意味的類似度（Semantic Similarity）
2つのテキストデータに対する類似性を予測モデルです。
日本語には対応していません。
事前トレーニング済みです。再学習はできません。

### 要約（Text Summarization）
文章のデータに対して、要約を行うモデルです。
日本語には対応していません。
事前トレーニング済みです。再学習はできません。

## 翻訳（Language Translation）
翻訳のモデルには、テキストデータを各言語（英語、フランス語、ドイツ語、ロシア語）に翻訳してくれます。
日本語には対応していません。
事前トレーニング済みです。再学習はできません。
![翻訳1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/89445/af60eac2-a2e4-b706-5ae5-991d1b28d928.png)

## 言語分析（Language Analysis）
言語分析のモデルには、テキスト分類、言語検出、固有表現抽出、感情分析のモデルがあります。
![言語分析1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/89445/f04ffa58-1ea2-f8fe-75cc-ea72637c17ca.png)

### テキスト分類（Text Classification）
テキストデータを決められたカテゴリに分けることができます。
日本語、英語、フランス語用の個別モデルの他、100の言語に対応した多言語仕様のモデルがあります。
モデル利用前にトレーニングが必要です。

### 言語検出（Language Detection）
テキストデータで使用されている言語を特定できます。
事前トレーニング済みです。再学習はできません。

### 固有表現抽出（Named Entity Recognition）
テキストデータ内に出現する組織・地名・製品名などの固有名詞や日時・数量などを加えた固有表現を認識できます。
日本語には対応していません。
事前トレーニング済みです。再学習はできません。

### 感情分析（Sentiment Analysis）
テキストデータの内容が、感情的に「非常にネガティブ」、「ネガティブ」、「ニュートラル」、「ポジティブ」、「非常にポジティブ」のどれに該当するか分類できます。
日本語には対応していません。
事前トレーニング済みです。再学習はできません。

## 画像分析（Image Analysis）
画像分析のモデルには、画像モデレーション、物体検出のモデルがあります。
![画像分析1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/89445/05d03f9b-7526-0485-7be8-01972dce5354.png)

### 画像モデレーション（Image Moderation）
Googleによって開発されたInceptionV3を使ったモデルです。
画像の内容が、ある基準に基づき適切か不適切かを判断できます。
事前トレーニング済みです。再学習はできません。

### 物体検出（Object Detection）
画像内にある物体を特定できます。
COCOのデータセットを使用した学習が事前に行われているため、80カテゴリの対象はトレーニングなしで認識できます。
追加のカテゴリを認識させるためにはトレーニングが必要です。

## 表形式のデータ（Tabular Data）
表形式データのモデルには、分類と回帰のモデルがあります。インプットは表形式データ（.csv）となります。
![表形式1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/89445/d5d75617-49b3-3a3d-d971-2bb4802625c4.png)

### 分類（TPOT Classification）
TPOT（モデルの選択やパラメータの選択など難しくてめんどくさい作業を遺伝的プログラムによって最適化してくれる仕組み）を使った分類モデルです。0か1かといったような離散値を返します。
モデル利用前にトレーニングが必要です。
XGBoost（端折って説明すると複数の学習器を使用し、学習の精度を上げる方法。あってるか微妙です？）を使ったモデルもありますが、こちらはトレーニングに時間がかかります。

### 回帰（TPOT Regression）
分類と異なり連続値などの値の予測ができます。売上予測、在庫予測などに使用できます。
モデル利用前にトレーニングが必要です。
XGBoostを使ったモデルもあります。

# 全体図
![全部1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/89445/e70f5254-f58f-4b1f-d247-b6aafc7991c8.png)

# おわりに
似たようなモデルが複数あり、公式のドキュメントポータルだけでは、具体的なモデルの特長や、学習の仕方（データセットのフォーマットやハイパーパラメータ）、日本語に対応しているか否かなど、全体的に情報が不十分で、一般の知識レベルの方がすべてのモデルを理解するのはかなりハードルが高いと感じました。少しでも改善されることを期待しています。
文章だけで説明しても、各モデルがどのような特徴を持っているか、いまいち理解しにくいと思いますので、次回以降は実際に動かしてみたいと思います。