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实现端口转发器的方法
Mar 13 Python
Python多线程、异步+多进程爬虫实现代码
Feb 17 Python
实例解析Python中的__new__特殊方法
Jun 02 Python
Python程序退出方式小结
Dec 09 Python
python实现BackPropagation算法
Dec 14 Python
Python实现的rsa加密算法详解
Jan 24 Python
python 在屏幕上逐字显示一行字的实例
Dec 24 Python
python利用thrift服务读取hbase数据的方法
Dec 27 Python
python 读取dicom文件,生成info.txt和raw文件的方法
Jan 24 Python
anaconda如何查看并管理python环境
Jul 05 Python
Python 使用SFTP和FTP实现对服务器的文件下载功能
Dec 17 Python
Python 图片处理库exifread详解
Feb 25 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
DC《神奇女侠2》因疫情推迟上映 温子仁新恐怖片《恶性》撤档
2020/04/09 欧美动漫
PHP 将逗号、空格、回车分隔的字符串转换为数组的函数
2012/06/07 PHP
ie与session丢失(新窗口cookie丢失)实测及解决方案
2013/07/15 PHP
PHP解析目录路径的3个函数总结
2014/11/18 PHP
PHP实现微信JS-SDK接口选择相册及拍照并上传的方法
2016/12/05 PHP
PHP与SQL语句常用大全
2016/12/10 PHP
php常用字符函数实例小结
2016/12/29 PHP
清除div下面的所有标签的方法
2014/02/17 Javascript
JQuery控制Radio选中方法分析
2015/05/29 Javascript
使用jQuery判断Div是否在可视区域的方法 判断div是否可见
2016/02/17 Javascript
jQuery计算文本框字数及限制文本框字数的方法
2016/03/01 Javascript
JavaScript学习笔记之创建对象
2016/03/25 Javascript
Jquery ui datepicker设置日期范围,如只能隔3天【实现代码】
2016/05/04 Javascript
浅谈JS继承_寄生式继承 &amp; 寄生组合式继承
2016/08/16 Javascript
Node.js下自定义错误类型详解
2016/10/17 Javascript
从零开始学习Node.js系列教程之SQLite3和MongoDB用法分析
2017/04/13 Javascript
ajax请求+vue.js渲染+页面加载的示例
2018/02/11 Javascript
vue 纯js监听滚动条到底部的实例讲解
2018/09/03 Javascript
js canvas实现橡皮擦效果
2018/12/20 Javascript
解决Vue打包上线之后部分CSS不生效的问题
2019/11/12 Javascript
Javascript幻灯片播放功能实现过程解析
2020/05/07 Javascript
JS实现audio音频剪裁剪切复制播放与上传(步骤详解)
2020/07/28 Javascript
[49:56]VG vs Optic 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[42:48]完美世界DOTA2联赛PWL S3 Magma vs INK ICE 第二场 12.11
2020/12/16 DOTA
python排序方法实例分析
2015/04/30 Python
python3 反射的四种基本方法解析
2019/08/26 Python
pymysql模块的操作实例
2019/12/17 Python
CSS实现进度条和订单进度条的示例
2020/11/05 HTML / CSS
前端canvas水印快速制作(附完整代码)
2019/09/19 HTML / CSS
WINDOWS域的具体实现方式是什么
2014/02/20 面试题
销售心得体会
2014/01/02 职场文书
加拿大探亲邀请信
2014/01/28 职场文书
社团活动总结模板
2014/06/30 职场文书
户籍证明格式
2014/09/15 职场文书
2015年安全工作总结范文
2015/04/02 职场文书
PhpSpreadsheet中文文档 | Spreadsheet操作教程实例
2021/04/01 PHP