Bergvca/string_grouper

Super Fast String Matching in Python

解决的问题

简化并加速在一个或多个列表中查找和分组相似字符串的过程。这对于需要对存在细微差异(模糊匹配)但代表同一实体的大规模数据集进行去重时特别有用。

工作原理

该库使用 tf-idf 计算字符串之间的余弦相似度。为了在大规模数据集上实现高性能,它利用基于 Rust 的稀疏矩阵乘法后端(sp_matmul_rs),能够在数秒内处理数十万条字符串。

适用人群

需要对大规模文本数据集进行高效模糊匹配和字符串去重的数据科学家和开发者。

主要特性

  • 高速性能:在消费级硬件上,可在 18 秒内完成 663,000 个姓名的模糊匹配。
  • 基于图的分组:能够解析字符串之间的间接关联,形成连贯的分组。
  • 中心点识别:为每个分组确定一个代表性的「中心点」字符串。
  • 灵活的后端支持:同时支持现代 Rust 实现和原始的 sparse_dot_topn 后端。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目