怀着好奇的心情,体验一把“结巴”Python中文分词组件威力,感觉很不错、很好用。
特点
支持三种分词模式:
- 精确模式,试图将句子最精确地切开,适合文本分析;
- 全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义;
- 搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。
- 支持繁体分词
- 支持自定义词典
- MIT 授权协议
实例
import jieba
sentence = "我来到北京清华大学"
words = jieba.cut(sentence)
print(list(words))
words = jieba.cut(sentence, True)
print(list(words))
words = jieba.cut_for_search(sentence)
print(list(words))
三种方法分别输出:
['我', '来到', '北京', '清华大学']
['我', '来到', '北京', '清华', '清华大学', '华大', '大学']
['我', '来到', '北京', '清华', '华大', '大学', '清华大学']
提取关键词
基于 TF-IDF 算法的关键词提取
主要方法:jieba.analyse.extract_tags()。
示例:从一大段文字中,提取权重最大的10个词:
import jieba.analyse
sentence = "此处输入一段从《抖音短视频平台视频推荐模式研究》论文摘要的文字"
lst = list(jieba.analyse.extract_tags(sentence, topK=10, withWeight=True))
print(lst)
输出:
[('用户', 0.3929094073121466), ('算法', 0.31852534290005236), ('抖音', 0.31295202887172774), ('推荐', 0.20325666874565446), ('相似', 0.16927801753507857), ('信息', 0.16504274427549737), ('较为', 0.15097863326570682), ('兴趣', 0.14392620355853403), ('视频', 0.12655183091528796), ('程度', 0.10815390430659685)]
基于 TextRank 算法的关键词提取
主要方法:jieba.analyse.textrank()
同上面一样,对一段文字进行分词,提取权重最大的10个词:
import jieba.analyse
wds = jieba.analyse.textrank(sentence, topK=10, withWeight=True)
print(list(wds))
输出如下所示,两种方法结果答题有一定的差别。
[('用户', 1.0), ('推荐', 0.6122913546507132), ('相似', 0.4939847911677193), ('算法', 0.46654154935931447), ('程度', 0.43711703709780986), ('内容', 0.42872521331577557), ('兴趣', 0.4129996434929276), ('信
息', 0.4106703555516279), ('使用', 0.36742653835488254), ('基本', 0.2946577883247287)]











网友评论