0

我最近提出了一种用于查找重复客户记录的索引算法。简而言之,这一切都很好。

但是,我的问题是我想找到“Diviér”应该匹配“Divier”,或者“Aether”应该匹配“Æther”。没问题,因为使用 libicu 或 boost::locale 可以删除变音符号,并且问题使用 wstring。但是,这是我的问题:规范化/拉丁化一个单词会改变它的含义,匹配可能不再有意义。我想就名称是否可以接受一些输入...

另外,如果有人有中文名字怎么办?这不会以这种方式归一化,不是吗?

你对如何解决这个问题有什么建议吗?

4

1 回答 1

1

您应该更多地查看地址,而不是过多地查看名称。最后,名称可能非常具有误导性。例如,根据国家的不同,中文、俄文或日文字符的转录可能会有所不同。然后有时名称字段太短而无法捕获一个人的全名(尤其是在印度人的名字中很常见),这会导致任何看似随机的缩写。有时人们会省略中间名,有时则不会。有时会有拼写错误给出正确但不同的名称。

因此,在我看来,名称应该是查找重复项最不重要的标准。

于 2013-02-23T11:22:53.183 回答