考虑我有一个
string1 = "hello hi goodmorning evening [...]"
我有一些次要关键字
compare1 = "hello evening"
compare2 = "hello hi"
我需要一个函数来返回文本和关键字之间的亲和力。例子:
function(string1,compare1); // returns: 4
function(string1,compare2); // returns: 5 (more relevant)
请注意 5 和 4 只是示例。
你可以说 - 编写一个计算出现次数的函数 - 但对于这个例子,这不起作用,因为两者都出现了 2 次,但 compare1 不太相关,因为在 string1 中没有完全找到“hello night”(hello 和 night 这两个词是比你好你好)
有没有已知的算法可以做到这一点?
添加1:
在这种情况下,像编辑距离这样的算法将不起作用。因为 string1 是一个完整的文本(如 300-400 个单词),并且比较字符串最多为 4-5 个单词。