done is better than perfect

自分が学んだことや、作成したプログラムの記事を書きます。すべての記載は他に定める場合を除き個人的なものです。

「集合知と何か」を読みました

集合知とは何か」(西垣通著、中公新書)を読みました。コンピュータサイエンスをやっていると、よく「集合知」という言葉を耳にします。大雑把に言うと、大量のデータから何か有益な情報が得られないかというデータマイニングの一種とも言えることですが、本書では「集合知」ということを哲学や脳科学までを考えながら、情報社会の近未来を探っています。 インターネットが爆発的に広がった結果、現在世界のデータはとんでもない量となっています。所属する研究室では日夜、溢れるデータから如何に有用な情報を抽出するか、如何に抽出したデータを使うかということを研究しています。 私も卒論では、自然言語処理で意味解析の真似事のようなことをしました。意味解析というものをよく知らないときは、割りと簡単そうに見えたのを覚えています。iOSのSiriなどでは結構頭のいい解釈をしてくれたりと、研究としてかなり進んでるように思えたからです。丁度とあるカンファレンスで、共通のデータセットから課題を与えられ、精度を競うというコンテストがあったため、それに友人と参加することにしました。 調べていくうち、現状では「意味解析」などと言いつつ「意味」などほとんど解析していない、というか出来ないということに気づきました。自然言語Prologなどの論理型言語で解析出来ればいいなあなんて気軽に考えていたのに、そのような研究は30年も前から行われていたのに、一向に実用に耐えるようなレベルには達してないことが分かりました。 そもそも自然言語で書かれた文章は論理式に落とし込めるような形式になっていないのがほとんどです。考えれば考える程、「機械的」に処理するにはあまりにも複雑であることを思い知らされました。 結局論文としてはお茶を濁すようなことしか出来ませんでした。コンテストではそれなりの成果を残せたために、指導教官は褒めてはくれましたが、個人的にはあまり納得のいくものではありませんでした。 研究を通して私は、やはりコンピュータが人間のまね事をするなんて不可能なんじゃないかと考えました。若干負け惜しみも入ってましたが、自然言語の意味を解析するだけでもこれだけ大変なのに、他の多くの人間的な活動を模倣するなど無理難題に思えました。 「集合知とは何か」の著者である西垣さんも、コンピュータと人間は根本的に異なるものであると考えているようです。人間の思考とは「形式的ルールにもとづく論理命題の記号操作」という考えが正しいのかどうか、しっかりと議論するべきであると西垣さんは主張します。 私も、人間の思考とはそのような単純なものではないと考えます。時と場合により容易に変化し得る人間の思考は、だからこそ素晴らしいものであると感じます。出典は忘れてしまいましたが、優秀な数学者は証明問題を解くとき、先に結論のほうが直感的に浮かび、途中の証明は後付であると聞いたことがあります 勿論、機械にも有利な点があります。単純なパターン適合などだったら既に人間には到底出来ない領域に達しています(Siriも結局はパターン適合のようです)し、「形式的ルールにもとづく論理命題の記号操作」でコンピュータの右に出るものはいないでしょう。 大切なのは機械に人間の代わりをさせることではなく、人間のサポートをさせることです。 最近、将棋の棋士に将棋ソフトが勝ち話題となりました。このニュースを聞き、コンピュータが人間に勝った!とすることは浅はかであると西垣さんは主張します。そのとおりだと私も思います。果たしてそのソフトは、自分で自分自身を構築したのだとでもいうのでしょうか。 本書は、集合知とは何かということだけに留まらず、「知」とは何か、「コンピュータ」とは何か、「人間とは何か」についても言及しています。途中難しい話も出てきますが、結論としては非常に共感をえやすいものであると思いますので、興味が湧いた方には是非読んで欲しいです。