【发布时间】:2014-04-14 20:02:26
【问题描述】:
我有一个字符串列表作为查询和数百个其他字符串列表。我想将查询与其他所有列表进行比较,并提取它们之间的相似度分数。
例子:
query = ["football", "basketball", "martial arts", "baseball"]
list1 = ["apple", "football", "basketball court"]
list2 = ["ball"]
list3 = ["martial-arts", "baseball", "banana", "food", "doctor"]
我现在正在做的,我对结果不满意的是他们的绝对比较。
score = 0
for i in query:
if i in list1:
score += 1
score_of_list1 = score*100//len(list1)
我找到了一个可以帮助我的库fuzzywuzzy,但我在想你是否有其他建议。
【问题讨论】:
-
我不明白您的解决方案有什么问题。你想要什么样的比较?也许举一个你会接受的结果的例子,以及它如何更好。
-
正如我所说,因为这是一个绝对的比较,我没有高分。所以,我正在寻找另一种可能会提高分数的解决方案。
-
你的意思是你想要一种比较字符串的方法,而不是列表。我说的对吗?
-
是的,但最终得分将在列表之间。就像我的问题中的示例一样。我比较字符串,然后根据字符串比较结果计算列表之间的分数。
标签: python comparison string-comparison similarity fuzzy-comparison