Re: Questions about speech to text and concepts.
I am happy to answer questions. If I don’t answer in enough detail, let me know.
I think I answered some of#1 and #2 are in my response to DeltaBravo. Since it was lengthy, I’ll assume that you read that response first, so I don’t repeat.
“Parsing” involves “Normalizing” the sentence first, and then “Annotating” it. Normalizing involves finding the largest phrases (multi-word takes precedence over single word) starting from the beginning of a sentence and passing through to the end, removing each piece as it is normalized, while building an array of “Words/Phrase” objects in the sentece. Normalization also involves plurals to singulars, removing useless words or politeness words that don’t add meaning. I don’t do much in the way of Annotating, but I can see that I will need to. There are people that have shared work FAR better than mine on this stuff…I homespun mine as I was using Windows and SQL Server and not Unix/text files.
Once the sentence has gone through this process, I have a object array that represents the sentence, the original text sentence, and a normalized text version of the sentence. I can do a database lookup to see if I can find that sentence as a command, human request, topic, or any other type of sentence. I can also test the sentence against the database of regular expressions, and get a list of all the regular expressions that the sentence matches. This basically gives me a list of software “Agents” to execute, as each regular expression has an assigned “Agent”. Each one executes, doing whatever it needs to do, adding a randomized response from a ResponseList, a probability, and an emotional response. Some agents and not tied to reg expressions, and run all the time at the beginning and end of the process, like babble agents and system agents. When everything is done…higher probability wins. Response and Emotion are sent back. I would be more than happy to explain more on this if you have more questions.
Your Question number 3 is a very interesting one. I will say that Anna will needs improvement on handling concepts with the same name. Like people, she can handle several situations correctly despite ambiguity.
What is Nirvana? - she would give whatever multiple answers she knew, like “A Band and a State of Mind”. No problem here.
Is Nirvana a Band? - No problem here either, as she can safely answer in the positive. I would think a lot of questions asked in a negative way would be a problem.
You are quite intuitive and correct to suggest that this can be a problem. I have seen it happen, and she will “Babble” about the wrong meaning when given the opportunity…I can be talking about Music, and she could start babbling confucious sayings that contain Nirvana, for example. The nice thing is, it can be quite funny and interesting. I would like to solve this issue at some point. I want to deal with circumstances where I am talking about something like football ( a context) and I say something like “What do you think of Alabama?” and have the robot know I’m talking about the university of Alabama’s football team and not the state of Alabama. The robot might say ambiguously like “Alabama is beautiful”…doesn’t really work.
Wow, Stranger in a Strange Land… I read and “grokked” that book around 1990. It was my favorite book then and perhaps since. I read a lot of Heinlein back in the day, my fav author bar none, genius. Heinlein also said that there is some kind of pain at the root of ALL humor.
Very interesting ideas you are having around humor, hope you can pull it off. I ran accross a paper or a video through an online university about someone getting a robot to form its own sentences using probabilities of words being next to each other in a large body of imported data. Sounds interesting (and I hope you get inspired and show me how to do it). Sometimes I think the AI people try to use statistics for too many things…seems like a lot of crappy/incorrect output would happen. They say “Oh but it will learn!”…to which I would ask “Before I die?” But hey, if it can work, I’d love to do it.
Thanks for the interest,
Martin