< Back

Lab 32: Images

As usual, create a directory to hold today's files. All programs that you write today should be stored in this directory.

$ cd ~/cs120/labs
$ mkdir lab32 
$ cd lab32 


Loebner Prize

In 1949, Alan Turing published an article called "Computing Machinery and Intelligence," which was the seminal paper where he outlined his Turing Test. In the Turing Test, an individual is placed in front of a computer, and is told they are either communicating with human (at another computer outside of the room) or a computer program. At the end of the test, the human evaluates whether they were talking to a human, or a computer program. The true goal is for the computer program to fool the human into thinking that it is a human.

In the early 1990's, the field of artificial intelligence had advanced far enough that having a computer program that could pass the turing test (by fooling the human into thinking it was a human). Towards this point, Hugh Loebner sponsored a $100,000 prize to the first program author who could fool a human. This has spiraled into a yearly competition, demonstrating the advances in Artifical Intelligence each year.

Today, we are going to execute our own version of the loebner competition. If you have your chatbot, get ready to anonymize it. If you don't have a chatbot, one will be provided for you. Let's see who wins!


Loebner Competition

Modify Chat Bot Output Format

All chat bot programs must have the same output format so that it is not possible to distinguish between bot and human based on format.

  1. Modify your chat bot python program's output so that it conforms to the following standard:
    1. The bot should prompt for user input first
    2. The program should not print anything before the first prompt
    3. The bot should use the prompt text "> " (without the quotes)
    4. The bot should not prefix bot output with anything

    For example, the output of the program should look like:

    > hello bot
    hello human
    > can you pass a Turing test?
    no, do you want to play chess?
    
  2. Download the python program verify_bot.py and put it in the same directory as your chat bot python file.
  3. From the directory containing your bot program, run the verify bot program by typing python3 verify_bot.py YOUR_BOT_FILE_NAME.py.
  4. Wait until everybody's bot file is successfully verified before proceeding.

Run The Client

The client program will communicate with the server to determine who you will chat with and will connect you to the bot or person you will chat with.

  1. Download the python program loebner_client.py and put it in the same directory as your chat bot python file.
  2. From the directory containing your bot program, run the client by typing python3 loebner_client.py YOUR_BOT_FILE_NAME.py. Note, YOUR_BOT_FILE_NAME.py is the name of your chat bot python file.
  3. Wait until everybody's has connected to the server.
  4. Chat.
  5. When the chat is over, evaluate who or what you were chatting with.

Time to Work

Loebner competition is now, sadly, over. However there's still plenty of daylight left in today's class. Spend the rest of class today working on your final projects. Don't forget about presentations on Friday!