| This is neat. Shlomib, you might be interested in SHRDLU [1][2] if you are not aware of it. It was developed by Terry Winograd [3] for his dissertation [4] at MIT. It is a natural language understanding [5] parser that allows you to interact with a small world of 3D solids. I think you will find the paper interesting, because it goes into detail on sentence structure and associated parsing. Here is a sample dialogue with the program, taken from Wikipedia: Person: Pick up a big red block.
Computer: OK.
Person: Grasp the pyramid.
Computer: I don't understand which pyramid you mean.
Person (changing their mind): Find a block which is taller than the one you are holding and put it into the box.
Computer: By "it", I assume you mean the block which is taller than the one I am holding.
Computer: OK.
Person: What does the box contain?
Computer: The blue pyramid and the blue block.
Person: What is the pyramid supported by?
Computer: The box.
Person: How many blocks are not in the box?
Computer: Four of them.
Person: Is at least one of them narrower than the one which I told you to pick up?
Computer: Yes, the red cube.
[1] https://en.wikipedia.org/wiki/SHRDLU[2] http://hci.stanford.edu/winograd/shrdlu/ [3] https://en.wikipedia.org/wiki/Terry_Winograd [4] http://hci.stanford.edu/winograd/shrdlu/AITR-235.pdf [5] https://en.wikipedia.org/wiki/Natural_language_understanding |
It's basically taking what computers already do really well today and adding a language "mask" onto it. Yet it still blows me away.