标准化的字数统计比较

时间:2017-04-28 04:48:35

标签: javascript python nlp word-count

是否有标准计算来比较两个无序的单词串。

虽然我认为我正在进行一系列的比较,但我可以通过最高分来规范化,但是对于我的特定提议,这将是低效的。

示例:

c1 = magicFunc("big truck red", "big red truck")
c2 = magicFunc("big red truck", "big red truck")
c3 = magicFunc("big red red truck", "big red truck")
c4 = magicFunc("big blue truck", "big red truck")

c1,c2和c3得分较高"比c4 我对c2和c3有点无动于衷(但c3应该更高),而c1应该等于c2,因为顺序并不重要。

2 个答案:

答案 0 :(得分:0)

你应该看看_.uniq

你可以使用该函数然后编写magicFunc来比较2个字符串,方法是将它们转换为数组并将它们传递给_.uniq

您也可以通过.map.reduce .split字符串来实现自己的。我可能会从lodash开始,看看它带我去哪里。

答案 1 :(得分:0)

用它来刺伤它:

from collections import Counter

def magicFunc(str1, str2):
    bag1, bag2 = Counter(str1.split()), Counter(str2.split())
    overlap = bag1 & bag2
    return sum(overlap.values())

在您提供的输入上,分数分别为3,3,3和2.