私はPySparkを使って単語ベクトルを生成しようとしています。 PySparkpyspark word2vecモデルから単語リストを取得する方法は?
私がモデルにベクトル空間から単語を生成することができますどのようにinp = sc.textFile("tweet.txt").map(lambda row: row.split(" "))
word2vec = Word2Vec()
model = word2vec.fit(inp)
を使用して
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])
:gensimを使用して、私は言葉と以下のように最も近い単語を見ることができますか?それはgensim model.wv.vocab.keys()
のpysparkに相当しますか?
背景:モデルの単語と同義語をマップに保存する必要があるので、後でツイートの感想を見つけるために使うことができます。モデルがsparkコンテキスト(以下のペーストされたエラー)に属しているので、私はpysparkのマップ関数で単語ベクトルモデルを再利用することはできません。私は特定のテスト単語のためのより良い同義語を提供するので、gensimではなくpyspark word2vecバージョンが必要です。
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.
代替ソリューションも歓迎します。
ありがとうございました – Solo
@Soloあなたは大歓迎です - 受け入れ&アップ投票してくれてありがとう – desertnaut