We have an existing MS SQL database which is populated with products retrieved from various sources (portals).
The various portals usually have slightly different names for the products.
PortalProduct 1: CocaCola
PortalProduct 2: Manchester United
PortalProduct 3: Maplin Electronics
PortalProduct 1: Coca-Cola
PortalProduct 2: Man Utd
PortalProduct 3: Maplin Elec Ltd.
- We need to correlate these PortalProducts to a central list of Products.
- One Product can have 1-to-many PortalProducts
- The database is populated with around 10,000 PortalProducts
- The database is not populated with any Products. Products need to be added for each new PortalProduct that doesn't match an existing Product.
This must be implemented as a C# console application so that a) we can see the results when the correlate is run and b) so that we can ultimately run it on a task-schedule.
The developer must develop a text matching algorithm to correlate PortalProduct names with Product names (and create a product where there is no match). The emphasis is on the accuracy of the text matching algorithm. Speed is less important than [url removed, login to view] developer should have a mathematical mind and preferably has experience in developing mathematical text matching algorithms.
Examples of mathematical text matching algorithms that could be used (and potentially refined and combined) to meet our requirements are:
Approximate matching with addition of regular expressions ability
Regular expressions for non-fuzzy (exact) matching
[url removed, login to view]
Ideally the developer will already understand and have used some of these before and able to pick the best algorithm(s) for this application.
22 freelancers are bidding on average £199 for this job
Hi, I have done similar task to map different securities. It is more easy to match the mapping in SQL Server database instead of looping in C#. I have 8.5 years experience in C# and SQL Server programming.
I believe I have already have made an accurate algorithm for your problem, combining some of the algorithms you listed. Please send me more examples, matches to detemine if I'm right.