当前位置:   article > 正文

Python用sklearn文本识别和jieba库实现对中文关键词提取统计_如何用python识别jieba词库中的关键字从而筛选文件

如何用python识别jieba词库中的关键字从而筛选文件

一、代码

  1. from sklearn.feature_extraction.text import CountVectorizer
  2. import jieba
  3. def cut_word(text):
  4. #中文分词dpi
  5. text=" ".join(list(jieba.cut(text)))#空格隔开每个词
  6. #print(text)
  7. return text
  8. def count_chinese():
  9. #分词
  10. data=["勇者愤怒,抽刃向更强者;怯者愤怒,却抽刃向更弱者。",
  11. "我之所谓生存,并不是苟活,所谓温饱,不是奢侈,所谓发展,也不是放纵。",
  12. "悲剧将人生的有价值的东西毁灭给人看,喜剧将那无价值的撕破给人看。"]
  13. data_new=[]#接收拆分后的数据
  14. for sent in data:
  15. data_new.append(cut_word(sent))
  16. #print(data_new)
  17. #处理
  18. transfer=CountVectorizer(stop_words=["不是"])#实例化转换类,设置禁用词
  19. data_final=transfer.fit_transform(data_new)
  20. print(data_final.toarray())#输出非稀疏数组
  21. print(transfer.get_feature_names_out())#查看特征名

二、运行结果

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

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

三、优化思路

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

  1. from sklearn.feature_extraction.text import CountVectorizer,TfidfVectorizer
  2. import jieba
  3. def cut_word(text):
  4. text=" ".join(list(jieba.cut(text)))#空格隔开每个词
  5. #print(text)
  6. return text
  7. def count_chinese():
  8. data=["勇者愤怒,抽刃向更强者;怯者愤怒,却抽刃向更弱者。",
  9. "我之所谓生存,并不是苟活,所谓温饱,不是奢侈,所谓发展,也不是放纵。",
  10. "悲剧将人生的有价值的东西毁灭给人看,喜剧将那无价值的撕破给人看。"]
  11. data_new=[]#接收拆分后的数据
  12. for sent in data:
  13. data_new.append(cut_word(sent))
  14. #print(data_new)
  15. transfer=TfidfVectorizer(stop_words=["不是"])#实例化转换类,设置禁用词
  16. data_final=transfer.fit_transform(data_new)
  17. print(data_final.toarray())
  18. print(transfer.get_feature_names_out())

2.改变处:

3.运行结果:

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/148609
推荐阅读
相关标签
  

闽ICP备14008679号