はじめに
紙に手書きされた表をExcelに入力する。
これは昔からある、非常に地道な作業です。
昔からOCRという技術はありますが、手書きの文字では精度が出なかったり、表として書き出せなかったりします。
ですが、近年の生成AIの画像認識能力を使えば、このような作業をかなり自動化できます。
本記事では、生成AIを使って手書きの表をExcel化するときの考え方と、精度を上げるためのコツを紹介します。
従来のOCRと生成AIによるOCR
従来のOCRは、
という仕組みです。
一方、生成AIは画像を見て、
ということができます。
例えば、
| No | 番号 |
|---|---|
| 1 | 1234 |
| 2 | 5678 9012 |
を見て、
| No | 番号 |
|---|---|
| 1 | 1234 |
| 2 | 5678 |
| 2 | 9012 |
と解釈できます。
ここが生成AIを使ったOCRの面白いところです。
ただし、この「理解」が逆に問題になることもあります。
生成AIが勝手に補完してしまうからです。
実際にやってみる
添付のファイルをテンプレートに合わせExcel形式にしてください。
# 条件
- Excel化したファイルは人が確認をします。
人が手直しをする前提なので、可能な限り推測してください。
- 読み取ったデータが正しいかどうかの「自信」をセルの色を塗ることで表してください。
- 自信あり(80%以上):塗りつぶしなし
- 少しあり(60%以上80%未満):青
- あまりなし(40%以上60%未満):黄
- 自信なし(40%未満):赤
「自信あり」以外の場合は、セルのコメントに理由を書いてください。
- Excelはできるだけ構造化して埋めてください。
補完したセルはコメントに「表構造から補完」と記載してください。
# 出力形式
1つのシートで出力してください。
テンプレートを渡す
添付の画像ファイルをテンプレートに合わせExcel形式にしてください。
Excel化するときにおすすめなのが、完成形のExcelテンプレートをAIに渡す方法です。
これによって、生成AIが適当に表を作るのではなく、決められたExcel構造に入力させることができます。
業務で使う場合は、この差がかなり大きくなります。
可能な限り推測させる
- Excel化したファイルは人が確認をします。
人が手直しをする前提なので、可能な限り推測してください。
普段は『推測で答えないでください』と指示を出していると思いますが、「0から埋めるより修正したほうが早いよね」という場合は、あえて推測させます。
人による確認を前提に、推測を許可する指示することで、推測の幅が広がります。
例えば、
| No | 番号 |
|---|---|
| 1 | A-01 |
| 2 | B-0? |
| 3 | C-03 |
| 4 | D-04 |
のような表を読み取ります。
2行目の番号がはっきりしません。
「確信が無いので空欄にする」でも良いのですが、前後の採番ルールからB-02のように、生成AIに最も可能性が高いと判断した値を入れてもらいます。
ただし、そのままでは推測した値なのか、読み取った値なのか判別できません。
そこで、「自信を色で表現する」という方法を使います。
自信を色で表現する
- 読み取ったデータが正しいかどうかの「自信」をセルの色を塗ることで表してください。
- 自信あり(80%以上):塗りつぶしなし
- 少しあり(60%以上80%未満):青
- あまりなし(40%以上60%未満):黄
- 自信なし(40%未満):赤
「自信あり」以外の場合は、セルのコメントに理由を書いてください。
これによって、人間はすべてのセルを同じ熱量で確認する必要がなくなります。
データを構造化
- Excelはできるだけ構造化して埋めてください。
補完したセルはコメントに「表構造から補完」と記載してください。
手書き表では、同じ値を繰り返し書かないことがあります。
例えば、
| No | 番号 |
|---|---|
| 1 | 1234 |
| 2 | 5678 |
| 9012 | |
| 3 | 3456 |
のような表を読み取ったデータを
| No | 番号 |
|---|---|
| 1 | 1234 |
| 2 | 5678 |
| 2 | 9012 |
| 3 | 3456 |
のように補完させます。
ただ補完するだけだと、書いてある値なのか、補完した値なのか分からなくなるので、セルにコメントを付けるように指示しています。
100点を目指さない
OCRを使っていると「どうすればAIの読み取り精度を上げられるか」と考えてしまいます。
しかし、実際の業務ではAIに100点を取らせるのではなく、「AIに80点の答案を作らせ、人間が20点を確認する」という考え方ができます。
おわりに
生成AIによるOCRは、単純な文字認識だけではありません。
特に表を扱う場合は、
- 文字を読む
- 表構造を理解する
- 空欄を適切に扱う
- 必要に応じて値を引き継ぐ
- 自信度を付ける
という複数の処理を組み合わせることが重要です。
そして一番大切なのは、「AIに100%正しく入力させる」のではなく、「人間が確認しやすい状態までAIに持っていってもらう」という考え方です。
目的は「人間の作業をなくすこと」ではありません。
人間が確認するべき場所を、AIに見つけてもらうことです。
生成AIに完璧な仕事を求めるのではなく、人間が得意な「確認」と組み合わせることが、生成AIを業務で活用するコツなのかもしれません。