jieba分词
先上错误代码:
def cut_word(text):
# 中文分词
text_new = jieba.cut(text)
return " ".join(list(text_new))
data2 = ['沉香燃明灭', '灰屑散不尽', '前尘空断肠', '相思了无益']
cut_word(data2)
运行之后,就会报错'list' object has no attribute 'decode'
修改代码如下:
def cut_word(text):
# 中文分词
text_new = jieba.lcut(str(text))
return " ".join(text_new)
这样再运行就可以了。
完整的jieba分词+sklearn文本特征提取代码如下:
def cut_word(text):
# 中文分词
text_new = jieba.lcut(str(text))
return " ".join(text_new)
def count_chinese_demo(data):
# 中文文本特征抽取
data_new = []
for sent in data:
sent_new = cut_word(sent)
data_new.append(sent_new)
print(data_new)
# 1.实例化一个转换器类
transfer = CountVectorizer()
# 2.调用fit_transform()
data_new = transfer.fit_transform(data_new)
print('new_data:\n', data_new.toarray())
print('特征名字:\n', transfer.get_feature_names())
return None
data2 = ['沉香燃明灭', '灰屑散不尽', '前尘空断肠', '相思了无益']
count_chinese_demo(data2)
补充说明: sklearn文本特征抽取CountVectorizer用法 sklearn.feature_extraction.text.CountVectorizer(stop_words=[]) stop_words 停用词列表 返回词频矩阵 CountVectorizer.fit_transform(x) 统计特征值出现的个数 x 文本或者包含文本字符串的可迭代对象 返回值:返回sparse矩阵 CountVectorizer.inverse_transform(x) 反变换 CountVectorizer.get_feature_names() 返回单词列表
运行结果如下:文章来源:https://www.toymoban.com/news/detail-519433.html
文章来源地址https://www.toymoban.com/news/detail-519433.html
到了这里,关于jieba分词+sklearn文本特征提取时报错‘list‘ object has no attribute ‘decode‘的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!