Existem muitas ferramentas com as quais você pode criar:
No que diz respeito às palavras-chave, existem ferramentas básicas, como os lemadores Porter, disponíveis na maioria das linguagens de programação e muito mais opções para idiomas específicos.
Por exemplo, há o NLTK (kit de ferramentas de linguagem natural) - um sistema de classificação de texto em Python - que você pode usar para coisas como marcação de partes do discurso ( link )
Além disso, existem vários pacotes de mineração de texto que você pode usar em R: link , por exemplo (também veja estes slides: link .
Se você puder fornecer uma ideia mais clara do tipo de análise de texto que você tem em mente, seria mais fácil sugerir pacotes específicos que possam ser relevantes?