[英]Issues in calculating tf-idf in gensim
我正在使用Gensim为我的语料库计算tf-idf分数,如下所述。
corpus=['human interface computer',
'survey user computer system response time',
'eps user interface system',
'system human system eps',
'user response time']
我当前的代码如下。
dictionary = corpora.Dictionary(line.lower().split() for line in corpus)
class MyCorpus(object):
def __iter__(self):
for line in corpus:
yield dictionary.doc2bow(line.lower().split())
corpus = MyCorpus()
tfidf = models.TfidfModel(corpus)
corpus_tfidf = tfidf[corpus]
但是,我收到错误RecursionError: maximum recursion depth exceeded while calling a Python object
(PS:如果我的代码错误,我很高兴拥有其他代码)。 请帮助我计算当前语料库的tf-idf值。 此外,我想获得在我的语料库中具有最高tf-idf分数的3个术语。
请帮我!
好吧,您正在将原始corpus
列表重新定义为MyCorpus
对象,因此,当尝试对其进行迭代时,这无疑将进入无限递归(因为您在__iter__
方法中对corpus
进行了迭代)。 也许您想定义my_corpus = MyCorpus()
? 否则,请解释您要做什么...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.