当前位置:   article > 正文

python之jieba分词库

python之jieba分词库

一、jieba库基本介绍

  (1)、jieba库概述

         jieba是优秀的中文分词第三方库

         - 中文文本需要通过分词获得单个的词语
         - jieba是优秀的中文分词第三方库,需要额外安装

         - jieba库提供三种分词模式,最简单只需掌握一个函数

  (2)、jieba分词的原理

         Jieba分词依靠中文词库

         - 利用一个中文词库,确定汉字之间的关联概率
         - 汉字间概率大的组成词组,形成分词结果

         - 除了分词,用户还可以添加自定义的词组

二、jieba库使用说明

  (1)、jieba分词的三种模式

         精确模式、全模式、搜索引擎模式

         - 精确模式:把文本精确的切分开,不存在冗余单词
         - 全模式:把文本中所有可能的词语都扫描出来,有冗余

         - 搜索引擎模式:在精确模式基础上,对长词再次切分

  (2)、jieba库常用函数

  1. #-*- coding:utf-8-*-
  2. __author__="huitao"
  3. import jieba
  4. str="python怎么安装jieba库这个模块,很多ytho初学者有时候需要用到jiea库,但是不清楚怎么安装,下面来分享下安装jiea库的方法"
  5. def jieci():
  6. listos=jieba.lcut(str)
  7. print(listos)
  8. for p in listos:
  9. print(p)
  10. #通过文件读取分词,进行统计词语出现的次数
  11. def duTxt():
  12. txt = open("../htt.txt", "r", encoding='utf-8').read()
  13. words = jieba.lcut(txt) # 使用精确模式对文本进行分词
  14. counts = {} # 通过键值对的形式存储词语及其出现的次数
  15. for word in words:
  16. if len(word) == 1: # 单个词语不计算在内
  17. continue
  18. else:
  19. counts[word] = counts.get(word, 0) + 1 # 遍历所有词语,每出现一次其对应的值加 1
  20. items = list(counts.items()) # 将键值对转换成列表
  21. items.sort(key=lambda x: x[1], reverse=True) # 根据词语出现的次数进行从大到小排序
  22. for i in range(15):
  23. word, count = items[i]
  24. print("{0:<5}{1:>5}".format(word, count))
  25. #停用词提取
  26. def tyc():
  27. stripword=[line.strip() for line in open("../hui.txt",ecoding="utf-8").readline()]
  28. return stripword
  29. # 对句子进行中文分词
  30. def seg_depart(sentence):
  31. # 对文档中的每一行进行中文分词
  32. print("正在分词")
  33. sentence_depart = jieba.cut(sentence.strip())
  34. # 创建一个停用词列表
  35. stopwords = tyc()
  36. # 输出结果为outstr
  37. outstr = ''
  38. # 去停用词
  39. for word in sentence_depart:
  40. if word not in stopwords:
  41. if word != '\t':
  42. outstr += word
  43. outstr += " "
  44. return outstr
  45. if __name__=="__main__":
  46. jieci()
  47. duTxt()
  48. #文件路径
  49. filename="In.txt";
  50. outfilename="out.txt";
  51. inputs=open(filename,'rb')
  52. outputs=open(outfilename,'r')
  53. # 将输出结果写入ou.txt中
  54. for line in inputs:
  55. line_seg=seg_depart(line)
  56. outputs.write(line_seg+'\n')
  57. inputs.close()
  58. outputs.close()
  59. #inputs里面就存储了去除停用词的文本
  60. #outputs里面就存储了需要保留的文本内容

亲测可以使用!!!!!!!

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

闽ICP备14008679号