
2005-07-01
「人工知能」という言葉を聞いて,普通の人が想像するのは,一体どんなものだろう? 人それぞれで色々あるかもしれないけれど,多くの人は「人間と自然な会話を交わすことのできる機械」を想像するんじゃないかと思う。有名なチューリング・テストなんかでも,会話する能力を知性の基準として捉えている。たぶん,人間と自然な会話を交わすことさえできれば,たとえそれ以外にあまり大したことができないとしても,それは「人工知能である」と認めてもらうことができるんじゃないかと思う。
でも,この目標はなかなか達成することができていない。コンピュータを利用した人工知能の研究が始められてから既に数十年以上経っているはずなのに,人間と会話を交わすプログラムは「人工無能のエリザ」から大して進化することができていない。
例えば,誰かが「お腹がすいた」と言ったら,どう返すのが「自然な会話」だろう? 「それじゃあ何か食べましょうか」なんてのは,少し気のきいた答えかもしれない。でも,それをするには,「人間はお腹がすいたら食事をする」という「常識」を知っている必要がある。その「常識」を備えていない機械には,そんな気のきいた答えを返すことができない。
逆に言えば,そういった「常識」を備えることさえできれば,人工知能はもっと自然で気のきいたものになるかもしれない。そのために必要となる技術の研究を行っているのが, MIT Media Lab の "Commonsense Computing" グループだ。
このグループでは,コンピュータ上でコモンセンス(常識)を扱うのに必要となる知識ベースの仕組みや,その知識ベースを利用した思考の仕組み,それらを応用したアプリケーションの試作などを行っている。また,仕組みを考える以外に,実際にコモンセンスを集める試みも行っている。それが "OpenMind Commonsense" プロジェクトだ。
「とにかく沢山のコモンセンスを集めてみよう」って試みは,この OpenMind プロジェクトの他にも存在する。なかでも最も有名なのは, Doug Lenat 氏による "Cyc" プロジェクトだ。この Cyc プロジェクトは 1984 年に開始されてからプロジェクトの終了までに約 150 万個のコモンセンスを集めることに成功した。
これはこれで価値あるものには間違いないけれど, Cyc プロジェクトはクローズな試みだった(知識ベースの構築は専門家の手によって行われた)うえに,プロジェクト自体既に終了してしまっている。実際の人間が備えているコモンセンスは数億個にも達するというから,この Cyc プロジェクトの成果では不十分なのは明らかだ。
そこで OpenMind プロジェクトでは,広くオープンにコモンセンスを募集する方式を採用している。「人工知能を作っているので,あなたの知っている常識を教えて欲しい」と言えば,どんな人でも何かしら教えておきたいことがいくつか思いつくはずだ。それを数万から数十万,ないしは数百万の人々に行ってもらえば,簡単に十分な規模の知識ベースを構築することができるはず……という理屈だ。
実際にそれを行うための "Learner" と呼ばれるシステムも作成されている。専門知識が無ければ知識ベースへの追加を行うことができなかった Cyc とは違って,ちょっとしたゲーム感覚での参加が可能になっているという点が重要だ。
こんな感じで,コンピュータに「常識」を覚えさせるための下積みは整えられたとして,実際にそれを応用した「人工知能」が登場するのはいつのことだろう? これには少し難しいところがあって,この OpenMind プロジェクトにしても,十分な量のコモンセンスを集めるにはやはりそれなりの時間がかかるだろうし,それを応用するための技術も完全に成熟しているわけじゃない。とりあえず今はコモンセンスを集められるだけ集めておいて,いつかそれが有益になる日を待ちましょう……というようなニュアンスが強く感じられる。
まあ,本格的な人工知能の登場はもう少し先の話になるとしても,例えば,これらの知識ベースを利用してサーチエンジンを使いやすくするなんて試みは既に行われている。まずはそういう「情報の絞り込みの手段」としてコモンセンスが活かされていくんじゃないかなと思う。
2005-07-04
Microsoft の Charles Simonyi 氏は, "Excel" や "Word" 等の超有名アプリケーション開発者として知られるほか, Windows プログラミングではお馴染みの「ハンガリアン記法」の考案者としてもよく知られている ... more
2005-07-05
しかし,先日の Joel Spolsky 氏のエッセイ "Making Wrong Code Look Wrong" は,世に広められたハンガリアン記法が実は誤解を含むものであり,その正しい意図を提示したうえで,必要性の再認識を促すものとなっていた ... more
2005-07-06
Joel Spolsky 氏によれば,前述のような考えに基づいて考案されたオリジナルのハンガリアン記法は,主に Microsoft のアプリケーション部門において用いられ,社内では「アプリ・ハンガリアン」 (Apps Hungarian) と呼ばれていたとされている ... more
2005-07-07
オリジナルのハンガリアン記法は,C言語のような手続き型言語においては特に有用なものであったと考えられる。これらの言語においては,オブジェクト側から妥当性の確認を行うことが難しかったためだ ... more
2005-07-22
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Pellentesque blandit nonummy nunc. Suspendisse potenti. Quisque elit metus, fermentum ut, tristique nec, hendrerit vel, dui. Nullam nec leo. Pellentesque interdum lacinia diam. Fusce nibh augue, mattis non, tincidunt eu, auctor ac, nibh. Cras placerat aliquet eros. Donec commodo accumsan sapien. Pellentesque orci. Nulla ac neque gravida wisi iaculis venenatis. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Maecenas erat tellus, lobortis sed, lacinia a, interdum sit amet, nulla.
Morbi neque urna, ultrices non, euismod ac, viverra id, metus. Mauris posuere viverra ligula. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Phasellus sit amet ipsum ac ligula varius vulputate. Suspendisse ultrices, diam vitae suscipit consectetuer, lorem ante laoreet dui, et dapibus nunc dui in pede. Proin molestie lacus aliquam elit. Quisque non sem et nibh tristique consectetuer. In pharetra porta elit. Sed ullamcorper erat vitae pede. Etiam varius mi eget purus. Curabitur vitae lectus at lacus fermentum sagittis. Nulla lacinia porttitor erat. Vivamus a mi sed justo varius varius. Cras aliquam. Maecenas dictum vestibulum enim. Suspendisse potenti. Proin molestie erat ac wisi. Pellentesque mattis. Proin convallis quam eget neque. Aliquam erat volutpat.
Cras facilisis, magna sed iaculis ultricies, arcu ipsum semper ante, vehicula mollis lorem lectus ac elit. Sed venenatis enim. Praesent pulvinar lectus vel erat. Aenean quis sapien. Nam at velit eu risus feugiat mollis. Maecenas eu orci. Proin fringilla justo eget urna. Donec ornare quam ut quam. Aliquam erat volutpat. Nulla wisi elit, facilisis sit amet, nonummy ac, pretium ac, risus.
Donec eu lorem. Vivamus at wisi. Praesent sit amet ipsum. Aliquam pulvinar, lacus sit amet vestibulum aliquam, lectus est tincidunt augue, id suscipit erat velit id justo. Etiam ac pede. Proin nulla sapien, feugiat et, aliquam nec, placerat porttitor, dui. Integer quis odio nonummy lacus faucibus scelerisque. Curabitur suscipit facilisis quam. Ut velit libero, bibendum nec, porta eget, venenatis eget, nibh. Suspendisse tempus neque lacinia velit.
Praesent aliquam urna eget neque. In hendrerit. In leo. Duis tempor sapien ac quam. Aenean quam elit, sagittis a, facilisis ac, fringilla quis, neque. Proin id pede quis pede ornare suscipit. Nulla facilisi. Vivamus ultrices metus sit amet lectus. Suspendisse vitae sem vel justo vestibulum laoreet. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec dolor dolor, blandit in, sodales a, porttitor sit amet, wisi. Maecenas laoreet turpis. Fusce ac nibh et libero pulvinar lobortis. In hac habitasse platea dictumst. Nunc congue aliquet eros. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Nulla tellus enim, pretium sed, mattis porttitor, adipiscing eu, turpis.
2005-07-23
サーバーの移行作業と平行して,サイト全体のデザインの変更を進めている。当初はサーバーの移行とデザインの変更を全く同時に行おうと思っていたのだけれど,サーバーの移行が遅々として進まないため,とりあえずデザインの変更だけを先行させることにした。
サーバーの移行を行おうと思った動機は,ホスティング業者の管理能力およびサポート体制に問題があると感じられたことにある。率直に言って,商売として有り得ないような対応をされたことが何度かある。本当に「安かろう悪かろう」の世界であるということを痛いほどに思い知らされた。
サイトのデザインの変更は,作成環境の入れ換えと同時に行っている。むしろ環境の入れ換えの方が主目的であり,デザインの変更は,どちらかと言えば「ついで」だ。
今回は,文書作成用のツールとして InfoPath を導入している。 InfoPath は文章を打ち込むためのツールではないけれど,書式を固定したい場合には役に立つ。 Word などは自由度が高過ぎるため,外部のツールで加工を行うにはやや都合の悪い部分があるわけだ。また, InfoPath はリッチテキストボックス(中身は XHTML)をサポートしているため,細かな書式(強調や色変え等)の扱いに関してはこれに任せてしまうことができる。あとは,大まかな枠組みの部分のみをスキーマ上で扱うようにすればいい。
文書データから HTML を生成する部分には,例の如く Python を利用している。 SAX モジュールを使って XML 文書データを解析し,適当な加工を行いつつ html ファイルに出力する。このツールのユーザインタフェースには SimpleHTTPServer モジュールを利用している。つまり,ツール自体は HTTP サーバとして動作し,ウェブブラウザを経由してそれを操作するというスタイルだ。これはいわゆる CGI と少し似ているけど,サーバ自体の動作を細かくカスタマイズすることができるという点で, CGI よりも扱いが簡単になっている(ただしセキュリティの問題は多少シビアになる)。
このスタイルには様々なメリットが考えられる。中でも個人的に最も重視しているのは,適当なインタフェースを素早く提供することができるという点だ。職場でも,ちょっとしたサーバー・アプリケーションを作成する際に同様の手法を用いることがある。また,例えば PeerCast なども同様のスタイルを利用しているアプリケーションとして挙げることができる。
2005-07-24
映画 "MOOG" の DVD が発売された。映画の方は忙しくて観に行くことが出来なかったのだけれど,マニアの端くれとしては,せめて DVD ぐらいはチェックしておかなければならないだろうと思い, Amazon に予約注文をかけていた。
感想としては,それなりに満足のいく内容だったと思う。ただし,これは本当に普通のドキュメンタリー映画である……というか,ボブ・モーグ御大とその関係者の方々がモーグ・シンセサイザーについて語らっているのをただ収録しただけの映画なので,モーグ氏について知らない人が観ても楽しめるような内容ではない。自分の場合は,ギリギリで楽しむことができたと感じている。個人的には,いまだにハンダ付けから手作業で生産していることが分かったのが最大の収穫だったかもしれない。
当のボブ・モーグ氏は,現在脳腫瘍の治療のために入院中と報じられている。残念ながら容態はかなり厳しい状態にあるようだ。件の映画の中ではエネルギッシュに動き回る様子が描かれていたのが非常に対照的だ。折角復活した "MOOG" のブランドで,これからも独創的な製品を生み出し続けて欲しいと願っていたのだけれど……。
iTunes で Podcast が正式にサポートされたのをきっかけに,色々と Podcast を漁ってみている。最近になって国内でも Podcast の配信が盛んになってきたように感じられるものの,なかなか自分のお気に入りを見つけ出すことはできていない。
現状での自分の唯一のお気に入りは,スギモトトモユキ氏のラジオ "Modulation" だ。氏のトークと音楽を中心に構成された番組なのだけれど,その境界は酷く曖昧で,虚構混じりのトークがいつの間にかリズムとなり,音楽へとクロスフェードしていく感覚は非常に面白く,かつ斬新に感じられる。
2005-07-25
20 世紀末, Wintel 連合はこの世の春を謳歌していた。人々は,より快適な OS と,より快適な CPU を求めて,両社の製品を購入し続けた。両社はその期待の圧力に押されるようにして,より優れた製品を矢継ぎ早に市場へと放っていった。特に Intel 社の Pentium プロセッサの性能向上の勢いには目覚しいものがあり,正にムーアの法則を体現したその展開に人々は絶大な信頼を寄せていた ... more
2005-07-26
クロックスピード本位の速度競争が限界を迎えた今,プロセッサ技術のトレンドは明らかにマルチコア化へと向かっている。それでは,プロセッサがマルチコア化すれば ― つまり,単一のプロセッサに複数のコアが積載されるようになれば,それによってソフトウェアは高速に動作するようになるのだろうか? ... more
2005-07-27
プログラムの並列性を扱うにあたって重要となるのが,一貫性モデル (consistency model) の存在だ。一貫性モデルとは,複数のプロセス(スレッド)間において処理の一貫性がどのように保たれるかを定義するものだ ... more
2005-07-28
並列性を考える上でもうひとつ重要となる要素が「原子性」 (atomicity) だ。原子性とは,ある操作が不可分である性質を表す。言い換えるならば,ある操作を行うのに,その途中の過程を覗くことができなければ,その操作は「原子的 (atomic) である」 と言うことができる ... more