0

2つの文字列間の距離(または類似性)を計算するためにPerlで記述されたJaro-Winklerモジュールに興味があります。

http://search.cpan.org/~scw/Text-JaroWinkler-0.1/JaroWinkler.pm

関数の構文は私にはわかりません。私はそれの明確な文書を見つけることができませんでした。

サンプルコードは次のとおりです。

#!/usr/bin/perl

use 5.10.0;
use Text::JaroWinkler qw( strcmp95 );
print strcmp95("it is a dog","i am a dog.",11);

11は正確に何を表していますか?長さだと思います。どの長さですか?チェックしたい文字数の長さは?そこにいる必要がありますか?

4

1 に答える 1

2

質問への回答については、ソースを参照してください。次の行が含まれています。

$ying = sprintf("%*.*s", -$y_length, $y_length, $ying);

その$y_lengthため、文字列を再フォーマットし、必要に応じてパディングし、同じ長さにトリミングするために使用されています。これらの等しい長さの文字列は、実際の比較関数に渡されます。これは、アレックスが正しく、長さを指定すると、max(length $ying, length $yang)ほとんどの状況で最良の結果が得られることを示しています。

$y_lengthソースを読むと、提供に失敗した場合、デフォルトが提供されないこともわかります。したがって、空の文字列と空の文字列を比較します。それらはかなり短いJW距離を持つべきです。

于 2013-02-22T03:23:59.823 に答える