Überprüfen Sie, ob zwei Wörter miteinander verwandt sind

Ich habe zwei Listen: eine, die Interessen des Benutzers; und zweitens die Stichwörter zu einem Buch. Ich möchte dem Benutzer das Buch auf der Grundlage seiner angegebenen Interessenliste empfehlen. Ich benutze dieSequenceMatcher Klasse der Python-Bibliothekdifflib ähnliche Wörter wie "game", "games", "gaming", "gamer", etc. zu findenratio Funktion gibt mir eine Zahl zwischen [0,1], die angibt, wie ähnlich die beiden Zeichenfolgen sind. Aber ich bin an einem Beispiel hängen geblieben, bei dem ich die Ähnlichkeit zwischen "Looping" und "Shooting" berechnet habe. Es kommt heraus, um zu sein0.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 

Gibt es eine andere Möglichkeit, einen solchen Abgleich in Python durchzuführen?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage