Blocks Worldとは

Blocks Worldとは、机の上に積み木や三角錐、箱だけが置かれた小さな世界をコンピュータの中に用意し、AIに言葉を理解させたり、手順を考えさせたりする題材です。日本語の呼び名はブロック世界。よく知られているのは、1968年から70年にかけて米MITでテリー・ウィノグラード氏が作った会話プログラムSHRDLUが、会話の題材にした積み木の世界です。

英語表記:Blocks World(SHRDLUの報告書ではBLOCKS world)

日本語表記:ブロック世界

何が置かれていて、何ができる世界?

ウィノグラード氏の1971年の報告書(MITの技術報告235号)によると、SHRDLUの世界にあるのは、机と手と箱、いくつかの積み木と三角錐だけ。人は端末に英語を打ち込み、「大きな赤い積み木を持ち上げて」と命じたり、「箱には何が入っている?」と尋ねたり、「赤くない積み木が好きだ」と新しい情報を教えたりできました。命令は画面の上で実行され、質問には文字で答えが返ります。「大きな赤い積み木を持ち上げて」と言われたときは、その上に載っていた緑の積み木の置き場所を探してどかしてから、持ち上げました。

小さな世界なら、言葉も簡単に扱えるのでしょうか。報告書の対話例では、「三角錐をつかんで」と言われたSHRDLUが「どの三角錐のことか分かりません」と返しています。場面に三角錐が3つあったからです。実演に使われた対話では、ほかにも、「それ」が何を指すのかを確かめたり、「上に」が真上のことなのか、上のどこかなのかを聞き返したりしながら、会話を進めました。

なぜ、積み木だったのか

報告書の出発点は、コンピュータは話題そのものを「理解」していなければ、言葉をまともに扱えない、という考えでした。言葉を理解するプログラムには、話す内容についての知識を持たせる必要がある。そこで、手と目を1つずつ持ち、机の上のおもちゃの積み木を動かせる簡単なロボットと話している、という設定にしました。

積み木の世界の知識は、Plannerという言語で書いた定理の集まり。報告書はこの知識について、とても簡単なもので、ロボットを本物らしく再現するためというより、いろいろな種類のことが言える話題を与えるために作ったと書いています。言葉を扱う部分は特定の話題に頼らない作りで、ほかの用途にも転用された、とも説明しています。

業務にAIを試す場面に置きかえると、扱う物と動作と言葉の範囲を先に決めた小さな世界で、仕組みが本当に分かって答えているかを確かめる進め方といえるでしょう。裏返せば、狭い世界でうまく動いたデモは、その外でも同じように動くことまでは示していません。

Topic積み木を動かす「ロボット」は、画面の中にしかいなかった

SHRDLUの「ロボット」に、本物の腕はありません。報告書によると、積み木の世界はDEC 340という図形表示用の画面に描かれ、命令した動作はその場で画面上に表示されました。会話も声ではなく、端末への文字の打ち込み。報告書は、声でコンピュータとやり取りするには難しい技術上の問題が多く、試みていないと書いています。英語の語彙は、およそ200語の設定で動かしていました。

Blocks Worldに関するよくある質問

SHRDLUは、自分のした操作の理由を説明できたのですか?
SHRDLUの実演に使われた対話では、積み木を積んだあとに「なぜ?」と重ねて尋ねると、「赤い立方体の上を片づけるため」「それを大きな緑の立方体に載せるため」とさかのぼり、最後は「あなたに頼まれたから」と答えています。一方、一度も落としていない積み木について「なぜ落としたの?」と聞かれると、「起きていない出来事は説明できません」と返しました。
新しい言葉を教えることはできたのですか?
できました。同じ実演の対話では、「steeple(尖塔)」という知らない単語が出るとSHRDLUが話をさえぎって「知らない単語です」と伝え、「緑の立方体2つと三角錐1つを含む積み重ね」と定義を教えられると、それを使って実際に組み立てています。いちばん大きな積み木に「superblock」という名前を付けることもできました。

あわせて読みたい記事