At the forefront of Artificial Intelligence
  Home Articles Reviews Interviews JDK Glossary Features Discussion Search

Intelligent Answering Machine Project

By Andy Thomas

Project Overview

Develop a natural language program able to engage a human telephone caller in a dialogue. The dialogue shall be restricted to the whereabouts of the human occupier, contact details and taking messages etc. There is no requirement for the machine to pretend to be human or be capable of passing the Turing Test. However, it should be able respond sensibly to reasonable queries within the specified context, and be able to 'fend-off' unreasonable interrogation outside this context.

This is a project in NLP, not voice recognition, so input/output may be via keyboard and screen.

Difficulty: Pretty Tough

Pointers/Tips

  1. Hard-coded heuristics. I.e. looking explicitly for keywords in queries which identified the occupier and question pertaining to his/her whereabouts, contact details, time of return and the taking of messages etc.
  2. Syntactically parse input text, i.e. categorise each word as noun, verb, adjective etc. This aids classifying input sentences as interrogative (question), command or remark. It allows pronouns to be identified as cross-referenced with previous nouns and noun phrases. It allows names of people, gender and places to be identified.
  3. Knowledge base of known related facts.
  4. ELIZA style replies for dealing with input for which no other response can be made.

Example Dialogue

I attempted this project a couple of years ago and tried out the above techniques, with limited success. I also got the program to function with Dragon speech recognition and a speech synthesiser, although it wasn't sufficiently robust to work over a telephone. Any way, here are a couple of the better examples of dialogues with my program, which was called Tara:

TARA : HELLO. THIS IS TARA.

USER : who the hell is this
TARA : WHY DO YOU ASK?

USER : i want to speak to andy, is he there
TARA : ANDY THOMAS IS DOWN THE PUB AT THE MOMENT.

USER : look, this is his mother-in-law, when will he be back
TARA : HE WILL BE BACK WHEN THE PUB CLOSES.

USER : when is that
TARA : I AM UNABLE TO ANSWER THAT.

USER : what's his mobile number
TARA : HIS TELEPHONE NUMBER IS ... ERR I DON'T THINK HE WANTS ME TO TELL
YOU.

USER : are you an answering machine
TARA : I AM UNABLE TO ANSWER THAT.

USER : this is ridiculous
TARA : IS THERE ANYTHING ELSE I CAN HELP YOU WITH?

------------

TARA : HELLO. THIS IS TARA.

USER : hi tara, this is rollo
TARA : HELLO ROLLO.

USER : is andy in
TARA : ANDY THOMAS IS AT WORK AT THE MOMENT. WOULD YOU LIKE HIS
TELEPHONE NUMBER?

USER : no - i have it
TARA : OK.

USER : could you tell him we're all going out for some beers tonight
TARA : WHY DO YOU ASK?

USER : err - because i want to leave him a message
TARA : ANDY THOMAS IS AT WORK AT THE MOMENT. I DON'T HAVE ANY MORE
INFORMATION.

USER : ok, just tell him that
TARA : IS THERE ANYTHING ELSE I CAN HELP YOU WITH?

USER : yes, i want try out his new anwering machine
TARA : ANDY THOMAS IS AT WORK AT THE MOMENT. I DON'T HAVE ANY MORE
INFORMATION.

USER : who are you
TARA : I AM TARA.

USER : who am i
TARA : ROLLO IS ANDY'S FRIEND

USER : where is andy now
TARA : WHY ARE YOU ASKING ME THESE KIND OF QUESTIONS?

- Andy Thomas (andyt@alpha-india5.com)


Solutions

TaraSetup.exe (1.87Mb) Solution submitted by Andy Thomas

Submitted: 03/03/2001

Article content copyright © Andy Thomas, 2001.
 Article Toolbar
Print
BibTeX entry

Search

Latest News
- Generation5 10-year Anniversary (03/09/2008)
- New Generation5 Design! (09/04/2007)
- Happy New Year 2007 (02/01/2007)
- Where has Generation5 Gone?! (04/11/2005)
- NeuroEvolving Robotic Operatives (NERO) (25/06/2005)

What's New?
- Back-propagation using the Generation5 JDK (07/04/2008)
- Hough Transforms (02/01/2008)
- Kohonen-based Image Analysis using the Generation5 JDK (11/12/2007)
- Modelling Bacterium using the JDK (19/03/2007)
- Modelling Bacterium using the JDK (19/03/2007)


All content copyright © 1998-2007, Generation5 unless otherwise noted.
- Privacy Policy - Legal - Terms of Use -