Inform 7

The Inform 7 interactive fiction system parses human readable English assertions and builds an interactive system from your statements. I have only played with it briefly, but take the following example:

"Test" by Jason
 
The Foyer is a room.
The crate is in the Foyer. 
The crate is a Container.
The player is in the crate. 
The crate is closed.
The crate is openable.
The latch is in the crate.
The latch is fixed in place.

With the above we have created a very simple world. There is a Foyer with a crate in it. The crate is closed and it can be opened. We (the player) are in the box, and there is a latch in here with is.

An interactive world is created for us automatically:

Test
An Interactive Fiction by Jason
Release 1 / Serial number 090419 / Inform 7 build 5U92 (I6/v6.31 lib 6/12N) SD
 
Darkness
It is pitch dark, and you can't see a thing.
 
>feel
(the crate)
You feel nothing unexpected.
 
>look
Darkness
It is pitch dark, and you can't see a thing.
 
>open crate
You open the crate.
 
Foyer (in the crate)
In the crate you can see a latch.
 
>look
Foyer (in the crate)
In the crate you can see a latch.
 
>take latch
That's fixed in place.
 
>

Granted, interactive fiction represents a rather narrowly defined world. I still cannot help but ask, "what other kinds of domains could benefit from this kind of natural language processing?" It seems that any effort to make a general purpose programming language that is "natural language" ends up looking like COBOL.

Perhaps the open source world could benefit from a free sentence diagramming system? With an English natural language parser library we could build heuristic systems around natural language which can make best guesses at the user's intentions and be able to enhance overall usability?

It is something to think about, perhaps. I know that grammatical error checking is generally missing from open source word processors. With an open source sentence diagrammer Open Office could at least alert the user if it was unable to parse a sentence and give the user an idea that something might not be right.

Comments

Domain Specific Languages

What you're describing isn't exactly natural language processing. Rather, it's a domain specific language that has a very English-like syntax.

Some good references for DSLs:
http://martinfowler.com/dslwip/
http://www.pragprog.com/titles/tpantlr/the-definitive-antlr-reference

Or, if you prefer video:
http://msdn.microsoft.com/en-us/oslo/videos.aspx#dsl

The topic has been hot for a few years now, with the steady hope that more and more programming can be spread into stratas:

[DSL users] ~large group
[core programmers] ~tiny core

In the same way that Lua or LISP are used as a way to drive the core engine to do things, DSLs give the programmer a way to open up the core technology to experienced users who are otherwise laymen programmers (though not always, DSLs can also be used to quickly write new code).

Back to your example, I think Inform's approach is pretty slick, though I haven't studied it very deeply. At first glance it sounds like a great place to jump off creating DSLs for "normal people".