【UiPath】CJK OCR(中日韓)を使って日本語の画面をComputer Visionで自動化する

# はじめに

Document Understandingの中国語、日本語、韓国語をサポートする新しいOCRであるCJK OCRがUiPathのComputer VisionによるUI操作の自動化で活用できる様になり、日本語画面でも実用的になってきたので、利用方法を解説します。
なお、Document UnderstandingのOCRを利用していますが、嬉しいことに開発ライセンスやロボットライセンスについているComputer Visionで利用できます。

ちなみにComputer Visionは、下記の様な場面で利用が想定できます。実用的になるに連れ、身近なものになってきそうな予感がします。

・リモートランタイムが利用できない環境でVDIの画面で自動化する場合の活用
・見た目は同じ様に見えても要素属性が想定外に変更される場合の対策（保守負担の軽減）
・要素を認識出来ない場面での部分的な適用
・将来的に画面が出来上がってなくても画面デザインから自動化開発が可能になる？
 【参考】

https://twitter.com/Jun96427231/status/1620439972275957761

# 前提
1. 2023年2月時点のAutomation Cloudで記載します。
1. UiPath Studioはv2022.10.5で記載します。
1. UiAutomstionアクティビティv22.10.5で記載します。

# Computer VisionでRPA Challengeを自動化する
ここからRPA Challenge（日本語）のサイトを使って、具体的な利用方法を解説して行きます。

https://www.rpachallenge.com/?lang=ja

## CV画面スコープの設定
「CV画面スコープ」を挿入して「UiPathScreenOCR」が入っていた場合、このOCRアクティビティではRPA Challenge（日本語）のサイトを正常に操作出来ません。その場合は「UiPathScreenOCR」を削除し、「OCR - 日本語、中国語、韓国語」に入れ替えます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/19e273a3-de8e-f15b-bef9-428a63f9ecb6.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/61bdbfeb-dd5e-dc3a-e4c1-4aed282be6d4.png)

また、既に「OCR - 日本語、中国語、韓国語」のAPIキーが入っているかもですが、Document UnderstandingのAPIキーの可能性もあるため、Automation Cloudポータルの「ライセンス」＞「ロボットとサービス」の画面からComputer VisionのAPIキーを取得して設定します。
知らなかったらハマりそうですねw

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/ec695588-cb23-b668-84d5-4be1ad557fea.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/1095dafa-98e3-03ff-830a-f3a3a7826416.png)

エンドポイントはUiPathDocumentOCRの日本 "https://du-jp.uipath.com/cjk-ocr" を設定します。（2022年6月20日に公開されました。）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/2bc42215-9443-9fda-ae1e-5d920d05dcfc.png)

掲載しているのは下記サイトです。
知らなかったらハマりそうですね（笑）

https://docs.uipath.com/document-understanding/lang-ja/docs/public-endpoints

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/a366d12e-1fa0-7b3e-dc80-982d35f0d8e9.png)

:::note info
まとめ
1. Computer Visionで利用する場合の ***「OCR - 日本語、中国語、韓国語」APIキーはComputer VisionのAPIキー*** を設定する。
1. Computer Visionで利用する場合の ***エンドポイントはUiPathDocumentOCRの日本"https://du-jp.uipath.com/cjk-ocr"*** を設定する。

:::

## ワークフローを作成する

「CV画面スコープ」の画面を下記の様に指定する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/e53128a0-e9c9-2537-af89-cf2e008384e2.png)


「CV文字を入力」を挿入して要素を指定して行きましょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/91eb5047-a675-5879-f88b-001bb6b68975.png)


ちなみに、要素の指定はCV画面スコープで指定した画像に対して選択になります。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/96002a18-d615-4dc0-9b3a-13c6016e7ae3.png)

:::note warn
上手く設定されている場合の記述子は日本語が設定されています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/ea613fd7-877c-1430-b9ea-fda75795e4d9.png)

:::


例えば、ダウンロードしたExcelの内容を読み込んで入力するワークフローは下記の様になります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639319/46b578d9-b893-109e-40e5-33c1c42b49a6.png)



:::note warn
注釈

1. RPA Challengeは登録ボタンをクリックすると入力する項目の場所が変わります。登録ボタンをクリックして画面が変わったらCV画面スコープを再度実施しなければ安定して動作しない様なので、ループの内側でCV画面スコープを都度行ってます。この辺りはComputer Visionを利用の際のコツの１つになりそうです。
1. Computer Visionの文字入力はUI 要素にキー ストロークを送信します。IMEのモードや変換操作に関連するトラブルがある場合は必要に応じて言語の設定で英語キーボードを選択し、日本語を無効化して置くのも手です。

:::


# おわりに
UiAutomationvアクティビティの22.12.0-previewからターゲットメソッドにComputer Visionが追加されました。まだ、プレビューですが、今後、Computer Visionがより身近になり、例えば要素属性の変化があっても見た目で自動ヒーリングされるって機能が標準化され、より堅牢な要素認識が期待出来そうです。

https://qiita.com/Jun96427231/items/82116becf2340d89f572


https://qiita.com/Jun96427231/items/5596e5b8f4b4dddd660f