書籍のテキスト化手順と活用
電子化されていない書籍を編集可能なテキストデータにするための手順と活用方法です。例えば、
・E-inkデバイスで読書
・epubに変換してスマホで閲覧
・Ankiなどのカード作成
・合成音声ソフトによるオーディオブックの作成
などの用途に活用できます。もっと効率的な手段があるとは思います。あくまで個人的なものです。
⑴ テキスト化
スキャンした画像データを文字認識ソフトに読み込ませ、テキストデータ化します。一般的なソフトは、
・e.typist
・読取革命
くらいしかありません。私は前者を使用しています。後者のほうが認識精度は高いようですが、認識前にルビ部分を削除しなければならないらしいです。
⒜ 推奨設定
▶ 表示>テキストレイアウト表示 オフ
▶ 文字認識>文字種>修正
* 認識する文字を指定できる。
* 絶対使わない漢字や記号は対象外推奨。
▶ 文字認識>認識言語指定 日本語
* 縦書きの場合は英語認識がお粗末なので手打ち。
▶ 文字認識>改行コード挿入指定 自然改行
▶ 文字認識>ルビ認識指定 削除
▶ 解析>単語登録検索
* 頻繁に登録するので「autohotkey」で円滑化。
* 右側「Alt」を押すと単語登録画面に移行する。
* 単語登録はかかさず実施することを推奨。
#HotIf WinActive("ahk_exe e_typist.exe")
RAlt::
{
Send "!k"
Send "r"
return
}
▶ ツール>操作設定>認識> 誤認識解析を行う
▶ ツール>環境設定>フォント>背景の色設定
* 黒背景など推奨。
⒝ ショートカットキー
▶ 「F6」で文字認識が実行される。
▶ 「F9」で認識結果をコピーできる。
▶ 「ctrl」と「PageUp/Down」でページ移動できる。
⒞ 修正方法
当然ですが、100%の精度でテキスト化できるわけではありません。テキスト化において最も重要なことは、修正作業の簡略化です。
一括置換機能が搭載されていますが、正規表現が使用できませんし、行をまたぐと機能しません。「Python」のテキスト置換機能を利用します。
「間・問」「人・入」「諸・諳」などの漢字や、「つ・っ」「ア・ァ」「ば・ぱ」などの大文字・小文字、濁音・半濁音は、非常に誤認識されやすいので、適宜、置換対象を更新しましょう。
import re
b = r'置換前のテキストファイルのパス'
o = r'出力先'
with open(b, 'r', encoding='utf-8') as str1:
str2 = str1.read()
str2 = str2.replace('X', 'Y')
str2 = re.sub('X', r'Y', str2)
with open(o, 'w', encoding='utf-8') as output:
output.write(str2)
▶ str2 = str2.replace('X', 'Y')
* 「X」を「Y」に置換。
▶ str2 = re.sub('X', r'Y', str2)
* 正規表現によって「X」を「Y」に置換。
置換リストを、ひらがな・カタカナ・漢字などの要素ごとに分割すると、整理が楽かもしれません。
from list import Hiragana, Katakana, Kanji
b = r'置換前のテキストファイルのパス'
o = r'出力先'
with open(b, 'r', encoding='utf-8') as str1:
str2 = str1.read()
str2 = Hiragana.pattern1(str2)
str2 = Hiragana.pattern2(str2)
str2 = Katakana.pattern1(str2)
str2 = Katakana.pattern2(str2)
str2 = Kanji.pattern1(str2)
str2 = Kanji.pattern2(str2)
with open(o, 'w', encoding='utf-8') as output:
output.write(str2)
このメインとなるコードがあるファイルと同じ場所に「list」というファイルを新たに作成し、
import re
def pattern1(str2):
str2 = str2.replace('であつて', 'であって')
str2 = str2.replace('あむゆる', 'あらゆる')
return str2
def pattern2(str2):
str2 = re.sub('[すず][へぺ][てで]', r'すべて', str2)
str2 = re.sub('おいで[ばは]', r'おいては', str2)
return str2
などの実際の置換リストを記述する。Notepad++などのワークスペースフォルダーを使用すると、追加・修正が容易だと思います。
一括置換を実施した後は、目視で誤字を確認します。サクラエディタなど、特定のキーワードを強調表示できるエディターを利用すると、修正が簡単です。
濁音・半濁音や、漢字表記の数字、記号などを強調表示すると便利です。色分けもできます。
/[バビブヘベボ]/k
/[パピプペポ]/k
/[〇一二三四五六七八九][〇一二三四五六七八九]/k
/[─==間問]/k
⑵ 活用例
⒜ E-inkデバイス
書き込みやマーカーを記入できるデバイスがあると、読書が非常に楽しくなります。私はSKTのBOOXシリーズを利用しています。kindleデバイスなども良いでしょう。
⒝ epub変換
スマートフォンなどの画面で、スキャンしたままの画像データの書籍を読むのは、いささか面倒です。
「LeME」というepub変換ソフトで、Word形式の書籍データをepubに変換し、epubリーダーで読書できるようにすると、大変便利です。縦書きのepubリーダーとしては、「Reasily」が秀逸です。
「Reasily」ではCSSで文字詰めや文字間隔などの表示形式をカスタマイズできます。フォントは「IPAex明朝」使用。
body {
font-feature-settings: "vpal";
letter-spacing: -0.0005em;
}
⒞ オーディオブック作成
テキストデータ化した書籍は、合成音声ソフトを用いてオーディオブックにすることができます。「VOICEPEAK」は、昨今の音声合成ソフトの中でも抜きんでています。
⑶ 以上紹介した手順や活用方法をすべて実行しようとすると、かなりの時間とお金が必要になります。それをするだけの価値があるかは完全に個人によるでしょう。
ただ、この工程のなかで、テキスト化する書籍を確認がてら一周読めますので、そういった意味では効率的かもしれません。
この記事が気に入ったらサポートをしてみませんか?