gensim «ValueError: неверный формат в файле» при запуске функции LsiModel на корпусе Blei - PullRequest
0 голосов
/ 24 октября 2019

Я использую gensim 3.8.0 в дистрибутиве Anaconda 5.1.0 Python 2.7.14 на моем ноутбуке. Я подготовил свою матрицу документов терминов и файлы словаря так же, как делал это в прошлом, но получаю сообщение ValueError, когда пытаюсь запустить функцию LsiModel в моем корпусе. Я прочитал все учебники и другую документацию, но не могу понять, что мне не хватает. Кто-нибудь может дать некоторое представление? Заранее спасибо. :)

-> Вот копия-вставка моего терминала QtConsole:

import logging
logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO)
import numpy as numpy
import scipy
from scipy.misc import logsumexp
from scipy.sparse import csc_matrix
from scipy.special import gammaln, psi
from gensim import corpora, interfaces, matutils, models, similarities, utils

2019-10-24 09: 11: 11,499: INFO: пакет 'pattern' не найден;фильтры тегов недоступны для английского языка

corpus = corpora.bleicorpus.BleiCorpus('file:~/NameOfFile.txt', fname_vocab='file:~/NameOfFile.vocab')

2019-10-24 09: 11: 23,430: ИНФОРМАЦИЯ: загрузка корпуса из файла: ~ / NameOfFile.txt

dict = corpus.id2word
mymodel = models.LsiModel(corpus, id2word=dict, num_topics=5)

2019-10-24 09: 11: 36,127: INFO: использование серийной версии LSI на этом узле
2019-10-24 09: 11: 36,128: INFO: обновление модели с использованием новойдокументы
ValueError: неверный формат в файле: ~ / NameOfFile.txt: '1 8:14 17:19 23:21 38:20 41: 2 52: 7 54: 3 70: 1 80: 2 81: 3 90: 1 101: 10 \ n '


-> Вот полное сообщение об ошибке:

ValueErrorTraceback (most recent call last)
<ipython-input-4-7cd66919d5d1> in <module>()
----> 1 mymodel = models.LsiModel(corpus, id2word=dict, num_topics=5)
/anaconda2/lib/python2.7/site-packages/gensim/models/lsimodel.pyc in __init__(self, corpus, num_topics, id2word, chunksize, decay, distributed, onepass, power_iters, extra_samples, dtype)
    443 
    444         if corpus is not None:
--> 445             self.add_documents(corpus)
    446 
    447     def add_documents(self, corpus, chunksize=None, decay=None):
/anaconda2/lib/python2.7/site-packages/gensim/models/lsimodel.pyc in add_documents(self, corpus, chunksize, decay)
    489                     logger.info('initializing %s workers', self.numworkers)
    490                     self.dispatcher.reset()
--> 491                 for chunk_no, chunk in enumerate(utils.grouper(corpus, chunksize)):
    492                     logger.info("preparing a new chunk of documents")
    493                     nnz = sum(len(doc) for doc in chunk)
/anaconda2/lib/python2.7/site-packages/gensim/utils.pyc in chunkize_serial(iterable, chunksize, as_numpy, dtype)
   1168             wrapped_chunk = np.array(doc, dtype=dtype) for doc in itertools.islice(it, int(chunksize))
   1169         else:
-> 1170             wrapped_chunk = list(itertools.islice(it, int(chunksize)))
   1171         if not wrapped_chunk0:
   1172             break
/anaconda2/lib/python2.7/site-packages/gensim/corpora/bleicorpus.pyc in __iter__(self)
     91         with utils.open(self.fname, 'rb') as fin:
     92             for lineno, line in enumerate(fin):
---> 93                 yield self.line2doc(line)
     94         self.length = lineno + 1
     95 
/anaconda2/lib/python2.7/site-packages/gensim/corpora/bleicorpus.pyc in line2doc(self, line)
    110         parts = utils.to_unicode(line).split()
    111         if int(parts0) != len(parts) - 1:
--> 112             raise ValueError("invalid format in %s: %s" % (self.fname, repr(line)))
    113         doc = part.rsplit(':', 1) for part in parts1:
    114         doc = (int(p1), float(p2)) for p1, p2 in doc
ValueError: invalid format in file:~/NameOfFile.txt: '1 8:14 17:19 23:21 38:20 41:2 52:7 54:3 70:1 80:2 81:3 90:1 101:10 \n'
...