データ接続と統合Pipeline Builder Expressions編集距離

注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

編集距離

サポート対象:バッチ、高速、ストリーミング

2つの文字列間の編集距離を計算します。レーベンシュタイン距離、挿入・削除距離、ダメラウ・レーベンシュタイン距離をサポートします。

式のカテゴリー: 距離測定、文字列

宣言された引数

  • 距離関数: 2つの文字列間の編集距離を計算するために使用する距離関数です。
    Enum<ダメラウ・レーベンシュタイン距離, 挿入・削除距離, レーベンシュタイン距離>
  • 大文字と小文字を区別しない: 左と右の文字列を比較するときに、大文字と小文字の違いを無視するかどうかを指定します。
    リテラル<ブール値>
  • 左: 比較する左の文字列です。
    式<文字列>
  • 右: 比較する右の文字列です。
    式<文字列>
  • 任意 距離の正規化: 距離を0から1の間の値に正規化するかどうかを指定します。0は文字列間に違いがないことを、1は類似性がないことを意味します。
    リテラル<ブール値>

出力タイプ: Double | Integer

例

例1:基本ケース

説明: レーベンシュタイン距離を使用して計算した文字列の編集距離です。

引数の値:

  • 距離関数: levenshtein
  • 大文字と小文字を区別しない: false
  • 左: left
  • 右: right
  • 距離の正規化: false
leftright出力
hellohello0
hallohello1
hlelohello2
hellohEllO2
hellohello, world!8
hellofarewell6

例2:基本ケース

説明: 大文字と小文字を区別しない設定を true にすると、大文字と小文字が異なる文字を同じ文字として扱います。ここでは、ダメラウ・レーベンシュタイン距離を使用して計算しています。

引数の値:

  • 距離関数: damerau_levenshtein
  • 大文字と小文字を区別しない: true
  • 左: left
  • 右: right
  • 距離の正規化: false
leftright出力
hellohello0
hallohello1
hlelohello1
hellohEllO0
hellohello, world!8
hellofarewell6

例3:基本ケース

説明: 正規化を true に設定すると、編集距離が0から1の間の値に正規化されます。ここでは、挿入・削除距離を使用して計算しています。

引数の値:

  • 距離関数: indel
  • 大文字と小文字を区別しない: false
  • 左: left
  • 右: right
  • 距離の正規化: true
leftright出力
hellohello0.0
hallohello0.2
hlelohello0.2
hellohEllO0.4
hellohello, world!0.4444444444444444
hellofarewell0.5384615384615384

例4:Null ケース

引数の値:

  • 距離関数: levenshtein
  • 大文字と小文字を区別しない: false
  • 左: left
  • 右: right
  • 距離の正規化: false
leftright出力
hellonullnull
nullhellonull
nullnullnull