我试图在Spark独立集群上使用带有pyspark的NLTK包中的punkt tokenizer.NLTK已安装在各个节点上,但nltk_data文件夹不在NLTK预期的位置(/ usr/share/nltk_data).
我正在尝试使用punkt tokenizer,它位于(my/my_user/nltk_data)中.
我已经设定:
envv1 = "/whatever/my_user/nltk_data"
os.environ['NLTK_DATA'] = envv1
Run Code Online (Sandbox Code Playgroud)
打印nltk.data.path表示第一个条目是我的nltk_data文件夹实际所在的位置.
在from nltk import word_tokenize
去罚款,但是当涉及到调用函数word_tokenize()
,我得到以下错误:
ImportError: No module named nltk.tokenize
Run Code Online (Sandbox Code Playgroud)
无论出于何种原因,我都可以从nltk.corpus访问资源.当我尝试nltk.download()时,很明显我已经下载了punkt tokenizer.我甚至可以在pyspark之外使用punkt tokenizer.
无论如何要改变使用的窗口大小pyspark.mllib.feature.Word2Vec
或永久固定为5?这似乎是一个相当重要的特征.
我在这里看不到这个选项:https: //spark.apache.org/docs/1.4.1/api/scala/index.html#org.apache.spark.mllib.feature.Word2Vec