RPA、流行ってますよね。
RPAは、Robotics Process Automationの略で、人間が実施しているマニュアル作業を
機械、ロボット、コンピューターに代わりにやってもらうことを意味します。
私の会社は創立3年のスタートアップですが、一応会社ではあるので社内にはそこそこ面倒な経理業務が発生しています。
しかし、経理の人員は1人だけしかおらず、RPAでもっと楽にしてほしい、ということをよく私に言ってきます。
RPAっていったいどんなものなのか、私は全然理解していないので、まずは簡単に技術を抑えるところから始めたいと思い、こちらの投稿でRPAの基本をまとめたいと思います。
Agenda
RPAの実装方式3つ
想定読者:
- RPAの基本を知りたい人
メリット:
- RPAがどういった概念かわかる
- 社内の業務を自動化する際にどのように使えるかイメージがわく。
RPA御三家:Blue Prism、Automation Anywhere、UiPath
実は2000年代前半が創業だった。
RPAを提供している企業ですが、実は最近出てきたものではなく、2000年代前半からいたということがわかりました。
主要ベンダーはBlue Prism、Automation Anywhere、UiPathの御三家ですが、それぞれ2001年、2003年、2005年が創業であり、
直近3年で確立された、とかそういうレベルの技術ではありません。
もともとはシステム開発プロジェクトにおけるテストを自動化する、といったニーズから使用されるようになっているようです。
そういえば、以前SAP導入のプロジェクトでテストデータを作るのとテストを実行する際に名前は忘れましたがRPAのツールを使ったことがあったような気が・・・
技術は大まかに分けて3種類
RPAの基礎的な技術ですが、これも以前からあったものになります。
最近有名なのはAIを使用したものですが、依然AIを使用したものは精度がそこまで高くないということがわかりました。
こちらで、大まかに分けた技術3種類を記載しています。
人間のパソコン操作の模倣:マウスとキーボードの動きをまねる
メリット:操作を記録させるのが簡単
デメリット:画面が変わったり、条件が異なると動かない。
Excelのマクロの記録と同じような感じですね。
記録開始してから、記録終了するまでの動きをまねさせることで、コンピューターにも同じことをしてもらいます。
この機能は、現在市場に出回っているRPAであればほとんどが実装しています。
使用方法はすごくイメージがしやすい一方で、画面上のこの位置をクリックするよ、という方法で処理を行っていくので、
画面の形状が変わったりするとたちまち動かなくなってしまうという弱点を持っています。
この弱点もExcelのマクロと同じですね。
画面要素分析:画面の構成要素に対して処理をかける
メリット:画面が変わっても構成要素自体が不変であれば処理できる
デメリット:構成要素が存在しない場合、対処できない
先ほどの例とは異なり、ちょっとプログラミングっぽくなります。
画面上のボタンなどをクリックするというコンセプト自体は同じですが、どこをクリックするのか、という判定を構成要素の名前で特定します。
私たちが普段見ているアプリケーションやウェブページの画面上にはいろいろとボタンなどがありますが、これらのオブジェクトは裏では技術的な名前を持っています。
これらの名前は画面上で一意に保たれていて、基本的に重複しません。
画面要素分析では、画面上に存在する”A ボタン”をクリックするという処理をコンピューターに覚えさせるので、
この”A ボタン”がどこにあろうが、クリックすることができるという点で確実な処理ができます。
デメリットは、こうしたオブジェクトが構造を持っていることを前提としている点、つまり、構造を持っていない要素である場合は対処できない点です。
特定の位置にカーソルを置いたときに表示されるような動きのあるオブジェクトなどは指定ができなかったりします。
そんな動きのないアプリやウェブページに対して処理をかける場合ははこちらの技術はかなり信頼できるということですね。
こちらの技術を用いて自動化をするのが現実的なオプションになりそうです。
画像認識:AIで画像から処理をかける対象を特定
メリット:システムだけでなく帳票なども処理できる
デメリット:まだ精度が高くない
一気に未来っぽくなりました。
AIに画面を画像としてとらえさせ、処理をかけるべき対象を画像で判定したり、文字列を読み取って判定させる技術です。
この技術により、紙面をPDFにしたものを読み取り、その情報をシステムに打ち込む、といったアナログとデジタルをつなぐような動きも可能となりました。
この技術があると、いままで目で見てチェックしていたことがほとんど自動化できるようになります。
例えば発注書、納品書、請求書の3点チェックでは、品目違いがないか、請求されている金額があっているか、支払い条件があっているかなどを
機械に判定させ、合致していれば買掛金を同じ金額で計上する、といったことが可能になります。
今、私の会社では毎月数十件の発注に伴う買掛債務の形状を経理担当の方が一人で見て毎月大変そうにしていますが、これも自動化できそうですよね。
一方で、新しい技術になっていますのでまだ制度が高くないことも多く、使用する領域には制限がかかることが多いようです。
結局、まだ実用するには早いと言わざるを得ない感じです。
RPAのクラス:どのレベルまで自動化するか
ちなみに、RPAは、どのレベルまで自動化するかで、クラス分けされています。
現状は、精度の点でもクラス1にとどまっているようですね。
というか、クラス1でもできれば十分すぎるのでは・・・
- クラス1 : 定型業務の自動化
- 情報取得や入力作業、検証作業などの定型的な作業
⇒RPA (Robotic Process Automation)
- 情報取得や入力作業、検証作業などの定型的な作業
- クラス2:一部非定型業務の自動化
- RPAとAIの技術を用いることにより非定型作業の自動化
⇒EPA (Enhanced Process Automation) - 自然言語解析、画像解析、音声解析、マシーンラーニング技術の活用
- 非構造化データの読み取りや、知識ベースの活用も可能
- RPAとAIの技術を用いることにより非定型作業の自動化
- クラス3 :高度な自律化
- プロセスの分析や改善、意思決定までを自ら自動化
⇒CA (Cognitive Automation)
- ディープラーニングや自然言語処理
- プロセスの分析や改善、意思決定までを自ら自動化
終わりに
直近でRPAを入れるわけではないですが、入れるのであればクラス1のレベルで、技術としては画面要素分析型のRPAになるでしょう。
これを導入するにあたっては、画面要素をどのように指定したらよいのか、といった点を理解できる程度の知識は必要になりそうです。