AI搭載を見据えたRPAの実装方法とは?
働き方改革を実現するには、業務をロボットに任せる必要があります。肉体労働なら、産業用ロボットに任せれますが、頭脳労働のホワイトカラー業務はRPAのソフトウェアロボットが活躍します。
RPAにそのソフトウェアロボットの頭脳といえるAIの技法を取り入れて導入するにはどのような方法があるのか分かり易く解説いたします。
単純作業だけのRPAではもったいないです。経験知識を生かせるRPAの実装の仕方の参考にしてください。
AIについてあまり専門知識がない方向けの内容です。
働き方改革の要はRPA
働き方改革が多くのメディアに取り上げれられ、話題になっています。
近年、洗濯は乾燥まで全自動となり、お掃除ロボットや自動食器洗い機などのおかげで主婦の家事労働に余裕ができ、ジムに通ったり趣味に時間を費やすことが可能となりました。
一方、職場はどうでしょう?
コンピュータで行うべき難しい処理は、マシン室のサーバに集められスケジューラなどいろいろな効率化のツールを使い、その多くが自動化されてきました。それなのに、オフィスで働く人のほとんどは、未だにパソコンに向かいキーボードを打ちマウスを動かしています。
このような状況で、どのようにしたら仕事に余裕が生まれるのでしょうか?
それを解決するには、ロボットに仕事を任せてしまうのが一番です。
たとえばテレワークの在宅勤務を例にした場合、分かり易いのがソフトウェアロボットというデジタル労働者に仕事を任せて、自分は家からその労働者を見守り指導するという方法です。
もちろんセキュアなシステムであることが前提ですが、在宅勤務を可能にするためには、まず会社で行なっている仕事を自動化することが必須です。会社でのPC操作を不要にしてはじめて家での仕事が可能になります。それを現実的に実現してくれるのがRPAです。
RPA(Robotic Process Automation) は、デジタル労働者のソフトウェアロボットを使ってPC操作も含め業務を完全に自動化することを目指します。
RPAを社内で進化させる
RPAはテレビ番組などで取り上げられたためホワイトカラーの雑用の自動化で脚光を浴びました。しかし、RPAの可能性は、それだけで 終わらせては勿体ないです。
もちろんRPAを初めて導入する場合は、人が行なっていたオフィス業務の単純作業を自動化するだけでも充分効果があります。しかし、RPAは構築次第で複雑な業務も対応が可能なのに、多くの人たちがRPAの可能性を理解できておらず、パターン化できる作業しか自動化できないと思ってしまっているようです。
この仕事は自分にしかできないとか、経験がないと他の人には無理だと思われている業務は多いです。この固定概念があると特に経験を積んだベテラン社員は、いつまでもその仕事に縛られてしまうことになりかねません。
RPAの導入で、ソフトウェアロボットという後輩に、どんどん仕事を引き継ぐイメージをしてみてください。最初は、単純作業から始めて、いろいろ経験をさせることで難しい仕事も引き継ぐことができます。この時、なるべくソフトウェアロボットが仕事を自動化しやすいようにとわざわざ業務フローを変更しないようにしてください。フローを変更すると、いざという時に、あなたが代わって手続きする場合に手順が分からなくなってしまいます。
無理だと思っていても、引き継ぐことをイメージすると自分がしていた作業をパターン化して整理することが可能になります。経験による判断が必要な場合、引継ぎ書にすべてのパターンを洗い出してケース毎に処理する手順を明確化できれば、ソフトウェアロボットにプログラムすることで指示がし易くなります。
プログラムで作成するのは複雑で難しい場合、今まで手計算に頼っていた部分をパターン化することでエクセルのマクロ等で作成できてしまう場合があります。それを利用すれば、ソフトウェアロボットはオペレーションに徹して、画面の数字をエクセルに渡し、エクセルのマクロの計算結果を他のアプリ画面に自動入力させるなどといった形でとても効率化できます。
もっと複雑な場合、交通費計算や経費精算など、特定分野の効率化ツールとRPAツールを連携させてしまえば、今まであなたの判断が必要だった業務も少しづつソフトウェアロボットへ引き継ぎ、RPAを進化させながら業務を効率化させることができます。
RPAで期待されるAI
第4次産業革命の核となっているひとつにAI(人工知能)がありますが、生活の中にもAI搭載のロボット家電が一般的に普及し始め、RPAのソフトウェアロボットにもAIを搭載して実装する期待が高まってきています。
初期のRPAの目的は、キーボードやマウスの操作を中心とした定例業務の自動化で十分でした。RPAツールを使えば、エクセルでマクロ登録をするレベルの技術力で、単純作業の自動化が簡単に行なえます。定例業務のルーチンワークが自動化できれば、速さも正確性も増し、RPAの効果が実感できました。するともっと他の複雑な業務にも拡大して自動化を推進していきたいというRPAへの期待が高まります。
誰でも操作ができそうなエクセルやワードなどの業務であれば問題ないのですが、人の判断にゆだねる操作や、メール文書のようなパターン化しづらいデータを処理する複雑な業務は、残念ながらその構造上RPAツールの多くが不得意です。しかしながら、ロボットは賢いというイメージにより、人の経験や知識に依存する業務などに対しても自動化したいという要望も多くなってきています。というのも、働き方改革を望んでいるのに、ベテラン社員はソフトウェアロボットの助けを借りられないのであれば、いつまで経っても在宅勤務が夢で終わってしまうからです。
業務に必要なAIとは?
AIを必要としている目的が、あたかも人が判断したような動きをすることであった場合、業務によっては、そんなにコストをかけなくても高度なAIを搭載しているかのようにシステムを自動化をすることが可能になります。
その代表例が、チャットボットです。「人工無脳」(あるいは人工無能)と呼ばれ、テキストや音声を通じて、会話を自動的に行うプログラムですが、実体は会話の中のキーワードを拾って、内部のデータベースとマッチングすることにより、シナリオに従って選択式に会話したり、会話ログを利用して文脈に適切と思われる応答を返しているだけです。
それでも、コールセンターやヘルプデスクなどでは大活躍しており、その人間らしさには驚かせられます。チャットボットを多くの人は、自律型の本格的なAIが搭載されていると信じて疑わないほど、バックグラウンドで動く仕組みが巧妙に人間らしさを追求されているものが多いです。
そこまでしなくても、簡単な業務では人が行なっているかのような動きを与えることができる場合もあります。
たとえば、お客様から来る資料請求のメールに対して、商品の種類が多数存在している場合でも、RPAツールで送るべき資料を自動的に判断できる様にプログラムしてしまえば、あたかも担当者が手続きしたかのように迅速に資料を送ることができます。その際、見積依頼を定型フォーマットで入力できるようにWeb公開しておけば、複雑な見積書の自動返信にも応用できます。
もちろん、他社に先駆けて今後の業務拡大を行なうためには、自律型AIの技術が必要な分野もありますが、コストを考えた場合、人らしさを考慮すれば本格的なAIを搭載しなくても、プログラミング次第で対応できる業務は結構多いというのが実情です。
AIって何ですか?
人工知能つまりAIは、コンピュータを使って創造された知能ということになりますが、そもそも生物でないコンピュータに知能が備わるのでしょうか?
知能を単に物事を理解したり判断したりする力と定義してしまえば、その理解力や、判断レベルでAIもいろいろな種類に分けられることになります。
幼児であっても知能が備わっているといわれるように、知能と同様コンピュータにどこまで判断させる機能を備えさせるかによって、コンピュータのAIのレベルも違ってきます。
本来であれば、コンピュータ自身が考え行動するという能力がAIに求められていますが、状況によって知能という言葉の解釈が変わるため、世間では単純にルールに従って出された受け答えでも、人間らしく振舞っているように見えるコンピュータの動作はすべてAIという言葉で代替されているようです。
AIの歴史は古く、1956 年の「ダートマス会議」で初めて人工知能(artificial intelligence)という言葉が使われたといわれています。この頃の第一次AIブームでは、人工知能は「推論と探索」を中心とした手法が盛んで、それはルールやゴールが決まっているチェスや迷路などを解くためのものでした。但し、ヒトの脳を模したニューロンという理論もすでにこの頃から研究が始まっていました。
その後、1980 年以降の第二次AIブームでは、世界中の企業で「エキスパートシステム」が採用されるようになり、日本でも第五世代コンピュータプロジェクトが開始されました。
エキスパートシステムは、特定の分野で知識ベースを使って推論を行なうルールベースのプログラムで、人間の専門家のように意思決定ができるようにしたシステムです。
有名な囲碁専用のAI「AlphaGo」が、人間のプロ棋士に勝利して依頼、Google の翻訳や、自動運転技術やトレーディングなど、深層学習を実用化したシステムが多く登場してきています。
弱いAIと強いAI
人工知能を弱いAI、強いAIという言い方で分類することがあります。
弱いAIというのは、ルールベースに始まり特化した分野のエキスパートシステムまで、あたかも優秀な人間を模して処理されるのに対して、強いAIは自ら学習し、自律型で汎用性があるAIを指しているようです。
近年のディープラーニングのブームに乗って、多くの大企業や組織によって汎用人工知能(AGI:artificial general intelligence)の研究が積極的に進められています。
AGIは、人間レベルの知能の実現を目指しているため、スーパーコンピュータを使用して神経細胞とシナプスからなる大脳皮質をシミュレートするなど、人間の脳についての研究も進められております。
従来のルールベースの推論では難しかった音声認識、画像認識等でかなり実用化されて来てはおりますが、人間の脳に迫る汎用的な知能というものは、判定も難しくまだまだ実現できる分野が限定的であるようです。
意識を持ったコンピュータの能力を強いAIとするならば、本来人工知能というAIは自分の意志を持って自律できる人工知能を目指して開発されて来ていたので、本当の意味でのAIの姿は、レイ・カーツワイルの予言で有名になった「シンギュラリティ」(技術的特異点)に到達したときに完成するのかもしれません。そんな時が到来すれば、人類はコンピュータと融合し、AGIを搭載したコンピュータは自分達自身で、自分の分身をいくつも量産可能になるかもしれないという恐怖もあります。
強いAIはまだまだ発展途上ですが、現実的には第2次AIブームで多くの企業が採用したエキスパートシステムのように、弱いAIが多くの企業で活躍し始めています。ルールベースのパターンマッチングを利用した推論や探索に基づく弱いAIであっても、普通の業務あれば、人間の処理速度や処理量をはるかに超えてミスなく処理できるため、充分役立っています。
業務の分類とAI技術
RPAツールは、通常頭脳にあたるAI機能を持っていません。中には積極的に取り込んでいるツールもありますが、全ての要件をカバーできるAIはないため、業務によって柔軟に組み合わせることができるRPAツールとその業務に合ったAI技法を選ぶことが大切です。
単純な作業でパターン化できる業務は、ルールベースによって自動化できます。多くのRPAツールは、数種の条件であればルールベースを組み込んで、オペレーションを自動化する設定が可能となっています。
複雑なパターンが複数組み合わさっていたり、場合によって適用すべき条件を変更しなければいけないような複雑な業務は、推論エンジンを使用することが効果的です。過去のデータを元にいろいろな事象を総合して答えを導き出す場合など、答えが1対1の比較だけでは断定できないような場合に有効です。
知識の蓄積が必要な業務は、日々の経験の積み重ねによる判断が必要な業務ですが、これは最新データも常にリアルタイムで追加しながら、判断の対象とすべき内容なため、機械学習の技法が必要です。
ビッグデータを活用した業務は、機械学習の中でもディープラーニングが向いています。とてつもなく大量のデータを学習させるためには、処理するコンピュータ自らが自律して処理できないと、そもそもデータ量が多すぎて答えを導き出すためのデータを与える人間の処理能力が追いついていけません。
具体的にそれぞれの技法を見ていきましょう。
ルールベースのAI
ルールベースのAIとはどのようなものでしょうか?
判断を求められる処理に対して、その条件に対して行うべき処理をあらかじめ登録しておくことにより、コンピュータに答えさせる方法です。
If ~ then ~で表せるような、ある条件に対して、どのようなアクションを行うかという、プログラミングであれば最も基本となるIf 文形式のものが当てはまります。
プログラムの中で、If 文や、Switch 文を使用してそれぞれの場合に応じた処理方法を記述しておけば、状況による判断をあらかじめ指定しておくことが可能になります。
判断内容によってはコーディングする行数は多くなりますが、プログラム初心者でも簡単に、コンピュータを人間らしく見せることができるベーシックな手法です。
これを応用して、else をつければ条件に該当しない場合のアクションを選ぶことができ、If で尋ねる条件をテーブル化すれば、量が多い場合の条件にも対応できます。
初期の頃のロールプレイングゲームは、このパターンでの受け答えが多かったのでわかりやすいでしょう。
セキュリティ上エクセルのマクロを禁止されている場合でも、If 関数で記述するだけで、If ~ then ~ else ~の処理を簡単に登録できます。
RPAでこの処理を自動化するためには、RPAツールにはキーボードやマウスの操作のオペレーションのみを設定し、ルールベースのコーディングはRPAツールに記述するのではなく、エクセルのような表計算ソフトや、専用のルールベースを処理できるツールに任せれば、かなり多くの判断が必要なデータの処理であっても楽に設定でき、高速かつ正確な処理が実現できます。
推論エンジンと知識ベース
エキスパートシステムで有名な推論エンジンですが、その仕組みはルールベースを発展させ、知識ベースの情報を元にワーキングメモリを使って推論することを可能にします。
代表的な「PS(Production System)」の例では、知識ベースに事前に様々なルールが登録されており、ワーキングメモリつまり作業領域を独立して持っていて、そこに事実や特徴のデータを格納しておきます。 そして、知識ベースに入っているルール郡と、ワーキングメモリに蓄積された内容を推論エンジンが照合して、回答を導き出します。下記のA は画家だと推論できます。
ルールベースでは、論理的なある意味の断定に近い回答を得られていましたが、推論エンジンの発達で抽象的な内容についても判断ができるようになってきました。
状況に応じて物事の判断に曖昧性を持たせたことで、より人間に近い動きとなり、今まであきらめていた断定できないような判断が伴う業務処理についても、自動化できる可能性が広がります。
推論エンジンには、いろいろな手法が使用されていますが、たとえば汎用性のあるアシスト社の「Progress Corticon」をRPAツールと組み合わせれば、簡単にAIを搭載したような業務自動化が実現できます。
機械学習の発展
ルールベースの考えから発展してきたAIがある一方で、決定論的な柔軟性に乏しいという問題に対応するために、確率や統計の考え方を人工知能に導入して例外への柔軟な対応をとれるよう1985 年に考案された「ベイジアン・ネットワーク」という手法があります。
イギリスの数学者の「ベイズ理論」を応用したもので、まず一旦あたりをつけて主観的に確立を決めて、その現実との乖離を元に補正を繰り返すやり方です。
この方法では、徐々に初期確率を補正して精緻化するという学習方式をとるため、大量な学習データとそれを処理する強力なコンピュータパワーが必要でした。これに対し、1990 年以降、個人向けPC も普及し、インターネットが爆発的に広がったことから大量のデータが容易に収集可能となりました。
また、ベイジアン・ネットワークは、機械に学習させるという手法です。機械学習という手法は、ルールベースにも適用されていますが、Webとの親和性も高かったため確率・統計手法での存在感が際立っています。
事前にある程度方針を決め、集団別に分類することをゴールにしている「クラスタリング」や、学習成果を受けて報酬を与える「強化学 習」などがあります。
機械学習では、アリゴリズムの観点で、「教師あり学習」と「教師なし学習」、あるいは、「半教師あり学習」などにも分類されます。
そして、機械学習といえば、現在でも一番話題になっているニューラルネットワークです。
神経が伝わる仕組みを活用した手法で、脳科学との関わり合いもあり、人の脳を模倣しようという考えは意外に古く戦前よりありました。その後、1986 年に命名されたバックプロパゲーション(誤差逆伝播法)によってこれに「教師あり学習」を行なわせることで、機械学習により排他的論理和の問題などを克服しました。しかし、多層化することで学習の処理が複雑で、学習のさせ方自体が難しくなるのと、その計算負荷が膨大になりすぎるという新たな課題も生じてきました。
ディープラーニングとビッグデータ
ニューラルネットワークによる機械学習の中でも、学習のさせ方が複雑で難しくなってしまうという問題に対して、答えを与えない学習を可能にしたということで、日々多くのメディアに取り上げられているのが「ディープラーニング」(深層学習)です。
ディープラーニングは、車の自動運転や音声検索等、人間の能力に依存していた画像認識や音声認識などの分野でめざましい活躍を見せています。
ディープラーニングは、単なる機械学習とは異なり、今まで人間が与えていた教師データなどの特徴の指示や、パラメータによるアルゴリズムの調整などをコンピュータ自身で行えます。人間の大脳皮質が3層以上あるように、ディープラーニングではニューラルネットワークを多層化して学習し、特徴となる要素をコンピュータ自身が抽出できます。よって、答えを与えない学習が可能なため、自律型のAIとして注目されています。
ニューラルネットワークの多層化で自己学習を可能にするためには、学習時間や処理にかかるコストが膨大になることが問題でしたが、GPU をはじめコンピュータ処理能力の向上によって近年実用化が可能になってきました。
技術の進歩はめざましく、たとえば現在のスマートフォンは、20年ほど前に、チェスの世界チャンピオンを負かしたIBM社のスパコンであるディープ・ブルーの処理能力に匹敵します。実際、すでにGoogle やFacebook 等は、スマーフォン上でディープラーニングモデルを作成できるようにしています。
一方、ディープラーニングの大ヒットでビッグデータの役割、重要性がますます高まってきました。テクノロジーの発達によって、人間では到底計算できないような膨大なデータを元に答えを導くことができるようになり、今後この分野はさらに進化し続けるでしょう。
ディープラーニングに限らず、AIを搭載する場合、大量のデータを必要とするケースがあります。その操作を行うのに、高速でソートするための「Precisely Connect」のようなツールや、高速解析のためにcsv の形式でSQL 文を操作できる「解析ブースター」のようなツール等を利用すると、RPAが更に効率的に実装できます。
AIサービスとRPA
ビッグデータを活用するためにクラウドを利用したサービスが大変増えてきております。
AIも例外ではありません。
自社のノウハウを利用してAIを搭載する仕組みを構築するのであれば、そのノウハウが流出しないように自社のインフラでAIを構築するという選択もありますが、発展途上のAIをトライアル的に実装していくのであれば、クラウドサービスを利用する方法もあります。
いろいろな分野に特化したサービスが提供されているので、RPAで連携すれば割と手軽にAIを利用した業務が行なえます。
たとえば、AmazonのAWSなどのクラウドサービスでは、ディープラーニングを活用するためのフレームワークや、ライブラリーがあり、GPUなどの利用も可能です。 新規の業務には有望な選択肢となるでしょう。
RPAで自動処理させる限り、ユーザにはクラウドサービスを利用しているのかどうかなどは、あまり意識させずに使用することが可能です。
ここで注意すべきことは、音声認識、画像認識、テキスト解析などのAIテクノロジーをWeb APIの形で利用できるある大手のクラウドサービスは、企業向けオンラインサービスのプライバシーポリシーの中で、「Cognitive Services には適用されない」のいう文言が追加されたことが話題になりました。
ディープラーニングなど、AIサービスの提供業者は、自身のAI精度の向上を目的に、ユーザがサービスの利用をする時のインプットデータをサービス業者側でも利用できるようにしているケースがあるということです。これは、サービス提供側の目的は理解できますが、ユーザが個人情報等を自身で管理し、セキュリティ等についても自分達で責任をもってAIを利用しなければいけないとあらためて認識する必要があります。
AI搭載RPAの今後
現在盛り上がっているRPAの実態は、まだまだ汎用的なAIは搭載されておらず意思決定が簡単な定例業務を中心にパターン化できる作業の自動化がほとんどです。一方、RPAのツールベンダーは、AIをどのように取り入れていくか模索中で、いろんな業種でそれぞれAI的に業務代行できるソフトウェロボットを展開しています。
今後、AIが実際の業務に普及するためには、RPAを導入することがよい機会なのかもしれません。AIの取り扱いをソフトウェアロボットに任せることにより、人々はより高度な処理がなされたかのように勘違いし、処理も素早く正確なのできっと満足度も高まることでしょう。
AIを搭載することによる懸念点は、AIが出してきた答えが正しいものかどうかの検証が人間ではできなくなる場合が多いことです。つまり、AIが出してきた答えは、それがどのような推論であっても信じるほかなくなってしまうのです。ビッグデータを元に導き出した答えは、たとえそのアルゴリズムに問題があっても、人間では膨大な処理を検証する術もなく見逃してしまうことが多くなるでしょう。但し、それは致し方ないことです。
コンピュータの恩恵を受けるためには、今後AIを搭載したシステムが不可欠になってきます。バックオフィスの自動化を進め、次に業務の改善、見直しをする場合には、必ずソフトウェアロボットにオペレーションを任せることを前提として自動化の改善をすべきです。
今後、どの業務にも役立つAIが選別され使用できるように開発されれば、RPAツールとしてAI標準搭載済みソフトウェアロボットが世に広まってくるでしょう。
それまでは、業種や業態に特化したAIシステムと有効なRPAツールのソフトウェアロボットとをうまく組み合わせて、RPAの導入を進めていくべきです。
RPAによる働き方改革
ソフトウェアロボットに頭脳といえるAIを組み合わせてRPAがそれらを実装できれば、働き方改革の推進に明るい未来が待っています。
事務担当者は、自宅からソフトウェアロボットの監視を行ない、時間があれば新たなソフトウェアロボットを自宅で量産し、遠隔地から業務をこなす時代が来るでしょう。
但し、典型的なRPAツールはサーバ/クライアント方式の中央集中管理型を採用しているためロボットの運用のためにシステム管理者を別にアサインし、ロボットを管理する必要があり、冗長化やバックアップの問題を解決するためには、多くの投資が必要になってしまいます。
ROBOWAREのように、ソフトウェアロボット同士がリレー(中継)できると、PCで開発してそのままサーバ無しでIPネットワークを通じて、他のソフトウェアロボットに指示が与えられます。人が仕事する場合と同様に、何か不都合があってもソフトウェアロボット同士で、代替してバックアップ体制をとることができます。コールドスタンバイとして、業務担当者のみで電源が入っていない別のPCを起動して、障害時も処理を継続させることが可能です。
また、リモートデスクトップの環境などセキュアな仕組みが必要なテレワークでも、サーバ側でROBOWAREを導入すれば、複数台のソフトウェアロボットをそれぞれ独立して動かすことができます。
2020年からは、小学校でもプログラミングの授業が必須となります。
近い将来、プログラミングによって、ソフトウェアロボットを作成したり、AIのアルゴリズムをチューニングしたりすることは、日常の英会話を覚えるのが一般的になったのと同様、誰でも当たり前に習得して普通に行われているだろうと予想されます。
将来の会社は、何台のソフトウェアロボットを自分の部下に持っているかで、給与や待遇が違ってくる時代になるかもしれません。
もうすぐソフトウェアロボットという働き者の部下が、私たちの仕事を楽にしてくれて、避暑地で余暇を楽しみながら働ける時代がきっとやってくることでしょう。
参考文献: 教養としての人工知能(福岡浩二氏著 2016.1.31 電子版)
【RPA概説ページリンク】(*2017年1月31日~2019年5月10日公開の過去の情報です)
PDFダウンロード
【RPAソリューションページリンク】
【業務視える化関連リンク】