(前回)
前回、フランス語の百科事典 "La Grande Encyclopédie" をキーワードで検索して巻とページを特定するところまで説明した。「これで、ようやく本文にアクセスできる!」と喜んで使っていたが、その内、妙な不具合に遭遇することになった。それは、PDFでページ数を指定してアクセスした個所のページ数が合わないのだ。差が1,2ページなら気にしなかったのだが、そのうち 10ページ近くも差がある場合があった。今まで数多くの辞典や事典類の PDFファイルをダウンロード使っていたが、こういう事態に今まで出会ったことがなかった。これは根本的におかしい、と感じて調査した。
結果、分かったのは、この辞書には図や地図がはさみこまれているがそういった図版にはページが振られておらず、テキストページのページ番号は図版ページの前後でつながっているため、PDFのページをアクセスするには、図版のために飛んだページ数を加えてやらないといけないのだ。図版にページを付けずに飛ばすことは、ヨーロッパの古い書物にはしばしばみられる。Britannica 9th Versionもそのように製本されているが、これをPDF化するときは、図版だけのページは除外されている。それで、本文に付けられているページ数と PDFファイルのページ数は合致するのである。(厳密にいうと、PDF化の時に表紙などがあるのでこのオフセット分だけの差が、本文とPDFファイルの間に生じるが、その値は一定である。)
さて、原因が分かったので、解決の糸口は見えたが、実際に解決するまでには幾山も困難が待ち構えていた。
ざっくりというと解決の道筋は次のようになる。
PDFファイルの各ページの上部には、ページ数と検索語がある。画像のその部分だけをカットして、画像ファイルとして格納する。これをOCRにかければ、正しいページ数がでるはずだが、現在のOCRでは、特に粒度の荒い画像データでは誤認識が多発する。それで、これらの画像ファイルの間に、実際のページ数を示す画像ファイルをスペーサーとしてはめ込む。
この時、インターネットから各種の exe プログラムをダウンロードして使った。その機能は:
1. pdftoppm.exe -- PDF から指定する領域を画像データとして取り出す。
2.magick.exe -- テキスト情報(この場合はページ番号)を画像に変換する。
3.convert.exe (magick.exe の一機能) -- 1.と2.で作られた画像データを結合(append)する。
4.jpeg2pdf.exe -- 3.までで作られた画像データを全てまとめて一つのPDFファイルにする。
5.pdftk.exe -- 4.までで作られた複数のPDFファイルを1本のPDFファイルに統合する。
6.FreeOcr.exe -- 最終的には、5.で得られたPDFファイルを OCRで文字解析して、本文のページとPDFのページがどのページでどの程度の差があるかを調べる。
私が、この『軟財就計』のブログで言いたいのは、プログラムが組めるメリットは、このようなインターネット上で無数にあるデータ処理プログラムをダウンロードして、プログラムから呼び出すことで大量のデータ処理を間違いなく、かつ短時間にすることができることにある、ということだ。確かに、一枚のデータを処理するのなら、眼でチェックすればすむ話だが、今回のように1巻が1200ページあり、それが31巻もある、つまり 3万ページを超えるページ数を眼でチェックすることは手にあまる。プログラムが組めるとこれが、いくら時間がかかっても数日内に処理することが可能となる。
OCRにかける前の画像PDFファイルは次のような内容である。
これをOCRで文字変換すると次のようなファイルとなる。見て分かるように、本文のページ数の部分は数字が崩れている部分もありときたま誤認識がある。一方、スペーサーとして入れた PDFファイルのページ番号はかなり正しい。
このファイルから必要なページ数部分だけを抽出すると次のようなファイルを得る。
PDFデータと本文ページのスタートの1ページ目を合わせて、PDFページを修正すると次の表になる。これから分かるように、825ページの段階で、すでに6ページもの差が生じている。つまり、それまでに図版が6枚はさまっていたことになる。
これらの情報を基にして、特定の本文のページを正確にアクセスするには、巻、ページ数に応じて、図版の枚数を加えるテーブルを以下のような形式で作る。第1カラムは巻数。第2カラムは、スタート地点でのページ数の差。第3カラムは (,) では、かっこの前の数字は、ページ数、後の数字は追加ページ数を示す。
本文のページ数が分かったら、それに第2カラムと第3カラムの数字を合算してPDFページとしてアクセスすることになる。
このように、この百科事典 "La Grande Encyclopédie" にはなかなか苦労させられたが、記述内容は全く申し分ない。 Britannica 9th、11thにも優るとも劣らない。わけても、私が頻繁にアクセスする古代ギリシャやローマに関する記事は内容が充実している。この百科事典は現在、フランスで文字起こしが進行中であるから、あと数年後には、このような処置が必要でなくなるが、それまで使わないでいるのは全くもったいない。プログラムが組めることで自分の希望する操作が実現できることを私は大変幸福に思っている。
(続く。。。)
前回、フランス語の百科事典 "La Grande Encyclopédie" をキーワードで検索して巻とページを特定するところまで説明した。「これで、ようやく本文にアクセスできる!」と喜んで使っていたが、その内、妙な不具合に遭遇することになった。それは、PDFでページ数を指定してアクセスした個所のページ数が合わないのだ。差が1,2ページなら気にしなかったのだが、そのうち 10ページ近くも差がある場合があった。今まで数多くの辞典や事典類の PDFファイルをダウンロード使っていたが、こういう事態に今まで出会ったことがなかった。これは根本的におかしい、と感じて調査した。
結果、分かったのは、この辞書には図や地図がはさみこまれているがそういった図版にはページが振られておらず、テキストページのページ番号は図版ページの前後でつながっているため、PDFのページをアクセスするには、図版のために飛んだページ数を加えてやらないといけないのだ。図版にページを付けずに飛ばすことは、ヨーロッパの古い書物にはしばしばみられる。Britannica 9th Versionもそのように製本されているが、これをPDF化するときは、図版だけのページは除外されている。それで、本文に付けられているページ数と PDFファイルのページ数は合致するのである。(厳密にいうと、PDF化の時に表紙などがあるのでこのオフセット分だけの差が、本文とPDFファイルの間に生じるが、その値は一定である。)
さて、原因が分かったので、解決の糸口は見えたが、実際に解決するまでには幾山も困難が待ち構えていた。
ざっくりというと解決の道筋は次のようになる。
PDFファイルの各ページの上部には、ページ数と検索語がある。画像のその部分だけをカットして、画像ファイルとして格納する。これをOCRにかければ、正しいページ数がでるはずだが、現在のOCRでは、特に粒度の荒い画像データでは誤認識が多発する。それで、これらの画像ファイルの間に、実際のページ数を示す画像ファイルをスペーサーとしてはめ込む。
この時、インターネットから各種の exe プログラムをダウンロードして使った。その機能は:
1. pdftoppm.exe -- PDF から指定する領域を画像データとして取り出す。
2.magick.exe -- テキスト情報(この場合はページ番号)を画像に変換する。
3.convert.exe (magick.exe の一機能) -- 1.と2.で作られた画像データを結合(append)する。
4.jpeg2pdf.exe -- 3.までで作られた画像データを全てまとめて一つのPDFファイルにする。
5.pdftk.exe -- 4.までで作られた複数のPDFファイルを1本のPDFファイルに統合する。
6.FreeOcr.exe -- 最終的には、5.で得られたPDFファイルを OCRで文字解析して、本文のページとPDFのページがどのページでどの程度の差があるかを調べる。
私が、この『軟財就計』のブログで言いたいのは、プログラムが組めるメリットは、このようなインターネット上で無数にあるデータ処理プログラムをダウンロードして、プログラムから呼び出すことで大量のデータ処理を間違いなく、かつ短時間にすることができることにある、ということだ。確かに、一枚のデータを処理するのなら、眼でチェックすればすむ話だが、今回のように1巻が1200ページあり、それが31巻もある、つまり 3万ページを超えるページ数を眼でチェックすることは手にあまる。プログラムが組めるとこれが、いくら時間がかかっても数日内に処理することが可能となる。
OCRにかける前の画像PDFファイルは次のような内容である。
これをOCRで文字変換すると次のようなファイルとなる。見て分かるように、本文のページ数の部分は数字が崩れている部分もありときたま誤認識がある。一方、スペーサーとして入れた PDFファイルのページ番号はかなり正しい。
*******************
- 819 - - AGEN
?m?1`fa§°?; "#00BF;iLf:%.;f§"i$.i'§:*:'s§f#00BF;*aiilzzlffiifiii I §*;°i§#FB02;e_.*9i*_*=f °f>_*#.S5*ifi5*z**Iz*.1#FB02;#00AB;* f*zdwffie.S. =1°_#00AB;#00BB;e~:*.fifi=#203A;#00AB;#203A;.w#FB02;f#00AB;-
== XXXXX 851 XXXXX==
AGEN -- AGENAIS ' - 890 - ` .
#203A; ¢:1mm.#203A;§1[. J01§r1664§; JulesMas¢amn#FB02;679) ; l*`ram:<#203A;is I .tion en f#FB02;P,_H<=h¢ve*#203A; en 488#00AB;fi#00AB;.Zeleve@ S111" _l_`emP1=!9¢m°11¢
== XXXXX 852 XXXXX==
' - 821 _ * AGENAIS
\..:.M:¢:.... ...M ...*...,... .... e .1.. Mu.. ..:..:#203A;..,. n,... | "sm :1 _ L ¢ ._ ...1__¢ ._ _ \ 1 _ 1 -_1 _ , 1' .- -
-- XXXXX 853 XXXXX--
AGENAIS - AGENCE HAVAS - 822 --
.. ,. 1.- _1__fi..__ :_ 1_____ ___:.__ .,-__.:M.. .. ..x,x..:.: 1 ¢¢.-#203A;-1'”-ph-#203A;#203A;#00BB;m#203A;m mlinimnza fin! Ammnin du X* nu XVIQ
-- XXXXX 854 XXXXX--
A ' -#203A; 893 - AGENCE HAVAS
== XXXXX 855 XXXXX==
AGENCE HAVAS - 394 -
== xxxxx 856 xxxxx==
***********
このファイルから必要なページ数部分だけを抽出すると次のようなファイルを得る。
PDF ページ : 差分 : 本文ページ
pg[ 851 ] : 32 : 819 : - 819 - - AGEN
pg[ 852 ] : -38 : 890 : AGEN -- AGENAIS ' - 890 - ` .
pg[ 853 ] : 32 : 821 : ' - 821 _ * AGENAIS
pg[ 854 ] : 32 : 822 : AGENAIS - AGENCE HAVAS - 822 --
pg[ 855 ] : -38 : 893 : A ' -#203A; 893 - AGENCE HAVAS
pg[ 856 ] : 462 : 394 : AGENCE HAVAS - 394 -
PDFデータと本文ページのスタートの1ページ目を合わせて、PDFページを修正すると次の表になる。これから分かるように、825ページの段階で、すでに6ページもの差が生じている。つまり、それまでに図版が6枚はさまっていたことになる。
PDF ページ : 差分 : 本文ページ
pg[ 825 ] : 6 : 819 : - 819 - - AGEN
pg[ 826 ] : -64 : 890 : AGEN -- AGENAIS ' - 890 - ` .
pg[ 827 ] : 6 : 821 : ' - 821 _ * AGENAIS
pg[ 828 ] : 6 : 822 : AGENAIS - AGENCE HAVAS - 822 --
pg[ 829 ] : -64 : 893 : A ' -#203A; 893 - AGENCE HAVAS
pg[ 830 ] : : 394 : AGENCE HAVAS - 394 -
これらの情報を基にして、特定の本文のページを正確にアクセスするには、巻、ページ数に応じて、図版の枚数を加えるテーブルを以下のような形式で作る。第1カラムは巻数。第2カラムは、スタート地点でのページ数の差。第3カラムは (,) では、かっこの前の数字は、ページ数、後の数字は追加ページ数を示す。
本文のページ数が分かったら、それに第2カラムと第3カラムの数字を合算してPDFページとしてアクセスすることになる。
vol 01 : 26:(181, 2)(709, 4)(731,6)(989,8)(1080,10)
vol 02 : 10:(161,2)(265,3)(377,4)(444,5)(469,6)(471,7)(481,8)(513,10)(524,11)(685,12)(700,14)(706,15)(927,17)(1122,18)
(以下省略)
このように、この百科事典 "La Grande Encyclopédie" にはなかなか苦労させられたが、記述内容は全く申し分ない。 Britannica 9th、11thにも優るとも劣らない。わけても、私が頻繁にアクセスする古代ギリシャやローマに関する記事は内容が充実している。この百科事典は現在、フランスで文字起こしが進行中であるから、あと数年後には、このような処置が必要でなくなるが、それまで使わないでいるのは全くもったいない。プログラムが組めることで自分の希望する操作が実現できることを私は大変幸福に思っている。
(続く。。。)