Ich möchte Sätze in doc2vec haben und ich gensim.phrases verwenden. In doc2vec benötigen wir ein getaggtes Dokument, um das Modell zu trainieren, und ich kann die Phrasen nicht markieren. Wie kann ich das machen?Wie verwende ich doc2vec mit Phrasen?
hier ist mein Code
text = phrases.Phrases(text)
for i in range(len(text)):
string1 = "SENT_" + str(i)
sentence = doc2vec.LabeledSentence(tags=string1, words=text[i])
text[i]=sentence
print "Training model..."
model = Doc2Vec(text, workers=num_workers, \
size=num_features, min_count = min_word_count, \
window = context, sample = downsampling)
danke für Ihre Antwort. In diesem Fall macht die Verwendung von "LabeledSentence" anstelle von TaggedDocument keinen Unterschied. Mein Problem ist wo und wie verwende ich Phrasen mit doc2vec? –
Es ist nichts Besonderes, Phrasen mit Doc2Vec zu verwenden; es ist nur ein Vorverarbeitungsschritt, um einige Wortpaare in kombinierte Wortpaare zu ändern. Daher empfehle ich, den Doc2Vec-Aspekt zu ignorieren, die spezifischen Fehler zu vermeiden, auf die ich in Ihrem vorhandenen Code hingewiesen habe, und die Vorgehensweise in den Beispielen in der Gensim-Dokumentation anzupassen. – gojomo
Ich löse den Fehler, den Sie sagten, aber das Hauptproblem ist die Ausgabe von 'LabeledSententces', die nicht mit der Eingabe von' Phrases' funktionieren. also kann ich keine Phrase mit 'LabeledSentenses' konstruieren. Umgekehrt kann dieser Prozess nicht ausgeführt werden, da 'LabeledSentences' keine Phrasen markieren können! –