RPAの仕組み

RPAの仕組みとは?自動化の仕組みと特徴を徹底解説!

RPAの仕組み

RPAは、これまで人間が行ってきたホワイトカラー業務をロボットに代行させることで、業務の自動化・効率化・エラー防止を図るツールです。

業務改善のツールとしても注目を集めているRPAですが、実際どのような仕組みで自動化を行っているのでしょうか。

この記事では、技術的な側面にも触れつつ、RPAの仕組みを解説します。

また、RPAができること・できないこと、RPAの特徴についてもあわせて紹介します。

RPAとは

関連記事

少子高齢化による人員不足により職場の生産性アップが叫ばれる現代、満を持して現れた業務自動化ツール「RPA」。 RPA導入の波は、大企業だけではなく中小企業にも広がっており、21世紀の働き方を大きく変えることになるでしょう。 我[…]

RPAとはの写真

RPAとはRobotic Process Automationの略で、「ホワイトカラーの単純作業に相当する業務を簡単に自動化するロボット」を意味します。

定型業務や、ワークフローに従って行われる事務作業等をソフトウェアロボットで自動化するツールです。

RPAの登場以前、事務作業の仕組みをプログラミングによって作る場合、複数のアプリケーションをどのように連携するかが大きな課題でした。

プログラミングを用いる場合、連携するアプリケーションのAPI(Application Program Interface)を公開する必要があり、自動化が困難でした。

また、こうした連携プログラムはアプリケーションのバージョンアップの際の修正も大変でした。

一方RPAは、人が行う操作を同じように行うので、アプリケーションの変更が必要ありません

また、業務のフローを簡単に修正できるので、アプリケーションのバージョンアップにも柔軟に対応することができます

RPAの仕組み

RPAの仕組みについて、機能別に紹介していきます。

RPAロボットの仕組み①~認識~

RPAの認識の仕組みは主に4通りあります。

ここでは、認識の正確性が高いものから順番に紹介していきます。

RPAによる認識の仕組み

UI(User Interface)認識

WebアプリケーションやVB(Visual Basic)などで作成された、Windows純正のアプリケーションは、基本的にオブジェクトをコードレベルで認識することができます。

※VBとはMicrosoftが開発したプログラミング言語で、Windowsとの親和性が高いという特徴があります。

オブジェクトは、画面上に表示され、入力・選択するための部品のことです。

フィールドや表示ラベル、リスト、エクセルシートの行や列、セルなどがオブジェクトに含まれます。

エクセル以外のオブジェクトはアプリケーションを開発する際に画面枠に貼りつけてあるものであり、内部IDが付与されていることがほとんどです。

RPAでワークフローを記述する際には、そのIDを用いて動作を指定するので、処理対象となるオブジェクトが画面上のどこにあっても認識することが可能です。

従って、UI認識を取ることのできるRPAは、対象アプリケーションの多少の変化によって止まることが少なく、安定稼働に向いていると言えます。

ファイル認識

PC上のExcelやフラットファイルなどのファイルの操作も、RPAによって処理できます。

これらのファイルも上述したUI認識と同様にWindowsが管理する情報なので、RPAが認識・処理することができるのです。

画像認識

画像の認識は、アプリケーションの画面を、デザインや色、レイアウトを記憶することで認識させます。

基本的な画面構成が変わらない限り、認識できると考えていただいて大丈夫です。

画面構成が大きく変化する場合(動作によって多様な画面遷移がある場合など)は、その流れを整理してワークフローを作成する必要があります。

また、ウィンドウサイズや色彩が大きく変わるような設定がなされている場合、条件によってチェックボックスの数が変化する場合にも、画像認識に影響を及ぼしてしまう可能性があります。

座標指定

座標指定による認識は、ロボットを開発するPCの画面上で処理対象アプリケーション画面・処理フィールドの座標を認識させて処理します。

画面の横軸と縦軸で、横から縦から〇〇pxというような形で指定するということです。

同一PCにおいてウィンドウを小さくしたり、画面サイズの違うPCで動作させたりした場合、座標がずれてしまい、処理ができなくなります。

座標指定による認識は、紹介した4つの中で最も不安定な認識方法となります。

RPAロボットの仕組み②~判断~

RPA自ら判断はしない

RPAはあらかじめ決められているルールに従って単純作業を行うツールです。

RPAは、条件に従ってデータを仕分けたりメールを送信するか決めるなどの動作も自動化できますが、これらは判断ではなく条件に従った分岐設定という方が正確です。

現時点では、人が考えて何かを判断するようにRPAが自ら考えて判断を下すということはできません

RPAは将来頭脳を持つ

現在、AIの機械学習の仕組みを取り込んでいます。

こうすることで、過去の自身が行なった膨大な業務の中から傾向をあぶり出し、

この研究が進めば、RPAは自ら判断し動作することが可能になるでしょう。

RPAロボットの仕組み③~操作~

RPAロボットは、API(Application Programming Interface)を用いてWindowsのパソコンに直接指示を出します。

※APIとは、自己のソフトウェアを公開することで、自分のソフトウェアに他のソフトウェアの機能を埋め込み、アプリケーション同士を連携させるinterfaceの仕様を意味します。

RPAはアプリケーションソフトウェアとシステムを接続させるわけではなく、APIを経由してWindowsを操作するものなので、各アプリケーションに手を加える必要がありません

また、RPAツールによっては、使用頻度の高いアプリケーションに対する接続環境を提供しているものもあります。

これを用いると、アプリケーションを画像認識や座標指定で認識する場合と比べ、高精度かつ簡単に認識・操作することができます。

RPAロボットの仕組み④~ワークフロー作成~

レコーディング機能

RPAには人がWindows PC上で行った作業を記録する機能があります。

このレコーディングによって、RPAの動作を指定するためのワークフローが自動で生成され、同じパソコン操作を自動化することができます。

レコーディングによる自動化は、Internet Explore、Windows向けにMSのライブラリ・環境を使って開発されたアプリケーション、キーボードやマウス操作で使えるアプリケーションであれば可能です。

ワークフロー修正機能

RPAによる自動化の中で、自動レコーディングしたフローを修正したいと感じる機会は多いと思います。

RPAの動作フローは実際の業務フローを細分化して記述したフローチャートになっており、この動作フローを修正することになります。

ここで分岐条件や繰り返し、例外処理などのフロー制御の機能(詳しくは口述します)を活用し、外部から処理対象の値を与えたり、処理回数を数えたりするために内部パラメータが使えるようになります。

デバッグ

RPA処理のフローができたら、実際に動作させ、意図した動きを再現できるか確認します。

デバッグは処理ブロック毎に実施し、内部パラメータの値などの処理結果を確認します。

本番環境に置く前に、デバックをすることで早期のバグ発見を行うことが、RPAの開発においては必須です。

RPAロボットの仕組み⑤~フロー制御~

RPAには、単純にPC操作を繰り返す以外にフローを制御する機能があり、これらをフローに組み込むことで、条件に応じて分岐したり、エラー処理をしたりすることができます。

条件分岐

「条件に当てはまる場合は処理Aを、当てはまらない場合は処理Bを行う」といった分岐条件を設定できます。

繰り返し

「指定した回数/指定した時間まで、処理Aを繰り返す」、「条件に当てはまるようになるまで処理Aを繰り返す」などの繰り返しを設定できます。

例外処理

「通常の状態では何もしないが、例外が発生した際には処理Aを行う」といった例外処理を設定できます。

別のフローを呼び出す

ワークフローAの実行からワークフローBを呼び出すことができます。

また、処理Aでデータを変えながらワークフロー全体を繰り返すこともできます。

ウエイト

処理A実行後、処理Bを行うまでの間に任意のタイムラグを設定することができます。

処理Aによる処理にかかる時間が一定ではない場合などに、ウエイトを入れることで、相手側の処理が終了してから次の処理に移ることができます。

もちろん、ウエイトを入れるのではなく、エラーが出た際には処理を行うなどの対応も可能です。

Excel操作

Excel操作機能は、RPAツールに標準装備されている場合が多いです。

この操作機能には、Excelファイルやシート、セルの操作などの基本的な操作が含まれます。

また、Excel内部のデータ処理はExcelマクロでも自動化できます。

RPAからマクロを呼び出す仕組みがあるので、RPAを用いることで、すでにExcelマクロで自動化されている操作を含んだ状態で周辺システムやファイル操作まで自動化の範囲を拡大することができます。

スケジュールの設定と実行

RPAの機能を用いて時間起動できるものもありますが、Windowsのタスクスケジューラーに起動時刻を設定し、Windows OSの正確な時刻でRPAを起動することもできます。

Windows OSの時間を用いるメリットは、その正確性にあります。

Windowsは通常NTP(Network Time Protocol)という、コンピューターの内部時刻を正確に合わせるためにネットワーク上の時間サーバーに問い合わせる仕組みを持つプロトコルを用いています。

そのため、Windows OSの時刻はアプリケーションの時刻より正確であることが多いです。

RPAロボットの集中管理

RPAには、ロボットが動作するPCの実行スケジュールを管理したり、実行の指示をしたりする機能があります。

これはRPAロボットの管理のための機能です。

大規模にRPAを導入した場合や各現場で開発を行っている場合、どのPCでどのようなロボットを使用しているかが管理できなくなってしまうことがあります。

こういった問題を防止するために、集中管理の仕組みが用意されているのです。

RPAが代替できる動作

RPAが代替できるPC上の操作には、次のようなものがあります。

  • キーボードやマウスなどのパソコン操作
  • 画面上の文字列や図形、色の判別
  • アプリケーションの起動や終了
  • IDやパスワードなどの自動入力
  • データの収集・整理・分析
  • スケジュールの設定と実行
  • アプリケーションをまたがったデータの受け渡し
  • 社内システムと業務アプリケーションのデータ連携
  • 条件分岐設定やAI機能との連携によるエラー処理や自動応答

これらの動作を設定する際に、上述した認識技術を利用します。

RPAにできないこと

RPAは、パソコン上での操作を自動化するためのツールで、ロボットアームやベルトコンベアなどのハードウェアを持っていません。

そのため、物を運んだり組み立てたりといったアナログ操作はできません。

また、人工知能による意思決定を必要とする作業については、現在実用化に向けた取り組みが進められているものの、まだ実装段階には至っていません。

従って、対象アプリケーションのUI変更やちょっとしたワークフローの設定ミスで誤作動やエラーを起こしてしまうことがあります。

RPAに向かない業務

RPAの導入には、向き不向きがあります。

下のような特徴がある業務は、RPAの導入に向かないと言えます。

  • 条件分岐が複雑である
  • 多くの種類のエラーが発生する
  • 繰り返しのサイクルにばらつきがある
  • 間に人の判断を要する
  • 利用データがデータ化されていない(一部はOCRで解決できる)
  • Mac上での処理である

こういった条件に当てはまる業務を自動化したい場合、業務フローの見直しをする必要が出てくる場合もあります。

RPAの特徴

RPAは、従来の自動化のためのシステムとは大きく違います。

RPAの特徴を3つ挙げ、その違いについて説明します。

直観的に操作できる

RPAツールの多くは、フローチャートなどの視覚的にわかりやすい形でロボットを作成することができます。

また、認識や実行、繰り返しといったアクションを、アイコンを並べるだけでフローチャートに乗せることができるなど、直観的な操作が可能となります。

既存システムに干渉しない

RPAは、UIタグやHTMLタグ、画像認識などの方法で情報を取得することができるため、既存のシステムに影響を与えることなく導入することができます。

そのため、既存システムを変更する必要がなく、システム改修のリスクを負うことなく導入・運用することができます。

現場主導で導入できる

RPAはユーザビリティが高く、プログラミングの技術を必要としないツールです。

そのため、数週間のトレーニングによって、開発ができるようになります。

導入ハードルが低いことで、業務に深い理解を持つ現場の従業員が自発的にツールを選定・採用することができ、最適な形での業務効率化が可能となります。

RPAの3つのクラス

RPAは搭載された機能や適用対象となる作業の難易度に応じて3つのクラスに分けられています。

クラス2とクラス3には機械学習と呼ばれる自動学習機能が備わっており、判断を必要とするような高度な作業を自動化することができます。

RPAの発展段階図

クラス1:RPA(Robotic Process Automation)

RPAは、定型業務やルールを明確に示すことのできる業務を自動化するツールであり、複数アプリケーションの連携を必要とする業務を得意としています。

主にルールエンジンや画像認識、業務フロー管理などのツールが搭載されており、判断基準を設定することで様々なイレギュラーに対応することができます。

しかし、設定されていないイレギュラーが発生するとエラーを起こしてしまうので、導入時に条件の洗い出しと対処方法の設定を十分に行う必要があります。

クラス2:EPA(Enhanced Process Automation)

EPAは、紙媒体でのアンケート結果の集計や、自由記述による問い合わせ内容の分析など、非構造化データを扱う業務を得意としています。

また、イレギュラーに対しても柔軟に対応でき、RPAでは難しい非定型業務を自動化することができます。

クラス3:CA(Cognitive Automation)

CAは、情報の整理・分析はもちろん、意思決定も行うことができるツールです。

ディープラーニングにより、作業プロセスの分析や評価、改善方法の探索と再実施を自動で行います。

ディープラーニングを用いることで、天候に応じた販売予測と生産指示など、人間には扱いきれない膨大な量のデータを分析し、意思決定を行うことができます。

※ディープラーニングとは機械学習の手法の1つであり、予め与えられた大量のデータを元に自主的な学習と成長を行う学習方法です。

また、CAは自然言語処理が可能です。

高度なAIを搭載したCAを用いることで、相手の感情や状況に配慮したメッセージを作成するなど、人間に近い水準のサービスを提供することも可能となります。

RPAとAIの違い

RPAとAIをそれぞれ直訳すると、RPAは「ロボットによる手順の自動化」、AIは「人工知能」となります。

RPAは与えられたフローと条件に基づいて自動で処理を行うツールであり、AIはそれに加えて自らも情報を収集し、考え、判断することができるツールです。

このような高度な知的活動をクラス1(RPA)は行うことができませんが、自動学習機能が搭載されているクラス2(EPA)とクラス3(CA)はAIの一種とみなすことができます。

まとめ

この記事では、RPAの仕組みや特徴、できること・できないことについて解説しました。

RPAツールへの理解を深めることでより効率的に自動化を進めることができるようになります。

業務改善としても注目を集めているRPAが、どのように業務を自動化しているのか、理解の助けとなることができれば幸いです。

また、RPAツールは日々進化を続けています。

次々と出される知見にも注目しながら、RPAツールに関する理解を深めていってください。

下の記事で、RPAとは何か、導入の効果や事例などのRPAの基礎知識を解説していますので、合わせてぜひお読みください。

RPATIMES

少子高齢化による人員不足により職場の生産性アップが叫ばれる現代、満を持して現れた […]…

RPAの仕組み
最新情報をチェックしよう!
>「RPATIMES」へのお問い合わせ

「RPATIMES」へのお問い合わせ

タイアップ記事を投稿してほしい。 インタビューを受けたい。 プレスリリースを送付したい。などのご意見・ご要望がありましたら、こちらまでお問い合わせください。

CTR IMG