To process than natural speech?

Write a bot for conferences (General text chat).
Want to bot to do some functions:

1) do Not break when the command was spoken not to the letter
For example:
Bot, tell me the weather
tell me the weather, bot
by the way, the bot, what's with the weather?

2) to Distinguish between mention of it in conversation, and direct address.
For example:
Not to respond when:
the bot still does not know how to upload images, I'll soon fix that

React when:
Bot, tell me the weather

In fact, the first item for me is much more important, but without the second you can do as I want bot to be able to understand the appeal not only when the message starts with its name, people can write: "Hey bot", "butbutbut, Booot", etc.

Also from the speech it is necessary to throw out all superfluous and to normalize her, to understand that "kartinochka cat" and "cat illustration" and "photo Kote" is one and the same team

The question is, what to do? (because this algorithm that I won't be able to write).
Is there something ready? Initially my goal is to bot, but I'd really like to give him the ability to understand natural speech of the people, if this is too difficult, it means not destiny.

Ask for articles with sources, links to repositories or libraries.
Thank you.
April 4th 20 at 13:22
3 answers
April 4th 20 at 13:24
Ask for articles with sources, links to repositories or libraries.
Next! ;)
April 4th 20 at 13:26
April 4th 20 at 13:28
If we are talking about the Russian language to read about stemming and lemmatization.

Find more questions by tags Machine learning