はじめに
Microsoft社のAzureクラウドサービスの1つ、Azure Form Recognizerを使ったDX推進について説明していきます。AI-OCRの基礎から、RPAとの連携まで1つずつ説明していきたいと思います。
当記事は、一部でPythonプログラムの説明も含まれていますが、「俺はプログラムに興味はない!DX推進したいだけだ!」という利用ユーザーの立場の方にも理解できる内容にしたつもりです。
この記事で想定している読者の方
・会社のお仕事で、紙文書や、FAX、画像ファイルをお客様からたくさん受領していて、紙中心の事務を電子化・事務効率化したいと思っている方
・AIやPythonプログラミングに興味がある方
・AI-OCR、RPAについて興味がある方
Microsoft社のAzureクラウドサービスについて
まずは、Azureのあたりから順番に説明していきます。
Azureクラウドサービスは、IaaS/PaaSの機能を持ち、システム開発でやりたいことがほぼすべて実現できる開発基盤になります。
価格をみてもらうとわかるのですが、とにかく安い!!と思いました。アプリケーション開発基盤やストレージ、今回ご紹介するAIサービスまで、他社の同種のサービスと比べると安めの価格設定だと思いました。従量課金の価格体系ですので、中小企業などシステムの利用規模が小さい会社ほどメリットがあります。
また、Microsoft社が提供しているサービスですので、Microsoft製品と親和性が高いのも特徴です。会社でWindows OSを使っているのであれば、候補の一つに入れるべきと思います。
サービスの詳細については、Microsoft社のサイトをご確認下さい。
Computer VisionとAzure Form Recognizerの違い
Azureクラウドサービスの一カテゴリーとして「Azure Cognitive Services」があります。これは、AIがよくわからない人でもAIサービスを簡単に開発して使って欲しい、というコンセプトで設計されており、AI未体験のシステムエンジニア向けのサービスになります。
「Azure Cognitive Services」の中で画像認識サービスとして、Computer Vision やAzure Form Recognizerがあります。 Computer Visionは一般的な画像に対しての解析サービス、Azure Form RecognizerはOCR機能に特化した解析サービスになります。
Computer VisionにもOCR機能はあるので、機能的には一部重複しています。Azure Form Recognizer固有機能として、項目名と実際の項目の値を紐づける機能があります。利用用途に応じて使い分けて下さい。
AIの利用について
私もシステムエンジニアの一人ですが、AI技術は従来のシステム開発技術の上位概念に位置づけられると考えています。つまり、従来のシステム開発技術だけでなくAI技術を併用することで、ユーザー満足度の更なる向上が可能になるということです。また、AI技術は日々進歩しており、今まで人間でしかできないと思われていた領域にまで踏み込んできています。
いずれシステム開発はAI技術を併用するかどうかを検討しながら進めるアプローチが主流になると考えます。Azureクラウドサービスには「Azure Cognitive Services」以外にもAIサービスが多数あるので、システム開発の基礎検討段階で利用できそうか検討してみて下さい。
また、システムでAIを使う上で注意してほしいのは「100%保証される動きをしない」ということです。
どういうことかというと、従来のシステム開発では、例えば「“1”が入力されたら機能Aを動かす、”2”が入力されたら機能Bを動かす」とプログラミングすれば、100%確実にこの通りの動きをします。
一方で、AI技術はもっと抽象的な領域を対象としています。例えば「犬」と「猫」の絵を識別することを考えてみます。AIにはあらかじめたくさんの「犬」と「猫」の画像を学習させてその特徴を覚えさせるのですが、「どんな特徴を覚えたか」は、プログラミングをしている技術者でもわかりません。そのため「ハアハア口を開けている犬の画像」と「ムスッと口を閉じている猫の画像」を大量に学習させた場合、口を開けているか/閉じているかを犬/猫の特徴として覚える可能性があります。こうなると「あくびをしている大きな口を開けた猫の画像」をAIは犬と判断するでしょう。
これは分かりやすい例ですが、もっと細かいレベルになると、どうしても間違って判断してしまうことが普通にあり得ます。一方で、会社の仕事はミスが許されない世界です。この「どうしても間違って判断してしまう可能性」を考慮して、AI導入後の事務フローを考える必要があります。
まとめ
本題のAzure Form Recognizerの話に入る前に、AzureやAIについての基礎知識についてまとめました。
Azure は安くて便利、ただしIaaS/PaaSですので使うためには「開発」が必要です。つまり、エンドユーザー向けに完成されたサービスではありません。
また、AIは100%確実な動きはしないので「もしも間違ってしまった場合」を考慮して、新事務フローを考えましょう。逆にその前提だと、「新事務フローが成り立たない」/「AIの実行結果の確認に時間がかかり事務の効率化が図れない」といった可能性があるなら、AI利用は見送るべきです。
次回は、AI-OCRについて説明します。