jieba--做最好用的中文分词组件详解【3】(基于TF-IDF算法的关键词抽取)
2018-11-17 17:28
357 查看
版权声明:本文为博主原创文章,未经允许,不得转载,如需转载请注明出处 https://blog.csdn.net/ssjdoudou/article/details/84189684
jieba.analyse.TFIDF(idf_path = None)新建TFIDF实例,idf_path为IDF频率文件
写在最前面:
null
基于TF-IDF算法的关键词抽取
[code]import jieba.analyse
jieba.analyse.extract_tags(句子,topK = 20,withWeight = False,allowPOS =()) 句为待提取的文本- topK为返回几个TF / IDF权重最大的关键词,默认值为20
- withWeight为是否一并返回关键词权重值,默认值为False
- allowPOS仅包括指定词性的词,默认值为空,即不筛选
[code]import jieba.analyse jieba.load_userdict("userdict.txt") test_sent = ( "习近平指出,党的十八大以来,在新中国成立特别是改革开放以来我国发展取得的重大成就基础上," "党和国家事业发生历史性变革,我国发展站到了新的历史起点上,中国特色社会主义进入了新的发展阶段。" "中国特色社会主义不断取得的重大成就,意味着近代以来久经磨难的中华民族实现了从站起来、富起来到强起来的历史性飞跃," "意味着社会主义在中国焕发出强大生机活力并不断开辟发展新境界," "意味着中国特色社会主义拓展了发展中国家走向现代化的途径,为解决人类问题贡献了中国智慧、提供了中国方案。" "全党要提高战略思维能力,不断增强工作的原则性、系统性、预见性、创造性,按照新要求制定党和国家大政方针,完善发展战略和各项政策,以新的精神状态和奋斗姿态把中国特色社会主义推向前进。" ) '''newwords = jieba.analyse.extract_tags(test_sent,topK=20,withWeight=True,allowPOS=()) print(newwords) print(len(newwords))''' tags = jieba.analyse.extract_tags(test_sent,topK=20,withWeight=True) for i in tags: print(i[0],i[1])
[code]社会主义 0.30347065067857143 特色 0.2494810583969524 中国 0.23065300469790476 重大成就 0.19999010038666665 党和国家 0.17205987050514285 发展 0.17024116906857145 意味着 0.166825010784 历史性 0.16414236044266667 不断 0.13729106061942858 以来 0.13348870033542856 以新 0.11385492859904761 起来 0.11318115561571429 战略思维 0.10872162859238095 预见性 0.10339195442190476 取得 0.10109781234819049 大政方针 0.09852694848095239 习近平 0.09439708195628572 原则性 0.09422232825466667 我国 0.09401383695733333 久经 0.09339364847380953
这里返回了20个权重最大的词,并不区分词性。
关键词提取所使用逆向文件频率(IDF)文本语料库可以切换成自定义语料库的路径
[code]jieba.analyse.set_idf_path(file_name)#file_name为自定义语料库的路径
[code]import jieba.analyse jieba.load_userdict("userdict.txt") jieba.analyse.set_idf_path("./jieba-master/extra_dict/idf.txt.big") test_sent = ( "李小福是创新办主任也是云计算方面的专家\n" "时至今日,滑雪运动已经成为一项越来越受欢迎的运动项目\n" "例如我输入一个带“韩玉赏鉴”的标题,在自定义词库中也增加了此词为N类\n" "「台中」正確應該不會被切開。mac上可分出「石墨烯」;此時又可以分出來凱特琳了。" ) '''newwords = jieba.analyse.extract_tags(test_sent,topK=20,withWeight=True,allowPOS=()) print(newwords) print(len(newwords))''' tags = jieba.analyse.extract_tags(test_sent,topK=20,withWeight=True) print(tags)
[code] 中国 0.9108394287923809 发展 0.569274642995238 社会主义 0.569274642995238 以来 0.34156478579714283 不断 0.34156478579714283 起来 0.34156478579714283 特色 0.2494810583969524 我国 0.22770985719809522 取得 0.22770985719809522 党和国家 0.22770985719809522 历史性 0.22770985719809522 重大成就 0.19999010038666665 意味着 0.166825010784 指出 0.11385492859904761 十八 0.11385492859904761 成立 0.11385492859904761 改革开放 0.11385492859904761 基础 0.11385492859904761 发生 0.11385492859904761 变革 0.11385492859904761
可以看出使用了自定义的语料库后词频发生明显变化。
先到这儿,一边上英语课一边写的,晚上还有最优化,阿西吧
阅读更多相关文章推荐
- jieba--做最好用的中文分词组件详解【4】(基于TextRank算法的关键词抽取)
- jieba--做最好用的中文分词组件详解【5】(自定义停止词语料库)
- 基于Python3.6编写的jieba分词组件+Scikit-Learn库+朴素贝叶斯算法小型中文自动分类程序
- Py之jieba:Python包之jieba包——中文分词最好的组件——Jason niu
- Python中文分词组件 jieba
- 在Python里安装Jieba中文分词组件
- 在Python里安装Jieba中文分词组件
- .NET Core中文分词组件jieba.NET Core
- Python中文分词组件jieba
- 练手玩意:基于盘古开源分词组件的数据库关键词提取程序(ASPX)
- “结巴”中文分词:做最好的 Python 中文分词组件
- .NET Core中文分词组件jieba.NET Core
- 详解如何使用SQL中文分词组件查询表记录
- 在Python里安装Jieba中文分词组件
- 中文分词和TF-IDF算法
- 基于Spark的TF-IDF算法的中文文本相似度实现
- Python中文分词组件 jieba
- TF-IDF算法抽取中文内容的主题关键词
- MapReduce实现与自定义词典文件基于hanLP的中文分词详解
- python基础===jieba模块,Python 中文分词组件