カルガリーコーパス
カルガリーコーパスは、テキストファイルとバイナリデータファイルの集合であり、データ圧縮アルゴリズムの比較に広く用いられています。1987年にカルガリー大学のイアン・ウィッテン、ティム・ベル、ジョン・クリアリーによって作成され、1990年代には広く利用されていました。1997年には、カルガリーコーパスの代表性に関する懸念からカンタベリーコーパス[ 1 ]に置き換えられましたが[ 2 ]、カルガリーコーパスは現在も比較のために存在し、当初の目的において依然として有用です。
コンテンツ
最も一般的に使用される形式では、コーパスは次のように合計 3,141,622 バイトの 14 個のファイルで構成されます。
| サイズ(バイト) | ファイル名 | 説明 |
|---|---|---|
| 111,261 | ビブ | UNIX " refer " 形式の ASCII テキスト - 725 個の書誌参照。 |
| 768,771 | ブック1 | フォーマットされていない ASCII テキスト – Thomas Hardy: Far from the Madding Crowd。 |
| 610,856 | ブック2 | UNIX「troff」形式の ASCII テキスト – 記述: コンピュータ音声の原理。 |
| 102,400 | ジオ | IBM 浮動小数点形式の 32 ビット数値 - 地震データ。 |
| 377,109 | ニュース | ASCII テキスト –さまざまなトピックに関する USENETバッチ ファイル。 |
| 21,504 | OBJ1 | VAX実行可能プログラム - PROGP のコンパイル。 |
| 246,814 | OBJ2 | Macintosh実行可能プログラム – BR Gaines の「Knowledge Support System」。 |
| 53,161 | 論文1 | UNIX "troff" 形式 – Witten、Neal、Cleary: データ圧縮のための算術符号化。 |
| 82,199 | ペーパー2 | UNIX "troff" 形式 – 著者: コンピュータの (不) セキュリティ。 |
| 513,216 | ピック | 1728 x 2376ビットマップ イメージ(MSB が先頭): フランス語のテキストと折れ線グラフ。 |
| 39,611 | PROGC | C 言語のソースコード – UNIX compress v4.0。 |
| 71,646 | プログル | Lisp のソースコード - システムソフトウェア。 |
| 49,379 | プログ | Pascal のソース コード - PPM 圧縮を評価するプログラム。 |
| 93,695 | トランス | ASCII および制御文字 – 端末セッションのトランスクリプト。 |
あまり一般的ではない18ファイル版もあり、これにはUNIXの「troff」形式のテキストファイル4つ(PAPER3からPAPER6)が含まれています。カンタベリー・コーパス・ウェブサイトの管理者は、「これらは評価には役立ちません」と述べています。[ 3 ]
ベンチマーク
カルガリーコーパスは、1990年代にデータ圧縮のベンチマークとして広く用いられていました。圧縮結果は、各ファイルのビット/バイト(bpb)でリストされ、平均化されてまとめられるのが一般的でした。近年では、すべてのファイルの圧縮サイズを単純に合計することが一般的になっています。これは、圧縮率を元のファイルサイズで重み付けすることに相当するため、加重平均と呼ばれます。ヨハン・デ・ボックによるUCLCベンチマーク[ 4 ]はこの手法を採用しています。
一部のデータ圧縮ツールでは、テキストファイル間の相互情報量を利用して、入力データを圧縮前に非圧縮アーカイブ( tarファイルなど)にまとめることで、コーパスを小さく圧縮することが可能です。一方、圧縮ツールが非一様統計を適切に処理できないため、圧縮率が低下する場合もあります。この手法は、 Matt Mahoney著のオンライン書籍『Data Compression Explained』のベンチマークテストで使用されました。 [ 5 ]
以下の表は、14個のファイルからなるカルガリーコーパスを、いくつかの一般的な圧縮プログラムで両方の方法で圧縮した場合のサイズを示しています。オプションを使用する場合は、最適な圧縮率を選択してください。より詳細なリストについては、上記のベンチマークをご覧ください。
| コンプレッサー | オプション | 14個の個別のファイルとして | tarファイルとして |
|---|---|---|---|
| 非圧縮 | 3,141,622 | 3,152,896 | |
| 圧縮する | 1,272,772 | 1,319,521 | |
| インフォZIP 2.32 | -9 | 1,020,781 | 1,023,042 |
| gzip 1.3.5 | -9 | 1,017,624 | 1,022,810 |
| bzip2 1.0.3 | -9 | 828,347 | 860,097 |
| 7-zip 9.12b | 848,687 | 824,573 | |
| bzip3 1.1.8 | 765,939 | 779,795 | |
| ppmd Jr1 | -m256 -o16 | 740,737 | 754,243 |
| ppmonstr J | 675,485 | 669,497 | |
| ZPAQ v7.15 | -方法5 | 659,709 | 659,853 |
圧縮チャレンジ
「カルガリーコーパス圧縮とSHA-1クラックチャレンジ」[ 6 ]は、レオニード・A・ブルキスが1996年5月21日に開始したコンテストで、カルガリーコーパスの14ファイルバージョンを圧縮することを目的としています。このコンテストでは少額の賞金が与えられますが、賞金は時間の経過とともに変動しています。現在の賞金は、前回の結果から111バイトの改善ごとに1米ドルです。
コンテストのルールによると、応募作品は圧縮データと解凍プログラムの両方で構成され、複数の標準アーカイブ形式のいずれかに圧縮されている必要があります。時間とメモリの制限、アーカイブ形式、解凍言語は、時間の経過とともに緩和されてきました。現在、プログラムは2000 MIPSのWindowsまたはLinuxマシンで24時間以内に実行され、800MB未満のメモリを使用する必要があります。後にSHA-1チャレンジが追加されました。これにより、解凍プログラムは、カルガリーコーパスとは異なるファイルを出力しても、ハッシュ値が元のファイルと同じであれば問題ありません。しかし、今のところ、このチャレンジは達成されていません。
最初のエントリは、RKとWinRKの作者であるMalcolm Taylor氏によって1997年9月に759,881バイトで受信されました。最新のエントリは、Alexander Ratushnyak氏によって2010年7月2日に580,170バイトで受信されました。このエントリは、572,465バイトの圧縮ファイルと、C++で記述された解凍プログラムで構成されており、7700バイトのPPMd var. Iアーカイブに圧縮されています。さらに、圧縮ファイル名とサイズを表す5バイトがアーカイブに含まれています。履歴は以下の通りです。
| サイズ(バイト) | 月/年 | 著者 |
|---|---|---|
| 759,881 | 1997年9月 | マルコム・テイラー |
| 692,154 | 2001年8月 | マキシム・スミルノフ |
| 680,558 | 2001年9月 | マキシム・スミルノフ |
| 653,720 | 2002年11月 | セルゲイ・ヴォスコボイニコフ |
| 645,667 | 2004年1月 | マット・マホニー |
| 637,116 | 2004年4月 | アレクサンダー・ラトゥシュニャク |
| 608,980 | 2004年12月 | アレクサンダー・ラトゥシュニャク |
| 603,416 | 2005年4月 | プシェミスワフ・スキビンスキ |
| 596,314 | 2005年10月 | アレクサンダー・ラトゥシュニャク |
| 593,620 | 2005年12月 | アレクサンダー・ラトゥシュニャク |
| 589,863 | 2006年5月 | アレクサンダー・ラトゥシュニャク |
| 580,170 | 2010年7月 | アレクサンダー・ラトゥシュニャク |
参照
参考文献
- ^イアン・H・ウィッテン、アリスター・モファット、ティモシー・C・ベル (1999). 『ギガバイトの管理:文書と画像の圧縮とインデックス作成』 モーガン・カウフマン. p. 92. ISBN 9781558605701。
- ^サロモン、デイビッド (2007).データ圧縮:完全リファレンス(第4版). シュプリンガー. p. 12. ISBN 9781846286032。
- ^ 「カンタベリー大全」 .corpus.canterbury.ac.nz .
- ^ 「UCラーニングセンター」 2023年1月6日。
- ^ 「データ圧縮の説明」mattmahoney.net。
- ^「圧縮/SHA-1 チャレンジ」。mailcom.com 。