Набор данных BleiCorpus и Associated Press в Gensim: IO Error

Я пытаюсь следовать руководству по тематическому моделированию / скрытому распределению Дирихле (LDA) в книге «Создание систем машинного обучения» с помощью Python.

В этой книге я не зашел слишком далеко, и первая часть тематического моделирования вернула мне ошибки:

from gensim import corpora, models, similarities
corpus = corpora.BleiCorpus('./data/ap/ap.dat', './data/ap/vocab.txt')

Ошибка:

     63 
     64         self.fname = fname
---> 65         with utils.smart_open(fname_vocab) as fin:
     66             words = [utils.to_unicode(word).rstrip() for word in fin]
     67         self.id2word = dict(enumerate(words))

/Users/user/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/gensim/utils.pyc in smart_open(fname, mode)
    659         from gzip import GzipFile
    660         return make_closing(GzipFile)(fname, mode)
--> 661     return open(fname, mode)
    662 
    663 

IOError: [Errno 2] No such file or directory: './data/ap/vocab.txt'

Файл Vocab.txt не существует, но, переключившись в каталог, в котором он должен находиться, я обнаружил следующее:

$ ls download_ap.sh download_wp.sh preprocess-wikidata.sh

Похоже, что данные ap нужно загружать отдельно (в книге не упоминается), поэтому, сделав следующее:

sh download_ap.sh

Я получаю это:

download_ap.sh: line 2: wget: command not found
tar: Error opening archive: Failed to open 'ap.tgz'

Кто-нибудь знает, как решить эту проблему?

Спасибо


person Luis Miguel    schedule 01.10.2014    source источник


Ответы (2)


Нет ничего плохого в коде или вашей среде разработки. Наиболее вероятная проблема в том, что у вас нет wget. Та же функциональность может быть достигнута с помощью CURL, если вы хотите его попробовать. Вы также можете загрузить корпус Associated Press непосредственно из другого источника (выполните поиск в Google) и поместить его в каталог, который Gensim использует для учебника.

Если вы хотите следовать руководствам точно так же, как в книге, вам, вероятно, потребуется установить wget, который для OS X (я предполагаю, что это ваша система) требует небольшой настройки. Чтобы добавить и установить wget в OS X, вам необходимо загрузить исходные файлы, скомпилировать код и выполнить установку. Чтобы действительно скомпилировать код, вам понадобится компилятор, к сожалению, он не входит в состав OS X по умолчанию. Сначала вам нужно установить пакет xcode от Apple, который включает компилятор GCC.

В этом сообщении объясняется, как это сделать, шаг за шагом.

Надеюсь, это сработает.

person headdetective    schedule 01.10.2014

На вашем компьютере не установлен wget, вы используете Windows с Cygwin? загрузите файл со страницы http://www.cs.princeton.edu/~blei/lda-c/ap.tgz, распакуйте его и поместите в нужную папку.

person Ofer Helman    schedule 01.10.2014