문자열 편집 거리
| 항목 | 값 |
|---|---|
| 화면 이름 | Edit distance |
| 식별자 | levenshteinDistanceV2 |
| 지원 실행 방식 | Batch, Faster, Streaming |
| 범주 | 유사도와 거리 (Distance measurement), 문자열 (String) |
| 반환 자료형 | Double | Integer |
두 문자열의 편집 거리를 계산합니다. Levenshtein, indel, Damerau-Levenshtein 거리를 지원합니다.
입력 인자
| 이름 | 지정 여부 | 자료형 | 의미와 조건 |
|---|---|---|---|
Distance function | 필수 | Enum<Damerau-Levenshtein Distance, Indel Distance, Levenshtein Distance> | 두 문자열의 편집 거리를 계산할 거리 함수입니다. |
Ignore case | 필수 | Literal<Boolean> | 좌우 문자열 비교에서 대소문자를 무시할지 지정합니다. |
Left | 필수 | Expression<String> | 비교할 왼쪽 문자열입니다. |
Right | 필수 | Expression<String> | 비교할 오른쪽 문자열입니다. |
Normalize distance | 선택 | Literal<Boolean> | 거리를 0~1로 정규화할지 지정합니다. 0은 차이가 없음, 1은 유사성이 없음을 뜻합니다. |
입출력 예시
예시 1: 기본 동작
Levenshtein 거리로 문자열 편집 거리를 계산합니다.
인자 값:
Distance function:levenshteinIgnore case: falseLeft:leftRight:rightNormalize distance: false
| left | right | 출력 |
|---|---|---|
| hello | hello | 0 |
| hallo | hello | 1 |
| hlelo | hello | 2 |
| hello | hEllO | 2 |
| hello | hello, world! | 8 |
| hello | farewell | 6 |
예시 2: 기본 동작
ignore case를 true로 두면 대소문자가 달라도 같은 문자로 취급합니다. 이 예시는 Damerau-Levenshtein 거리를 사용합니다.
인자 값:
Distance function:damerau_levenshteinIgnore case: trueLeft:leftRight:rightNormalize distance: false
| left | right | 출력 |
|---|---|---|
| hello | hello | 0 |
| hallo | hello | 1 |
| hlelo | hello | 1 |
| hello | hEllO | 0 |
| hello | hello, world! | 8 |
| hello | farewell | 6 |
예시 3: 기본 동작
normalize를 true로 두면 편집 거리를 0~1로 정규화합니다. 이 예시는 indel 거리를 사용합니다.
인자 값:
Distance function:indelIgnore case: falseLeft:leftRight:rightNormalize distance: true
| left | right | 출력 |
|---|---|---|
| hello | hello | 0.0 |
| hallo | hello | 0.2 |
| hlelo | hello | 0.2 |
| hello | hEllO | 0.4 |
| hello | hello, world! | 0.4444444444444444 |
| hello | farewell | 0.5384615384615384 |
예시 4: null 처리
인자 값:
Distance function:levenshteinIgnore case: falseLeft:leftRight:rightNormalize distance: false
| left | right | 출력 |
|---|---|---|
| hello | null | null |
| null | hello | null |
| null | null | null |