Briswell Tech Blog

ブリスウェルのテックブログです

くずし字OCRアプリ

「安い、早い、うまい」

が好まれるせっかちな江戸っ子のように、今回もサクッとご紹介いたします。

codh.rois.ac.jp

こちらのサイトで「くずし字」がデータセットで提供されております。

さて、今回は、この「くずし字」をCNNに学習させて、現代の日本語文字に変換するアプリケーションを構築してみます。

古文書がAIによりスラスラ読めるようになれば素敵ですね。

GitHub - rois-codh/kmnist: Repository for Kuzushiji-MNIST, Kuzushiji-49, and Kuzushiji-Kanji

こちらで公開されているbenchmarksのコード

kuzushiji_mnist_cnn.py

の最後に以下の2行を加えて、学習したモデルと重みファイルを保存します。

open('k_mnist_cnn_model.json','w').write(model.to_json())
model.save_weights('k_mnist_cnn_weights.h5')

その学習結果を、PythonのWebフレームワーク「Flask」を使ったアプリケーションから呼び出します。(コードは後日公開予定です)

f:id:KenjiU:20210531183544p:plain
くずし字OCRアプリケーション

上図のように「くずし字」の画像をアップして実行すると、現代の文字に変換されます!
今回は「くずし字」でしたが、データセットがあれば同じようなことが実現できます。

余談ですが...
江戸時代に「豆腐百珍」という、100種の豆腐料理を解説したベストセラー料理書がありました。

codh.rois.ac.jp

「くずし字」で記載された本のデジタル画像も提供されています。

その「豆腐百珍」の58番目に、奇品として掲載されている「玲瓏(こおり)豆腐」というのが気になったので実際に作ってみました。

f:id:KenjiU:20210531131633j:plain
玲瓏(こおり)豆腐

まさに氷のようにも見え、夏にふさわしい一品でした。