textrank介绍
textrank是在pagerank 的基础上提出来的。PageRank对于每个网页页面都给出一个正实数,表示网页的重要程度,PageRank值越高,表示网页越重要,在互联网搜索的排序中越可能被排在前面。
pagerank具体内容请到https://www.cnblogs.com/cuiyubo/p/10175268.html
textrank正是在此基础上提出了以下方法:
1:用句子或词语代替网页
2:任意两个句子或词语的相似性等价于网页转换概率
3:相似性得分存储在一个方形矩阵中,类似于PageRank的矩阵M
算法流程如下图。
image.png
python实现
在这里我们使用jieba模块里面的textrank对句子进行关键词提取
停用词表在网上下载
# coding=utf-8
import jieba
import jieba.analyse
tex='本发明公开了一种永磁电机驱动的纯电动大巴车坡道起步防溜策略,即本策略当制动踏板已踩下、永磁电机转速小于设定值并持续一定时间,整车控制单元产生一个刹车触发信号,当油门踏板开度小于设定值,且档位装置为非空档时,电机控制单元产生一个防溜功能使能信号并自动进入防溜控制使永磁电机进入转速闭环控制于某个目标转速,若整车控制单元检测到制动踏板仍然踩下,则限制永磁电机输出力矩,否则,恢复永磁电机输出力矩;当整车控制单元检测到油门踏板开度大于设置值、档位装置为空档或手刹装置处于驻车位置,则退出防溜控制,同时切换到力矩控制。本策略无需更改现有车辆结构或添加辅助传感器等硬件设备,实现车辆防溜目的。'
#
jieba.analyse.set_stop_words("../data/stopWord.txt") # 加载自定义停用词表
keywords = jieba.analyse.textrank(tex, topK=10, allowPOS=('n','nz','v','vd','vn','l','a','d'))
print(keywords)
结果展示:
image.png