首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >一份文件清单

一份文件清单
EN

Stack Overflow用户
提问于 2015-12-11 02:44:28
回答 1查看 1K关注 0票数 0

我有一个文档列表(TDT2语料库),我想使用tfidf从其中获取一个词汇表。使用textblob需要花费很长时间,而且我不认为它会在5-6天之前产生一个词汇表。还有什么其他的技巧可以做吗?我遇到了scikit-学习的tfidf技术,但我担心它也将花费同样的时间。

代码语言:javascript
复制
    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)

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-11 02:48:35

我认为results应该只是一个list,而不是listlist?如果是这样的话,改变一下:

代码语言:javascript
复制
results.append(line.strip().split('\n'))

至:

代码语言:javascript
复制
results.extend(line.strip().split('\n'))

appendsplit返回的整个list作为results list中的单个元素添加;extend将从list返回的项单独添加到results中。

备注:书面

代码语言:javascript
复制
blob=[]
for line in results:
    blob.append(line)

只是在缓慢地复制results。您可以用blob = results[:]blob = list(results)来代替它(后者比较慢,但是如果您不知道什么类型的可迭代results,并且需要它是一个list,而不是其他东西,那就是这样做的)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34215300

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档