문자열 유사도
Levenshtein, Jaro-Winkler, 코사인, Jaccard, 해밍, Dice 등 여러 알고리즘으로 문자열 유사도를 즉시 비교. 100% 비공개.
문자열 유사도란 무엇인가요?
문자열 유사도는 두 텍스트가 얼마나 비슷한지를 측정합니다. 맞춤법 검사, DNA 분석, 표절 탐지, 데이터 중복 제거 등에 사용됩니다.
레벤슈타인 거리란 무엇인가요?
레벤슈타인 거리(편집 거리)는 한 문자열을 다른 문자열로 변환하는 데 필요한 최소 단일 문자 편집(삽입, 삭제, 대체) 횟수를 측정합니다. 예를 들어 "cat"과 "bat"의 거리는 1입니다.
자로 윙클러 유사도란 무엇인가요?
자로 윙클러는 공통 접두사를 공유하는 문자열에 더 높은 점수를 부여합니다. 데이터베이스에서 이름, 주소 매칭에 널리 사용됩니다.
코사인 유사도는 어떻게 작동하나요?
코사인 유사도는 문자열을 문자 n-gram으로 분할하고 벡터로 변환한 후 두 벡터 사이 각도의 코사인을 측정합니다. 긴 텍스트에 적합합니다.
코사인 유사도와 자카드 유사도의 차이는?
코사인 유사도는 n-gram 빈도 벡터를 사용하고 각도를 측정하며, 자카드 유사도는 n-gram 집합의 교집합/합집합 비율로 비교합니다. 자카드는 중복을 무시하지만 코사인은 무시하지 않습니다.
해밍 거리란 무엇인가요?
해밍 거리는 두 같은 길이 문자열에서 해당 위치의 문자가 다른 위치의 수를 셉니다. 같은 길이의 문자열에만 작동하며 오류 정정 부호에 사용됩니다.
Sørensen-Dice 계수란 무엇인가요?
Sørensen-Dice 계수는 두 문자열의 전체 바이그램 대비 공유 바이그램 수를 기반으로 유사도를 측정합니다. 자카드보다 공통 요소에 더 높은 가중치를 부여합니다.
어떤 알고리즘을 사용해야 하나요?
오타가 있는 짧은 문자열(이름, 코드)에는 레벤슈타인 또는 자로 윙클러를, 긴 텍스트에는 코사인 유사도를, 빠른 집합 비교에는 자카드를 사용하세요.
n-gram 분석이란 무엇인가요?
n-gram은 문자열에서 연속으로 추출된 n개의 문자입니다. 예를 들어 "hello"의 바이그램은 "he", "el", "ll", "lo"입니다. n-gram은 많은 유사도 알고리즘의 기초입니다.
퍼지 매칭이란 무엇인가요?
퍼지 매칭은 패턴과 정확히 일치하지 않고 대략 일치하는 문자열을 찾습니다. 검색 엔진, 맞춤법 검사, 데이터 정리에 사용됩니다.
데이터가 서버로 전송되나요?
아니요, 모든 계산은 브라우저에서 로컬로 수행됩니다. 텍스트가 기기를 떠나지 않습니다. 서버 측 처리나 데이터 저장이 없습니다.
다른 언어의 텍스트를 비교할 수 있나요?
네, 알고리즘은 모든 Unicode 문자에서 작동합니다. 다만 언어마다 문자 구조가 다르므로 결과가 달라질 수 있습니다.