сохранение и загрузка нескольких осколков, сделанных по модели подобия gensim - PullRequest
0 голосов
/ 30 октября 2019

Мои данные имеют более 1 миллиона строк и, обучая модель подобия Генсима, создают несколько файлов .sav (model.sav, model.sav.0, model.sav.1 и т. Д.). Проблема заключается в том, что при загрузке загружается только одна часть, а не все части, что приводит к ужасным результатам при прогнозировании. Параметры / опции не работают в соответствии с документацией gensim.

В соответствии с документацией gensim - https://radimrehurek.com/gensim/similarities/docsim.html Сохранение как дескриптор файла и предоставление следующих параметров должно сработать -:

  1. model.save (fname_or_handle, отдельно = None)
  2. model.load (filepath, mmap = 'r')

Даже пытался -

  1. выбрать файлы .sav (это выбирает только 1-й фрагмент, то есть model.sav)
  2. сжимать все части в файл .gz (сжимает только один фрагмент, а не все части), а такжедает какую-то ошибку рассола.
tf_idf = gensim.models.TfidfModel(corpus)

sims = gensim.similarities.Similarity('./models/model.sav',tf_idf[corpus],
                                          num_features=len(dictionary))
sims.save('./models/model.sav')

sims1 = gensim.similarities.Similarity.load(./models/model.sav)

Ожидаемые результаты должны давать все соответствующие документы из корпуса, но это дает только из model.sav (файл, упомянутый при загрузке). Он даже не выполняет другие осколки. Я проверил результат каждого сегмента.

Вопрос: Как использовать все вложенные файлы модели gensim для прогнозирования сходства моего тестового документа, БЕЗ циклического просмотра каждого вложенного файла в отдельности, а затем представления объединения этих результатов.

1 Ответ

0 голосов
/ 04 ноября 2019

Насколько я понимаю, «model.sav» служит своего рода каталогом для доступа ко всем фактическим осколкам подобия.

Каков ваш вывод из len (sims1)? Запустив приведенный выше код в корпусе из 65 536 записей (создает ровно два шарда), я могу сохранить и загрузить корпус и проверить, что он имеет 65 536 документов. Я также могу добавить документы и дальнейшее сохранение / загрузка.

...