SHRDLU
Maybe it's also good idea to revisit the reason why these systems are not widely in use. They all operate under so called "closed-world" assumptions. It means that the knowledge about the world is very limited.<p>Once the limitation is lifted the system has to deal with non-monotonic reasoning (<a href="http://en.wikipedia.org/wiki/Non-monotonic_logic" rel="nofollow">http://en.wikipedia.org/wiki/Non-monotonic_logic</a>) and that leads to multiple inheritance problem (<a href="http://en.wikipedia.org/wiki/Multiple_inheritance" rel="nofollow">http://en.wikipedia.org/wiki/Multiple_inheritance</a>). Unfortunately, the multiple inheritance problem has, so far, only NP-hard solutions (<a href="http://ijcai.org/Past%20Proceedings/IJCAI-89-VOL-2/PDF/047.pdf" rel="nofollow">http://ijcai.org/Past%20Proceedings/IJCAI-89-VOL-2/PDF/047.p...</a>). [EDIT: think of a command "eggs are in a fridge"; to find eggs in a fridge you need to know that they are inside a container; you need to know its shape and how to open it; if your software knows that and inherits this knowledge each time when asked for eggs, then it will brake when the eggs are not in the box.]<p>We are in need of software that deals with large networks of human knowledge. Then we can take SHRDLU to the next level. Otherwise we are stuck with Will Smith movie (<a href="http://www.imdb.com/title/tt0343818/" rel="nofollow">http://www.imdb.com/title/tt0343818/</a>).<p>[EDIT2: there are many theoretical "suggestions" but very little software or practical internet applications]