hakeの日記

Windows環境でプログラミングの勉強をしています。

ウィキペディアの辞書化

以前からウィキペディアを辞書にしたいと思っていて、Rubyで変換スクリプトでも作ろうかと思いつつそのままになっていましたのですが、最近某所で変換手段があることを知り実行してみました。変換辞書をEeePCにいれて使っています(容量が厳しいですが(^^ゞ)が、ウィキペディアを辞書として持てるのはとても便利ですね。

作成された辞書本体ファイルは約1.7GBで後述のソフトで5段階中3のレベルで圧縮させて約700MBになりました、おおきいなぁ。作成環境はWindowsVISTAノートPC(CPU:Core2Duo T5500?)のUSB外付けHDD上につくったVirtualPC環境上のDebianです。この環境で変換(fpwmake)に約7時間かかりました、寝る前に実行して朝起きたらちょうどいい具合に変換終了してましたね。作業前後の仮想HDDサイズから判断して変換作業に必要なHDD容量は約10GBといったところでしょうか。

    • 追記08/12/20 freepwing-1.5.tar.bz2+wikipedia-fpw-20080616-src.tar.gzにて、本体HDDに構築したUbuntu8.04LTS on VirtualBox2.1.0上の環境では約4時間で変換終了しました。

参考にさせていただいたサイトは以下です。


以下、作業メモ

事前準備

  • 変換にはperl5.8以上が必要、Debianには元から入っていたのでおっけ
  • zipコマンドのインストール。最後のパッケージング作業で必要になるのでapt-getでインストール、ついでにunzipもいれとく
  • ウィキペディアのダウンロードサイトのlatestからjawiki-latest-pages-articles.xml.bz2をダウンロードする、今回のは20080208版だと思います。サイズが650MBくらいあるので注意、自分の環境ではダウンロード自体結構時間がかかりました。

FreePWINGのインストール

JIS X 4081 形式の書籍データを生成をするソフト、本家はこちらですが、今回はこちらのfreepwing-1.4.4+20071226.tar.gzを使用

    • 追記08/12/20 本家freepwing-1.5のみで変換可能になりました。
$ tar zxvf freepwing-1.4.4+20071226.tar.gz
$ cd freepwing-1.4.4(ディレクトリ名うろ覚え)
$ ./configure
$ make
$ make check
$ su
# make install

変換ツールの準備

参考サイトからwikipedia-fpw-20071202-src.tar.gzをダウンロードして展開、そこにウィキペディアのデータを持ってきて展開後、ファイル名変更。

$ tar xzvf wikipedia-fpw-20071202-src.tar.gz
$ cd wikipedia-fpw-20071202(ディレクトリ名うろ覚え)

$ cp /mnt/jawiki-latest-pages-articles.xml.bz2 .
$ bunzip2 jawiki-latest-pages-articles.xml.bz2
$ mv jawiki-latest-pages-articles.xml wikipedia.xml

変換

$ fpwmake        これが時間かかる
$ fpwmake catalogs    catalogsファイル作成?
$ fpwmake package    おなじみの辞書構成にして圧縮、zipコマンド使用

データの圧縮

上でできた拡張子zipのファイルをWin環境に持ってきて辞書データを置く場所に展開する。
今までは辞書データの圧縮にBuckinghamEBCompressorを使用していたのですがVista環境ではうまく動作しないようなので、代わりにEBStudioでおなじみh_ishidaさんトコのEBWin同梱のEBshrinkを使用させていただきました。圧縮レベルはデフォルトの3のままで行いました。
なおEBshrinkで圧縮したファイルはBuckinghamEBPlayerでは使用できませんでしたのでWin上の辞書ソフトはEBWinに移行しました。

追記(09/05/13)

こちらに2009年5月現在のポイントを記載しました。