AppsheetでOCRして名刺管理の仕組みをつくってみる

まずはOCRできるか試してみる
スプレッドシートで管理項目をつくる
最低限の項目で実施していきます。まずはスプレッドシートを作りました。名刺管理1211という名前にしました。
IDは自動で数値を入れて、名刺画像を登録する項目、そしてその画像をOCRしていれる項目、そして登録した日付を入れる項目の4つです。

スプレッドシートからAppsheetをつくってみる
拡張機能からAppSheetを選んで、”アプリを作成”します。

そうすると、なにかアプリを作ってくれました。Customize with AppSheetへ進みます。


AppSheetの画面で設定していきます
スプレッドシートと同じ名前でアプリができました。

TYPE (フィールドの属性)を変更
名刺画像を Imageにしました
OCRテキストをLongText
日付をDateにしました

初期値を変更しました
名刺画像をOCRして読み込むので、OCRテキストの項目には ”OCRTEXT([名刺画像])”と入れました。
ID には初期値のままですが、 "UNIQUEID()" ということで、ユニークな数値をいれてもらいます
日付には今日の日付を入れてもらいます。 "TODAY()"

ここまでで試してみる
ブラウザの右側にすでにプレビュー画面ができています。 プラスボタンから名刺画像を登録してみます。


画像をアップすると、早速OCRされました。日本語や英語は間違いなくOCRされていました。


SAVEすると保存できました。データが溜まっています。

スプレッドシートにもデータが溜まっていました。 OCR完了ですね。

改善していく 〜関数でできること
OCRはできましたが、一つのセルに入っていてデータとしては使いにくいです。会社名とか電話番号など別のセルに入れたいですね。
EXTRACTの関数の中に、メールや電話番号を抽出できるものがありました。EXTRACTEMAILS() と EXTRACTPHONENUMBERS() ですね。


そこで、まずスプレッドシートで、メールと電話の列を追加しました。

そして、Regenerate Schemaをして反映してみます。


そうするとAppSheet上で列が追加されました。

そして初期値に関数をいれました。

メールアドレスが取れましたね。しかし電話番号は失敗しました。 電話番号の前につけていたスマホのアイコンをQと認識したようで、そのせいでメアドは失敗したのでしょうね。

ということで、メアドと電話番号は取得できましたが、会社名や氏名や役職は、関数で取得するのは無理そうです。OCRはうまく行きましたが、名刺管理としては全然物足りません。ということで、次は「機械学習モデル」でやってみます。
機械学習モデルで名刺管理
ここで、新しい別アプリで試していくので、新しくスプレッドシートを作って、AppSheetにしました。

AppSheetができて、TYPEを画像とかメールとか電話を変更しました。

学習のためのデータが4件以上必要ということで、5枚の名刺をあらかじめ登録してみました。縦名刺や横名刺をまぜて、今回はわりとわかりやすい名刺を登録しました。 私の名刺なんかは部署がないから、キャッチコピーなどを間違えて入れそうな気がしますが。

学習ようにそれぞれ会社名や部署などを入力しました。名刺によっては、電話番号が無いとか、役職が無いとかありましたが、うまくいくでしょうか。

AppSheetの機械学習
機械学習でOCRを教育して、名刺画像から、それぞれの必要な項目をセルに掘り込んでくれるかというものです。左のIntelligenceから、Add OCR Modelを選んでみました。

ImageColumnに 名刺画像を選択して、あとはOutputColumnですね。 IDは自動付与なので消しました。

警告がでました
無効なデータとか、うまくアンカーが読み取れなかったと言われていますね。このあたり学習制度を高めるためにわかりやすい名刺ももう少したくさん登録した方がいいのかもしれません。

INITIAL VALUEに関数として、先程のAI-OCRが設定されていますね。

試してみる 〜〜15年前の名刺をよみこんだ

結果は・・・ 結構ズレていますね(^^; OCRの精度は高そうですが、どこに何を入れるかは結構ズレています。もう少しデータを入れて学習してみるといいのでしょうかね。

名刺データはEIGHTで大量に管理しているので学習データはありますが、画像も含めてAppsheetに流し込んで、再検証をしてみたい気はしますが、、ちょっと今日はここまでにしときます。
AppSheetのGeminiでいきなり名刺管理アプリを作ってと頼んでみる
ところでAppSheetには、Geminiでスタートするという機能があります。

ここでいきなり「名刺管理アプリを作って」とお願いしてみました。

そうすると、何も微調整していませんが、アプリができました。3シートからなるアプリが生成されていました。

写真をアップして、名刺情報を入れていく箱はできてそうです。ただOCRとか、機械学習とかはもちろんセットされていなかったので、ここからセッティングしていくことになりそうですね。それなら、白紙の状態から作っていったほうが、理解もしやすいかもしれません。



そんなところで


