From my own experience, what I have learnt about Microsoft QnA generator is that it maps the input to a particular question, in your knowledge base. Your knowledge base is actually the list of questions, and answers that you want the application to learn from. They are simply, csvs, tsvs etc. That you can use.
However, the learning model is a bit complex, but that can be generated easily, if you can find the distance in two sentences. That is an entire algorithm —
nlp - The distance between the meaning of two sentences - Stack Overflow[
^], and it is used to decide what the user expects from the application, later, based on the choice, you provide them with an answer from your
knowledge base.
I don't think this would be an easy task for any non-research-funded group, or at least you would require to understand these concepts really much — I mean, really really much!