UTL_MATCH
パッケージによって、2つのレコードを簡単に照合できるようになります。通常、このパッケージは、2つの姓、2つの名などの名前を照合する場合に使用されます。
この章では、次の項目について説明します。
概要
セキュリティ・モデル
「編集距離」は、「レーベンシュタイン距離」(1965年にこのアルゴリズムを考案したロシアの科学者Vladimir Levenshteinにちなんだ呼称)とも呼ばれ、2つの文字列s1とs2の類似度を示す値です。距離は、s1をs2に変換するために必要となる挿入、削除または置換の回数のことです。
The Edit Distance between strings "shackleford" and "shackelford" = 2
2つの文字列の編集距離を計算する別の方法には、「Jaro-Winklerアルゴリズム」があります。これは米国勢調査局で開発された方法で、2つの文字列の部分的な類似度を数値化する、文字列コンパレータによる測定法です。文字列コンパレータでは、文字列長が示され、英数字文字列内の一般的な人為的エラーが部分的に示されます。
表231-1に、Jaro-WinklerアルゴリズムおよびEdit Distanceアルゴリズムによって戻される類似度の値を示します。
表231-2 DBMS_ALERTパッケージのサブプログラム
サブプログラム | 説明 |
---|---|
|
string-1をstring-2に変換するために必要となる変更の回数を計算します。 |
EDIT_DISTANCE_SIMILARITYファンクション |
string-1をstring-2に変換するために必要となる変更の回数を計算し、0(一致なし)から100(完全一致)の範囲で値を戻します。 |
|
string-1とstring-2の一致度を計算します。 |
JARO_WINKLER_SIMILARITYファンクション |
string-1とstring-2の一致度を、0(一致なし)から100(完全一致)の範囲で計算します。 |
このファンクションは、string-1をstring-2に変換するために必要となる挿入、削除または置換の回数を計算し、2つの文字列の編集距離を正規化された値で戻します。通常、値は0(一致なし)から100(完全一致)の範囲となります。