I'm working on a question answering bot as my graduation project. The main concept is having a text file with many sentences, and building a question answering bot which answers a user's question based on the text file in hand.
Until now, I used tf-idf and cosine similarity and the results are somewhat satisfactory. The main problem is, if the user was to ask a question that doesn't have a word that is in the text file, my bot can't deduce what to bring back as an answer. For example, if I have a sentence in my text file that says "I have a headache because my heart rate is low", if the user was to ask "Why do you have a headache?", my bot chooses the correct sentence, but if he asked "What's wrong with you?" my bot doesn't know what to do.
All I've seen on the web until now are deep learning methods and neural networks, such as LSTM and such. I was wondering if there are any pure NLP approaches to go with my requirements.