I knew it was coming, but it’s still a bit of a shock. I hit the inevitable wall…this is indeed a “hard” problem to take on. Maybe I can’t do it after all!
The title of the post (from MIT EECS 6.864) illustrates a little corner of the problem. As an English-language sentence, what does it mean? The problem is with the ambiguity inherent in a natural language, and there isn’t a correct interpretation. The sentence is grammatically correct and semantically ambiguous. Here are the possible meanings I can think of:
- I used a telescope to observe a small web-footed broad-billed swimming bird belonging to a female person.
- I observed a small web-footed broad-billed swimming bird belonging to a female person. The bird had a telescope.
- I observed a female person move quickly downwards. The person had a telescope.
- I used a telescope to observe a female person move quickly downwards.
- I used a telescope to cut a small web-footed broad-billed swimming bird belonging to a female person.
- I used a telescope to observe heavy cotton fabric of plain weave belonging to a female person.
- I used a telescope to cut heavy cotton fabric of plain weave belonging to a female person.
There are several other possible meanings as well. The problem is that more information is needed to establish the real meaning of the sentence. It is not just world knowledge (i.e., characteristics and typical behaviors of duck and telescopes) that’s needed. I’ve already used that kind of knowledge to generate the list of meanings above. The extra information needed comes from the context in which the sentence occurs. Were the speaker and listener just talking about odd things to see ducks doing? Is this a cartoon? Are we discussing tent-making methods?
My short-term approach is likely going to be the same. I’m going to try to use PHP or C# (maybe Python), connected to WordNet and MySQL, to build a conceptual analyzer that can gradually learn the world knowledge needed to understand what I tell it in English. There are other projects (e.g., Babel, Dashboard, Mindlog, and even Godwhale) that may be trying to do the same kind of thing, so collaboration might be in the future.
It’s going to be harder than I thought!