Bergvca/string_grouper
Super Fast String Matching in Python
해결하는 문제
하나 이상의 리스트 내에서 유사한 문자열을 찾고 그룹화하는 과정을 단순화하고 가속화합니다. 문자열에 미세한 차이가 있지만 동일한 실체를 나타내는 대규모 데이터셋의 중복 제거에 특히 유용합니다 (퍼지 매칭).
작동 방식
이 라이브러리는 문자열 간의 코사인 유사도를 계산하기 위해 tf-idf를 사용합니다. 대규모 데이터셋에서 높은 성능을 달성하기 위해 Rust 기반의 희소 행렬 곱셈 백엔드 (sp_matmul_rs)를 활용하여 수십만 개의 문자열을 몇 초 내에 처리할 수 있습니다.
대상 사용자
대규모 텍스트 데이터셋을 다루며 효율적인 퍼지 매칭과 문자열 중복 제거가 필요한 데이터 과학자 및 개발자입니다.
주요 기능
- 고속 성능: 소비자용 하드웨어에서 663,000개의 이름을 18초 미만으로 퍼지 매칭 가능.
- 그래프 기반 그룹화: 문자열 간의 간접적 연결을 해결하여 일관된 그룹을 형성 가능.
- 중심점 식별: 각 그룹에 대한 대표적인 '중심점' 문자열을 결정 가능.
- 유연한 백엔드: 최신 Rust 구현과 원래의
sparse_dot_topn백엔드 모두 지원.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트