我有两个列表:一、用户的利益;第二,关于一本书的关键词。我想根据用户给定的兴趣列表向用户推荐这本书。我正在使用SequenceMatcher
Python 库的类difflib
来匹配类似的单词,如“game”、“games”、“gaming”、“gamer”等。该ratio
函数给了我一个介于 [0,1] 之间的数字,说明 2 个字符串的相似程度. 但是我遇到了一个例子,我计算了“循环”和“射击”之间的相似性。结果是0.6667
。
for interest in self.interests:
for keyword in keywords:
s = SequenceMatcher(None,interest,keyword)
match_freq = s.ratio()
if match_freq >= self.limit:
#print interest, keyword, match_freq
final_score += 1
break
有没有其他方法可以在 Python 中执行这种匹配?