读取GoogleNews-vectors-negative300.bin文件时权限被拒绝错误

时间:2019-04-11 20:40:35

标签: python nlp jupyter-notebook word2vec

我正在尝试读取不同的语言编码模型,例如golve,fasttext和word3vec,并检测到讽刺,但是我无法读取google的语言编码文件。提供权限被拒绝错误。我该怎么办?

我尝试了不同的编码方式,并赋予了文件所有权限,但仍然没有运气

EMBEDDING_FILE = 'C:/Users/Abhishek/Documents/sarcasm/GoogleNews-vectors-negative300.bin/'
def get_coefs(word, *arr): return word, np.asarray(arr, dtype='float32')
embeddings_index = dict(get_coefs(*o.rstrip().rsplit(' ')) for o in open(EMBEDDING_FILE,encoding="ISO-8859-1"))
embed_size = 300
word_index = tokenizer.word_index
nb_words = min(max_features, len(word_index))
embedding_matrix = np.zeros((nb_words, embed_size))
for word, i in word_index.items():
    if i >= max_features: continue
    embedding_vector = embeddings_index.get(word)
    if embedding_vector is not None: embedding_matrix[i] = embedding_vector


PermissionError                           Traceback (most recent call last)
<ipython-input-10-5d122ae40ef0> in <module>
      1 EMBEDDING_FILE = 'C:/Users/Abhishek/Documents/sarcasm/GoogleNews-vectors-negative300.bin/'
      2 def get_coefs(word, *arr): return word, np.asarray(arr, dtype='float32')
----> 3 embeddings_index = dict(get_coefs(*o.rstrip().rsplit(' ')) for o in open(EMBEDDING_FILE,encoding="ISO-8859-1"))
      4 embed_size = 300
      5 word_index = tokenizer.word_index

PermissionError: [Errno 13] Permission denied: 'C:/Users/Abhishek/Documents/sarcasm/GoogleNews-vectors-negative300.bin/'

1 个答案:

答案 0 :(得分:0)

无论您尝试如何或出于何种目的尝试打开文件,都可能会遇到相同的与IO相关的错误-因此,这实际上不是关于nlp或{{1 }},甚至word2vec

请注意,有时我们会考虑其他问题的错误会被报告为“权限”问题-因为在某种程度上,您不能对路径或文件的种类执行此操作。 / p>

您已将文件路径指定为jupyter-notebook,后跟'C:/Users/Abhishek/Documents/sarcasm/GoogleNews-vectors-negative300.bin/',通常表示目录是目录。那可能是个问题。

此外,我相信该特定文件的大小通常为3+ GB-并且某些DOS降级的文件系统或仅32位的Python解释器可能在处理某些大小(如2GB或4GB)的文件时遇到问题。 / p>