Doc2vec: Wie man Dokumentenvektoren erhält
Wie man Dokument-Vektoren von zwei text-Dokumente mit Doc2vec?
Ich bin neu in diesem, so wäre es hilfreich, wenn jemand könnte mich in die richtige Richtung/mir helfen, mit einigen tutorial
Ich bin mit gensim-python-Bibliothek.
doc1=["This is a sentence","This is another sentence"]
documents1=[doc.strip().split(" ") for doc in doc1 ]
model = doc2vec.Doc2Vec(documents1, size = 100, window = 300, min_count = 10, workers=4)
Bekomme ich
AttributeError: 'list' - Objekt hat kein Attribut 'Worte'
immer wenn ich dieses
InformationsquelleAutor der Frage bee2502 | 2015-07-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gensim wurde aktualisiert. Die syntax von LabeledSentence nicht enthalten Etiketten. Es gibt jetzt tags - siehe Dokumentation für LabeledSentence https://radimrehurek.com/gensim/models/doc2vec.html
Allerdings, @bee2502 hatte Recht mit
Wird, sollte die 100-Vektor der Wert für trainierte Modell, es funktioniert mit ganzen zahlen und strings.
InformationsquelleAutor der Antwort l.augustyniak
Wenn Sie trainieren möchten, Doc2Vec Modell, Datensatz muss enthalten Listen von Wörtern (ähnlich wie Word2Vec-format) und tags (id-Dokumente). Es kann auch enthalten Sie einige zusätzliche Informationen (siehe https://github.com/RaRe-Technologies/gensim/blob/develop/docs/notebooks/doc2vec-IMDB.ipynb für weitere Informationen).
UPDATE (how to train in Epochen):
Doc2Vec Funktion enthält
alpha
undmin_alpha
Parameter, aber das bedeutet, dass die learning-rate zerfällt während einer Epoche vonalpha
zumin_alpha
. Trainieren mehrere Epochen, legen Sie die learning-rate manuell, so wie hier:InformationsquelleAutor der Antwort Lenka Vraná
Bekam ich AttributeError: 'list' - Objekt hat kein Attribut 'Worte', weil der input-Dokumente zu den Doc2vec() wurde nicht in der richtigen LabeledSentence-format.
Ich hoffe, das folgende Beispiel wird Ihnen helfen, das format.
Mehr details sind hier : http://rare-technologies.com/doc2vec-tutorial/
Allerdings habe ich das problem gelöst, indem unter input-Daten aus Datei mit TaggedLineDocument().
Datei-format: ein Dokument = eine Zeile = eine TaggedDocument Objekt.
Worte werden voraussichtlich bereits vorverarbeitet und durch ein Leerzeichen getrennt, tags werden automatisch erstellt aus dem Dokument Zeilennummer.
Um Dokument-Vektor :
Sie können docvecs. Mehr details hier : https://radimrehurek.com/gensim/models/doc2vec.html#gensim.models.doc2vec.TaggedDocument
wo 99 ist die Dokument-id, deren Vektor, die wir wollen. Wenn die Etiketten werden im integer-format (standardmäßig, wenn Sie die Last mit TaggedLineDocument() ), direkt integer-id, wie ich es Tat. Wenn die Etiketten sind im string-format vorliegen,verwenden Sie "SENT_99" .Dies ist ähnlich zu Word2vec
InformationsquelleAutor der Antwort bee2502