NLP: Checking that answers to a question are correct

Question answering is a common topic within NLP, but my problem is a little different: rather than answering a question, I have a question, an (open-ended) answer, and what I want to check is if that answer is correct.

For instance, if I have the question: Have you done X? I would like to be able to say that Yes, I have done X. is correct, and Yes, I have done Y. is incorrect.

Going a step further, this should also work if the answer is semantically similar to X, but not identical (for instance, Yes, I have done X1 and X2, with the understanding that X1 and X2 together constitute X), or extract this from a larger piece of text (for instance, After much deliberation, I was doubting between X and Y. But in the end I did X. should pass the test).

I would very much appreciate some pointers on how to get started with this. For context, I have read a lot about the most common techniques in NLP, and work mostly in Python.

Topic semantic-similarity question-answering nlp python

Category Data Science

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.