def get_close_matches_Levenshtein(word, possibilities, n=3, cutoff=0.6,
    full=False):
    """Replaces difflib.get_close_matches with faster algortihm based on
       Levenshtein.ratio.
       HINT: Similarity increase significatively after lower() and unidecode()

       Refs: https://en.wikipedia.org/wiki/Levenshtein_distance
    """
    import pandas as pd
    import Levenshtein
    if isinstance(possibilities, str):
        possibilities = [possibilities]
    rs = pd.DataFrame()
    MATCH = False
    for p in possibilities:
        similarity = Levenshtein.ratio(word, p)
        if similarity >= cutoff:
            MATCH = True
            rs = rs.append({'similarity': similarity, 'match': p},
                ignore_index=True)
    if MATCH:
        rs = rs.sort_values('similarity', ascending=False).reset_index(drop
            =True)
        if full:
            return list(rs['match'][:n].values), list(rs['similarity'][:n].
                values)
        else:
            return list(rs['match'][:n].values)
    elif full:
        return [], 0
    else:
        return []
