言語の複雑性をエントロピー圧縮で測ってみたらどの言語が難しいかわかるだろうか? (5) | Chandler@Berlin

Chandler@Berlin

ベルリン在住

同内容の文書の entropy

Joerg と話をしていた際に,次のことを思い出した.大学時代,私は英語の論文を書く時に,最初に日本語で論文を書いたのちに英語に翻訳していた.最終的な論文の TeX file のサイズは異なっていたが,圧縮した結果が同じようなサイズになったことを記憶している.その時には圧縮すると似たようなサイズになるのは面白いな,と思ったが,そのまま長いこと忘れていた. 1996 年頃の話で,恐らく使ったのは compress というプログラムだったと思う,

Gruenkohl Party で再びこの話がでてきた.これまでは私は同一の内容を二つの言語以上にはあまり翻訳したことがなかったのだが,村上春樹の 2011-6-11 のCatalunya Prize のスピーチの翻訳があることを思い出した.そして圧縮した結果が図1の通りである.
$Chandler@Berlin-comp_bzip2
The compression size result of three languages, but the same content's documents. Even the original document size depends on encoding methods, but the compressed sizes become similar.

言語や encoding 方法(UTF-8, EUC)によってテキストのサイズは異なるものになる.しかし,エントロピー圧縮プログラムで圧縮した結果はエンコーディングにも言語にもあまりよらないという結果が得られた.こでは Entropy base の圧縮ツールとして bzip2 version 1.0.5 を用いた.また,各文書は murakami_textにあるので,読者は確認することができる.興味のある読者はこれを他の言語に翻訳して比較してみることもできる.その場合にはぜひ結果を知らせて欲しい.


この文書を選んだのは,これが私一人の翻訳ではないからである.私は nativeの友人達に助力を頼んだ.私が原文を友人に説明し,議論をしながら友人が言葉を選び,文法構造を選んだ.私が一人で翻訳したものであれば,私の癖のようなものが入ってしまうだろうが,この翻訳には私が一人で翻訳した文書よりも,そういう問題が少ないと予想している.

少し細かく見ていくと,たとえば図2にあるように,日本語のencoding の差が圧縮では少なくなる.たとえば,UTF-8 は漢字のエンコードに3 bytes を必要とするため他のファイルに比較して特に大きい.EUC は漢字のエンコードには2バイトしか使わないので妥当なサイズになる.しかしこれらの差は圧縮によってほとんどなくなる.同じ言語であればこの結果は予測できるものであるが,しかし,異なる言語でも圧縮されたファイルサイズの絶対値が近いことは興味深い.

$Chandler@Berlin-comp_ja
The compression size result of Japanese document, two different encoding scheme: EUC and UTF-8. EUC encode one character in two bytes, but UTF-8 encode one character in three bytes. Yet, the bzip2 compressed size becomes similar.