Я использую 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'