You could dedicate your entire life to this and still not find a solution.
Many people have.
As far as alice goes... talk to her for 30 min and you start to realize she has no clue what you are saying in reality... and can't remember anything.
This is why I said if he wants an intelligent system he will have to invent it.
Which won't be hard if he can get inspired enough to think outside the box... Our minds don't do it based on raw processing power... or endless case structures. Our minds work based on relationships.
We think up the next word to say mainly because we have said it that way a million times. And we understad phrases rather than words.. We can learn what words actually mean and incorperate that... but really, thats not how everyone learns a language... You have to see how humans learn to understand words before you get a PC to do the same.
I would try talking to a few child pcychologists and pediatricians. People who are at the state of the art in understanding how kids learn.
That should help give you insight into the learning process and maybe how to structure a system that either learns to understand language itself or knows how...
Alice could work, really, if it had enough storage and speed and a dedicated user base to feed it knowledge..
You talk to her, and if something doesn't sound right, or if she requests it.. you can tell her what words mean with her own knowledge base... and then she can build a relationship based system of her own... I know that bullcrap! is an explative and means the same as Oh no!. and in a completely diff area she'll see that "This is bullcrap!" means the same as This is unfair.. and that "That is bullcrap!" means that she seems to have lied or someone else seems to have lied...
It would take a long time to hard code all of that... this is why teaching... kind of like
http://www.smalltime.com/dictator.htmland how it works....