「RPA(Robotic Process Automatio:ロボティック・プロセス・オートメーション) 」と「AI(Artificial Intelligence:アーティフィシャル・インテリジェンス)」。前者はパソコン内の単純作業を中心に自動化するためのロボットソフトウェアであり、後者はいわゆる人工知能のことです。
これら2つのワードは「ロボット」という言葉で関連をイメージさせるのではないでしょうか。たとえば、RPA→ロボット→AIというかたちで連想させ、同じなのか違うのか、対立するものなのか補完するものなのかといった観点で疑問が湧いたりしないでしょうか。
ロボットというのは物理的な形があり、それを動かす脳の部分がAIだとすると、ソフトウェアロボットであるRPAはどっちなの?という疑問です。
両方の言葉が一般的に浸透しつつあるいま、今回はRPAとAIの違いについてご紹介します。
RPA(Robotic Process Automatio:ロボティック・プロセス・オートメーション)
「ロボットを用いてプロセスを自動化する」、RPAを直訳すればこんな意味があります。ただし、ロボットといっても「Pepper」のような人工知能型ロボットではなく、あくまでソフトウェアロボットを指していて、Pepperのような物理的な筐体は持ちません。ソフトウェアによって、いままで手動で行っていた単純作業を自動化します。
RPAの特徴は、事前に指示されたとおりに動作する、ということです。つまり、自らが判断することはなく、判断が必要な部分、たとえばフィールドの値が1,000以上であればAという処理をし、1,000未満であればBという処理をするということもあらかじめ完全に支持しておかなければ期待した動作はしません。後述するAIとの対比で行くと、あいまいな指示は許容されないという点がポイントです。
たとえば、日次や週次、あるいは月次などで定期的に発生する業務はないでしょうか?たとえば人事部なら社員の給与計算、経理部なら請求書発行などが該当するでしょう。こうした事務処理の業務は機械的な作業が多く、同時に正確さも強く求められます。RPAが自動化する業務にはこうした単純作業が向いています。
RPAはソフトウェアなので、あくまでPC上で人に代わって操作を代行します。これまでのソフトウェアの自動化ツールはマクロでの作りこみのようにそのアプリケーションの中で動作するか、統合するシステムを開発するかという選択が主流でした。システム開発では工数や費用が莫大になり、日常的なちょっとした業務は結局手作業に頼っているケースが多いのではないでしょうか。
たとえば、Excelで集計した結果をWebの業務アプリケーションに入力し、そこで発行されたIDをまた別の報告書に転記するというようなプロセスでは、マクロではWebアプリケーションに対応できず、またシステムを作ろうとするとWebアプリケーションのAPIが必要になるなど、大掛かりになってしまいました。
RPAではそのような苦労なしに複数のアプリケーションにまたがる業務を一連の動作として自動化することができます。
RPAで業務を自動化するには?
RPAが業務を自動化するためには、まず人がRPAに細かく指示を与える必要があります。この指示は、いわゆるプログラム言語を使用するのではなく、わかりやすいUIで処理を設定してゆけるものがよいでしょう。実際の業務画面を確認しながらRPA開発を行い、ソフトウェアに処理手順を記録します。この設定ではGUI(グラフィカル・ユーザ・インターフェース)を用いるので、ITスキルが高くない人でも簡単に開発可能です。これを実行することで、RPAは記録した手順に従って業務を遂行するため、ロボットで業務自動化ができるというわけです。
AI(Artificial Intelligence:アーティフィシャル・インテリジェンス)
AIとはいわゆる「人工知能」です。コンピュータが自ら思考して判断し、実行します。ロボットとの関係でいうと、人工知能はなにをするかを考える脳の部分であり、ロボットは実際の動作を行う体の部分です。ロボットとしてよく見かける「Pepper」では、AIによって動作が制御されています。このようにAIを組み込んだロボットも実用化されてきていて、今後も市場は広がってゆくでしょう。
ただしSF世界のようにロボットが自ら思考し人間のように行動するのはまだ不可能であり、多くの場合はデータ分析といった分野で活躍しています。その中でも
そのAIですが、実際には能力のレベルにより、以下のような分類がなされます。
弱いAI
弱いAIは、あくまでも与えられた範囲において思考するAIであり、人のような自意識や発想を持たないものを指し、現在存在しているのはこちらがほとんどです。この中でもさらにレベル分けがなされます。
強いAI
強いAIは、弱いAIに対し、自らの意志や思考を持つAIとされています。いわゆるSFの世界に出てくるAIはこちらをイメージすることが多いでしょう。しかしながら、現時点ではほぼ実現できていない状況です。
レベル分け
レベル1:制御プログラム
気温や湿度などの変化によって作動状況を制御するエアコンなどが該当します。あらかじめプログラムされた状況変化の変数に従って動作をコントロールするので、指示通りの動作をするレベルです。
レベル2:対応パターンの多い制御
掃除機ロボットや質問への回答など、非常に多くのパターンを識別し対応するタイプのAIです。対応パターンは多いですが、このレベルにおいても自ら学習することはありません。
レベル3:対応パターンを自動学習
ビッグデータの分析や検索エンジン等で利用され、大量のデータからパターンを学習し、判断します。このレベルでは、大量のサンプルデータにより自ら学習を行いより高い精度の判断を行いますが、パターンの判断基準はあらかじめ指定しておきます。
レベル4:対応パターンと判断基準を自動学習
対応パターンに加え、判断基準も自ら学習する高度な分析を行いレベルです。人が想定していないパターンの導出も期待されます。
また、その学習方法によっても分類され、「教師あり学習」「教師なし学習」「強化学習」の3つがあります。
教師あり学習
AIに「犬の画像」を取り込ませる際に「分類は犬」というラベル(正解)を付け、大量のデータを読み込ませることでAI自らに特徴量を把握させるといった学習方法です。AI研究において最も古典的な学習方法でもあります。
教師なし学習
ラベル(正解)の無いデータを大量に読み込ませることで、AIが自ら特徴量を導き出し、それに沿ってパターンやカテゴリーに自動分類したり、規則性や相関性などを分析させるための学習方法です。主に天候予測など、未知のデータを分析するために用いられます。
強化学習
AIにある「報酬」を与えることで、自ら試行錯誤を繰り返させる学習方法です。身近な例でいえばGoogleが開発した「Alpha GO」でしょう。コンピュータ囲碁として世界トップ棋士に勝利したAlpha GOは、3,000万手におよぶ膨大な量のデータを取り込み、同じコンピュータ囲碁同士で3,000万回も対局することで、その能力を高めました。
このように、AIといってもそのレベルや用途によってさまざまな分類があり、現在は特定の目的のために使用されることがほとんどです。常にレベルが高いほど良いとは限らず、その目的や用途によって適切なものを使用します。また、現在まさに発展途上であり、その進化のスピードは大変速いため、つねに最新の情報に注意する必要があります。
RPAとAIの違い
このように、RPAとAIは異なるものであることがお分かりいただけたと思います。
RPAはあくまで決められたルールに沿って処理を実行するという意味では、AIというよりは通常のプログラムに近い位置づけです。これまでにない点は、ユーザー操作の位置づけで複数のアプリケーションにまたがる処理を自動化できることで、その振る舞いからソフトウェア「ロボット」と呼ばれています。
一方でAIは、いくつかのレベルには分かれるものの、多くのデータからパターン分析を行い、それをもとに分類や処理を自律的に判断します。
今後はこれらを組み合わせ、RPAで行う処理内容のパターンをAIで分析し、適切な処理パターンをRPAに指示して実行するということも始められています。
RPAとAIは排他的な関係ではなく、現在プログラムに従って処理するRPAをAIで制御するという方向性に進んでゆくと考えられます。
RPAの製品選定においても、このような観点を考慮するとよいでしょう。
まずは単純作業の自動化をRPAで実現
現在多くの企業や組織において直面している課題の一つは、より徹底した業務の効率化です。特に定型的な業務効率化はよりIT活用の余地があり、かつ長時間労働の抑制や人材確保の難しさなどの背景により、優先度の高い課題となっています。ここで必要なのはRPAです。定型業務ではすでに業務フローは確立しているものの、使用するアプリケーションが複数にまたがっていることなどにより自動化が阻害しているケースが多くみられます。
将来的にAIとの連携を視野に入れつつ、導入のハードルの低いRPAを活用して、できる効率化から進めるというのは合理的な進め方でしょう。
ビジネスにRPAを
定型業務への課題はお持ちでしょうか。当たり前の作業になっていて気づいていないことも多いのではないでしょうか。しかし、本当の意味での働き方改革は待ったなしで、単純作業はソフトウェアに任せてしまい、より人の能力を発揮しなくてはいけないコアな業務に専念するのはその第一歩です。初期投資もリスクも小さく始められるツールの活用をぜひご検討ください。