A3RTとUiPathによるAI・RPA組合せシステム構想

Pocket

AIとRPAを組合せたシステムを考えてみる

すでにあらゆる業界で取り入れられている流行りのAI(人工知能)とRPA(Robotic Process Automation)。どちらかは導入していても、両方導入しているという企業はまだまだ少ないようです。

もし、このAIとRPAを組み合わせた業務システムがあったとしたら、どのようなものになるでしょうか?本記事ではそれを考えてみたいと思います。

仮想企業とその課題

業務システムを考えるにあたり、仮想企業は「宅食サービスMISO株式会社」という、個人宅向けの食品宅配事業を展開する企業としました。

この企業は、サービスユーザの過去の商品購入データから、ユーザそれぞれの好みを分析して、一人一人に合った商品の広告・PRをしたいと考えています。ユーザの過去の商品購入データや個人情報等は業務DBで管理していますが、今までそれらの情報を有効活用していなかったそうです。

A3RTとUiPathを組合せたシステム構成案

そこで考案したシステムが、名付けて「オススメ商品提案システム」です。

 

このシステムの動きを簡単に解説します。

①  業務DBから、ユーザの商品の購買履歴データを抽出(RPA)

②-1  ①のデータファイルをアップロード(RPA)

③  ユーザの商品の購入傾向からおすすめ商品を自動で算出(AI)

②-2  おすすめする商品の算出結果をダウンロード(RPA)

④   AIで算出したデータを、業務で活用できるよう整形し、再出力(RPA)

このシステムが想定通りに開発できれば、宅食サービスMISO株式会社は、ユーザそれぞれに合った商品の広告やPRができるようになるでしょう。

RPAツールには「UiPath」を使用します。UiPathは、RPAソフトウェアの世界的ベンダーであるUiPath株式会社が手掛けるRPA製品です。(UiPath公式サイト) 図の青点線四角部分が、UiPathによる実装部分です。

一方、図の緑点線四角部分が、AIによる実装部分です。AIには、「A3RT」(アート)という、株式会社リクルートテクノロジーズが提供する様々な種類のAIのWeb API群を使用します。(A3RT公式サイト

A3RTのWeb API群の1つである「Listing API」を使用することで、あるユーザの購入傾向と似た、他のユーザの購入傾向を比較・分析し、ユーザが次に購入するのにおすすめな商品を提案できるようになります。

A3RT・Listing API の使い方

Listing API の使い方を簡単に解説します。

ちなみに、公式サイトのマニュアルにあるコマンドはWindows環境ではエラーになるものがあるので、Windows環境で動かしてみたい方は、本記事のコマンドをどうぞ参考にしてください。

STEP1:A3RTの会員登録をし、APIキーを発行する

A3RT公式サイトにアクセスし、無料会員登録を行い、APIキーを発行します。

STEP2:入力データファイルを準備

入力データを、CSV形式で作成します。項目は以下の通りとします。ヘッダとして一行目に以下のフィールド名を持たせます。

No. フィールド名 説明 値サンプル
1 user_id ユーザを識別できるID 01234567890123456789
2 item_id アイテムを識別できるID 01234567
3 time_stamp 時刻(アクセス時間を想定) 2017-01-10 21:11:41.990

例として、実際に作ってみたデータの一部がこちらです。

user_id,item_id,time_stamp
USER_A,APPLE,2019-04-01 12:00:00.000
USER_A,BANANA,2019-04-01 12:00:00.000
USER_A,ORANGE,2019-04-01 12:00:00.000
USER_A,STRAWBERRY,2019-04-01 12:00:00.000
USER_A,APPLE,2019-04-02 12:00:00.000
USER_A,BANANA,2019-04-02 12:00:00.000
USER_A,ORANGE,2019-04-02 12:00:00.000
USER_A,STRAWBERRY,2019-04-02 12:00:00.000

この例では、ユーザID(user_id)はUSER_Aの1種類のみですが、実際は5種類のユーザIDを使っています。商品ID(item_id)は適当なIDを割り振っています。time_stampは、商品を購入した時のタイムスタンプで、適当に4月1日から4月30日を使っています。

これらを「train_data.csv」というファイル名で作成します。

STEP3:入力ファイルアップロード

コマンドプロンプトを立ち上げ、STEP2で作成した「train_data.csv」があるディレクトリまで移動します。

その後、以下のコマンドでアップロード先のURLを取得します。

正常に実行されると、以下の結果が返ってきます。

次に、上の「アップロードURL」を環境変数に設定します。

train_data.csvをアップロードします。

正常に実行されると、以下の結果が返ってきます。

おすすめ商品の算出を開始します。

しばらく待った後、以下のコマンドで計算結果ファイルをダウンロードするURLを取得します。

正常に実行されると、以下の結果が返ってきます。

上で取得したURLにブラウザでアクセスすると、「listing_list.csv」というファイルをダウンロードできます。

listing_list.csvは以下のような様式になっています。

No. フィールド名 説明 値サンプル
1 user_id ユーザを識別できるID 01234567890123456789
2 item_list アイテムを識別できるID 01234567
  item_id アイテムを識別できるID(商品ID) 01234567
スコア値 類似度(商品のおすすめ度) 0.948221981525
, リスト内もカンマ区切り ,

※item_listでは、商品IDと商品のおすすめ度を組み合わせた結果がカンマ区切りで10件まで表示される

これではよくわからないので、実際に返ってきたlisting_list.csvを見てみましょう。

“USER_A”,”GRAPE:0.993405103683″
“USER_B”,”STRAWBERRY:0.997779250145,GRAPE:0.99342083931″
“USER_C”,”APPLE:0.998979926109,ORANGE:0.998331069946,STRAWBERRY:0.996503293514″
“USER_D”,”STRAWBERRY:0.998676359653,BANANA:0.998436748981,ORANGE:0.997370362282,STRAWBERRY:0.995654404163″
“USER_E”,”ORANGE:0.999711751938,STRAWBERRY:0.997676968575,GRAPE:0.993906497955″

以下のような項目の並びになります。

“ユーザID”,”商品ID1:商品のおすすめ度,商品ID2:商品のおすすめ度,・・・”

上のファイルはUSER_AからUSER_Eが存在し、それぞれに、商品であるAPPLE、ORAGE、BANANA、STRAWBERRY、GRAPEのどれがおすすめか ということを表しています。

おすすめ度が1に近いほどその商品がユーザに対して強くおすすめするということを表しています。

まとめ

これからの将来、活躍するであろうAIとRPAを組み合わせたシステムを考えてみました。今回は、システムの概要とA3RTのListing API中心にしかお話しをしましたので、UiPathによる自動化についてはお伝えできませんでした。実は現在このシステムを開発中なので、次回は自動化部分を含め、完成したシステムについて解説する・・・かもしれません。

なお、tdiはAIとRPAの導入サービスを提供しております。AIやRPAでお悩みの企業の方は、お気軽にご相談ください!

お問い合わせ先

執筆者プロフィール

Akaishi Kyousuke
Akaishi Kyousuketdi 中部公共サービスシステム部
まだまだ経験は浅いですが、いろんなお客さまや技術に触れてきました。勉強することは尽きません。今は、RPAとAIについて勉強中です。AWSとかも気になります。
Pocket

関連記事