MarkLogic-检测相似/重复的名称

MarkLogic-检测相似/重复的名称,marklogic,Marklogic,我有许多不同来源的文件。他们中的许多人引用一个公司名称,但可能存储的信息略有不同。名称是文档中的一个字段 我希望能够检测到相同名称的变体,例如: 阿贾克斯公司 阿贾克斯公司 阿贾克斯公司 阿贾克斯公司 阿贾克斯公司(前身为阿贾克斯无限公司) 等 MarkLogic是否有任何工具可以查询具有上述“类似”名称的文档?我不确定是否有一个更专业的术语,我应该搜索。最好是针对节点客户端API或服务器端js。您可以尝试或组合以下几种选项: 使用同义词库扩展将对其中一个术语的搜索扩展到任何其他术语。您可

我有许多不同来源的文件。他们中的许多人引用一个公司名称,但可能存储的信息略有不同。名称是文档中的一个字段

我希望能够检测到相同名称的变体,例如:

  • 阿贾克斯公司
  • 阿贾克斯公司
  • 阿贾克斯公司
  • 阿贾克斯公司
  • 阿贾克斯公司(前身为阿贾克斯无限公司)

MarkLogic是否有任何工具可以查询具有上述“类似”名称的文档?我不确定是否有一个更专业的术语,我应该搜索。最好是针对节点客户端API或服务器端js。

您可以尝试或组合以下几种选项:

  • 使用同义词库扩展将对其中一个术语的搜索扩展到任何其他术语。您可以在使用
    owl:sameAs
    triples的地方使用语义,也可以使用MarkLogic
  • 通过在上述同义词库或本体中反向查找,在摄取时规范化数据。您可以潜在地标记已找到的匹配项,并将规范化名称添加为对规范化术语进行搜索的属性。您将以相同的方式规范化搜索词
  • 在ingest时在名称中的每个标记上使用,并在搜索词上使用这些标记而不是真实名称进行搜索
在本例中,搜索词扩展听起来最直接,尤其是因为您所谈论的只是“Company”和“Incorporated”等词的拼写差异


我认为我需要进行规范化(出于其他一些原因)。你知道我在哪里可以找到这样做的代码样本吗?也许对你有用。您可以使用它在文档中查找和迭代匹配项,并用它标记和/或替换找到的文本。你可以用它做一些非常疯狂的事情,就像这里描述的: