Gibt es Bibliotheken für die Berechnung der semantischen Ähnlichkeitswerte für ein Paar von Sätzen?Python: Semantische Ähnlichkeit Score für Strings
Ich kenne die semantische Datenbank von WordNet, und wie ich die Punktzahl für 2 Wörter generieren kann, aber ich bin auf der Suche nach Bibliotheken, die alle Vorverarbeitungsaufgaben wie Port-Stemming, Stopwortentfernung usw. ausführen ganze Sätze und gibt eine Punktzahl für die Beziehung zwischen den beiden Sätzen aus.
Ich fand eine work in Bearbeitung, die mit dem .NET-Framework geschrieben wird, das den Score mit einem Array von Vorverarbeitungsschritten berechnet. Gibt es ein Projekt, das dies in Python tut?
Ich bin nicht für die Folge von Operationen suchen, den mir die Partitur finden würde helfen
(wie here gefragt wird) Ich würde gerne jede Stufe auf meinem eigenen implementieren, oder Klebstoff Funktionen aus verschiedenen Bibliotheken, so dass es funktioniert für Satzpaare, aber ich brauche das meistens als ein Werkzeug, um Rückschlüsse auf Daten zu testen.
EDIT: Ich war mit NLTK Berücksichtigung und Berechnung der Punktzahl für jedes Paar Worte über die beiden Sätze wiederholt, und dann Rückschlüsse aus der Standardabweichung der Ergebnisse zeichnen, aber ich weiß nicht, ob das ist eine legitime Schätzung der Ähnlichkeit. Außerdem braucht es viel Zeit für lange Saiten.
Ich suche wieder nach Projekten/Bibliotheken, die das schon intelligent umsetzen. Etwas, das mir auf diese Weise können tun:
import amazing_semsim_package
str1='Birthday party ruined as cake explodes'
str2='Grandma mistakenly bakes cake using gunpowder'
>>similarity(str1,str2)
>>0.889
Betrachten Sie vektorbasierte semantische Modelle oder Matrixzerlegungsmodelle, um die Satzähnlichkeit zu vergleichen. Wenn nicht, können Sie auf lesk-artigen Kosinus zurückgreifen, der zuerst einen Satz vektorisiert, um den Kosinus zwischen den 2 Vektoren – alvas
zu berechnen, wenn Sie etwas als ein Abschneiden gewichten oder die Kerbe dringend benötigen, betrachten NLTKs wup Ähnlichkeit. Sie müssten etwas wie CLIPS-Muster verwenden, um den Typ zu erhalten (Verb, Nomen, Adj, etc.)Sie können das verwenden, um tatsächlich die perfekte Anzahl von Kategorien für LSA/LDA zu finden, wie sie in Gensim oder einer Fuzzy/Kosinus-Implementierung von Kmeans zu finden sind. –