Let's say that I have an MDM system (Master Data Management), whose primary application is to detect and prevent duplication of records.
Every time a sales rep enters a new customer in the system, my MDM platform performs a check on existing records, computes the Levenshtein or Jaccard or XYZ distance between pair of words or phrases or attributes, considers weights and coefficients and outputs a similarity score, and so on.
Your typical fuzzy matching scenario.
I would like to know if it makes sense at all to apply machine learning techniques to optimize the matching output, i.e. find duplicates with maximum accuracy.
And where exactly it makes the most sense.
There's also this excellent answer about the topic but I didn't quite get whether the guy actually made use of ML or not.
Also my understanding is that weighted fuzzy matching is already a good enough solution, probably even from a financial perspective, since whenever you deploy such an MDM system you have to do some analysis and preprocessing anyway, be it either manually encoding the matching rules or training an ML algorithm.
So I'm not sure that the addition of ML would represent a significant value proposition.
Any thoughts are appreciated.
You can train a machine learning algorithm using fuzzy matching scores on these historical tagged examples to identify which records are most likely to be duplicates and which are not. Once trained, your new AI will predict whether or not a pair of customer records are truly duplicates.
One legacy artificial and machine learning technology is fuzzy logic. Traditional and classical logic typically categorize information into binary patterns such as: yes/no, true/false, or day/night. Fuzzy logic instead focuses on characterizing the space between these black-or-white scenarios.
Fuzzy matching is a technique used in computer-assisted translation as a special case of record linkage. It works with matches that may be less than 100% perfect when finding correspondences between segments of a text and entries in a database of previous translations.
The main advantage of using machine learning is the time saving.
It is very likely that, given enough time, you could hand tune weights and come up with matching rules that are very good for your particular dataset. A machine learning approach could have a hard time outperforming your hand made system customized for a particular dataset.
However, this will probably take days to make a good matching system by hand. If you use an existing ML for matching tool, like Dedupe, then good weights and rules can be learned in an hour (including set up time).
So, if you have already built a matching system that is performing well on your data, it may not be worth investigating ML. But, if this is a new data project, then it almost certainly will be.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With