gpt4 book ai didi

duplicates - 重复消除相似公司名称

转载 作者:行者123 更新时间:2023-12-03 23:18:12 26 4
gpt4 key购买 nike

我有一张公司名称表。由于人为输入错误,存在许多重复项。如果应该包括分割,错别字等,会有不同的看法。 我希望所有这些重复项都标记为一个公司“1c”:

+------------------+
| company |
+------------------+
| 1c |
| 1c company |
| 1c game studios |
| 1c wireless |
| 1c-avalon |
| 1c-softclub |
| 1c: maddox games |
| 1c:inoco |
| 1cc games |
+------------------+

我认了 Levenshtein distance作为消除错别字的好方法。然而,当添加分割时,Levenshtein 距离急剧增加,不再是一个很好的算法。这样对吗?

总的来说,我在计算语言学方面几乎没有任何经验,所以我不知道应该选择什么方法。

你会推荐什么算法来解决这个问题? 我想在java中实现它。纯 SQL 也可以。链接到来源将不胜感激。谢谢。

最佳答案

这是一个难题。一个可能对您有帮助的神奇搜索关键字是“ 规范化 ” - 虽然有时它的含义非常不同(例如,“数据库规范化”是不相关的),但您实际上是在尝试规范您的输入。

一个简单的解决方案是将 Levenshtein 距离与 token 感知结合使用。 Python 库 Fuzzy Wuzzy 执行此操作,并且 this blog post介绍它如何与激励示例一起工作。基本思想很简单,您应该能够毫不费力地在 Java 中实现它。

在高层次上,这个想法是将输入分成空格和标点符号上的标记,然后对标记进行排序并将它们视为一个集合,然后使用集合的交集大小(允许模糊匹配)作为度量。

一些相关链接:

  • Are there any good libraries available for doing normalization of company names? - Open Data Stack Exchange
  • NEMO: Extraction and normalization of organization names from PubMed affiliation strings
  • Automatic gazetteer enrichment with user-geocoded data - 对于地名,这基本上会创建一个“真实”名称列表,然后使用模糊查找。
  • Normalizing company names with SPARQL and DBpedia - bobdc.blog - 使用维基百科重定向信息。
  • 关于duplicates - 重复消除相似公司名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44725930/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com