相似公司名称重复剔除
Duplicate elimination of similar company names
我有一个带有公司名称的 table。由于人为输入错误,有很多重复项。是否应该包括细分,错别字等,有不同的看法。我希望所有这些重复都标记为一个公司“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 也可以。链接到来源将不胜感激。谢谢
这是一道难题。 “normalization”可能对您有帮助在此处输入。
一个简单的解决方案是使用具有标记意识的 Levenshtein 距离。 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 - 对于地名,这基本上创建了一个 "true" 名称列表,然后使用模糊查找。
- Normalizing company names with SPARQL and DBpedia - bobdc.blog - 使用维基百科重定向信息。
我有一个带有公司名称的 table。由于人为输入错误,有很多重复项。是否应该包括细分,错别字等,有不同的看法。我希望所有这些重复都标记为一个公司“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 也可以。链接到来源将不胜感激。谢谢
这是一道难题。 “normalization”可能对您有帮助在此处输入。
一个简单的解决方案是使用具有标记意识的 Levenshtein 距离。 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 - 对于地名,这基本上创建了一个 "true" 名称列表,然后使用模糊查找。
- Normalizing company names with SPARQL and DBpedia - bobdc.blog - 使用维基百科重定向信息。