gpt4 book ai didi

perl: Text::Fuzzy,不同的字符串给出相同的编辑距离?

转载 作者:行者123 更新时间:2023-12-01 05:46:08 25 4
gpt4 key购买 nike

检查 $barcode 和两个字符串之间的距离,第一个字符串在前面有相同的 12 个字符,另一个完全不同但都给出相同的距离?

#!/usr/bin/perl
use warnings;
use strict;
use Text::Fuzzy;
my $barcode = "TCCCTTGTCTCC";

foreach my $line1 (<DATA>) {
print "New string\n";
print "Barcode length:", length $barcode, "\nSequence length:",
length $line1, "\n";
my $tf = Text::Fuzzy->new($barcode);
my $ed = $tf->distance($line1);
print "Edit distance: ", $ed ,"\n\n";
}

__DATA__
TCCCTTGTCTCCCCTGATATCCTGTAAAATCCTTTTCTTCTGATGGGTGCCATTTGCCACTAGAGGAAGCTGAACAGACCTGACTACCTGGA
GACGAGACTGATCACCTGATATCCTGTAAAATCCTTTTCTTCTGATGGGTGCCATTTGCCACTAGAGGAAGCTGCAGACCTGACTACCTGGA

输出:

New string
Barcode length:12
Sequence length:93
Edit distance: 81

New string
Barcode length:12
Sequence length:93
Edit distance: 81

最佳答案

这似乎是正确的,因为子序列的所有字符都出现在较长的序列中,两者都具有相同的 Levenshtein 编辑距离。之所以如此,是因为它所需要的只是删除以将较长的序列转换为较短的序列

示例:

artic => arc 编辑距离2,即删除2arche => arc 将具有相同的编辑距离 2,即删除 2

关于perl: Text::Fuzzy,不同的字符串给出相同的编辑距离?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37473924/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com