(前回)
前回紹介したオンラインOCRのサイト、onlineocr.net の変換は非常に精度が高い。ありがたいことに、このサイトは無料で使えるが、一日に変換できるページ数やドキュメント本数には制約がある。それで、分量が多い場合は、全部を変換するのにかなり日数がかかる。(もっとも、インターネットやコンピュータシステムのからくりが分かっている人なら、「一日に」という文句が何を意味しているのか、簡単に推測がつくはずだし、同時に、この制約を回避する方法も分かるはずだ。同社の営業妨害になるので、これ以上の説明は省略する。)
さて、サイトを使って、Britannica 9th の index 部分を全て OCRでテキスト化した。例えば、 Plato(プラトン)の部分のページ(画像データ)は次のようにテキスト化できる。
テキストデータを見ると、いくつかの個所で、大文字、小文字の誤変換はあるものの、内容的にはほぼ完璧だといえる高い精度の変換がなされていることが分かる。
このOCRデータをもとにして、インデックスページ数と、変換データの行数、の2つの情報を追加したインデックスファイルを作った。ここまでくれば、以前紹介した xge でインデックスファイル検索すれば、検索項目が掲載されている該当ページが分かる。例えば、Plato を検索すれば、上で示したような結果が得られる。該当ページは 19巻の194ページ(xix. 194)であることが瞬時に分かる。この情報を元にして、ダウンロードした19巻のPDFファイルの 194ページにアクセスすればよいのだが、ここでもちょっとしたプログラムが組めるか組めないかで、効率が大幅に異なる。
プログラムが組めない場合、たいていの人は、 Explorerで該当フォルダーのPDFファイルをクリックして、ファイルが開き、該当のページ数を打ち込むだろう。これだけでも大層だが、それにも増して手間のかかることがある。それは、PDF内のページ数と、PDFファイルのページ数が一致しないことだ。例えば、Platoの場合、PDF内のページ数は194ページであるが、 PDFファイルではそれに差分の10ページを足した、204ページとなる。厄介なことに、この差分のページ数は、巻数ごとに異なる。いちいち計算するのは面倒だ!しかし、プログラムを組んでこの差分を自動的に計算して直ちに目的のページに飛んでいくことはいともたやすい。さらに、PDF閲覧で厄介なのはページ数の問題だけではない。自分にとって、見やすいフォントサイズや画面サイズにいちいちセットするのは面倒だ。結局これらすべてを以下に示すように、バッチファイル(pg.bat)でやらせることで Britannica 9thのデータを直ぐ閲覧することを可能にした。
さて、今回は150年近く前の Britannica 9th の内容にアクセスする方法を紹介したが、ウェブ上にはこれ(Britannica)以外にもPDF形式でしか見ることのできない有用な情報がたくさん存在している。上で述べたように、PDF形式のファイルを閲覧する時にはいくつか厄介な操作が必要だが、プログラムが組めるとそれらの操作を自動化することができる。あるいは、そこまでいかなくとも操作を極めて簡略化することができるようになる。私の場合、Windows10環境での作業であるので、Dos Promptのバッチファイル、awk ファイル、それと自作あるいはネットからダウンロードした exe ファイルを組み合わせて処理している。商用のプログラムではないので、わざわざ無理して一気通貫な処理をする必要はない。幾つもの小さなプログラムを重ね合わせることで、短時間でほぼほぼ目的を達成するプログラムを組むことができる。
(続く。。。)
前回紹介したオンラインOCRのサイト、onlineocr.net の変換は非常に精度が高い。ありがたいことに、このサイトは無料で使えるが、一日に変換できるページ数やドキュメント本数には制約がある。それで、分量が多い場合は、全部を変換するのにかなり日数がかかる。(もっとも、インターネットやコンピュータシステムのからくりが分かっている人なら、「一日に」という文句が何を意味しているのか、簡単に推測がつくはずだし、同時に、この制約を回避する方法も分かるはずだ。同社の営業妨害になるので、これ以上の説明は省略する。)
さて、サイトを使って、Britannica 9th の index 部分を全て OCRでテキスト化した。例えば、 Plato(プラトン)の部分のページ(画像データ)は次のようにテキスト化できる。
#348-32770: PLATO : , Greek philosopher, xix. 194; his method of analysis, I. 793; in relation to Aristotle, II. 510; on astro- nomy, II. 747; on the beautiful, I. 215 ; on communism, vi. 212; econo- mic ideas of, xix. 349; his ethics, VIII. 579; on evolution, VIII. 756; on the fine arts, IX. 199; his logic, xiv. 785; his metaphysics, xvi. 90; on the Mysteries, xvii. 125; on Socrates, XXII. 232; in relation to Socrates's teaching, xxii. 237; on sophistry, XXII. 266; on transmigration of the soul, xvi. 106; his place in Greek literature, XI. 142; Ast's translations and comment- aries on, II. 735; Trendelenburg on, XXIII. 542.
テキストデータを見ると、いくつかの個所で、大文字、小文字の誤変換はあるものの、内容的にはほぼ完璧だといえる高い精度の変換がなされていることが分かる。
このOCRデータをもとにして、インデックスページ数と、変換データの行数、の2つの情報を追加したインデックスファイルを作った。ここまでくれば、以前紹介した xge でインデックスファイル検索すれば、検索項目が掲載されている該当ページが分かる。例えば、Plato を検索すれば、上で示したような結果が得られる。該当ページは 19巻の194ページ(xix. 194)であることが瞬時に分かる。この情報を元にして、ダウンロードした19巻のPDFファイルの 194ページにアクセスすればよいのだが、ここでもちょっとしたプログラムが組めるか組めないかで、効率が大幅に異なる。
プログラムが組めない場合、たいていの人は、 Explorerで該当フォルダーのPDFファイルをクリックして、ファイルが開き、該当のページ数を打ち込むだろう。これだけでも大層だが、それにも増して手間のかかることがある。それは、PDF内のページ数と、PDFファイルのページ数が一致しないことだ。例えば、Platoの場合、PDF内のページ数は194ページであるが、 PDFファイルではそれに差分の10ページを足した、204ページとなる。厄介なことに、この差分のページ数は、巻数ごとに異なる。いちいち計算するのは面倒だ!しかし、プログラムを組んでこの差分を自動的に計算して直ちに目的のページに飛んでいくことはいともたやすい。さらに、PDF閲覧で厄介なのはページ数の問題だけではない。自分にとって、見やすいフォントサイズや画面サイズにいちいちセットするのは面倒だ。結局これらすべてを以下に示すように、バッチファイル(pg.bat)でやらせることで Britannica 9thのデータを直ぐ閲覧することを可能にした。
===============================================
@echo off REM Britannica 9th -- 指定された巻とページ数を開く if '%1' == '' goto MSG set /A baseoffset=10 set /A entvol=%1 set /A entpg=%2 echo pg [vol %entvol% ] [page %entpg%] -- Britannica 9th version REM 以下の offset の値、差が 12 であれば、2 をセットする if %entvol% GTR 24 goto ERR_GTR if %entvol% EQU 1 set offset=4 & goto DO_CONT1 if %entvol% EQU 2 set offset=2 & goto DO_CONT1 if %entvol% EQU 3 set offset=2 & goto DO_CONT1 if %entvol% EQU 4 set offset=6 & goto DO_CONT1 if %entvol% EQU 5 set offset=0 & goto DO_CONT1 if %entvol% EQU 6 set offset=0 & goto DO_CONT1 if %entvol% EQU 7 set offset=0 & goto DO_CONT1 if %entvol% EQU 8 set offset=0 & goto DO_CONT1 if %entvol% EQU 9 set offset=2 & goto DO_CONT1 if %entvol% EQU 10 set offset=0 & goto DO_CONT2 if %entvol% EQU 11 set offset=2 & goto DO_CONT2 if %entvol% EQU 12 set offset=0 & goto DO_CONT2 if %entvol% EQU 13 set offset=0 & goto DO_CONT2 if %entvol% EQU 14 set offset=0 & goto DO_CONT2 if %entvol% EQU 15 set offset=0 & goto DO_CONT2 if %entvol% EQU 16 set offset=0 & goto DO_CONT2 if %entvol% EQU 17 set offset=0 & goto DO_CONT2 if %entvol% EQU 18 set offset=0 & goto DO_CONT2 if %entvol% EQU 19 set offset=0 & goto DO_CONT2 if %entvol% EQU 20 set offset=4 & goto DO_CONT2 if %entvol% EQU 21 set offset=0 & goto DO_CONT2 if %entvol% EQU 22 set offset=2 & goto DO_CONT2 if %entvol% EQU 23 set offset=0 & goto DO_CONT2 if %entvol% EQU 24 set offset=2 & goto DO_CONT2 :DO_CONT1 set myfile0=eb0%entvol%.pdf & goto DO_CONT :DO_CONT2 set myfile0=eb%entvol%.pdf & goto DO_CONT :DO_CONT set /A mypage=%baseoffset% + %entpg% + %offset% REM echo myfile [ %myfile% ] mypage[ %mypage% ] offset[ %offset% ] set mycmd="X:Adobe\Reader 9.0\Reader\AcroRd32.exe" set myfile=X:\xxx\brit09\%myfile0% if exist %myfile% goto CONT goto ERR :CONT start /B "" /max %mycmd% /A " page=%mypage%&zoom=200&pagemode=none&view=Fit" %myfile% goto END :ERR_GTR echo ERROR Vol #[ %entvol% ] must be ( 1 -- 24 ) goto END :MSG echo Usage : pg [vol #] [page #] -- Britannica 9th version goto END :END
===============================================
さて、今回は150年近く前の Britannica 9th の内容にアクセスする方法を紹介したが、ウェブ上にはこれ(Britannica)以外にもPDF形式でしか見ることのできない有用な情報がたくさん存在している。上で述べたように、PDF形式のファイルを閲覧する時にはいくつか厄介な操作が必要だが、プログラムが組めるとそれらの操作を自動化することができる。あるいは、そこまでいかなくとも操作を極めて簡略化することができるようになる。私の場合、Windows10環境での作業であるので、Dos Promptのバッチファイル、awk ファイル、それと自作あるいはネットからダウンロードした exe ファイルを組み合わせて処理している。商用のプログラムではないので、わざわざ無理して一気通貫な処理をする必要はない。幾つもの小さなプログラムを重ね合わせることで、短時間でほぼほぼ目的を達成するプログラムを組むことができる。
(続く。。。)