CS724 program 9

Real Natural Lnaguage Problem

Write Natural Language (NL) understanding or generation program to solve a real problem. If you can not think of a problem, solve the following problem in building a little of the LADDER system.

Write a PROLOG program to do some of the operations of the LADDER system. (See pp219-220 of [Firebaugh 89]) e.g.

parse([give,the,length,of,the,ship,kennedy],X).
  X=[1072]
some of the data used for this
database(length,kennedy,1072).
You should be able to handle a subset of the questions shown in the book. You are not expected to handle the ellipsis and anaphora as in the question "width and draft". You are to support at least one form of a sentence with the word "and".

Your answers are to be lists so that you can more easily handle requests such as: "list the ships in the pacific". Do not replicate data base entries. You should be able to infer some relationships. While you might have:

database(ship,kennedy).
database(location,kennedy,pacific).
database(captain,kennedy,john). 
You should not also need:
database(location_captain,john,pacific).
To respond to: "list captains in the pacific"

The full text of the LADDER example can be found in foils/LADDER.txt.