我正在寻找关于分离名称的参考:“John A. Doe”的部分,第一个=约翰,中间= A.,最后= Doe。在墨西哥,我们有父系,母系,第一和第二名,并且可以用不同的排列编写,因此问题非常复杂。
由于它取决于数据,我们正在使用匹配软件来计算每个单词的分数,以便我们可以做出决策(它基于一个大型数据库)。输入数据不干净,它是从一些政府网页导入的,并且是人工过滤的,因此它也可能具有必须被识别的垃圾。有什么建议吗?
[编辑] 例子:
name: Javier Abdul Córdoba Gándara common permutations (or as it may appear in gvt data referring to same person): Córdoba Gándara Javier Abdul Javier A. Córdoba Gándara Javier Abdul Córdoba G. paternal=Córdoba maternal=Gándara first given:Javier second given:Abdul
name: María de la Luz Sánchez Martínez paternal:Sánchez maternal: Martínez first given: María de la Luz
name: Paloma Viridiana Alin Arias Medina paternal: Arias maternal: Medina first given: Paloma second given: Viridiana Alin
正如我所说,每个单词的含义取决于分数。如果没有得分,则无法知道
Viridiana和
Alin的名称。
我们有一个非常强大的数据库(8000万条记录左右),所以我们可以使用评分系统。我正在设计一些使用它但寻找其他参考的算法。
答案 0 :(得分:1)
不幸的是 - 并且我自己完成了相当多的工作 - 您理想的算法将非常符合数据,您需要针对您的特定情况进行此操作。
在开发此算法的总时间和精力中,我会说时间大致如下:
而且我相信这对于一般的字符串操作非常慷慨。当然,这取决于您是否需要所有记录的质量结果,或者仅需要“干净”记录等,如果您能够忽略“困难”记录,则会使其变得更加简单。
一些一般提示
答案 1 :(得分:0)
您可能需要添加一些自然语言或机器学习来检查。识别作者姓名的问题(例如在科学论文中)是很困难的,因为它们可以用不同的顺序,缩写的程度,精算等来报告。如果你的数据库很脏,那么无论你做什么,都会以模棱两可的方式结束。