What are the most popular frameworks used for creating natural language user interfaces?
The term “natural language”, like the term “artificial intelligence”, is really non-specific, covering a wide range of sub-fields. Unfortunately, frameworks and interfaces in this context are equally vague, and ill-defined. This doesn’t reflect on the questioner, but is simply inherent in the fields at this point.
There are really no standards for “natural language interfaces” yet. And, as far as I’m concerned, people can’t even agree on what’s a proper framework. However, Wikipedia does include a “List of natural language processing toolkits” [1]. Of these, NLTK (Python) is probably the most popular. Stanford NLP is also highly spoken of. GATE and Lingpipe are used quite a bit too. Myself, I’m leaning toward the Web APIs, such as AlchemyAPI.
However, an NLP toolkit does not an interface make. For instance, many of these toolkits are used within the Eclipse [2] integrated development environment (IDE), which might be more properly viewed as a framework for NLP libraries. Further, speech is a different beast from NLP, and the tools for speech interfaces are very often not the same as for NLP per se. And, the real challenge at the moment is integrating Semantic Web technologies effectively with natural language interfaces.
Myself, I’m extending these concepts to cloud robotics, and am in search of proper AI middleware in the cloud for integration purposes; but, the closest I’ve come so far are cloud-based IDEs (aka Web IDEs), for example Heroku. I have yet to find a real, cloud-based Visual IDE. You can find more about my own journey into these realms on my Meta Guide project website [3].
[1] http://en.wikipedia.org/wiki/List_of_natural_language_processing_toolkits