SHRDLU

SHRDLUとは、人工知能研究初期の研究開発プロジェクトである。1968年から1970年にかけて、テリー・ウィノグラードによって実施された。

コンピューターの中に仮想的に「積み木の世界」を構成し、そこに存在するいくつかの物体――ブロック、円錐、球など――を英語で指示を与えることで積み上げたり下ろしたり動かすことができる。自然言語により仮想世界の操作を行う事ができる。
実装はソフトウエア面ではプログラミング言語LispとPlannerを用いて記述され、ハードウエア面ではDEC社のコンピュータ・PDP-6および同社のグラフィック端末上で動作した。後にユタ大学のコンピュータグラフィックス研究所によって改良され、SHRDLUの「世界」はフル3Dで描画されるようになった。

SHRDLUの名称はetaoin shrdluに由来している。

機能 
コンピューターの内部に仮想的に積み木の積み上げ、積み下ろしができる箱庭の世界を用意する。
SHRDLUは操作者から英語による指示を受け付ける。SHRDLUは指示を理解し、積み木の箱庭世界に存在するブロック、円錐、球などを動かすことができる。

SHRDLUを特徴付けているのは、4つの単純な概念を組み合わせることで、「自然言語処理」の模倣により説得力を持たせている点である。第一に、SHRDLUの中の「世界」は極めて単純なので、すべての物体と所在の組み合わせについて記述することは、50種類ほど単語があれば可能である。単語には、「ブロック(block)」「円錐(cone)」といった名詞、「～の上に置け(place on)」「～まで動かせ(move to)」といった動詞、また「大きい(big)」「青い(blue)」といった形容詞がある。これらの基本的な語の可能な組み合わせはかなり単純であり、SHRDLUのプログラムはユーザの意図するところを理解するには十分なほど巧みに組まれている。

また、SHRDLUには、与えられた状況に対する基本的な記憶の能力が備わっている。ユーザはSHRDLUに対して、「緑色の円錐を赤いブロックの上に置け(put the green cone on the red block)」と指示した後、「その円錐を取り除け(take the cone off)」と指示することができる。この場合、「その円錐(the cone)」は、ユーザが先ほど言及した円錐のことを意味しているものと判断される。追加の形容詞が与えられた際、大抵の場合SHRDLUは履歴を検索し、適当な状況を探し出すことができる。ユーザは履歴について質問することが可能である。例えば「その円錐の前に何かを持ち上げたか？(did you pick up anything before the cone?)」という質問ができる。

この記憶の副次的効果として、またSHRDLUに備わっている根源的なルールとして、SHRDLUはその「世界」において何が可能で何が可能でないかという質問に答えることができる。例えばSHRDLUは、その「世界」の中での実例を発見することによって、ブロックは積み上げることができると推測する。しかし、三角形(triangles)は積み上げることができないということについては、実際にそれを試みることによってはじめて認知する。SHRDLUの中の「世界」には、ブロックは下に落ちるものであるという基本的な物理法則が働いており、これは構文解析器とは独立している。

最後に、SHRDLUは、単一の物体あるいは複数の物体の組み合わせに対して付けられた名称を記憶することもできる。例えば、ユーザが「尖塔とは、背の高い四角形の上にある、小さな三角形のことである(a steeple is a small triangle on top of a tall rectangle)」と述べたとする。SHRDLUは、その「世界」の中での尖塔についての質問に答えたり、新たに尖塔を作ったりすることができる。

結果 
結果として、SHRDLUはAIの大いなる成功例となった。これは他のAI研究家たちに過剰なオプティミズムをもたらした。しかし、これ以後開発されたシステムが、現実世界の曖昧さと複雑さを備えたより現実的な状況を取り扱おうとした際に、このオプティミズムはまもなく潰えた。
元のSHRDLUの流れにおいては、主に、それから結論を導くことのできるような情報をプログラムに提供することに焦点を当てた取り組みが継続され、Cycといった取り組みにつながっている。

参考文献 
 Procedures as a Representation for Data in a Computer Program for Understanding Natural Language. MIT AI Technical Report 235, February 1971

関連項目 
Planner

外部リンク 
SHRDLU - テリー・ウィノグラードによるSHRDLUのページ。ソースコードあり（英語）
Conversation with SHRDLU  - SHRDLUのデモンストレーション。解説あり（英語）
SHRDLU resurrection - SHRDLUのリライトされた版。Java3D版もあり（英語）

人工知能
自然言語処理