In the 50-odd years that we have computers, human language parsers are the one thing people have tried to write, but failed.
Not hindered in any way by any degree of knowledge about the subject, I wonder why that is. Granted, human languages are quite complex to express in mathematical terms, but that doesn't have to mean it's entirely impossible. I've been thinking about this quite a bit lately, and it appears to me that an architecture composed of the following components should make a human language parser possible:
Granted, this would require a huge amount of work; but I don't think it's impossible.
Now, one might wonder why it would be nice to be able to get a computer to understand human language. For one thing, it would vastly increase the quality of existing grammar checkers in word processors; but that's just the tip of the iceberg. Extend the dictionary to also include a numeric representation of each word where words that are synonyms have the same numeric value—or at least one that is very close—and where homonyms have multiple values, and you open the possibility to a number of interesting things. A command line interface like "good morning, please fire up mutt". An application that will take a text in English and output one in Dutch. Flawlessly.
</dreamstate>
This hasn't been done to date, and I can't believe I'm the first one to have come to this idea. So why hasn't it been done yet? I've seen many people try, but none of the grammar parsers I've seen thus far are actually functional to a degree that I'd rather trust the grammar checker than myself. What's the hard part? The huge amount of work? Or is there some barrier that I haven't thought about that makes the whole thing impossible?