你需要付出的,只是心底里那点小小的温软,从此坚硬如铁。
结巴分词三种模式
支持3中分词模式:
1.全模式:把句子中的所有可以成词的词语都扫描出来,使用方法:jieba.cut(“字符串”, cut_all=True, HMM=False)
2.精确模式:试图将文本最精确的分开,适合于做文本分析。使用方法:jieba.cut(“字符串”, cut_all=False, HMM=True)
3.搜索引擎模式:在精确的基础上对长词进行进一步的切分。使用方法:jieba.cut_for_search(“字符串”, HMM=False)
函数jieba.cut接受三个参数,cut(sentence, cut_all=False, HMM=True)。
其中sentence–>输入文本,cut_all–>是否为全模式分词,HMM–>是否开启HMM进行中文分词。返回的是一个迭代器,使用for循环得到分词后得到的每一个词语。
代码演示
import sys
import jieba
import jieba.analyse
reload(sys)
sys.setdefaultencoding('utf-8')
data_str='可你觉得孤独又能怎么样啊?你觉得孤独也不过是心情更差而已嘛。以前没什么人跟你说话,你觉得孤独,也还是没人跟你说话啊。'
精准匹配
print '/'.join(jieba.cut(data_str,cut_all=False,HMM=True))
运行结果:
可/你/觉得/孤独/又/能/怎么样/啊/?/你/觉得/孤独/也/不过/是/心情/更差/而已/嘛/。/以前/没什么/人/跟/你/说话/,/你/觉得/孤独/,/也/还是/没人/跟/你/说话/啊/。
全文匹配
print '/'.join(jieba.cut(data_str,cut_all=True,HMM=True))
运行结果:
可/你/觉得/孤独/又/能/怎么/怎么样/啊///你/觉得/孤独/也/不过/是/心情/更/差/而已/嘛///以前/没什么/什么/人/跟/你/说话///你/觉得/孤独///也/还是/没人/跟/你/说话/啊//
搜索引擎模式
print '/'.join(jieba.cut_for_search(data_str,HMM=True))
运行结果:
可/你/觉得/孤独/又/能/怎么/怎么样/啊/?/你/觉得/孤独/也/不过/是/心情/更差/而已/嘛/。/以前/什么/没什么/人/跟/你/说话/,/你/觉得/孤独/,/也/还是/没人/跟/你/说话/啊/。
提取关键词
print '/'.join(jieba.analyse.extract_tags(data_str))
运行结果:
孤独/觉得/更差/说话/没人/没什么/而已/怎么样/心情/以前/不过/还是
提高分词准确性
1 在结巴中添加词语
不添加词语的话是这样的
data_strs='如果黑暗中的蛾子曾经体会过那么一点点光,它也不会不惜把整个世界都烧起来,只为了让自己暖和起来。'
print '/'.join(jieba.analyse.extract_tags(data_strs,topK=20))
运行结果:
蛾子/暖和/不惜/一点点/起来/体会/黑暗/曾经/整个/为了/那么/不会/世界/如果/自己
添加自定义的词语后
jieba.add_word('黑暗中的蛾子')
print '/'.join(jieba.analyse.extract_tags(data_strs,topK=20))
运行结果:
黑暗中的蛾子/暖和/不惜/一点点/起来/体会/曾经/整个/为了/那么/不会/世界/如果/自己
可以看到提取的关键词改变了,这种方法适用于小型的提取关键词方法,如果数据量很大的话,可以吧自定义的关键词保存在一个字典(就是使用新的词库)里面,然后调用这个字典即可。
2 添加自定义词库
首先下载或者配置好一个词库,然后加载一下即可。(路径不要弄错了,可以放在当前目录下)
词典格式和 dict.txt 一样,一个词占一行;每一行分三部分:词语、词频(可省略)、词性(可省略),用空格隔开,顺序不可颠倒。file_name 若为路径或二进制方式打开的文件,则文件必须为 UTF-8 编码。
字典的格式:
云计算 5
李小福 2 nr
创新办 3 i
easy_install 3 eng
好用 300
韩玉赏鉴 3 nz
八一双鹿 3 nz
台中
凱特琳 nz
Edu Trust认证 2000
加载字典:
jieba.load_userdict("userdict.txt")
后面的代码就和前面一样了。