Python+jieba学习总结

一、 Python及其依赖包安装:

  1. 官网https://www.python.org/下载python2.7,直接双击安装包进行安装,然后配置系统环境变量的path变量,添加:
    C:\install\Python\Python37 和 C:\install\Python\Python37\Scripts
    在dos窗口中,执行python,可以看到提示信息:
    在这里插入图片描述
    表示安装成功;通过python -m pip list可以查看已经安装的pythonj包;
  2. 安装matlpotlib、pandas、scipy、scikit-learn、xgboost
    在这里插入图片描述
  3. 安装和使用IPython和IPython Notebook
    (参考:https://blog.youkuaiyun.com/qq_37423198/article/details/76180905)

二、 jieba使用:参考

简介
"结巴"中文分词:做最好的Python中文分词组件

● 支持三种分词模式:
(1)精确模式:试图将句子最精确地切开,适合文本分析;
(2)全模式:把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义;
(3)搜索引擎模式:在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。
● 支持繁体分词
● 支持自定义词典

   Algorithm

● 基于Trie树结构实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图(DAG)
● 采用了动态规划查找最大概率路径, 找出基于词频的最大切分组合
● 对于未登录词,采用了基于汉字成词能力的HMM模型,使用了Viterbi算法

   功能 1:分词

jieba.cut 方法接受两个输入参数: 1) 第一个参数为需要分词的字符串 2)cut_all参数用来控制是否采用全模式
jieba.cut_for_search 方法接受一个参数:需要分词的字符串,该方法适合用于搜索引擎构建倒排索引的分词,粒度比较细
(注意:待分词的字符串可以是gbk字符串、utf-8字符串或者unicode)

jieba.cut以及jieba.cut_for_search返回的结构都是一个可迭代的generator,可以使用for循环来获得分词后得到的每一个词语(unicode),也可以用list(jieba.cut(…))转化为list
demo在这里插入图片描述
输出:
功能2:自定义词典补充
开发者可以指定自己自定义的词典,以便包含jieba词库里没有的词。虽然jieba有新词识别能力,但是自行添加新词可以保证更高的正确率

用法: jieba.load_userdict(file_name) # file_name为自定义词典的路径(出错!!!)

词典格式和dict.txt一样,一个词占一行;每一行分三部分,一部分为词语,另一部分为词频,最后为词性(可省略),用空格隔开

示例

功能 3:停用词词库补充
功能 4:词频统计

三、 python读写txt文件,并用jieba库进行中文分词
(matplotlib库,主要是用来绘图;jieba库,对文字进行分词;wordcloud库,构建词云。)

  1. 引入库
    在这里插入图片描述
    (注:加:import io)

  2. 读取TXT文件

#定义一个空字符串
final = “”
#文件夹位置
filename=r"E:\Chinadci\Python_Study\jieba\news2.txt"

#打开文件夹,读取内容,并进行分词
with io.open(filename,‘r’,encoding = ‘gb2312’) as f:
for line in f.readlines():
word = jieba.cut(line)
for i in word:
final = final + i +" "
在这里插入图片描述
3. 构造词云

word_pic = WordCloud(font_path = r’C:\Windows\Fonts\simkai.ttf’,width = 2000,height = 1000).generate(final)
plt.imshow(word_pic)
<matplotlib.image.AxesImage object at 0x000000000BC13860>
#去掉坐标轴

plt.axis(‘off’)
(-0.5, 1999.5, 999.5, -0.5)
#保存图片到相应文件夹

plt.savefig(r’E:\Chinadci\Python_Study\jieba\7.png’)
在这里插入图片描述

  1. 结果(7、 8对比)
    在这里插入图片描述
    7
    在这里插入图片描述
    8

四、 变形(不构造词云,而是直接将分词结果打印出来):

#打开文件夹,读取内容,并进行分词:
with io.open(filename,‘r’,encoding = ‘gb2312’) as f:
for line in f.readlines():
word = jieba.cut(line)
print("Default Mode: " + "/ ".join(word))

在这里插入图片描述

结果:
在这里插入图片描述
f=io.open(‘E:\Chinadci\Python_Study\jieba\news01.txt’,‘r’,encoding=‘utf-8’)

(参考链接:https://blog.youkuaiyun.com/CYJ2014go/article/details/85264016 https://blog.youkuaiyun.com/qq_30262201/article/details/80128076 https://blog.youkuaiyun.com/songrenqing/article/details/80541055)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cherry CSL

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值