スマートOCRを使って色んな帳票を読み取ってみた!

今回はOCR初心者の私が、「スマートOCR」なるOCRツールを使ってみました!帳票のデータ化に興味がある方もない方も、是非ご一読ください!

 

 

スマートOCRとは?

スマートOCRは株式会社インフォディオ様が提供されているOCRツールです。

AIによるディープラーニングを用いた高精度の文字認識を活用し、領収書や発注書などの帳票を読み取り・データ化ができるツールのようです。早速検証していきます!

 

以下スマートOCRの公式HPです。

スマートOCR|非定型帳票や手書き文字も読み取り可能のAI-OCR (smartocr.jp)

 

 

スマートOCRを使ってみた

 

文章の読み取り

 

まずは文字認識ということで、この文章をデータ化していきます。文字列のみのドキュメントを用いてツールの使い方を検証しようと思います。

 

ちなみに、私がスマートOCRでデータ化したときの基本的な流れは下図のようになります。

 

①スマートOCRに読み取ってもらう帳票画像をアップロードします。

OCR変換を行い、画像に含まれるすべての文字を抽出します。

③テンプレートを使い、欲しい情報を取得すればデータ化完了です。

 

①・②はスマートOCRの標準機能でやってくれますが、③で使うテンプレートは帳票に合わせて自作し、カスタマイズする必要があります。

今回の記事では、テンプレートのカスタマイズ方法も紹介していきます!なお、今回は配置の決まった帳票を想定した定型OCRの検証になります。

 

 

まずはデータ化したい画像をアップロードしていきます。

左上の「アップロード」を押すと図のようなアップロード画面が出てきます。スキャンしたデータであれば、ここで歪み補正をかけることも出来ますが、今回は元がデータのWordファイルなので、スルーします...

 

「読込完了」となり、アップロードできたようです。

 

次に、ピンクの「OCR依頼」を押すと、OCR変換してくれます。

 

 

OCR変換が完了して、文字が認識されました。

 

 

次に、これをデータ化するテンプレートを作成していきます。

まずは、「アサ」という植物の説明を取得していきたいと思います。

 

テンプレートは下図のように設定しました。バリューの設定では抽出タイプ「文字列」、キーの設定ではキーに含む文字「アサ」を指定しました。

 

このテンプレートで、OCR変換したものをデータ化すると、図のようになりました。「アサ」の説明がデータとして抽出されていますが、改行で途切れちゃっています。

 

 

改行で「アサ」の説明が途切れないようにテンプレートを修正していきます。

アフター処理で、①文字が途切れないように候補の指定を「すべて取り出す」とし、それだけだと文章下の方にある「マニラアサ」の説明も取ってきてしまうので、

②キーから「マニラアサ」を除きます

 

アサの説明が綺麗に取得できました。

 

 

 

 

 

領収書の読み取り

 

次は領収書をデータ化していきます。データ化する領収書はこちらです。様々な配置や種類の情報があるなかで、欲しい情報を取得できるか検証します。

 

領収書の中にはいろいろな項目がありますが、基本的には文章の時と同じでキーを設定してテンプレートを作成していきます。

 

ちなみに、昔のOCRツールは、項目の場所を指定していたらしいですが、スマートOCRでは相対的な場所で情報を取得することが出来ます。

キーに対してどの位置にデータがあるかを設定することができ、宛名の「山田太郎」を取ってくるために、「御中」というキーでバリューの位置は左側に設定しました。

 

キーとキーに対するバリュー位置の設定をすれば大抵の項目は正しく取得できるようで、領収書のデータ化ができました。

 

 

 

領収書の読み取り(明細表付き)

 

次は、明細表の読み取りを検証していきます。表形式の情報でも取得できるのかを検証していきます。

サンプルはこちらです。

 

スマートOCRでは、表データ用の設定が用意されているので、それを活用します。まずは、自動抽出を試してみます。

表抽出方法の、「自動抽出」を選択。

 

データ化した結果はこのようになりました。

概ね抽出できていますが、サンプル1の行が抽出できていませんね。OCR再依頼しても結果は同じでした。

このような問題は設定を変更すれば解決できる場合があります。次はそちらをご紹介します!

 

 

 

表抽出方法を「項目指定」にします。

基本的には項目のキーを設定していくだけでいいので、これも簡単に設定できます。

 

「項目指定」で抽出した結果はこのようになりました。項目名付きの表データとしてサンプル1からちゃんと取得できていますね。

 

 

ついでに、「エリア指定」も試してみます。

まずは「表のエリア」を指定します。ここでは、「サンプル1」など値をすべて枠内に指定しました。ちょっと見づらいですが、画像の青枠部分が指定箇所です。

 

次に、ヘッダーのエリアを指定します。ヘッダーは「摘要」から「金額」まで、項目名が書いてある箇所を指定しました。

 

こうして抽出した結果がこちらです。

項目指定と同様、綺麗に取得することができました。

項目指定と比べるとデータ化したい値の範囲を設定しやすいので、個人的にはエリア指定のほうがオススメです…

 

表以外の部分もしっかりデータ化できました。

 

 

 

 

感想

私はスマートOCRを検証するまで全くのOCR初心者でしたが、テンプレート作成ページが感覚的にわかりやすいのもあり、比較的簡単に操作できる印象でした。

明細表のある領収書は設定も難しいと思っていたのですが、簡単にデータ化できたのがとても驚きでした。

システムに詳しくない方でも簡単に理解できるので、これからDX推進したい方に役立つ非常に強力なツールだと感じました。

今回の記事でスマートOCRに興味を持って下さった方はぜひこちらから弊社へご相談ください。

 

関連記事

最新情報をお届けします!

RPAに関する最新コラムやイベント情報をメールで配信中です。
RPA領域でお仕事されている方に役立つナレッジになりますので、ぜび登録してください!

最新情報を受け取る方はこちら

もっと知りたい方はこちら


ページトップ