「日本大百科全書」データテキスト化計画 −3つの壁編−

本文

さてさて、前回「テキストだけでもウン万払う価値はあるかも……(<お、意味深な発言(笑)」などと言っているのでお気付きの方もいるとは思いますが(てゆーかタイトルでバレバレだよ)、現在、体験版を材料に、「日本大百科全書」のデータをテキスト化するための実験を行なっています。

体験版を試してみたときは、バイナリっぽいデータしかなかったので、「あ、これは駄目だ」と諦めてしまったのですが、最近このページを見ていただいた太田純さん(前述したとおりEPWUTILの作者で、最近ではDOS/Vマガジン 3/15号の辞書特集も執筆されています)から「日本大百科全書のデータ(datasフォルダのbintxt.dat)は各バイトに-1のオフセットがかかったテキストである」とメールで教えていただき、早速WZマクロを使って変換を試みてみました。

しかし、さすがに16MB(体験版のため「あ行」だけですが、それでもこれだけの容量です)のテキストをテキストエディタのマクロで処理するのはきついですね。3時間くらい経って「やった、もうすぐ終わりかな」と思ったら桁を一つ間違えていまして、実際には30時間ほどかかりました(笑)。

壁その1:本文のテキストファイルに見出しが入ってない!

とにもかくにも、本文データのテキスト化はできたのですが、そのままでは使い物になりませんでした。というのも、bintxt.datには見出しのデータが含まれていません。これでは読み物としてはおもしろいですが、辞典としては役に立ちません。

そこで、同じフォルダのファイルを覗いて見たところ、BunIdx.datが1行に一つずつ見出しを並べたテキストのようでした。よし、これを本文のファイルに当てはめてゆけば、辞典として利用できるテキストファイルができるぞ! と意気込んでマクロに手を入れたのですが……。

壁その2:見出しだけあって本文がない項目

世の中そんなに甘くなかったです。変換後のテキストを見てみたら、途中までは見出しと本文がきちんと同期しているのですが、途中からずれてしまいました。

ずれたところを本家「日本大百科全書」で確認したところ、【アイ】の項目からずれていました。よくよく調べると、こいつは「→アイゴ」と他の項目へのリンクがあるだけで、本文がありません。こういった項目はいくつかあって、そのたびに本文と見出しがずれていました。

ただ、これはちょっと調べてみれば解決しました。どうやら、文字コード0x01の4連続の並びが、この「リンクだけ項目」を表しているようです。これが出てきたときはその見出しを使わない(スキップする)ようにマクロを変更して、何とか整合性は取れました(そのかわり、これらのスキップされた見出しが欠落してしまうため、辞典としての検索性は落ちます)。

壁その3:BunIdx.datの並び順=実際の並び順ではない!

さて、これで今度こそいけるぞ!と思って変換。上から順に見ていって、見出しだけ項目の「アイ」も「IIC」も無事クリア。やったー! と思ったらまたずれました。場所は「アイアコッカ」。さて、どうしてだろ、とBunIdx.datを見てみたら……。

なんと、BunIdx.datの並び順と実際(「日本大百科全書」上)の並び順が、一部違うのでした。基本的には同じ(50音順)なのですが、どうやらインデックス作成後にいくつかの項目を追加したらしく、いったん50音順で見出しが並び、さらにその後ろに50音順で追加項目らしい見出しが並んでいます。実際の表示では両方がまざった上で50音順にソートされるので、そこで本文(bintxt.dat)とずれてしまうわけです。

こればっかりは、どんなにbintxt.datを解析してみても、どの項目が追加分か区別することができませんでした。これらのちゃんとしたインデックス情報は、Text.mdb(Microsoft Accessのデータベースファイル)あたりに入っているのでしょう。このファイルにはパスワードがかかっていて中身を見ることはできませんでした。

というわけで、結局最後の壁を越えることができず、テキスト化計画は停滞しています(苦笑)。ただ、その「順番がずれている」追加部分ですが、これが計算してみたら676項目でした。全項目が(BunIdx.datの総行数から判断するところによると)104,570項目ですから、全体の中ではたったの0.64%なんです。このくらいなら、手でBunIdx.datを入れ換えるってのもアリかなぁ、などと思っています。

まとめとダウンロード

ずいぶん長くなってしまいましたが、現段階での状況は

てところです。はっきりいって使い物になりませんが、それでも、という方のために、WZ EDITOR 4.0専用の変換マクロを置いておきます。使い方はマクロの先頭に描いてありますので、覚悟の上お使いください。
NipToText.txc(4.85KB)

(99/05/28追記)速度についての補足:今日、Pentium II×2のNT4マシンで試してみたら、4時間半で変換できました。1日かかるってのは言い過ぎかも(ずうっと見張ってたわけじゃないので……)。ただこの計算でも正式版の場合は×10ですから、2、3日はかかることになりますが……。
(99/12/07追記)要望に応えて、途中から再開できるようにしました。ちなみに中断はCtrl+Alt+Delです(おい)。

Copyright©1998-2005 Yujiro Nakamura All rights reserved.
本サイトに関するご連絡の方法はreadmeをご参照ください。

本Webページの無断引用、本Webページへの無断リンクを歓迎します(笑)。