I am looking for a piece of software that, given some text, will extract the "meaningful" keywords. For example, in the sentence:
StackExchange is an online community.
I want "StackExchange" and "online community" to be singled out as semantically-meaningful keywords, but not "is" or "an".
A bit of research led to Alchemy API, which does the job well. Are there other solutions out there, especially open source ones?
It's a bit old, but I had really good luck building my own tools on top of MontyLingua.
There is TexLexan, which is open source. This page also has good list of open source and commercial options.