0

Ich arbeite daran, Ähnlichkeiten zwischen kurzen Sätzen und Artikeln zu finden. Ich habe viele vorhandene Methoden wie tf-idf, word2vec usw. benutzt, aber die Ergebnisse sind nur okay. Die relevanteste Maßnahme, die ich fand, war die Entfernung des Wortes, aber die Ergebnisse sind nicht besser als die anderen Maße. Ich weiß, dass es ein herausforderndes Problem ist, aber ich frage mich, ob es neue Methoden gibt, um eine annähernde Ähnlichkeit zu finden, eher auf einer höheren Ebene oder einem Konzeptniveau als nur passende Wörter. Vor allem, alternative alternative Methoden wie Wortbewegungsentfernung, die etwas höhere Semantik eines Satzes oder Artikels betrachtet?Neue Methoden zum Finden der semantischen Ähnlichkeit zwischen zwei kurzen Sätzen oder Artikeln (auf einer Konzept-Ebene)

+0

ich fürchte, Ihre Frage ist nicht eine gute Passform für SO. Wenn Sie nach anderen vorhandenen Tools suchen, wird dies als nicht am Thema orientiert angesehen. Wenn Sie sehen wollen, dass Menschen neue Methoden erfinden, müssen Sie Mittel für ein Forschungsprojekt erhalten. – lenz

+0

Btw, mit Word-Einbettungen ist nicht "nur passende Wörter". Es sollte auf einer höheren semantischen Ebene arbeiten. – lenz

+0

@lenz Ich wollte hier nicht neue Wege finden, sondern fragen, ob ich etwas vermisst habe, was bereits existiert. Vielleicht etwas aus dem Jahr 2017. –

Antwort

1

Um ehrlich zu sein, das Beste, was ich weiß, dies ist im Moment zu verwenden ist AMR:

Sie können ein verwenden System wie JAMR (siehe hier: https://github.com/jflanigan/jamr), um AMRs für Ihren Satz zu generieren, und dann können Sie Smatch (siehe hier: https://amr.isi.edu/eval/smatch/tutorial.html) verwenden, um die Ähnlichkeit der beiden erzeugten AMRs zu vergleichen.

Was Sie versuchen zu tun ist sehr schwierig und ist ein aktives, laufendes Forschungsgebiet.

2

Offensichtlich ist dies ein großer und beschäftigt Forschungsbereich, aber ich würde sagen, es gibt zwei große Arten von Ansätzen Sie in aussehen könnten:

Erstens gibt es einige Methoden, den Satz Einbettungen in einer unüberwachten Weise lernen B. Le and Mikolov's (2014) Paragraph Vectors, die in gensim oder Kiros et al.'s (2015) SkipThought vectors implementiert sind, mit einer implementation on Github.

Dann gibt es auch überwachte Methoden, die Satzeinbettungen aus markierten Daten lernen. Die neueste ist Conneau et al.'s (2017), die Satzeinbettungen im Stanford Natural Language Inference-Datensatz trainiert und zeigt, dass diese Einbettungen für eine Reihe von NLP-Aufgaben erfolgreich verwendet werden können. Der Code lautet available on Github.

Sie könnten auch einige Inspiration in a blog post I wrote earlier this year on the topic of embeddings finden.

2

Dies ist das jüngste Basieren auf einem vor 4 Monaten veröffentlichten Papier.

Schritt 1:

laden geeignetes Modell GENSIM Verwendung und die Wortvektoren für die Wörter im Satz berechnen und speichern sie als Wortliste

Schritt 2: Berechnung der Satzvektor

The Die Berechnung der semantischen Ähnlichkeit zwischen Sätzen war zuvor schwierig, aber kürzlich wurde eine Veröffentlichung mit dem Namen "A SIMPLE BUT TOUGH-TO-BEAT BASELINE FOR SENTENCE EMBEDDINGS" vorgeschlagen, die einen einfachen Ansatz vorschlägt, indem der gewichtete Durchschnitt der Wortvektoren in dem Satz berechnet wird und dann die Projektionen der Durchschnittsvektoren auf ihrer ersten Hauptkomponente entfernt werden. Hier das Gewicht eines Wortes w ist a/(a ​​+ p (w)) mit einem Parameter und p (w) der (geschätzten) Wortfrequenz, die als glatte, inverse Frequenz bezeichnet wird. Dieses Verfahren ist wesentlich besser.Verwendung sklearn cosine_similarity Last zwei Vektoren für die Sätze und Berechnen der Ähnlichkeit:

einen einfachen Code, den Satz Vektor unter Verwendung von SIF (glatte inverse Frequenz), um das vorgeschlagene Verfahren in dem Papier zu berechnen hat here

Schritt 3 gegeben.

Dies ist die einfachste und effizienteste Methode zur Berechnung der semantischen Ähnlichkeit von Sätzen.

+0

Es wird sicherlich funktionieren. Lassen Sie es mich wissen, wenn es nicht so ist. –

0

Sie können für jedes Substantiv eine semantische Ähnlichkeit mit WordNet verwenden. Um einen kurzen Blick Sie können Vogel Substantiv-1 und Stuhl-Substantiv-1 und wählen Sie wordnet bei http://labs.fc.ul.pt/dishin/ es gibt Ihnen ein:

Resnik ,315625756544

Lin ,0574161071905

Jiang & Conrath ,0964964414156

Der Python-Code ist: https://github.com/lasigeBioTM/DiShIn

Verwandte Themen