我在一个存储桶中有一组类似的字符串,并且有多个这样的存储桶。我应该在字符串上使用什么样的函数来比较随机字符串和存储桶以找出它属于哪个存储桶?
为了澄清存储桶中的每个实体,它是一个可以包含多个单词的句子。
一个例子:
考虑桶中的字符串列表:
1.圆领黑色T恤
2.印花T恤衫
3.棕色polo T恤
如果我们输入“蓝色高领T恤”,我们想检查是否可以将其添加到同一个桶中。这可能是一个更简单的例子,但考虑这样做可以说100个字符串。
对文章或论文的任何引用都会非常有用。
答案 0 :(得分:1)
首先,我在思考两种相似之处:句法和语义。
1)语法
2)语义
要了解更多详情,您应该告诉我们您需要什么样的相似性。
<强> [编辑] 强>
根据提供的信息,我认为您可以这样做:
1)将所有字符串拆分为单词=&gt;随机字符串将命名为Array1和当前存储桶Array2
2)计算相似度为number_of_common_words(Array1,Array2)/ count(Array2)
3)选择最大相似度
通过在位置匹配中添加点,也可以提高特异性:Array1 [i] = Array2 [i]
为了获得更好的性能,我会将存储桶存储为哈希表,字典等,以便在O(1)中完成存在检查。