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() 返回单词列表
运行结果如下:

本文介绍了一个使用jieba进行中文分词的示例,并解决了分词过程中的常见错误。此外,还展示了如何利用sklearn的CountVectorizer进行文本特征抽取,包括停用词设置和特征值统计。
523

被折叠的 条评论
为什么被折叠?



