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笔记(2)
Oct 24 Python
Django中URLconf和include()的协同工作方法
Jul 20 Python
Python使用PIL模块生成随机验证码
Nov 21 Python
Python使用combinations实现排列组合的方法
Nov 13 Python
Python Matplotlib库安装与基本作图示例
Jan 09 Python
Python数据类型之Tuple元组实例详解
May 08 Python
Python多进程入门、分布式进程数据共享实例详解
Jun 03 Python
超简单的Python HTTP服务
Jul 22 Python
Python3.7 读取 mp3 音频文件生成波形图效果
Nov 05 Python
Python 将json序列化后的字符串转换成字典(推荐)
Jan 06 Python
Python scrapy爬取小说代码案例详解
Jul 09 Python
解决Python3.7.0 SSL低版本导致Pip无法使用问题
Sep 03 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
DOMXML函数笔记
2006/10/09 PHP
php设计模式 Prototype (原型模式)代码
2011/06/26 PHP
深入php list()函数的详解
2013/06/05 PHP
php+mysql实现无限分类实例详解
2015/01/15 PHP
php创建桌面快捷方式实现方法
2015/12/31 PHP
Mac下php 5升级到php 7的步骤详解
2017/04/26 PHP
PHP实现链式操作的三种方法详解
2017/11/16 PHP
JS request函数 用来获取url参数
2010/05/17 Javascript
基于jquery的button默认enter事件(回车事件)。
2011/05/18 Javascript
Firefox中beforeunload事件的实现缺陷浅析
2012/05/03 Javascript
js判断横竖屏及禁止浏览器滑动条示例
2014/04/29 Javascript
javascript数组去重方法终极总结
2014/06/05 Javascript
Javascript中设置默认参数值示例
2014/09/11 Javascript
jQuery-1.9.1源码分析系列(十)事件系统之事件体系结构
2015/11/19 Javascript
Web开发必知Javascript技巧大全
2016/02/23 Javascript
AngularJS表格详解及示例代码
2016/08/17 Javascript
Angularjs 制作购物车功能实例代码
2016/09/14 Javascript
使用smartupload组件实现jsp+jdbc上传下载文件实例解析
2017/01/05 Javascript
Javascript blur与click冲突解决办法
2017/01/09 Javascript
微信小程序 选项卡的简单实例
2017/05/24 Javascript
vue2.0 中#$emit,$on的使用详解
2017/06/07 Javascript
vue环境搭建简单教程
2017/11/07 Javascript
一步快速解决微信小程序中textarea层级太高遮挡其他组件
2019/03/04 Javascript
使用Vue 实现滑动验证码功能
2019/06/27 Javascript
浅谈js中的attributes和Attribute的用法与区别
2020/07/16 Javascript
用Javascript实现发送短信验证码间隔功能
2021/02/08 Javascript
urllib和BeautifulSoup爬取维基百科的词条简单实例
2018/01/17 Python
Python简易版停车管理系统
2019/08/12 Python
python如何使用Redis构建分布式锁
2020/01/16 Python
TensorFlow2.1.0安装过程中setuptools、wrapt等相关错误指南
2020/04/08 Python
HTML5拖放API实现拖放排序的实例代码
2017/05/11 HTML / CSS
八年级生物教学反思
2014/01/22 职场文书
教师个人总结范文
2015/02/11 职场文书
党支部审查意见
2015/06/02 职场文书
改进工作作风心得体会
2016/01/23 职场文书
HTML中的表单元素介绍
2022/02/28 HTML / CSS