我在python中有一个字符串列表。
list = [ "Sentence1. Sentence2...", "Sentence1. Sentence2...",...]
我想删除停用词并计算所有不同字符串组合的每个单词的出现次数。有一个简单的方法吗?
我目前正在考虑使用scikit中的CountVectorizer(),而不是迭代每个单词并组合结果
答案 0 :(得分:1)
如果您不介意安装新的python库,我建议您使用gensim。 第一个教程完全符合您的要求:
# remove common words and tokenize
stoplist = set('for a of the and to in'.split())
texts = [[word for word in document.lower().split() if word not in stoplist]
for document in documents]
然后,您需要为您的文档语料库创建字典并创建词袋。
dictionary = corpora.Dictionary(texts)
dictionary.save('/tmp/deerwester.dict') # store the dictionary, for future
print(dictionary)
您可以使用tf-idf和stuff对结果进行加权,并在之后很容易地进行LDA。
查看教程1 here
答案 1 :(得分:0)
您未能彻底解释您的想法,但这可能是您正在寻找的内容:
counts = collections.Counter(' '.join(your_list).split())