chr*_*con 5 php levenshtein-distance
我正在研究php的levenshtein函数,即使在提交的搜索词中存在拼写错误,也可以在小型redis实例中创建搜索以获得匹配.虽然大部分内容都是自我解释,但我很难弄清楚如何最好地使用这三个不同的cost参数.
int levenshtein ( string $str1 , string $str2 , int $cost_ins , int $cost_rep , int $cost_del )
Run Code Online (Sandbox Code Playgroud)
文档中有一个简短的解释
第二个变体将采用三个附加参数来定义插入,替换和删除操作的成本.这比变体1更通用和自适应,但效率不高.
但这并不能解决我的理解.有人可以解释我如何使用成本参数来改善结果/性能吗?
在机器学习中,成本函数是您试图最小化以获得最佳结果的函数。例如,当机器执行步骤 A、B 和 C 时,成本函数将计算执行这些步骤的“成本”。术语“成本”与一个数学函数相关,该函数将评估结果的性能。
例如,当计算机执行步骤 B、C 和 A 时,成本函数会告诉您是否获得了比上一步更好或最差的结果。
阅读文档,您可以看到
编辑距离定义为将 str1 转换为 str2 所需替换、插入或删除的最小字符数。
这就是你的成本函数:最小化替换、删除和插入方面的距离。
每次算法必须执行其中一项任务时,都会增加该操作的一项成本。最后 3 个参数可让您决定每个操作的值。比较结束时,您将得到最终值,即函数的成本。如果该值小于定义的阈值,则与假设函数返回 true 相同。如果结果大于您的阈值,则意味着它的成本高于您允许一个字符串等于另一个字符串的成本。
| 归档时间: |
|
| 查看次数: |
618 次 |
| 最近记录: |