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
- Nehmen Sie die Bücher, in denen der Begriff "Demokratie" als Klartext erwähnt wird
- In jedem Buch, ersetzen
democracy
mitdemocracy_%AuthorName%
- Trainiere ein
word2vec
Modell in diesen Büchern - Berechnen Sie den Abstand zwischen
democracy_AuthorA
,democracy_AuthorB
und andere relabeled erwähnt der „Demokratie“
Die "Demokratie" jedes Autors erhält also einen eigenen Vektor, der zum Vergleich herangezogen wird.
Es scheint jedoch, word2vec
dass 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 word2vec
oder alternative Werkzeuge zu ziehen, falls verfügbar.
quelle
window
Parameter legt fest, wie viele Wörter im Kontext verwendet werden, um das Modell für Ihr Wort zu trainieren. WAntworten:
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.
quelle