Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I determine if two similar band names represent the same band?

I'm currently working on a project that requires me to match our database of Bands and venues with a number of external services.

Basically I'm looking for some direction on the best method for determining if two names are the same. For Example:

  • Our database venue name - "The Pig and Whistle"
  • service 1 - "Pig and Whistle"
  • service 2 - "The Pig & Whistle"
  • etc etc

I think the main differences are going to be things like missing "the" or using "&" instead of "and" but there could also be things like slightly different spelling and words in different orders.

What algorithms/techniques are commonly used in this situation, do I need to filter noise words or do some sort of spell check type match?

Have you seen any examples of something simlar in c#?

UPDATE: In case anyone is interested in a c# example there is a heap you can access by doing a google code search for Levenshtein distance

like image 524
Luke Lowrey Avatar asked Dec 17 '09 00:12

Luke Lowrey


People also ask

Can I use a band name that already taken?

The first step in trademarking your band name is to check to see if your band name is actually taken - and trademarked. Don't skip this. If you try to register a trademark that's already taken, not only do you not get the trademark, but the filing fees will not be refunded.

Can two bands have similar names?

And trademark for similar band names… So, yes, similar band names happen, and they can cause sticky trademark issues. Therefore, it is helpful to be equipped with proper trademark registration to ensure your trademark ownership.

How do you know if a band name is trademarked?

Call the main public library in your region and ask if it has a Federal Trademark Register CD-ROM. Search for your full band name, then each word individually. Hire a search firm (relatively costly, but reliable). A well-known sources for trademark searches is Thomson Compumark.


1 Answers

The canonical (and probably the easiest) way to do this is to measure the Levenshtein distance between the two strings. If the distance is small relative to the size of the string, it's probably the same string. Note that if you have to compare a lot of very small strings it'll be harder to tell whether they're the same or not. It works better with longer strings.

A smarter approach might be to compare the Levenshtein distance between the two strings but to assign a distance of zero to the more obvious transformations, like "and"/"&", "Snoop Doggy Dogg"/"Snoop", etc.

like image 95
John Feminella Avatar answered Sep 29 '22 10:09

John Feminella