これも人工知能 〜データマイニングの話〜

【募集】「人工知能」をテーマに記事を書いてくれる人を募集します。

はてなスターも付いてしまったことですし、本日はちょっと人工知能のことについて書いてみようかと思います。

はじめに

さて、人工知能と聞くと一般的にはASIMOなどのロボットだとかゲームなんかのAIを思い浮かべる人が多いのではないかと思うのですが、一口に人工知能と言ってもコンピュータに知能持たせるだけが人工知能の分野ってわけでなく、データの認識や検索、インターフェースの研究なども含むこともあり、もっと幅広かったりします。
多分こんなこと言うと怒られそうな気がしますが、コンピュータが人間のようにふるまうものは全部人工知能の分野なんじゃないかなぁと思ったりもしていますけど、そのあたりはちょっと曖昧なのでご存知の方はご指摘いただきたく思います。


で、今回人工知能をテーマとして書くにあたり何を書くか物凄く迷いましたが、私自身、語れるほど人工知能を知っているわけでもないので、以前勉強したことがあって他の方があまり触れていないデータマイニングの話でも簡単に書いてみようかと思います。



データマイニングとは?

簡単に言うと、データの検索技術です。例を挙げるなら、図書の検索システムとか、Googleなどのサーチエンジンあたりも該当しますかね。


どのあたりが人工知能か?

検索システムって、与えられた検索用のキーワードを含むページを探しているだけのように思われるかもしれませんが、実際はもうちょっとがんばっていたりします。

サーチエンジンなどで検索をしたとき、検索結果に入力したキーワードを含んでいないページまで含まれていたという経験があるかと思いますが、ああいうのはシステム(プログラム)が関連があると推測したためヒットしていたりします。*1

つまり、データ探す上で与えられたキーワードから必要なデータの類推をしたり、検索の精度が上がるように学習するのがデータマイニングの技術だったりします。

学習とか類推とかって言葉使うといかにも人工知能っぽいですね。


データマイニングの実現

コンピュータに学習させるとか類推させるとかていの良い言葉使ってますが、コンピュータは魔法の道具じゃないので実際にそれをプログラムとして実現しなければいけません。


では、学習って実際はどうやってやるか?


これは人工知能一般においても本当にいろいろな方法があるため、一概にこれといったものを挙げるのが難しいのですが、一番単純なのはルールを作ることでしょうか。

あくまで一例ですが、「人工知能」で検索をする人は「AI」のことを知りたがっているという経験則があるとします。
この経験則から「人工知能」というキーワードの検索は「AI」も含むデータから検索するというルールにすることにより検索する人は欲しいデータが得られやすくなるわけで、このルール見つけたり作ったりするのが学習というわけです。

そのためにクラスタリングとか機械学習とかいろいろやりますが、そのあたりは割愛。



人工知能の実現について

結局、人工知能っていってもあくまでプログラムなんですよね。そして実現するためには上述のようにルールを作ったりモデル化したりしていくわけですが、制限なども多く非常に難しいわけです。
特に人の思考と同じものを作ろうとするのは、部分的には成功しているのもあるかと思うんですが、完全に同じものを作るのはルール化もそうですし、プログラムで実現するのが相当困難なのではないかなぁと勝手に思っていたりします。


おわり

中途半端な知識で書いた上に時間も無かったので、なんか面白くない内容になってしまって申し訳ありません。
次があったら今度はまじめじゃないこと書こうかな。

それから、もし間違いなどありましたらご指摘ください。


おまけ

人工知能は人間の夢を見るか
あなたも道連れ

*1:実際にサーチエンジンがそういうことしているかどうかはちょっと分かりませんでした