2

レーベンシュタインのパーセンテージを決定するときに、入力文字列と一致する文字列の両方を使用する必要がある理由を説明できますか?

$str1len = strlen($str1);        
$str2len = strlen($str2);    
if($str1len < $str2len){    
    $pct = ($str1len - $lev) / $str1len;    
} else {    
    $pct = ($str2len - $lev) / $str2len;    
}   
$pct = $pct * 100;      
4

1 に答える 1

2

パーセンテージだからです。ある数値を別の数値と比較する必要があります。

レーベンシュタイン距離は、最初の文字列を 2 番目の文字列に変更するために必要な 2 つの文字列間の単一文字の変更の数です。パーセンテージは、元の文字の何人が変更されたかです。たとえばレフ。10 文字の単語での距離 2 (20%) は、レベルよりも小さいパーセンテージです。両方のlev. 距離は同じです。

于 2011-02-14T02:34:27.010 に答える