问题标签 [name-matching]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
pattern-matching - 根据人名匹配记录
是否有任何工具或方法可用于在两个不同数据源之间通过人名进行匹配?
这些系统没有其他共同信息,而且在许多情况下输入的名称不同。
非精确匹配示例:
King Jr., Martin Luther = King, Martin (不包括后缀)
Erving, Dr. J. = Erving, J. (不包括前缀)
Obama, Barak Hussein = Obama, Barak (不包括中间名)
Pufnstuf, HR = Pufnstuf, Haibane Renmei (匹配缩写)
Tankengine,Thomas = Tankengine,Tom(匹配常用昵称)
Flair,Rick “the Natureboy” = Flair,Natureboy(匹配昵称)
database - 人名查询/翻译
我正在研究匹配来自不同数据库的人的要求。一个棘手的问题是数据库中名称的差异,例如 Bob - Robert、Jim - James、Lizzy - Elizabeth 等。
是否有可用于此类需求的查找/翻译。
grails - 在 Grails 中组合表格、Web 服务数据
我试图找出基于匹配逻辑和输入搜索条件显示组合表的最佳方法。
情况如下:
我们有一个本地存储的客户表。感兴趣的字段是 ssn、名字、姓氏和出生日期。
我们还有一个提供相同信息的网络服务。来自 web 服务的客户有的与本地文件相同,有的不同。
两者都不需要 SSN。
我需要组合这些数据以在 Grails 显示器上查看。
组合的标准是 1) 在 SSN 上匹配。2) 对于任何剩余的记录,名字、姓氏和出生日期完全匹配。
此时不需要 soundex 或近似逻辑。
看起来我应该做的是将两个输入中的所有记录提取到一个集合中,以某种方式使其成为 SSN 上的一个集合。然后删除空白ssn。
这将处理 SSN 匹配(一旦我弄清楚如何制作它)。
然后,我需要返回原始的两个输入源(缓存在集合中以防止重新读取)并删除之前派生的 SSN 集中存在的任何记录。
然后,根据名字、姓氏和出生日期创建另一组——如果我能弄清楚如何制作一组的话。
然后将两个派生集合组合成一个集合。出于展示目的,应对集合进行分类。
这有意义吗?我认为搜索条件将限制提取的记录数量,因此我可以在内存中执行此操作。
本质上,我正在寻找一些关于 Grails 代码如何实现上述逻辑的想法(假设这是一个好方法)。本地客户表是一个域对象,而我从 WS 得到的是一个对象数组列表。
此外,我并不完全清楚用于显示的 maxresults、firstResult 和 order 将如何受到影响。我想我需要先读入所有符合搜索条件的记录,进行组合,然后从派生集合中显示。
php - 使用替代拼写与表进行名称匹配
我有一个国家名称的替代拼写表:
使用名称、Alt1、Alt2、Alt3、Alt4
[...]
Bahamas, "Bahamas, The"
Bolivia
Bosnia and Herzegovina, Bosnia & Herzegovina
[...]
(有些国家有 0 个替代拼写,其他最多 4 个。)
给定一个国家字符串,在性能方面返回第一列元素的最佳解决方案是什么?(在大多数情况下,与替代拼写的数量无关,字符串与第一列匹配,不必进行名称匹配。在其他情况下,概率均匀分布在第 2-X 列中。
(最好使用 JavaScript 或 PHP,谢谢 :))
dictionary - 用于查找名字和姓氏变体的名称匹配字典
我有一个应用程序可以存储和跟踪访问者。这些访问者是由调度程序(用户)在设置访问时根据需要在系统中创建的。问题是大多数时候访问者唯一重要的唯一标识符如下:
- 名
- 姓
- 公司名
同一个人存在重复记录的风险是固有的,调度程序可能会输入新的访问者记录,而不是在系统中搜索以该名称存在的人。
当我遇到有人输入同名访客时,我会显示一个警告对话框,其中包含有关此人可能是谁的各种建议,但即使这样也不够好。
我可以输入“Jim Jones”,这个人可能以“James Jones”或“Jimmy Jones”的身份存在于系统中。我看到有可用的名称识别软件包,但它们很贵,而且肯定比我要找的更重。
有人知道在哪里可以找到我可以通过编程方式访问以查找潜在名称变体的免费或开源字典文件吗?软件或在线服务会很好,但即使只是数据转储或简单的文本文件也可以。
我知道即使这样也不会阻止重复的访客记录,我只是试图将其保持在最低限度,因此它不是一个关键功能。
c# - 根据人名提出建议
所以我搜索了模糊搜索,Levenshtein 距离算法,我不确定是否真的适合我正在做的事情。请让我知道你的想法,如果有的话...
如何获取用户的全名并生成相似名称列表?我想通过提供“嘿,您确定这些都不是您”作为帐户创建之前的最后一步,防止用户在应用程序中创建多个帐户。
我找到了这篇文章,但它完全基于 SQL(http://stackoverflow.com/questions/988050/matching-records-based-on-person-name)
我正在使用 c#/Linq、SqlServer。
谢谢你的时间!
jquery - 使用 jQuery 和 ASP.NET 用户控件时如何处理元素 ID
我在 ASP.NET 中有一些用户控件,我将它们用作简单的 HTML,也就是说,没有任何代码隐藏。
我有一个控件,我有一个具有固定 ID 的元素,我用一些 jQuery 客户端脚本指向它。例如:
这很好用,没有任何问题。但是这样做有一个副作用。事实上,如果我在我的页面上添加相同用户控件的两个实例,我将拥有两个具有相同 ID 的元素。
在您看来,处理这种情况的好方法是什么?
谢谢
java - java中的文本匹配名称
我有一个体育应用程序,队长可以在其中注册他的球队参加锦标赛。一年可以有多个锦标赛,每个锦标赛都需要注册。现在,我想在注册过程中支持以下内容
- 如果玩家已经参加过上一场比赛,那么应用程序需要重新使用现有的详细信息,而不是强制注册。
- 需要确保一名球员没有为两支球队效力。
我想知道我们如何才能最好地实现名称匹配功能。它有任何区别,大多数名字都来自印度。
我使用 Neo4j 作为数据存储。
r - R函数替换SAS中的SPEDIS
SAS 中的 SPEDIS 函数计算成本如下(示例):
例子
我正在寻找做同样事情的 R 函数。需要帮忙。
haskell - 如何正确匹配子目录中的文件名?
我目前正在阅读Real World Haskell这本书,本书中的一个练习要求读者使用 实现文件名匹配**
,这与 相同*
,但也一直在文件系统中的子目录中查找。下面是我的带有注释的代码片段(目前有很多重复),再往下你可以找到有关代码的更多信息。我认为贴出的代码足以解决问题,这里不需要列出整个程序。
附加信息:
pat
是我正在寻找的模式(例如*.txt
或C:\\A\[a-z].*
)。
splitFileName
是将文件路径拆分为目录路径和文件名的函数。如果我们只指定一个文件名,元组的第一个元素将为空pat
。
searchSubDirs
True
如果文件名中有则返回**
。
listMatches
返回与目录中的模式匹配的文件名列表,替换**
为*
.
namesMatching
是我发布其摘录的函数的名称。
为什么它不起作用?
当我只传递文件名时,程序只在当前目录和第一级子目录中搜索它。当我传递完整路径时,它仅在指定目录中搜索。看起来 case(dirName, baseName)
没有正确递归。我一直在查看代码一段时间,但我无法弄清楚问题出在哪里。
笔记
如果需要更多信息,请在评论中告诉我,我会在问题中添加任何必要的内容。