I am promoting language processing that uses keywords and the concept of narrative.
One vision of chat bots is that they should be able to respond to questions on ANY topic, like Siri and Alexa . A contrasting vision is that we should create chat bots that understand language for ONE (or a small number) of topics and that these will eventually learn how to collaborate and merge to cover more and more topics. This is “Narrow World” Language Programming - NWLP and not NLP.
Please see:
https://github.com/peterwaksman/Narwhal
Narwhal decouples domain expertise from language processing, so a client can focus on their topic and not worry about how language works.
If you have a limited topic or set of topics, eg product reviews (for fixed product types) like hotel reviews, FAQ, customer orders, fixed hashtags, or any text that has been filtered for topic - you may find text recognition straightforward and transparent with Narwhal.
If anyone wants to give it a try, I would be happy to help and can be contacted here or via GitHub.
P.S. If you want to do machine learning on top of Narwhal, that means automatic discovery of keywords and (perhaps?) automatic discovery of narrative patterns.