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.