码迷,mamicode.com
首页 > 编程语言 > 详细

python实现关键词提取

时间:2019-02-17 20:50:29      阅读:239      评论:0      收藏:0      [点我收藏+]

标签:写法   topk   很多   使用   pen   有一个   等等   idf   删掉   

简单的关键词提取的代码 
文章内容关键词的提取分为三大步: 
(1) 分词 
(2) 去停用词 
(3) 关键词提取

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

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

     运行结果如下:

 新闻 也 叫 消息 是 指 报纸 、 电台 、 电视台 、 互联网 经常 使用 的 记录 社会 、 传播 信息 、 反映 时代 的 一种 文体 具有 真实性 、 时效性 、 简洁性 、 可读性 、 准确性 的 特点 新闻 概念 有 广义 与 狭义 之分 就 其 广义 而言 除了 发表 于 报刊 、 广播 、 电视 上 的 评论 与 专文 外 的 常用 文本 都 属于 新闻 之 列 包括 消息 、 通讯 、 特写 、 速写 ( 有 的 将 速写 纳入 特写 之 列 ) 等等 狭义 的 新闻 则 专指 消息 消息 是 用 概括 的 叙述 方式 比较 简明扼要 的 文字 迅速 及时 地 报道 国内外 新近 发生 的 、 有 价值 的 的 事实 新闻 也 分 公众 新闻 和 小道 新闻 等 每则 新闻 在结构上 一般 包括 标题 、 导语 、 主体 、 背景 和 结语 五 部分 前 三者 是 主要 部分 后 二者 是 辅助 部分 写法 上 主要 是 叙述 有时 兼有 议论 、 描写 、 评论 等 

[(新闻, 0.4804811569680808), (速写, 0.2121107125313131), (消息, 0.20363211136040404), (特写, 0.20023623445272729), (狭义, 0.16168734917858588)]
[新闻, 速写, 消息, 特写, 狭义, 广义]

 

python实现关键词提取

标签:写法   topk   很多   使用   pen   有一个   等等   idf   删掉   

原文地址:https://www.cnblogs.com/sxinfo/p/10392428.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!