Text-Klassifizierungs-Problem: Ist Word2Vec / NN der beste Ansatz?

10

Ich möchte ein System entwerfen, das einen bestimmten Textabschnitt kategorisieren und den Kontext identifizieren kann:

  1. Wird mit benutzergenerierten Textabschnitten (wie Kommentaren / Fragen / Antworten) geschult.
  2. Jeder Gegenstand im Trainingssatz wird mit markiert. Also zum Beispiel ("Kategorie 1", "Textabsatz")
  3. Es wird Hunderte von Kategorien geben

Was wäre der beste Ansatz, um ein solches System aufzubauen? Ich habe mir einige verschiedene Optionen angesehen und im Folgenden finden Sie eine Liste möglicher Lösungen. Ist Word2Vec / NN derzeit die beste Lösung?

  1. Rekursives neuronales Tensornetzwerk, das mit gemittelten Word2Vec-Daten gespeist wird
  2. RNTN und The Paragraph Vector ( https://cs.stanford.edu/~quocle/paragraph_vector.pdf )?
  3. TF-IDF wird in einem Deep Belief Network verwendet
  4. TF-IDF und logistische Regression
  5. Wortsack und Naive Bayes Klassifizierung
Shankar
quelle
Können Sie klarstellen, welche Kategorien? Muss es in der Lage sein, mit neuen Kategorien und / oder unsichtbaren Wörtern umzugehen? Die Anforderungen an seltene Begriffe und unsichtbare Kategorien helfen beim Entwurf des Systems.
NBartley
Danke @NBartley. Unsichtbare Wörter werden ebenfalls eine hohe Wahrscheinlichkeit haben. Die eingegebenen Paras sind benutzergenerierte Inhalte, daher ist die Wahrscheinlichkeit neuer unsichtbarer Wörter sehr hoch. Die Kategorien würden definiert, aber wir müssen die Kategorieliste im Laufe der Zeit erweitern. Vielen Dank
Shankar
Sie sollten auch sense2vec unter arxiv.org/abs/1511.06388 überprüfen . Kurz gesagt, es sind Worteinbettungen kombiniert mit Part-Of-Speech-Tagging. Es wird berichtet, dass es die Einbettung von Wörtern durch eindeutige Homonyme genauer machte. Es wäre interessant zu sehen, ob es auch die Leistung bei Klassifizierungsaufgaben verbessert.
Wacax

Antworten:

5

1) Die Max-Entropie (logistische Regression) auf TFIDF-Vektoren ist ein guter Ausgangspunkt für viele NLP-Klassifizierungsaufgaben.

2) Word2vec ist definitiv einen Versuch wert und mit Modell 1 zu vergleichen. Ich würde vorschlagen, die Doc2Vec-Variante zum Betrachten von Sätzen / Absätzen zu verwenden.

Quoc Le und Tomas Mikolov. Verteilte Darstellungen von Sätzen und Dokumenten. http://arxiv.org/pdf/1405.4053v2.pdf

Gensim (Python) hat ein schönes Doc2vec-Modell.

Rushimg
quelle
Danke @rushimg. Wenn die Kategorien eng miteinander verbunden sind, dh der als Eingabe verwendete Textabschnitt eine große Anzahl gemeinsamer Wörter enthält, welcher der beiden Ansätze wäre besser, um den Kontext zu verstehen und zwischen den beiden zu unterscheiden?
Shankar
Ich würde das Doc2Vec-Modell verwenden, da es die wortreiche Annahme des Max-Ent-Modells beseitigt. Wenn tf-idf als Features im Max-Ent-Modell verwendet wird, würde dies auch die Auswirkung gebräuchlicher Wörter verringern. Ich denke, beide Methoden auszuprobieren und zu optimieren, wäre die beste Vorgehensweise.
Rushimg