结巴分词安装与使用





1.下载

     结巴分词包下载地址:http://download.csdn.net/detail/robin_xu_shuai/9691188

2.安装

     将其解压到任意目录下,然后打开命令行进入该目录执行:python setup.py install 进行安装

     (放到任意目录执行安装即可,setup.py会帮你安装到相应位置)

3.测试

      安装完成后,进入python交互环境,import jieba 如果没有报错,则说明安装成功。如下图所示

      

4.使用

(1)分词

结巴分词支持3中分词模式:

1,全模式:把句子中的所有可以成词的词语都扫描出来,

2, 精确模式:试图将文本最精确的分开,适合于做文本分析。

3,搜索引擎模式:在精确的基础上对长词进行进一步的切分。

函数jieba.cut接受两个输入参数,第一个是将要分词的对象,第二个是采用的模式。该函数返回的是一个可以迭代的generator, 可以使用for循环得到分词后得到的每一个词语。

示例:

[python]  view plain  copy
  1. # -*- coding: utf-8 -*-  
  2. import jieba  
  3.   
  4. seg_list = jieba.cut("香农在信息论中提出的信息熵定义为自信息的期望", cut_all=True)  
  5. print(" ".join(seg_list))  
  6. seg_list = jieba.cut("香农在信息论中提出的信息熵定义为自信息的期望")  
  7. print(" ".join(seg_list))  
  8.   
  9. seg_list = jieba.cut_for_search("香农在信息论中提出的信息熵定义为自信息的期望")  
  10. print(" ".join(seg_list))
其分词的结果分别为:

(2)添加自定义词典

用户可以添加自定义的词典来包含结巴词库中没有的词。(在以上示例中没有分出“自信息”这个词)

用法: jieba.load_userdict("userdict1.txt")

在文件userdict1.txt中添加以下的内容:自信息 5

[python]  view plain  copy
  1. import jieba  
  2. import jieba.analyse  
  3. jieba.load_userdict("userdict1.txt")  
  4.   
  5. seg_list = jieba.cut("香农在信息论中提出的信息熵定义为自信息的期望", cut_all=True)  
  6. print(" ".join(seg_list))

(原来识别不出来的“自信息”现在可以了)

(3)提取关键词

用法:tags = jieba.analyse.extract_tags("sentence", topK=k),其中topK默认值是20

在关键词提取时,可以添加停用词:jieba.analyse.set_stop_words("extra_dict/stop_words.txt"),目的是将一些没有意义的词去掉。

[python]  view plain  copy
  1. import jieba  
  2. import jieba.analyse  
  3. jieba.load_userdict("userdict1.txt")  
  4. jieba.analyse.set_stop_words("extra_dict/stop_words.txt")  
  5.   
  6. seg_list = jieba.cut("香农在信息论中提出的信息熵定义为自信息的期望", cut_all=True)  
  7. print(" ".join(seg_list))  
  8. print('关键词提取的结果如下:')  
  9. tags = jieba.analyse.extract_tags("香农在信息论中提出的信息熵定义为自信息的期望", topK=10)  
  10. print(",".join(tags))

(4)实例:对文件进行分词

[python]  view plain  copy
  1. # -*- coding: utf-8 -*-  
  2.   
  3. import jieba  
  4. import jieba.analyse  
  5. jieba.load_userdict("userdict1.txt")  
  6. jieba.analyse.set_stop_words("extra_dict/stop_words.txt")  
  7.   
  8. def splitSentence(inputFile, outputFile):  
  9.     fin = open(inputFile, 'r', encoding='utf-8')  
  10.     fout = open(outputFile, 'w', encoding='utf-8')  
  11.     for line in fin:  
  12.         line = line.strip()  
  13.         line = jieba.analyse.extract_tags(line)  
  14.         outstr = " ".join(line)  
  15.         print(outstr)  
  16.         fout.write(outstr + '\n')  
  17.     fin.close()  
  18.     fout.close()  
  19.   
  20. splitSentence('input.txt''output.txt')

详细使用请见另一篇文章:python中结巴分词快速入门


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小白旗

您的鼓励是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值