Similarity between two text columns

I have a dataset with two columns indicating company names. I was wondering what is the best way to determine the similarity between the two?

 

Perhaps, I can pass 3 columns in R/Python and return 4 columns with cosine similarity. Can I do that? A starter code/example would be great?

Comments

  • GrantSmith
    GrantSmith Indiana 🔴

    Hi @Yogesh 

     

    How are you defining similarity? Spelled the same? Sound the same?

     

     

  • jaeW_at_Onyx
    jaeW_at_Onyx Budapest / Portland, OR 🟤

    https://stackoverflow.com/questions/560709/levenshtein-distance-in-t-sql

     

    Levenshtein distance is a common way of calculating the similarity between two text values (i.e. how many characters would you have to change before they are the same.  "cat > rat" = 1, "John > Jon" = 1.

     

    You'll have to rewrite it into MySQL but it can be done.  For a workflow like this though, you'll want some sort of process where a user accepts or discards a recommendation which you'll want to accumulate (recursively?) in a lookup table of 'approved matches'.  

     

    in my above example, you may not want to automatically accept that John and Jon are the same entry... hence the need for a feedback loop.  Domo can of course handle that as a simple webform or more dynamically with a custom app with a polished user interface.