【Python 数据分析】jieba文本挖掘
jieba是一个强大的分词库,完美支持中文分词
安装jieba
使用命令安装
pip install jieba
出现上图表示安装成功了
jieba分词模式
全模式
全模式:试图将句子精确地切开,适合文本分析,输出的是多有可能的分词组合
import jieba str = "我是一个中国人" word1 = jieba.cut(str,cut_all=True) for item in word1: print(item)
运行结果:
我
是
一个
中国
国人
精确模式
精确模型:把句子中所有的可以分词的词语都扫描出来,速度非常快,但不能解决歧义
注意:没有参数cut_all的情况下,默认为精确模式
import jieba str = "我是一个中国人" #word1 = jieba.cut(str) word1 = jieba.cut(str,cut_all=False) for item in word1: print(item)
运行结果:
我
是
一个
中国
人
搜索引擎模式
搜索引擎模式:在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词
import jieba str = "我是一个中国人" word1 = jieba.cut_for_search(str) for item in word1: print(item)
词性标注
使用jieba.posseg可以对词性进行标注
import jieba.posseg str = "我是一个中国人" word1 = jieba.posseg.cut(str) #.flag 词性 #.word 词语 for item in word1: print(item.word+"--"+item.flag)
运行结果:
我--r
是--v
一个--m
中国--ns
人--n
词性说明
自定义词库
例如:我们现在想对句子【豆花鱼是一种很好吃的鱼】做一次分词
import jieba.posseg str = "豆花鱼是一种很好吃的鱼" word1 = jieba.posseg.cut(str) for item in word1: print(item.word+"--"+item.flag)
分词结果:
豆花--n
鱼--n
是--v
一种--m
很--zg
好吃--v
的--uj
鱼—n
【分析】按理来说,豆花鱼是一个名词,但是现在词库没有这个名词,所以分错了
那么接下来我们就自定义分词词库
找到路径C:\Users\OLIVER\AppData\Local\Programs\Python\Python36\Lib\site-packages\jieba下
我们可以看到现在存在一个dict.txt文件,那么我们现在新建一个文件Add_dict.txt
接着我们引入该词库进行分词
import jieba.posseg #引入词库 jieba.load_userdict("C:/Users/OLIVER/AppData/Local/Programs/Python/Python36/Lib/site-packages/jieba/Add_dict.txt") str = "豆花鱼是一种很好吃的鱼" word1 = jieba.posseg.cut(str) for item in word1: print(item.word+"--"+item.flag)
运行结果:
豆花鱼--nz
是--v
一种--m
很--zg
好吃--v
的--uj
鱼—n
我们从上述的结果中可以清晰看到【豆花鱼】已经变成一个其他专有名词了。
注意:新增的词库每次使用都需要引用,它不是一次引入终生使用的
作者:奔跑的金鱼
声明:书写博客不易,转载请注明出处,请支持原创,侵权将追究法律责任
个性签名:人的一切的痛苦,本质上都是对自己无能的愤怒
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!