title: Python string similarity (with complexity)
body: <p>I have a string I would like to match against a list of candidates. Here is an example:</p>
  
  <pre><code># ignore case
  string = "The Shining" # The Stanley Kubrick Movie
  candidates = ['Shining', 'The shins', 'Shining, The'] 
  most_similar(string, candidates)
  ==&gt; 'Shining, The'
  </code></pre>
  
  <p>Doing a "literal string comparison", I usually use the <a href="https://stackabuse.com/levenshtein-distance-and-text-similarity-in-python/" rel="nofollow noreferrer">Levenshtein distance</a> or ratio in this case. However, I'd like to do a more sophisticated similarity test so that the best match in the above case is <code>Shining, The</code>. </p>
  
  <p>I'm guessing that this is a common issue that has probably been solved extensively, so I was wondering what library/tool/etc. might be the best way to get what I'm trying to do?</p>