7 python error-handling python-3.x gensim word2vec
我正在学习python中的word2vec和GloVe模型,所以我在这里可以看到这个.
在Idle3中逐步编译这些代码之后:
>>>from gensim.models import word2vec
>>>import logging
>>>logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO)
>>>sentences = word2vec.Text8Corpus('text8')
>>>model = word2vec.Word2Vec(sentences, size=200)
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
2017-01-13 11:15:41,471 : INFO : collecting all words and their counts
Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module>
model = word2vec.Word2Vec(sentences, size=200)
File "/usr/local/lib/python3.5/dist-packages/gensim/models/word2vec.py", line 469, in __init__
self.build_vocab(sentences, trim_rule=trim_rule)
File "/usr/local/lib/python3.5/dist-packages/gensim/models/word2vec.py", line 533, in build_vocab
self.scan_vocab(sentences, progress_per=progress_per, trim_rule=trim_rule) # initial survey
File "/usr/local/lib/python3.5/dist-packages/gensim/models/word2vec.py", line 545, in scan_vocab
for sentence_no, sentence in enumerate(sentences):
File "/usr/local/lib/python3.5/dist-packages/gensim/models/word2vec.py", line 1536, in __iter__
with utils.smart_open(self.fname) as fin:
File "/usr/local/lib/python3.5/dist-packages/smart_open-1.3.5-py3.5.egg/smart_open/smart_open_lib.py", line 127, in smart_open
return file_smart_open(parsed_uri.uri_path, mode)
File "/usr/local/lib/python3.5/dist-packages/smart_open-1.3.5-py3.5.egg/smart_open/smart_open_lib.py", line 558, in file_smart_open
return open(fname, mode)
FileNotFoundError: [Errno 2] No such file or directory: 'text8'
Run Code Online (Sandbox Code Playgroud)
我该如何纠正这个?在此先感谢您的帮助.
看来你错过了这里使用的文件.具体来说,它试图打开text8并找不到它(因此FileNotFoundError).
您可以从此处下载文件本身,如以下文档中所述Text8Corpus:
Docstring:
Iterate over sentences from the "text8" corpus, unzipped from http://mattmahoney.net/dc/text8.zip .
Run Code Online (Sandbox Code Playgroud)
并使其可用.提取它,然后将其作为参数提供给Text8Corpus:
sentences = word2vec.Text8Corpus('/path/to/text8')
Run Code Online (Sandbox Code Playgroud)