I have a dataset of phrases and definitions for each phrase. I want to write code that will take a sentence and return definitions for each phrase in the sentence that's in my dataset. So for example, if my dataset has "french fries/strips of deep-fried potatos" as a phrase/definition pair and a sentence input is "I would like to eat delicious french fries today," I want to somehow be able to annotate "french fries" with its definition for the user. And I want the same result when the phrase is slightly different like "I would like to eat a delicious french fry today."
I'm currently using a NLP chunker to separate sentences into phrases. This has its own problems like maybe making "delicious french fries" a phrase rather than "french fries." If anyone can help with this it'd be much appreciated but it's not the biggest problem. From here, I don't know what to do. I can do a fuzzy comparison of every chunk to every phrase in my dataset but that would take way too long. The first response to this StackOverflow post seemed promising but after testing some examples on various phonetic algorithms I can tell that it definitely won't work. Any recommendations on algorithms to use or places to look would be great.