Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

Re: Controlled natural language for program debugging



Check with us again in the spring. We'll try it out on Intro CS at BCIT
this winter. Can it be taught by teaching machine, using plain English?

POC

On Fri, 6 Aug 2004, John F. Sowa wrote:

> Party of Citizens wrote
>
>  > BC Tel ("Telus") now allows free-style interaction
>  > with a Customer-service Machine. Is that an example
>  > of what you are calling Controlled Natural Language?
>
> That is one of many special cases that can be handled
> by current technology, but it is somewhat different
> from controlled NLs.
>
>   1. The term "controlled NL" is usually applied to
>      a restricted subset of a natural language, in which
>      the author requires some training to learn to live
>      within the limitations.
>
>   2. Since you can't expect customers who call on the phone
>      to learn a special language, the system must accommodate
>      anything they might say.  The usual way of doing that
>      is to limit the topic to a small domain for which
>      the speaker has very few options.  Usually the total
>      information about the subject matter and what to do
>      can be summarized in about two or three pages.  (A
>      human being is usually called whenever the customer
>      has a more serious problem that goes outside that
>      limited domain.)
>
> These are two different strategies for limiting the
> language to something that can be interepreted effectively
> by current software technology.
>
>  > If so, is there any reason a program like that could not
>  > be generalized to all 2,000 of MIT's OCW courses?
>
> There are many reasons why not:
>
>   1. The subject matter of any college level course,
>      which a bright student is expected to spend several
>      months studying, is immensely larger than the range
>      of topics that a telephone customer might want to
>      discuss.  That rules out method #2 above.
>
>   2. When you are writing a controlled NL that maps to
>      logic, you are really writing in logic.  In a recent
>      study, several different groups (one of which was
>      Cyc) were given projects to translate pages from
>      a college textbook on chemistry into the logic
>      notation used for their systems.  The average cost
>      (mostly the salaries of the translators) was about
>      $10,000 per page.
>
>   3. Writing a controlled NL is somewhat easier than writing
>      in a more traditional notation for logic, but the main
>      difficulty is in analyzing and specifying the semantics
>      of the subject.  Perhaps a CNL might save a few dollars
>      or even a few hundred dollars per page -- but the cost
>      would still be over $9,000 per page.
>
>   4. On the other hand, Skuce's FactGuru system has been used
>      effectively by authors who translated material from their
>      own textbooks into the format used by FactGuru.  The
>      results weren't a complete replacement for the textbooks,
>      but they were very useful supplements to the books.  I
>      suggest that you go to the FactGuru web site:
>
>      http://www.factguru.com
>
>      Then click on the knowledge base for "Object-oriented
>      software engineering."  That knowledge base was created
>      from the book "Object Oriented Software Engineering:
>      Practical Software Development using UML and Java"
>      by the authors of the book.
>
>   5. However, the KB for the course is not a complete replacement
>      for the course, and it is not sufficiently formalized for
>      a computer system to process it automatically in order to
>      do automated inference and problem solving.  It is a useful
>      step along the way, but more work needs to be done.
>
> Bottom line:  There is a lot that can be done with current
> technology, but don't expect miracles.
>
> John Sowa
>