Hello,
I think applying a set of NLP steps before using any matching algorithms is so important in this project. We need to apply some morph-syntactic steps then using an ML algorithm or using a set of heuristics (based on the size of the available dataset). Regarding mt experience , I have 10 years experience in natural language processing and machine learning and have worked on many projects in these fields. My previous projects includes generating process diagrams starting from texts, Social networks data analysis systems, Recommendation systems, Opinion mining Systems, Bird sounds recognition system, Natural Language interface to a relational database (like SIRI), Question Answering Systems (in limited domain), chatbots ,..