Python用sklearn文本识别和jieba库实现对中文关键词提取统计

一、代码

from sklearn.feature_extraction.text import CountVectorizer
import jieba
def cut_word(text):
    #中文分词dpi
    text=" ".join(list(jieba.cut(text)))#空格隔开每个词
    #print(text)
    return text

def count_chinese():
    
    #分词
    data=["勇者愤怒,抽刃向更强者;怯者愤怒,却抽刃向更弱者。",
          "我之所谓生存,并不是苟活,所谓温饱,不是奢侈,所谓发展,也不是放纵。",
          "悲剧将人生的有价值的东西毁灭给人看,喜剧将那无价值的撕破给人看。"]
    data_new=[]#接收拆分后的数据
    for sent in  data:
        data_new.append(cut_word(sent))
    #print(data_new)
    
    #处理
    transfer=CountVectorizer(stop_words=["不是"])#实例化转换类,设置禁用词
    data_final=transfer.fit_transform(data_new)
    print(data_final.toarray())#输出非稀疏数组
    print(transfer.get_feature_names_out())#查看特征名

二、运行结果

Python用sklearn文本识别和jieba库实现对中文关键词提取统计_第1张图片

补:每行数体现每个词出现的次数,三行数就是三句话,而特征名字对应每行数据中每个次数所对应的词

(例如:东西在第一句话中并未出现,所以第一句话所对应的第一个数组的第一个数就是0)

三、优化思路

1.将转换器设置为Tfidf进行重要程度的评估显示,来完成对所谓关键词进行提取

from sklearn.feature_extraction.text import CountVectorizer,TfidfVectorizer
import jieba
def cut_word(text):
    text=" ".join(list(jieba.cut(text)))#空格隔开每个词
    #print(text)
    return text

def count_chinese():
    data=["勇者愤怒,抽刃向更强者;怯者愤怒,却抽刃向更弱者。",
          "我之所谓生存,并不是苟活,所谓温饱,不是奢侈,所谓发展,也不是放纵。",
          "悲剧将人生的有价值的东西毁灭给人看,喜剧将那无价值的撕破给人看。"]
    data_new=[]#接收拆分后的数据
    for sent in  data:
        data_new.append(cut_word(sent))
    #print(data_new)
    transfer=TfidfVectorizer(stop_words=["不是"])#实例化转换类,设置禁用词
    data_final=transfer.fit_transform(data_new)
    print(data_final.toarray())
    print(transfer.get_feature_names_out())

2.改变处:

Python用sklearn文本识别和jieba库实现对中文关键词提取统计_第2张图片

3.运行结果:

Python用sklearn文本识别和jieba库实现对中文关键词提取统计_第3张图片

 

 

你可能感兴趣的:(python数据挖掘,sklearn,python,人工智能)