前々回と前回、先祖の古い手紙(和紙に毛筆で書かれた古典的なもの)を翻刻するにあたり、NDL古典籍OCRが有用であることをご紹介しました。
おかげ様で一連の古い手紙の翻刻は完了したので、それより新しい便箋にペンで書かれた現代的な手紙にも活用できないか試行中です。
対象の手紙
日中戦争や太平洋戦争のさなかに戦地から家族に送られた同一筆記者の軍事郵便がひと山あります。カタカナ混じりとひらがな混じりのものがあります。
以下は一例です。(緑色の矩形はNDL古典籍OCRの出力の行情報)
いずれも文章としてはほぼ現代の口語体なのですが、以下の理由で翻刻するのが大変です。
- くずし字and/orくせ字 例:「長、前、気、朝、御、後」「ヨ、ヲ」「な、く」
- 旧仮名づかい 例:「上ゲマセウ」「シヤウ」「将シテ」「買はせて」「だらう」「貰へない」
- 旧字体 例:「䕶、恢、價、鑵、罐、籤」
- 対象の手紙が多い
なので、今回もOCRを活用したいと思っています。
さしあたってNDL古典籍OCRをノーマルのまま試す
自由に使えるくずし字対応のOCRは、調べたところNDL古典籍OCR一択らしいです。対象が古典籍とは異なりますが試してみました。さしあたって文字列認識モデルは「NDL古典籍OCRアプリケーション(ver.3)」のdocker環境に同梱のもの(src/text_kotenseki_recognition/model-ver2/kotenseki-trocr-honkoku-ver2)をそのまま用いました。
| NDL古典籍OCR(ノーマル)出力 カタカナ混じりの例 |
|---|
| 釘ウキ立セス南タカラ上出テ七ウト云フ遠慮シナイテ之モ貰ツテ 四百九十五地ニナレテ亡コトナツタラ釣ルヲイテ毛カケルトシヤウ 二十七日 今日ハ又同河長ノ道行テ先日行フリ右ノ共ノ戦縁ヘ行ク此ノ声ヲモ モ一ツモノモノシイ枝街ノ下ニ出シ遠鏡ニ由レバ這足ノ見ヘル所迄行フタ ホントノ弟一統ノ業者ケフリ年本ノ雷鳴フ一寸ナカツテ野戦病の 来タ一人気付チ居ル誠ニ此□半ノ麦ヲアル ニ寄ツテ居ルト今朝ノ戦待テノ侍者ケ板梁ヲ五名運ハレテ 夕方大雨二十つ時ゟ大変二合ふしかなつう信シヤ今夜ハ四ツ ひたんレルブ 二十一日 但長殿ニ依頼サシテ小サ十国旗ハ一端ニ一筆達ヲ振フ □二十九日 やう日もの日ト田しく雨ノ江引除シイ |
| NDL古典籍OCR(ノーマル)出力 ひらがな混じりの例 |
|---|
| 七月七日 年後南畠處一郎の飲食店の衛生状秋祝察ける勿論自動 車で沢山の門供をつれてつい下に他の店の長悦まで親案する洗濯 尾も一軒もれ共きたないから洗流物をあす知家ははあれ不残時計尾 も二軒少に朝住庄屋もあに草地拾匁等々大分町らし二歩つて 来たり価ありと我慢すれば大概りぬは手に入り相共小さい縄治 出現御門共にぞ宿全ヶ村四人分買はせて帰る一個に位殿一回 二十幾やしほの分任るものたとは思つたが運質も相当てかて 居る事尤とりと化廿こく候我慢するごとお蔭に食事 なおせんして出来る有越い 夕方なり南の入道雲かく夕のび上つに逐は大雷雨か越て 妻となつた前蔭で集しいしおそろし山焼のまいて左 南昌市の所後もだん追んでお隣りには雷焼がついやころう は近々夜損に引越する事はなかたかでつけて貰へかい |
レイアウト解析はほぼ完全ですが、文字列認識については古典文(のような何か)への読み違えが多発しており、翻刻作業で補助的に使うにも苦しいとの感触です。
再学習の試行
口語文の学習が不足と仮定し、文字列認識モデルの再学習をしてみることにしました。ツールを使わず完全人力で翻刻したデータ(1行データセット)が533行分揃ったので、そのうち334行分を学習用、199行分を評価用として再学習を実行しました。再学習を最後(epoch数299)までまわすには丸4日間かかる見込みですが、さしあたって感触を見るためひと晩(14.5時間)で中断しました。その時点でepoch数45まで完了しており、CER(文字誤り率)とLoss(損失関数)の推移グラフは以下の通りです。
グラフの形を見るにepoch数45では不十分と思われますが、さしあたって感触を見る目的なのでこれで進めます。epoch数45の文字列認識モデル(「再学習a」とする)を用いて上記と同じ画像(評価用にしたので未学習)を読み取った結果は以下の通りです。
| NDL古典籍OCR(再学習a)出力 カタカナ混じりの例 |
|---|
| 針ウキ之モ不用ダカラ上ゲナセウト云フ遠慮シナイデ之モ貰ッテ 置ク土地ニナレテヒマニナッタラ鉄ニデモ出カケルトシヤウ 二十七日 今日ハ又勿論セノ随行デ先日待ッタ右ノサノ戦隊ヘ行ク此ノ前ヨリモ モ一ツモノモノニイ護ノ下ニ望遠鏡デ見レバ適足ノ見ヘル所迄行ッタ ホントノ第一統ノ苦労タソカズ気ノ毒ニ思フ一寸サガッテ野戦病体 来タ一人金像ガ居ル誠ニ御乞来ノ事デアル ニ寄ッテ居ルト今朝ノ戦待デノ傍着ガ植撃デ五名運バシテ 夕方カラ雨ニナッタノデ大変ニ涼シクナッウ嬉シヤ今夜ハヨウ ひだレルプ 二十一日 但新殿ニ依頼サレテ小サナ国旗ノ一端ニ一筆達ヲ振ッテ □二十九日 今日モ昨日ト同じク雨ノ後デシイ |
| NDL古典籍OCR(再学習a)出力 ひらがな混じりの例 |
|---|
| 七月七日 午後南昌寺辺一部の飲食店の生状現祝察に出かける勿論自勤 車で沢山の御供をつれてついでに他の店の状況まで視察するので 屋も一軒出来たきたないので洗物を出す気にはなれないが時計屋 も二軒ある観音店もあるその袖旅館等々大分町らしくなって 来た高価なのを我慢すれば大概の物は手に入て相だ小さい貨帳 が既につたので宿舎の将校四人分買はせて帰る一個の値毀一円 二十銭やずい分ほるものだとは思ったが運質も相当なくて 居る事だらうと仕方なしに我慢するでも前蔭で食事 が安心して出来る有難い 夕方かしい南の入道書がぐめぐのび上って遂に大雷雨の襲 来たなったお蔭で写しいしかしおそろし山程のすごさだ 南昌市の復もだんだ進んでお隣りには実屋がついたこちら は近く広狭に引越する事になったのでつけて貰へない |
すばらしいですね。
さっそく最後まで学習をまわしたいところですが、猛暑の中、年代物のGTX 1070を最大負荷で放置して煙を吹いたりしないか心配です。
それから、以下はどのように入力すべきか悩ましいところです。
- 踊り字 例:「暑イゝ」「嬉シヤゝ」「ものゝしい」「ぐんゞ」
- 句読点や空白
- 縦棒(補足などの区切り)
さしあたって今回の試行では、踊り字は展開(「暑イゝ」→「暑イ暑イ」)、句読点や空白は削除、縦棒は「~」と入力しました。また、旧字体の新字体への置き換えは省略しました。
このあたりも検討・対処のうえ、最後まで学習をまわしたいと思います。
(あるいは、すでに翻刻作業の効率化には十分役立ちそうなので、これで良しとするか...)


