Frage

Im Word2Vec, Wenn ich eine Reihe von Sätzen mehrmals mit der Änderung in der Reihenfolge trainiere (wie die Vektordarstellungen erhöht), wird die Häufigkeit eines Wortes aufgrund ihres Wortes geändert.

Zum Beispiel, wenn ich das Wort "Hirsch" in meinem Korpus vier Mal habe und wenn ich das setze min_count Um 5 Jahre alt zu sein, zählt das Training des Modells dreimal wiederholt "Hirsche" mit Frequenz 12 und wird in das Modell aufgenommen?

Wenn es weiß, dass es sich um den gleichen Korpus handelt, ist es, wie es möglich ist, das Modell mit einem neuen Korpus zu differenzieren.

War es hilfreich?

Lösung

Die Frage wurde in Google Groups von Gordon Mohr beantwortet.

Normalerweise wird ein Lesen des Korpus zum Aufbau des Wortschatzes (einschließlich der Initialisierung des Modells basierend auf der gelernten Vokabulargröße) und einer beliebigen Anzahl von zusätzlichen Pässen für das Training angeboten. Erst nach dem einen Vokabular-Learning-Scan werden die Wortzahlen betrachtet (und verglichen mit min_count zum Trimmen).

Wenn Sie einen Korpus (als neu startbarer Iterator) als eines der Argumente zur anfänglichen Erstellung des Word2VEC -Modells liefern, werden alle diese Schritte automatisch durchgeführt: eine Lesung des Korpus (durch die build_vocab() Methode) zum Sammeln von Wörtern/Zählungen, dann ein oder mehrere Pässe (wie durch den Parameter "Iter" gesteuert und über die durchgeführt train() Methode) für das Training. Dennoch nur die Anzahl der einzelnen Pass über die gelieferten Korpus -Angelegenheiten für Frequenzentscheidungen.

Wenn Sie bei der Modellinitialisierung keinen Korpus liefern, können Sie anrufen build_vocab(…) und train(…) dich selbst. Es ist nur das, was an übergeben wird build_vocab() Das ist wichtig für die beibehaltenen Frequenzzahlen (und für die Schätzung der Korpusgröße). Sie können dann anrufen train(…) auf andere Weise oder wiederholt - es nutzt das Wortschatz immer wieder von dem früheren build_vocab(…) Anruf.

(Beachten Sie, dass train(…) Versucht versucht, die Einzelpass-Korpusgröße wiederzuverwenden, die aus dem Vocab-Scanning-Pass erinnert, um genaue Fortschrittsschätzungen zu geben und den Verfall der Trainingsrate zu planen alpha. Wenn Sie also einen Korpus mit unterschiedlichem Größe geben train(…), Sie sollten auch seine anderen optionalen Parameter verwenden, um ihm einen Hinweis auf die Größe zu geben.)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit datascience.stackexchange
scroll top