AboutChuck Cosby Expertise I can answer questions about speech recognition and natural language understanding. I am particulary strong in knowedge based natural langauge techniques. I cannot answer questions about robotics, nueral nets, prolog, or vision recognition - just speech and natural language.
Experience I have spent 25 years developing natural language software products. I have never developed speech systems, but I have developed sophisticated interfaces from natural language to speech. I have been working with speech recognition systems also for 25 years.
Question I am currently trying to design a simple Ai that communicates based on how the user feels. (this is entered as a string). How should I go about making the program recognize synonyms for certain words (ex: sad and melancholy)? Also, There is a joke in which the computer prompts the user for an answer, but there are many ways to say the right answer. How do I make it recognize them? (I currently have an array containing the answer possibilities, and compare them to the entry, but I was wondering if there was a more efficient way)
Answer You should look into the 'Princton Word Net' - from Princton Collage. a simple way to handle your other question is to program a list of all possible words in the answer. then put a weighted value on each word (say 1-10) regarding its importance in the answer. Then maybe even put some weights on it's position in the answer. then each time the user provides an anwswer - process it against those weights and have a threshold above which the answer is consirdered 'right'.