繁体   English   中英

Gensim中计算tf-idf的问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM