デスクワークを超絶快適にするおすすめギアたち

【初心者向け】Microsoft コグニティブサービスをPADで利用してみた。

【当サイトはプロモーションを含んでいます】

目次

複雑な処理はAIに任せよう。

このブログでは、Power Automate for DesktopやPythonを使った業務効率化を紹介していますが、画像分析やテキスト分析などの複雑な処理を自分で作成するには限界があります。

Azure Cognitive Servicesは、そんな複雑な処理を可能にするAIの機能を、Power Automate やPythonプログラムに簡単に組み込んで利用することができます。

じょじお

この記事ではAzureコグニティブサービスをPower Automate for Desktopで利用する方法について解説しています。

この記事では、初心者の方向けに下記を解説しています。

  • Azureとは何かをざっくりと解説
  • Azureを無料で利用する手順の解説
  • Azure Cognitive Servicesとは何かをざっくりと解説
  • Power Automate for Desktopで、Azure Cognitive Servicesを使って画像解析する方法を解説

Azure Cognitive Servicesとは?

Azure Cognitive Services

Azure Cognitive Services(コグニティブサービス)とは、人間の持つ認知機能(音声・言語・視覚・決定)を獲得したAIを使って画像分析やテキスト分析をすることができるMicrosoftのサービスです。自分のプログラムやPower AutomateにAIの機能を簡単に組み込んで利用することができます。(Cognitiveは認知という意味を持つ英単語です。)

Cognitive Services は、あらゆる開発者およびデータ サイエンティストが AI を利用できるようにします。業界トップのモデルによって、さまざまなユースケースへの対応が可能になります。API を呼び出すだけで、見る、聞く、話す、検索する、理解する、高度な意思決定を迅速に行うといった機能をアプリに埋め込むことができます。スキル レベルを問わず、開発者およびデータ サイエンティストがアプリに AI 機能を簡単に追加できるようになります。

この 50 秒のビデオでは、よくご存じのプログラミング言語を使用して、さまざまなユース ケースで AI ソリューションをデプロイする方法をご紹介します。

引用元:Azure Cognitive Services – https://azure.microsoft.com/ja-jp/services/cognitive-services/
じょじお

コグニティブサービスには下記のサービスがあります!

ぽこがみさま

有名なのは、”画像から文字を抽出するComputer Vision”とか”テキスト分析を行うLanguage Service”などがあります!

Azure Cognitive Servicesに含まれるサービス

  • Decision(決断)
    • Anomaly detector
    • Content moderator
    • Personalizer
  • Language(言語)
    • Language service
    • Translator
    • Language understanding (classic)
    • QnA maker (classic)
  • Speech(音声)
    • Speech service
  • Vision(視覚)
    • Computer vision
    • Custom vision
    • Face API

Azure Cognitive Servicesのメリット!

AIを使ったサービスや自動化を実現するには、通常、大量の教師データを用意してAIに学習させながら細かいチューニングを時間をかけて行う必要があります。しかし、コグニティブサービスを使えばそのステップを省略することができます。また、機械学習の知識を持ったエンジニアでなくてもAIを気軽に利用することができます。

Azure Cognitive Servicesのメリット

  • 学習済みのAIを使うことができる!(あるいはノンプログラミングで簡単に学習させることができる)
  • 深い専門知識がなくても少ないコストでAIを使うことができる!

Azure Cognitive Servicesを使ってみよう!

Azureってそもそも何?

Azure Cognitive Servicesは、Microsoft Azureのサービスの一部です。そのためAzureの利用登録が必要です。

Microsoft Azureは、Microsoftが提供するクラウドサービスの総評です。Azureを使えば、自身でサーバやソフトウェアを持たなくても必要なときに必要な分だけITリソースを利用することができます

じょじお

Azureは、AmazonのAWSやGoogleのGCPと並び、よく世界3大クラウドサービスのひとつに数えられている、世界を代表するクラウドサービスですね!

Azureは無料で誰でも試用することができます。

ぽこがみさま

Azureは基本的には従量課金サービスです。でも無料枠があるので誰でも試すことができるよ。

じょじお

無料枠で試用する場合もクレジットカード登録は必要です。きちんと無料枠設定をしておけば知らない間に課金されることはありませんので安心してください!

Azureの利用に必要なもの

  • Microsoftアカウント(個人・ビジネス)
  • クレジットカード

Microsoftアカウントをお持ちではない方は、下記から無料で作成できます。
新しい Microsoft アカウントを作成する方法

Azure登録手順の解説!

STEP
Microsoft Azure Cognitive Servicesのトップページを開き「無料で始める」をクリックします。
Azure Cognitive Services

下記のMicrosoft Azure Cognitive Servicesの公式ページを開き、図の「無料で始める」をクリックします。

Microsoft Azure Cognitive Services
https://azure.microsoft.com/ja-jp/free/cognitive-services/

STEP
個人情報を入力します。
Azure Cognitive Services

▲住所・氏名など個人情報を入力します。

Azure Cognitive Services

▲利用規約やその他の同意事項を確認して、「同意する」にチェックを入れます。

入力が完了したら一番下の「次へ」をクリックします。

STEP
クレジットカード情報を入力します。
Azure Cognitive Services

▲無料試用の場合もクレジットカードの入力が必要です。入力が完了したら一番の下の「サインイン」をクリックします。ここまでの作業で利用登録は完了です。

図の中の説明文「重量課金制の価格に移行しない限り、請求されることはありません」と表示があるように、Azureの各サービスの設定の中でフリープランを選択すれば無料枠の範囲だけで利用できるので請求の心配はありません。

STEP
「Azureへようこそ」画面の中の「Azure Portalを続行する」をクリックします。
Azure Cognitive Services

▲Azureの利用登録が完了すると、ようこそ画面が表示されます。画面の中にある「Azure Portalを続行する」ボタンをクリックします。

STEP
「Azure Portal」が開きます。
Azure Cognitive Services

Azure Portal(https://portal.azure.com/)が開きます。

STEP
Azure利用登録は完了です。

Power Automate for Desktopで画像分析をしてみる。

じょじお

Azureの登録ができたので、Power Automate for Desktopを使って画像分析をしてみたいと思います!

1.Computer visionアプリケーションの作成

STEP
Azure Portal画面内のサービス一覧から「Cognitive Services」をクリックします。
Microsoft Azure Cognitive Services

▲Azure Portal(https://portal.azure.com/)のAzureサービス一覧グループの中にある「Cognitive Services」をクリックします。「Cognitive Services」が表示されていない場合は、画面上部の検索窓から「Cognitive Services」で検索して探してください。

STEP
Visonグループの中の「Computer vision」のCreateをクリックします。
Azure Cognitive Services Computervision コンピュータービジョン
STEP
アプリケーションの設定を入力します。
Azure Cognitive Services
  1. サブスクリプション:請求グループを選択します。今回はデフォルトのAzure subscription 1を選択します。
  2. リソースグループを新規作成します。今回は「テスト」としました。
  3. リージョン:サーバが置かれた場所を選択します。お住まいの地域から近い場所で良いかと思います。日本の場合、東日本と西日本のいずれかがありますが、Power Automate Desktopでは現在東日本だけに対応していますので「東日本」を選択します。
  4. Name:アプリケーションの名前を付けます。他の人が既に使用している名前は設定することができません。
  5. Pricing tier:今回はテストなのでFree F0を選択します。
STEP
同意事項を読んでチェックし「構成と作成」をクリックします。
  1. 英文の注意事項を読んで同意事項にチェックを入れます。
  2. 「確認と作成」をクリックします。
STEP
入力内容を確認して「作成」をクリックします。
STEP
しばらくするとアプリケーションのデプロイが完了します。完了したら「リソースに移動」をクリックします。
STEP
「アクセスキーを表示」をクリックします。
STEP
サブスクリプションキーをひとつコピーします。

サブスクリプションキーが2つ表示されますのでどちらか1つだけをコピーします。のちほどPower Automate Desktopのフロー作成の時に必要になりますのでメモ帳などに保存しておきます。無くしたり見られたりしないように注意してください。

STEP
Computer Visionのアプリケーションの作成は完了です。

以上でAzure portalでの操作は終わりです。続いてPower Automate for Desktopのフローを作成していきます。

2.Power Automate for Desktopのフローを作成する

STEP
新規フローを作成します。
STEP
Computer Visionグループの中のOCRアクションを追加します。

Power Automate for Desktopで画像からテキストを抽出するにはOCRアクションを使います。

OCRとは:光学式文字認識(OCR)は、画像から文字列を抽出する技術です。

STEP
OCRアクションのパラメータを入力します。
  1. サーバの場所:東日本
  2. サブスクリプションキー:前のステップでコピーしたキーを張り付けます。
  3. 画像を提供します:「GCSから」か「ファイルから」を選択します。GCSはインターネット上の画像のことです。ファイルはパソコンに保存済みの画像です。ここでは「GCSから」を選択します。
  4. 画像のURL:画像のURLを入力します。③で「ファイルから」を選択した場合は、ファイルパスを入力します。今回は下記の当サイトの画像(https://www.teijitaisya.com/wp-content/uploads/2021/11/Frame-176.png)を使います。
  5. 言語:日本語の場合は「ja」を選択します。
  6. 向きを検出します:画像の向きを検出するかどうかを設定します。true:する、false:しない
テストで使う画像
じょじお

今回使う画像です↑。「動画で学ぼう」という文言が取得できれば成功です!

STEP
アクションを追加します。

今回はOCRの結果を直接テキストファイルに出力してみたいと思います。

  1. 「テキストファイルに書き込みます」アクションを追加します。
  2. 「アプリケーションの実行」アクションを追加します。

▲「テキストファイルに書き込みます」アクションのパラメータを入力します。

  • ファイルパス:結果を書き込むファイルです。.txt形式のファイルを事前に作成しておきましょう。ここではC:\Users\user\Documents\resultText.txtと入力しました。
  • 書き込むテキスト:%JSONResponse%とします。これはOCRアクションが生成する変数です。

▲「アプリケーションの実行」アクションのパラメータを入力します。

  • アプリケーションパス:上で書き込みを行ったテキストファイルのパスを指定します。ここではC:\Users\user\Documents\resultText.txtと入力しました。
STEP
フローを実行します。

フローを実行すると、メモ帳が開いてJSON形式のテキストが書き込まれていることが分かるかと思います。これが画像分析結果です。(下図)

▲”text”というキーに抽出された文字が取得出来ていることが分かるか思います。

きちんと文章にするにはループで”text”キーの値を取り出して文字列連結させる必要がありそうですね。それはまた別の機会にトライしてみたいと思います。

{
  "language": "ja",
  "textAngle": 0.0,
  "orientation": "NotDetected",
  "regions": [
    {
      "Properties": {
        "boundingBox": "34,19,571,379",
        "lines": [
          {
            "Properties": {
              "boundingBox": "528,19,48,48",
              "words": [
                {
                  "Properties": {
                    "boundingBox": "528,19,48,48",
                    "text": "0"
                  }
                }
              ]
            }
          },
          {
            "Properties": {
              "boundingBox": "103,51,96,37",
              "words": [
                {
                  "Properties": {
                    "boundingBox": "103,51,96,37",
                    "text": "python"
                  }
                }
              ]
            }
          },
          {
            "Properties": {
              "boundingBox": "151,144,454,78",
              "words": [
                {
                  "Properties": {
                    "boundingBox": "151,144,64,78",
                    "text": "動"
                  }
                },
                {
                  "Properties": {
                    "boundingBox": "232,146,65,76",
                    "text": "画"
                  }
                },
                {
                  "Properties": {
                    "boundingBox": "325,146,50,76",
                    "text": "て"
                  }
                },
                {
                  "Properties": {
                    "boundingBox": "394,144,64,78",
                    "text": "学"
                  }
                },
                {
                  "Properties": {
                    "boundingBox": "477,144,66,78",
                    "text": "ぼ"
                  }
                },
                {
                  "Properties": {
                    "boundingBox": "567,151,38,71",
                    "text": "う"
                  }
                }
              ]
            }
          },
          {
            "Properties": {
              "boundingBox": "34,375,93,23",
              "words": [
                {
                  "Properties": {
                    "boundingBox": "34,379,16,18",
                    "text": "て"
                  }
                },
                {
                  "Properties": {
                    "boundingBox": "63,378,14,20",
                    "text": "じ"
                  }
                },
                {
                  "Properties": {
                    "boundingBox": "87,378,15,19",
                    "text": "ら"
                  }
                },
                {
                  "Properties": {
                    "boundingBox": "112,375,15,22",
                    "text": "ほ"
                  }
                }
              ]
            }
          },
          {
            "Properties": {
              "boundingBox": "66,276,39,39",
              "words": [
                {
                  "Properties": {
                    "boundingBox": "66,276,39,39",
                    "text": "0"
                  }
                }
              ]
            }
          }
        ]
      }
    }
  ]
}

まとめ

じょじお

以上でPower Automate for Desktopで画像から文章を抽出する方法について解説しました。

ぽこがみさま

Power Automate for DesktopやPower Automate には他にもコグニティブサービスを使ったアクションが用意されています。また次の機会に紹介していこうと思います。

参考

お役に立てたらシェアお願いします!
  • URLをコピーしました!
  • URLをコピーしました!
目次