AppSheet とは?
AppSheet は、 Google が提供するスプレッドシートベースのノーコード開発プラットフォームです。AppSheet を使うことで、スプレッドシートのようなデータベースをもとに、簡単にアプリケーションを作成することができます。また、AppSheet は、Web アプリとモバイルアプリの双方に対応しており、ビジネスや個人の用途に応じて多様なアプリケーションを作成することができます。
AppSheet OCR 機能とは?
AppSheet OCR とは、 AppSheet に搭載された光学文字認識 (OCR) 機能です。画像や写真から文字情報を読み取り、テキストデータとして抽出することができます。
例えば、領収書の写真から金額や日付を自動で読み取り、経費精算アプリにデータを入力したり、名刺の写真から連絡先情報を抽出して顧客管理アプリに登録したりすることができます。
AppSheet OCR 機能を使用すると、画像からフォームへ自動的に入力することができ、データ入力にかかる時間が短縮できます。
AppSheet OCR は、AI 技術を活用しており、手書き文字や複雑なレイアウトの文書でも高い精度で読み取ることができます。
例 : 名刺をカメラで撮影してテキストを自動入力する
AppSheet OCR が機能する画像の種類
AppSheet の OCR 機能は、すべて固定レイアウトの複数のドキュメントをスキャンする必要がある場合に使用できます。印刷された文字だけでなく、手書きの文字を読み取ることができます。
OCR 機能の利用に向いているケース
申込書やアンケートをはじめ、注文書や請求書などでも、レイアウトが固定されているものであれば OCR 機能を利用し、画像を読み込ませて、データとして取り扱うことができます。
例えば、各営業所から本社に送られてくる FAX があるとします。この FAX のレイアウトは固定されているとしましょう。
このような場合には、FAX がきたら OCR 機能を搭載した AppSheet アプリでFAX を読み取り、データに変換することが可能です。
OCR 機能の利用に向いていないケース
OCR 機能は形式の異なるフォーマットを読み込むことには向いていません。
例えば、縦型と横型の領収書やレシートであったり、形式の異なる契約書は読み込む項目を判断することが難しく、複数のドキュメントを読み取ったとしても入力項目が異なるなどの不整合が起こります。
また、AppSheetのOCR機能はクラウドベースの処理を利用し、インターネット接続が必要になるためインターネットに接続していないアプリでは OCR 機能を利用することができません。
上記のケースを踏まえて、OCR 機能を活用してみましょう。
OCR 機能を使うための関数
OCR 機能の設定方法に入る前に、OCR 機能で使う関数について紹介します。
OCR 機能を使って、撮影した画像やフォルダから指定した画像の情報を文字起こしするためには、OCR機能を利用するための関数が必要です。
OCR 機能を利用する関数には OCRTEXT() 関数と、 OCR() 関数があります。
実は AppSheet の OCR 機能には 1. 機械学習モデルをトレーニングしない方法 と 2. 機械学習モデルをトレーニングする方法の 2 つがあります。
- 機械学習モデルをトレーニングしない方法 では OCRTEXT() 関数を利用して、入力された画像からテキストを抽出することができます。例えば、名刺の画像を入力すると、画像に写っているテキストすべてを 1つの列の値として取り込みます。
- 機械学習モデルをトレーニングする方法 では OCR() 関数を利用します。この方法では、抽出されたテキストを複数の列の値に割り振ることができます。例えば、名刺の画像を入力すると、画像に写っている「氏名」や「メールアドレス」をそれぞれ別の列の値として取り込むことができます。
OCR() 関数では、入力画像の他に、利用するモデル名と抽出したい列の値の列名を指定します。
例:OCR(“New OCR Model”, [画像列], “メールアドレス”)
OCRTEXT()
画像に含まれる文字のすべてをテキストとして抽出します。
画像に含まれる文字をテキストとして返すために、 文字を抽出する列のType は Text または LongText にしましょう。
OCRTEXT 関数は FOMULA または INITIAL VALUE で利用します。
FOMULA にOCRTEXT 関数を指定した場合には、画像から読み取った文字を編集することができません。読み取った文字を編集したい場合は、 INITIAL VALUE に OCRTEXT 関数を指定します。
OCR()
画像に含まれる文字の一部をテキストとして抽出し、事前に指定した列の値に割り当てます。
OCR 関数は機械学習モデルのトレーニング設定を行うことで、テーブルの対応する列の INITIAL VALUE に自動的に入力されます。
OCR 機能の設定方法
機械学習モデルをトレーニングしない方法
それではここから、OCR 機能の設定方法について詳しく解説していきます。
AppSheet でアプリを作成したことのない方はこちらの記事を参考にしてください。
アプリが生成されたら、列ごとの Type 設定を行います。
画像列はImage Type 、テキスト列は LongText Type に変更します。
さらに、テキスト列のINITIAL VALUE に以下の式を入力します。
OCRTEXT() 関数を使うことによって画像から文字を抽出します。
OCR 機能を利用するための設定は以上になります。
ここから実際に画像を追加してどのように表示されるのかを見ていきましょう。
カメラのアイコンをクリックして画像を追加します。
画像を追加すると、テキスト列に文字が抽出されます。
今回はすべて正しく読み取ってくれていますが、誤読する場合もあります。
その場合は手修正を行いましょう。
OCR 機能の基本解説については以上です。
機械学習モデルをトレーニングする方法
続いて、 機械学習を利用した OCR 機能について解説します。
AppSheet OCR 機能では、機械学習を利用するためにモデルを登録します。
機械学習における「モデル」とは、データから学習したパターンや規則を表現し、新たなデータに対して予測や判断をおこなうものです。
ユーザーがアップロードした画像と、その画像から抽出したい文字列をペアで OCR モデルを事前学習させることで、将来アップロードされる画像データに対しても、学習済みのパターンに基づいて文字列を抽出します。これにより、単に文字列を読み取るだけでなく、読み取った文字列を特定の部分ごとに分割し、それぞれ異なる列のデータとして取り込むことが可能になります。
例えば、請求書画像から「請求日」「請求金額」「請求先」といった特定の情報を別々の列に自動入力するアプリを作成できます。
ただし、OCR モデルを学習させるためには、最低 4 つのサンプル画像と、それぞれの画像から抽出したい値を用意する必要があります。
サンプル画像 : 入力内容が異なる画像を準備します。
※今回は執筆のため同一画像を登録していますが、実際には違う画像でデータセットを用意しましょう。
抽出する値 : スプレッドシートに直接値を入力するか、AppSheet アプリのフォームから登録します。
これらの情報に基づいてモデルの学習を行い、新しい画像入力に対しても適切な値を抽出するための準備をします。
それではここから機械学習モデルの作成方法について解説します。
まずは、ナビゲーションエリアで Intelligence を選択します。
OCR MODELS (BATA) 横にある +マークか、画面中央の + Add OCR Models をクリックして新規モデルの作成に進みます。
編集画面が表示されます。初期値では紐づいているテーブルの全ての列が表示されているため、抽出したい列のみに変更します。
Name
|
モデル名をつけます。
|
Table
|
トレーニングデータが含まれるテーブルを指定します。
|
Image Column
|
入力する画像が含まれる列を指定します。
|
Output Columns
|
出力された情報が含まれる列を指定します。
|
Patterns
|
登録されたトレーニングデータが表示されます。
|
モデルのトレーニングが完了すると、作成したOCR MODEL で Output Columns に指定した列の INITIAL VALUE に以下の様な式が挿入されます。
列名
|
INITIAL VALUE
|
会社名
|
OCR("New OCR Model", [画像], "会社名")
|
名前
|
OCR("New OCR Model", [画像], "名前")
|
Name
|
OCR("New OCR Model", [画像], "Name")
|
メールアドレス
|
OCR("New OCR Model", [画像], "メールアドレス")
|
郵便番号
|
OCR("New OCR Model", [画像], "郵便番号")
|
住所
|
OCR("New OCR Model", [画像], "住所")
|
ビル名
|
OCR("New OCR Model", [画像], "ビル名")
|
部署
|
OCR("New OCR Model", [画像], "部署")
|
これで OCR モデルの事前学習と、モデルの予測を各列に割り当てる全ての設定が完了しました。
では実際にフォーム画面で新しい画像を追加した場合に、列ごとに別データとして自動入力されるのかを確認してみましょう。
画像をセットします。
各列に画像から読み取った文字列が自動入力されました。
ですが、一部の文字列に文字化けや反映されていないことが分かりました。
このように、誤読や未入力の文字列がある場合は、修正や手入力をおこなってください。
今回は、OCR 機能がどのようなものかを紹介するために、名刺を読み取らせてみました。
名刺の場合は、縦型横型、フォーマットなど考慮すべきところがいくつかあるので、実際に OCR 機能を使ったアプリを利用する場合には、名刺以外の、レイアウトが固定されているもので試されることをおすすめします。
機械学習モデルを利用した OCR 機能については以上です。
まとめ
いかがでしたでしょうか。
本記事では AppSheet OCR 機能について解説しました。
OCR 機能はPDFデータや名刺、手書きのメモなどを画像で読み込み、テキストで返してくれるという、とても便利な機能です。
機械学習は未だ BATA 版での利用になるため、誤読や読み込めない箇所があったりもしますが、トレーニングデータを読み込ませておけば登録した画像から文字を切り分けて登録してくれます。
請求書管理、名刺管理を始め、手書きのメモなどを読み込ませるなど活用方法は様々です。
ぜひ OCR 機能を活用して業務効率化を進めていただければと思います。
AppSheet に関する実績やサービス詳細、価格表等についてもっと詳しく知りたい場合は、資料もご用意しておりますのでお問い合わせください。