유사 중복 검사기 수천 건의 명단도 빠짐없이 근사 중복을 찾아드립니다

1단계: 명단 붙여넣기 또는 업로드

💡 수천 건, 수만 건 규모의 명단도 처리 가능합니다. 길이 기반 버킷으로 비교 범위를 좁히고 진행률을 표시하므로 브라우저가 멈추지 않습니다.

.txt(한 줄에 한 건) 또는 .csv(각 행의 첫 번째 열 사용) 지원. 업로드 시 현재 입력 내용이 덮어씌워집니다

현재 0건 입력됨

2단계: 유사도 임계값 설정

값이 높을수록 더 엄격하게 비교하여 매우 유사한 문자열만 같은 그룹으로 묶입니다. 먼저 80%로 시도해 보는 것을 추천합니다

⚙️ 성능 최적화 안내: 먼저 문자열 길이로 안전하게 버킷을 나눠 '이론적으로 임계값에 도달할 가능성이 있는' 조합만 비교합니다. 이후 조기 종료가 적용된 Levenshtein 거리 알고리즘으로 정확한 유사도를 계산하여 대량 데이터의 연산량을 크게 줄이며, 비교 작업은 브라우저의 백그라운드 스레드(Web Worker)에서 처리되어 화면이 멈추지 않습니다.

유사 중복 검사기란?

이 도구는 '대량 명단'을 정리하기 위해 만들어진 무료 온라인 도구입니다. 회사명, 고객명, 주소, 이메일 등의 명단을 붙여넣거나 업로드하면 '비슷하지만 완전히 같지는 않은' 항목—예를 들어 같은 회사를 「Acme Corp.」「Acme Corporation」「Acme Crop」처럼 세 가지로 표기한 경우—을 자동으로 찾아 그룹으로 묶어 주어 데이터 정리 작업을 크게 줄여줍니다.

AI에게 물어보는 것만으로는 부족한 이유

명단이 수십 건 정도라면 AI의 의미 이해 능력으로도 명백한 중복 몇 개는 찾아낼 수 있습니다. 하지만 명단이 수천 건, 수만 건 규모로 커지면 AI가 한 번에 안정적으로 처리하고 대조할 수 있는 범위에는 한계가 있어 누락이나 중간 생략이 발생하기 쉽습니다. 이 도구는 브라우저의 JavaScript로 실제 전체 비교 알고리즘을 실행하고 길이 기반 사전 필터링을 결합하여, 데이터가 많아도 단 한 건도 빠짐없이 비교를 완료할 수 있습니다. 이는 의미 이해에만 의존하는 AI가 구조적으로 보장할 수 없는 부분입니다.

비교 알고리즘은 어떻게 작동하나요?

이 도구는 고전적인 레벤슈타인 거리(Levenshtein Distance) 알고리즘으로 두 문자열의 유사도를 계산합니다. 한 문자열을 다른 문자열로 바꾸는 데 필요한 삽입·삭제·치환의 최소 횟수가 적을수록 두 문자열이 더 유사하다고 판단합니다. 이 편집 거리는 0~100% 유사도 점수로 환산되며, 설정한 '유사도 임계값'을 초과하는 조합만 같은 근사 중복 그룹으로 묶입니다.

대량 데이터도 멈추지 않는 방법

  • 길이 버킷 사전 필터링: 문자열 길이로 정렬한 뒤, 길이 차이가 너무 큰 두 문자열은 수학적으로 높은 유사도에 도달할 수 없으므로 누락 위험 없이 안전하게 건너뜁니다.
  • 조기 종료 거리 계산: 비교 중 두 문자열의 차이가 이미 너무 크다고 확정되면 즉시 계산을 중단하여 전체 편집 거리 행렬을 계산하지 않습니다.
  • 백그라운드 스레드 처리: 비교 연산은 Web Worker에서 실행되며 실시간 진행률을 표시하므로, 수천 건의 데이터도 페이지가 멈추지 않고 처리됩니다.

이런 상황에 활용하세요

  • 고객 명단 정리: 여러 소스의 고객 명단을 통합할 때 수동 입력으로 생긴 표기 차이 중복을 찾아냅니다.
  • 거래처/회사명 비교: 구매·재무 시스템에서 같은 거래처가 여러 방식으로 표기된 경우를 찾아 통일합니다.
  • 이메일/주소 중복 제거: 마케팅 명단 통합 시 표기만 약간 다른 동일 인물 레코드를 찾아냅니다.
  • 데이터베이스 이전 전 점검: 새 시스템에 가져오기 전에 근사 중복을 정리하여 운영 데이터 오염을 방지합니다.

자주 묻는 질문 (FAQ)

Q1: 유사도 임계값은 몇 %로 설정해야 하나요?

절대적인 정답은 없습니다. 먼저 80%로 시도해 그룹 결과가 타당한지 확인한 뒤 조정하는 것을 추천합니다. 임계값을 너무 낮게 설정하면(60% 미만) 관련 없는 데이터까지 묶일 수 있고, 너무 높게 설정하면(95% 초과) 실제 중복을 놓칠 수 있습니다.

Q2: 이 도구가 제 명단을 서버로 전송하나요?

아닙니다. 모든 비교 연산은 사용자의 브라우저 안에서만 이루어지며 어떤 서버로도 데이터가 전송되지 않습니다. 고객 정보가 포함된 명단도 안심하고 처리할 수 있습니다.

Q3: 수만 건의 데이터도 정말 끝까지 처리되나요?

네. 길이 버킷 사전 필터링과 조기 종료 거리 계산으로 연산량을 크게 줄이고, 백그라운드 스레드로 처리하여 페이지가 멈추지 않습니다. 데이터가 많을수록 처리 시간은 길어지지만 항상 끝까지 완료되며, 진행률로 상태를 확인할 수 있습니다.

Q4: 한글 명단도 비교할 수 있나요?

네. 레벤슈타인 거리 알고리즘은 언어에 관계없이 작동하므로 한글, 영어, 숫자가 섞인 명단도 정확하게 유사도를 비교할 수 있습니다.