文の複雑さについて

アルファベット(小文字)は、'a'から'z'まで26文字である。"monkey"は6文字だ。
もしも猿が26キーのタイプライターを6回適当に叩いたとする。この時、猿がうちだすことが可能な文字列の総数は、26の6乗で、308,915,776になる。9桁の数字で3億ちょっとである。
宝くじの番号は、75組 159149番(これが今年の5億円のあたりの番号)のように8桁なので、タイプライター猿が、"monkey"と打ち出すのは、サマージャンボで5億円当てるより、30倍ほど難しいことがわかる。
それでも、誰かには5億円が当たるように、もしも、猿のタイプライターが3億匹いれば、そのうちの一匹は、"monkey"と打ち出す可能性は高いのだ。
ところで、英語の単語は、何個あるのだろう?
先に、"monkey"の例で、6文字のアルファベットの数は、約3億 3 x 10^9 個あることがわかったので、12文字のアルファベットの並びの数は、約9 x 10^18、だいたい10の19乗ほどあることがわかる。随分大きな数だが、その全てが、意味のある単語にはなっていない。というか大部分が、猿タイプライターが打ち出すような無意味な文字の並びである。
(興味がある人は、「一番長い英単語は?」でググって見てほしい。)
ただ、「単語」ではなく「文章」を打ち出そうとすると、もっともっと大きな数が登場することになる。
無意味な綴りを乱発する猿のタイプライターは、クビにして、必ず意味のある単語を打ち出すが、単語の順序はデタラメであるタイプライター・フジオを雇うことにしよう。英語ではなく日本語で考えよう。文章を作るという点で、フジオは猿よりマシだろうか?
日本語の単語の数を10万としよう。
現実には、日本語の語彙の数は、もっと多い。
日本語の辞書の収録語彙数をあげておく。
 
 『日本国語大辞典』(小学館)  50万語
 『広辞苑』(第六版、岩波書店) 約24万語
 『岩波国語辞典』(第七版)   6万5000語
日本語で、10個の語からなる語の並びがどれくらいあるか数えてみよう。
10語文というのは、そんなに長い文章ではない。
古池1 や2 かわず3 とびこむ4 水5 の6 おと7
これが7語文。
この1 文2 は3 104 個5 の6 語7 から8 できて9 いる10
これが、10語文の例である。
ところが、語彙が10万個ある言語での10個の語からなる語の並びは、100000^10=10^50種類もある!10^50というのは、とても巨大な数である。(もしかして、密林に放置されたBMWが、奇跡的に、元の姿を取り戻す確率も、そんなものかも。実際は、もっともっと大きいのだが。大事なことは、その確率は、ゼロではないということ。)
文は語から構成され、語は文字(アルファベットだったり50音)で構成されているとすると、語の複雑さより、文の複雑さの方が、はるかに大きいのである。
そのことは、語彙については、収録範囲には違いがあるが、有限個の語彙を収めた「辞書」が存在するのに対して、ある言語で可能な表現を全て網羅した「用例集」が存在しないことを考えてみればわかる。
ボルへスが夢想する「完全な図書館」は、存在し得ないのだ。
完全な図書館が存在したとする。その時、その図書館の目録を考える。その目録を含めた目録が必要になる。いつまでたっても図書館は完全にはならない。
ディープラーニングの手法で自然言語を攻略しようとしていたベンジオは、文の複雑さの次元の大きさに、それを「次元の呪い」と呼んだ。
だが、待てよ。
語の複雑さの時には、アルファベットの数を単位に考え、文の複雑さの時には、語の数を単位に考えた。これで、公平な比較になるのであろうか?
実は、もっといい方法がある。
5、7、5の俳句は、17文字。日本語なら、34バイトで表現される。俳句は、272ビットの情報なのだ。情報をビットで考え、その複雑さを考える。
こうしていくと、シャノンが考えたことに、少し、近づいていく。

コメント

このブログの人気の投稿

マルレク・ネット「エントロピーと情報理論」公開しました。

初めにことばありき

人間は、善と悪との重ね合わせというモデルの失敗について