0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Azure Machine Learning ことはじめ(Form Recognizer version 2.1)

Last updated at Posted at 2023-01-04

Azure Machine Learning の Form Recognizer を勉強します。

Microsoft Learn はこちらです。

演習課題はこちらです。

Form Recognizer は、紙帳票を PDF や画像化して、そこからテキストなどの情報を検出する、というのが典型的な使い方になると思います。

世の中、まだまだ紙帳票が幅をきかせてますので、Scansnap と組み合わせて帳票の読み込みシステムなんかを提案するのに使えると思います。
他にはスクレイピングで PDF からデータをゲットするのにも使えると思います。

使用に際して、Microsoft アカウントを作成し、Azure Portal にログインしておきます。

準備

Azure Portal で「リソース、サービス、ドキュメントの検索」で「Form Recognizer」を入力し、検索します。

「+作成」ボタンから Form Recognizer のサービスアカウントを作成します。

左ペインの「キーとエンドポイント」をクリックし、キー1とエンドポイントを控えておきます。

Learn の演習を試す

演習を進めていきます。Powershell ターミナルを開き、git コマンドを使って、サンプルコードをダウンロードします。

サンプルコードのダウンロード
git clone https://github.com/MicrosoftLearning/AI-900-AIFundamentals ai-900

この AI-900-AIFundamentals には、AI-900 の他の演習のコードも含まれていますが、ここでは「form-recognizer.ps1」を使用します。エディタを開いて、1、2行目を編集します。

form-recognizer.ps1
$key="YOUR_KEY"            # 自分のキーに書き換える
$endpoint="YOUR_ENDPOINT"  # 自分のエンドポイント URL に書き換える

# Create the URL where the raw receipt image can be found
$img = "https://raw.githubusercontent.com/MicrosoftLearning/AI-900-AIFundamentals/main/data/vision/receipt.jpg"

# Create the header for the REST POST with the subscription key
# In this example, the URL of the image will be sent instead of 
# the raw image, so the Content-Type is JSON
$headers = @{}
$headers.Add( "Ocp-Apim-Subscription-Key", $key )
$headers.Add( "Content-Type","application/json" )

変数 key には、Azure Portal の Form Recognizer のサービスアカウントで控えたキーを、変数 endpoint にはエンドポイントを代入します。

保存したらターミナルから実行してみます。

form-recognizer.ps1 改1
PS C:\ai-900> .\form-recognizer.ps1
Sending receipt...
...Receipt sent.                                                                                                        
Getting results...
...Done

Receipt Type:  Itemized
Merchant Address:  123 Main Street
Merchant Phone:  555-123-4567
Transaction Date:  2020-02-17
Receipt Items:
Item # 1
  - Name:  Apple
  - Price:  0.9
Item # 2
  - Name:  Orange
  - Price:  0.8
Subtotal:  $1.70
Tax:  $0.17
Total:  $1.87

検出できたかどうかを確認するため、元の画像を見てみます。

receipt.jpg

おー、読み取れてますね。

日本語が含まれているものはどうでしょうか。

ネットで適当に見つけたレシートです。お借りします。

レシート

サンプルのコードを編集します。

form-recognizer.ps1 改1
04 # Create the URL where the raw receipt image can be found
05 # 元の $img をコメントアウト
06 #$img = "https://raw.githubusercontent.com/MicrosoftLearning/AI-900-AIFundamentals/main/data/vision/receipt.jpg"
07 # 見つけたレシートのURLを$imgに代入
08 $img = "https://images.ctfassets.net/gc4s9mi2asix/2oqypNvnB2KBBVCxMsp3io/b178c4d155b1f0a629ed6dae05eb0815/69293f3f47e533e9fcc2023595ba89ce.png"
09
10 # Create the header for the REST POST with the subscription key

さっそく実行します。

実行結果
PS C:\ai-900> .\form-recognizer.ps1
Sending receipt...
...Receipt sent.                                                                                                        
Getting results...
...Done

Receipt Type:  Itemized
Merchant Address:
Merchant Phone:
Transaction Date:  
Receipt Items:
Subtotal:
Tax:  
Total:  

認識しないですね。。。

実は、Form Recognizer はすでに version 3.0 の開発が進められていて、2022-8-30 に GA となっています。こちらであれば、認識できました。

version 3.0 については、別記事として勉強の記録を残しています。

Azure Machine Learning ことはじめ(Form Recognizer version 3.0 2022-08-31版)

Form Recognizer Studio を使う

実は Powershell などで開発しなくても、Form Recognizer Studio を使うことで簡単に画像からデータの読み込みを行うことができます。

Form Recognizer Studio

AI-900 のサンプルのようなレシートの読み込みであれば、メニューから「Receipts」をクリックします。

使い方は、左上の「Drag and drop document here」にレシートファイルをドラッグ&ドロップし、横の「Analyze」をクリックするだけです。

結果は、右の Fields、Result、Code で確認することができます。

参考

Azure Form Recognizer とは?

関連記事

Azure Machine Learning ことはじめ(Custom Vision による画像分類)
Azure Machine Learning ことはじめ(Azure Machine Learning Studio を使ったデータ分類)
Azure Machine Learning ことはじめ(テキスト分析)
Azure Machine Learning ことはじめ(Form Recognizer version 3.0 2022-08-31版)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?