文の複雑さについて
アルファベット(小文字)は、'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語
日本語の辞書の収録語彙数をあげておく。
『日本国語大辞典』(小学館) 50万語
『広辞苑』(第六版、岩波書店) 約24万語
『岩波国語辞典』(第七版) 6万5000語
日本語で、10個の語からなる語の並びがどれくらいあるか数えてみよう。
10語文というのは、そんなに長い文章ではない。
古池1 や2 かわず3 とびこむ4 水5 の6 おと7
これが7語文。
これが7語文。
この1 文2 は3 104 個5 の6 語7 から8 できて9 いる10
これが、10語文の例である。
これが、10語文の例である。
ところが、語彙が10万個ある言語での10個の語からなる語の並びは、100000^10=10^50種類もある!10^50というのは、とても巨大な数である。(もしかして、密林に放置されたBMWが、奇跡的に、元の姿を取り戻す確率も、そんなものかも。実際は、もっともっと大きいのだが。大事なことは、その確率は、ゼロではないということ。)
文は語から構成され、語は文字(アルファベットだったり50音)で構成されているとすると、語の複雑さより、文の複雑さの方が、はるかに大きいのである。
そのことは、語彙については、収録範囲には違いがあるが、有限個の語彙を収めた「辞書」が存在するのに対して、ある言語で可能な表現を全て網羅した「用例集」が存在しないことを考えてみればわかる。
ボルへスが夢想する「完全な図書館」は、存在し得ないのだ。
完全な図書館が存在したとする。その時、その図書館の目録を考える。その目録を含めた目録が必要になる。いつまでたっても図書館は完全にはならない。
完全な図書館が存在したとする。その時、その図書館の目録を考える。その目録を含めた目録が必要になる。いつまでたっても図書館は完全にはならない。
ディープラーニングの手法で自然言語を攻略しようとしていたベンジオは、文の複雑さの次元の大きさに、それを「次元の呪い」と呼んだ。
だが、待てよ。
語の複雑さの時には、アルファベットの数を単位に考え、文の複雑さの時には、語の数を単位に考えた。これで、公平な比較になるのであろうか?
実は、もっといい方法がある。
5、7、5の俳句は、17文字。日本語なら、34バイトで表現される。俳句は、272ビットの情報なのだ。情報をビットで考え、その複雑さを考える。
こうしていくと、シャノンが考えたことに、少し、近づいていく。
コメント
コメントを投稿