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的Django框架中实现Hacker News的一些功能
Apr 17 Python
django 常用orm操作详解
Sep 13 Python
Django查询数据库的性能优化示例代码
Sep 24 Python
获取python的list中含有重复值的index方法
Jun 27 Python
利用Pyhton中的requests包进行网页访问测试的方法
Dec 26 Python
对python指数、幂数拟合curve_fit详解
Dec 29 Python
用python打印菱形的实操方法和代码
Jun 25 Python
Python解析命令行读取参数之argparse模块
Jul 26 Python
python实现车牌识别的示例代码
Aug 05 Python
15行Python代码实现免费发送手机短信推送消息功能
Feb 27 Python
Python实现Canny及Hough算法代码实例解析
Aug 06 Python
Python基于opencv的简单图像轮廓形状识别(全网最简单最少代码)
Jan 28 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
PHP语法速查表
2006/12/06 PHP
PHP.ini中配置屏蔽错误信息显示和保存错误日志的例子
2014/05/12 PHP
php通过隐藏表单控件获取到前两个页面的url
2014/09/09 PHP
php简单防盗链实现方法
2015/07/29 PHP
PHP 微信支付类 demo
2015/11/30 PHP
全面解析PHP面向对象的三大特征
2017/06/10 PHP
PHP封装的数据库模型Model类完整示例【基于PDO】
2019/03/14 PHP
JavaScript的Cookies
2008/01/16 Javascript
ExtJs GridPanel简单的增删改实现代码
2010/08/26 Javascript
lyhucSelect基于Jquery的Select数据联动插件
2011/03/29 Javascript
javascript级联下拉列表实例代码(自写)
2013/05/10 Javascript
单元选择合并变色示例代码
2014/05/26 Javascript
jquery radio的取值_radio的选中_radio的重置方法
2016/09/20 Javascript
ES6数组的扩展详解
2017/04/25 Javascript
JS使用百度地图API自动获取地址和经纬度操作示例
2019/04/16 Javascript
React 父子组件通信的实现方法
2019/12/05 Javascript
NodeJS模块Buffer原理及使用方法解析
2020/11/11 NodeJs
[48:27]EG vs Liquid 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
python双向链表实现实例代码
2013/11/21 Python
python实现class对象转换成json/字典的方法
2016/03/11 Python
详解Python的Flask框架中生成SECRET_KEY密钥的方法
2016/06/07 Python
python中如何使用正则表达式的集合字符示例
2017/10/09 Python
Django 中使用流响应处理视频的方法
2018/07/20 Python
用pycharm开发django项目示例代码
2019/06/13 Python
python+selenium select下拉选择框定位处理方法
2019/08/24 Python
springboot配置文件抽离 git管理统 配置中心详解
2019/09/02 Python
python中的subprocess.Popen()使用详解
2019/12/25 Python
Python多线程多进程实例对比解析
2020/03/12 Python
解决Python在导入文件时的FileNotFoundError问题
2020/04/10 Python
Python tkinter实现简单加法计算器代码实例
2020/05/13 Python
意大利综合购物网站:Giordano Shop
2016/10/21 全球购物
劳动竞赛活动方案
2014/02/20 职场文书
加强作风建设心得体会
2014/10/22 职场文书
教师考核鉴定意见
2015/06/05 职场文书
Python实现视频自动打码的示例代码
2022/04/08 Python
git stash(储藏)的用法总结
2022/06/25 Servers