This depends on the kind of input data sets that you have. Supervised learning algorithms require “labeled” data sets. These data sets have both questions and answers. However, you might find it hard to collect “labeled” data. You can use unsupervised learning algorithms in that case.