【问题标题】:PySpark - Word2Vec load model, can't use findSynonyms to get wordsPySpark - Word2Vec 加载模型,无法使用 findSynonyms 获取单词
【发布时间】:2016-06-19 17:33:43
【问题描述】:

我已经使用 PySpark 训练了一个 Word2Vec 模型并保存了它。加载模型时 .findSynonyms 方法不起作用。

model = word2vec.fit(text)
model.save(sc, 'w2v_model')
new_model = Word2VecModel.load(sc, 'w2v_model')
new_model.findSynonyms('word', 4)

得到以下错误:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/spark/python/pyspark/mllib/feature.py", line 487, in findSynonyms
words, similarity = self.call("findSynonyms", word, num)
ValueError: too many values to unpack

我发现了以下问题,但不确定问题是如何解决的:https://issues.apache.org/jira/browse/SPARK-12016

如果有任何解决方法,请告诉我!

非常感谢。

【问题讨论】:

  • github.com/apache/spark/pull/10100/files 因为它是合并的,所以您可以从所需的分支构建。
  • 我在 AWS EMR 版本上运行它。是否可以在 EMR 上构建它?谢谢!
  • 我不这么认为,但您始终可以单独构建一个包装类并与您的工作一起提交。那么 Python 端代码应该不成问题。

标签: apache-spark pyspark word2vec


【解决方案1】:

看起来它是固定的1.6.1但不是1.5.2。

错误不是关于findsnonyms,而是关于word2vecmodel.load。 我检查了它的工作原理1.6.1。加载模型时没有错误,调用findsnonyms方法。

我猜v。1.5.2尚未修复。

【讨论】:

    猜你喜欢
    • 2018-01-02
    • 2017-09-01
    • 1970-01-01
    • 2019-08-17
    • 2017-09-24
    • 2019-05-26
    • 2018-12-17
    • 2017-02-25
    • 1970-01-01
    相关资源
    最近更新 更多