Ich versuche, Wort Vektoren mit PySpark zu generieren. Mit GENSIM ich die Worte und die nächsten Worte, wie unten sehen:Wie man die Wortliste vom pyspark word2vec Modell erhält?
sentences = open(os.getcwd() + "/tweets.txt").read().splitlines()
w2v_input=[]
for i in sentences:
tokenised=i.split()
w2v_input.append(tokenised)
model = word2vec.Word2Vec(w2v_input)
for key in model.wv.vocab.keys():
print key
print model.most_similar(positive=[key])
Mit PySpark
inp = sc.textFile("tweet.txt").map(lambda row: row.split(" "))
word2vec = Word2Vec()
model = word2vec.fit(inp)
Wie kann ich die Worte aus dem Vektorraum in Modell generieren? Das ist das pyspark Äquivalent des Gensim model.wv.vocab.keys()
?
Hintergrund: Ich muss die Wörter und die Synonyme aus dem Modell in einer Karte speichern, damit ich sie später für das Finden der Stimmung eines Tweets verwenden kann. Ich kann das Wortvektormodell in den Kartenfunktionen in pyspark nicht verwenden, da das Modell zum Funkenkontext gehört (Fehler unten eingefügt). Ich möchte die pyspark word2vec-Version anstelle von Gensim, weil es bessere Synonyme für bestimmte Testwörter bietet.
Exception: It appears that you are attempting to reference SparkContext from a broadcast variable, action, or transformation.SparkContext can only be used on the driver, not in code that it run on workers.
Jede alternative Lösung ist ebenfalls willkommen.
Danke..das ist genau das, was ich wollte – Solo
@Solo Sie sind sehr willkommen - und danke für die Annahme und Upvoting – desertnaut