Wie viele Trainingsdaten benötigt word2vec?

10

Ich möchte den Unterschied zwischen demselben Wort vergleichen, das in verschiedenen Quellen erwähnt wird. Das heißt, wie sich Autoren in der Verwendung von schlecht definierten Wörtern wie "Demokratie" unterscheiden.

Ein kurzer Plan war

  1. Nehmen Sie die Bücher, in denen der Begriff "Demokratie" als Klartext erwähnt wird
  2. In jedem Buch, ersetzen democracymitdemocracy_%AuthorName%
  3. Trainiere ein word2vecModell in diesen Büchern
  4. Berechnen Sie den Abstand zwischen democracy_AuthorA, democracy_AuthorBund andere relabeled erwähnt der „Demokratie“

Die "Demokratie" jedes Autors erhält also einen eigenen Vektor, der zum Vergleich herangezogen wird.

Es scheint jedoch, word2vecdass viel mehr als mehrere Bücher (jedes neu beschriftete Wort kommt nur in einer Teilmenge von Büchern vor) erforderlich sind, um zuverlässige Vektoren zu trainieren. Die offizielle Seite empfiehlt Datensätze mit Milliarden von Wörtern.

Ich wollte nur fragen, wie groß die Teilmenge der Bücher eines Autors sein sollte, um solche Rückschlüsse auf word2vecoder alternative Werkzeuge zu ziehen, falls verfügbar.

Anton Tarasenko
quelle
1
Sind die Bücher, die Sie ausschließlich zum Thema Demokratie verwenden, wenn nicht, wird Ihre Entfernungsmetrik möglicherweise nicht durch größere Unterschiede zwischen den Buchinhalten überschwemmt? Dies ist ein Nebeneffekt Ihres Problems, wenn Sie sich in einem sehr hochdimensionalen Raum befinden und von der Hand des Fluches der Dimensionalität berührt werden. Vielleicht würde es helfen, nur einen kleinen Textbereich um das Wort von Interesse herum zu nehmen, aber es ist immer noch ein Problem mit einer signifikanten Dimension.
image_doctor
1
Ja, das ist die Essenz davon. hier geht mit einer wahrscheinlich schlecht durchdachten Metapher. Stellen Sie sich Kapitel von Büchern vor, die durch Farben dargestellt werden. Und ein Buch als Ganzes, dargestellt als Mischung aller Farben der Kapitel. Ein Buch über Demokratie in Westeuropa würde wahrscheinlich einen insgesamt rötlichen Farbton als Summe seiner Kapitel haben. Wenn wir den Tourismus durch Blau darstellen, hätte ein Buch über den Tourismus in Kuba mit einem einzigen Kapitel über Demokratie und ihren Einfluss auf die wirtschaftliche Entwicklung einen starken Blauton. Die beiden Bücher würden also als Ganzes sehr unterschiedlich aussehen.
image_doctor
1
Dies ist die zugänglichere Art zu sagen, was ein Datenwissenschaftler ausdrücken würde, da die Vektoren für die beiden Bücher im Merkmalsraum weit voneinander entfernt sind und daher ziemlich unterschiedlich erscheinen. Es ist wirklich schwer, vorher zu quantifizieren, wie viele Beispiele Sie benötigen, ohne mit den Daten zu spielen, aber die Sprache ist subtil und vielschichtig, sodass Sie wahrscheinlich so viele wie möglich wollen ... und vielleicht noch mehr. Letztendlich wirst du es nicht wissen, bis du es versuchst. Es ist keine konkrete Antwort, aber es ist wahrscheinlich das Beste, was Sie bekommen, wenn jemand nicht direkt Erfahrung mit ähnlichen Dingen hat.
image_doctor
1
word2vec verwendet bereits nur "einen kleinen Textbereich um das interessierende Wort". Der windowParameter legt fest, wie viele Wörter im Kontext verwendet werden, um das Modell für Ihr Wort zu trainieren. W
jamesmf
1
@politicalscientist Ich hatte dieses Projekt noch nicht abgeschlossen.
Anton Tarasenko

Antworten:

1

Es klingt so, als ob doc2vec (oder Absatz- / Kontextvektoren) für dieses Problem geeignet sein könnte.

Kurz gesagt, fügen Sie zusätzlich zu den Wortvektoren einen "Kontextvektor" hinzu (in Ihrem Fall eine Einbettung für den Autor), der zur Vorhersage des Zentrums oder der Kontextwörter verwendet wird.

Dies bedeutet, dass Sie von allen Daten über "Demokratie" profitieren würden, aber auch eine Einbettung für diesen Autor extrahieren würden, die es Ihnen zusammen ermöglichen sollte, die Tendenz jedes Autors mit begrenzten Daten über jeden Autor zu analysieren.

Sie können die Implementierung von gensim verwenden . Das Dokument enthält Links zu den Quellpapieren.

Halblinge
quelle