Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 通过编程确定翻译后的名称是否等效_Python_Difflib_Sequencematcher - Fatal编程技术网

Python 通过编程确定翻译后的名称是否等效

Python 通过编程确定翻译后的名称是否等效,python,difflib,sequencematcher,Python,Difflib,Sequencematcher,我想看看两个翻译的名字是否相等。有时,译文中的名称顺序会有所不同。例如: >>> import difflib >>> a = 'Yuk-shing Au' >>> b = 'Au Yuk Sing' >>> seq=difflib.SequenceMatcher(a=a.lower(), b=b.lower()) >>> seq.ratio() 0.6086956521739131 ‘游成凹’和‘游玉成

我想看看两个翻译的名字是否相等。有时,译文中的名称顺序会有所不同。例如:

>>> import difflib
>>> a = 'Yuk-shing Au'
>>> b = 'Au Yuk Sing'
>>> seq=difflib.SequenceMatcher(a=a.lower(), b=b.lower())
>>> seq.ratio()
0.6086956521739131
‘游成凹’和‘游玉成’是同一个人。有没有一种方法可以检测这样的东西,这样像这样的名字的
比率就会高得多?与以下结果类似:

>>> a = 'Yuk-shing Au'
>>> b = 'Yuk Sing Au'
>>> seq=difflib.SequenceMatcher(a=a.lower(), b=b.lower())
>>> seq.ratio()
0.8181818181818182

您可以在比较之前规范化名称的顺序:

def normalize(name):
    name_parts = name.replace("-", " ").split()
    return " ".join(sorted(name_parts)).lower()