我正在尝试使用PySpark生成单词向量。使用gensim,我可以看到以下单词及其最接近的单词:
使用 PySpark
我该如何从模型中的向量空间生成单词?这相当于gensim中
背景:我需要将模型中的单词和同义词存储到一个映射表中,以便稍后用于查找推文的情感。由于模型属于spark上下文,因此我无法在pyspark的map函数中重用单词向量模型(以下是错误)。我想要pyspark word2vec版本,而不是gensim,因为它为某些测试单词提供更好的同义词。
任何替代方案也是受欢迎的。
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])
使用 PySpark
inp = sc.textFile("tweet.txt").map(lambda row: row.split(" "))
word2vec = Word2Vec()
model = word2vec.fit(inp)
我该如何从模型中的向量空间生成单词?这相当于gensim中
model.wv.vocab.keys()
的pyspark等效方法吗?背景:我需要将模型中的单词和同义词存储到一个映射表中,以便稍后用于查找推文的情感。由于模型属于spark上下文,因此我无法在pyspark的map函数中重用单词向量模型(以下是错误)。我想要pyspark word2vec版本,而不是gensim,因为它为某些测试单词提供更好的同义词。
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.
任何替代方案也是受欢迎的。