Mxnet ssh命令 foreach tfs underscorejs Uploadify seo教程下载 jq获取最后一个子元素 ie内核浏览器怎么设置 linux获取当前时间 mysql配置远程连接 python输出函数 python读取字典 java运行环境 javafor循环 java方法 java方法重载 java写入txt文件 java的map java自定义异常 java集合类 java接口开发 脚本之家 内存修改器 subprocess abaqus最新版本 pr滤镜插件 mac画图软件 心理学与生活pdf sim卡注册失败 全英雄守城战 mpg格式转换 medcalc ps去白底 松下plc编程软件 设备管理器在哪 maplesim 组合索引 脚本怎么用 3dmax布尔运算
当前位置: 首页 > 学习教程  > 编程语言

jieba-基于TextRank关键词提取的实现

2020/11/24 10:01:41 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

对每个句子进行分词和词性标注处理过滤掉除指定词性外的其他单词,过滤掉出现在停用词表的单词,过滤掉长度小于2的单词将剩下的单词中循环选择一个单词,将其与其后面4个单词分别组合成4条边。 例如:[‘有’,‘媒体’, ‘曝光’,‘高…

  • 对每个句子进行分词和词性标注处理
  • 过滤掉除指定词性外的其他单词,过滤掉出现在停用词表的单词,过滤掉长度小于2的单词
  • 将剩下的单词中循环选择一个单词,将其与其后面4个单词分别组合成4条边。

例如:[‘有’,‘媒体’, ‘曝光’,‘高圆圆’, ‘和’, ‘赵又廷’,‘现身’, ‘台北’, ‘桃园’,‘机场’,‘的’, ‘照片’]对于‘媒体‘这个单词,就有(‘媒体’, ‘曝光’)、(‘媒体’, ‘圆’)、(‘媒体’, ‘和’)、(‘媒体’, ‘赵又廷’)4条边,且每条边权值为1,当这条边在之后再次出现时,权值再在基础上加1.

  • 有了这些数据后,我们就可以构建出候选关键词图,图的概念有基础的人可能会很好理解,不理解其实也没关系,按上面例子,你只用知道这一步我们把2个单词组成的边,和其权值记录了下来。
  • 这样我们就可以套用TextRank的公式,迭代传播各节点的权值,直至收敛。
  • 对结果中的Rank值进行倒序排序,筛选出前面的几个单词,就是我们需要的关键词了。

实现代码:

#encoding=utf-8
from __future__ import unicode_literals
import sys
sys.path.append("../")

import jieba
import jieba.posseg
import jieba.analyse


s = "线程是程序执行时的最小单位,它是进程的一个执行流,\
        是CPU调度和分派的基本单位,一个进程可以由很多个线程组成,\
        线程间共享进程的所有资源,每个线程有自己的堆栈和局部变量。\
        线程由CPU独立调度执行,在多CPU环境下就允许多个线程同时运行。\
        同样多线程也可以实现并发操作,每个请求分配一个线程来处理。"
print('-'*40)
print(' TextRank关键词提取')
print('-'*40)

for x, w in jieba.analyse.textrank(s, withWeight=True):
    print('%s %s' % (x, w))

运行结果:


本文链接: http://www.dtmao.cc/news_show_400215.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?