位置名称匹配

时间:2018-08-20 19:51:23

标签: multilingual string-matching sentence-similarity elasticsearch-phonetic

例如,我有一组位置名称:

{ "athens", "munich", "athenes", "αθηνα", "munchen", "μοναχο" }

我想以每个子集包含相同位置的方式将此集合分为N个子组,例如,以先前的数据集为输入,我们应将其分为2个子组:

{ "athens", "athenes", "αθηνα" }

{ "munich", "munchen", "μοναχο" }

子组中的每个位置名称可能在以下方面有所不同:

  • 语言
  • 轻微的拼写差异

我们可以假设每个单词都是小写并且删除了重音符号,因此区分大小写和重音符号不是问题。

从开发人员的角度来看,我认为我需要实现一种方法

double CompareNames(string name1, string name2);

,它需要输入2个字符串进行比较并返回它们相似度的度量(其中相似度是根据表示相同位置来衡量的)。如果相似度高于预定义的阈值,则name1和name2属于同一组。

我在以下领域进行了研究:语音匹配,语言匹配,文本相似性(例如levenshtein),但我找不到 一个紧凑的库(最好是.NET),可从整体上解决这些问题。

任何在这类问题上有经验的人都可以指导我,提出适当的方法甚至建议我使用任何工具吗?

0 个答案:

没有答案