国立国会図書館のラボが NDLOCR-Lite というOCRソフトを無償公開したが、これが評判通りのすばらしい出来で驚いている。OCRというのは、画像化された文字をテキスト形式に変換するソフトのことだ。PDFは非常に便利ではあるけれど、画面の小さな読書用端末を使うときは困ることもある。レイアウトが固定されているため、縦に長い版組の場合、文字が小さくなって読みにくい(眼の悪いわたしにとっては読めない)のである。もちろん小さい端末でも拡大表示して読みやすくはできるのだが、そうすると読みつづけるために絶えず画面をスライドさせなければならなくなり、面倒なことこの上ない。テキスト形式なら長い縦書きの一行を任意の箇所で改行して表示できるので、そのぶん、文字を大きくできる。自分が読みやすい版組を自由に設定できるようになるのだ。
そこでOCRの力を借りてPDFをテキスト形式に変えてしまおう! となるのだが……問題がある。画像の文字を正しくテキストの文字に変換してくれないのだ。わたしがよく使っていたのは Google Keep というネット上のサービスで、PDFの画像をコピーし、このページに貼り付け、文字に変換させる。なかなかの精度ではあるのだが、ときどき妙な挙動を見せる。単語があるべき場所から違うところに移動させられたり、ルビはどれも数行飛んだところに表示されるのである。これをいちいち手作業で修正するのはやっかいすぎる。そのため西洋語なら Google Keep で一冊まるまるテキスト化したことはあるが、日本語ではやったことがない。
今回出た NDROCR-Lite はその悩みを解消してくれそうである。まず文字の読み取りの精度が高い。精密に比較したわけではないが Google Keep と同等かそれ以上だろうと思う。そして明らかに Google Keep に優っているのは、読み取りの速度だ。Google Keep はネット上のやり取りがあるせいなのか、読み取りに十秒くらい待たなければならない。NDROCR-Lite は2秒である。さすが日本の文字、版組を最初から意識してつくられただけある。そしてルビの処理が秀逸。一切省かれてテキストが出力されるのだ。ページを示す数字も、文字以外のデザインもきれいに除去してくれる。ルビはわたしの場合、よほど特殊なものでないかぎりなくてもいいので、これはありがたい。しかしルビがこれだけきれいに省ける、つまりルビをきちんと認識できるなら、設定でルビ処理の仕方を選べるようにすることも(たとえば Epub 用に <ruby></ruby> で表記させる)可能になるだろう。
不満を言えば、章の区切りを示す「一」とか「二」といった漢数字がなぜか英語の -A とか妙な表示になる。もしかしたらソフトは章立ての漢数字をイラストと勘違いしているのかもしれない。またときどき引用の「が省かれてしまう。終わりの」は、わたしが調べた範囲ではすべて認識されているのに、おかしな現象である。さらに文字がかすれているわけでも画像に汚れがあるわけでもないのに、部分的に飛ばされている箇所があった。これは他のOCRでも見られる現象であるが、なにが原因なのだろう。読み取りを行う原文はテキストにおいては一行ごとに改行されて表示されるので、段落内に一行だけ短いものがあると、読み抜けがあるなとわかる。これは残念だった。もう一つ、句読点のあとに半角のスペースがよく入る。もっともこれはエディタの置き換え機能で簡単に除去できる。
こうした問題はあるが、文字の認識率は相当に高く、「浮城物語」を何頁か読み込ませたが、読み抜けは発生したものの、読み取った文字のなかに間違いは見つからなかった。高精度で日本語をテキスト化できるのは間違いないだろう。これはOCRの開発にとって大きな一歩だと思う。国立国会図書館はいい仕事をした。まだ未完成ではあるけれど、将来に期待が持てそうな、筋のいいソフトウェアである。いろいろな人が専門的なレビューを書いているので興味のある人は調べてほしい。無料でダウンロードし、使えるソフトである。