2017-05-18 4 views
2

Ich habe zwei Spalten in Pandas: A und B, von denen jede Strings von Begriffen enthält. Mein Ziel ist es, den Eintrag in Spalte B zu finden, der der Spalte A am ähnlichsten ist. Ich benutze bereits den TF-IDF, um dies zu tun, aber manchmal gibt es Synonyme, die offensichtlich nicht übereinstimmen, z. Geld und Währung.Python Text Matching - Synonyme

Wie finde ich Treffer, die auch Synonyme enthalten?

Antwort

-1

Ich bin mir nicht sicher, wie TF-IDF hier wäre, wenn Sie mit einzelnen Wortpaaren arbeiten.

Wie auch immer, es gibt zwei offensichtliche Lösungen dafür.

Verwenden Sie eine traditionelle Wissensbasis, würde ich Wordnet für diesen Anwendungsfall empfehlen, es gilt weithin als ein Standard in der Branche.

Die zweite Option wäre, den maschinellen Lernalgorithmus Word2Vec (oder eine Variante wie Glove) zu verwenden. Ich würde sagen, das ist die einfachste Lösung, wenn Sie ein Modell verwenden, das bereits wie das Google News trainiert ist. Suchen Sie in Gensim's implementation, um das Modell zu laden und Ähnlichkeiten zu berechnen.