好吧,我有点理解这在理论上是如何使用的,但我实际上如何将它放入程序中,因为我看到的所有示例都不在代码中我不要求代码写出一点提示让我朝着正确的方向前进,所以在下面的例子中
#include<string>
#include< iostream>
using namespace std;
string User = " Hey how are you ";
int main()
{
if( User == " how are you")
{
cout << " Hello" << endl;
}
else
{
cout<< " unknown input" << endl;
}
}
我如何将 Levenshtein 距离放入该程序中,以便即使“嘿”位于其余部分的前面,程序仍会将其读取为正确的输入。
最佳答案
您可以使用该算法确定两个字符串之间的编辑距离,如果该距离小于某个阈值,您将认为它是匹配的。诀窍是确定阈值。
我没有玩过这么多,但想到的一个选择是,如果编辑距离小于两个字符串中最长字符串的长度的特定百分比,则认为匹配。不是很科学,但可以作为进一步研究的起点。
关于c++ - 如何使用 Levenshtein 距离字符串度量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23462197/