【发布时间】:2018-07-18 18:23:37
【问题描述】:
我没有找到任何这样的包,最好是在 Python 中。是否有一些库允许以图形方式比较两个字符串?
例如,当使用я 而不是R,或者更糟糕的是,使用Α(大写字母,0x0391)而不是A 来混淆时,这将有助于打击垃圾邮件他们的字符串。
此类包的接口可能类似于
distance("Foo", "Bar") # large distance
distance("Αяe", "Are") # small distance
谢谢!
【问题讨论】:
-
您是说希望将结果可视化,还是希望计算机在应用编辑距离之类的东西时区分大写字母和拉丁字母“A”?
-
@ODP 他想要衡量字符的视觉相似性,即两个字符串 a1,a2 的数字 s(a1,a2) 告诉他它们看起来有多相似。我不认为这样的包存在
-
@ODP 希望通过编辑澄清
-
@ODP 无论如何,看看 difflib (特别是序列匹配器)。但我认为它只有助于解决部分问题(以不同的顺序区分相同字母之间的相似性)。字符串也有很多距离度量,我只是不认为它们很容易推广到其他 unicode 字符,甚至它们之间的视觉相似性。您可能必须事先修正相似度数。
-
还可以查看stackoverflow.com/questions/10433657/… 和security.stackexchange.com/questions/128286/… 以获取有关该主题的一些有用参考。