【发布时间】:2018-09-19 18:41:12
【问题描述】:
所以我有以下已标记的列表列表:
tokenized_list = [['ALL', 'MY', 'CATS', 'IN', 'A', 'ROW'], ['WHEN', 'MY',
'CAT', 'SITS', 'DOWN', ',', 'SHE', 'LOOKS', 'LIKE', 'A',
'FURBY', 'TOY', '!'], ['THE', CAT', 'FROM', 'OUTER',
'SPACE'], ['SUNSHINE', 'LOVES', 'TO', 'SIT',
'LIKE', 'THIS', 'FOR', 'SOME', 'REASON', '.']]
当我尝试使用 CountVectorizer() 或 TfIdfVectorizer() 对其进行矢量化时
from sklearn.feature_extraction.text import CountVectorizer
vectorizer = CountVectorizer()
print(vectorizer.fit_transform(tokenized_list).todense())
print(vectorizer.vocabulary_)
我收到以下错误:
AttributeError: 'list' object has no attribute 'lower'
如果我将 simple list 放在 vectorizer.fit_transform() 函数中,它可以正常工作。
如何消除此错误?
【问题讨论】:
-
您想要展平列表。
-
我只是想在nlp中构建词袋模型的过程中使用count vectorizer函数。扁平化是什么意思?抱歉,刚接触这个。
-
读取链接的副本。
-
您可以使用
tokenized_list = [' '.join(inner_list) for inner_list in tokenized_list]将内部列表转换为字符串 -
嗨维维克!谢谢!我得到了想要的结果。
标签: python pandas scikit-learn nlp countvectorizer