我有两个人的名单。每个列表大约有5,000个名称,每个列表都在一个Excel列中(因此我可以将其导出为CSV等)。我需要交叉引用数据,以便识别可能的匹配项以及每个匹配项的置信度。
对于列表A,名称采用一致的格式-姓,(逗号)名。对于列表B,名称的格式不一致。有时它是姓,(逗号)名。其他时间是姓-(破折号)名。有时会有多个名字,等等,等等。
所以,我认为我需要做的是标记两个列表,然后遍历其中一个列表的每个成员(例如,列表A)。对于列表的每个成员,我将其标记与第二个列表(列表B)的每个成员进行比较。我将计算匹配的次数,并以与成员B匹配的成员A中令牌的比例来表示信心。
这显然需要一些时间。标记化不是问题,但是匹配操作的数量等于列表A中的令牌数量乘以列表B中的数量。
我的主要技能是PHP和MySQL。我意识到这不是PHP的理想问题,但是我会使用命令和排队(Laravel附带OOTB)来解决会话超时之类的问题。我也具有合理的JS技能,因此也可以在那里做一些事情(但我之前没有尝试过节点应用程序)。
另一种选择是我可以使用Neo4J,我对此有一些经验。
不管我的技能如何,解决此问题的最明显方法是什么?例如,我读过一些有关Lucene的文章,我想知道这是否值得探讨。