我正在使用Smith-Waterman算法运行一些字符串匹配测试。我目前正在使用SimMetrics(Java开源项目)来运行测试。
当我比较'Bloggs J.'时,有谁可以解释为什么到'Bloggs'我的相似度值为1.0?
显然存在差距(例如'o'和'。'),但它似乎没有受到惩罚。
提前谢谢。
答案 0 :(得分:5)
Smith-Waterman Algorithm是本地对齐算法。这意味着它设计用于对齐好的字符串的件,而不是对齐整个字符串。你所说的“差距”不应该被视为差距,因为它被认为是在对齐区域之外发生的。没有长度为'Bloggs'的字符串可能更好地与'Bloggs J'对齐。比'博格'做的。如果您想要全局对齐,则应使用Needleman-Wunsch Algorithm代替。