課題
紙の書類はスキャンしただけでは、文字で検索することも、文章を直すこともできません。文字として読み取って、初めて使える情報になります。
日本の書類には縦書きと横書きが混ざっていて、段組みもあります。海外で作られた読み取りの AI は、横書きなら高い精度で読めます。一方で縦書きの日本語は苦手で、横書きより精度が落ちることが研究で報告されています(LREC 2026 の論文)。読み間違いの多いテキストは、結局人が原本と見比べて直すことになります。
作ったもの
- PDF や画像を入れると、ページごとに文字を読み取り、テキストと、行ごとの位置のデータを書き出す仕組み
- 縦書き、横書き、1〜4 段の段組みに対応
- ページを並列に読み、パソコンでもクラウドでも同じ手順で動く
- 読み終えたページと読み取った文字を、実際にかかった時間のとおりに見せる画面(上の「開く」から見られます)
使った技術
文字の読み取りには、国立国会図書館が公開している NDLOCR-Lite(CC BY 4.0)を使いました。ページを並列に読む処理と、精度の計測は Python で書いています。動かした場所は Hugging Face Jobs の GPU(NVIDIA L4)です。
測った結果
2026年11月11日に、公開されている日本語の評価用データ JSSODa-test(llm-jp、CC BY 4.0)の先頭 500 ページを読ませました。内訳は縦書き 231 ページ、横書き 269 ページです。読み取った文字を正解の文と比べ、文字の抜け・余分・取り違えの数を正解の文字数で割って、誤り率を出しました。
| 縦書き | 横書き | |
|---|---|---|
| 誤り率(500 ページ全体) | 1.31% | 0.79% |
| 1 ページごとの誤り率の中央値 | 0.15% | 0.15% |
| 誤り率が 20% を超えたページ | 4 | 1 |
同じ 500 ページを、海外で作られた読み取りの AI である LightOnOCR-3-0.8B にも、公開されている標準の設定で読ませました。横書きの中央値は 0.72% でしたが、縦書きの中央値は 5.32% で、231 ページのうち 67 ページで誤り率が 20% を超えました。
500 ページを読み終えるまでの時間は 2 分 28 秒でした(モデルの読み込みを除く)。
考えたこと
読み取りの AI は、英語の評価で上位のものを選びがちです。しかし日本語の縦書きでは、その順位がそのまま当てはまりません。今回も、速さだけを見れば GPU で動く海外の AI のほうが速く読めました。それでも、読み間違いの多い文章は人が直す手間を増やします。そこで、日本語の書類で実際に測り、間違いの少ないほうを選びました。
