Negation Umgang mit NLP
Ich bin derzeit an einem Projekt arbeiten, wo ich will, zu extrahieren, die Emotionen aus dem text. Als ich bin mit conceptnet5 (semantisches Netz), ich kann Sie aber nicht einfach Präfix Wörter in einem Satz, der eine negation beinhaltet-Wort, denn diese Worte würde einfach nicht zeigen, bis in conceptnet5 API.
Hier ein Beispiel:
War der Film nicht so gut.
Daher dachte ich, ich könnte mit wordnet ' s lemma Funktionalität zu ersetzen, die Adjektive in Sätzen enthalten, die negations-Wörter wie (nicht, ...).
Im vorherigen Beispiel würde der Algorithmus erkennen wasn't
und würde ersetzen Sie es mit was not
.
Weiter, es würde erkennen, eine negation-Wort not
, und ersetzen good
mit seinem antonym bad
.
Der Satz würde lauten:
War der Film schlecht.
Während ich sehe, dass dies nicht der eleganteste Weg, und tut es wohl in vielen Fällen produzieren das falsche Ergebnis, ich würde noch gerne behandeln negation so, da ich ehrlich gesagt, kenne keinen besseren Ansatz.
In Anbetracht mein problem:
Leider habe ich keine Bibliothek, die mir erlauben würde, um zu ersetzen Sie alle vorkommen von angehängten negation-Wörter (wasn't
=> was not
).
Ich meine, ich könnte es manuell tun, durch das ersetzen der vorkommen mit einem regex, aber dann würde ich stecken mit der englischen Sprache.
Daher möchte ich Fragen, ob einige von Ihnen wissen, eine Bibliothek, eine Funktion oder bessere Methode, die mir hier helfen könnte.
Derzeit bin ich mit python nltk
noch, es scheint nicht, dass es enthält solche Funktionen, aber ich könnte falsch sein.
Vielen Dank im Voraus 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fällen wie
wasn't
können einfach analysiert, die durch die tokenisierung (tokens = nltk.word_tokenize(sentence)
):wasn't
wird inwas
undn't
.Aber im negativen Sinne kann auch gebildet werden durch "Quasi negative Worte, wie kaum, kaum, selten' und 'Implizite negative, wie Versagen, hindern, zögern, verweigern, abwesend', Blick in dieses Papier. Noch detailliertere Analyse findet sich in Christopher Potts' Auf die Negativität der negation
.
Anbetracht Ihrer anfänglichen problem, sentiment-Analyse, die meisten modernen Ansätze, soweit ich weiß, gar nicht verarbeiten, Negationen explizit; stattdessen nutzen Sie betreut Ansätze mit hoch-n-Gramm. Diejenigen, die tatsächlich die Verarbeitung von negation in der Regel fügen Sie spezielle Präfix NOT_ um alle Wörter zwischen negation und Satzzeichen.