gawkinet: Challenges

1 
1 2.12 Where To Go From Here
1 ==========================
1 
1 Now, you have learned enough to build your own application.  You could,
1 for example, take part in the Loebner Contest to win $100,000.  The
1 Loebner Prize is the first formal instantiation of a Turing Test.  Hugh
1 Loebner agreed with The Cambridge Center for Behavioral Studies to
1 underwrite a contest designed to implement the Turing Test.  Dr. Loebner
1 pledged a Grand Prize of $100,000 for the first computer whose responses
1 were indistinguishable from a human's.  Each year an annual prize of
1 $2000 and a bronze medal is awarded to the _most_ human computer.  The
1 winner of the annual contest is the best entry relative to other entries
1 that year, irrespective of how good it is in an absolute sense.  Here is
1 an example of a conversation with the winning program of 1997:
1 
1      (c)1997 Cambridge Center For Behavioral Studies all rights reserved [CONVERSE]
1      [Intelligent Research Ltd.] Start at: [1997/04/29 08:59:40]
1      PROGRAM[10:39:20]Hi, my name is Catherine, what's yours?
1      JUDGE02[10:39:36]My name is Nathan.
1      PROGRAM[10:39:37]Well, it's nice to meet you, Nathan.
1      PROGRAM[10:39:45]Did you see that story on CNN last night about the lesbian
1      PROGRAM[10:40:03]couple who came out at a White House party on Sunday?
1      JUDGE02[10:40:45]No.  I'm sorry I missed that.  How did the Prez take it?
1      PROGRAM[10:40:47]Ellen Degeneres was one of them - she was kissing her lover
1      PROGRAM[10:41:08]in front of Bill Clinton. Do you think he was very
1      PROGRAM[10:41:21]embarrassed?
1      JUDGE02[10:41:37]You tell me.  I didn't see it.
1      PROGRAM[10:41:38]Are you still a Friend of Bill Clinton?
1      JUDGE02[10:42:22]Yes.  I would like to talk about something else.  Do you know anything about sculpture.
1      PROGRAM[10:42:24]Well, I suppose he's doing his best like most of us, but he
1      PROGRAM[10:42:35]does seem to attract an UNUSUAL amount of bad publicity,
1      PROGRAM[10:42:51]wouldnt you say--can it all be bad luck?
1      JUDGE02[10:43:20]I asked you if you knew anything about sculpture.
1      PROGRAM[10:43:21]OK, but what happens now--does it all drift on, with
1      PROGRAM[10:43:36]everyone waiting to see how much his friends have said about
1      PROGRAM[10:43:47]him under threat of lots and lots of jail-or will something
1      PROGRAM[10:44:01]dramatic actually happen?
1      JUDGE02[10:44:19]Do you know what sculpture is?
1      PROGRAM[10:44:20]Well, youre more a fan of his than I am I guess---though I
1      PROGRAM[10:44:34]cant SWEAR what Id have done in that locked hotel room, I
1      PROGRAM[10:44:51]must say.
1      JUDGE02[10:45:26]Have you ever been to the Salmagundi Club?
1      PROGRAM[10:45:29]Never. to go back to the original discussion Time to get
1      PROGRAM[10:45:43]off this one I think and onto something more down to earth!
1      JUDGE02[10:46:20]What is more down to earth than art?
1      PROGRAM[10:46:21]I don't know what -- to be honest. -
1      PROGRAM[10:46:30]I suppose it depends on where you're coming from, but as the
1      PROGRAM[10:46:46]song goes in My Fair Lady, "Why can't a woman be more like a
1      PROGRAM[10:47:03]man? "
1      JUDGE02[10:47:52]I liked that song but I prefer "Why can't children be more like we are"
1      JUDGE02[10:48:10]from another play the name of which I cannot remember.
1      PROGRAM[10:48:12]What, if anything, do you enjoy about being a man?
1      JUDGE02[10:49:01]I would enjoy all aspects of life no matter what my gender.
1      PROGRAM[10:49:02]Do you think of yourself as being attractive?
1 
1    This program insists on always speaking about the same story around
1 Bill Clinton.  You see, even a program with a rather narrow mind can
1 behave so much like a human being that it can win this prize.  It is
1 quite common to let these programs talk to each other via network
1 connections.  But during the competition itself, the program and its
1 computer have to be present at the place the competition is held.  We
1 all would love to see a 'gawk' program win in such an event.  Maybe it
1 is up to you to accomplish this?
1 
1    Some other ideas for useful networked applications:
1    * Read the file 'doc/awkforai.txt' in the 'gawk' distribution.  It
1      was written by Ronald P. Loui (at the time, Associate Professor of
1      Computer Science, at Washington University in St.  Louis,
1      <loui@ai.wustl.edu>) and summarizes why he taught 'gawk' to
1      students of Artificial Intelligence.  Here are some passages from
1      the text:
1 
1           The GAWK manual can be consumed in a single lab session and
1           the language can be mastered by the next morning by the
1           average student.  GAWK's automatic initialization, implicit
1           coercion, I/O support and lack of pointers forgive many of the
1           mistakes that young programmers are likely to make.  Those who
1           have seen C but not mastered it are happy to see that GAWK
1           retains some of the same sensibilities while adding what must
1           be regarded as spoonsful of syntactic sugar.
1           ...
1           There are further simple answers.  Probably the best is the
1           fact that increasingly, undergraduate AI programming is
1           involving the Web.  Oren Etzioni (University of Washington,
1           Seattle) has for a while been arguing that the "softbot" is
1           replacing the mechanical engineers' robot as the most
1           glamorous AI testbed.  If the artifact whose behavior needs to
1           be controlled in an intelligent way is the software agent,
1           then a language that is well-suited to controlling the
1           software environment is the appropriate language.  That would
1           imply a scripting language.  If the robot is KAREL, then the
1           right language is "turn left; turn right."  If the robot is
1           Netscape, then the right language is something that can
1           generate 'netscape -remote
1           'openURL(http://cs.wustl.edu/~loui)'' with elan.
1           ...
1           AI programming requires high-level thinking.  There have
1           always been a few gifted programmers who can write high-level
1           programs in assembly language.  Most however need the ambient
1           abstraction to have a higher floor.
1           ...
1           Second, inference is merely the expansion of notation.  No
1           matter whether the logic that underlies an AI program is
1           fuzzy, probabilistic, deontic, defeasible, or deductive, the
1           logic merely defines how strings can be transformed into other
1           strings.  A language that provides the best support for string
1           processing in the end provides the best support for logic, for
1           the exploration of various logics, and for most forms of
1           symbolic processing that AI might choose to call "reasoning"
1           instead of "logic."  The implication is that PROLOG, which
1           saves the AI programmer from having to write a unifier, saves
1           perhaps two dozen lines of GAWK code at the expense of
1           strongly biasing the logic and representational expressiveness
1           of any approach.
1 
1      Now that 'gawk' itself can connect to the Internet, it should be
1      obvious that it is suitable for writing intelligent web agents.
1 
1    * 'awk' is strong at pattern recognition and string processing.  So,
1      it is well suited to the classic problem of language translation.
1      A first try could be a program that knows the 100 most frequent
1      English words and their counterparts in German or French.  The
1      service could be implemented by regularly reading email with the
1      program above, replacing each word by its translation and sending
1      the translation back via SMTP. Users would send English email to
1      their translation service and get back a translated email message
1      in return.  As soon as this works, more effort can be spent on a
1      real translation program.
1 
1    * Another dialogue-oriented application (on the verge of ridicule) is
1      the email "support service."  Troubled customers write an email to
1      an automatic 'gawk' service that reads the email.  It looks for
1      keywords in the mail and assembles a reply email accordingly.  By
1      carefully investigating the email header, and repeating these
1      keywords through the reply email, it is rather simple to give the
1      customer a feeling that someone cares.  Ideally, such a service
1      would search a database of previous cases for solutions.  If none
1      exists, the database could, for example, consist of all the
1      newsgroups, mailing lists and FAQs on the Internet.
1