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
- Ein Wort in Ihrem Wortschatz
- Eine Reihe von Silben in Ihrem Wortschatz
- Ein kombinierter Satz von Buchstaben und Silben in Ihrem Wortschatz
Das Trainingskorpus muss alle Wörter enthalten, deren Ähnlichkeit Sie finden möchten.
quelle
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?
quelle