python实现关键词提取的示例讲解


Posted in Python onApril 28, 2018

新人小菜鸟又来写博客啦!!!没人表示不开心~~(>_<)~~

今天我来弄一个简单的关键词提取的代码

文章内容关键词的提取分为三大步:

(1) 分词

(2) 去停用词

(3) 关键词提取

分词方法有很多,我这里就选择常用的结巴jieba分词;去停用词,我用了一个停用词表。

具体代码如下:

import jieba
import jieba.analyse
#第一步:分词,这里使用结巴分词全模式
text = '''新闻,也叫消息,是指报纸、电台、电视台、互联网经常使用的记录社会、传播信息、反映时代的一种文体,具有真实性、时效性、简洁性、可读性、准确性的特点。新闻概念有广义与狭义之分。就其广义而言,除了发表于报刊、广播、电视上的评论与专文外的常用文本都属于新闻之列,包括消息、通讯、特写、速写(有的将速写纳入特写之列)等等。狭义的新闻则专指消息,消息是用概括的叙述方式,比较简明扼要的文字,迅速及时地报道国内外新近发生的、有价值的的事实。新闻也分公众新闻和小道新闻等。每则新闻在结构上,一般包括标题、导语、主体、背景和结语五部分。前三者是主要部分,后二者是辅助部分。写法上主要是叙述,有时兼有议论、描写、评论等。
'''
fenci_text = jieba.cut(text)
#print("/ ".join(fenci_text))
#第二步:去停用词
#这里是有一个文件存放要改的文章,一个文件存放停用表,然后和停用表里的词比较,一样的就删掉,最后把结果存放在一个文件中
stopwords = {}.fromkeys([ line.rstrip() for line in open('stopwords.txt') ])
final = ""
for word in fenci_text:
  if word not in stopwords:
    if (word != "。" and word != ",") :
      final = final + " " + word
print(final)
#第三步:提取关键词
a=jieba.analyse.extract_tags(text, topK = 5, withWeight = True, allowPOS = ())
print(a)
#text 为待提取的文本
# topK:返回几个 TF/IDF 权重最大的关键词,默认值为20。
# withWeight:是否一并返回关键词权重值,默认值为False。
# allowPOS:仅包括指定词性的词,默认值为空,即不进行筛选。

运行结果:

runfile('D:/Data/文本挖掘/xiaojieba.py', wdir='D:/Data/文本挖掘')
 新闻 消息 指 报纸 、 电台 、 电视台 、 互联网 记录 社会 、 传播 信息 、 时代 一种 文体 真实性 、 时效性 、 简洁性 、 可读性 、 准确性 新闻 概念 广义 狭义 之分 广义 发表 报刊 、 广播 、 电视 评论 专文 外 常用 文本 新闻 列 包括 消息 、 通讯 、 特写 、 速写 ( 速写 纳入 特写 列 ) 狭义 新闻 专指 消息 消息 概括 叙述 方式 简明扼要 文字 报道 国内外 新近 发生 、 价值 事实 新闻 分 公众 新闻 小道 新闻 每则 新闻 在结构上 包括 标题 、 导语 、 主体 、 背景 结语 五 前 三者 二者 辅助 写法 叙述 兼有 议论 、 描写 、 评论 
[('新闻', 0.4804811569680808), ('速写', 0.2121107125313131), ('消息', 0.20363211136040404), ('特写', 0.20023623445272729), ('狭义', 0.16168734917858588)]

好啦,是不是很简单?

以上这篇python实现关键词提取的示例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python修改注册表终止360进程实例
Oct 13 Python
在DigitalOcean的服务器上部署flaskblog应用
Dec 19 Python
使用py2exe在Windows下将Python程序转为exe文件
Mar 04 Python
python中利用队列asyncio.Queue进行通讯详解
Sep 10 Python
python获取文件路径、文件名、后缀名的实例
Apr 23 Python
pycharm访问mysql数据库的方法步骤
Jun 18 Python
Python企业编码生成系统总体系统设计概述
Jul 26 Python
python list多级排序知识点总结
Oct 23 Python
Python基于正则表达式实现计算器功能
Jul 13 Python
如何解决flask修改静态资源后缓存文件不能及时更改问题
Aug 02 Python
全面介绍python中很常用的单元测试框架unitest
Dec 14 Python
Python实现图片指定位置加图片水印(附Pyinstaller打包exe)
Mar 04 Python
python实现扫描日志关键字的示例
Apr 28 #Python
python socket网络编程之粘包问题详解
Apr 28 #Python
在Windows中设置Python环境变量的实例讲解
Apr 28 #Python
PyTorch快速搭建神经网络及其保存提取方法详解
Apr 28 #Python
对Python中type打开文件的方式介绍
Apr 28 #Python
PyTorch上搭建简单神经网络实现回归和分类的示例
Apr 28 #Python
TensorFlow实现非线性支持向量机的实现方法
Apr 28 #Python
You might like
DSP接收机前端设想
2021/03/02 无线电
谷歌音乐搜索栏的提示功能php修正代码
2011/05/09 PHP
多广告投放代码 推荐
2006/11/13 Javascript
javascript window对象属性整理
2009/10/24 Javascript
JavaScript 全角转半角部分
2009/10/28 Javascript
jquery实现隐藏与显示动画效果/输入框字符动态递减/导航按钮切换
2013/07/01 Javascript
关于extjs4如何获取grid修改后的数据的问题
2013/08/07 Javascript
jQuery提交多个表单的小技巧
2014/07/27 Javascript
node.js中的http.request方法使用说明
2014/12/14 Javascript
基于javascript实现文字无缝滚动效果
2016/03/22 Javascript
使用bootstrap typeahead插件实现输入框自动补全之问题及解决办法
2016/07/07 Javascript
javascript删除html标签函数cIsHTML
2017/01/09 Javascript
vue.js使用v-if实现显示与隐藏功能示例
2018/07/06 Javascript
vue2.0 使用element-ui里的upload组件实现图片预览效果方法
2018/09/04 Javascript
JS获取今天是本月第几周、本月共几周、本月有多少天、是今年的第几周、是今年的第几天的示例代码
2018/12/05 Javascript
vue实现固定位置显示功能
2019/05/30 Javascript
jQuery Datatables 动态列+跨列合并实现代码
2020/01/30 jQuery
js实现盒子移动动画效果
2020/08/09 Javascript
Vue+Spring Boot简单用户登录(附Demo)
2020/11/12 Javascript
Python与Java间Socket通信实例代码
2017/03/06 Python
python 3.5下xadmin的使用及修复源码bug
2017/05/10 Python
Python之reload流程实例代码解析
2018/01/29 Python
python3 读写文件换行符的方法
2018/04/09 Python
python调用百度语音识别实现大音频文件语音识别功能
2018/08/30 Python
Django 拆分model和view的实现方法
2019/08/16 Python
python3用PyPDF2解析pdf文件,用正则匹配数据方式
2020/05/12 Python
解决django框架model中外键不落实到数据库问题
2020/05/20 Python
python开发前景如何
2020/06/11 Python
iphoneX 适配客户端H5页面的方法教程
2017/12/08 HTML / CSS
Bally巴利中国官网:经典瑞士鞋履、手袋及配饰奢侈品牌
2018/10/09 全球购物
《故乡》教学反思
2014/04/10 职场文书
乔迁之喜答谢词
2015/01/05 职场文书
2015年生活老师工作总结
2015/05/27 职场文书
安全生产培训心得体会
2016/01/18 职场文书
Mongo服务重启异常问题的处理方法
2021/07/01 MongoDB
python中__slots__节约内存的具体做法
2021/07/04 Python