FreePWING 1.6 is released

FreePWING 1.6がリリースされました。 インライン画像のサポートと4GB以上のHONMONファイルの作成に対応しています。 これにあわせてwikipedia-fpwも更新して、(しないと言っていたけど)数式に対応するようにしました。
ちなみに、2009/01/24のダンプデータを変換すると約1.99GBのHONMONファイルが生成されました。 2GBまであと一歩です。
タグ:FreePWING
メニュー |
ようこそ! Kazuhiro's blog
水曜日, 11月 25 2009 @ 01:34 午前 JST FreePWING 1.6 is released![]() FreePWING 1.6がリリースされました。 インライン画像のサポートと4GB以上のHONMONファイルの作成に対応しています。 これにあわせてwikipedia-fpwも更新して、(しないと言っていたけど)数式に対応するようにしました。 ちなみに、2009/01/24のダンプデータを変換すると約1.99GBのHONMONファイルが生成されました。 2GBまであと一歩です。 タグ:FreePWING Image::Magick for Cygwin Perl 5.10![]() 掲示板でも書きましたが、CygwinのパッケージでPerlを5.10にするとImage::Magickモジュールが使えない状態になっています。いつまでたってもアップデートされないのと、ないとそれなりに不便なので自分で用意してみました。 といっても、ImageMagickをインストールしていると/usr/share/doc/Cygwin/ImageMagick-6.4.0.6.READMEにビルド方法等が書かれていますので、そのまま行うだけです (区別をつけるために6.4.0.6-1から6.4.0.6-2にバージョンは変えましたが)。 ImageMagick-6.4.0.6-2.tar.bz2, libImageMagick1-6.4.0.6-2.tar.bz2,perl-Image-Magick-6.4.0.6-2.tar.bz2をダウンロードしてファイルシステムのルート上で展開してください。 しっかりとは読まずにやった為か、/usr/share/perl/cygwin-pods/5.8/ImageMagick.podと/etc/postinstall/ImageMagick.shがないですが、一応oald7-fpwでは使えています。 英語版WikipediaのダンプデータをJIS X 4081に変換する![]()
FreePWINGによる巨大書籍の作成実験の一環としてとしてウィキペディア英語版の変換を試みました。
Cygwinで行っていましたが、変換にはFreePWINGとwikipedia-fpwのいずれにも更に変更 変換には変換元のファイルも含めておよそ60GB弱必要で、作成されたHONMONファイルは約14.2GBです。NTFS圧縮後で約7.5GBになっています。要した時間はだいたい50時間強くらいだと思います (PIII 1G x 2, 2GB, Cygwin)。 (追記) FreePWING 1.5に対するパッチとwikipedia-fpw-20080616に対するパッチを公開しておきます。 パッチを当てたFreePWINGは既存のスクリプトでも動作するはずですが、fpwlinkが倍、もしくはそれ以上時間がかかるようになります。 (追記の追記) wikipedia-fpwのパッチは書籍のタイトルやディレクトリ名・パッケージ名は元のままなので適宜変更してください。 FreePWINGで4GB以上の書籍を作成する![]() JIS X 4081では理論上は1ファイル約190GBまでの書籍が構築可能ですが、EBStudioやFreePWINGではそのような大きな書籍は作成できません。 作成するのにどの程度手間がかかるか、wikipedia-fpwが2GBの壁に届く前にちょっと試してみました。 まず、FreePWINGにパッチをあて、4GB超の書籍を作成できるようにしてみました。
oald7-fpwで、テキスト登録時にテキストを水増しして4GB超の書籍を作成してみたところ、エラーも起きずにそれっぽいものが作成されました。 次にブラウザ側の検証です。
(追記) Cygwin + MinGWではMinGWのインクルードファイルにパッチをあてれば_FILE_OFFSET_BITSを設定することでoff_tを64ビットにできるので何とかなりました。 (追記の追記) EB Libraryとebzipは4.4以降で、EBWinは3.01以降で4GB超の書籍に対応しました。 タグ:FreePWING EB Library EPWINGSDIC辞書のインデキシングを最適化する![]() とか書くと偉そうに聞こえますが、自作のコードで必要な部分だけのインデックスポイントを書きださせることで、インデックスのサイズを小さくするという話です。 既存のアイデアではありますが、こういうのはスクリプト言語でやった方が楽じゃないかなぁという事で、紹介します。 SDICを使ってSDIC形式の辞書を検索する時、SUFARY(あるいはSary)を使ってインデキシングを行うことで検索の高速化が可能になります。 しかし、速くなるのはいいのですが、mkary等でインデキシングを行うと元のSDIC辞書のおよそ3倍という、結構な大きさのインデックスファイルが必要になります。 SDIC形式な辞書の場合、コメントの部分や、タグや実体参照の途中等からマッチさせる必要はありません。というか、されるとうれしくありません。 ですので、この部分についてはインデックスポイントを出力しないようにしてみます。 これにより、インデックスのサイズがおよそ2割前後小さくなりました。 また、全文検索を捨てて検索語だけでインデックスを作ったり、後方一致検索も捨てることで更に小さくできます。
一応公開しておきます。使い方ですが
% perl sdic_dumpip.pl gene.sdic
の様に使います。検索語のみでインデックスを作成する場合は
% perl sdic_dumpip.pl --index=keyword gene.sdic
の様にしてください。前方一致検索用のインデックスを作成する場合は
% perl sdic_dumpip.pl --index=prefix gene.sdic
の様にしてください。いずれの場合でも書き出し後にmkary(あるいはmksary)によるインデックスのソートが必要です。
% mkary -so gene.sdic
% mksary -s gene.sdic
(2008/09/08 追記) <K>以外のタグもスキップするように変更しました。 |
新着情報記事-コメント 最近 2 日-トラックバック 最近 2 日- |
| Copyright © 2009 Kazuhiro's blog 本ページのすべての商標と著作権はそれぞれの所有者に帰属します。 |
Powered By Geeklog ページ作成時間: 0.15 秒 |