Bergvca/string_grouper

Super Fast String Matching in Python

何を解決するか

1つ以上のリスト内の類似した文字列を検出し、グループ化するプロセスを簡素化し、高速化します。これは、わずかな変化(曖昧マッチング)があるものの同じエンティティを表す文字列を含む大規模データセットの重複削除に特に役立ちます。

動作方法

このライブラリは、文字列間のコサイン類似度を計算するためにtf-idfを使用します。大規模データセットでの高速処理を実現するために、Rustベースの疎行列乗算バックエンド(sp_matmul_rs)を活用しており、数10万件の文字列を数秒で処理できます。

対象ユーザー

大規模なテキストデータセットを扱い、効率的な曖昧マッチングと文字列の重複削除が必要なデータサイエンティストや開発者です。

特徴

  • 高速性: 消費者向けハードウェアで663,000件の名前を18秒未満で曖昧マッチング可能。
  • グラフベースのグループ化: 文字列間の間接的な関連を解消し、一貫性のあるグループを形成可能。
  • 重心の特定: 各グループの代表的な「重心」文字列を決定可能。
  • 柔軟なバックエンド: 現代的なRust実装と元のsparse_dot_topnバックエンドの両方をサポート。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト