Freddy - excellent, thanks. I'm working so hard on the project I don't even have much time for even thinking about showing it off right now. I'm going to pound at it, and I am hoping by new years day to have one good demo for everyone.
MarkB - yes, "it" is a fascinating concept
My engine will be able to "de-reference" (yes, a term borrowed from C programming) the meaning of "it". My engine will perform the same type of searching technique it employs to figure out the structure of a sentence.
As in my previous post, where I used the
gerund phrase'Giving the girls a holiday' - the bot will know that 'it' can be a single noun of a subject or a gerund phrase, or an infinitive.
If I say "Giving the girls a holiday will please them" and another sentence right after that saying "I think they would enjoy it". The bot will know that a possible mapping of 'it' (one of the possible mappings) is the gerund phrase of the previous sentence. Actually 'it' is not the only word with this functionality, 'that' also... "I won every card game last night".... "What do you think of that?"
It will evaluate the possibility of each of these and calculate the most probably meaning of 'it'. Perhaps before the new year I should be able to give a video demo of the many forms of 'it' that the bot can resolve.
trotter - for speed : I have made great progress in speeding this parsing technique up. Initially, it was very much a 'brute force' algorithm but I have since figured out many short cuts and optimizations that speed it up. However, I still have, (and I'm guessing) probably about 100 more grammar rules to code yet. So far it responds with 2 - 3 seconds with 20 word inputs. Sentence that are like 50 words are very difficult for it and it takes forever, but later I will utilize multi-threading and run it on a machine with 2 quard core CPUs
also, trotter - for bad grammar - yes, I am actually coding proper grammar and bad grammar ! It just means more permutations. First I will code bad grammar, then, I will make an equivalent of a "spell check" - but instead of picking the closest matching word, I will pick the closest matching grammar -- that should prove most interesting to code !!