🌮

Amazon Textractを海外のレシートで試してみた

2022/11/03に公開

Amazon Textractとは

  • 機械学習サービスのひとつ
  • PDFやPNG,JPEGから文字や数字を抽出してくれます
  • 手書きも可、日本語 *非対応*

アップデート

2022/11/01,02にアップデートアナウンスが3回ありました。Textract内で用途によってAPIが分かれていて、それぞれアップデートしているようです。

https://aws.amazon.com/about-aws/whats-new/2022/11/amazon-textract-updates-analyze-expense-api-processing-documents/

  • インボイスやレシートの読み取りのAnalyzeExpense APIが向上
  • 読み取りのkeyが増えた

https://aws.amazon.com/about-aws/whats-new/2022/11/amazon-textract-updates-analyze-id-api/

  • パスポートや運転免許証の読み取りのためのAnalyzeExpense APIが向上

https://aws.amazon.com/about-aws/whats-new/2022/11/amazon-textract-updates-forms-text-extraction-features/

  • AnalyzeDocument APIのテキストやフォームの抽出性能が向上
  • key-valueペアの読み取り性能向上。税やイミグレーションフォームなどで見られる1文字だけの箇所が、何なのかの判断がこれまでは難しかった
  • 小切手に使われるE13Bフォントに対応。銀行の書類などでよく使われている

E13B、こういうフォントだそうです(wikipedia)

やってみる

「やってみた aws textract」で検索すると、他の人がいろいろやっていますのでそちらも見ていただくとよいと思いますが、PDFの事例が多いのかなという印象で、今回は2019年にカンボジア旅行に行ったときのレシートを使ってみます。ちなみにカンボジアはドルで支払えます。

  • 操作はコンソール上で、画像かPDFを読み込んで実行するだけでした。
  • アップデートの恩恵という意味ではAnalyzeExpense APIの部分ですね。

メキシコ料理店のレシート

カンボジア、なぜかメキシコ料理の有名店が多かったです。

元データがこちら。幅8センチくらいのレシートです。元の印刷状態がそれなりなのと、3年前なのでけっこうスカスカになっています。

Raw textの結果です。かすれ気味なので心配でしたが、問題ないようです。Est. 2012の部分が istになっている以外は正確に読めています。セグメントがSegment by lineになので、スペースも含めて繋がっています。

セグメントをSegment by wordに変更すると、1単語ずつで区切られて出力されます。

Formsタブでは自動でキーバリューを読み取ります。項目が全部にならないのは、Textract内で決められたキーにマッチした値だけを抽出するからのようです。この値は、データをダウンロードしたときはkeyValues.csvに入っています。

Tableタブです。縦横が埋まっていないときはマージしてくれるみたいですが、unmergedのほうがよさそうでした。ダウンロードするとtable.csvに入っています。

お店のレシート

コンビニっぽいお店です。クロワッサンとリッツチーズクラッカーを買ったようです。

これもかなり正確に読めていますね。間違いを探す方が難しいのでは。面白いなと思ったのは、カンボジア語は華麗にスルーされているな、というところです(当たり前?)。

まとめ

  • Amazon Textractは英語なら使えそう
  • 手書きも試したけど、かなり読めている
  • GCP, Azureは同様のサービスは日本語対応している(!)のですが、AWSはしないのかな?

Appendix

メキシコ料理店で取った写真もオマケで貼っておきます。ちなみに2019年の時点でカンボジアでは紙のストロー使ってましたね。

Discussion