国文研館蔵和古書画像400万コマ近くがオープンデータに!

 先日、国文学研究資料館(以下、国文研)の館蔵和古書画像がCC BY-SAへとライセンス変更されたことは記憶に新しいところです。筆者としては早速ダウンロードして色々活用できるように…と思って少し試してみたらなかなか大変でした。結果として、19451書誌分の古典籍画像をダウンロードすることができたのですが、書誌情報はオープンデータになっていないので、内容がわかる人でないとなかなか活用は難しいのではないかと思います。この点、昨年「国文研データセット」として公開されたものは書誌情報やタグ、一部の全文テクストなど色々おまけがついていたので楽しみやすいものでした。筆者としても、色々な工夫をさせていただきました。

 しかし、やはり、せっかくオープンデータとして公開されたのですから、これはなるべくみんなで活用できるようにした方がよいと思いました。このところ「デジタルアーカイブ」についての議論が盛り上がっていることもあり、古典籍好きな人たちがデジタルアーカイブについての活用例を色々と出せるようにすることは、古典籍に関わる研究者だけでなく全体にとってもいいことなのではないかということもあり、とりあえず皆が共有しやすい形にしようかと思いました。

 とりあえず、このブログで何度もご紹介しているIIIFに対応する形で公開するのは活用の幅がかなり広がりますので、まずはIIIF対応をさせました。このIIIF Manifestのリストはタブ区切りテクストで公開しております。この件は、さっそく笠間書院が採り上げてくださったので、ありがたいことです。なお、なんでJSONじゃないの?という突っ込みはご容赦ください。JSONであるべきだと思う人はJSONにして再配布してください。

 さて次に、画像のダウンロードです。国文研のデータベースはあんまりダウンロードしやすくないので、ダウンロードしやすいようにしてみました。ポイントは、

  1. 画像のディレクトリ/ファイル番号と書誌情報ID(?)との対応をわかりやすく
  2. 画像のファイル名を固定長で
  3. 1書誌ごとに全画像を1つの頁にまとめる

という3点です。先にテクニカルな話をしておくと、ファイル/ディレクトリの構造はそのままにして、シンボリックリンクをはることで上記のことを実現しています。多分、こうしておくことで、元のリポジトリ上での画像の状況に小変更が生じた時にもそれなりに機械的に対応できると思います。

では、上記の3点をかいつまんで説明していきますと、

「1. 画像のディレクトリ/ファイル番号と書誌情報ID(?)との対応をわかりやすく」というのは、書いているとおりです。おそらく、書誌情報やモノとしての本や周辺物の構造にあわせてディレクトリやファイル番号をつけていった上で、データベース上で順番を管理して表示していたのだと思うので、Webインターフェイスから使うことだけを考えるならこれでよいと思うのですが、画像をダウンロードして使うことを考えた場合、画像にアクセスした時にそのオリジナルのディレクトリ/ファイル番号(ファイル名)が見えてしまっていて、結果として書誌情報との関係や画像の順番がダウンロード後によくわからない、という状態になってしまうようでした。たとえば、何らかの事情で番号が飛んでいる場合、複数の本で構成される一つの本(書誌)のディレクトリの分け方に色々なパターンがある、あるいは、帙の写真があって本文が始まるけど画像番号は帙の写真の方が大きい、など、です。これだと、ダウンロードした時に、Webで見せている順番(=多分国文研でこうあるべきと思った順番)では使えなさそうな感じでした。これは、これまでの国文研のデータベースがダウンロードでの利用を前提としていないのである意味当然のことであるとも言えるのですが、せっかくCC BY-SAでの公開となったのに、ダウンロードした際にうまく使えないとちょっと困るかもしれないので、とりあえず、各書誌情報ID(?)ごとに、画像をぶらさげる形にしてみました。

「2.画像のファイル名を固定長で」というのも、書いているとおりです。特にパソコンに1冊分をダウンロードしたり、複数の本を同じフォルダに保存してみたりした場合、読む順番で画像が並んでいたり、きちんと連番になっていたり、固定長になっていたりすることは、画像を簡単に順番に並べることができるという点で、ライトなパソコンユーザには割と重要なことかと思います。幸いにして書誌情報ID(?)は固定長なので、書誌毎の画像をWebで公開されている順番にならべて、その順番の番号を固定長でつけました。こういうのをPHPでやってしまう人なので sprintf("%05d", $filename); という感じです。結果として、今のところ、3,957,881点(多分重複あり)のすべての画像が「書誌番号ID_5桁の連番.jpg」という風になっています。

「1書誌ごとに全画像を1つの頁にまとめる」というのは、半分、上記1. の話の繰り返しになりますが、たとえばこんな感じで、各書誌ごとに頁を生成して、そこから、その書誌に対応する画像へのリンクが表示されるようにしてみました。

 

 さて、ここまで来たら、今度はIIIF manifestやダウンロード画像を探しやすくする工夫です。といっても書誌情報がオープンデータ化されていない現状では、できることは極めて限られていますが、一応、タイトルで検索できるようにしてみました。いわゆる親書誌と個別の書誌で同じ画像を含んでいる場合もあったり、結果として同じ画像が重複してヒットする場合もあるかもしれませんが、その点はご容赦ください。

 というわけで、とりあえずこんなものを作ってみました。サイトにちゃんとした名前をつけたいような気もするのですが、これはあくまでも本家の国文研サイトでIIIF manifestやダウンロードしやすい仕組みが提供されるまでのつなぎですので、「テストサイト」としています。この仕組みは、以前に国文研データベースの画像を全部チェックして仏典画像を探した時に苦労した点を反映したもので、基本的には、各本へのリンクが一覧表示されている画面からなるべく動かずに色々な情報を得られるように、というものです。

 まず、国デコ(国立国会図書館デジタルコレクション)ではすでに用意されている機能を少し発展させたものとして、少し大きめの頁のサムネイル画像を、頁を指定して一覧表示画面に列挙できるようにしています(たとえば、10頁のサムネイル画像を表示させる、といった具合です)。この機能があると、それぞれの本がどういうものか、ということについての簡単な見通しが得やすくなりますので、ちょっと作業がやりやすくなります。そして、そのサムネイル画像をクリックすると、Miradorで、その頁を拡大表示した形で、その本が表示されます。こうすると、内容の確認に入りやすい上に、Miradorは他の頁に飛ぶ方法が楽なので(頁下部のサムネイル画像をクリックするだけ)、その点でも便利です。国文研のデータベースも新しいものでは部分的にサムネイル画像が用意されるようになってきているようですが、「サムネイル画像は準備中です」となっているものに多く遭遇する上に、一度に閲覧できるサムネイル画像の数が少ないので(これは国デコもなのですが)、微妙に不便です。また、サムネイル画面と個別頁の画面はいちいち別ページを読み込む形になるので、そのたびにビューが切り替わり、さっき見ていたものがわからなくなるのは、たくさん画像を見なければならないときは結構疲れます。Miradorでの、頁拡大画面の下部にサムネイルがリストされる表示方法は、その点、結構楽でありがたいことです。ただ、この点については好みの問題もあるかもしれないので、あくまでも私が便利で楽だと思っている、ということにしておいていただけたらと思います。

 それから、書誌詳細を、ポップアップウインドウに表示されるようにしました。これは、国文研の現在のデータベースでは、新しい頁を開いてしまうのでちょっと大げさです。せっかくGET Methodに対応したのですから、こういう感じで表示してもらえると、視線があまり動かないのでありがたいのです、と思っております。ポップアップでなくても、フレームみたいなものでもいいのですが。

 それに加えて、画像ダウンロードのリンク、Mirador、Universal Viewerへのリンク、IIIFドラッグ&ドロップアイコンなどもご用意いたしました。ここら辺を何らかの使いやすい形で本家でもいずれ用意していただけたらと思っているところです。

 

 オープンデータとして公開されたのに十分に活用されていない、となると、今度はかえってオープンデータ公開の意義が問われることになってしまいかねません。ということを最近いつも心配しております。とりあえずここまでしておけば、簡単なダウンローダを使って持って行って色々試したりすることも比較的容易にできると思いますので、みなさま、ぜひ色々ご活用してみてください。

 それから、この画像をオープンデータ化する決断をしてくださった国文研への感謝の念と参照情報は、常に忘れないようにしましょう。特に参照を明確に・できれば機械可読な形でも提示することは、オープンデータの意義を高めることに割と直接的につながり、他の機関のオープンデータ化を後押しすることにもなると思いますので、ぜひともよろしくお願いいたします。

 

今回新規にご紹介したURL:

http://www2.dhii.jp/nijl_opendata/kanzo_all.txt

http://www2.dhii.jp/nijl_opendata/searchlist.php