生成AIとAzure OCRを組み合わせれば、人間と同じレベルの文字読み取り率な件
はじめに OCRについて
OCR(Optical Character Recognition)とは、システムによって手書き画像やPDFデータを文字に起こすことを指します。2010年代後半、私はBPO事業のシステムエンジニアとして働いていました。その際はAI-OCRが流行りましたが、95%程度の精度だった記憶です。
95%は高そうに見えて、実際に長文や大量のデータを読み取るとかなり粗が目立つ印象でした。そのため、POCをなん度も行いましたがなかなか業務に導入することは難しかったです。
2024年のOCRの状況
2024年にはOCRはChatGPTはじめとする生成AIでもできます。ChatGPTにこの画像は何と書いてある?と渡せばテキストで文字列を返してくれます。またAWS,GCP,Azureなどの有名クラウドサービスのどれもがOCRサービスを提供しています。そのため、利用者にとってはどれが最も精度が良いかを気軽に試せる選択肢が豊富な状態になったと言えます。
そして、私が生成AIや各種クラウドサービスを試してきて、2024年8月時点で日本語読み取り率が最も高いと感じたのがAzure AI Vsionです。
Azure AI Visonについて
これはOCRに特化したサービスではなく、画像の分析や物体の検出、顔認識もできます。その中でもOCR技術は特筆すべき精度を出しています。感想として私よりも読み取り精度は高いと考えています。
AI Visionを試す
Azure AI Visonは誰でも簡単に試すことができます。まずはAzureにサインアップしてください。
https://portal.azure.com/#home
その後、検索でComputer Visionと調べることで対象インスタンスを作成することができます。無料利用枠もあるため、クレジットカードの登録は必要ですが無料でお試しはできます。
インスタンスにアクセスすることで、Vision Studioにアクセス、利用することができます。Vision StudioはAI Visionをすぐに試すことができる環境です。
実際に試した結果
画像をクリックしてアップしてみてください。
wordなどPCで作ったものをPDFに変換しただけであれば精度は100%、スマホなどで写真撮影した場合は若干落ちますが、かなりの精度です。
若干の読み違いに対する考えと対策
例えば一番最後のレシート画像のOCRは、トップの「*領収書明細*」を「冰領収証明細水」と読み間違えてしまっています。確かにそう読めなくもないですが、人間ではここに「水」の文字が来ることはこれまでの経験上あり得ないといった経験則があります。
その経験則をもとに読み替えているため、水ではなく*であると読み取ることができます。
常識を持っている生成AIをAzure OCRの後に使う
そこで生成AIです。生成AIは常識を持っているため、OCRデータと画像データを合わせて連携します。生成AIは「冰領収証明細水」が間違っていることに気づきます。そのため出力データは領収書明細だけを抽出してくれます。
最初から生成AIのOCRではダメなのか?
まだ2024年時点では厳しいといったのが結論です。具体的には数値の読み取りミスなどがあり、OCR単体の読み取り率で劣ります。そのため、2024年時点ではOCRを通してから生成AIのルールをベースに情報構造化することがベストです。
まとめ
実はすでにAzure OCRと生成AIを使えば、日本語OCR問題はほぼ解決します。PDFデータを読み取って何か別のシステムに転記することや、取引先から手書きFAXデータが送られてくることありませんか?
これまではOCR精度が95%程度だったため間違える確率が高く、人間が行うべきでしたがすでにシステムで人間レベルの精度が出せています。
またOCRでテキストデータになれば、その文字列の中に特定文字があるといったルールベースでの書類分類やマスターとの一致などあらゆることが可能です。
実は日本語OCR問題はかなり解決しているといったことを認識いただければ幸いです。
弊社ではこの記事で紹介した内容の実装も得意としております。業務コンサルのレイヤーから入ることもできるため、記事の内容を自社に導入したい場合はぜひお問い合わせしてください。