ヘッダー ロゴ ・お問い合わせ電話番号・時間
アナログエンジンのたまに書くコラム

通帳のOCRを実現した話

PHPとOCR、Almalinuxで事務作業を効率化

通帳のOCRを実現した話の目次

過去の預金通帳の処理に困っていた

決算が近づき、未入金処理に追われていました。
しばらく放っておくと未入金額が1,000万円とかになるので、日々の入金確認が大事なのですが、これを人間の手で何とかしようと思うと、「記帳に行く>入金を確認する>顧客を特定>案件を特定>システムに登録>担当者に通知>未入金顧客には営業から連絡」というフローになるのですが、通帳を全て預けるのにも不安があるし、そのプロセスに1日1時間かければ、230時間以上が事務作業に費やされるわけです。時給1200円の事務さんだとすれば、最低でも記帳と入力に276,000円の経費、担当者への通達、経営者の把握、不明入金先の確認(一部名称では顧客を特定できない)を含めるともっと多くの時間的なコストがかかります。
ちなみにCSVでの取り込みはすでにスクレイピングで自動化してるのですが、通帳を読む必要がある場合の話です。

OCRは10年前から検討していた

OCR(Optical Character Recognition:光学的文字認識)という技術は昔からあったのですが、英語のフォントを中心とした技術であり、結局のところ日本語ではなかなか使えない技術でした。
人気税理士事務所でも結局は人の目で確認する必要があるので、機械的なOCRは利用していないとのことでした。

きっかけは手書き電子カルテのOCR自動入力

Tesseract 5.0を利用したOCRをPHPで作ってみたものの、やはり近年の学習データを使ってみてもその精度は高くありませんでした。
漢字よりもカタカナの識字が苦手のようで、「カ」「ワ」「ク」「ス」「フ」の区別がつかなかったりImagemagickで画像の濃淡を変えてみても識字率の向上は写真からでは難しかったです。スキャナを利用したスキャンデータではまだマシだったのですが、通帳のOCRのためにいちいちスキャナ通すような手間をかけるのは本末転倒で、手入力の方がマシです。
しかしながら歯科技工所から手書きのカルテを電子化して、データベースに保管したいという案件をいただき、google Vision APIを利用したことで、通帳のOCRに光が差し込みました。

問題は技術ではなくフロー設計

googleの開発したAPIは多くの学習済みデータを使うことで飛躍的に識字率を上げています。
JSONでデータを送ればテキストデータを返してくれる優れものです。
でもそこじゃないんですね。
通帳全部googleのAPIに送って、全部テキストデータで帰ってきても、それをどう切り出して代入するかがとても難しい。複数の入金データだけではなく、振替、引き落としなどのデータが混在したり、OCRが画像認識しても空白部分はテキスト化をそもそもしないためテキストの並びが崩れる問題、画像の明暗で文字を読み込めないなどなどの諸問題。
要はgoogleにこちらの都合の良いデータを返させるための努力の方が必要そうです。
とりあえず、SDKはインストール決定。

				
					# vi /etc/yum.repos.d/google-cloud-sdk.repo
————————————
[google-cloud-sdk]
name=Google Cloud SDK
baseurl=https://packages.cloud.google.com/yum/repos/cloud-sdk-el8-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=0
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
       https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
—————————————
# dnf install google-cloud-sdk 
# gcloud init
				
			

80%削減できれば良い

「OCR取り込み範囲を自動で認識、読み込みながら顧客情報と比較して、適切な案件の入金と見なす」
のようなことが出来たらいいのですが、通帳では無理です。
弊社との口座がある顧客は1400社くらいあるのですが、「特許業務法人」「司法書士法人」「その他行政機関の医療事業部」などは通帳記帳時点で、一文字かふた文字くらいしか特定できるワードが残らないし、行政機関は「●●シイリョウジギョウガントクブ」みたいな名前になると、はてどの学部から来た案件かそれとも実事業の案件か、という判断ができません。
なので、

という目標を立てました。HEIC変換が必要そうなので、またサーバにツールをインストールします。

				
					# dnf install git gcc-c++ automake libtool libjpeg-devel
# git clone https://github.com/strukturag/libde265.git
# cd libde265
# git checkout v1.0.8    
# ./autogen.sh
# ./configure
# make install

				
			
				
					# git clone https://github.com/strukturag/libheif.git
# ./autogen.sh
# PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure
# make install

				
			

そんでこのコマンドが使える

				
					# heif-convert xxxxx.HEIC xxxxxxxxx.jpg
				
			

実際の設計は下記の通りです

Vision APIがあるgoogle cloud platformは有料です。簡単に見積もるとOCRの1000読み込みで1.5ドル。上記のフロー中の読み込み数で計算したところ、大体通帳一冊読み込むコストは220円くらいでした。全然許容範囲です。銀行行って帰ってくるくらいの時間だけで、余裕でこのコストを超えます。

できた

スマートフォンから写真を撮って送信すると、レンタルサーバへの保存とともに、heicからjpegへの自動変換がなされます。 canvasに画像を投影し、1行だけ可視範囲を指定すると(画像の赤い行)、後は自動で残りの行を認識します(画像の青い行)。後はgoogle Cloud Visionに「TEXT_DETECTION」で送信します。

後は戻ってきたデータを顧客の予想名データベースと付き合わせて、確認ボタンを押せば、カルテへの反映と担当者・案件関係者に周知が自動でされます。

カスタマイズされたOCRを必要とするならぜひお問合せください。

現在は、上記のOCRのシステムを手書き対応し、医療用カルテ・指示書などのデジタル化なども行なっています。他にもさまざまな認識ができますので、システムでこんなことできないか、という思いがありましたら、ぜひ相談してください。
ものすごく適当に書いた文章読んでいただいてありがとうございました。

1999年創業、芸歴20年のホームページ制作会社。滋賀県のみならず、北は秋田、南は鹿児島まで広い地域でお客様がいます。デザインからシステム、補助金のご相談までお任せください。

有限会社アナログエンジン(analogengine.jp.)
ホームページ作成・グラフィックデザイン・WEBシステム作成・看板作成、その他
IT導入支援事業者・滋賀県専門家派遣登録済み・各種補助金利用可能

524-0032 滋賀県守山市岡町104-1
びわこ広告デザイン研究所
TEL: 077-514-0220 FAX: 077-514-0330

 

copyright(C)1997-2021 analogengine Inc. All right reserved.

WEB DESIGN

ウェブサイトの制作を主に行なっています。自分で更新可能なCMSや通販などのシステム連動もお任せください。

GRAPHICS

パンフレットから名刺、ロゴデザインまで、定評のあるデザイン力であなたの会社や事業をより魅力的に見せます。

SYSTEM / APP

顧客管理・在庫管理など、さまざまなシステムをWEBシステムで制作。二次元スキャナやRFIDとの連動、アプリ開発も。

RENTAL SERVER

滋賀県では最大数の顧客を自社開発サーバで運用。最高のセキュリティ&有人監視であなたの事業を止めません。

WEB DESIGN

ウェブサイトの制作を主に行なっています。自分で更新可能なCMSや通販などのシステム連動もお任せください。

GRAPHICS

パンフレットから名刺、ロゴデザインまで、定評のあるデザイン力であなたの会社や事業をより魅力的に見せます。

SYSTEM / APP

顧客管理・在庫管理など、さまざまなシステムをWEBシステムで制作。二次元スキャナやRFIDとの連動、アプリ開発も。

RENTAL SERVER

滋賀県では最大数の顧客を自社開発サーバで運用。最高のセキュリティ&有人監視であなたの事業を止めません。

滋賀でNO1実績数のアナログエンジン。この度社歴は22年に。

アナログエンジンの本社/心斎橋オフィス/寝屋川オフィスの詳細です。

WEB制作やサポートについてのよくあるご質問をまとめました。

アナログエンジンの採用案内です。クリエイティブな職場で一緒に働きませんか?

WEB DESIGN

ウェブサイトの制作を主に行なっています。自分で更新可能なCMSや通販などのシステム連動もお任せください。

GRAPHICS

パンフレットから名刺、ロゴデザインまで、定評のあるデザイン力であなたの会社や事業をより魅力的に見せます。

SYSTEM / APP

顧客管理・在庫管理など、さまざまなシステムをWEBシステムで制作。二次元スキャナやRFIDとの連動、アプリ開発も。

RENTAL SERVER

滋賀県では最大数の顧客を自社開発サーバで運用。最高のセキュリティ&有人監視であなたの事業を止めません。