gpt4 book ai didi

javascript - 寻找更好的javascript文本匹配评分系统

转载 作者:行者123 更新时间:2023-11-30 18:40:15 25 4
gpt4 key购买 nike

我一直在使用 String Score对于很多项目。它非常适合对列表进行排序,例如姓名、国家/地区等。

现在,我正在做一个项目,我想将一个术语与更大的文本集相匹配,而不仅仅是几个单词。比如,一段。

给定以下两个字符串:

string1 = "I want to eat.";
string2 = "I want to eat. Let's go eat. All this talk about eating is making me hungry. Ready to eat?";

我希望术语 eat 返回的 string2 高于 string1。但是,string1 得分更高:

string1.score('eat');
> 0.5261904761904762

string2.score('eat');
> 0.4477777777777778

也许我认为 string2 应该得分更高的想法是错误的,如果这是您的逻辑,我很乐意听到关于该逻辑的争论。否则,关于更符合上下文的 javascript 匹配算法有什么想法吗?

最佳答案

如果 score 没有考虑重复,那么 string2 中只有一次 "eat" 会添加到分数中,所以其他“eat” 的出现被视为不匹配的垃圾,计入总分。

许多字符串相似性指标都以这种方式表现,例如在 Edit distance不匹配的字符越多,得分越低,重复被视为不匹配。

阅读 source 后我不清楚它使用的是什么算法,但是得分变量

var total_character_score = 0,
start_of_string_bonus,
abbreviation_score,
fuzzies=1,
final_score;

似乎没有考虑多次重复。

如果你想计算多次出现,那么听起来你想要的不是字符串相似性算法,而是 fuzzy match algo这样您就可以找到匹配项的数量。

也许 yeti witch会为你工作。

关于javascript - 寻找更好的javascript文本匹配评分系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7058664/

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