我会向你展示一个特殊问题,因为人们对地图的工作肯定知道:
当您编写一个城市例如Moscow
时,根据给定语言中字母的发音,将以不同的方式写出类似的声音,用法语表示Moscou
,捷克Mosku
(假设我们想写的是我们所听到的而不是捷克名称Moskva),有人可能会写出Mosquow
。
因此,当字母是阿拉伯语时,目标语言中没有共同部分时,我们会发现多种变体。例如,我正在阿尔及利亚的城市工作,让我们说我需要处理Djenane El Bey
,这可能是法国人的心,如Djenane El Bay
或Jnen El Beï
或其他中介形式。请注意,这仅适用于拉丁文字母与法国人的关系,如果这些字母是由来自其他国家/地区的人撰写的,则变体将更改。
所以问题是:有没有办法计算距离,以便检测出以不同方式书写的不同位置是一样的?
请注意语言特定的字母组合,例如阿拉伯语用法语写的那些字母组应该是等价物(或彼此非常接近)
我认为这是一项特别的工作,谷歌建议在我们进行搜索时让它对我们有用,是否有任何开源机制可以让我在我的城市,村庄和宿舍的数据库中检测出重复的城市?
谢谢和最好的问候:)
ps:我知道有一些通用的算法可以做类似的工作,但不幸的是,计算出的距离对于删除重复项是不可靠的:两个具有较大距离的单词可能会以同样的方式“发音”(未检测到)通过像这样的algorythms:Function that returns affinity between texts?)