Jaro–winkler 유사성에 대한 소개(정의 및 예)


통계에서 Jaro-Winkler 유사성은 두 문자열 간의 유사성을 측정하는 방법입니다.

두 문자열 간의 Jaro 유사성 (sim j )은 다음과 같이 정의됩니다.

시뮬레이션 j = 1/3 * (m /|s 1 | + m/|s 2 | + (mt)/m )

금:

  • m : 일치하는 문자 수
    • s 1 과 s 2 의 두 문자가 동일하고 서로 [max(|s 1 |, |s 2 |) / 2] – 1 문자보다 크지 않으면 일치하는 것으로 간주됩니다.
  • |s 1 | , |s 2 | : 각각 첫 번째와 두 번째 문자열의 길이
  • t : 전치 횟수
    • 일치하는 문자 수(그러나 순서는 다름)를 2로 나눈 값으로 계산됩니다.

Jaro-Winkler 유사성 (sim w )은 다음과 같이 정의됩니다.

w = 심 j + lp(1 – 심 j )

금:

  • sim j : 두 문자열 s 1 과 s 2 사이의 Jaro 유사성
  • l : 문자열 시작 부분의 공통 접두어 길이(최대 4자)
  • p : 점수가 공통 접두사를 갖도록 상향 조정되는 정도를 나타내는 배율 인수입니다. 일반적으로 이는 p = 0.1로 정의되며 p = 0.25를 초과해서는 안 됩니다.

두 문자열 사이의 Jaro-Winkler 유사성은 항상 0과 1 사이입니다. 여기서:

  • 0은 문자열 사이에 유사성이 없음을 나타냅니다.
  • 1은 문자열이 정확히 일치함을 나타냅니다.

참고 : Jaro-Winkler 거리는 1 – sim w 로 정의됩니다.

다음 예에서는 실제로 두 문자열 간의 Jaro-Winkler 유사성을 계산하는 방법을 보여줍니다.

예: 두 문자열 간의 Jaro-Winkler 유사성 계산

다음과 같은 두 개의 문자열이 있다고 가정합니다.

  • 채널 1(s 1 ): 마우스
  • 채널 2(s 2 ): 음소거

먼저, 이 두 문자열 간의 Jaro 유사성을 계산해 보겠습니다.

시뮬레이션 j = 1/3 * (m /|s 1 | + m/|s 2 | + (mt)/m )

금:

  • m : 일치하는 문자 수
    • s 1 과 s 2 의 두 문자가 동일하고 서로 [max(|s 1 |, |s 2 |) / 2] – 1 문자보다 크지 않으면 일치하는 것으로 간주됩니다.

이 경우 [max(|s 1 |, |s 2 |) / 2] – 1은 5/2 – 1 = 1.5로 계산됩니다. m, u, e라는 세 개의 문자를 해당 문자로 정의합니다. 따라서 m = 3 입니다.

  • |s 1 | , |s 2 | : 각각 첫 번째와 두 번째 문자열의 길이

이 경우 |s 1 | = 5|s 1 | = 4 .

  • t : 전치 횟수
    • 일치하는 문자 수(그러나 순서는 다름)를 2로 나눈 값으로 계산됩니다.

이 경우 일치하는 문자가 세 개 있지만 이미 동일한 순서로 되어 있으므로 t = 0 입니다.

따라서 Jaro 유사성을 다음과 같이 계산합니다.

시뮬레이션 j = 1/3 * (3/5 + 3/4 + (3-0)/3) = 0.78333.

다음으로 Jaro-Winkler 유사성(sim w )을 다음과 같이 계산해 보겠습니다.

w = 심 j + lp(1 – 심 j )

이 경우 다음을 계산합니다.

시뮬레이션 w = 0.78333 + (1)*(0.1)(1 – 0.78333) = 0.805.

두 체인 간의 Jaro-Winkler 유사성은 0.805 입니다.

이 값은 1에 가까우므로 두 문자열이 매우 유사하다는 것을 알 수 있습니다.

R의 두 문자열 간의 Jaro-Winkler 유사성을 계산하여 이것이 올바른지 확인할 수 있습니다.

 library (stringdist)

#calculate Jaro-Winkler similarity between 'mouse' and 'mute'
1 - stringdist("mouse", "mute", method = "jw", p= 0.1 )

[1] 0.805

이는 우리가 수동으로 계산한 값과 일치합니다.

추가 리소스

다음 튜토리얼에서는 기타 유사성 측정항목을 계산하는 방법을 설명합니다.

Bray-Curtis의 차이점 소개
Jaccard 유사성 지수 소개

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다