UiPathのRPAチャレンジ「Search for Movies」の解き方

ROOKIEプログラムというAI・RPA人材教育、育成、キャリア支援プラットフォームを提供しているPLAY株式会社の藤間です。

今回は、UiPathのRPAチャレンジ「Search for Movies」の解き方を共有します。なお、本問題がRPA×AIの領域な事もあり(※)、中上級者の方を想定して記事を書きます。

※IBM Watson Empathy Packを利用します。

【問題】

3本の映画それぞれのレビューリストのレビューを「POSITIVE」と「NEGATIVE」で振り分けよ、という問題です。(意訳)


【解き方】

それでは、解きます。

・まず、「繰り返し(前判定)」アクティビティで、各映画リストに同じ動作が出来るよう、設定します。

「My Movie List」にある、レビューリストの表示ボタンのセレクタを見ると、上から、idxタグが1,3,5なので、初期値が1の変数clickNumberを作成し、Conditionを以下の通りに設定します。


・「クリック」アクティビティで、「My Movie List」のレビューリストを表示するボタンをクリックします。

セレクタは以下の通りです。

・「要素を探す」アクティビティで、レビューリストが表示されるまで、待ちます。

・「データスクレイピング」を利用し、各レビューの内容を構造化データとして読み取ります。

・新しくDataTable型の変数 init_extractDataTable を作成し、「データスクレイピング」での出力データ extractDataTable を、「データスクレイピング」直前で初期化します。( 繰り返し処理の度に、extractDataTable が呼び出される為。)


・「繰り返し(各行)」アクティビティで、extractDataTable から各レビューを取り出します。

・UiPath.IBMWatsonEmpathy.Activitiesパッケージを、プロジェクトにインストールし、「一般的なトーンを分析」アクティビティを利用します。出力の「ドキュメント全体のイメージを」allTarnとします。(※)

※「一般的なトーンを分析」アクティビティを利用するには、プロパティにAPIキーとURLを入力する必要があります。これらを取得するためには、IBM Cloudのアカウントが必要です。アカウントの取得方法と、APIキーとURLの取得方法は、こちらのIBMのwebページが詳しいので、説明は割愛します。(「始めに」の「サービスのインスタンスを作成します。」と「サービス・インスタンスに認証されるための資格情報をコピーします。」の手順を実行ください。)

・「条件分岐」アクティビティと「クリック」アクティビティで、allTarnが"Joy","Happy","Confident"(※)であれば「POSITIVE」を、それ以外では「NEGATIVE」をクリックするようにします。

なお、「POSITIVE」をクリックするセレクターは以下のように設定します。

上記セレクターでは、初期値が1のInt32型の変数clickRowNumberを利用している為、「代入」アクティビティで、この処理の後に +1をします。繰り返し(各行)の前の初期化処理も忘れないでください。

※文章の感情表現には、他にも、TentativeやAngryなどがあります。詳しくは、Ui Go!のwebページを参照ください。


・「クリック」アクティビティでレビューリストのモーダルウィンドウを閉じます。

これで、作業は完了です。

出来上がったワークフローは以下の通りです。


ちなみに、私の環境ではワークフローを実行すると、正答率は80%でした。(恐らくレビュー内容で前後します)

以上です。お疲れさまでした。

ROOKIEプログラム
https://rookie-program.com/


この記事が気に入ったらサポートをしてみませんか?