A good machine learning algo is what you're looking for, and even then it wouldn't be 100%. For example, think WordAi's NLP algo, but obviously you don't need anything close to that advanced. I taught myself some ML a couple years back, but have since forgotten everything.
Failing that, you're basically stuck creating an index of keywords, then matching each entry up against the # of words and matches it has to other entries. So take a string, strip out the useless words (a, and, the, free, plus, etc.), and generate an index of all words. Then compare each string. If one string has 5 words, and matches 4 of those words in another string, good chance it's the same product.
Again though, machine learning is the better way, but definitely more difficult way.
Failing that, you're basically stuck creating an index of keywords, then matching each entry up against the # of words and matches it has to other entries. So take a string, strip out the useless words (a, and, the, free, plus, etc.), and generate an index of all words. Then compare each string. If one string has 5 words, and matches 4 of those words in another string, good chance it's the same product.
Again though, machine learning is the better way, but definitely more difficult way.