Jaro-Winkler 分数应该有多大才能说这两个字符串可能相似,是否有行业标准?
我有一个字符串列表,我想看看它们中的任何一个是否是詹姆斯这个名字的合理印刷错误。我使用了用 C 编写的 perl 模块,反过来,我从 stata 中的数据集中收到了它的字符串。(所以如果有一个Stata模块,我会全神贯注!)
这是到目前为止我在 perl 中编写的用于与字符串 James 进行比较的代码。
#!/usr/bin/perl
use 5.10.0;
use Text::JaroWinkler qw( strcmp95 );
use List::Util qw(min max);
open( my $l, '<', 'Strings.txt' ) or die "Can't open locations: $!";
open( my $o, '>', 'JW.txt' ) or die "Can't open locations: $!";
while ( my $line = <$l> ) {
chomp($line);
my $length = min(length($line),length('James'));
my $jarow = strcmp95($line, 'JAMES', $length);
print "$line,'JAMES',$jarow,\n" ;
print( $o ("$line,'JAMES',$jarow"),"\n" );
}
close $o;
我也不确定我是否正确或有效地解释了 Jaro-Winkler 函数的第三个参数。也许我应该做 length('JAMES') ?