проверьте, связаны ли два слова друг с другом
У меня есть два списка: один, интересы пользователя; и во-вторых, ключевые слова о книге. Я хочу рекомендовать книгу пользователю, основываясь на его списке интересов. Я используюSequenceMatcher
класс библиотеки Pythondifflib
сопоставлять похожие слова, такие как «игра», «игры», «игры», «геймер» и т. д.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?