2019年12月3日火曜日

くずし字を読む (概要編)

この記事は、ケーシーエスキャロット Advent Calendar 2019 の3日目の記事になります。

くずし字とは

今回のテーマは「くずし字」。今でもたまに見かける、ちょっと古い文字ですが、それを機械学習を活用して読み分けてみようと思います。例えば下の看板を人工知能は読めるのでしょうか?。



上記の看板は、浅草にある老舗のお蕎麦屋さんのものだそうです。「やぶそば」と書いてあります。この程度なら機械学習の出番ではありませんが、日本の各地に眠っている古文書を読むとしたら、機械学習はきっとその威力を発揮するはずです。

「もう、そんな OCR があるんじゃないの?」と思われるかもしれませんが、実は手書きのくずし字を読めるような OCR はまだ実用レベルにはなっていません。印刷された活字の日本語を読める OCR はありますが、くずし字は読めないのです。その理由はいくつかあります。
  1. 文字の境目が分かりにくい。
  2. 1つの音を表す文字がいくつもある。
  3. 2つの文字が連結しているケースがある。
  4. 自由なレイアウトで書かれている。
下の百人一首の札を参照しながら、ひとつひとつ見ていきましょう。


1. 文字の境目が分かりにくい

読めないのは仕方ないとしても「何文字あるか」さえわからないくらいです。ひとつの文字を認識する以前に、どれがひとつの文字なのかを認識するのが難しいのです。
まぁ、百人一首の「上の句」だと気づけば、五・七・五の22文字だと分かりますけどね。


2. 1つの音を表す文字がいくつもある


これら、すべて「き」と読みます。ちなみに、左から3文字目の「 」をさらに簡略化すると「」になっていきます。さらには、ここに挙げた9文字は、UNICODE に登録されたものだけです。他にもあるのかもしれません。。。


3. 2つの文字が連結しているケースがある

。これだけで「より」と読みます。2文字が連結して1文字のように表現されているのですが、こういった文字を「合略仮名」と呼びます。「よ」と「り」が連結している様子がわかるでしょうか?
他にも「こ」の2画目と「と」の1画目が共有されている「こと」という合略仮名も古文書にはよく出てきます。(残念ながら「こと」の方は、まだ UNICODE に登録されていないようです)


4. 自由なレイアウトで書かれている

もう一度、百人一首の札を見てください。一番左の1行は「さむしろに」という5文字です。「む」と「し」の位置関係が現代の感覚ではかなり不自然ですが、実際の古文書にはよく見られます。



他にも、時代や地域によって崩し方に違いが見られたり、当然、人によっても大きな違いが見られます。色々と難しい問題はありますが、今回は「1文字分の画像を入力したら、現代の50音の平仮名のどれに該当するかを答える」というところに焦点を当てて、ディープラーニングを使ってみます。
次回は「準備編」。データセットを作るまでの悪戦苦闘をお送りします。

0 件のコメント:

コメントを投稿