Wie word2vec verwendet werden kann, um unsichtbare Wörter zu identifizieren und sie mit bereits trainierten Daten in Beziehung zu setzen

11

Ich habe an einem word2vec Gensim-Modell gearbeitet und fand es wirklich interessant. Ich bin daran interessiert herauszufinden, wie ein unbekanntes / unsichtbares Wort, wenn es mit dem Modell überprüft wird, ähnliche Begriffe aus dem trainierten Modell erhalten kann.

Ist das möglich? Kann word2vec dafür optimiert werden? Oder der Trainingskorpus muss alle Wörter haben, von denen ich Ähnlichkeit finden möchte.

Gaurus
quelle

Antworten:

9

Jeder Algorithmus, der sich mit Textdaten befasst, verfügt über ein Vokabular. Im Fall von word2vec besteht das Vokabular aus allen Wörtern im Eingabekorpus oder zumindest aus Wörtern oberhalb der Mindestfrequenzschwelle.

Algorithmen neigen dazu, Wörter zu ignorieren, die außerhalb ihres Wortschatzes liegen. Es gibt jedoch Möglichkeiten, Ihr Problem so umzugestalten, dass es im Wesentlichen keine Wörter außerhalb des Wortschatzes gibt.

Denken Sie daran, dass Wörter in word2vec einfach "Token" sind. Sie könnten Ngramme oder Buchstaben sein. Eine Möglichkeit, Ihren Wortschatz zu definieren, besteht darin, zu sagen, dass jedes Wort, das mindestens X-mal vorkommt, in Ihrem Wortschatz enthalten ist. Dann werden die häufigsten "Silben" (n Gramm Buchstaben) zu Ihrem Wortschatz hinzugefügt. Dann fügen Sie Ihrem Wortschatz einzelne Buchstaben hinzu.

Auf diese Weise können Sie jedes Wort als eines definieren

  1. Ein Wort in Ihrem Wortschatz
  2. Eine Reihe von Silben in Ihrem Wortschatz
  3. Ein kombinierter Satz von Buchstaben und Silben in Ihrem Wortschatz
jamesmf
quelle
3

word2vec behandelt Wörter als Atome. Um aussagekräftige Vektoren für unbekannte Wörter zu erhalten, müssen Sie entweder

  • ändere, was diese Atome sind, z. B. wechsle zum Buchstaben n-Gramm wie in Jamesmfs Antwort, oder
  • Verwenden Sie ein anderes Modell, das explizit untersucht, was in Ihren Worten enthalten ist, z. B. das CWE-Modell unter https://github.com/Leonard-Xu/CWE ist einfach zu verwenden.
Joachim Wagner
quelle
1
github.com/facebookresearch/fastText scheint gut zu funktionieren
Joachim Wagner
Ja, das habe ich versucht, funktioniert aber nicht gut mit Aufgaben wie der morphologischen Segmentierung.
Gaurus
2

Das Trainingskorpus muss alle Wörter enthalten, deren Ähnlichkeit Sie finden möchten.

Franck Dernoncourt
quelle
0

Word2Vec und FastText schlagen fehl, wenn das Wort nicht im Wortschatz enthalten ist. Wirft einen Fehler. Es gibt eine Liste mit Punkten für verwandte Wörter. Aber ein unsichtbares Wort wird nicht im Wortschatz enthalten sein, nicht wahr? Wie löst es das unsichtbare Wortproblem?

Sam
quelle