Tfidf的文件清单

时间:2015-12-11 02:44:29

标签: python scikit-learn tf-idf

我有一份文件清单(TDT2语料库),我希望使用tfidf从中获取词汇。使用textblob是永远的,我不认为它在5-6天之前产生词汇量给定速度。有没有其他技术可以解决这个问题?我遇到了scikit-learn的tfidf技术,但我担心它也需要相同的时间。

    from sklearn.feature_extraction.text import CountVectorizer

    results = []
    with open("/Users/mxyz/Documents/wholedata/X_train.txt") as f:
        for line in f:
            results.append(line.strip().split('\n'))

    blob=[]
    for line in results:
        blob.append(line)


    count_vect= CountVectorizer()


   counts=count_vect.fit_transform(blob)
   print(counts.shape)

这会导致产生关于不接受列表的错误,并且该列表没有更低的值。

1 个答案:

答案 0 :(得分:1)

我认为results应该只是list,而不是list的{​​{1}}?如果是这种情况,请更改:

list

为:

results.append(line.strip().split('\n'))

results.extend(line.strip().split('\n')) append返回的整个list添加为split results中的单个元素; list正在逐个添加extendlist的项目。

旁注:正如所写

results

只是慢慢地对blob=[] for line in results: blob.append(line) 进行浅层复制。您可以将其替换为resultsblob = results[:](后者速度较慢,但​​如果您不知道可迭代的blob = list(results)是什么类型,则需要它为{{{ 1}}而不是别的,那是你怎么做的。)