Remember SHRDLU?

In 1968 Terry Winograd created the natural language program SHRDLU, as part of his gratuation thesis at MIT.

It introduced a so called "microworld" of blocks that is simple enough for a programmer to answer all questions a user might pose about it.

SHRDLU does just allow you to ask questions. It also lets you make commands and teach it new information. The program excels in the uses of anaphora (like pronouns) and introspection (why/how did you do that?)

NLI-GO

The demo you see here is not a copy of the original LISP program by Winograd. It is new implementation, built with NLI-GO, a rule based system written in Go, that allows a programmer to build a system like SHRDLU using declarative code.

The demo

The demo is still work-in-progress. Currently it handles the first 21 interactions of the 44 of the demo-conversation that Winograd published in his book "Understanding Natural Language".

  1. Pick up a big red block
  2. Find a block which is taller than the one you are holding and put it into the box.
  3. What does the box contain?
  4. What is the pyramid supported by?
  5. How many blocks are not in the box?
  6. Stack up two pyramids.
  7. Will you please stack up both of the red blocks and either a green cube or a pyramid?
  8. Is there a large block behind a pyramid?
  9. Put the littlest pyramid on top of it
  10. How many things are on top of green cubes?